@charset 'UTF-8';

.pagenate {
  margin-top: 40px;
}

.pagenate .nav-links {
  position: relative;
  display: flex;
  text-align: center;
  justify-content: center;
  gap: 0 8px;
}

.pagenate .nav-links a.page-numbers,
.pagenate .nav-links span.current {
  font-family: 'Raleway', sans-serif;
  font-size: 18px;
  font-weight: 800;
  font-style: italic;
  display: flex;
  width: 40px;
  height: 40px;
  padding: 4px 0 0 14px;
  cursor: pointer;
  text-align: center;
  letter-spacing: .04em;
  border-radius: 50%;
}

.pagenate .nav-links a.page-numbers {
  color: #aaa;
  border: solid 1px #aaa;
}

.pagenate .nav-links span.current {
  opacity: 1;
  color: #fff;
  border: solid 1px #333;
  background-color: #333;
}

.pagenate .nav-links a.prev,
.pagenate .nav-links a.next {
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  position: absolute;
  width: inherit;
  height: inherit;
  padding: 0;
  color: #333;
  border: none;
}

.pagenate .nav-links a.prev:after,
.pagenate .nav-links a.next:after {
  position: absolute;
  top: 11px;
  width: 7px;
  height: 7px;
  content: '';
  border-top: solid 2px #555;
  border-right: solid 2px #555;
}

.pagenate .nav-links .prev {
  left: 20px;
}

.pagenate .nav-links .prev:after {
  left: -20px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.pagenate .nav-links .next {
  right: 20px;
}

.pagenate .nav-links .next:after {
  right: -20px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.fs10 {
  font-size: 10px;
}

.fs11 {
  font-size: 11px;
}

.fs12 {
  font-size: 12px;
}

.fs13 {
  font-size: 13px;
}

.fs14 {
  font-size: 14px;
}

.fs15 {
  font-size: 15px;
}

.fs16 {
  font-size: 16px;
}

.fs17 {
  font-size: 17px;
}

.fs18 {
  font-size: 18px;
}

.fs19 {
  font-size: 19px;
}

.fs20 {
  font-size: 20px;
}

.fs21 {
  font-size: 21px;
}

.fs22 {
  font-size: 22px;
}

.fs23 {
  font-size: 23px;
}

.fs24 {
  font-size: 24px;
}

.fs25 {
  font-size: 25px;
}

.fs26 {
  font-size: 26px;
}

.fs27 {
  font-size: 27px;
}

.fs28 {
  font-size: 28px;
}

.fs29 {
  font-size: 29px;
}

.fs30 {
  font-size: 30px;
}

.fs31 {
  font-size: 31px;
}

.fs32 {
  font-size: 32px;
}

.fs33 {
  font-size: 33px;
}

.fs34 {
  font-size: 34px;
}

.fs35 {
  font-size: 35px;
}

.fs36 {
  font-size: 36px;
}

.fs37 {
  font-size: 37px;
}

.fs38 {
  font-size: 38px;
}

.fs39 {
  font-size: 39px;
}

.fs40 {
  font-size: 40px;
}

.fs41 {
  font-size: 41px;
}

.fs42 {
  font-size: 42px;
}

.fs43 {
  font-size: 43px;
}

.fs44 {
  font-size: 44px;
}

.fs45 {
  font-size: 45px;
}

.fs46 {
  font-size: 46px;
}

.fs47 {
  font-size: 47px;
}

.fs48 {
  font-size: 48px;
}

.fs49 {
  font-size: 49px;
}

.fs50 {
  font-size: 50px;
}

.fs51 {
  font-size: 51px;
}

.fs52 {
  font-size: 52px;
}

.fs53 {
  font-size: 53px;
}

.fs54 {
  font-size: 54px;
}

.fs55 {
  font-size: 55px;
}

.fs56 {
  font-size: 56px;
}

.fs57 {
  font-size: 57px;
}

.fs58 {
  font-size: 58px;
}

.fs59 {
  font-size: 59px;
}

.fs60 {
  font-size: 60px;
}

.fs-os {
  font-family: 'Open Sans', sans-serif;
}

.italic {
  font-style: italic;
}

.mt8 {
  margin-top: 8px;
}

.mb8 {
  margin-bottom: 8px;
}

.mr8 {
  margin-right: 8px;
}

.ml8 {
  margin-left: 8px;
}

.pt8 {
  padding-top: 8px;
}

.pb8 {
  padding-bottom: 8px;
}

.pr8 {
  padding-right: 8px;
}

.pl8 {
  padding-left: 8px;
}

.mt16 {
  margin-top: 16px;
}

.mb16 {
  margin-bottom: 16px;
}

.mr16 {
  margin-right: 16px;
}

.ml16 {
  margin-left: 16px;
}

.pt16 {
  padding-top: 16px;
}

.pb16 {
  padding-bottom: 16px;
}

.pr16 {
  padding-right: 16px;
}

.pl16 {
  padding-left: 16px;
}

.mt24 {
  margin-top: 24px;
}

.mb24 {
  margin-bottom: 24px;
}

.mr24 {
  margin-right: 24px;
}

.ml24 {
  margin-left: 24px;
}

.pt24 {
  padding-top: 24px;
}

.pb24 {
  padding-bottom: 24px;
}

.pr24 {
  padding-right: 24px;
}

.pl24 {
  padding-left: 24px;
}

.mt32 {
  margin-top: 32px;
}

.mb32 {
  margin-bottom: 32px;
}

.mr32 {
  margin-right: 32px;
}

.ml32 {
  margin-left: 32px;
}

.pt32 {
  padding-top: 32px;
}

.pb32 {
  padding-bottom: 32px;
}

.pr32 {
  padding-right: 32px;
}

.pl32 {
  padding-left: 32px;
}

.mt40 {
  margin-top: 40px;
}

.mb40 {
  margin-bottom: 40px;
}

.mr40 {
  margin-right: 40px;
}

.ml40 {
  margin-left: 40px;
}

.pt40 {
  padding-top: 40px;
}

.pb40 {
  padding-bottom: 40px;
}

.pr40 {
  padding-right: 40px;
}

.pl40 {
  padding-left: 40px;
}

.mt48 {
  margin-top: 48px;
}

.mb48 {
  margin-bottom: 48px;
}

.mr48 {
  margin-right: 48px;
}

.ml48 {
  margin-left: 48px;
}

.pt48 {
  padding-top: 48px;
}

.pb48 {
  padding-bottom: 48px;
}

.pr48 {
  padding-right: 48px;
}

.pl48 {
  padding-left: 48px;
}

.mt56 {
  margin-top: 56px;
}

.mb56 {
  margin-bottom: 56px;
}

.mr56 {
  margin-right: 56px;
}

.ml56 {
  margin-left: 56px;
}

.pt56 {
  padding-top: 56px;
}

.pb56 {
  padding-bottom: 56px;
}

.pr56 {
  padding-right: 56px;
}

.pl56 {
  padding-left: 56px;
}

.mt64 {
  margin-top: 64px;
}

.mb64 {
  margin-bottom: 64px;
}

.mr64 {
  margin-right: 64px;
}

.ml64 {
  margin-left: 64px;
}

.pt64 {
  padding-top: 64px;
}

.pb64 {
  padding-bottom: 64px;
}

.pr64 {
  padding-right: 64px;
}

.pl64 {
  padding-left: 64px;
}

.mt72 {
  margin-top: 72px;
}

.mb72 {
  margin-bottom: 72px;
}

.mr72 {
  margin-right: 72px;
}

.ml72 {
  margin-left: 72px;
}

.pt72 {
  padding-top: 72px;
}

.pb72 {
  padding-bottom: 72px;
}

.pr72 {
  padding-right: 72px;
}

.pl72 {
  padding-left: 72px;
}

.mt80 {
  margin-top: 80px;
}

.mb80 {
  margin-bottom: 80px;
}

.mr80 {
  margin-right: 80px;
}

.ml80 {
  margin-left: 80px;
}

.pt80 {
  padding-top: 80px;
}

.pb80 {
  padding-bottom: 80px;
}

.pr80 {
  padding-right: 80px;
}

.pl80 {
  padding-left: 80px;
}

.mt88 {
  margin-top: 88px;
}

.mb88 {
  margin-bottom: 88px;
}

.mr88 {
  margin-right: 88px;
}

.ml88 {
  margin-left: 88px;
}

.pt88 {
  padding-top: 88px;
}

.pb88 {
  padding-bottom: 88px;
}

.pr88 {
  padding-right: 88px;
}

.pl88 {
  padding-left: 88px;
}

.mt96 {
  margin-top: 96px;
}

.mb96 {
  margin-bottom: 96px;
}

.mr96 {
  margin-right: 96px;
}

.ml96 {
  margin-left: 96px;
}

.pt96 {
  padding-top: 96px;
}

.pb96 {
  padding-bottom: 96px;
}

.pr96 {
  padding-right: 96px;
}

.pl96 {
  padding-left: 96px;
}

.mt104 {
  margin-top: 104px;
}

.mb104 {
  margin-bottom: 104px;
}

.mr104 {
  margin-right: 104px;
}

.ml104 {
  margin-left: 104px;
}

.pt104 {
  padding-top: 104px;
}

.pb104 {
  padding-bottom: 104px;
}

.pr104 {
  padding-right: 104px;
}

.pl104 {
  padding-left: 104px;
}

.mt112 {
  margin-top: 112px;
}

.mb112 {
  margin-bottom: 112px;
}

.mr112 {
  margin-right: 112px;
}

.ml112 {
  margin-left: 112px;
}

.pt112 {
  padding-top: 112px;
}

.pb112 {
  padding-bottom: 112px;
}

.pr112 {
  padding-right: 112px;
}

.pl112 {
  padding-left: 112px;
}

.mt120 {
  margin-top: 120px;
}

.mb120 {
  margin-bottom: 120px;
}

.mr120 {
  margin-right: 120px;
}

.ml120 {
  margin-left: 120px;
}

.pt120 {
  padding-top: 120px;
}

.pb120 {
  padding-bottom: 120px;
}

.pr120 {
  padding-right: 120px;
}

.pl120 {
  padding-left: 120px;
}

.mt128 {
  margin-top: 128px;
}

.mb128 {
  margin-bottom: 128px;
}

.mr128 {
  margin-right: 128px;
}

.ml128 {
  margin-left: 128px;
}

.pt128 {
  padding-top: 128px;
}

.pb128 {
  padding-bottom: 128px;
}

.pr128 {
  padding-right: 128px;
}

.pl128 {
  padding-left: 128px;
}

.mt136 {
  margin-top: 136px;
}

.mb136 {
  margin-bottom: 136px;
}

.mr136 {
  margin-right: 136px;
}

.ml136 {
  margin-left: 136px;
}

.pt136 {
  padding-top: 136px;
}

.pb136 {
  padding-bottom: 136px;
}

.pr136 {
  padding-right: 136px;
}

.pl136 {
  padding-left: 136px;
}

.mt144 {
  margin-top: 144px;
}

.mb144 {
  margin-bottom: 144px;
}

.mr144 {
  margin-right: 144px;
}

.ml144 {
  margin-left: 144px;
}

.pt144 {
  padding-top: 144px;
}

.pb144 {
  padding-bottom: 144px;
}

.pr144 {
  padding-right: 144px;
}

.pl144 {
  padding-left: 144px;
}

.mt152 {
  margin-top: 152px;
}

.mb152 {
  margin-bottom: 152px;
}

.mr152 {
  margin-right: 152px;
}

.ml152 {
  margin-left: 152px;
}

.pt152 {
  padding-top: 152px;
}

.pb152 {
  padding-bottom: 152px;
}

.pr152 {
  padding-right: 152px;
}

.pl152 {
  padding-left: 152px;
}

.mt160 {
  margin-top: 160px;
}

.mb160 {
  margin-bottom: 160px;
}

.mr160 {
  margin-right: 160px;
}

.ml160 {
  margin-left: 160px;
}

.pt160 {
  padding-top: 160px;
}

.pb160 {
  padding-bottom: 160px;
}

.pr160 {
  padding-right: 160px;
}

.pl160 {
  padding-left: 160px;
}

.t-left {
  text-align: left;
}

.t-center {
  text-align: center;
}

.t-right {
  text-align: right;
}

.fw300 {
  font-weight: 300;
}

.fw301 {
  font-weight: 301;
}

.fw302 {
  font-weight: 302;
}

.fw303 {
  font-weight: 303;
}

.fw304 {
  font-weight: 304;
}

.fw305 {
  font-weight: 305;
}

.fw306 {
  font-weight: 306;
}

.fw307 {
  font-weight: 307;
}

.fw308 {
  font-weight: 308;
}

.fw309 {
  font-weight: 309;
}

.fw310 {
  font-weight: 310;
}

.fw311 {
  font-weight: 311;
}

.fw312 {
  font-weight: 312;
}

.fw313 {
  font-weight: 313;
}

.fw314 {
  font-weight: 314;
}

.fw315 {
  font-weight: 315;
}

.fw316 {
  font-weight: 316;
}

.fw317 {
  font-weight: 317;
}

.fw318 {
  font-weight: 318;
}

.fw319 {
  font-weight: 319;
}

.fw320 {
  font-weight: 320;
}

.fw321 {
  font-weight: 321;
}

.fw322 {
  font-weight: 322;
}

.fw323 {
  font-weight: 323;
}

.fw324 {
  font-weight: 324;
}

.fw325 {
  font-weight: 325;
}

.fw326 {
  font-weight: 326;
}

.fw327 {
  font-weight: 327;
}

.fw328 {
  font-weight: 328;
}

.fw329 {
  font-weight: 329;
}

.fw330 {
  font-weight: 330;
}

.fw331 {
  font-weight: 331;
}

.fw332 {
  font-weight: 332;
}

.fw333 {
  font-weight: 333;
}

.fw334 {
  font-weight: 334;
}

.fw335 {
  font-weight: 335;
}

.fw336 {
  font-weight: 336;
}

.fw337 {
  font-weight: 337;
}

.fw338 {
  font-weight: 338;
}

.fw339 {
  font-weight: 339;
}

.fw340 {
  font-weight: 340;
}

.fw341 {
  font-weight: 341;
}

.fw342 {
  font-weight: 342;
}

.fw343 {
  font-weight: 343;
}

.fw344 {
  font-weight: 344;
}

.fw345 {
  font-weight: 345;
}

.fw346 {
  font-weight: 346;
}

.fw347 {
  font-weight: 347;
}

.fw348 {
  font-weight: 348;
}

.fw349 {
  font-weight: 349;
}

.fw350 {
  font-weight: 350;
}

.fw351 {
  font-weight: 351;
}

.fw352 {
  font-weight: 352;
}

.fw353 {
  font-weight: 353;
}

.fw354 {
  font-weight: 354;
}

.fw355 {
  font-weight: 355;
}

.fw356 {
  font-weight: 356;
}

.fw357 {
  font-weight: 357;
}

.fw358 {
  font-weight: 358;
}

.fw359 {
  font-weight: 359;
}

.fw360 {
  font-weight: 360;
}

.fw361 {
  font-weight: 361;
}

.fw362 {
  font-weight: 362;
}

.fw363 {
  font-weight: 363;
}

.fw364 {
  font-weight: 364;
}

.fw365 {
  font-weight: 365;
}

.fw366 {
  font-weight: 366;
}

.fw367 {
  font-weight: 367;
}

.fw368 {
  font-weight: 368;
}

.fw369 {
  font-weight: 369;
}

.fw370 {
  font-weight: 370;
}

.fw371 {
  font-weight: 371;
}

.fw372 {
  font-weight: 372;
}

.fw373 {
  font-weight: 373;
}

.fw374 {
  font-weight: 374;
}

.fw375 {
  font-weight: 375;
}

.fw376 {
  font-weight: 376;
}

.fw377 {
  font-weight: 377;
}

.fw378 {
  font-weight: 378;
}

.fw379 {
  font-weight: 379;
}

.fw380 {
  font-weight: 380;
}

.fw381 {
  font-weight: 381;
}

.fw382 {
  font-weight: 382;
}

.fw383 {
  font-weight: 383;
}

.fw384 {
  font-weight: 384;
}

.fw385 {
  font-weight: 385;
}

.fw386 {
  font-weight: 386;
}

.fw387 {
  font-weight: 387;
}

.fw388 {
  font-weight: 388;
}

.fw389 {
  font-weight: 389;
}

.fw390 {
  font-weight: 390;
}

.fw391 {
  font-weight: 391;
}

.fw392 {
  font-weight: 392;
}

.fw393 {
  font-weight: 393;
}

.fw394 {
  font-weight: 394;
}

.fw395 {
  font-weight: 395;
}

.fw396 {
  font-weight: 396;
}

.fw397 {
  font-weight: 397;
}

.fw398 {
  font-weight: 398;
}

.fw399 {
  font-weight: 399;
}

.fw400 {
  font-weight: 400;
}

.fw401 {
  font-weight: 401;
}

.fw402 {
  font-weight: 402;
}

.fw403 {
  font-weight: 403;
}

.fw404 {
  font-weight: 404;
}

.fw405 {
  font-weight: 405;
}

.fw406 {
  font-weight: 406;
}

.fw407 {
  font-weight: 407;
}

.fw408 {
  font-weight: 408;
}

.fw409 {
  font-weight: 409;
}

.fw410 {
  font-weight: 410;
}

.fw411 {
  font-weight: 411;
}

.fw412 {
  font-weight: 412;
}

.fw413 {
  font-weight: 413;
}

.fw414 {
  font-weight: 414;
}

.fw415 {
  font-weight: 415;
}

.fw416 {
  font-weight: 416;
}

.fw417 {
  font-weight: 417;
}

.fw418 {
  font-weight: 418;
}

.fw419 {
  font-weight: 419;
}

.fw420 {
  font-weight: 420;
}

.fw421 {
  font-weight: 421;
}

.fw422 {
  font-weight: 422;
}

.fw423 {
  font-weight: 423;
}

.fw424 {
  font-weight: 424;
}

.fw425 {
  font-weight: 425;
}

.fw426 {
  font-weight: 426;
}

.fw427 {
  font-weight: 427;
}

.fw428 {
  font-weight: 428;
}

.fw429 {
  font-weight: 429;
}

.fw430 {
  font-weight: 430;
}

.fw431 {
  font-weight: 431;
}

.fw432 {
  font-weight: 432;
}

.fw433 {
  font-weight: 433;
}

.fw434 {
  font-weight: 434;
}

.fw435 {
  font-weight: 435;
}

.fw436 {
  font-weight: 436;
}

.fw437 {
  font-weight: 437;
}

.fw438 {
  font-weight: 438;
}

.fw439 {
  font-weight: 439;
}

.fw440 {
  font-weight: 440;
}

.fw441 {
  font-weight: 441;
}

.fw442 {
  font-weight: 442;
}

.fw443 {
  font-weight: 443;
}

.fw444 {
  font-weight: 444;
}

.fw445 {
  font-weight: 445;
}

.fw446 {
  font-weight: 446;
}

.fw447 {
  font-weight: 447;
}

.fw448 {
  font-weight: 448;
}

.fw449 {
  font-weight: 449;
}

.fw450 {
  font-weight: 450;
}

.fw451 {
  font-weight: 451;
}

.fw452 {
  font-weight: 452;
}

.fw453 {
  font-weight: 453;
}

.fw454 {
  font-weight: 454;
}

.fw455 {
  font-weight: 455;
}

.fw456 {
  font-weight: 456;
}

.fw457 {
  font-weight: 457;
}

.fw458 {
  font-weight: 458;
}

.fw459 {
  font-weight: 459;
}

.fw460 {
  font-weight: 460;
}

.fw461 {
  font-weight: 461;
}

.fw462 {
  font-weight: 462;
}

.fw463 {
  font-weight: 463;
}

.fw464 {
  font-weight: 464;
}

.fw465 {
  font-weight: 465;
}

.fw466 {
  font-weight: 466;
}

.fw467 {
  font-weight: 467;
}

.fw468 {
  font-weight: 468;
}

.fw469 {
  font-weight: 469;
}

.fw470 {
  font-weight: 470;
}

.fw471 {
  font-weight: 471;
}

.fw472 {
  font-weight: 472;
}

.fw473 {
  font-weight: 473;
}

.fw474 {
  font-weight: 474;
}

.fw475 {
  font-weight: 475;
}

.fw476 {
  font-weight: 476;
}

.fw477 {
  font-weight: 477;
}

.fw478 {
  font-weight: 478;
}

.fw479 {
  font-weight: 479;
}

.fw480 {
  font-weight: 480;
}

.fw481 {
  font-weight: 481;
}

.fw482 {
  font-weight: 482;
}

.fw483 {
  font-weight: 483;
}

.fw484 {
  font-weight: 484;
}

.fw485 {
  font-weight: 485;
}

.fw486 {
  font-weight: 486;
}

.fw487 {
  font-weight: 487;
}

.fw488 {
  font-weight: 488;
}

.fw489 {
  font-weight: 489;
}

.fw490 {
  font-weight: 490;
}

.fw491 {
  font-weight: 491;
}

.fw492 {
  font-weight: 492;
}

.fw493 {
  font-weight: 493;
}

.fw494 {
  font-weight: 494;
}

.fw495 {
  font-weight: 495;
}

.fw496 {
  font-weight: 496;
}

.fw497 {
  font-weight: 497;
}

.fw498 {
  font-weight: 498;
}

.fw499 {
  font-weight: 499;
}

.fw500 {
  font-weight: 500;
}

.fw501 {
  font-weight: 501;
}

.fw502 {
  font-weight: 502;
}

.fw503 {
  font-weight: 503;
}

.fw504 {
  font-weight: 504;
}

.fw505 {
  font-weight: 505;
}

.fw506 {
  font-weight: 506;
}

.fw507 {
  font-weight: 507;
}

.fw508 {
  font-weight: 508;
}

.fw509 {
  font-weight: 509;
}

.fw510 {
  font-weight: 510;
}

.fw511 {
  font-weight: 511;
}

.fw512 {
  font-weight: 512;
}

.fw513 {
  font-weight: 513;
}

.fw514 {
  font-weight: 514;
}

.fw515 {
  font-weight: 515;
}

.fw516 {
  font-weight: 516;
}

.fw517 {
  font-weight: 517;
}

.fw518 {
  font-weight: 518;
}

.fw519 {
  font-weight: 519;
}

.fw520 {
  font-weight: 520;
}

.fw521 {
  font-weight: 521;
}

.fw522 {
  font-weight: 522;
}

.fw523 {
  font-weight: 523;
}

.fw524 {
  font-weight: 524;
}

.fw525 {
  font-weight: 525;
}

.fw526 {
  font-weight: 526;
}

.fw527 {
  font-weight: 527;
}

.fw528 {
  font-weight: 528;
}

.fw529 {
  font-weight: 529;
}

.fw530 {
  font-weight: 530;
}

.fw531 {
  font-weight: 531;
}

.fw532 {
  font-weight: 532;
}

.fw533 {
  font-weight: 533;
}

.fw534 {
  font-weight: 534;
}

.fw535 {
  font-weight: 535;
}

.fw536 {
  font-weight: 536;
}

.fw537 {
  font-weight: 537;
}

.fw538 {
  font-weight: 538;
}

.fw539 {
  font-weight: 539;
}

.fw540 {
  font-weight: 540;
}

.fw541 {
  font-weight: 541;
}

.fw542 {
  font-weight: 542;
}

.fw543 {
  font-weight: 543;
}

.fw544 {
  font-weight: 544;
}

.fw545 {
  font-weight: 545;
}

.fw546 {
  font-weight: 546;
}

.fw547 {
  font-weight: 547;
}

.fw548 {
  font-weight: 548;
}

.fw549 {
  font-weight: 549;
}

.fw550 {
  font-weight: 550;
}

.fw551 {
  font-weight: 551;
}

.fw552 {
  font-weight: 552;
}

.fw553 {
  font-weight: 553;
}

.fw554 {
  font-weight: 554;
}

.fw555 {
  font-weight: 555;
}

.fw556 {
  font-weight: 556;
}

.fw557 {
  font-weight: 557;
}

.fw558 {
  font-weight: 558;
}

.fw559 {
  font-weight: 559;
}

.fw560 {
  font-weight: 560;
}

.fw561 {
  font-weight: 561;
}

.fw562 {
  font-weight: 562;
}

.fw563 {
  font-weight: 563;
}

.fw564 {
  font-weight: 564;
}

.fw565 {
  font-weight: 565;
}

.fw566 {
  font-weight: 566;
}

.fw567 {
  font-weight: 567;
}

.fw568 {
  font-weight: 568;
}

.fw569 {
  font-weight: 569;
}

.fw570 {
  font-weight: 570;
}

.fw571 {
  font-weight: 571;
}

.fw572 {
  font-weight: 572;
}

.fw573 {
  font-weight: 573;
}

.fw574 {
  font-weight: 574;
}

.fw575 {
  font-weight: 575;
}

.fw576 {
  font-weight: 576;
}

.fw577 {
  font-weight: 577;
}

.fw578 {
  font-weight: 578;
}

.fw579 {
  font-weight: 579;
}

.fw580 {
  font-weight: 580;
}

.fw581 {
  font-weight: 581;
}

.fw582 {
  font-weight: 582;
}

.fw583 {
  font-weight: 583;
}

.fw584 {
  font-weight: 584;
}

.fw585 {
  font-weight: 585;
}

.fw586 {
  font-weight: 586;
}

.fw587 {
  font-weight: 587;
}

.fw588 {
  font-weight: 588;
}

.fw589 {
  font-weight: 589;
}

.fw590 {
  font-weight: 590;
}

.fw591 {
  font-weight: 591;
}

.fw592 {
  font-weight: 592;
}

.fw593 {
  font-weight: 593;
}

.fw594 {
  font-weight: 594;
}

.fw595 {
  font-weight: 595;
}

.fw596 {
  font-weight: 596;
}

.fw597 {
  font-weight: 597;
}

.fw598 {
  font-weight: 598;
}

.fw599 {
  font-weight: 599;
}

.fw600 {
  font-weight: 600;
}

.fw601 {
  font-weight: 601;
}

.fw602 {
  font-weight: 602;
}

.fw603 {
  font-weight: 603;
}

.fw604 {
  font-weight: 604;
}

.fw605 {
  font-weight: 605;
}

.fw606 {
  font-weight: 606;
}

.fw607 {
  font-weight: 607;
}

.fw608 {
  font-weight: 608;
}

.fw609 {
  font-weight: 609;
}

.fw610 {
  font-weight: 610;
}

.fw611 {
  font-weight: 611;
}

.fw612 {
  font-weight: 612;
}

.fw613 {
  font-weight: 613;
}

.fw614 {
  font-weight: 614;
}

.fw615 {
  font-weight: 615;
}

.fw616 {
  font-weight: 616;
}

.fw617 {
  font-weight: 617;
}

.fw618 {
  font-weight: 618;
}

.fw619 {
  font-weight: 619;
}

.fw620 {
  font-weight: 620;
}

.fw621 {
  font-weight: 621;
}

.fw622 {
  font-weight: 622;
}

.fw623 {
  font-weight: 623;
}

.fw624 {
  font-weight: 624;
}

.fw625 {
  font-weight: 625;
}

.fw626 {
  font-weight: 626;
}

.fw627 {
  font-weight: 627;
}

.fw628 {
  font-weight: 628;
}

.fw629 {
  font-weight: 629;
}

.fw630 {
  font-weight: 630;
}

.fw631 {
  font-weight: 631;
}

.fw632 {
  font-weight: 632;
}

.fw633 {
  font-weight: 633;
}

.fw634 {
  font-weight: 634;
}

.fw635 {
  font-weight: 635;
}

.fw636 {
  font-weight: 636;
}

.fw637 {
  font-weight: 637;
}

.fw638 {
  font-weight: 638;
}

.fw639 {
  font-weight: 639;
}

.fw640 {
  font-weight: 640;
}

.fw641 {
  font-weight: 641;
}

.fw642 {
  font-weight: 642;
}

.fw643 {
  font-weight: 643;
}

.fw644 {
  font-weight: 644;
}

.fw645 {
  font-weight: 645;
}

.fw646 {
  font-weight: 646;
}

.fw647 {
  font-weight: 647;
}

.fw648 {
  font-weight: 648;
}

.fw649 {
  font-weight: 649;
}

.fw650 {
  font-weight: 650;
}

.fw651 {
  font-weight: 651;
}

.fw652 {
  font-weight: 652;
}

.fw653 {
  font-weight: 653;
}

.fw654 {
  font-weight: 654;
}

.fw655 {
  font-weight: 655;
}

.fw656 {
  font-weight: 656;
}

.fw657 {
  font-weight: 657;
}

.fw658 {
  font-weight: 658;
}

.fw659 {
  font-weight: 659;
}

.fw660 {
  font-weight: 660;
}

.fw661 {
  font-weight: 661;
}

.fw662 {
  font-weight: 662;
}

.fw663 {
  font-weight: 663;
}

.fw664 {
  font-weight: 664;
}

.fw665 {
  font-weight: 665;
}

.fw666 {
  font-weight: 666;
}

.fw667 {
  font-weight: 667;
}

.fw668 {
  font-weight: 668;
}

.fw669 {
  font-weight: 669;
}

.fw670 {
  font-weight: 670;
}

.fw671 {
  font-weight: 671;
}

.fw672 {
  font-weight: 672;
}

.fw673 {
  font-weight: 673;
}

.fw674 {
  font-weight: 674;
}

.fw675 {
  font-weight: 675;
}

.fw676 {
  font-weight: 676;
}

.fw677 {
  font-weight: 677;
}

.fw678 {
  font-weight: 678;
}

.fw679 {
  font-weight: 679;
}

.fw680 {
  font-weight: 680;
}

.fw681 {
  font-weight: 681;
}

.fw682 {
  font-weight: 682;
}

.fw683 {
  font-weight: 683;
}

.fw684 {
  font-weight: 684;
}

.fw685 {
  font-weight: 685;
}

.fw686 {
  font-weight: 686;
}

.fw687 {
  font-weight: 687;
}

.fw688 {
  font-weight: 688;
}

.fw689 {
  font-weight: 689;
}

.fw690 {
  font-weight: 690;
}

.fw691 {
  font-weight: 691;
}

.fw692 {
  font-weight: 692;
}

.fw693 {
  font-weight: 693;
}

.fw694 {
  font-weight: 694;
}

.fw695 {
  font-weight: 695;
}

.fw696 {
  font-weight: 696;
}

.fw697 {
  font-weight: 697;
}

.fw698 {
  font-weight: 698;
}

.fw699 {
  font-weight: 699;
}

.fw700 {
  font-weight: 700;
}

.fw701 {
  font-weight: 701;
}

.fw702 {
  font-weight: 702;
}

.fw703 {
  font-weight: 703;
}

.fw704 {
  font-weight: 704;
}

.fw705 {
  font-weight: 705;
}

.fw706 {
  font-weight: 706;
}

.fw707 {
  font-weight: 707;
}

.fw708 {
  font-weight: 708;
}

.fw709 {
  font-weight: 709;
}

.fw710 {
  font-weight: 710;
}

.fw711 {
  font-weight: 711;
}

.fw712 {
  font-weight: 712;
}

.fw713 {
  font-weight: 713;
}

.fw714 {
  font-weight: 714;
}

.fw715 {
  font-weight: 715;
}

.fw716 {
  font-weight: 716;
}

.fw717 {
  font-weight: 717;
}

.fw718 {
  font-weight: 718;
}

.fw719 {
  font-weight: 719;
}

.fw720 {
  font-weight: 720;
}

.fw721 {
  font-weight: 721;
}

.fw722 {
  font-weight: 722;
}

.fw723 {
  font-weight: 723;
}

.fw724 {
  font-weight: 724;
}

.fw725 {
  font-weight: 725;
}

.fw726 {
  font-weight: 726;
}

.fw727 {
  font-weight: 727;
}

.fw728 {
  font-weight: 728;
}

.fw729 {
  font-weight: 729;
}

.fw730 {
  font-weight: 730;
}

.fw731 {
  font-weight: 731;
}

.fw732 {
  font-weight: 732;
}

.fw733 {
  font-weight: 733;
}

.fw734 {
  font-weight: 734;
}

.fw735 {
  font-weight: 735;
}

.fw736 {
  font-weight: 736;
}

.fw737 {
  font-weight: 737;
}

.fw738 {
  font-weight: 738;
}

.fw739 {
  font-weight: 739;
}

.fw740 {
  font-weight: 740;
}

.fw741 {
  font-weight: 741;
}

.fw742 {
  font-weight: 742;
}

.fw743 {
  font-weight: 743;
}

.fw744 {
  font-weight: 744;
}

.fw745 {
  font-weight: 745;
}

.fw746 {
  font-weight: 746;
}

.fw747 {
  font-weight: 747;
}

.fw748 {
  font-weight: 748;
}

.fw749 {
  font-weight: 749;
}

.fw750 {
  font-weight: 750;
}

.fw751 {
  font-weight: 751;
}

.fw752 {
  font-weight: 752;
}

.fw753 {
  font-weight: 753;
}

.fw754 {
  font-weight: 754;
}

.fw755 {
  font-weight: 755;
}

.fw756 {
  font-weight: 756;
}

.fw757 {
  font-weight: 757;
}

.fw758 {
  font-weight: 758;
}

.fw759 {
  font-weight: 759;
}

.fw760 {
  font-weight: 760;
}

.fw761 {
  font-weight: 761;
}

.fw762 {
  font-weight: 762;
}

.fw763 {
  font-weight: 763;
}

.fw764 {
  font-weight: 764;
}

.fw765 {
  font-weight: 765;
}

.fw766 {
  font-weight: 766;
}

.fw767 {
  font-weight: 767;
}

.fw768 {
  font-weight: 768;
}

.fw769 {
  font-weight: 769;
}

.fw770 {
  font-weight: 770;
}

.fw771 {
  font-weight: 771;
}

.fw772 {
  font-weight: 772;
}

.fw773 {
  font-weight: 773;
}

.fw774 {
  font-weight: 774;
}

.fw775 {
  font-weight: 775;
}

.fw776 {
  font-weight: 776;
}

.fw777 {
  font-weight: 777;
}

.fw778 {
  font-weight: 778;
}

.fw779 {
  font-weight: 779;
}

.fw780 {
  font-weight: 780;
}

.fw781 {
  font-weight: 781;
}

.fw782 {
  font-weight: 782;
}

.fw783 {
  font-weight: 783;
}

.fw784 {
  font-weight: 784;
}

.fw785 {
  font-weight: 785;
}

.fw786 {
  font-weight: 786;
}

.fw787 {
  font-weight: 787;
}

.fw788 {
  font-weight: 788;
}

.fw789 {
  font-weight: 789;
}

.fw790 {
  font-weight: 790;
}

.fw791 {
  font-weight: 791;
}

.fw792 {
  font-weight: 792;
}

.fw793 {
  font-weight: 793;
}

.fw794 {
  font-weight: 794;
}

.fw795 {
  font-weight: 795;
}

.fw796 {
  font-weight: 796;
}

.fw797 {
  font-weight: 797;
}

.fw798 {
  font-weight: 798;
}

.fw799 {
  font-weight: 799;
}

.fw800 {
  font-weight: 800;
}

.fw801 {
  font-weight: 801;
}

.fw802 {
  font-weight: 802;
}

.fw803 {
  font-weight: 803;
}

.fw804 {
  font-weight: 804;
}

.fw805 {
  font-weight: 805;
}

.fw806 {
  font-weight: 806;
}

.fw807 {
  font-weight: 807;
}

.fw808 {
  font-weight: 808;
}

.fw809 {
  font-weight: 809;
}

.fw810 {
  font-weight: 810;
}

.fw811 {
  font-weight: 811;
}

.fw812 {
  font-weight: 812;
}

.fw813 {
  font-weight: 813;
}

.fw814 {
  font-weight: 814;
}

.fw815 {
  font-weight: 815;
}

.fw816 {
  font-weight: 816;
}

.fw817 {
  font-weight: 817;
}

.fw818 {
  font-weight: 818;
}

.fw819 {
  font-weight: 819;
}

.fw820 {
  font-weight: 820;
}

.fw821 {
  font-weight: 821;
}

.fw822 {
  font-weight: 822;
}

.fw823 {
  font-weight: 823;
}

.fw824 {
  font-weight: 824;
}

.fw825 {
  font-weight: 825;
}

.fw826 {
  font-weight: 826;
}

.fw827 {
  font-weight: 827;
}

.fw828 {
  font-weight: 828;
}

.fw829 {
  font-weight: 829;
}

.fw830 {
  font-weight: 830;
}

.fw831 {
  font-weight: 831;
}

.fw832 {
  font-weight: 832;
}

.fw833 {
  font-weight: 833;
}

.fw834 {
  font-weight: 834;
}

.fw835 {
  font-weight: 835;
}

.fw836 {
  font-weight: 836;
}

.fw837 {
  font-weight: 837;
}

.fw838 {
  font-weight: 838;
}

.fw839 {
  font-weight: 839;
}

.fw840 {
  font-weight: 840;
}

.fw841 {
  font-weight: 841;
}

.fw842 {
  font-weight: 842;
}

.fw843 {
  font-weight: 843;
}

.fw844 {
  font-weight: 844;
}

.fw845 {
  font-weight: 845;
}

.fw846 {
  font-weight: 846;
}

.fw847 {
  font-weight: 847;
}

.fw848 {
  font-weight: 848;
}

.fw849 {
  font-weight: 849;
}

.fw850 {
  font-weight: 850;
}

.fw851 {
  font-weight: 851;
}

.fw852 {
  font-weight: 852;
}

.fw853 {
  font-weight: 853;
}

.fw854 {
  font-weight: 854;
}

.fw855 {
  font-weight: 855;
}

.fw856 {
  font-weight: 856;
}

.fw857 {
  font-weight: 857;
}

.fw858 {
  font-weight: 858;
}

.fw859 {
  font-weight: 859;
}

.fw860 {
  font-weight: 860;
}

.fw861 {
  font-weight: 861;
}

.fw862 {
  font-weight: 862;
}

.fw863 {
  font-weight: 863;
}

.fw864 {
  font-weight: 864;
}

.fw865 {
  font-weight: 865;
}

.fw866 {
  font-weight: 866;
}

.fw867 {
  font-weight: 867;
}

.fw868 {
  font-weight: 868;
}

.fw869 {
  font-weight: 869;
}

.fw870 {
  font-weight: 870;
}

.fw871 {
  font-weight: 871;
}

.fw872 {
  font-weight: 872;
}

.fw873 {
  font-weight: 873;
}

.fw874 {
  font-weight: 874;
}

.fw875 {
  font-weight: 875;
}

.fw876 {
  font-weight: 876;
}

.fw877 {
  font-weight: 877;
}

.fw878 {
  font-weight: 878;
}

.fw879 {
  font-weight: 879;
}

.fw880 {
  font-weight: 880;
}

.fw881 {
  font-weight: 881;
}

.fw882 {
  font-weight: 882;
}

.fw883 {
  font-weight: 883;
}

.fw884 {
  font-weight: 884;
}

.fw885 {
  font-weight: 885;
}

.fw886 {
  font-weight: 886;
}

.fw887 {
  font-weight: 887;
}

.fw888 {
  font-weight: 888;
}

.fw889 {
  font-weight: 889;
}

.fw890 {
  font-weight: 890;
}

.fw891 {
  font-weight: 891;
}

.fw892 {
  font-weight: 892;
}

.fw893 {
  font-weight: 893;
}

.fw894 {
  font-weight: 894;
}

.fw895 {
  font-weight: 895;
}

.fw896 {
  font-weight: 896;
}

.fw897 {
  font-weight: 897;
}

.fw898 {
  font-weight: 898;
}

.fw899 {
  font-weight: 899;
}

.fw900 {
  font-weight: 900;
}

.scroll-prevent {
  /*動き固定*/
  position: absolute;
  /*奥行きを管理*/
  z-index: -1;
  /*下2つで背景を元のサイズのまま表示することができる*/
  width: 100%;
  height: 100%;
}

body,
html {
  width: 100%;
}

body {
  scroll-behavior: smooth;
}

p,
li,
dt,
dd,
a,
span,
td {
  font-family: 'Noto Sans SC', sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .06em;
  color: #333;
}

h1,
h2,
h3,
h4 {
  font-family: 'Noto Sans SC', sans-serif;
  font-weight: 700;
  letter-spacing: .05em;
  color: #333;
}

a {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a,
span,
img {
  display: inline-block;
  vertical-align: top;
}

figure {
  line-height: 0;
}

ul {
  list-style: none;
}

img {
  max-width: 100%;
}

img.wp-post-image {
  max-width: 100%;
  height: auto !important;
}

main.threeminutes section.sv_img {
  background-image: url(../../images/3minutes/sv.webp);
}

main.threeminutes h3 {
  font-size: 28px;
  font-weight: 700;
}

main.threeminutes section.cont1 .inner > div {
  position: relative;
  width: 1080px;
  margin-left: -6px;
  padding: 64px;
  background-image: url(../../images/3minutes/cont1_bk.svg);
  background-size: cover;
  aspect-ratio: 1098/281;
}

main.threeminutes section.cont1 .inner > div:not(:last-of-type) {
  margin-bottom: 24px;
}

main.threeminutes section.cont1 .inner > div h3 {
  position: relative;
  z-index: 2;
  margin-bottom: 24px;
}

main.threeminutes section.cont1 .inner > div h3 span {
  font-size: 13px;
  display: block;
  margin-bottom: 6px;
  color: #fa0a0a;
}

main.threeminutes section.cont1 .inner > div h3 span span.num {
  font-size: 22px;
  line-height: 1;
  display: inline;
  vertical-align: -1px;
  letter-spacing: .01em;
}

main.threeminutes section.cont1 .inner > div p {
  position: relative;
  z-index: 2;
  max-width: 822px;
}

main.threeminutes section.cont1 .inner > div img {
  position: absolute;
  z-index: 1;
  top: 20px;
  right: 32px;
}

main.threeminutes section.cont2 {
  padding: 72px 0;
  background-image: url(../../images/3minutes/cont2_bk.webp);
  background-size: cover;
}

main.threeminutes section.cont2 .inner h2 {
  color: #fff;
}

main.threeminutes section.cont2 .inner .flex {
  gap: 16px 24px;
  justify-content: center;
}

main.threeminutes section.cont2 .inner .flex > div {
  position: relative;
  width: calc((100% - 48px)/3);
  height: 466px;
  padding: 56px 32px;
  text-align: center;
  background-image: url(../../images/3minutes/cont2_bk.svg);
  background-size: cover;
}

main.threeminutes section.cont2 .inner .flex > div h3 {
  margin-bottom: 14px;
}

main.threeminutes section.cont2 .inner .flex > div p {
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
}

main.threeminutes section.cont2 .inner .flex > div p.rale {
  font-size: 40px;
  line-height: 1;
  position: absolute;
  right: 16px;
  bottom: 20px;
  text-align: right;
  color: #eee;
}

main.threeminutes section.cont2 .inner .flex > div img {
  position: relative;
  z-index: 2;
}

main.threeminutes section.cont2 .inner .flex > div:nth-of-type(1) img {
  width: 227px;
  margin-top: 16px;
}

main.threeminutes section.cont2 .inner .flex > div:nth-of-type(2) img {
  width: 271px;
  margin-top: 62px;
}

main.threeminutes section.cont2 .inner .flex > div:nth-of-type(3) img {
  width: 107px;
  margin-top: 40px;
}

main.threeminutes section.cont3 .inner .flex {
  width: calc(100% + 8px);
  margin-left: -8px;
  flex-wrap: wrap;
}

main.threeminutes section.cont3 .inner .flex img {
  width: 100%;
}

main.threeminutes section.cont3 .inner .flex:nth-of-type(1) {
  margin-top: 40px;
  margin-bottom: 18px;
  gap: 32px 10px;
}

main.threeminutes section.cont3 .inner .flex:nth-of-type(1) > picture,
main.threeminutes section.cont3 .inner .flex:nth-of-type(1) > div {
  width: calc((100% - 10px)/2);
}

main.threeminutes section.cont3 .inner .flex:nth-of-type(2) {
  gap: 18px 4px;
}

main.threeminutes section.cont3 .inner .flex:nth-of-type(2) picture {
  width: calc((100% - 8px)/3);
}

main.threeminutes section.cont4 .inner .flex {
  gap: 0 46px;
}

main.threeminutes section.cont4 .inner .flex > div {
  width: calc((100% - 46px)/2);
}

main.threeminutes section.cont4 .inner .flex > div h3 {
  margin: 16px 0 8px;
}

main.threeminutes section.cont5 .inner .flex {
  gap: 0 40px;
}

main.threeminutes section.cont5 .inner .flex > img {
  max-width: 460px;
}

main.threeminutes section.cont5 .inner .flex ul.wrap li {
  display: flex;
  padding: 3px 0;
  border-bottom: solid 1px #ccc;
  align-items: center;
}

main.threeminutes section.cont5 .inner .flex ul.wrap li span.rale {
  font-size: 20px;
  font-weight: 700;
  font-style: normal;
  min-width: 48px;
  margin-right: 18px;
  letter-spacing: .04em;
  border-right: solid 1px #aaa;
}

main.threeminutes section.cont5 .inner .flex ul.wrap li img {
  width: 64px;
  margin-right: 4px;
  padding-top: 6px;
}

main.threeminutes section.cont5 .inner .flex ul.wrap li p {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: .04em;
  background-position: center left;
  background-size: cover;
}

main.threeminutes section.cont5 .inner .flex ul.wrap li p span {
  font-size: 13px;
  font-weight: 700;
  margin-left: 6px;
  vertical-align: 1px;
  letter-spacing: .02em;
  color: #888;
}

main.threeminutes section.cont5 .inner .flex ul.wrap li:nth-of-type(4),
main.threeminutes section.cont5 .inner .flex ul.wrap li:nth-of-type(5) {
  padding: 14px 0;
}

main.threeminutes section.cont5 .inner .flex ul.wrap li:nth-of-type(4) span.rale,
main.threeminutes section.cont5 .inner .flex ul.wrap li:nth-of-type(5) span.rale {
  height: 54px;
  padding-top: 10px;
}

main.threeminutes section.cont5 .inner .flex ul.wrap li:nth-of-type(4) p span,
main.threeminutes section.cont5 .inner .flex ul.wrap li:nth-of-type(5) p span {
  display: block;
  margin-top: 2px;
  margin-left: 0;
}

main.about section.sv_img {
  background-image: url(../../images/about/sv.webp);
}

main.about section.cont1 .inner .flex {
  margin-left: -8px;
  gap: 0 24px;
}

main.about section.cont1 .inner .flex > div {
  width: calc((100% - 48px)/3);
  width: 344px;
  padding: 32px 40px;
  text-align: center;
  background-image: url(../../images/about/cont1_bk.svg);
  background-size: cover;
  aspect-ratio: 8/7;
}

main.about section.cont1 .inner .flex > div h3 {
  font-size: 24px;
  font-weight: 700;
  margin-top: 4px;
}

main.about section.cont1 .inner .flex > div img {
  margin: 16px 0;
}

main.about section.cont1 .inner .flex > div p {
  text-align: left;
}

main.about section.cont2 .inner .flex {
  gap: 12px 56px;
  align-items: flex-start;
}

main.about section.cont2 .inner .flex img {
  width: 344px;
}

main.about section.cont2 .inner .flex > div {
  width: calc(100% - 400px);
}

main.about section.cont2 .inner .flex > div p:nth-of-type(2) {
  margin-top: 8px;
  text-align: right;
}

main.about section.cont3 .inner dl {
  display: flex;
  max-width: 950px;
  border-top: solid 1.5px #ccc;
  flex-wrap: wrap;
}

main.about section.cont3 .inner dl dt,
main.about section.cont3 .inner dl dd {
  padding: 24px 0;
  border-bottom: solid 1.5px #ccc;
}

main.about section.cont3 .inner dl dt {
  width: 145px;
}

main.about section.cont3 .inner dl dd {
  width: calc(100% - 145px);
}

main.about section.cont4 .inner .flex {
  gap: 30px 24px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

main.about section.cont4 .inner .flex > div {
  width: calc((100% - 48px)/3);
}

main.about section.cont4 .inner .flex > div h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  padding: 12px 0 8px;
  border-bottom: solid 1px #ccc;
}

main.about section.cont4 .inner .flex > div h3 span {
  font-size: 13px;
  font-weight: 700;
  margin-left: 8px;
  vertical-align: 1px;
  letter-spacing: .02em;
  color: #888;
}

main.about section.cont4 .inner .flex > div ul li {
  font-size: 15px;
  margin-top: 2px;
}

main.about section.cont4 .inner .flex > div ul li.tel,
main.about section.cont4 .inner .flex > div ul li.mail,
main.about section.cont4 .inner .flex > div ul li.fax,
main.about section.cont4 .inner .flex > div ul li.map {
  padding-left: 24px;
  background-position: center left;
}

main.about section.cont4 .inner .flex > div ul li.tel {
  background-image: url('../../images/about/icon_tel.svg');
}

main.about section.cont4 .inner .flex > div ul li.mail {
  background-image: url('../../images/about/icon_mail.svg');
}

main.about section.cont4 .inner .flex > div ul li.fax {
  background-image: url('../../images/about/icon_fax.svg');
}

main.about section.cont4 .inner .flex > div ul li.map {
  background-image: url('../../images/about/icon_map.svg');
}

main.about section.cont4 .inner .flex > div ul li a {
  font-size: 15px;
  text-decoration: underline;
}

main.about section.cont4 .inner .flex > div.bang h3 span {
  margin-left: 0;
}

main.about section.cont5 .inner dl {
  display: flex;
  border-top: solid 1.5px #ccc;
  flex-wrap: wrap;
}

main.about section.cont5 .inner dl dt,
main.about section.cont5 .inner dl dd {
  padding: 24px 0;
  border-bottom: solid 1.5px #ccc;
}

main.about section.cont5 .inner dl dt {
  font-family: 'Raleway', sans-serif;
  font-size: 34px;
  font-weight: 800;
  font-style: italic;
  line-height: 1;
  position: relative;
  width: 206px;
  letter-spacing: .04em;
  color: #fa0a0a;
}

main.about section.cont5 .inner dl dt span {
  font-size: 22px;
  font-weight: 700;
  vertical-align: -2px;
  color: #fa0a0a;
}

main.about section.cont5 .inner dl dt:before {
  position: absolute;
  top: 40px;
  right: 40px;
  display: block;
  width: 8px;
  height: 8px;
  content: '';
  border-radius: 20px;
  background-color: #333;
}

main.about section.cont5 .inner dl dd {
  display: flex;
  width: calc(100% - 206px);
  margin-top: 6px;
  flex-wrap: wrap;
}

main.about section.cont5 .inner dl dd span:nth-of-type(2n+1) {
  width: 52px;
}

main.about section.cont5 .inner dl dd span:nth-of-type(2n) {
  width: calc(100% - 52px);
}

main.about section.cont5 .inner dl dd span:nth-of-type(n+3) {
  margin-top: 14px;
}

.case .flex.cate {
  justify-content: flex-start;
  gap: 6px;
  flex-wrap: wrap;
}

.case .flex.cate p.cate {
  font-size: 12px;
  font-weight: 700;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 6px;
  letter-spacing: 0;
  background-color: #eee;
}

.archive_case .case_wrap .inner > .cate_toggle {
  position: relative;
  width: 100%;
  max-width: 344px;
  margin-bottom: 40px;
}

.archive_case .case_wrap .inner > .cate_toggle p,
.archive_case .case_wrap .inner > .cate_toggle a {
  font-size: 14px;
}

.archive_case .case_wrap .inner > .cate_toggle p.arrow {
  padding: 16px;
  cursor: pointer;
  border: solid 1px #333;
}

.archive_case .case_wrap .inner > .cate_toggle p.arrow:after {
  right: 16px;
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
}

.archive_case .case_wrap .inner > .cate_toggle .select {
  position: absolute;
  display: none;
  width: 100%;
  max-width: 344px;
  padding: 8px 16px;
  border: solid 1px #333;
  border-top: none;
  background-color: #fff;
}

.archive_case .case_wrap .inner > .cate_toggle .select li {
  padding: 4px 0;
}

.archive_case .case_wrap .inner > .cate_toggle .select li a {
  width: 100%;
  height: 100%;
}

.archive_case .case_wrap .inner > .cate_toggle .select.on {
  display: block;
}

.archive_case .case_wrap .inner > .flex {
  gap: 32px 24px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.archive_case .case_wrap .inner > .flex a.three_column {
  overflow: hidden;
  width: calc((100% - 48px)/3);
}

.archive_case .case_wrap .inner > .flex a.three_column .eyecatch {
  overflow: hidden;
  margin-bottom: 20px;
}

.archive_case .case_wrap .inner > .flex a.three_column .eyecatch img {
  transition: .3s all;
}

.archive_case .case_wrap .inner > .flex a.three_column img.logo {
  max-width: 100%;
}

.archive_case .case_wrap .inner > .flex a.three_column h2 {
  font-size: 18px;
  margin: 16px 0;
}

.archive_case .case_wrap .inner > .flex a.three_column p.case_tt {
  font-size: 14px;
  margin-bottom: 16px;
}

.single_case .inner .tt {
  margin-bottom: 48px;
  padding-bottom: 24px;
  border-bottom: solid 1.5px #ccc;
}

.single_case .inner .tt h1 {
  font-size: 40px;
  line-height: 1.45;
  margin: 14px 0;
}

.single_case .inner .wrap .content {
  font-family: 'Noto Sans SC', sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .06em;
  color: #333;
}

.single_case .inner .wrap .content > * {
  margin-bottom: 32px;
}

.single_case .inner .wrap .content iframe {
  max-width: 100%;
}

.single_case .inner .wrap table.detail {
  margin-top: 48px;
}

.single_case .inner .wrap table.detail td:nth-of-type(1) {
  background-color: #f2f2f2;
}

.single_case .inner .wrap table.detail td a {
  text-decoration: underline;
  color: #1471ae;
}

html body {
  position: relative;
  overflow-x: hidden;
}

html body img {
  height: auto;
}

html body a {
  transition: all .3s ease-out;
}

main.top,
main.threeminutes,
main.about,
main.recruit {
  background-image: url('../../images/common/content_bk.svg');
  background-repeat: repeat-y;
  background-position: top 625px right -64px;
  background-size: 120%;
}

main.top .breadcrumbs,
main.threeminutes .breadcrumbs,
main.about .breadcrumbs,
main.recruit .breadcrumbs {
  padding-bottom: 32px;
}

main.technology .breadcrumbs {
  padding-bottom: 32px;
}

main.single {
  margin-top: 87px;
}

.outer {
  width: 1200px;
  margin: 0 auto;
}

.inner {
  width: 1080px;
  margin: 0 auto;
}

section {
  scroll-margin-top: 140px;
}

.noto {
  font-family: 'Noto Sans SC', sans-serif;
}

.rale {
  font-family: 'Raleway', sans-serif;
  font-weight: 800;
  font-style: italic;
}

.t-white {
  color: #fff;
}

.t-center {
  text-align: center;
}

.t-right {
  text-align: right;
}

.t-indent {
  padding-left: 1em;
  text-indent: -1em;
}

.italic {
  font-style: italic;
}

.fs12 {
  font-size: 12px;
}

.fw700 {
  font-weight: 700;
}

.fw800 {
  font-weight: 800;
}

.let0 {
  letter-spacing: 0;
}

.ab_center {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.sv {
  background-color: #fff;
}

.breadcrumbs {
  background-color: #fff;
}

.breadcrumbs li br {
  display: none;
}

.sv_img {
  position: relative;
  width: 100vw;
  height: 437px;
  background-size: cover;
}

.sv_img:after {
  position: absolute;
  top: -110px;
  right: calc((100% - 1140px)/2);
  display: block;
  width: 160px;
  height: 160px;
  content: '';
  border-radius: 50%;
  background-image: url('../../images/common/scrolldown.svg');
  background-size: cover;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.midashi {
  font-weight: 700;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.midashi span {
  font-family: 'Raleway', sans-serif;
  font-size: 18px;
  font-weight: 800;
  font-style: italic;
  position: absolute;
  top: 0;
  left: 6px;
  white-space: nowrap;
  color: #fa0a0a;
}

.midashi span:before {
  position: absolute;
  bottom: -5px;
  left: 3px;
  display: block;
  width: 24px;
  height: 42px;
  content: '';
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
  border-left: solid 1.5px #fa0a0a;
}

.midashi.h1 {
  font-size: 56px;
  padding-top: 30px;
}

.midashi.h2 {
  font-size: 32px;
  margin-bottom: 24px;
  padding-top: 30px;
}

.head_bor {
  font-size: 32px;
  font-weight: 700;
  position: relative;
  padding: 0 0 16px 20px;
  border-bottom: solid 1.5px #ccc;
}

.head_bor:before {
  position: absolute;
  top: 8px;
  left: 0;
  display: block;
  width: 4px;
  height: 33px;
  content: '';
  background: linear-gradient(180deg, #fa0a0a 0%, #fa0a0a 50%, #1471ae 50%, #1471ae 100%);
}

.head_bk {
  font-size: 18px;
  font-weight: 700;
  position: relative;
  padding: 12px 24px;
  background-color: #f2f2f2;
}

.head_bk:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 4px;
  height: 100%;
  content: '';
  background: linear-gradient(to bottom, #fa0a0a 0%, #fa0a0a 50%, #1471ae 0%, #1471ae 100%);
}

.red_link {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 48px auto 0;
  padding-right: 42px;
}

.red_link span {
  font-weight: 700;
  color: #fa0a0a;
}

.red_link:before,
.red_link:after {
  position: absolute;
  top: 50%;
  display: block;
  content: '';
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-size: cover;
}

.red_link:after {
  right: 0;
  width: 32px;
  height: 32px;
  background-image: url('../../images/common/bk_link.svg');
}

.red_link:before {
  right: -15px;
  width: 32px;
  height: 32px;
  transition: all .3s ease;
  opacity: 0;
  background-image: url('../../images/common/bk_link_hover.svg');
}

.btn.prev,
.btn.next {
  display: flex;
  width: 100%;
  max-width: 380px;
  height: 60px;
  padding: 12px 24px;
  background-size: 11px;
  align-items: center;
  justify-content: center;
}

.btn.prev {
  border: solid 1.5px #333;
  background-color: #fff;
  background-image: url('../../images/common/btn_prev.svg');
  background-position: center left 24px;
}

.btn.next {
  color: #fff;
  background-color: #333;
  background-image: url('../../images/common/btn_next.svg');
  background-position: center right 24px;
}

.flex {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}

.fl_center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.line-clamp-1 {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.line-clamp-2 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
}

.arrow {
  position: relative;
}

.arrow:after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 7px;
  height: 7px;
  content: '';
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
  border-top: solid 2px #555;
  border-right: solid 2px #555;
}

.anchorlink {
  margin-top: -100px;
  padding-top: 100px;
}

.sp {
  display: none;
}

.sp_s {
  display: none;
}

.mt80 {
  margin-top: 80px;
}

.mt90 {
  margin-top: 90px;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-top: solid 1.5px #ddd;
  border-left: solid 1.5px #ddd;
}

table tr td {
  padding: 16px;
  border-right: solid 1.5px #ddd;
  border-bottom: solid 1.5px #ddd;
}

table tr td:nth-of-type(1) {
  width: 200px;
  background-color: #f2f2f2;
}

table tr td:nth-of-type(2) {
  width: calc(100% - 200px);
}

.slider {
  display: none;
}

.slider.slick-initialized {
  display: block;
}

/* single table */

.single table tr td,
.single table tr th {
  border: solid 1.5px #ddd;
}

.single table tr td:nth-of-type(1) {
  background-color: initial;
}

.single.single_job table tr td:nth-of-type(1) {
  background-color: #f2f2f2;
}

/* single midashi */

.single_technology section h1 {
  margin-bottom: 48px;
}

.single h3,
.single h4,
.single h5,
.single h6 {
  margin-top: 48px;
}

.single h3 {
  font-size: 18px;
  position: relative;
  margin-bottom: 18px !important;
  padding-bottom: 12px;
  border-bottom: solid 2px #ddd;
}

.single h3:after {
  position: absolute;
  bottom: -2px;
  display: block;
  width: 75px;
  content: ' ';
  border-bottom: solid 2px #1471ae;
}

.single h4 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 18px !important;
  padding-bottom: 8px;
  border-bottom: 2px dashed #ccc;
}

.single h5 {
  font-size: 16px;
  margin-bottom: 8px !important;
  padding-left: 30px;
  background-image: url('../../images/common/single_h5.svg');
  background-position: bottom left;
  background-size: 22px;
}

.single h6 {
  font-size: 16px;
  margin-bottom: 8px !important;
  padding-left: 20px;
  color: #1471ae;
  background-image: url('../../images/common/single_h6.svg');
  background-position: bottom 5px left;
  background-size: 10px;
}

main.download section h2,
main.downloads section h2 {
  font-size: 20px;
  margin: 48px 0 16px;
  padding-left: 24px;
  background-image: url('../../images/download/triangle.svg');
  background-position: top 8px left 0;
  background-size: 18px;
}

main.download section h2:first-of-type,
main.downloads section h2:first-of-type {
  margin-top: 40px;
}

main.download section .wrap,
main.downloads section .wrap {
  gap: 16px;
  flex-wrap: wrap;
  align-items: flex-start;
}

main.download section .wrap a,
main.downloads section .wrap a {
  width: calc((100% - 16px)/2);
  padding: 15px 16px;
  border: solid 1px #ccc;
  background-color: #f2f2f2;
  background-image: url('../../images/download/pdf.svg');
  background-position: center right 16px;
  background-size: 21px;
}

.footer_contact {
  margin-top: 80px;
}

.footer_contact .inner {
  padding-top: 54px;
  padding-bottom: 54px;
  border-top: solid 1px #ccc;
}

.footer_contact .inner p.midashi {
  margin: 0 auto;
}

.footer_contact .inner p.midashi span {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.footer_contact .inner > .fl_center {
  position: relative;
  margin-top: 36px;
  gap: 48px 130px;
}

.footer_contact .inner > .fl_center:after {
  position: absolute;
  left: 50%;
  width: 1.5px;
  height: 160px;
  margin: auto;
  content: '';
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #ccc;
}

.footer_contact .inner > .fl_center > div {
  width: 50%;
  text-align: center;
}

.footer_contact .inner > .fl_center > div p {
  font-size: 18px;
  margin-bottom: 14px;
}

.footer_contact .inner > .fl_center > div:nth-of-type(1) .wrap a {
  font-size: 15px;
}

.footer_contact .inner > .fl_center > div:nth-of-type(1) .wrap a span {
  font-size: 40px;
  line-height: 1.3;
  position: relative;
  display: block;
  margin: 0 auto;
}

.footer_contact .inner > .fl_center > div:nth-of-type(1) .wrap a span:before {
  position: absolute;
  top: 12px;
  left: -32px;
  display: block;
  width: 25px;
  height: 36px;
  content: '';
  background-image: url('../../images/common/ft_icon_tel.svg');
  background-size: cover;
}

.footer_contact .inner > .fl_center > div:nth-of-type(2) .wrap a {
  position: relative;
  width: 100%;
  background-image: url(../../images/common/ft_contact_bk.svg);
  background-size: cover;
}

.footer_contact .inner > .fl_center > div:nth-of-type(2) .wrap a:hover {
  opacity: 1;
}

.footer_contact .inner > .fl_center > div:nth-of-type(2) .wrap a p {
  font-size: 24px;
  width: 360px;
  height: 96px;
  margin: 0 auto;
  padding-left: 28px;
  color: #fa0a0a;
  background-image: url('../../images/common/ft_icon_mail.svg');
  background-repeat: no-repeat;
  background-position: center left 56px;
  background-size: 28px;
}

.footer_contact .inner > .fl_center > div:nth-of-type(2) .wrap a:after {
  position: absolute;
  top: calc(50% - 4px);
  right: 24px;
  width: 8px;
  height: 8px;
  content: '';
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: solid 2px #fa0a0a;
  border-right: solid 2px #fa0a0a;
}

.side_sticky {
  position: fixed;
  z-index: 99;
  right: 10px;
  bottom: 310px;
}

.side_sticky .wrap {
  position: absolute;
  right: 0;
  padding: 0 14px;
}

.side_sticky .wrap p {
  font-size: 12px;
  position: relative;
  margin-bottom: 50px;
  margin-left: auto;
  color: #555;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.side_sticky .wrap p:after {
  position: absolute;
  bottom: -40px;
  left: 50%;
  display: block;
  width: 1px;
  height: 32px;
  content: '';
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #555;
}

.side_sticky .wrap a {
  display: block;
  text-align: right;
}

.side_sticky .wrap a:not(:first-of-type) {
  margin-top: 6px;
}

.side_sticky > a {
  position: absolute;
  top: 175px;
  right: 0;
  width: 168px;
}

.side_sticky.sp_s {
  right: 0;
  bottom: 0;
  width: 100%;
  height: 50px;
  background-color: #333;
}

.side_sticky.sp_s .flex {
  width: 100%;
  height: 100%;
  padding: 5px 24px;
}

.side_sticky.sp_s .flex a {
  font-size: 18px;
  position: static;
  width: 50%;
  height: 100%;
  padding-top: 8px;
  text-align: center;
  white-space: nowrap;
  letter-spacing: 0;
  color: #fff;
}

.side_sticky.sp_s .flex a span {
  font-size: 22px;
  padding-right: 6px;
  vertical-align: 0;
  color: #fff;
}

.side_sticky.sp_s .flex a:after {
  top: 25px;
  left: 50%;
  margin-left: 104px;
  -webkit-transform: translateX(-50%) rotate(45deg);
  transform: translateX(-50%) rotate(45deg);
  border-color: #fff;
}

.side_sticky.sp_s .flex a.recruit {
  font-size: 16px;
  position: relative;
  border-right: solid 1px #fff;
  background-image: url('../../images/common/sticky_footer_re_icon.svg');
  background-repeat: no-repeat;
  background-position: left 16px center;
  background-size: auto;
}

.side_sticky.sp_s .flex a.recruit:after {
  position: absolute;
  top: 17px;
  right: 30px;
  left: initial;
  display: block;
  width: 7px;
  height: 7px;
  margin-left: initial;
  content: '';
  -webkit-transform: initial;
  transform: initial;
  background-image: url('../../images/common/sticky_footer_re_arrow.svg');
  background-repeat: no-repeat;
  background-size: auto;
}

.side_sticky.sp_s .flex a.tel {
  font-size: 17px;
  padding-left: 46px;
  letter-spacing: .04em;
  background-image: url('../../images/common/sticky_footer_tel.svg');
  background-repeat: no-repeat;
  background-position: left 20px center;
  background-size: auto;
}

footer {
  position: relative;
  padding: 40px 0;
  background-color: #333;
}

footer p,
footer a {
  font-size: 13px;
  color: #fff;
}

footer .page-top {
  font-weight: 500;
  position: absolute;
  top: -62px;
  right: -10px;
  width: 130px;
  height: 130px;
  background-image: url(../../images/common/pagetop_bk.svg);
  background-size: cover;
}

footer .page-top a {
  width: 112px;
  height: 112px;
  padding: 22px 0;
  text-align: center;
}

footer .page-top a .arrow-top {
  position: relative;
  display: inline-block;
  width: 32px;
  height: 32px;
  margin-bottom: 4px;
  border-radius: 50px;
  background-color: #fa0a0a;
}

footer .page-top a .arrow-top:before {
  position: absolute;
  top: calc(50% - 2px);
  left: calc(50% - 4px);
  width: 8px;
  height: 8px;
  content: '';
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}

footer .page-top a p {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  color: #fa0a0a;
}

footer > .inner {
  gap: 0 48px;
}

footer > .inner > div:nth-of-type(1) {
  min-width: 360px;
}

footer > .inner > div:nth-of-type(1) img {
  margin-bottom: 20px;
}

footer > .inner > div:nth-of-type(1) p {
  color: #aaa;
}

footer > .inner > div:nth-of-type(1) p:nth-of-type(2) {
  margin-top: 14px;
}

footer .copy {
  margin-top: -12px;
}

footer .copy .inner {
  align-items: flex-end;
  gap: 12px;
}

footer .copy .inner > div {
  gap: 0 48px;
}

footer .copy .inner > div:nth-of-type(1) p.fs12 {
  margin-bottom: 36px;
  color: #aaa;
}

footer .copy .inner > div:nth-of-type(1) p.fs12 a {
  font-size: 12px;
  text-decoration: underline;
  color: #aaa;
}

footer .copy .inner > div:nth-of-type(2) a {
  font-size: 16px;
}

footer .copy .inner > div:nth-of-type(2) a:nth-of-type(1) {
  position: relative;
}

footer .copy .inner > div:nth-of-type(2) a:nth-of-type(1):after {
  position: absolute;
  top: 0;
  right: -24px;
  bottom: 0;
  width: 1px;
  height: 12px;
  margin: auto;
  content: '';
  background-color: #fff;
}

body.sticky {
  overflow-x: clip;
}

section.form {
  margin-bottom: 120px;
}

section.form .form_wrap span.required {
  font-size: 14px;
  line-height: 1.2;
  margin: 3px 0 0 8px;
  padding: 2px 6px;
  letter-spacing: 0;
  color: #fff;
  background-color: #fa0a0a;
}

section.form .form_wrap span.error {
  font-size: 12px;
  margin-top: 4px;
  color: #fa0a0a;
}

section.form .form_wrap .flex {
  flex-wrap: wrap;
  gap: 24px 16px;
}

section.form .form_wrap .flex .wrap {
  width: calc((100% - 16px)/2);
}

section.form .form_wrap .flex .wrap p.label {
  margin-bottom: 16px;
}

section.form .form_wrap .flex .wrap p.input input,
section.form .form_wrap .flex .wrap p.input textarea,
section.form .form_wrap .flex .wrap p.input select {
  width: 100%;
  padding: 12px 20px;
  border: solid 1.5px #ccc;
  background-color: #f2f2f2;
}

section.form .form_wrap .flex .wrap p.input input::-webkit-input-placeholder,
section.form .form_wrap .flex .wrap p.input textarea::-webkit-input-placeholder,
section.form .form_wrap .flex .wrap p.input select::-webkit-input-placeholder {
  color: #aaa;
}

section.form .form_wrap .flex .wrap p.input input::-moz-placeholder,
section.form .form_wrap .flex .wrap p.input textarea::-moz-placeholder,
section.form .form_wrap .flex .wrap p.input select::-moz-placeholder {
  color: #aaa;
}

section.form .form_wrap .flex .wrap p.input input::-ms-input-placeholder,
section.form .form_wrap .flex .wrap p.input textarea::-ms-input-placeholder,
section.form .form_wrap .flex .wrap p.input select::-ms-input-placeholder {
  color: #aaa;
}

section.form .form_wrap .flex .wrap p.input input::placeholder,
section.form .form_wrap .flex .wrap p.input textarea::placeholder,
section.form .form_wrap .flex .wrap p.input select::placeholder {
  color: #aaa;
}

section.form .form_wrap .flex .wrap p.input input:focus-visible,
section.form .form_wrap .flex .wrap p.input textarea:focus-visible,
section.form .form_wrap .flex .wrap p.input select:focus-visible {
  border-radius: 0;
}

section.form .form_wrap .flex .wrap p.input input,
section.form .form_wrap .flex .wrap p.input select {
  height: 60px;
}

section.form .form_wrap .flex .wrap p.input textarea {
  height: 300px;
}

section.form .form_wrap .flex .wrap p.input select option {
  font-weight: 500;
  padding: 16px 0;
  background-color: #fff;
}

section.form .form_wrap .flex .wrap p.input.file {
  margin-bottom: 12px;
}

section.form .form_wrap .flex .wrap p.input.file input {
  font-size: 14px;
  display: none;
  height: inherit;
  padding: 0;
  border: inherit;
  background-color: inherit;
}

section.form .form_wrap .flex .wrap p.input.file .file-text,
section.form .form_wrap .flex .wrap p.input.file .file-select {
  font-family: 'Noto Sans SC', sans-serif;
  font-size: 14px;
}

section.form .form_wrap .flex .wrap p.input.file .file-text {
  padding: 4px 24px 2px;
  cursor: pointer;
  border: solid 1.5px #ccc;
  border-radius: 4px;
  background-color: #f2f2f2;
}

section.form .form_wrap .flex .wrap p.input.file .file-select {
  margin-top: 4px;
  margin-left: 16px;
}

section.form .form_wrap .flex .wrap .mw-wp-form_file {
  font-family: 'Noto Sans SC', sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .06em;
  color: #333;
}

section.form .form_wrap .agree {
  position: relative;
  margin-top: 64px;
  text-align: center;
}

section.form .form_wrap .agree input {
  cursor: pointer;
}

section.form .form_wrap .agree .mwform-checkbox-field-text {
  opacity: 0;
}

section.form .form_wrap .agree p.text {
  position: absolute;
  top: -1px;
  left: calc(50% - 14px);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap;
}

section.form .form_wrap .agree p.text a {
  text-decoration: underline;
}

section.form .form_wrap .agree span.error {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

section.form .form_wrap .button {
  width: calc(100% - 120px);
  margin: 0 auto;
  margin-top: 40px;
}

section.form .form_wrap .button .submit {
  display: flex;
  width: 100%;
  max-width: 380px;
  height: 60px;
  margin: 0 auto;
  transition: all .3s ease;
  background-color: #333;
  background-image: url(../../images/common/btn_next.svg);
  background-position: center right 24px;
  background-size: 11px;
  align-items: center;
  justify-content: center;
}

section.form .form_wrap .button .submit input {
  font-family: 'Noto Sans SC', sans-serif;
  font-size: 16px;
  font-weight: 500;
  width: 100%;
  height: 100%;
  padding: 12px 24px;
  cursor: pointer;
  letter-spacing: .06em;
  color: #fff;
}

section.form .form_wrap .button .submit.return {
  border: solid 1.5px #333;
  background-color: #fff;
  background-image: url('../../images/common/btn_prev.svg');
  background-position: center left 24px;
}

section.form .form_wrap .button .submit.return input {
  color: #333;
}

section.form .mw_wp_form_input p.lead.confirm {
  display: none;
}

section.form .mw_wp_form_input .button .submit.return {
  display: none;
}

section.form .mw_wp_form_input .wrap.job_type p.input input {
  line-height: 2;
  height: 60px;
  padding: 12px 20px;
  pointer-events: none;
  border: solid 1.5px #ccc;
  background-color: #fff;
}

section.form .mw_wp_form_confirm p.lead.input {
  display: none;
}

section.form .mw_wp_form_confirm span.required {
  display: none;
}

section.form .mw_wp_form_confirm form .flex:first-of-type {
  gap: 0 !important;
}

section.form .mw_wp_form_confirm form .flex:first-of-type .wrap {
  display: flex;
  width: 100%;
  min-height: 70px;
  padding: 24px 0;
  border-bottom: solid 1.5px #ccc;
  gap: 8px 40px;
}

section.form .mw_wp_form_confirm form .flex:first-of-type .wrap:first-of-type {
  border-top: solid 1.5px #ccc;
}

section.form .mw_wp_form_confirm form .flex:first-of-type .wrap p.label {
  width: 192px;
  margin-bottom: 0;
}

section.form .mw_wp_form_confirm form .flex:first-of-type .wrap p.input {
  width: calc(100% - 192px);
}

section.form .mw_wp_form_confirm form .flex:first-of-type .wrap p.ast {
  display: none;
}

section.form .mw_wp_form_confirm form .flex:first-of-type .wrap p.arrow:after {
  content: none;
}

section.form .mw_wp_form_confirm form .flex:first-of-type .wrap p.input.file {
  display: none;
}

section.form .mw_wp_form_confirm .agree {
  display: none;
}

section.form .mw_wp_form_confirm .button {
  gap: 0 16px;
  justify-content: center;
}

section.form .mw_wp_form_confirm .button .submit {
  width: calc((100% - 24px)/2);
  max-width: initial;
  margin: initial;
}

section.form .mw_wp_form_complete p.lead {
  margin-bottom: 24px;
}

section.form .mw_wp_form_complete .red_link {
  margin-left: 0;
}

section.form .outer {
  gap: 0 40px;
  align-items: flex-start;
}

section.form .outer .flow {
  position: sticky;
  top: 120px;
  width: 180px;
  height: 115px;
}

section.form .outer .flow p:not(:last-of-type) {
  position: relative;
  margin-bottom: 20px;
}

section.form .outer .flow p:not(:last-of-type):before {
  position: absolute;
  bottom: -24px;
  left: 8px;
  display: block;
  width: 1px;
  height: 27px;
  content: '';
  background-color: #ccc;
}

section.form .outer .flow p span {
  font-weight: 700;
  position: relative;
  padding-left: 28px;
  color: #aaa;
}

section.form .outer .flow p span:before,
section.form .outer .flow p span:after {
  position: absolute;
  top: 50%;
  display: block;
  content: '';
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
}

section.form .outer .flow p span:before {
  left: 4px;
  width: 10px;
  height: 10px;
  background-color: #aaa;
}

section.form .outer .flow p span:after {
  left: 0;
  width: 18px;
  height: 18px;
  border: solid 1px #aaa;
}

section.form .outer .flow p.on span {
  color: #333;
}

section.form .outer .flow p.on span:before {
  background-color: #fa0a0a;
}

section.form .outer .form_wrap {
  width: calc(100% - 250px);
  margin-left: auto;
}

section.form .outer .form_wrap p.lead {
  font-size: 18px;
}

section.form .outer .form_wrap .flex {
  margin-top: 56px;
  gap: 32px 24px;
}

section.form .outer .form_wrap .flex .wrap {
  width: calc((100% - 24px)/2);
}

section.form .outer .form_wrap .flex .wrap.double {
  width: 100%;
}

section.form .outer .form_wrap .flex .wrap p.arrow:after {
  top: 27px;
  right: 16px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.mwform-file-delete {
  display: none !important;
}

main.top {
  margin-top: 87px;
}

main.top section.mv {
  position: relative;
  background-color: #fff;
}

main.top section.mv .outer {
  position: relative;
}

main.top section.mv .outer img.text {
  position: absolute;
  top: 0;
  left: -80px;
}

main.top section.mv video.mv,
main.top section.mv img.mv {
  width: 100vw;
  height: 550px;
  margin-top: 160px;
  -o-object-fit: cover;
  object-fit: cover;
}

main.top section.mv .pickup {
  position: absolute;
  bottom: -60px;
  left: calc((100% - 1200px ) / 2 - 9px);
  width: 316px;
  height: 118px;
  padding: 6px 9px 12px 9px;
  background-image: url(../../images/top/news_pickup.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

main.top section.mv .pickup a {
  width: 100%;
  padding: 28px 33px 20px;
}

main.top section.mv .pickup a p.cate {
  font-size: 12px;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 4px;
  padding: 4px 4px 2px 4px;
  letter-spacing: 0;
  color: #fa0a0a;
  border: solid 1px #fa0a0a;
}

main.top section.mv .pickup a p.tt {
  padding-right: 28px;
}

main.top section.mv .pickup a p.tt:after {
  right: 4px;
  transition: .2s;
}

main.top section.cont1 {
  margin-top: 110px;
}

main.top section.cont1 .inner {
  width: 950px;
}

main.top section.cont1 .inner .wrap .slider {
  position: relative;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

main.top section.cont1 .inner .wrap .slider .slick-img {
  width: 100%;
  max-width: 950px;
  margin: 0 -12px;
}

main.top section.cont1 .inner .wrap .slider .slick-img img {
  width: 100%;
  height: auto;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
  -webkit-transform: scale(.9);
  transform: scale(.9);
}

main.top section.cont1 .inner .wrap .slider .slick-img.slick-center img {
  -webkit-transform: scale(1);
  transform: scale(1);
}

main.top section.cont1 .inner .wrap .slider .slick-arrow {
  font-size: 0;
  position: absolute;
  z-index: 10;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

main.top section.cont1 .inner .wrap .slider .slick-arrow:before {
  display: block;
  width: 72px;
  height: 72px;
  content: '';
  opacity: 1;
  background-image: url('../../images/top/cont1_arrow.svg');
  background-size: cover;
}

main.top section.cont1 .inner .wrap .slider .slick-arrow.slick-prev {
  top: 172px;
  left: calc(50% - 470px);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

main.top section.cont1 .inner .wrap .slider .slick-arrow.slick-next {
  top: 120px;
  left: calc(50% + 465px);
  margin-right: -470px;
}

main.top section.cont1 .inner .wrap .thumbnail {
  margin-top: 20px;
}

main.top section.cont1 .inner .wrap .thumbnail .slick-track {
  -webkit-transform: unset !important;
  transform: unset !important;
}

main.top section.cont1 .inner .wrap .thumbnail .slick-track .thumbnail-img {
  padding: 0 7px;
  cursor: pointer;
  opacity: .3;
}

main.top section.cont1 .inner .wrap .thumbnail .slick-track .thumbnail-img.slick-current {
  opacity: 1;
}

main.top section.bk_img {
  position: relative;
  margin-top: 72px;
}

main.top section.bk_img .bk {
  width: calc(100% - (100% - 1080px)/2);
  max-width: 1520px;
  height: 680px;
  margin-left: auto;
  background-size: cover;
}

main.top section.bk_img .outer .text_box {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 580px;
  padding: 40px 0;
}

main.top section.bk_img .outer .text_box a.red_link {
  margin: 32px 0 0 0;
}

main.top section.cont2 {
  position: relative;
}

main.top section.cont2 .bk {
  background-image: url('../../images/top/cont2_bk.webp');
}

main.top section.cont2 .outer .text_box {
  height: 405px;
  margin-top: -405px;
}

main.top section.cont2 .inner .flex {
  margin-top: 32px;
  gap: 20px 30px;
}

main.top section.cont2 .inner .flex > div {
  width: calc((100% - 60px)/3);
}

main.top section.cont2 .inner .flex > div h3 {
  width: 100%;
  margin-bottom: 16px;
  background-size: cover;
  aspect-ratio: 170/150;
}

main.top section.cont2 .inner .flex > div h3 span {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  color: #fff;
}

main.top section.cont2 .inner .flex > div h3 span.rale {
  font-size: 14px;
  display: block;
  margin-top: 6px;
  color: #ccc;
}

main.top section.cont2 .inner .flex > div:nth-of-type(1) h3 {
  background-image: url('../../images/top/cont2_1.webp');
}

main.top section.cont2 .inner .flex > div:nth-of-type(2) h3 {
  background-image: url('../../images/top/cont2_2.webp');
}

main.top section.cont2 .inner .flex > div:nth-of-type(3) h3 {
  background-image: url('../../images/top/cont2_3.webp');
}

main.top section.cont2 .inner a.red_link {
  margin-top: 32px;
}

main.top section.cont3 .bk {
  margin-left: 0;
  background-image: url('../../images/top/cont3_bk.webp');
  background-position: right top;
}

main.top section.cont3 .outer .text_box {
  height: 405px;
  margin-top: -405px;
  margin-left: auto;
}

main.top section.cont4 .outer {
  position: relative;
}

main.top section.cont4 .outer > .flex {
  margin-top: 32px;
  gap: 0 28px;
  justify-content: flex-start;
}

main.top section.cont4 .outer > .flex a.red_link {
  margin: initial;
}

main.top section.cont4 .outer .wrap {
  width: 100vw;
  margin: 64px calc(50% - 50vw) 0;
  margin-left: 0;
}

main.top section.cont4 .outer .wrap .slick-slider {
  position: initial;
  margin-left: -12px;
}

main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img {
  width: 27vw;
  margin: 0 -.8vw;
  opacity: 0;
  aspect-ratio: 1/1;
}

main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img img {
  width: 100%;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
  -webkit-transform: scale(.8);
  transform: scale(.8);
  -webkit-transform-origin: top right;
  transform-origin: top right;
}

main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img.slick-current,
main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img.is-active-next {
  position: relative;
  z-index: 10;
}

main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img.slick-current img,
main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img.is-active-next img {
  -webkit-transform: scale(1);
  transform: scale(1);
}

main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img.slick-active {
  opacity: 1;
}

main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img.is-active-next {
  opacity: 1;
}

main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img.is-active-next ~ .slick-slide {
  opacity: 1;
}

main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-slide {
  transition: opacity .5s ease;
}

main.top section.cont4 .outer .wrap .slick-slider ul.slider-dots {
  position: absolute;
  right: 20px;
  bottom: 0;
  max-width: 616px;
  margin-top: 36px;
}

main.top section.cont4 .outer .wrap .slick-slider ul.slider-dots li {
  display: inline-block;
  width: 140px;
}

main.top section.cont4 .outer .wrap .slick-slider ul.slider-dots li button {
  font-size: 0;
  position: relative;
  width: 100%;
  height: 1px;
  border: 0;
  background-color: #ccc;
}

main.top section.cont4 .outer .wrap .slick-slider ul.slider-dots li button:after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0;
  height: 100%;
  content: '';
}

main.top section.cont4 .outer .wrap .slick-slider ul.slider-dots li.slick-active button {
  height: 1px;
  padding: 1px 0;
  background-color: #888;
}

main.top section.cont4 .outer .wrap .slick-slider .slick-num {
  position: absolute;
  top: 182px;
  right: 108px;
}

main.top section.cont4 .outer .wrap .slick-slider .slick-num span {
  font-size: 18px;
}

main.top section.cont4 .outer .wrap .slick-slider .slick-arrow {
  font-size: 0;
  position: absolute;
  z-index: 10;
}

main.top section.cont4 .outer .wrap .slick-slider .slick-arrow:before {
  display: block;
  width: 20px;
  height: 20px;
  content: '';
  opacity: 1;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
}

main.top section.cont4 .outer .wrap .slick-slider .slick-arrow.slick-prev {
  top: 185px;
  right: 48px;
  left: initial;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

main.top section.cont4 .outer .wrap .slick-slider .slick-arrow.slick-next {
  top: 184px;
  right: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

main.top section.cont5 .wrap {
  position: relative;
  height: 460px;
}

main.top section.cont5 .wrap:after {
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: '';
  transition: .3s all;
  background-image: url('../../images/top/cont5.webp');
  background-size: cover;
}

main.top section.cont5 .wrap a {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}

main.top section.cont5 .wrap a:hover {
  opacity: 1;
}

main.top section.cont5 .wrap a img {
  max-width: 940px;
}

main.top section.cont6 .inner {
  position: relative;
}

main.top section.cont6 .inner h2 {
  margin-bottom: 16px;
}

main.top section.cont6 .inner a.red_link {
  position: absolute;
  top: 0;
  right: 0;
}

main.top section.cont7 {
  margin-top: 80px;
}

main.top section.cont7 .bk {
  background-image: url('../../images/top/cont7_bk.webp');
}

main.top section.cont7 .outer .text_box {
  margin-top: -345px;
}

main.top section.cont8 {
  padding: 90px 0;
  background-image: url('../../images/top/cont8_bk.webp');
  background-size: cover;
}

main.top section.cont8 .outer {
  gap: 24px;
  align-items: center;
}

main.top section.cont8 .outer > div.text {
  padding-left: 60px;
}

main.top section.cont8 .outer > div.text h2 {
  font-style: normal;
  margin-bottom: 18px;
  color: #fff;
}

main.top section.cont8 .outer > div.text p {
  max-width: 326px;
  color: #fff;
}

main.top section.cont8 .outer > div.flex {
  width: 710px;
  gap: 16px 30px;
}

main.top section.cont8 .outer > div.flex > a {
  position: relative;
  width: calc((100% - 30px)/2);
  max-width: 340px;
  aspect-ratio: 17/15;
}

main.top section.cont8 .outer > div.flex > a:nth-of-type(1) {
  background-image: url('../../images/top/cont8_1.webp');
  background-size: cover;
}

main.top section.cont8 .outer > div.flex > a:nth-of-type(2) {
  background-image: url('../../images/top/cont8_2.webp');
  background-size: cover;
}

main.top section.cont8 .outer > div.flex > a p {
  font-size: 20px;
  position: absolute;
  bottom: 8px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  color: #fff;
}

main.top .footer_contact {
  margin-top: 0;
}

main.top .footer_contact .inner {
  border-top: none;
}

.breadcrumb {
  display: flex;
  padding-top: 16px;
  opacity: 0;
  gap: 0 8px;
}

.breadcrumb li,
.breadcrumb a,
.breadcrumb span {
  font-size: 13px;
}

.breadcrumb li a {
  text-decoration: underline;
}

.breadcrumb li:not(:first-of-type):before {
  margin-right: 6px;
  content: '・';
  text-decoration: none;
  color: #333;
}

.breadcrumb li:not(:last-of-type) {
  white-space: nowrap;
}

.breadcrumb li:last-of-type {
  overflow: hidden;
  white-space: nowrap;
  text-decoration: none;
  text-overflow: ellipsis;
  pointer-events: none;
  color: #888;
}

.breadcrumb li:last-of-type a,
.breadcrumb li:last-of-type span {
  text-decoration: none;
  pointer-events: none;
  color: #888;
}

.header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 87px;
  padding: 14px 40px 0;
  background-color: #fff;
}

.header.on {
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.header .header_wrap .logo {
  gap: 0 20px;
  align-items: center;
}

.header .header_wrap .logo img {
  width: 193px;
  height: 57px;
}

.header .header_wrap .logo .la {
  position: relative;
}

.header .header_wrap .logo .la p {
  font-size: 14px;
  font-weight: 700;
  font-style: normal;
  padding: 3px 7px 2px 30px;
  cursor: pointer;
  border: solid 1.5px #333;
  border-radius: 16px;
  background-image: url('../../images/common/hd_icon_la.svg');
  background-position: left 6px center;
  background-size: 18px;
}

.header .header_wrap .logo .la .select {
  position: absolute;
  z-index: 100;
  top: 28px;
  width: 100%;
  padding-top: 8px;
  transition: .3s;
  pointer-events: none;
  opacity: 0;
}

.header .header_wrap .logo .la .select.on {
  transition: .3s;
  pointer-events: initial;
  opacity: 1;
}

.header .header_wrap .logo .la .select .wrap {
  text-align: center;
  border: solid 1.5px #333;
  background-color: #fff;
}

.header .header_wrap .logo .la .select a {
  font-family: 'Raleway', sans-serif;
  font-weight: 700;
  display: block;
}

.header .header_wrap .logo .la .select a:hover {
  opacity: 1;
  color: #fff;
  background-color: #333;
}

.header .header_wrap .link {
  height: 100%;
  gap: 0 30px;
}

.header .header_wrap .link nav.flex {
  gap: 0 28px;
}

.header .header_wrap .link nav.flex > a,
.header .header_wrap .link nav.flex a.toggle {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 14px;
  padding-top: 6px;
  text-align: center;
}

.header .header_wrap .link nav.flex > a span,
.header .header_wrap .link nav.flex a.toggle span {
  font-family: 'Raleway', sans-serif;
  font-size: 10px;
  font-weight: 800;
  font-style: italic;
  display: block;
  margin-top: 4px;
  color: #888;
}

.header .header_wrap .link nav.flex > a.toggle:after,
.header .header_wrap .link nav.flex a.toggle.toggle:after {
  display: block;
  width: 8px;
  height: 4px;
  margin: 10px auto 0;
  content: '';
  background-image: url(../../images/common/hd_mega.svg);
  background-size: cover;
}

.header .header_wrap .link nav.flex a.toggle {
  margin-bottom: 0;
  padding-bottom: 14px;
}

.header .header_wrap .link nav.flex div.mega {
  position: absolute;
  top: 87px;
  left: 0;
  width: 100%;
  padding: 50px 100px;
  transition: .3s;
  pointer-events: none;
  opacity: 0;
  background-color: #f2f2f2;
}

.header .header_wrap .link nav.flex div.mega .wrap {
  gap: 0 90px;
  align-items: center;
}

.header .header_wrap .link nav.flex div.mega .wrap > p {
  min-width: 140px;
}

.header .header_wrap .link nav.flex div.mega .wrap .flex {
  gap: 0 24px;
}

.header .header_wrap .link nav.flex div.mega .wrap .flex a {
  font-size: 13px;
  font-weight: 700;
  width: calc((100% - 96px)/5);
  letter-spacing: 0;
}

.header .header_wrap .link nav.flex div.mega .wrap .flex a img {
  margin-bottom: 8px;
}

.header .header_wrap .link nav.flex div.mega.on {
  transition: .3s;
  pointer-events: initial;
  opacity: 1;
}

.header .header_wrap .link > div.flex {
  margin-bottom: 24px;
  padding-left: 30px;
  border-left: solid 1px #333;
  gap: 0 24px;
}

.header .header_wrap .link > div.flex a {
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.header .header_wrap .link > div.flex a img {
  display: block;
  margin: 0 auto 2px;
}

.header .header_wrap .link > div.flex a:nth-of-type(2) img {
  padding: 7px 0;
}

.header .header_wrap .ham .menu__toggle {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  cursor: pointer;
  border: solid 1px;
}

.header .header_wrap .ham .menu__toggle span {
  position: absolute;
  right: 0;
  display: inline-block;
  width: 36px;
  height: 2px;
  transition: all .2s;
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg);
  background: #333;
}

.header .header_wrap .ham .menu__toggle span:nth-of-type(1) {
  top: 0;
}

.header .header_wrap .ham .menu__toggle span:nth-of-type(2) {
  top: 9px;
}

.header .header_wrap .ham .menu__toggle span:nth-of-type(3) {
  top: 18px;
}

.header .header_wrap .ham .menu__toggle.active span:nth-of-type(1) {
  top: 5px;
  left: 13px;
  width: 45px;
  -webkit-transform: translateY(6px) rotate(-48deg);
  transform: translateY(6px) rotate(-48deg);
}

.header .header_wrap .ham .menu__toggle.active span:nth-of-type(2) {
  opacity: 0;
}

.header .header_wrap .ham .menu__toggle.active span:nth-of-type(3) {
  top: 17px;
  left: 20px;
  width: 30px;
  -webkit-transform: translateY(-6px) rotate(0);
  transform: translateY(-6px) rotate(0);
}

.header .header_wrap .ham .menu__main {
  position: fixed;
  top: 87px;
  bottom: auto;
  left: 0;
  width: 100%;
  max-width: initial;
  height: 100vh;
  padding-bottom: 100px;
  transition: .3s;
  pointer-events: none;
  opacity: 0;
  background-color: #f2f2f2;
}

.header .header_wrap .ham .menu__main:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 50vw;
  min-width: 200px;
  max-width: 360px;
  content: '';
  background-image: url('../../images/common/ham_bk.webp');
  background-size: cover;
  aspect-ratio: 24/43;
}

.header .header_wrap .ham .menu__main .ham_wrap {
  padding: 96px 20px 96px;
}

.header .header_wrap .ham .menu__main .ham_wrap ul {
  position: relative;
  z-index: 1;
  display: flex;
  max-width: 720px;
  margin-left: 360px;
  flex-wrap: wrap;
  gap: 12px 30px;
}

.header .header_wrap .ham .menu__main .ham_wrap ul li a {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 32px;
  color: #333;
}

.header .header_wrap .ham .menu__main .ham_wrap ul li a span {
  font-family: 'Raleway', sans-serif;
  font-size: 10px;
  font-weight: 800;
  font-style: italic;
  display: block;
  color: #888;
}

.header .header_wrap .ham .menu__main .ham_wrap ul li .sub .flex {
  margin-bottom: 30px;
  gap: 16px;
}

.header .header_wrap .ham .menu__main .ham_wrap ul li .sub .flex > div:nth-of-type(1) {
  width: 72px;
}

.header .header_wrap .ham .menu__main .ham_wrap ul li .sub .flex > div:nth-of-type(2) {
  width: calc(100% - 67px);
}

.header .header_wrap .ham .menu__main .ham_wrap ul li .sub .flex > div a {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.33;
  display: block;
  margin-bottom: 8px;
  color: #aaa;
}

.header .header_wrap .ham .menu__main .ham_wrap ul li:nth-of-type(3) a {
  margin-bottom: 12px;
}

.header .header_wrap .ham .menu__main .ham_wrap .link_wrap a {
  width: 100%;
  max-width: 310px;
  height: 48px;
  margin-left: 360px;
  text-align: center;
  background-image: url('../../images/common/link_wrap_bk.svg');
  background-position: center;
  background-size: 100%;
}

.header .header_wrap .ham .menu__main .ham_wrap .link_wrap a span {
  font-size: 18px;
  font-weight: 700;
  padding-left: 30px;
  background-position: center left;
}

.header .header_wrap .ham .menu__main .ham_wrap .link_wrap a:first-of-type {
  margin-bottom: 16px;
}

.header .header_wrap .ham .menu__main .ham_wrap .link_wrap a:first-of-type span {
  background-image: url('../../images/common/hd_icon_recruit.svg');
  background-size: 24px 25px;
}

.header .header_wrap .ham .menu__main .ham_wrap .link_wrap a:nth-of-type(2) span {
  background-image: url('../../images/common/hd_icon_mail.svg');
  background-size: 22px;
}

.header .header_wrap .ham .menu__main .ham_wrap .sns {
  margin-top: 56px;
  margin-left: 360px;
  gap: 0 64px;
  justify-content: flex-start;
  align-items: center;
}

.header .header_wrap .ham .menu__main .ham_wrap .sns p {
  position: relative;
  color: #484848;
}

.header .header_wrap .ham .menu__main .ham_wrap .sns p:after {
  position: absolute;
  top: 50%;
  right: -52px;
  display: block;
  width: 40px;
  height: 1px;
  content: '';
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: #484848;
}

.header .header_wrap .ham .menu__main .ham_wrap .sns > div a:first-of-type {
  margin-right: 8px;
}

.header .header_wrap .ham .menu__main .ham_wrap .sns > div a img {
  vertical-align: middle;
}

.header .header_wrap .ham.open .menu__main {
  overflow-y: scroll;
  pointer-events: initial;
  opacity: 1;
}

.header .header_wrap .ham.open .menu__toggle {
  display: none;
}

main {
  margin-top: 150px;
}

.movie .movie_wrap .inner > .flex {
  position: relative;
  padding-bottom: 80px;
  gap: 32px 45px;
  align-items: flex-start;
}

.movie .movie_wrap .inner > .flex > .flex {
  width: calc(100% - 367px);
  gap: 32px 24px;
  flex-wrap: wrap;
  align-items: stretch;
}

.movie .movie_wrap .inner > .flex > .flex > div {
  position: relative;
  width: calc((100% - 24px)/2);
  min-height: 320px;
}

.movie .movie_wrap .inner > .flex > .flex > div iframe {
  width: 100%;
  height: 192px;
}

.movie .movie_wrap .inner > .flex > .flex > div > div p.category-name {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.movie .movie_wrap .inner > .flex > .flex > div > div p.category-name a {
  font-size: 12px;
  font-weight: 700;
  margin-top: 8px;
  padding: 2px 3px;
  letter-spacing: 0;
  color: #f39404;
  border: solid 1px #f39404;
}

.movie .movie_wrap .inner > .flex > .flex > div > div p.category-name a.id6 {
  color: #c06ac9;
  border: solid 1px #c06ac9;
}

.movie .movie_wrap .inner > .flex > .flex > div > div p.category-name a.id7 {
  color: #14ae6b;
  border: solid 1px #14ae6b;
}

.movie .movie_wrap .inner > .flex > .flex > div > div p.category-name a.id28 {
  color: #f39404;
  border: solid 1px #f39404;
}

.movie .movie_wrap .inner > .flex > .flex > div > div p.category-name a.id29 {
  color: #1471ae;
  border: solid 1px #1471ae;
}

.movie .movie_wrap .inner > .flex > .flex > div > div a.url {
  width: 100%;
  height: 108px;
  padding-bottom: 8px;
  border-bottom: solid 1px #ccc;
}

.movie .movie_wrap .inner > .flex > .flex > div > div a.url:after {
  top: inherit;
  right: 3px;
  bottom: 10px;
  transition: .2s;
}

.movie .movie_wrap .inner > .flex > .flex > div > div a.url h3 {
  font-size: 16px;
  margin: 8px 0 40px;
}

.movie .movie_wrap .inner > .flex > .flex > div > div .post-tags {
  position: absolute;
  bottom: 8px;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1px 10px;
}

.movie .movie_wrap .inner > .flex > .flex > div > div .post-tags a {
  font-size: 11px;
  letter-spacing: 0;
  color: #888;
}

.movie .movie_wrap .inner > .flex > .flex > div.pagenate {
  position: absolute;
  bottom: -280px;
  width: calc(100% + 14px);
  height: 40px;
}

.movie .movie_wrap .inner > .flex .cate_list {
  position: relative;
  width: 322px;
  padding: 24px 24px 40px;
  background-color: #f2f2f2;
}

.movie .movie_wrap .inner > .flex .cate_list:before {
  position: absolute;
  top: 0;
  left: 24px;
  display: block;
  width: 50px;
  height: 4px;
  content: '';
  background: linear-gradient(90deg, #fa0a0a 0%, #fa0a0a 50%, #1471ae 50%, #1471ae 100%);
}

.movie .movie_wrap .inner > .flex .cate_list > p {
  font-size: 18px;
  font-weight: 700;
}

.movie .movie_wrap .inner > .flex .cate_list ul {
  margin-top: 8px;
}

.movie .movie_wrap .inner > .flex .cate_list ul li {
  padding: 14px 0 6px;
  border-bottom: solid 1px #ccc;
}

.movie .movie_wrap .inner > .flex .cate_list ul li a {
  font-size: 15px;
  width: 100%;
}

.movie_wrap .inner > p.cate_tt {
  font-size: 18px;
  margin-bottom: 32px;
  padding: 18px 24px;
  background-color: #f2f2f2;
}

.archive_news nav.switch {
  display: flex;
  margin-bottom: 18px;
  gap: 0 16px;
}

.archive_news nav.switch a {
  font-size: 18px;
  font-weight: 700;
  width: calc((100% - 48px)/4);
  padding: 17px;
  cursor: pointer;
  text-align: center;
  letter-spacing: 0;
  color: #aaa;
  border: solid 1px #aaa;
}

.archive_news nav.switch a.on {
  position: relative;
  opacity: 1;
  color: #fff;
  background-color: #333;
}

.archive_news nav.switch a.on:after {
  position: absolute;
  bottom: -10px;
  left: 50%;
  display: block;
  width: 10px;
  height: 10px;
  content: '';
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-top: 10px solid #333;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
}

.archive_news ul.list_wrap li {
  border-bottom: solid 1.5px #ccc;
}

.archive_news ul.list_wrap li a {
  padding: 24px 24px 24px 0;
  gap: 8px 24px;
  justify-content: flex-start;
}

.archive_news ul.list_wrap li a p.date {
  width: 80px;
  letter-spacing: 0;
}

.archive_news ul.list_wrap li a p.cate {
  font-family: 'Raleway', sans-serif;
  font-size: 12px;
  font-weight: 800;
  font-style: italic;
  line-height: 1.45;
  line-height: 1.65;
  width: 58px;
  height: 20px;
  margin-top: 3px;
  text-align: center;
  letter-spacing: 0;
}

.archive_news ul.list_wrap li a p.cate.event {
  color: #1471ae;
  border: solid 1px #1471ae;
}

.archive_news ul.list_wrap li a p.cate.news {
  color: #14ae6b;
  border: solid 1px #14ae6b;
}

.archive_news ul.list_wrap li a p.cate.seminar {
  color: #f39404;
  border: solid 1px #f39404;
}

.archive_news ul.list_wrap li a p.tt {
  width: calc(100% - 195px);
}

.archive_news ul.list_wrap li a:hover {
  opacity: 1;
}

.archive_news ul.list_wrap li a:hover p.date,
.archive_news ul.list_wrap li a:hover p.tt {
  opacity: .8;
}

.single_news .inner > .flex {
  margin-bottom: 8px;
  gap: 0 24px;
  justify-content: flex-start;
  align-items: center;
}

.single_news .inner > .flex p.date {
  letter-spacing: 0;
}

.single_news .inner > .flex p.cate {
  font-size: 12px;
  line-height: 1.7;
  width: 58px;
  height: 20px;
  text-align: center;
  letter-spacing: 0;
}

.single_news .inner > .flex p.cate.event {
  color: #1471ae;
  border: solid 1px #1471ae;
}

.single_news .inner > .flex p.cate.news {
  color: #14ae6b;
  border: solid 1px #14ae6b;
}

.single_news .inner > .flex p.cate.seminar {
  color: #f39404;
  border: solid 1px #f39404;
}

.single_news .inner h1 {
  font-size: 40px;
  margin-bottom: 48px;
  padding-bottom: 24px;
  border-bottom: solid 1.5px #ccc;
}

.single_news .inner > .wrap > * {
  margin-bottom: 32px;
}

.single_news .inner > .wrap a {
  text-decoration: underline;
  color: #1471ae;
}

.single_news .inner > .wrap ul li {
  margin-left: 20px;
  list-style: disc;
}

.single_news .inner > .wrap iframe {
  max-width: 100%;
}

.single_news .inner > .wrap table tr td {
  padding: 16px;
  border: solid 1.5px #ddd;
}

.privacy section .inner .head_bk {
  font-size: 16px;
  margin: 48px 0 36px;
  padding: 13px 16px;
}

.privacy section .inner ul {
  margin-top: 16px;
}

.privacy section .inner ul li {
  padding-left: 1em;
  text-indent: -1em;
}

.privacy section .inner table {
  margin-top: 24px;
}

.products .products_wrap nav.switch {
  display: flex;
  margin-bottom: 42px;
  gap: 0 16px;
}

.products .products_wrap nav.switch a {
  font-size: 18px;
  font-weight: 700;
  width: calc((100% - 16px)/2);
  padding: 17px;
  cursor: pointer;
  text-align: center;
  letter-spacing: 0;
  color: #aaa;
  border: solid 1px #aaa;
}

.products .products_wrap nav.switch a.on,
.products .products_wrap nav.switch a:hover {
  position: relative;
  opacity: 1;
  color: #fff;
  background-color: #333;
}

.products .products_wrap nav.switch a.on:after {
  position: absolute;
  bottom: -10px;
  left: 50%;
  display: block;
  width: 10px;
  height: 10px;
  content: '';
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-top: 10px solid #333;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
}

.products .products_wrap .panel {
  padding-bottom: 80px;
}

.products .products_wrap .panel .panel_inner {
  display: none;
}

.products .products_wrap .panel .panel_inner.on {
  display: block;
}

.products .products_wrap .panel .panel_inner.panel_flow ul.link li {
  width: calc((100% - 64px)/5);
}

.products .products_wrap .panel .panel_inner ul.link {
  gap: 16px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.products .products_wrap .panel .panel_inner ul.link li {
  min-width: 148px;
  text-align: center;
  border: solid 1px #ddd;
  background-color: #f2f2f2;
}

.products .products_wrap .panel .panel_inner ul.link li a {
  position: relative;
  width: 100%;
  padding: 12px 36px 12px 16px;
  letter-spacing: 0;
}

.products .products_wrap .panel .panel_inner ul.link li a:after {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 7px;
  height: 7px;
  content: '';
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  pointer-events: none;
  border-top: solid 2px #555;
  border-right: solid 2px #555;
}

.products .products_wrap .panel .panel_inner ul.link li:last-of-type {
  border: solid 1px #888;
  background-color: #fff;
}

.products .products_wrap .panel .panel_inner section.wrap > div:not(:last-of-type) {
  padding-bottom: 64px;
}

.products .products_wrap .panel .panel_inner section.wrap > div h2.head_bor {
  margin-bottom: 32px;
}

.products .products_wrap .panel .panel_inner section.wrap > div h3.qs {
  font-size: 18px;
  font-weight: 700;
  position: relative;
  margin-bottom: 16px;
  padding: 12px 24px;
  cursor: pointer;
  background-color: #f2f2f2;
}

.products .products_wrap .panel .panel_inner section.wrap > div h3.qs:before,
.products .products_wrap .panel .panel_inner section.wrap > div h3.qs:after {
  position: absolute;
  top: 50%;
  right: 24px;
  width: 16px;
  height: 1px;
  content: '';
  background-color: #333;
}

.products .products_wrap .panel .panel_inner section.wrap > div h3.qs:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.products .products_wrap .panel .panel_inner section.wrap > div h3.qs.on:after {
  content: none;
}

.products .products_wrap .panel .panel_inner section.wrap > div div.as {
  padding-bottom: 12px;
}

.products .products_wrap .panel .panel_inner section.wrap > div div.as h4 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
  padding-left: 16px;
  background-image: url('../../images/products/h4_tt.svg');
  background-repeat: no-repeat;
  background-position: left top 5px;
  background-size: 11px;
}

.products .products_wrap .panel .panel_inner section.wrap > div div.as .flex {
  margin-bottom: 32px;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 16px;
}

.products .products_wrap .panel .panel_inner section.wrap > div div.as .flex > a {
  width: calc((100% - 48px)/4);
}

.products .products_wrap .panel .panel_inner section.wrap > div div.as .flex > a img {
  width: 100%;
  margin-bottom: 8px;
  cursor: pointer;
  border: solid 1px #ccc;
  aspect-ratio: 62/41;
  -o-object-fit: cover;
  object-fit: cover;
}

.products .products_wrap .panel .panel_inner section.wrap > div div.as .flex > a h5 {
  font-size: 14px;
  padding-left: 16px;
  cursor: pointer;
  letter-spacing: .04em;
}

.products .products_wrap .panel .panel_inner section.wrap > div div.as .flex > a h5:after {
  top: 11px;
  left: 0;
}

.single_products section .inner .tt {
  position: relative;
  gap: 16px 24px;
}

.single_products section .inner .tt h1 {
  font-size: 34px;
}

.single_products section .inner .tt .container {
  width: 480px;
  height: 100%;
}

.single_products section .inner .tt .container img {
  width: 100%;
  height: 100%;
  border: solid 1px #ccc;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 51/29;
}

.single_products section .inner .tt .container .slider img {
  width: 480px;
  aspect-ratio: initial;
}

.single_products section .inner .tt .container .thumbnail {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 500px;
}

.single_products section .inner .tt .container .thumbnail .slick-track {
  display: flex;
  width: 503px !important;
  -webkit-transform: initial !important;
  transform: initial !important;
  justify-content: flex-start;
}

.single_products section .inner .tt .container .thumbnail .slick-track .thumbnail-img {
  width: 158px;
  margin: 0 7px;
  cursor: pointer;
  transition: opacity .3s linear;
  opacity: .5;
}

.single_products section .inner .tt .container .thumbnail .slick-track .thumbnail-img.slick-current {
  opacity: 1;
}

.single_products section .inner p.midashi {
  font-size: 24px;
  line-height: 1.7;
}

.single_products section .inner .wrap {
  font-family: 'Noto Sans SC', sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 36px;
  letter-spacing: .06em;
  color: #333;
}

.single_products section .inner .wrap a {
  text-decoration: underline;
  color: #1471ae;
}

.single_products section .inner .wrap h2 {
  font-size: 18px;
  font-weight: 700;
  position: relative;
  margin: 48px 0 24px;
  padding: 12px 24px;
  background-color: #f2f2f2;
}

.single_products section .inner .wrap h2:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 4px;
  height: 100%;
  content: '';
  background: linear-gradient(to bottom, #fa0a0a 0%, #fa0a0a 50%, #1471ae 0%, #1471ae 100%);
}

.single_products section .inner .wrap table {
  width: 100% !important;
}

.single_products section .inner .wrap table tr,
.single_products section .inner .wrap table td {
  height: auto !important;
}

.single_products section .inner .wrap table td {
  padding: 16px;
  border: none;
  border-right: solid 1.5px #ddd;
  border-bottom: solid 1.5px #ddd;
}

.single_products section .inner .wrap table td:nth-of-type(1) {
  width: 200px !important;
  background-color: #f2f2f2 !important;
}

.single_products section .inner .wrap table td:nth-of-type(2) {
  width: calc(100% - 200px) !important;
}

section#catalog .inner div.modal-open,
section#catalog .inner > a {
  position: relative;
  display: flex;
  width: 100%;
  height: 242px;
  padding: 55px 100px;
  cursor: pointer;
  background-image: url('../../images/products/catalog_bk.webp');
  background-size: cover;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

section#catalog .inner div.modal-open p.midashi,
section#catalog .inner > a p.midashi {
  color: #fff;
}

section#catalog .inner div.modal-open p.red_link,
section#catalog .inner > a p.red_link {
  margin-top: 8px;
  margin-right: 0;
  pointer-events: none;
}

section#catalog .inner div.modal-open:before,
section#catalog .inner div.modal-open:after,
section#catalog .inner > a:before,
section#catalog .inner > a:after {
  position: absolute;
  display: block;
  width: 39px;
  height: 68px;
  content: '';
}

section#catalog .inner div.modal-open:before,
section#catalog .inner > a:before {
  top: 0;
  left: 0;
  background: linear-gradient(120deg, #fff 0%, #fff 50%, transparent 50%, transparent 100%);
}

section#catalog .inner div.modal-open:after,
section#catalog .inner > a:after {
  right: 0;
  bottom: 0;
  background: linear-gradient(120deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%);
}

section#catalog .inner .modal-container {
  position: fixed;
  z-index: 101;
  top: 0;
  left: 0;
  visibility: hidden;
  overflow: auto;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 40px 20px;
  transition: .3s;
  text-align: center;
  opacity: 0;
  background: rgba(51, 51, 51, .6);
}

section#catalog .inner .modal-container:before {
  display: inline-block;
  height: 100%;
  content: '';
  vertical-align: middle;
}

section#catalog .inner .modal-container.active {
  visibility: visible;
  opacity: 1;
}

section#catalog .inner .modal-container .modal-body {
  position: relative;
  display: inline-block;
  width: 95%;
  max-width: 950px;
  vertical-align: middle;
}

section#catalog .inner .modal-container .modal-body .modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: block;
  width: 40px;
  height: 40px;
  content: '';
  cursor: pointer;
  background-image: url('../../images/products/modal_close.svg');
  background-size: cover;
}

section#catalog .inner .modal-container .modal-body .modal-content {
  padding: 60px 108px;
  text-align: left;
  background: #fff;
}

section#catalog .inner .modal-container .modal-body .modal-content p.h2 {
  margin: 0 auto 24px;
}

section#catalog .inner .modal-container .modal-body .modal-content p.h2 span {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

section#catalog .inner .modal-container .modal-body .modal-content .form_wrap {
  margin-top: 40px;
}

main.recruit section.sv_img {
  position: relative;
  height: 810px;
  background-image: url(../../images/recruit/sv.webp);
}

main.recruit section.sv_img .flex {
  position: absolute;
  bottom: 74px;
  padding-right: 20px;
  align-items: flex-start;
  gap: 8px 24px;
}

main.recruit section.sv_img .flex p {
  color: #fff;
}

main.recruit section.sv_img .flex p:nth-of-type(1) {
  font-size: 50px;
  line-height: 1.44;
  min-width: 428px;
  letter-spacing: .08em;
}

main.recruit section.sv_img .flex p:nth-of-type(2) {
  width: calc(100% - 456px);
  padding-top: 10px;
}

main.recruit section.cont1 .inner .flex {
  margin-left: -6px;
  gap: 16px 24px;
  justify-content: flex-start;
}

main.recruit section.cont1 .inner .flex > div {
  width: calc((100% - 48px)/3);
  height: 301px;
  background-image: url('../../images/recruit/cont1_bk.svg');
  background-size: cover;
}

main.recruit section.cont1 .inner .flex > div p {
  text-align: center;
}

main.recruit section.cont1 .inner .flex > div p img {
  display: block;
  margin: 0 auto 24px;
}

main.recruit section.cont1 .inner .flex > div p span {
  font-size: 22px;
  font-weight: 700;
}

main.recruit section.cont2 .inner .flex {
  height: 266px;
  margin-left: -6px;
  padding: 24px 72px;
  background-image: url('../../images/recruit/cont2_bk.svg');
  background-size: cover;
  align-items: center;
  justify-content: center;
}

main.recruit section.cont2 .inner .flex:not(:last-of-type) {
  margin-bottom: 12px;
}

main.recruit section.cont2 .inner .flex > div {
  display: flex;
  align-items: flex-start;
  gap: 0 40px;
}

main.recruit section.cont2 .inner .flex > div h3 {
  font-size: 28px;
  width: 220px;
}

main.recruit section.cont2 .inner .flex > div p {
  width: calc(100% - 260px);
}

main.recruit section.cont3 .inner .flex {
  gap: 12px 56px;
  align-items: flex-start;
}

main.recruit section.cont3 .inner .flex img {
  width: 344px;
}

main.recruit section.cont3 .inner .flex > div {
  width: calc(100% - 400px);
}

main.recruit section.cont3 .inner .flex > div p:nth-of-type(2) {
  margin-top: 24px;
  text-align: right;
}

main.recruit section.cont4 .slider .slick-slide {
  height: 60vh;
  max-height: 480px;
}

main.recruit section.cont5 .inner .flex {
  margin-top: 56px;
  gap: 36px 48px;
}

main.recruit section.cont5 .inner .flex div.fl_center {
  position: relative;
  width: calc((100% - 144px)/4);
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  aspect-ratio: 1/1;
}

main.recruit section.cont5 .inner .flex div.fl_center span.rale {
  font-size: 26px;
  position: absolute;
  top: -32px;
  left: 50%;
  width: 64px;
  height: 64px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  color: #fff;
  border-radius: 50%;
  background-color: #333;
}

main.recruit section.cont5 .inner .flex div.fl_center p {
  text-align: center;
}

main.recruit section.cont5 .inner .flex div.fl_center p img {
  display: block;
  margin: 24px 0 16px;
}

main.recruit section.cont5 .inner .flex div.fl_center p span {
  font-size: 20px;
}

main.recruit section.cont5 .inner .flex div.fl_center:not(:last-of-type) {
  position: relative;
}

main.recruit section.cont5 .inner .flex div.fl_center:not(:last-of-type):after {
  position: absolute;
  top: 50%;
  right: -36px;
  display: block;
  width: 20px;
  height: 35px;
  content: '';
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url('../../images/recruit/cont5_arrow.svg');
  background-size: cover;
}

main.recruit section.cont6 .inner .flex {
  margin-top: 40px;
  flex-wrap: wrap;
  gap: 24px;
}

main.recruit section.cont6 .inner .flex a.re_btn {
  font-size: 20px;
  display: flex;
  width: calc((100% - 48px)/3);
  height: 80px;
  border: solid 1px #333;
  background-color: #fff;
  background-image: url('../../images/recruit/re_btn.svg');
  background-position: center right 24px;
  background-size: 11px;
  align-items: center;
  justify-content: center;
}

main.recruit section.cont6 .inner .flex a.re_btn.noactive {
  pointer-events: none;
  color: #aaa;
  border-color: #aaa;
  background-color: #ddd;
  background-image: url('../../images/recruit/re_btn_noactive.svg');
}

.single_job .inner h1 {
  font-size: 40px;
  margin-bottom: 48px;
  padding-bottom: 30px;
  border-bottom: solid 1.5px #ccc;
}

.single_job .inner table {
  margin-bottom: 40px;
}

.single_job .inner a {
  margin: 0 auto;
}

.single_job .inner a.back {
  font-size: 14px;
  display: block;
  margin-top: 20px;
  text-align: center;
  text-decoration: underline;
}

.sitemap .inner.flex {
  gap: 16px 32px;
}

.sitemap .inner.flex .wrap {
  width: calc((100% - 32px)/2);
}

.sitemap .inner.flex .wrap a {
  background-size: cover;
}

.sitemap .inner.flex .wrap > a {
  font-weight: 700;
  display: block;
  padding: 13px 13px 13px 44px;
  background-color: #f2f2f2;
  background-image: url('../../images/sitemap/arrow.svg');
  background-position: top 16px left 16px;
  background-size: 20px;
}

.sitemap .inner.flex .wrap > a:not(:first-of-type) {
  margin-top: 32px;
}

.sitemap .inner.flex .wrap div.sub {
  padding: 24px 16px 32px;
}

.sitemap .inner.flex .wrap div.sub a {
  display: block;
  padding-left: 24px;
  background-image: url('../../images/sitemap/sub_arrow.svg');
  background-position: top 6px left 0;
  background-size: 16px;
}

.sitemap .inner.flex .wrap div.sub a:not(:last-of-type) {
  margin-bottom: 16px;
}

.sitemap .inner.flex .wrap div.sub.flex {
  gap: 16px;
}

.sitemap .inner.flex .wrap div.sub.flex > div {
  width: calc((100% - 16px)/2);
}

.sitemap .inner.flex .wrap div.sub + a {
  margin-top: 0;
}

.technology section.sv_img {
  background-image: url(../../images/technology/sv.webp);
}

.technology ul.link {
  gap: 8px 16px;
  justify-content: flex-start;
}

.technology ul.link li {
  min-width: 203px;
  text-align: center;
  border: solid 1px #ddd;
  background-color: #f2f2f2;
}

.technology ul.link li a {
  position: relative;
  width: 100%;
  padding: 12px 36px 12px 16px;
  letter-spacing: 0;
}

.technology ul.link li a:after {
  right: 16px;
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
}

.technology section .wrap {
  scroll-margin-top: 100px;
}

.technology section .wrap:not(:last-of-type) {
  margin-bottom: 64px;
}

.technology section .wrap ul.list li {
  border-bottom: solid 1.5px #ddd;
}

.technology section .wrap ul.list li a {
  width: 100%;
  padding: 24px 24px 24px 0;
}

.technology section .wrap ul.list li:first-of-type a {
  padding-top: 32px;
}

.single_technology section h1 {
  font-size: 40px;
  font-weight: 700;
  padding-bottom: 24px;
  border-bottom: solid 1.5px #ccc;
}

.single_technology section .inner .wrap {
  font-family: 'Noto Sans SC', sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .06em;
  color: #333;
}

.single_technology section .inner .wrap h2 {
  font-size: 18px;
  font-weight: 700;
  position: relative;
  margin: 48px 0 24px;
  padding: 12px 24px;
  background-color: #f2f2f2;
}

.single_technology section .inner .wrap h2:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 4px;
  height: 100%;
  content: '';
  background: linear-gradient(to bottom, #fa0a0a 0%, #fa0a0a 50%, #1471ae 0%, #1471ae 100%);
}

.single_technology section .inner .wrap a {
  text-decoration: underline;
  color: #1471ae;
}

.single_technology section .inner .wrap > * {
  margin-bottom: 32px;
}

.single_technology section .inner .wrap iframe {
  max-width: 100%;
}

@media screen and (min-width:768px) {
  main.about section.cont5 .inner dl dt:last-of-type,
  main.about section.cont5 .inner dl dd:last-of-type {
    padding-bottom: 0;
    border-bottom: none;
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(1) .wrap {
    max-width: 315px;
    margin-left: auto;
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(2) .wrap {
    max-width: 360px;
    margin-left: 0;
  }

  footer > .inner > div:nth-of-type(2) {
    gap: 0 54px;
  }

  footer > .inner > div:nth-of-type(2) .wrap a {
    font-weight: 700;
    display: block;
  }

  footer > .inner > div:nth-of-type(2) .wrap a.t-white {
    font-size: 16px;
    margin-bottom: 20px;
  }

  footer > .inner > div:nth-of-type(2) .wrap a.qs {
    margin-bottom: 14px;
  }

  footer > .inner > div:nth-of-type(2) .wrap a.sub {
    margin-bottom: 10px;
    color: #aaa;
  }
}

@media screen and (min-width:920px) {
  .pagenate .nav-links a.page-numbers:hover {
    opacity: 1;
    color: #fff;
    border: solid 1px #333;
    background-color: #333;
  }

  .pagenate .nav-links a.prev:hover,
  .pagenate .nav-links a.next:hover {
    opacity: .6;
    color: inherit;
    border: none;
    background-color: inherit;
  }

  .archive_case .case_wrap .inner > .flex a.three_column:hover .eyecatch img {
    transition: .3s all;
    -webkit-transform: scale(1.08, 1.08);
    transform: scale(1.08, 1.08);
  }

  html body a:hover {
    transition: all .3s ease-out;
    opacity: .8;
  }

  .red_link:hover {
    opacity: 1;
  }

  .red_link:hover span {
    opacity: .5;
  }

  .red_link:hover:before,
  .red_link:hover:after {
    opacity: 1;
  }

  .red_link:hover:before {
    right: -20px;
    transition: all .3s ease;
    opacity: 1;
  }

  .btn.prev:hover {
    background-position: center left 16px;
  }

  .btn.next:hover {
    background-position: center right 16px;
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(2) .wrap a:hover {
    background-image: url(../../images/common/ft_contact_bk_hv.svg);
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(2) .wrap a:hover p {
    color: #fff;
    background-image: url('../../images/common/ft_icon_mail_hv.svg');
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(2) .wrap a:hover:after {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
  }

  section.form .form_wrap .button .submit:hover {
    transition: all .3s ease;
    background-position: center right 18px;
  }

  section.form .form_wrap .button .submit:hover {
    transition: all .3s ease-out;
    opacity: .8;
  }

  section.form .form_wrap .button .submit.return:hover {
    background-position: center left 16px;
  }

  main.top section.mv .pickup a:hover p:after {
    right: 1px;
    transition: .2s;
  }

  main.top section.cont5 {
    overflow: hidden;
  }

  main.top section.cont5 .wrap:hover:after {
    transition: .3s all;
    -webkit-transform: scale(1.03, 1.03);
    transform: scale(1.03, 1.03);
  }

  main.top section.cont8 .outer > div.flex > a:hover {
    opacity: 1;
  }

  main.top section.cont8 .outer > div.flex > a:hover:nth-of-type(1) {
    background-image: url('../../images/top/cont8_1_hv.webp');
  }

  main.top section.cont8 .outer > div.flex > a:hover:nth-of-type(2) {
    background-image: url('../../images/top/cont8_2_hv.webp');
  }

  .header .header_wrap {
    height: 100%;
    align-items: flex-end;
  }

  .header .header_wrap .logo {
    padding-bottom: 14px;
  }

  .header .header_wrap .link {
    display: flex;
  }

  .movie .movie_wrap .inner > .flex > .flex > div > div a.url:hover:after {
    right: 0;
    transition: .2s;
  }

  .archive_news nav.switch a:hover {
    position: relative;
    opacity: 1;
    color: #fff;
    background-color: #333;
  }

  .archive_news ul.list_wrap li a:hover p.cate {
    transition: .3s;
  }

  .archive_news ul.list_wrap li a:hover p.cate.event {
    color: #fff;
    background-color: #1471ae;
  }

  .archive_news ul.list_wrap li a:hover p.cate.news {
    color: #fff;
    background-color: #14ae6b;
  }

  .archive_news ul.list_wrap li a:hover p.cate.seminar {
    color: #fff;
    background-color: #f39404;
  }

  section#catalog .inner div.modal-open:hover,
  section#catalog .inner > a:hover {
    opacity: 1;
    background-image: url('../../images/products/catalog_bk_hv.webp');
  }

  main.recruit section.cont6 .inner .flex a.re_btn:hover {
    background-position: center right 16px;
  }
}

@media screen and (min-width:1440px) {
  .xl-none {
    display: none;
  }
}

@media screen and (max-width: 1699px) {
  main.top section.cont2 .outer .text_box {
    margin-top: -420px;
  }

  main.top section.cont3 .outer .text_box {
    margin-top: -420px;
  }

  main.top section.cont7 .outer .text_box {
    margin-top: -360px;
  }
}

@media screen and (max-width: 1520px) {
  main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img {
    width: 29.5vw;
  }
}

@media screen and (max-width:1439px) {
  main.threeminutes section.cont1 .inner > div {
    width: 875px;
    margin: 0 auto;
    padding: 54px 42px 28px;
  }

  main.threeminutes section.cont1 .inner > div h3 {
    font-size: 22px;
    margin-bottom: 12px;
  }

  main.threeminutes section.cont2 .inner .flex > div {
    width: 278px;
    height: 372px;
    padding: 40px 20px;
  }

  main.threeminutes section.cont2 .inner .flex > div h3 {
    font-size: 20px;
  }

  main.threeminutes section.cont2 .inner .flex > div p.rale {
    font-size: 30px;
  }

  main.threeminutes section.cont2 .inner .flex > div:nth-of-type(1) img {
    width: 163px;
  }

  main.threeminutes section.cont2 .inner .flex > div:nth-of-type(2) img {
    width: 224px;
  }

  main.threeminutes section.cont2 .inner .flex > div:nth-of-type(3) img {
    width: 88px;
  }

  main.about section.cont1 .inner .flex {
    gap: 0 12px;
    justify-content: center;
  }

  main.about section.cont1 .inner .flex > div {
    width: 290px;
    padding: 24px 32px;
  }

  main.about section.cont1 .inner .flex > div h3 {
    font-size: 22px;
  }

  main.about section.cont1 .inner .flex > div img {
    width: 48%;
  }

  main.about section.cont1 .inner .flex > div p {
    font-size: 14px;
  }

  .outer {
    width: 100%;
    max-width: 1200px;
    padding: 0 20px;
  }

  .inner {
    width: 100%;
    max-width: 1080px;
    padding: 0 20px;
  }

  .inner.inner20 {
    padding: 0 40px;
  }

  .sv_img:after {
    right: 40px;
  }

  main.top section.mv .pickup {
    left: 20px;
  }

  main.top section.cont1 .inner {
    width: 100vw;
    max-width: initial;
    padding: 0;
  }

  main.top section.cont1 .inner .wrap .slider {
    margin: 0;
  }

  main.top section.cont1 .inner .wrap .slider .slick-img {
    max-width: 800px;
  }

  main.top section.cont1 .inner .wrap .slider .slick-arrow:before {
    width: 56px;
    height: 56px;
  }

  main.top section.cont1 .inner .wrap .slider .slick-arrow.slick-prev {
    top: 144px;
    left: calc(50% - 402px);
  }

  main.top section.cont1 .inner .wrap .slider .slick-arrow.slick-next {
    top: 100px;
    left: calc(50% + 390px);
    margin-right: 0;
  }

  main.top section.cont1 .inner .wrap .thumbnail .slick-track {
    width: 720px !important;
  }

  main.top section.cont1 .inner .wrap .thumbnail .slick-track .thumbnail-img {
    width: 144px !important;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img {
    width: 32vw;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-num {
    right: 128px;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-arrow.slick-prev {
    right: 68px;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-arrow.slick-next {
    right: 20px;
  }

  .privacy section .inner {
    padding: 0 20px;
  }

  .single_products section .inner .tt .container .thumbnail .slick-track {
    width: 390px !important;
  }

  section#catalog .inner div.modal-open,
  section#catalog .inner > a {
    display: block;
  }

  section#catalog .inner div.modal-open p.red_link,
  section#catalog .inner > a p.red_link {
    margin-left: 0;
  }

  main.recruit section.cont1 .inner .flex {
    gap: 0 12px;
    justify-content: center;
  }

  main.recruit section.cont1 .inner .flex > div {
    width: 277px;
    height: 246px;
  }

  main.recruit section.cont2 .inner .flex {
    width: 870px;
    height: 218px;
    margin: 0 auto;
    padding: 24px 54px;
  }

  main.recruit section.cont5 .inner .flex div.fl_center span.rale {
    font-size: 24px;
    top: -28px;
    width: 54px;
    height: 54px;
  }

  main.recruit section.cont5 .inner .flex div.fl_center p img {
    width: 80px;
  }

  .l-none {
    display: none;
  }
}

@media screen and (max-width: 1400px) {
  main.top section.mv .outer img.text {
    left: 20px;
    width: 540px;
  }

  main.top section.mv video.mv,
  main.top section.mv img.mv {
    margin-top: 138px;
  }
}

@media screen and (max-width: 1340px) {
  header .pc {
    display: none !important;
  }

  header .sp {
    display: block !important;
  }
}

@media screen and (max-width: 1300px) {
  main.top section.bk_img .bk {
    height: 620px;
  }

  main.top section.cont2 .outer .text_box {
    height: 390px;
    margin-top: -380px;
  }

  main.top section.cont3 .outer .text_box {
    height: 390px;
    margin-top: -380px;
    margin-left: 45vw;
  }

  main.top section.cont3 .outer .text_box br.pc {
    display: none;
  }

  main.top section.cont7 .outer .text_box {
    margin-top: -330px;
  }
}

@media screen and (max-width: 1100px) {
  main.top section.cont4 .outer .wrap .slick-slider ul.slider-dots li {
    width: 100px;
  }
}

@media screen and (max-width: 1099px) {
  footer > .inner {
    display: block;
  }
}

@media screen and (max-width:919px) {
  .pagenate .nav-links a.page-numbers,
  .pagenate .nav-links span.current {
    font-size: 15px;
    width: 32px;
    height: 32px;
    padding: 3px 0 0 11px;
  }

  .pagenate .nav-links a.prev,
  .pagenate .nav-links a.next {
    font-size: 13px;
    top: 40px;
    width: inherit;
    padding: 4px 0 0;
  }

  .pagenate .nav-links .prev:after {
    left: -15px;
  }

  .pagenate .nav-links .next:after {
    right: -15px;
  }

  p,
  li,
  dt,
  dd,
  a,
  span,
  td {
    font-size: 1.3rem;
  }

  main.threeminutes section.sv_img {
    background-image: url(../../images/3minutes/sv_sp.webp);
  }

  main.threeminutes h3 {
    font-size: 18px;
  }

  main.threeminutes section.cont1 .inner {
    padding: 0 16px;
  }

  main.threeminutes section.cont1 .inner > div {
    width: 736px;
    padding: 42px 42px 28px;
  }

  main.threeminutes section.cont1 .inner > div:not(:last-of-type) {
    margin-bottom: 4px;
  }

  main.threeminutes section.cont1 .inner > div h3 {
    font-size: 18px;
    margin-bottom: 8px;
  }

  main.threeminutes section.cont1 .inner > div h3 span {
    margin-bottom: 2px;
  }

  main.threeminutes section.cont2 {
    padding: 54px 0;
  }

  main.threeminutes section.cont2 .inner .flex {
    gap: 16px 10px;
  }

  main.threeminutes section.cont2 .inner .flex > div {
    width: 236px;
    height: 319px;
    padding: 28px 20px;
  }

  main.threeminutes section.cont2 .inner .flex > div:nth-of-type(1) img {
    width: 125px;
    margin-top: 10px;
  }

  main.threeminutes section.cont2 .inner .flex > div:nth-of-type(2) img {
    width: 178px;
    margin-top: 24px;
  }

  main.threeminutes section.cont2 .inner .flex > div:nth-of-type(3) img {
    width: 61px;
    margin-top: 32px;
  }

  main.threeminutes section.cont3 .inner .flex picture {
    width: 33.3% !important;
  }

  main.threeminutes section.cont3 .inner .flex:nth-of-type(1) {
    margin-top: 10px;
    margin-bottom: 12px;
    gap: 0;
  }

  main.threeminutes section.cont3 .inner .flex:nth-of-type(1) > picture {
    width: 33.3% !important;
  }

  main.threeminutes section.cont3 .inner .flex:nth-of-type(1) > picture img {
    width: 100%;
  }

  main.threeminutes section.cont3 .inner .flex:nth-of-type(1) > div {
    width: 44%;
  }

  main.threeminutes section.cont3 .inner .flex:nth-of-type(2) {
    gap: 12px 4px;
  }

  main.threeminutes section.cont5 .inner .flex {
    flex-wrap: wrap;
    justify-content: center;
  }

  main.threeminutes section.cont5 .inner .flex > img {
    width: 100%;
  }

  main.threeminutes section.cont5 .inner .flex ul.wrap {
    width: 100%;
  }

  main.threeminutes section.cont5 .inner .flex ul.wrap li {
    padding: 6px 0 3px;
  }

  main.threeminutes section.cont5 .inner .flex ul.wrap li span.rale {
    font-size: 14px;
    min-width: 32px;
    margin-right: 8px;
  }

  main.threeminutes section.cont5 .inner .flex ul.wrap li p {
    font-size: 15px;
  }

  main.threeminutes section.cont5 .inner .flex ul.wrap li p span {
    font-size: 12px;
  }

  main.about section.sv_img {
    background-image: url(../../images/about/sv_sp.webp);
  }

  main.about section.cont1 .inner .flex > div {
    width: 235px;
  }

  main.about section.cont1 .inner .flex > div h3 {
    font-size: 18px;
    margin-top: 0;
  }

  main.about section.cont1 .inner .flex > div img {
    width: 42%;
    margin: 12px 0 8px;
  }

  main.about section.cont1 .inner .flex > div p {
    font-size: 13px;
  }

  main.about section.cont2 .inner .flex img {
    width: 240px;
  }

  main.about section.cont2 .inner .flex > div {
    width: calc(100% - 304px);
  }

  main.about section.cont5 .inner dl dt,
  main.about section.cont5 .inner dl dd {
    padding: 12px 0;
  }

  main.about section.cont5 .inner dl dt {
    font-size: 24px;
    width: 108px;
  }

  main.about section.cont5 .inner dl dt span {
    font-size: 14px;
    vertical-align: 0;
  }

  main.about section.cont5 .inner dl dt:before {
    top: 22px;
    right: 17px;
    width: 4px;
    height: 4px;
  }

  main.about section.cont5 .inner dl dd {
    width: calc(100% - 108px);
    margin-top: 2px;
  }

  main.about section.cont5 .inner dl dd span:nth-of-type(2n+1) {
    width: 38px;
  }

  .case .flex.cate p.cate {
    font-size: 11px;
  }

  .archive_case .case_wrap .inner > .flex a.three_column .eyecatch {
    margin-bottom: 12px;
  }

  .archive_case .case_wrap .inner > .flex a.three_column h2 {
    font-size: 16px;
    margin: 8px 0;
  }

  .archive_case .case_wrap .inner > .flex a.three_column p.case_tt {
    font-size: 12px;
    margin-bottom: 10px;
  }

  .single_case .inner .tt {
    margin-bottom: 32px;
    padding-bottom: 8px;
  }

  .single_case .inner .tt h1 {
    font-size: 28px;
  }

  .single_case .inner .wrap .content {
    font-size: 1.3rem;
  }

  .single_case .inner .wrap .content > * {
    margin-bottom: 24px;
  }

  main.top,
  main.threeminutes,
  main.about,
  main.recruit {
    background-position: top 285px right -250px;
    background-size: 1400px;
  }

  main.top .breadcrumbs,
  main.threeminutes .breadcrumbs,
  main.about .breadcrumbs,
  main.recruit .breadcrumbs {
    padding-bottom: 24px;
  }

  main.technology .breadcrumbs {
    padding-bottom: 0;
  }

  section {
    scroll-margin-top: 40px;
  }

  .sv_img {
    height: 320px;
  }

  .sv_img:after {
    top: -30px;
    right: 20px;
    width: 96px;
    height: 96px;
    background-image: url('../../images/common/scrolldown_sp.svg');
  }

  .midashi span {
    font-size: 14px;
  }

  .midashi span:before {
    bottom: -2px;
    left: 2px;
    display: block;
    width: 24px;
    height: 30px;
  }

  .midashi.h1 {
    font-size: 32px;
    padding-top: 22px;
  }

  .midashi.h2 {
    font-size: 20px;
    margin-bottom: 10px;
    padding-top: 24px;
  }

  .head_bor {
    font-size: 24px;
  }

  .head_bor:before {
    top: 3px;
  }

  .red_link {
    margin: 42px auto 0;
    padding-right: 27px;
  }

  .red_link span {
    font-size: 16px;
  }

  .red_link:after {
    width: 21px;
    height: 21px;
    background-image: url(../../images/common/bk_link_sp.svg);
  }

  .red_link:before {
    content: none;
  }

  .btn.prev,
  .btn.next {
    font-size: 14px;
    height: 50px;
  }

  .btn.prev {
    background-position: center left 16px;
  }

  .btn.next {
    background-position: center right 16px;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .mt64 {
    margin-top: 32px;
  }

  .mt80 {
    margin-top: 50px;
  }

  .mt90 {
    margin-top: 48px;
  }

  table tr td:nth-of-type(1) {
    width: 160px;
  }

  main.download section h2,
  main.downloads section h2 {
    font-size: 18px;
    margin: 56px 0 12px;
    padding-left: 20px;
    background-size: 16px;
  }

  main.download section .wrap a,
  main.downloads section .wrap a {
    font-size: 14px;
    font-weight: 700;
    padding: 11px 45px 11px 20px;
    background-position: center right 20px;
  }

  .footer_contact {
    margin-top: 56px;
  }

  .footer_contact .inner > .fl_center {
    margin-top: 24px;
    gap: 48px 80px;
  }

  .footer_contact .inner > .fl_center:after {
    height: 120px;
  }

  .footer_contact .inner > .fl_center > div p {
    font-size: 16px;
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(1) .wrap {
    max-width: 325px;
    margin: 0 auto;
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(1) .wrap > p {
    margin-bottom: 0;
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(1) .wrap a {
    font-size: 14px;
    line-height: 2.4;
    padding-left: 31px;
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(1) .wrap a span {
    font-size: 37px;
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(2) .wrap a {
    width: 280px;
    background-size: 100%;
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(2) .wrap a p {
    font-size: 20px;
    width: 100%;
    height: 80px;
    background-position: center left 38px;
    background-size: 25px;
  }

  footer .page-top {
    top: -40px;
    right: -7px;
    width: 90px;
    height: 90px;
  }

  footer .page-top a {
    width: 90px;
    height: 90px;
  }

  footer .page-top a .arrow-top {
    width: 24px;
    height: 24px;
    margin-bottom: 0;
  }

  footer .page-top a p {
    font-size: 13px;
  }

  footer .copy p,
  footer .copy a {
    font-size: 12px;
  }

  footer .copy .inner > div:nth-of-type(2) a {
    font-size: 13px;
  }

  section.form {
    margin-bottom: 56px;
  }

  section.form .form_wrap span.required {
    font-size: 13px;
    margin: 0 0 0 6px;
  }

  section.form .form_wrap .flex .wrap p.label {
    margin-bottom: 8px;
  }

  section.form .form_wrap .flex .wrap p.input input,
  section.form .form_wrap .flex .wrap p.input select {
    height: 50px;
  }

  section.form .form_wrap .flex .wrap .mw-wp-form_file {
    font-size: 1.3rem;
  }

  section.form .form_wrap .button {
    width: 100%;
  }

  section.form .form_wrap .button .submit {
    height: 50px;
    background-position: center right 16px;
  }

  section.form .form_wrap .button .submit input {
    font-size: 14px;
  }

  section.form .form_wrap .button .submit.return {
    background-position: center left 16px;
  }

  section.form .mw_wp_form_confirm form .flex:first-of-type .wrap p.label {
    width: 132px;
  }

  section.form .mw_wp_form_confirm form .flex:first-of-type .wrap p.input {
    width: calc(100% - 132px);
  }

  section.form .mw_wp_form_complete p {
    font-size: 13px;
  }

  section.form .outer {
    gap: 0 8px;
  }

  section.form .outer .flow {
    width: 150px;
  }

  section.form .outer .form_wrap {
    width: calc(100% - 188px);
  }

  section.form .outer .form_wrap p.lead {
    font-size: 14px;
  }

  section.form .outer .form_wrap .flex {
    margin-top: 24px;
  }

  section.form .outer .form_wrap .flex .wrap p.arrow:after {
    top: 21px;
  }

  main.top section.mv .outer img.text {
    left: 8px;
    width: 300px;
  }

  main.top section.mv video.mv,
  main.top section.mv img.mv {
    height: 360px;
    margin-top: 76px;
    -o-object-fit: cover;
    object-fit: cover;
  }

  main.top section.cont1 {
    margin-top: 60px;
  }

  main.top section.cont1 .inner .wrap .slider .slick-img {
    max-width: 640px;
  }

  main.top section.cont1 .inner .wrap .slider .slick-arrow:before {
    width: 36px;
    height: 36px;
  }

  main.top section.cont1 .inner .wrap .slider .slick-arrow.slick-prev {
    top: 96px;
    left: calc(50% - 328px);
  }

  main.top section.cont1 .inner .wrap .slider .slick-arrow.slick-next {
    top: 80px;
    left: calc(50% + 316px);
  }

  main.top section.bk_img {
    margin-top: 50px;
  }

  main.top section.bk_img .bk {
    height: 435px;
  }

  main.top section.bk_img .outer .text_box {
    max-width: 380px;
  }

  main.top section.bk_img .outer .text_box a.red_link {
    margin: 20px 0 0 0;
  }

  main.top section.cont2 .outer .text_box {
    height: 278px;
    margin-top: -270px;
  }

  main.top section.cont2 .inner .flex > div h3 span {
    font-size: 20px;
  }

  main.top section.cont2 .inner .flex > div h3 span.rale {
    font-size: 12px;
    margin-top: 3px;
  }

  main.top section.cont2 .inner a.red_link {
    margin-top: 24px;
  }

  main.top section.cont3 .bk {
    width: 100%;
  }

  main.top section.cont3 .outer .text_box {
    max-width: 375px;
    height: 288px;
    margin-top: -280px;
    margin-right: 14px;
    margin-left: inherit;
  }

  main.top section.cont4 .outer > .flex {
    margin-top: 20px;
    gap: 8px 16px;
  }

  main.top section.cont4 .outer .wrap {
    margin: 30px auto;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-list {
    height: auto;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img img {
    transition: -webkit-transform .8s;
    transition: transform .8s;
    transition: transform .8s, -webkit-transform .8s;
    -webkit-transform: scale(.78);
    transform: scale(.78);
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-slide {
    transition: 0;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-num {
    top: 120px;
    right: 100px;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-arrow:before {
    width: 16px;
    height: 16px;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-arrow.slick-prev {
    top: 123px;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-arrow.slick-next {
    top: 125px;
  }

  main.top section.cont5 .wrap {
    height: 340px;
  }

  main.top section.cont5 .wrap:after {
    background-image: url('../../images/top/cont5_sp.webp');
    background-position: center;
    background-size: cover;
  }

  main.top section.cont5 .wrap a img {
    position: absolute;
    z-index: 10;
    top: -27px;
    left: 50%;
    width: 124%;
    max-width: 465px;
    margin-top: 0;
    -webkit-transform: translate(-50%);
    transform: translate(-50%);
  }

  main.top section.cont6 {
    margin-top: 64px;
    padding: 0 20px;
  }

  main.top section.cont6 .inner h2 {
    margin-bottom: 8px;
  }

  main.top section.cont6 .inner a.red_link {
    top: -22px;
    right: 0;
  }

  main.top section.cont7 .outer .text_box {
    margin-top: -228px;
  }

  main.top section.cont8 {
    padding: 48px 0 56px;
    background-image: url('../../images/top/cont8_bk_sp.webp');
    background-size: cover;
  }

  main.top section.cont8 .outer > div.flex {
    gap: 16px;
  }

  main.top section.cont8 .outer > div.flex > a {
    width: calc((100% - 16px)/2);
  }

  .breadcrumb {
    padding-top: 8px;
    gap: 0 4px;
  }

  .breadcrumb li,
  .breadcrumb a,
  .breadcrumb span {
    font-size: 11px;
  }

  .breadcrumb li:not(:first-of-type):before {
    margin-right: 3px;
  }

  .header {
    height: 68px;
    padding: 6px 20px;
  }

  .header .header_wrap .logo {
    gap: 0 16px;
  }

  .header .header_wrap .logo img {
    width: 175px;
    height: 52px;
  }

  .header .header_wrap .ham .menu__toggle span:nth-of-type(1) {
    top: 15px;
  }

  .header .header_wrap .ham .menu__toggle span:nth-of-type(2) {
    top: 24px;
  }

  .header .header_wrap .ham .menu__toggle span:nth-of-type(3) {
    top: 33px;
  }

  .header .header_wrap .ham .menu__toggle.active span:nth-of-type(1) {
    top: 20px;
  }

  .header .header_wrap .ham .menu__toggle.active span:nth-of-type(3) {
    top: 32px;
  }

  .header .header_wrap .ham .menu__main {
    top: 68px;
  }

  .header .header_wrap .ham .menu__main .ham_wrap ul {
    max-width: 180px;
    margin-left: auto;
  }

  .header .header_wrap .ham .menu__main .ham_wrap ul {
    max-width: 170px;
  }

  .header .header_wrap .ham .menu__main .ham_wrap ul li {
    width: 100%;
  }

  .header .header_wrap .ham .menu__main .ham_wrap ul li a {
    margin-bottom: 4px;
  }

  .header .header_wrap .ham .menu__main .ham_wrap ul li .sub .flex {
    margin-bottom: 0;
  }

  .header .header_wrap .ham .menu__main .ham_wrap ul li .sub .flex > div a {
    display: flex;
  }

  .header .header_wrap .ham .menu__main .ham_wrap ul li .sub .flex > div a br.sp_s {
    display: none;
  }

  .header .header_wrap .ham .menu__main .ham_wrap .link_wrap {
    margin-top: 30px;
  }

  .header .header_wrap .ham .menu__main .ham_wrap .link_wrap a {
    margin-left: auto;
  }

  .header .header_wrap .ham .menu__main .ham_wrap .sns {
    margin-left: auto;
  }

  main {
    margin-top: 100px;
  }

  .movie .movie_wrap .inner > .flex {
    gap: 32px 24px;
  }

  .movie .movie_wrap .inner > .flex > .flex {
    width: calc(100% - 264px);
  }

  .movie .movie_wrap .inner > .flex > .flex > div.pagenate {
    width: 100%;
  }

  .movie .movie_wrap .inner > .flex .cate_list {
    width: 240px;
    padding: 24px 20px 40px;
  }

  .movie_wrap .inner > p.cate_tt {
    margin-bottom: 24px;
    padding: 11px 20px;
  }

  .archive_news nav.switch a {
    font-size: 16px;
    padding: 12px 11px 10px;
  }

  .archive_news ul.list_wrap li a {
    padding: 14px 24px 14px 0;
  }

  .archive_news ul.list_wrap li a p.date {
    font-size: 16px;
  }

  .archive_news ul.list_wrap li a p.tt {
    font-size: 15px;
  }

  .single_news .inner > .flex {
    gap: 0 14px;
  }

  .single_news .inner > .flex p.date {
    font-size: 16px;
  }

  .single_news .inner h1 {
    font-size: 28px;
    margin-bottom: 32px;
    padding-bottom: 8px;
  }

  .single_news .inner > .wrap > * {
    margin-bottom: 24px;
  }

  .single_news .inner > .wrap table tr td {
    border-top: none;
    border-left: none;
  }

  .privacy section .inner .head_bk {
    font-size: 18px;
    margin: 24px 0 16px;
    padding: 12px 24px;
  }

  .products .products_wrap .panel {
    padding-bottom: 40px;
  }

  .products .products_wrap .panel .panel_inner.panel_flow ul.link li {
    width: calc((100% - 32px)/3);
  }

  .products .products_wrap .panel .panel_inner section.wrap > div:not(:last-of-type) {
    padding-bottom: 42px;
  }

  .products .products_wrap .panel .panel_inner section.wrap > div h2.head_bor {
    margin-bottom: 24px;
  }

  .products .products_wrap .panel .panel_inner section.wrap > div h3.qs {
    font-size: 14px;
    margin-top: -8px;
    padding: 12px 16px;
  }

  .products .products_wrap .panel .panel_inner section.wrap > div h3.qs:before,
  .products .products_wrap .panel .panel_inner section.wrap > div h3.qs:after {
    right: 20px;
  }

  .products .products_wrap .panel .panel_inner section.wrap > div div.as .flex > a {
    width: calc((100% - 32px)/3);
  }

  .single_products section .inner .tt {
    display: block;
    flex-wrap: wrap;
  }

  .single_products section .inner .tt h1 {
    font-size: 28px;
    margin-bottom: 16px;
  }

  .single_products section .inner .tt .container {
    width: 100%;
    max-width: 480px;
    height: 100%;
  }

  .single_products section .inner .tt .container .slider img {
    width: 100%;
    max-width: 480px;
    height: 100%;
  }

  .single_products section .inner .tt .container .thumbnail {
    position: relative;
    max-width: 100%;
    margin-top: 12px;
  }

  .single_products section .inner .tt .container .thumbnail .slick-track {
    width: 100% !important;
  }

  .single_products section .inner .tt .container .thumbnail .slick-track .thumbnail-img {
    width: calc((100% - 20px)/3) !important;
    margin: 0;
  }

  .single_products section .inner .tt .container .thumbnail .slick-track .thumbnail-img:not(:nth-of-type(3n)) {
    margin-right: 8px;
  }

  .single_products section .inner p.midashi {
    font-size: 18px;
    line-height: 1.5;
    margin-top: 24px;
  }

  .single_products section .inner .wrap {
    font-size: 1.3rem;
  }

  .single_products section .inner .wrap h2 {
    margin: 32px 0 16px;
  }

  section#catalog .inner div.modal-open,
  section#catalog .inner > a {
    height: 200px;
  }

  section#catalog .inner div.modal-open p.red_link,
  section#catalog .inner > a p.red_link {
    font-size: 16px;
    margin-top: 20px;
  }

  section#catalog .inner .modal-container .modal-body .modal-content {
    padding: 56px 40px;
  }

  main.recruit section.sv_img {
    height: 700px;
    background-image: url(../../images/recruit/sv_sp.webp);
    background-position: center;
    background-size: cover;
  }

  main.recruit section.sv_img .flex {
    bottom: 24px;
    width: calc(100% - 40px);
    padding-right: 0;
    flex-wrap: wrap;
    gap: 0;
  }

  main.recruit section.sv_img .flex p:nth-of-type(1) {
    font-size: 27px;
  }

  main.recruit section.sv_img .flex p:nth-of-type(1) {
    width: 100%;
    min-width: initial;
  }

  main.recruit section.sv_img .flex p:nth-of-type(2) {
    font-size: 12px;
    line-height: 1.4;
  }

  main.recruit section.sv_img .flex p:nth-of-type(2) {
    width: 100%;
  }

  main.recruit section.cont1 .inner .flex > div {
    width: 235px;
    height: 210px;
    padding: 24px 32px;
  }

  main.recruit section.cont1 .inner .flex > div p img {
    width: 100px;
    margin: 0 auto 12px;
  }

  main.recruit section.cont1 .inner .flex > div p span {
    font-size: 16px;
  }

  main.recruit section.cont2 .inner .flex {
    width: 710px;
    height: 174px;
  }

  main.recruit section.cont2 .inner .flex > div h3 {
    font-size: 18px;
    width: 136px;
  }

  main.recruit section.cont2 .inner .flex > div p {
    width: calc(100% - 176px);
  }

  main.recruit section.cont3 .inner .flex img {
    width: 240px;
  }

  main.recruit section.cont3 .inner .flex > div {
    width: calc(100% - 304px);
  }

  main.recruit section.cont4 .slider .slick-slide {
    height: 32vh;
  }

  main.recruit section.cont5 .inner .flex {
    margin-top: 36px;
    flex-wrap: nowrap;
  }

  main.recruit section.cont5 .inner .flex div.fl_center span.rale {
    font-size: 18px;
    top: -24px;
    width: 44px;
    height: 44px;
  }

  main.recruit section.cont5 .inner .flex div.fl_center p img {
    width: 68px;
    margin: 0;
    margin-top: 20px;
  }

  main.recruit section.cont5 .inner .flex div.fl_center p span {
    font-size: 13px;
    margin-top: 14px;
  }

  main.recruit section.cont6 .inner .flex {
    margin-top: 24px;
    gap: 16px;
  }

  main.recruit section.cont6 .inner .flex a.re_btn {
    font-size: 16px;
    width: calc((100% - 32px)/3);
    height: 64px;
  }

  .single_job .inner h1 {
    font-size: 28px;
    margin-bottom: 32px;
    padding-bottom: 8px;
  }

  .single_job .inner table {
    border-top: none;
    border-bottom: solid 1.5px #ccc;
    border-left: none;
  }

  .single_job .inner table tr,
  .single_job .inner table td {
    border-bottom: none;
  }

  .sitemap .inner.flex .wrap > a {
    font-size: 16px;
  }

  .sitemap .inner.flex .wrap > a:not(:first-of-type) {
    margin-top: 16px;
  }

  .sitemap .inner.flex .wrap div.sub {
    padding: 18px 14px 24px;
  }

  .sitemap .inner.flex .wrap div.sub a:not(:last-of-type) {
    margin-bottom: 14px;
  }

  .sitemap .inner.flex .wrap div.sub a {
    font-size: 14px;
    background-position: top 3px left 0;
  }

  .technology section.sv_img {
    background-image: url(../../images/technology/sv_sp.webp);
  }

  .technology ul.link {
    margin-bottom: 56px;
  }

  .technology section {
    margin-top: 12px;
  }

  .technology section.mt64 {
    margin-top: 40px;
  }

  .technology section .wrap {
    scroll-margin-top: 60px;
  }

  .technology section .wrap:not(:last-of-type) {
    margin-bottom: 32px;
  }

  .technology section .wrap h2.head_bor {
    padding: 0 0 10px 20px;
  }

  .technology section .wrap ul.list li a {
    padding: 16px 24px 16px 0;
  }

  .technology section .wrap ul.list li:first-of-type a {
    padding-top: 20px;
  }

  .single_technology section h1 {
    font-size: 28px;
    margin-bottom: 28px;
    padding-bottom: 8px;
  }

  .single_technology section .inner .wrap {
    font-size: 1.3rem;
  }

  .single_technology section .inner .wrap h2 {
    margin: 24px 0 14px;
  }

  .single_technology section .inner .wrap > * {
    margin-bottom: 24px;
  }

  .m-none {
    display: none;
  }
}

@media screen and (max-width: 919px) {
  .single h3,
  .single h4,
  .single h5,
  .single h6 {
    margin-top: 24px;
  }

  .single h3,
  .single h4 {
    margin-bottom: 14px !important;
  }
}

@media screen and (max-width:767px) {
  .fs_sp10 {
    font-size: 10px;
  }

  .fs_sp11 {
    font-size: 11px;
  }

  .fs_sp12 {
    font-size: 12px;
  }

  .fs_sp13 {
    font-size: 13px;
  }

  .fs_sp14 {
    font-size: 14px;
  }

  .fs_sp15 {
    font-size: 15px;
  }

  .fs_sp16 {
    font-size: 16px;
  }

  .fs_sp17 {
    font-size: 17px;
  }

  .fs_sp18 {
    font-size: 18px;
  }

  .fs_sp19 {
    font-size: 19px;
  }

  .fs_sp20 {
    font-size: 20px;
  }

  .fs_sp21 {
    font-size: 21px;
  }

  .fs_sp22 {
    font-size: 22px;
  }

  .fs_sp23 {
    font-size: 23px;
  }

  .fs_sp24 {
    font-size: 24px;
  }

  .fs_sp25 {
    font-size: 25px;
  }

  .fs_sp26 {
    font-size: 26px;
  }

  .fs_sp27 {
    font-size: 27px;
  }

  .fs_sp28 {
    font-size: 28px;
  }

  .fs_sp29 {
    font-size: 29px;
  }

  .fs_sp30 {
    font-size: 30px;
  }

  .fs_sp31 {
    font-size: 31px;
  }

  .fs_sp32 {
    font-size: 32px;
  }

  .fs_sp33 {
    font-size: 33px;
  }

  .fs_sp34 {
    font-size: 34px;
  }

  .fs_sp35 {
    font-size: 35px;
  }

  .fs_sp36 {
    font-size: 36px;
  }

  .fs_sp37 {
    font-size: 37px;
  }

  .fs_sp38 {
    font-size: 38px;
  }

  .fs_sp39 {
    font-size: 39px;
  }

  .fs_sp40 {
    font-size: 40px;
  }

  .fs_sp41 {
    font-size: 41px;
  }

  .fs_sp42 {
    font-size: 42px;
  }

  .fs_sp43 {
    font-size: 43px;
  }

  .fs_sp44 {
    font-size: 44px;
  }

  .fs_sp45 {
    font-size: 45px;
  }

  .fs_sp46 {
    font-size: 46px;
  }

  .fs_sp47 {
    font-size: 47px;
  }

  .fs_sp48 {
    font-size: 48px;
  }

  .fs_sp49 {
    font-size: 49px;
  }

  .fs_sp50 {
    font-size: 50px;
  }

  .fs_sp51 {
    font-size: 51px;
  }

  .fs_sp52 {
    font-size: 52px;
  }

  .fs_sp53 {
    font-size: 53px;
  }

  .fs_sp54 {
    font-size: 54px;
  }

  .fs_sp55 {
    font-size: 55px;
  }

  .fs_sp56 {
    font-size: 56px;
  }

  .fs_sp57 {
    font-size: 57px;
  }

  .fs_sp58 {
    font-size: 58px;
  }

  .fs_sp59 {
    font-size: 59px;
  }

  .fs_sp60 {
    font-size: 60px;
  }

  .mt_sp8 {
    margin-top: 8px;
  }

  .mb_sp8 {
    margin-bottom: 8px;
  }

  .mr_sp8 {
    margin-right: 8px;
  }

  .ml_sp8 {
    margin-left: 8px;
  }

  .pt_sp8 {
    padding-top: 8px;
  }

  .pb_sp8 {
    padding-bottom: 8px;
  }

  .pr_sp8 {
    padding-right: 8px;
  }

  .pl_sp8 {
    padding-left: 8px;
  }

  .mt_sp16 {
    margin-top: 16px;
  }

  .mb_sp16 {
    margin-bottom: 16px;
  }

  .mr_sp16 {
    margin-right: 16px;
  }

  .ml_sp16 {
    margin-left: 16px;
  }

  .pt_sp16 {
    padding-top: 16px;
  }

  .pb_sp16 {
    padding-bottom: 16px;
  }

  .pr_sp16 {
    padding-right: 16px;
  }

  .pl_sp16 {
    padding-left: 16px;
  }

  .mt_sp24 {
    margin-top: 24px;
  }

  .mb_sp24 {
    margin-bottom: 24px;
  }

  .mr_sp24 {
    margin-right: 24px;
  }

  .ml_sp24 {
    margin-left: 24px;
  }

  .pt_sp24 {
    padding-top: 24px;
  }

  .pb_sp24 {
    padding-bottom: 24px;
  }

  .pr_sp24 {
    padding-right: 24px;
  }

  .pl_sp24 {
    padding-left: 24px;
  }

  .mt_sp32 {
    margin-top: 32px;
  }

  .mb_sp32 {
    margin-bottom: 32px;
  }

  .mr_sp32 {
    margin-right: 32px;
  }

  .ml_sp32 {
    margin-left: 32px;
  }

  .pt_sp32 {
    padding-top: 32px;
  }

  .pb_sp32 {
    padding-bottom: 32px;
  }

  .pr_sp32 {
    padding-right: 32px;
  }

  .pl_sp32 {
    padding-left: 32px;
  }

  .mt_sp40 {
    margin-top: 40px;
  }

  .mb_sp40 {
    margin-bottom: 40px;
  }

  .mr_sp40 {
    margin-right: 40px;
  }

  .ml_sp40 {
    margin-left: 40px;
  }

  .pt_sp40 {
    padding-top: 40px;
  }

  .pb_sp40 {
    padding-bottom: 40px;
  }

  .pr_sp40 {
    padding-right: 40px;
  }

  .pl_sp40 {
    padding-left: 40px;
  }

  .mt_sp48 {
    margin-top: 48px;
  }

  .mb_sp48 {
    margin-bottom: 48px;
  }

  .mr_sp48 {
    margin-right: 48px;
  }

  .ml_sp48 {
    margin-left: 48px;
  }

  .pt_sp48 {
    padding-top: 48px;
  }

  .pb_sp48 {
    padding-bottom: 48px;
  }

  .pr_sp48 {
    padding-right: 48px;
  }

  .pl_sp48 {
    padding-left: 48px;
  }

  .mt_sp56 {
    margin-top: 56px;
  }

  .mb_sp56 {
    margin-bottom: 56px;
  }

  .mr_sp56 {
    margin-right: 56px;
  }

  .ml_sp56 {
    margin-left: 56px;
  }

  .pt_sp56 {
    padding-top: 56px;
  }

  .pb_sp56 {
    padding-bottom: 56px;
  }

  .pr_sp56 {
    padding-right: 56px;
  }

  .pl_sp56 {
    padding-left: 56px;
  }

  .mt_sp64 {
    margin-top: 64px;
  }

  .mb_sp64 {
    margin-bottom: 64px;
  }

  .mr_sp64 {
    margin-right: 64px;
  }

  .ml_sp64 {
    margin-left: 64px;
  }

  .pt_sp64 {
    padding-top: 64px;
  }

  .pb_sp64 {
    padding-bottom: 64px;
  }

  .pr_sp64 {
    padding-right: 64px;
  }

  .pl_sp64 {
    padding-left: 64px;
  }

  .mt_sp72 {
    margin-top: 72px;
  }

  .mb_sp72 {
    margin-bottom: 72px;
  }

  .mr_sp72 {
    margin-right: 72px;
  }

  .ml_sp72 {
    margin-left: 72px;
  }

  .pt_sp72 {
    padding-top: 72px;
  }

  .pb_sp72 {
    padding-bottom: 72px;
  }

  .pr_sp72 {
    padding-right: 72px;
  }

  .pl_sp72 {
    padding-left: 72px;
  }

  .mt_sp80 {
    margin-top: 80px;
  }

  .mb_sp80 {
    margin-bottom: 80px;
  }

  .mr_sp80 {
    margin-right: 80px;
  }

  .ml_sp80 {
    margin-left: 80px;
  }

  .pt_sp80 {
    padding-top: 80px;
  }

  .pb_sp80 {
    padding-bottom: 80px;
  }

  .pr_sp80 {
    padding-right: 80px;
  }

  .pl_sp80 {
    padding-left: 80px;
  }

  .mt_sp88 {
    margin-top: 88px;
  }

  .mb_sp88 {
    margin-bottom: 88px;
  }

  .mr_sp88 {
    margin-right: 88px;
  }

  .ml_sp88 {
    margin-left: 88px;
  }

  .pt_sp88 {
    padding-top: 88px;
  }

  .pb_sp88 {
    padding-bottom: 88px;
  }

  .pr_sp88 {
    padding-right: 88px;
  }

  .pl_sp88 {
    padding-left: 88px;
  }

  .mt_sp96 {
    margin-top: 96px;
  }

  .mb_sp96 {
    margin-bottom: 96px;
  }

  .mr_sp96 {
    margin-right: 96px;
  }

  .ml_sp96 {
    margin-left: 96px;
  }

  .pt_sp96 {
    padding-top: 96px;
  }

  .pb_sp96 {
    padding-bottom: 96px;
  }

  .pr_sp96 {
    padding-right: 96px;
  }

  .pl_sp96 {
    padding-left: 96px;
  }

  .mt_sp104 {
    margin-top: 104px;
  }

  .mb_sp104 {
    margin-bottom: 104px;
  }

  .mr_sp104 {
    margin-right: 104px;
  }

  .ml_sp104 {
    margin-left: 104px;
  }

  .pt_sp104 {
    padding-top: 104px;
  }

  .pb_sp104 {
    padding-bottom: 104px;
  }

  .pr_sp104 {
    padding-right: 104px;
  }

  .pl_sp104 {
    padding-left: 104px;
  }

  .mt_sp112 {
    margin-top: 112px;
  }

  .mb_sp112 {
    margin-bottom: 112px;
  }

  .mr_sp112 {
    margin-right: 112px;
  }

  .ml_sp112 {
    margin-left: 112px;
  }

  .pt_sp112 {
    padding-top: 112px;
  }

  .pb_sp112 {
    padding-bottom: 112px;
  }

  .pr_sp112 {
    padding-right: 112px;
  }

  .pl_sp112 {
    padding-left: 112px;
  }

  .mt_sp120 {
    margin-top: 120px;
  }

  .mb_sp120 {
    margin-bottom: 120px;
  }

  .mr_sp120 {
    margin-right: 120px;
  }

  .ml_sp120 {
    margin-left: 120px;
  }

  .pt_sp120 {
    padding-top: 120px;
  }

  .pb_sp120 {
    padding-bottom: 120px;
  }

  .pr_sp120 {
    padding-right: 120px;
  }

  .pl_sp120 {
    padding-left: 120px;
  }

  .mt_sp128 {
    margin-top: 128px;
  }

  .mb_sp128 {
    margin-bottom: 128px;
  }

  .mr_sp128 {
    margin-right: 128px;
  }

  .ml_sp128 {
    margin-left: 128px;
  }

  .pt_sp128 {
    padding-top: 128px;
  }

  .pb_sp128 {
    padding-bottom: 128px;
  }

  .pr_sp128 {
    padding-right: 128px;
  }

  .pl_sp128 {
    padding-left: 128px;
  }

  .mt_sp136 {
    margin-top: 136px;
  }

  .mb_sp136 {
    margin-bottom: 136px;
  }

  .mr_sp136 {
    margin-right: 136px;
  }

  .ml_sp136 {
    margin-left: 136px;
  }

  .pt_sp136 {
    padding-top: 136px;
  }

  .pb_sp136 {
    padding-bottom: 136px;
  }

  .pr_sp136 {
    padding-right: 136px;
  }

  .pl_sp136 {
    padding-left: 136px;
  }

  .mt_sp144 {
    margin-top: 144px;
  }

  .mb_sp144 {
    margin-bottom: 144px;
  }

  .mr_sp144 {
    margin-right: 144px;
  }

  .ml_sp144 {
    margin-left: 144px;
  }

  .pt_sp144 {
    padding-top: 144px;
  }

  .pb_sp144 {
    padding-bottom: 144px;
  }

  .pr_sp144 {
    padding-right: 144px;
  }

  .pl_sp144 {
    padding-left: 144px;
  }

  .mt_sp152 {
    margin-top: 152px;
  }

  .mb_sp152 {
    margin-bottom: 152px;
  }

  .mr_sp152 {
    margin-right: 152px;
  }

  .ml_sp152 {
    margin-left: 152px;
  }

  .pt_sp152 {
    padding-top: 152px;
  }

  .pb_sp152 {
    padding-bottom: 152px;
  }

  .pr_sp152 {
    padding-right: 152px;
  }

  .pl_sp152 {
    padding-left: 152px;
  }

  .mt_sp160 {
    margin-top: 160px;
  }

  .mb_sp160 {
    margin-bottom: 160px;
  }

  .mr_sp160 {
    margin-right: 160px;
  }

  .ml_sp160 {
    margin-left: 160px;
  }

  .pt_sp160 {
    padding-top: 160px;
  }

  .pb_sp160 {
    padding-bottom: 160px;
  }

  .pr_sp160 {
    padding-right: 160px;
  }

  .pl_sp160 {
    padding-left: 160px;
  }

  .t-left_sp {
    text-align: justify;
  }

  .t-center_sp {
    text-align: center;
  }

  .t-right_sp {
    text-align: right;
  }

  main.threeminutes section.cont1 .inner > div {
    width: 370px;
    padding: 42px 32px 28px;
    background-image: url(../../images/3minutes/cont1_bk_sp.svg);
    background-size: cover;
    aspect-ratio: 350/209;
  }

  main.threeminutes section.cont1 .inner > div img {
    top: 16px;
    right: 16px;
    width: 109px;
  }

  main.threeminutes section.cont2 {
    background-image: url(../../images/3minutes/cont2_bk_sp.webp);
    background-size: cover;
  }

  main.threeminutes section.cont2 .inner .flex > div {
    width: 350px;
    height: 281px;
    padding: 24px 20px;
    background-image: url(../../images/3minutes/cont2_bk_sp.svg);
  }

  main.threeminutes section.cont2 .inner .flex > div h3 {
    font-size: 18px;
  }

  main.threeminutes section.cont2 .inner .flex > div p {
    font-size: 13px;
  }

  main.threeminutes section.cont2 .inner .flex > div:nth-of-type(1) img {
    width: 150px;
    margin-top: 15px;
  }

  main.threeminutes section.cont2 .inner .flex > div:nth-of-type(2) img {
    width: 175px;
    margin-top: 21px;
  }

  main.threeminutes section.cont2 .inner .flex > div:nth-of-type(3) img {
    width: 75px;
    margin-top: 10px;
  }

  main.threeminutes section.cont3 .inner .flex picture {
    width: 50% !important;
  }

  main.threeminutes section.cont3 .inner .flex:nth-of-type(1) {
    margin-bottom: 0;
    gap: 0;
  }

  main.threeminutes section.cont3 .inner .flex:nth-of-type(1) > picture,
  main.threeminutes section.cont3 .inner .flex:nth-of-type(1) > div {
    width: 100%;
  }

  main.threeminutes section.cont3 .inner .flex:nth-of-type(1) > picture {
    width: 50% !important;
  }

  main.threeminutes section.cont3 .inner .flex:nth-of-type(2) {
    gap: 0;
  }

  main.threeminutes section.cont3 .inner .flex:nth-of-type(2) picture {
    width: 100%;
  }

  main.threeminutes section.cont4 .inner .flex {
    gap: 24px;
    flex-wrap: wrap;
  }

  main.threeminutes section.cont4 .inner .flex > div {
    width: 100%;
  }

  main.threeminutes section.cont5 .inner .flex ul.wrap li p span {
    display: block;
    margin-left: 0;
  }

  main.threeminutes section.cont5 .inner .flex ul.wrap li:nth-of-type(4) span.rale,
  main.threeminutes section.cont5 .inner .flex ul.wrap li:nth-of-type(5) span.rale {
    padding-top: 15px;
  }

  main.about section.cont1 .inner .flex {
    display: block;
  }

  main.about section.cont1 .inner .flex > div {
    width: 344px;
    margin: 0 auto;
    padding: 32px;
    background-image: url(../../images/about/cont1_bk_sp.svg);
    aspect-ratio: 344/255;
  }

  main.about section.cont1 .inner .flex > div:not(:last-of-type) {
    margin-bottom: 0;
  }

  main.about section.cont1 .inner .flex > div h3 {
    font-size: 22px;
    margin-top: 4px;
  }

  main.about section.cont1 .inner .flex > div img {
    width: 120px;
    margin: 12px 0;
  }

  main.about section.cont2 .inner .flex {
    flex-wrap: wrap;
    justify-content: center;
  }

  main.about section.cont2 .inner .flex img {
    width: 100%;
  }

  main.about section.cont2 .inner .flex > div {
    width: 100%;
  }

  main.about section.cont3 .inner dl {
    display: block;
    border-top: solid 1.5px #ccc;
  }

  main.about section.cont3 .inner dl dt,
  main.about section.cont3 .inner dl dd {
    padding: 12px 0;
  }

  main.about section.cont3 .inner dl dt {
    width: 100%;
    padding-bottom: 0;
    border-bottom: none;
  }

  main.about section.cont3 .inner dl dd {
    width: 100%;
    padding-top: 4px;
  }

  main.about section.cont4 .inner .flex > div {
    width: 100%;
    max-width: 400px;
  }

  .archive_case .case_wrap .inner > .flex a.three_column {
    width: 100%;
  }

  .single_case .inner .wrap table.detail {
    margin-top: 10px;
    border-top: none;
    border-bottom: solid 1.5px #ddd;
    border-left: none;
  }

  .single_case .inner .wrap table.detail td {
    border-bottom: none;
  }

  main.top,
  main.threeminutes,
  main.about,
  main.recruit {
    background-position: top 156px right -750px;
    background-size: 1700px;
  }

  .sv_img {
    height: 190px;
  }

  .flex {
    flex-wrap: wrap;
  }

  .pc_s {
    display: none;
  }

  .sp_s {
    display: block;
  }

  table tr {
    display: -ms-inline-grid;
    display: inline-grid;
    width: 100%;
  }

  table tr.nowrap {
    display: inherit;
  }

  table tr td:nth-of-type(1) {
    width: 100%;
    padding: 8px 16px;
  }

  table tr td:nth-of-type(2) {
    width: 100%;
  }

  main.download section .wrap,
  main.downloads section .wrap {
    gap: 8px;
  }

  main.download section .wrap a,
  main.downloads section .wrap a {
    width: 100%;
    border: none;
  }

  .footer_contact .inner > .fl_center {
    flex-wrap: wrap;
  }

  .footer_contact .inner > .fl_center:after {
    top: 47%;
    width: 100%;
    height: 1.5px;
  }

  .footer_contact .inner > .fl_center > div {
    width: 100%;
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(2) .wrap a {
    max-width: 300px;
    background-size: 100%;
  }

  .footer_contact .inner > .fl_center > div:nth-of-type(2) .wrap a p {
    background-position: center left 40px;
  }

  footer {
    padding: 40px 0 70px;
  }

  footer > .inner > div:nth-of-type(1) {
    min-width: inherit;
    text-align: center;
  }

  footer > .inner > div:nth-of-type(3) {
    display: flex !important;
    margin-top: 24px;
    margin-bottom: 32px;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0 14px;
  }

  footer > .inner > div:nth-of-type(3) .wrap {
    position: relative;
    width: calc((100% - 14px) / 2 );
    text-align: center;
  }

  footer > .inner > div:nth-of-type(3) .wrap a {
    font-weight: 700;
    display: block;
  }

  footer > .inner > div:nth-of-type(3) .wrap a.t-white {
    font-size: 14px;
    margin-bottom: 20px;
    margin-bottom: 0;
    padding: 14px 0;
    text-align: left;
    border-top: solid 1.5px #555;
  }

  footer > .inner > div:nth-of-type(3) .wrap a.t-white:last-of-type {
    border-bottom: solid 1.5px #555;
  }

  footer > .inner > div:nth-of-type(3) .wrap a.qs {
    margin-bottom: 0;
  }

  footer > .inner > div:nth-of-type(3) .wrap a.sub {
    margin-bottom: 10px;
    text-align: left;
    color: #aaa;
  }

  footer > .inner > div:nth-of-type(3) .wrap span.qs {
    position: absolute;
    right: 0;
    width: 24px;
    height: 55px;
  }

  footer > .inner > div:nth-of-type(3) .wrap span.qs:before,
  footer > .inner > div:nth-of-type(3) .wrap span.qs:after {
    position: absolute;
    top: 45%;
    left: 50%;
    display: block;
    width: 10px;
    height: 1px;
    content: '';
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: #fff;
  }

  footer > .inner > div:nth-of-type(3) .wrap span.qs:after {
    margin-left: -5px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }

  footer > .inner > div:nth-of-type(3) .wrap span.qs.on:after {
    content: none;
  }

  footer .copy .inner {
    flex-direction: column-reverse;
  }

  footer .copy .inner > div {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  footer .copy .inner > div:nth-of-type(1) p.fs12 {
    margin-bottom: 12px;
  }

  section.form .form_wrap .flex {
    gap: 16px;
  }

  section.form .form_wrap .flex .wrap {
    width: 100%;
  }

  section.form .form_wrap .flex .wrap p.input textarea {
    height: 180px;
  }

  section.form .form_wrap .agree {
    margin-top: 40px;
  }

  section.form .mw_wp_form_confirm form .flex:first-of-type .wrap {
    padding: 12px 0;
    flex-wrap: wrap;
  }

  section.form .mw_wp_form_confirm form .flex:first-of-type .wrap p.label {
    width: 100%;
  }

  section.form .mw_wp_form_complete p.lead {
    margin-bottom: 16px;
  }

  section.form .outer {
    flex-wrap: wrap;
  }

  section.form .outer .flow {
    position: initial;
    display: flex;
    width: 100%;
    max-width: 337px;
    height: initial;
    margin-bottom: 24px;
    gap: 0 20px;
    justify-content: space-between;
  }

  section.form .outer .flow p:not(:last-of-type) {
    margin-bottom: 0;
  }

  section.form .outer .flow p:not(:last-of-type):before {
    right: -35px;
    bottom: 9px;
    left: initial;
    width: 24px;
    height: 1px;
  }

  section.form .outer .flow p span {
    padding-left: 22px;
  }

  section.form .outer .form_wrap {
    width: 100%;
  }

  section.form .outer .form_wrap .flex {
    gap: 18px;
  }

  section.form .outer .form_wrap .flex .wrap {
    width: 100%;
  }

  main.top section.mv .pickup {
    width: 213px;
    height: 98px;
    background-image: url(../../images/top/news_pickup_sp.svg);
  }

  main.top section.mv .pickup a {
    padding: 11px 26px 9px;
  }

  main.top section.mv .pickup a p.cate {
    font-size: 9px;
  }

  main.top section.mv .pickup a p.tt {
    display: -webkit-box;
    overflow: hidden;
    white-space: initial;
    -webkit-line-clamp: 2;
  }

  main.top section.mv .pickup a p.tt:after {
    top: 10px;
  }

  main.top section.cont1 .inner .wrap .slider .slick-img {
    width: calc(100% - 40px);
    max-width: 350px;
    margin: 0 2px;
  }

  main.top section.cont1 .inner .wrap .slider .slick-img img {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  main.top section.cont1 .inner .wrap .slider .slick-arrow {
    width: 28px;
    height: 28px;
  }

  main.top section.cont1 .inner .wrap .slider .slick-arrow:before {
    width: 28px;
    height: 28px;
  }

  main.top section.cont1 .inner .wrap .slider .slick-arrow.slick-prev {
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
  }

  main.top section.cont1 .inner .wrap .slider .slick-arrow.slick-next {
    top: 50%;
    right: 0;
    left: initial;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  main.top section.cont1 .inner .wrap .thumbnail {
    margin-top: 14px;
  }

  main.top section.cont1 .inner .wrap .thumbnail .slick-track {
    display: flex;
    width: 100vw !important;
    margin-left: initial;
    padding: 0 20px;
    gap: 6px;
  }

  main.top section.cont1 .inner .wrap .thumbnail .slick-track .thumbnail-img {
    width: calc((100% - 24px) / 5);
    padding: 0;
  }

  main.top section.bk_img .outer {
    background-color: transparent;
  }

  main.top section.bk_img .bk {
    width: calc(100% - 20px);
    max-width: 360px;
    height: auto;
    aspect-ratio: 37/20;
  }

  main.top section.bk_img .outer {
    width: calc(100% - 40px);
    margin: 0;
    padding: 0 40px;
    background-color: #f2f2f2;
  }

  main.top section.bk_img .outer .text_box {
    max-width: initial;
    height: initial;
    margin-top: 0;
    padding-top: 8px;
  }

  main.top section.cont2 .bk {
    background-image: url('../../images/top/cont2_bk_sp.webp');
  }

  main.top section.cont2 .inner .flex {
    flex-wrap: wrap;
  }

  main.top section.cont2 .inner .flex > div {
    width: 100%;
  }

  main.top section.cont2 .inner .flex > div h3 {
    width: 100%;
    max-width: 310px;
    height: 120px;
    margin: 0 auto 8px auto;
  }

  main.top section.cont2 .inner .flex > div p {
    width: 100%;
    max-width: 310px;
    margin: 0 auto;
  }

  main.top section.cont2 .inner .flex > div:nth-of-type(1) h3 {
    background-image: url('../../images/top/cont2_1_sp.webp');
  }

  main.top section.cont2 .inner .flex > div:nth-of-type(2) h3 {
    background-image: url('../../images/top/cont2_2_sp.webp');
  }

  main.top section.cont2 .inner .flex > div:nth-of-type(3) h3 {
    background-image: url('../../images/top/cont2_3_sp.webp');
  }

  main.top section.cont3 .bk {
    background-image: url('../../images/top/cont3_bk_sp.webp');
  }

  main.top section.cont3 .outer {
    margin-left: auto;
    padding: 0 0 0 40px;
  }

  main.top section.cont3 .outer .text_box {
    max-width: initial;
    margin-left: 0;
  }

  main.top section.cont4 .outer > .flex a.red_link {
    padding-right: 27px;
  }

  main.top section.cont4 .outer .wrap .slick-slider {
    margin-left: 0;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-list .slick-img {
    width: 64vw;
    margin: 0 -6vw;
  }

  main.top section.cont4 .outer .wrap .slick-slider ul.slider-dots {
    bottom: -28px;
  }

  main.top section.cont4 .outer .wrap .slick-slider ul.slider-dots li {
    width: 60px;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-num {
    top: initial;
    bottom: -30px;
    left: 20px;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-num span {
    font-size: 12px;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-arrow.slick-prev {
    top: initial;
    bottom: -30px;
    left: 54px;
  }

  main.top section.cont4 .outer .wrap .slick-slider .slick-arrow.slick-next {
    top: initial;
    bottom: -32px;
    left: 79px;
  }

  main.top section.cont5 {
    margin-top: 80px;
  }

  main.top section.cont5 .wrap {
    height: 250px;
  }

  main.top section.cont5 .wrap a img {
    top: -44px;
    width: 113%;
  }

  main.top section.cont7 .bk {
    background-image: url('../../images/top/cont7_bk_sp.webp');
  }

  main.top section.cont7 .outer .text_box p br.sp {
    display: none;
  }

  main.top section.cont8 {
    margin-top: 0;
  }

  main.top section.cont8 .outer > div.text {
    padding-left: 0;
  }

  main.top section.cont8 .outer > div.flex > a p {
    font-size: 17px;
  }

  .header .header_wrap .ham .menu__main .ham_wrap ul li .sub .flex {
    display: block;
  }

  .header .header_wrap .ham .menu__main .ham_wrap ul li .sub .flex > div:nth-of-type(1) {
    width: 100%;
  }

  .header .header_wrap .ham .menu__main .ham_wrap ul li .sub .flex > div:nth-of-type(2) {
    width: 100%;
  }

  .header .header_wrap .ham .menu__main .ham_wrap ul li .sub .flex > div a br.sp {
    display: none !important;
  }

  .header .header_wrap .ham .menu__main .ham_wrap ul li .sub .flex > div a br.sp_s {
    display: block;
  }

  .movie .movie_wrap .inner > .flex {
    padding-bottom: 0;
    flex-wrap: wrap;
  }

  .movie .movie_wrap .inner > .flex > .flex {
    width: 100%;
    flex-wrap: wrap;
  }

  .movie .movie_wrap .inner > .flex > .flex > div {
    width: 100%;
    min-height: initial;
  }

  .movie .movie_wrap .inner > .flex > .flex > div iframe {
    height: auto;
    aspect-ratio: 70/39;
  }

  .movie .movie_wrap .inner > .flex > .flex > div > div {
    position: relative;
    border-bottom: solid 1px #ccc;
  }

  .movie .movie_wrap .inner > .flex > .flex > div > div:after {
    position: absolute;
    right: 0;
    bottom: 10px;
    width: 7px;
    height: 7px;
    content: '';
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
    border-top: solid 2px #555;
    border-right: solid 2px #555;
  }

  .movie .movie_wrap .inner > .flex > .flex > div > div a.url {
    height: inherit;
    padding-bottom: 18px;
    border: none;
  }

  .movie .movie_wrap .inner > .flex > .flex > div > div a.url:after {
    content: none;
  }

  .movie .movie_wrap .inner > .flex > .flex > div > div a.url h3 {
    font-size: 14px;
    margin: 8px 0 0;
  }

  .movie .movie_wrap .inner > .flex > .flex > div > div .post-tags {
    position: relative;
  }

  .movie .movie_wrap .inner > .flex > .flex > div.pagenate {
    position: initial;
    height: initial;
    margin-top: -8px;
  }

  .movie .movie_wrap .inner > .flex > .flex > div.pagenate nav {
    margin-bottom: 32px;
  }

  .movie .movie_wrap .inner > .flex .cate_list {
    width: 100%;
  }

  .archive_news nav.switch {
    margin-bottom: 18px;
    gap: 18px 8px;
    flex-wrap: wrap;
  }

  .archive_news nav.switch a {
    width: calc((100% - 8px)/2);
  }

  .archive_news ul.list_wrap li a {
    gap: 6px 12px;
  }

  .archive_news ul.list_wrap li a p.tt {
    overflow: hidden;
    width: 100%;
    white-space: nowrap;
    text-decoration: none;
    text-overflow: ellipsis;
  }

  .archive_news ul.list_wrap li a:after {
    margin-top: 16px;
  }

  .products .products_wrap nav.switch {
    margin-bottom: 18px;
    gap: 0 8px;
  }

  .products .products_wrap nav.switch a {
    font-size: 14px;
    width: calc((100% - 8px)/2);
    padding: 10px;
  }

  .products .products_wrap .panel .panel_inner.panel_flow ul.link li {
    width: calc((100% - 8px)/2);
  }

  .products .products_wrap .panel .panel_inner ul.link {
    margin-bottom: 48px;
    gap: 8px;
  }

  .products .products_wrap .panel .panel_inner ul.link li {
    display: flex;
    width: calc((100% - 8px)/2);
    align-items: center;
  }

  .products .products_wrap .panel .panel_inner ul.link li a {
    text-align: left;
  }

  .products .products_wrap .panel .panel_inner ul.link li:last-of-type {
    width: 100%;
  }

  .products .products_wrap .panel .panel_inner section.wrap > div div.as h4 {
    font-size: 14px;
    margin-bottom: 8px;
    background-position: left top 2px;
    background-size: 9px;
    background-size: 9px;
  }

  .products .products_wrap .panel .panel_inner section.wrap > div div.as .flex {
    margin-bottom: 24px;
  }

  .products .products_wrap .panel .panel_inner section.wrap > div div.as .flex {
    gap: 10px;
  }

  .products .products_wrap .panel .panel_inner section.wrap > div div.as .flex > a {
    width: calc((100% - 10px)/2);
  }

  .products .products_wrap .panel .panel_inner section.wrap > div div.as .flex > a h5 {
    font-size: 12px;
    padding-left: 12px;
  }

  .products .products_wrap .panel .panel_inner section.wrap > div div.as .flex > a h5:after {
    top: 9px;
    width: 6px;
    height: 6px;
  }

  .single_products section .inner .wrap table td:nth-of-type(1) {
    width: 100% !important;
  }

  .single_products section .inner .wrap table td:nth-of-type(2) {
    width: 100% !important;
  }

  section#catalog .inner div.modal-open,
  section#catalog .inner > a {
    height: 205px;
    padding: 42px;
    background-image: url('../../images/products/catalog_bk_sp.webp');
    background-size: cover;
  }

  section#catalog .inner .modal-container .modal-body .modal-content {
    padding: 56px 20px;
  }

  section#catalog .inner .modal-container .modal-body .modal-content p.t-center {
    text-align: left;
  }

  section#catalog .inner .modal-container .modal-body .modal-content .form_wrap {
    margin-top: 24px;
  }

  section#catalog .inner .modal-container .modal-body .modal-content .form_wrap .button {
    margin-top: 24px;
  }

  main.recruit section.sv_img {
    height: 480px;
  }

  main.recruit section.cont1 .inner .flex {
    margin-left: 0;
    gap: 0;
    flex-wrap: nowrap;
  }

  main.recruit section.cont1 .inner .flex > div {
    width: 31vw;
    height: auto;
    margin: 0 auto;
    padding: 5px;
    background-image: url('../../images/recruit/cont1_bk_sp.svg');
    background-position: center;
    background-size: 111%;
    aspect-ratio: 1/1;
  }

  main.recruit section.cont1 .inner .flex > div p img {
    width: 61px;
    margin: 0 auto 6px;
  }

  main.recruit section.cont1 .inner .flex > div p span {
    font-size: 10px;
    letter-spacing: 0;
  }

  main.recruit section.cont2 .inner .flex {
    display: block;
    width: 340px;
    padding: 42px 30px;
  }

  main.recruit section.cont2 .inner .flex:not(:last-of-type) {
    margin-bottom: 0;
  }

  main.recruit section.cont2 .inner .flex:nth-of-type(1) {
    height: 266px;
    background-image: url('../../images/recruit/cont2_bk_sp1.svg');
  }

  main.recruit section.cont2 .inner .flex:nth-of-type(2) {
    height: 190px;
    background-image: url('../../images/recruit/cont2_bk_sp2.svg');
  }

  main.recruit section.cont2 .inner .flex:nth-of-type(3) {
    height: 228px;
    background-image: url('../../images/recruit/cont2_bk_sp3.svg');
  }

  main.recruit section.cont2 .inner .flex > div {
    display: block;
  }

  main.recruit section.cont2 .inner .flex > div h3 {
    width: 100%;
    margin-bottom: 8px;
  }

  main.recruit section.cont2 .inner .flex > div p {
    line-height: 1.46;
    width: 100%;
  }

  main.recruit section.cont3 .inner .flex {
    flex-wrap: wrap;
    justify-content: center;
  }

  main.recruit section.cont3 .inner .flex img {
    width: 100%;
  }

  main.recruit section.cont3 .inner .flex > div {
    width: 100%;
  }

  main.recruit section.cont4 .slider .slick-slide {
    height: 192px;
  }

  main.recruit section.cont5 .inner .flex div.fl_center:not(:last-of-type):after {
    content: none;
  }

  main.recruit section.cont5 .inner .flex.sp_s {
    display: flex !important;
    margin-top: 18px;
    gap: 4px;
    flex-wrap: nowrap;
  }

  main.recruit section.cont5 .inner .flex > div {
    width: 24vw;
    text-align: center;
  }

  main.recruit section.cont5 .inner .flex > div .fl_center {
    width: 100%;
  }

  main.recruit section.cont5 .inner .flex > div .fl_center span.rale {
    font-size: 14px;
    top: -8px;
    width: 30px;
    height: 30px;
    margin-left: -7vw;
  }

  main.recruit section.cont5 .inner .flex > div .fl_center p img {
    width: 13vw;
    margin-top: 4px;
  }

  main.recruit section.cont5 .inner .flex > div > span {
    font-size: 3vw;
    margin-top: 4px;
  }

  main.recruit section.cont6 .inner .flex {
    gap: 8px;
  }

  main.recruit section.cont6 .inner .flex a.re_btn {
    width: calc((100% - 8px)/2);
    height: 54px;
    background-position: center right 10px;
    background-size: 9px;
  }

  .sitemap .inner.flex {
    flex-wrap: wrap;
  }

  .sitemap .inner.flex .wrap {
    width: 100%;
  }

  .sitemap .inner.flex .wrap div.sub.flex {
    flex-wrap: wrap;
  }

  .sitemap .inner.flex .wrap div.sub.flex > div {
    width: 100%;
  }

  .technology ul.link li {
    width: 100%;
    min-width: initial;
  }

  .technology ul.link li a {
    text-align: left;
  }

  .s-none {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  table tr.nowrap {
    display: revert;
  }
}

@media screen and (max-width: 640px) {
  .single div.scroll {
    overflow-x: scroll;
  }
}

@media screen and (max-width: 439px) {
  main.threeminutes section.cont1 .inner > div {
    width: 350px;
    padding: 42px 30px 32px;
  }

  main.recruit section.sv_img .flex p:nth-of-type(1) br.pc {
    display: block !important;
  }
}

@media screen and (min-width:768px) and (max-width:1439px) {
  footer > .inner > div:nth-of-type(2) {
    gap: 0 24px;
  }
}

@media screen and (min-width:768px) and (max-width: 1099px) {
  footer > .inner > div:nth-of-type(2) {
    margin-top: 24px;
    justify-content: flex-start;
    gap: 0 50px;
  }

  footer > .inner > div:nth-of-type(2) .wrap a.t-white {
    font-size: 15px;
  }
}

@media screen and (min-width:768px) and (max-width:767px) {
  footer > .inner > div:nth-of-type(2) .wrap a.t-white {
    margin-bottom: 0;
    padding: 16px 0;
    border-top: solid 1.5px #555;
  }
}