@charset "UTF-8";
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

:root {
  --font-gothic:
  	"Zen Kaku Gothic New",
  	"YuGothic",
  	"Yu Gothic",
  	"游ゴシック体",
  	"Hiragino Kaku Gothic ProN",
  	"Hiragino Sans",
  	"BIZ UDPGothic",
  	"Meiryo",
  	"Arial",
  	sans-serif;
  /* Hex値 */
  --black: #111111;
  --gray: #c1c1c1;
  --gray-dark: #707070;
  --gray-light: #ececef;
  --red: #d62424;
  --blue: #0e94eb;
  --blue-light: #68c4fa;
  --navy: #022579;
  --yellow: #f5ff00;
  --gray-light02: #f4f4f4;
  /* RGB値 */
  --black-rgb: 17, 17, 17;
  --gray-rgb: 193, 193, 193;
  --gray-dark-rgb: 112, 112, 112;
  --gray-light-rgb: 236, 236, 239;
  --red-rgb: 255, 30, 70;
  --blue-rgb: 14, 148, 235;
  --blue-light-rgb: 104, 196, 250;
  --navy-rgb: 2, 37, 121;
  --yellow-rgb: 245, 255, 0;
  /* テーマカラー */
  --font-color: var(--black);
  --font-color-rgb: var(--black-rgb);
  --main-color: var(--blue-light);
  --main-color-rgb: var(--blue-light-rgb);
  --sub-color: var(--navy);
  --sub-color-rgb: var(--navy-rgb);
  --base-color: var(--gray-light);
  --base-color-rgb: var(--gray-light-rgb);
  --accent-color: var(--yellow);
  --accent-color-rgb: var(--yellow-rgb);
  /* ブレイクポイント */
  --breakpoint-xxs: 0px;
  --breakpoint-xs: 320px;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1500px;
}

/*@mixin hover_op($val:.7) {
	@media (any-hover: hover) and (pointer: fine) {
		&:hover {
			@content;
		}
	}

	& {
		transition: opacity .3s;
	}
}*/
/*@-webkit-keyframes loop {
	0% {
		background-position: left 0 center;
	}
	100% {
		background-position: left -100000px center;
	}
}*/
@keyframes loopX {
  0% {
    background-position: left 0 center;
  }
  100% {
    background-position: left -100000px center;
  }
}
@keyframes loopY {
  0% {
    background-position: top 0 center;
  }
  100% {
    background-position: top -100000px center;
  }
}
@keyframes slideIn {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
/************************************************

	reset

*************************************************/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
input,
select,
textarea,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  scroll-padding-top: 100px;
}
@media screen and (max-width: 768px) {
  html {
    scroll-padding-top: 80px;
  }
}

body {
  color: var(--font-color);
  font-family: var(--font-gothic);
  font-size: 1.6em;
  font-feature-settings: "palt";
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1280px) {
  body {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 480px) {
  body {
    font-size: 1.4em;
  }
}
@media screen and (max-width: 320px) {
  body {
    font-size: 1.3em;
  }
}

button:focus-visible,
a:focus-visible {
  outline: none;
  box-shadow: 0px 0px 0px 2px #000, 0px 0px 0px 3px #fff;
}

input:focus-visible {
  box-shadow: 0px 0px 0px 1px #fff inset, 0px 0px 0px 3px #333 inset;
}

ul {
  list-style: none;
}

a, a:link, a:active, a:visited, a:hover {
  text-decoration: none;
  color: inherit;
}
@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

button {
  border: none;
  border-radius: 0;
  background: none;
  font: inherit;
  padding: 0;
  cursor: pointer;
  text-transform: inherit;
}

img {
  max-width: 100%;
  vertical-align: top;
  height: auto;
}

address {
  font-style: normal;
}

/************************************************

	contents

*************************************************/
.b-container {
  position: relative;
  overflow: hidden;
}

.b-contents {
  position: relative;
}
.b-contents::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/bg_body01.png") center/739px;
  opacity: 0.2;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .b-contents::before {
    background-size: 433px;
    background-position-x: -50%;
  }
}

/************************************************

	section

*************************************************/
.s-container {
  max-width: 1444px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
}
@media screen and (max-width: 768px) {
  .s-container {
    padding: 0 15px;
  }
}
.s-container .s-container__inner {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
.s-container.s-container--wide {
  max-width: 1720px;
}
.s-container.s-container--narrow {
  max-width: 892px;
}
.s-container.s-container--under {
  padding-bottom: 200px;
}
@media screen and (max-width: 768px) {
  .s-container.s-container--under {
    padding-bottom: 120px;
  }
}
.s-container.s-container--2col {
  max-width: 1444px;
  display: flex;
}
@media screen and (max-width: 768px) {
  .s-container.s-container--2col {
    display: block;
  }
}
.s-container.s-container--2col .s-container__side {
  width: max(20%, 200px);
  flex-shrink: 0;
  position: absolute;
  height: calc(100% - 400px);
  left: 130px;
}
@media screen and (max-width: 1850px) {
  .s-container.s-container--2col .s-container__side {
    left: 75px;
  }
}
@media screen and (max-width: 1600px) {
  .s-container.s-container--2col .s-container__side {
    left: 40px;
  }
}
@media screen and (max-width: 768px) {
  .s-container.s-container--2col .s-container__side {
    display: none;
  }
}
.s-container.s-container--2col .s-container__main {
  padding-top: 600px;
  flex-grow: 1;
  width: 80%;
  max-width: 1088px;
  margin-left: max(200px, 20%);
}
@media screen and (max-width: 1200px) {
  .s-container.s-container--2col .s-container__main {
    padding-top: 475px;
  }
}
@media screen and (max-width: 768px) {
  .s-container.s-container--2col .s-container__main {
    width: 100%;
    padding-top: 310px;
    margin-left: 0;
  }
}
@media screen and (max-width: 540px) {
  .s-container.s-container--2col .s-container__main {
    padding-top: 210px;
  }
}
@media screen and (max-width: 320px) {
  .s-container.s-container--2col .s-container__main {
    padding-top: 160px;
  }
}

.b-section .b-section__title {
  color: var(--sub-color);
  font-weight: 700;
  font-size: 6rem;
  font-size: clamp(30px, 2.6042vw + 10px, 60px);
  position: relative;
  line-height: 1.5;
  letter-spacing: 0.1em;
  transform: translateX(-3px);
}
@media screen and (max-width: 768px) {
  .b-section .b-section__title {
    font-size: 2.8rem;
  }
}
.b-section .b-section__title.b-section__title--line {
  overflow: hidden;
}
.b-section .b-section__title.b-section__title--line::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 0;
  height: 3px;
  margin-left: 20px;
  background-color: var(--font-color);
  transform: translateY(-50%);
  transition: width 1s;
  transition-delay: 0.2s;
}
@media screen and (max-width: 768px) {
  .b-section .b-section__title.b-section__title--line::after {
    margin-left: 14px;
    height: 2px;
  }
}
.b-section .b-section__title.b-section__title--line.is-show::after {
  width: 100%;
}
.b-section .b-section__sub_title {
  position: relative;
  font-weight: 700;
  font-size: 6.3rem;
  font-size: 2.2rem;
  font-size: clamp(16px, 0.5208vw + 12px, 22px);
  letter-spacing: 0.2em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .b-section .b-section__sub_title {
    font-size: 1.4rem;
  }
}
.b-section .b-section__sub_title.b-section__sub_title--line {
  overflow: hidden;
}
.b-section .b-section__sub_title.b-section__sub_title--line::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 0;
  height: 3px;
  margin-left: 20px;
  background-color: var(--font-color);
  transform: translateY(-50%);
  transition: width 1s;
  transition-delay: 0.2s;
}
.b-section .b-section__sub_title.b-section__sub_title--line.is-show::after {
  width: 100%;
}
.b-section .b-section__title02 {
  position: relative;
}
.b-section .b-section__title02::before {
  content: "";
  width: 30px;
  height: 30px;
  background-color: var(--base-color);
  position: absolute;
  top: 5px;
  left: -15px;
}
@media screen and (max-width: 768px) {
  .b-section .b-section__title02::before {
    width: 20px;
    height: 20px;
    left: -7px;
  }
}
.b-section .b-section__title02 .b-section__title02-jp {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .b-section .b-section__title02 .b-section__title02-jp {
    font-size: 2.4rem;
  }
}
.b-section .b-section__title02 .b-section__title02-jp::after {
  content: "";
  background-color: var(--font-color);
  height: 2px;
  flex-grow: 1;
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .b-section .b-section__title02 .b-section__title02-jp::after {
    height: 1px;
    margin-left: 10px;
  }
}
.b-section .b-section__title02 .b-section__title02-en {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: var(--sub-color);
  position: relative;
}
@media screen and (max-width: 768px) {
  .b-section .b-section__title02 .b-section__title02-en {
    font-size: 1.3rem;
  }
}
.b-section .b-section__body {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .b-section .b-section__body {
    margin-top: 30px;
  }
}

/************************************************

	button

*************************************************/
.b-button a {
  position: relative;
  display: block;
  width: 280px;
  text-align: center;
  padding: 1.2em 0;
  border-radius: 2.4em;
  color: #fff;
  background-color: var(--main-color);
  box-shadow: 0px 0px 10px rgba(var(--base-dark-color-rgb), 0.5);
  font-family: var(--font-maru-gothic);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .b-button a {
    width: 220px;
    padding: 1.3em 0;
    font-size: 1.3rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .b-button a:hover {
    cursor: pointer;
    filter: saturate(0.7) brightness(0.8) contrast(1.4);
    box-shadow: 0px 0px 5px rgba(var(--base-dark-color-rgb), 0.2);
  }
}
.b-button a:focus-visible {
  outline: auto;
  outline-color: var(--main-color);
}
.b-button.b-button--arrow a {
  width: 400px;
  padding: 1.5em 0;
  border-radius: 3em;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .b-button.b-button--arrow a {
    width: 250px;
    font-size: 1.8rem;
  }
}
.b-button.b-button--arrow a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
  width: 2em;
  height: 2em;
  background: url("../images/icon_arrow03.svg") no-repeat center/contain;
  transform: translateY(-50%) rotate(270deg);
  transition: 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-button.b-button--arrow a:hover {
    cursor: pointer;
    filter: saturate(0.7) brightness(0.8) contrast(1.4);
    box-shadow: 0px 0px 5px rgba(var(--base-dark-color-rgb), 0.2);
  }
}

.b-button02 {
  margin-top: 30px;
}
.b-button02 a {
  max-width: 320px;
  width: 100%;
  display: block;
  border: 2px solid var(--navy);
  color: var(--navy);
  padding: 15px 20px;
  text-align: center;
  background: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.3;
  transition: 0.3s all;
}
@media screen and (max-width: 768px) {
  .b-button02 a {
    margin: 0 auto;
    font-size: 1.6rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .b-button02 a:hover {
    background: var(--navy);
    color: #fff;
  }
  .b-button02 a:hover .b-button02--link::after {
    background: url("../images/ico_new_tub_white.svg") no-repeat right center/contain;
  }
}
.b-button02 a .b-button02--link {
  position: relative;
  display: block;
  padding-right: 1.3em;
}
.b-button02 a .b-button02--link::after {
  content: "";
  display: block;
  background: url("../images/ico_new_tub.svg") no-repeat right center/contain;
  width: 0.9em;
  height: 0.9em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.b-submit_btn {
  background-color: var(--font-color);
  border: 2px solid var(--font-color);
  color: var(--accent-color);
  padding: 30px;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  width: 100%;
  max-width: 536px;
  text-align: center;
  display: block;
  margin: 0 auto;
  transition: background-color 0.3s, color 0.3s, opacity 0.3s, border-color 0.3s;
}
.b-submit_btn:focus-visible {
  outline: none;
  box-shadow: 0px 0px 0px 2px #fff, 0px 0px 0px 4px #111;
}
@media screen and (max-width: 768px) {
  .b-submit_btn {
    padding: 20px;
    font-size: 2rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .b-submit_btn:hover {
    background-color: var(--accent-color);
    color: var(--font-color);
  }
}
.b-submit_btn.is-disabled {
  background-color: var(--gray);
  border-color: var(--gray);
  color: #fff;
  cursor: default;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-submit_btn.is-disabled:hover {
    background-color: var(--gray);
    color: #fff;
  }
}

.b-cansel_btn {
  border: 2px solid var(--font-color);
  color: var(--font-color);
  padding: 30px;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  width: 100%;
  max-width: 536px;
  text-align: center;
  display: block;
  margin: 0 auto;
  transition: background-color 0.3s, color 0.3s, opacity 0.3s;
}
.b-cansel_btn:focus-visible {
  outline: none;
  box-shadow: 0px 0px 0px 2px #fff, 0px 0px 0px 4px #111;
}
@media screen and (max-width: 768px) {
  .b-cansel_btn {
    padding: 20px;
    font-size: 2rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .b-cansel_btn:hover {
    background-color: var(--font-color);
    color: #fff;
  }
}

/************************************************

	icon

*************************************************/
.b-ico_target01 {
  position: relative;
  display: inline-block;
  padding-right: 30px;
  border-bottom: 1px solid;
  transition: opacity 0.3s;
}
.b-ico_target01::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("../images/icon_target01.svg");
  transform: translateY(-50%);
  transition: background 0.3s;
}
@media screen and (max-width: 768px) {
  .b-ico_target01::after {
    width: 20px;
    height: 20px;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .b-ico_target01:hover {
    opacity: 0.7;
  }
}

/************************************************

	accessibility

*************************************************/
.b-btn_skip {
  display: inline-block;
  position: absolute;
  top: 140px;
  left: 20px;
  z-index: 1;
}
.b-btn_skip:focus-visible span {
  display: block;
  padding: 0.5em 1em;
  background: #fff;
  border-radius: 10px;
  font-weight: 700;
}
.b-btn_skip span {
  display: none;
}

/************************************************

	slider

*************************************************/
.slick-slider .slick-dots {
  bottom: -35px !important;
}
.slick-slider .slick-dots li {
  margin: 0 !important;
}
.slick-slider .slick-dots li button:before {
  font-size: 10px !important;
  color: var(--font-color) !important;
}
.slick-slider .slick-dots li.slick-active button:before {
  color: var(--base-dark-color) !important;
}
.slick-slider .slick-arrow {
  width: 48px;
  height: 48px;
  z-index: 1;
}
.slick-slider .slick-arrow::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/icon_arrow05.svg") no-repeat center/contain;
}
.slick-slider .slick-arrow.slick-prev {
  left: 70px;
}
.slick-slider .slick-arrow.slick-prev::before {
  transform: scaleX(-1);
}
.slick-slider .slick-arrow.slick-next {
  right: 70px;
}

/************************************************

	modal

*************************************************/
.b-modal .b-modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}
.b-modal .b-modal__container {
  position: relative;
  background-color: #fff;
  padding: 40px;
  max-width: 800px;
  max-height: 90vh;
  text-align: center;
  border-radius: 20px;
  overflow-y: auto;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .b-modal .b-modal__container {
    padding: 40px 20px 30px;
  }
}
.b-modal .b-modal__close {
  position: absolute;
  top: 10px;
  right: 20px;
  background: transparent;
  border: 0;
}
@media screen and (max-width: 768px) {
  .b-modal .b-modal__close {
    top: 5px;
  }
}
.b-modal .b-modal__close::before {
  content: "✕";
  font-size: 2rem;
}
.b-modal .b-modal__btn {
  font-size: 0.875rem;
  margin: 0;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: rgba(0, 0, 0, 0.8);
  border-radius: 0.25rem;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: transform 0.25s ease-out;
}
.b-modal .b-modal__btn:focus,
.b-modal .b-modal__btn:hover {
  transform: scale(1.05);
}
.b-modal .b-modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .b-modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .b-modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .b-modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .b-modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .b-modal__container,
.micromodal-slide .b-modal__overlay {
  will-change: transform;
}

/************************************************

	under

*************************************************/
.b-under_head {
  padding-top: 160px;
  padding-bottom: 20px;
  height: 400px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .b-under_head {
    padding-top: 110px;
    height: 270px;
  }
}
.b-under_head::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--base-color);
  mix-blend-mode: multiply;
  z-index: -1;
}
.b-under_head.b-under_head-ph {
  /*写真付き下層トップ用*/
}
@media screen and (max-width: 768px) {
  .b-under_head.b-under_head-ph {
    height: 330px;
  }
}
.b-under_head.b-under_head-ph::after {
  content: "";
  width: 67.135%;
  height: 500px;
  position: absolute;
  bottom: -400px;
  right: 0;
}
@media screen and (max-width: 1200px) {
  .b-under_head.b-under_head-ph::after {
    height: 380px;
    bottom: -275px;
  }
}
@media screen and (max-width: 768px) {
  .b-under_head.b-under_head-ph::after {
    width: 90%;
    height: 300px;
    bottom: -250px;
  }
}
@media screen and (max-width: 540px) {
  .b-under_head.b-under_head-ph::after {
    height: 200px;
    bottom: -150px;
  }
}
@media screen and (max-width: 320px) {
  .b-under_head.b-under_head-ph::after {
    height: 150px;
    bottom: -100px;
  }
}
.b-under_head .b-under_head__inner {
  max-width: 1444px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  /*写真付き下層トップ用*/
}
@media screen and (max-width: 768px) {
  .b-under_head .b-under_head__inner {
    display: block;
    padding: 0 20px;
  }
}
.b-under_head .b-under_head__inner.b-under_head__inner-ph {
  align-items: flex-end;
}
.b-under_head .b-under_head__title__wrapper {
  letter-spacing: 0.1em;
  font-weight: 700;
}
.b-under_head .b-under_head__title_en {
  font-size: 2.4rem;
  font-size: clamp(14px, 0.8681vw + 7.3333px, 24px);
  color: var(--sub-color);
  line-height: 1.3em;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .b-under_head .b-under_head__title_en {
    font-size: 1.4rem;
  }
}
.b-under_head .b-under_head__title {
  font-size: 5rem;
  font-size: clamp(34px, 1.3889vw + 23.3333px, 50px);
  line-height: 1.3em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .b-under_head .b-under_head__title {
    font-size: 3.4rem;
  }
}
.b-under_head.b-under_head--short {
  height: 280px;
}
@media screen and (max-width: 768px) {
  .b-under_head.b-under_head--short {
    height: 230px;
  }
}
.b-under_head.b-under_head--short .b-bread {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .b-under_head.b-under_head--short .b-bread {
    margin-top: 30px;
  }
}

.b-bread {
  font-size: 1.4rem;
  margin-top: 190px;
  letter-spacing: 0;
  /*写真付き下層トップ用*/
}
@media screen and (max-width: 768px) {
  .b-bread {
    margin-top: 40px;
  }
}
.b-bread.b-bread-ph {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .b-bread.b-bread-ph {
    margin-top: 40px;
  }
}
.b-bread .b-bread_list {
  display: flex;
  align-items: center;
}
.b-bread .b-bread_list li {
  position: relative;
}
.b-bread .b-bread_list li:nth-child(n+2) {
  margin-left: 10px;
  padding-left: 1.5em;
}
.b-bread .b-bread_list li:nth-child(n+2)::before {
  content: "";
  border: solid;
  border-width: 1px 1px 0 0;
  width: 0.5em;
  height: 0.5em;
  position: absolute;
  top: 0.65em;
  left: 0;
  transform: rotate(45deg);
}
.b-bread .b-bread_list li a {
  text-decoration: underline;
  transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-bread .b-bread_list li a:hover {
    opacity: 0.7;
  }
}

.b-side_nav {
  padding-top: 120px;
  position: relative;
}
.b-side_nav .b-side_nav__lists {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1000px) {
  .b-side_nav .b-side_nav__lists {
    font-size: 1.6rem;
  }
}
.b-side_nav .b-side_nav__lists .b-side_nav__lists__item {
  position: relative;
  line-height: 1;
}
.b-side_nav .b-side_nav__lists .b-side_nav__lists__item:nth-child(n+2) {
  margin-top: 50px;
}
@media screen and (max-width: 1000px) {
  .b-side_nav .b-side_nav__lists .b-side_nav__lists__item:nth-child(n+2) {
    margin-top: 40px;
  }
}
.b-side_nav .b-side_nav__lists .b-side_nav__lists__item:nth-child(n+2)::before {
  content: "";
  background-color: var(--font-color);
  width: 1px;
  height: 17px;
  position: absolute;
  top: -34px;
  left: 0.5em;
}
@media screen and (max-width: 1000px) {
  .b-side_nav .b-side_nav__lists .b-side_nav__lists__item:nth-child(n+2)::before {
    top: -30px;
  }
}
.b-side_nav .b-side_nav__lists .b-side_nav__lists__item a {
  width: 100%;
  height: 100%;
  padding-left: 1.5em;
  position: relative;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-side_nav .b-side_nav__lists .b-side_nav__lists__item a:hover {
    opacity: 0.7;
  }
}
.b-side_nav .b-side_nav__lists .b-side_nav__lists__item a::before {
  content: "";
  background-color: var(--base-color);
  width: 1em;
  height: 1em;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.b-side_nav .b-side_nav__lists .b-side_nav__lists__item.is-current a::before {
  background-color: var(--sub-color);
}

.b-under_bottom_nav {
  position: relative;
  background: var(--gray-light);
  padding: 120px 0;
  margin-top: 0 !important;
}
@media screen and (max-width: 1000px) {
  .b-under_bottom_nav {
    padding: 60px 0;
  }
}
.b-under_bottom_nav .b-under_bottom_nav__inner {
  max-width: 1365px;
  margin: 0 auto;
  padding: 0 15px;
}
.b-under_bottom_nav .b-under_bottom_nav__col {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1000px) {
  .b-under_bottom_nav .b-under_bottom_nav__col {
    display: block;
  }
}
.b-under_bottom_nav .b-under_bottom_nav__col > div {
  width: 48%;
  margin-right: 4%;
}
.b-under_bottom_nav .b-under_bottom_nav__col > div:last-child {
  margin-right: 0;
}
@media screen and (max-width: 1000px) {
  .b-under_bottom_nav .b-under_bottom_nav__col > div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 25px;
  }
  .b-under_bottom_nav .b-under_bottom_nav__col > div:last-child {
    margin-bottom: 0;
  }
}
.b-under_bottom_nav .b-under_bottom_nav__btn a,
.b-under_bottom_nav .b-under_bottom_nav__btn button {
  display: block;
  width: 100%;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  padding: 75px 30px;
  background: var(--navy);
  color: #fff;
  font-size: 2.4rem;
  text-align: center;
  transition: background 0.2s, transform 0.4s;
}
@media screen and (max-width: 1000px) {
  .b-under_bottom_nav .b-under_bottom_nav__btn a,
  .b-under_bottom_nav .b-under_bottom_nav__btn button {
    padding: 45px 30px;
  }
}
@media screen and (max-width: 768px) {
  .b-under_bottom_nav .b-under_bottom_nav__btn a,
  .b-under_bottom_nav .b-under_bottom_nav__btn button {
    padding: 35px 15px;
    font-size: 1.6rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .b-under_bottom_nav .b-under_bottom_nav__btn a:hover .b-under_bottom_nav__btn--arrow::after,
  .b-under_bottom_nav .b-under_bottom_nav__btn button:hover .b-under_bottom_nav__btn--arrow::after {
    background: url("../images/ico_arrow02_white.svg") no-repeat center/contain;
    transform: translateY(-50%) scale(1.2);
  }
}
.b-under_bottom_nav .b-under_bottom_nav__btn .b-under_bottom_nav__btn--arrow {
  position: relative;
  display: block;
  padding-right: 65px;
}
@media screen and (max-width: 1000px) {
  .b-under_bottom_nav .b-under_bottom_nav__btn .b-under_bottom_nav__btn--arrow {
    padding-right: 35px;
  }
}
.b-under_bottom_nav .b-under_bottom_nav__btn .b-under_bottom_nav__btn--arrow::after {
  content: "";
  display: block;
  background: url("../images/ico_arrow02.svg") no-repeat right center/contain;
  width: 60px;
  height: 60px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: background 0.2s, transform 0.4s;
}
@media screen and (max-width: 1000px) {
  .b-under_bottom_nav .b-under_bottom_nav__btn .b-under_bottom_nav__btn--arrow::after {
    width: 30px;
    height: 30px;
  }
}
.b-under_bottom_nav .b-under_bottom_nav__voice .b-under_bottom_nav__voice__title {
  text-align: center;
  margin-bottom: 30px;
}
.b-under_bottom_nav .b-under_bottom_nav__voice .b-under_bottom_nav__voice__main_title {
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .b-under_bottom_nav .b-under_bottom_nav__voice .b-under_bottom_nav__voice__main_title {
    font-size: 2rem;
  }
}
.b-under_bottom_nav .b-under_bottom_nav__voice .b-under_bottom_nav__voice__sub_title {
  position: relative;
  font-weight: 700;
  color: var(--sub-color);
  font-size: 2rem;
  font-size: clamp(14px, 0.6303vw + 9.1597px, 20px);
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .b-under_bottom_nav .b-under_bottom_nav__voice .b-under_bottom_nav__voice__sub_title {
    font-size: 1.4rem;
  }
}
.b-under_bottom_nav .b-under_bottom_nav__voice .b-under_bottom_nav__voice__list {
  display: flex;
  justify-content: center;
  max-width: 1050px;
  margin: 0 auto;
}
.b-under_bottom_nav .b-under_bottom_nav__voice .b-under_bottom_nav__voice__list li {
  width: 33.33%;
  margin-right: 3%;
  text-align: center;
}
.b-under_bottom_nav .b-under_bottom_nav__voice .b-under_bottom_nav__voice__list li:last-child {
  margin-right: 0;
}
.b-under_bottom_nav .b-under_bottom_nav__voice .b-under_bottom_nav__voice__list li a {
  transition: 0.3s opacity;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-under_bottom_nav .b-under_bottom_nav__voice .b-under_bottom_nav__voice__list li a:hover {
    opacity: 0.7;
  }
}
.b-under_bottom_nav .b-under_bottom_nav__voice .b-under_bottom_nav__voice__name {
  margin-top: 10px;
  display: block;
  font-size: 2rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .b-under_bottom_nav .b-under_bottom_nav__voice .b-under_bottom_nav__voice__name {
    font-size: 1.5rem;
  }
}

/************************************************

	block

*************************************************/
/************************************************

	table

*************************************************/
.b-table01 dl {
  position: relative;
  display: flex;
}
@media screen and (max-width: 768px) {
  .b-table01 dl {
    display: block;
  }
}
.b-table01 dl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-image: linear-gradient(to right, var(--gray) 2px, transparent 1px);
  background-size: 7px 2px;
  background-repeat: repeat-x;
}
.b-table01 dl dt {
  position: relative;
  flex-shrink: 0;
  width: 20%;
  padding: 30px 40px;
  font-weight: 700;
  text-align: left;
  color: var(--navy);
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .b-table01 dl dt {
    width: 100%;
    padding: 20px 0 10px;
  }
}
.b-table01 dl dt.is-opened::after {
  transform: rotate(270deg);
}
.b-table01 dl dd {
  padding: 30px 50px;
}
@media screen and (max-width: 768px) {
  .b-table01 dl dd {
    padding: 0 0 20px;
  }
}
@media screen and (max-width: 768px) {
  .b-table01 dl:first-of-type dt {
    padding-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .b-table01 dl:last-of-type::after {
    content: none;
  }
}
@media screen and (min-width: 769px) {
  .b-table01.b-table01--bg dl dt {
    background: rgba(var(--base-right-color-rgb), 0.3);
  }
}

/************************************************

	form

*************************************************/
/************************************************

	list

*************************************************/
/************************************************

	interview

*************************************************/
.b-interview_list {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .b-interview_list {
    flex-wrap: wrap;
    margin-top: 40px;
  }
}
.b-interview_list .b-interview_list__item {
  max-width: 329px;
  width: 24.1202346041%;
  padding: 0 8px;
}
@media screen and (max-width: 768px) {
  .b-interview_list .b-interview_list__item {
    max-width: inherit;
    width: 32%;
    padding: 0;
  }
}
@media screen and (max-width: 576px) {
  .b-interview_list .b-interview_list__item {
    width: 48%;
  }
}
@media screen and (max-width: 768px) {
  .b-interview_list .b-interview_list__item:nth-of-type(n + 4) {
    margin-top: 30px;
  }
}
@media screen and (max-width: 576px) {
  .b-interview_list .b-interview_list__item:nth-of-type(n + 3) {
    margin-top: 30px;
  }
}
.b-interview_list .b-interview_list__item a picture {
  overflow: hidden;
  display: block;
}
.b-interview_list .b-interview_list__item a picture img {
  transition: transform 0.2s, filter 0.2s;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-interview_list .b-interview_list__item a:hover picture img {
    transform: scale(1.1);
    filter: brightness(80%);
  }
}
.b-interview_list .b-interview_list__item .b-interview_list__profile {
  position: relative;
  margin-top: 20px;
  padding-left: 2em;
}
@media screen and (max-width: 768px) {
  .b-interview_list .b-interview_list__item .b-interview_list__profile {
    margin-top: 10px;
  }
}
.b-interview_list .b-interview_list__item .b-interview_list__number {
  position: absolute;
  left: 0;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .b-interview_list .b-interview_list__item .b-interview_list__number {
    font-size: 1.2rem;
  }
}
.b-interview_list .b-interview_list__item .b-interview_list__department {
  display: block;
}
.b-interview_list .b-interview_list__item .b-interview_list__name {
  display: block;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .b-interview_list .b-interview_list__item .b-interview_list__name {
    font-size: 1.5rem;
  }
}
.b-interview_list .slick-dots li {
  margin: 0 !important;
}
.b-interview_list .slick-dots li button:before {
  font-size: 10px !important;
  color: #fff !important;
}
.b-interview_list .slick-dots li.slick-active button:before {
  color: #fff !important;
}
.b-interview_list .slick-arrow {
  width: 48px;
  height: 48px;
  z-index: 1;
}
.b-interview_list .slick-arrow::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/ico_arrow02_white.svg") no-repeat center/contain;
}
.b-interview_list .slick-arrow.slick-prev {
  left: -25px;
}
.b-interview_list .slick-arrow.slick-prev::before {
  transform: scaleX(-1);
}
.b-interview_list .slick-arrow.slick-next {
  right: -25px;
}

/************************************************

	animation

*************************************************/
.b-slide_up {
  overflow: hidden;
}
.b-slide_up .b-slide_up__item {
  transform: translateY(100%);
  transition: transform 1s;
}
.b-slide_up.is-show .b-slide_up__item {
  transform: translateY(0);
}

/************************************************

	utility

*************************************************/
.b-m0 {
  margin: 0px !important;
}

.b-mt0 {
  margin-top: 0px !important;
}

.b-mb0 {
  margin-bottom: 0px !important;
}

.b-ml0 {
  margin-left: 0px !important;
}

.b-mr0 {
  margin-right: 0px !important;
}

.b-p0 {
  padding: 0px !important;
}

.b-pt0 {
  padding-top: 0px !important;
}

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

.b-pl0 {
  padding-left: 0px !important;
}

.b-pr0 {
  padding-right: 0px !important;
}

.b-mw0 {
  max-width: 0px !important;
}

.b-m5 {
  margin: 5px !important;
}

.b-mt5 {
  margin-top: 5px !important;
}

.b-mb5 {
  margin-bottom: 5px !important;
}

.b-ml5 {
  margin-left: 5px !important;
}

.b-mr5 {
  margin-right: 5px !important;
}

.b-p5 {
  padding: 5px !important;
}

.b-pt5 {
  padding-top: 5px !important;
}

.b-pb5 {
  padding-bottom: 5px !important;
}

.b-pl5 {
  padding-left: 5px !important;
}

.b-pr5 {
  padding-right: 5px !important;
}

.b-mw80 {
  max-width: 80px !important;
}

.b-m10 {
  margin: 10px !important;
}

.b-mt10 {
  margin-top: 10px !important;
}

.b-mb10 {
  margin-bottom: 10px !important;
}

.b-ml10 {
  margin-left: 10px !important;
}

.b-mr10 {
  margin-right: 10px !important;
}

.b-p10 {
  padding: 10px !important;
}

.b-pt10 {
  padding-top: 10px !important;
}

.b-pb10 {
  padding-bottom: 10px !important;
}

.b-pl10 {
  padding-left: 10px !important;
}

.b-pr10 {
  padding-right: 10px !important;
}

.b-mw160 {
  max-width: 160px !important;
}

.b-m15 {
  margin: 15px !important;
}

.b-mt15 {
  margin-top: 15px !important;
}

.b-mb15 {
  margin-bottom: 15px !important;
}

.b-ml15 {
  margin-left: 15px !important;
}

.b-mr15 {
  margin-right: 15px !important;
}

.b-p15 {
  padding: 15px !important;
}

.b-pt15 {
  padding-top: 15px !important;
}

.b-pb15 {
  padding-bottom: 15px !important;
}

.b-pl15 {
  padding-left: 15px !important;
}

.b-pr15 {
  padding-right: 15px !important;
}

.b-mw240 {
  max-width: 240px !important;
}

.b-m20 {
  margin: 20px !important;
}

.b-mt20 {
  margin-top: 20px !important;
}

.b-mb20 {
  margin-bottom: 20px !important;
}

.b-ml20 {
  margin-left: 20px !important;
}

.b-mr20 {
  margin-right: 20px !important;
}

.b-p20 {
  padding: 20px !important;
}

.b-pt20 {
  padding-top: 20px !important;
}

.b-pb20 {
  padding-bottom: 20px !important;
}

.b-pl20 {
  padding-left: 20px !important;
}

.b-pr20 {
  padding-right: 20px !important;
}

.b-mw320 {
  max-width: 320px !important;
}

.b-m25 {
  margin: 25px !important;
}

.b-mt25 {
  margin-top: 25px !important;
}

.b-mb25 {
  margin-bottom: 25px !important;
}

.b-ml25 {
  margin-left: 25px !important;
}

.b-mr25 {
  margin-right: 25px !important;
}

.b-p25 {
  padding: 25px !important;
}

.b-pt25 {
  padding-top: 25px !important;
}

.b-pb25 {
  padding-bottom: 25px !important;
}

.b-pl25 {
  padding-left: 25px !important;
}

.b-pr25 {
  padding-right: 25px !important;
}

.b-mw400 {
  max-width: 400px !important;
}

.b-m30 {
  margin: 30px !important;
}

.b-mt30 {
  margin-top: 30px !important;
}

.b-mb30 {
  margin-bottom: 30px !important;
}

.b-ml30 {
  margin-left: 30px !important;
}

.b-mr30 {
  margin-right: 30px !important;
}

.b-p30 {
  padding: 30px !important;
}

.b-pt30 {
  padding-top: 30px !important;
}

.b-pb30 {
  padding-bottom: 30px !important;
}

.b-pl30 {
  padding-left: 30px !important;
}

.b-pr30 {
  padding-right: 30px !important;
}

.b-mw480 {
  max-width: 480px !important;
}

.b-m35 {
  margin: 35px !important;
}

.b-mt35 {
  margin-top: 35px !important;
}

.b-mb35 {
  margin-bottom: 35px !important;
}

.b-ml35 {
  margin-left: 35px !important;
}

.b-mr35 {
  margin-right: 35px !important;
}

.b-p35 {
  padding: 35px !important;
}

.b-pt35 {
  padding-top: 35px !important;
}

.b-pb35 {
  padding-bottom: 35px !important;
}

.b-pl35 {
  padding-left: 35px !important;
}

.b-pr35 {
  padding-right: 35px !important;
}

.b-mw560 {
  max-width: 560px !important;
}

.b-m40 {
  margin: 40px !important;
}

.b-mt40 {
  margin-top: 40px !important;
}

.b-mb40 {
  margin-bottom: 40px !important;
}

.b-ml40 {
  margin-left: 40px !important;
}

.b-mr40 {
  margin-right: 40px !important;
}

.b-p40 {
  padding: 40px !important;
}

.b-pt40 {
  padding-top: 40px !important;
}

.b-pb40 {
  padding-bottom: 40px !important;
}

.b-pl40 {
  padding-left: 40px !important;
}

.b-pr40 {
  padding-right: 40px !important;
}

.b-mw640 {
  max-width: 640px !important;
}

.b-m45 {
  margin: 45px !important;
}

.b-mt45 {
  margin-top: 45px !important;
}

.b-mb45 {
  margin-bottom: 45px !important;
}

.b-ml45 {
  margin-left: 45px !important;
}

.b-mr45 {
  margin-right: 45px !important;
}

.b-p45 {
  padding: 45px !important;
}

.b-pt45 {
  padding-top: 45px !important;
}

.b-pb45 {
  padding-bottom: 45px !important;
}

.b-pl45 {
  padding-left: 45px !important;
}

.b-pr45 {
  padding-right: 45px !important;
}

.b-mw720 {
  max-width: 720px !important;
}

.b-m50 {
  margin: 50px !important;
}

.b-mt50 {
  margin-top: 50px !important;
}

.b-mb50 {
  margin-bottom: 50px !important;
}

.b-ml50 {
  margin-left: 50px !important;
}

.b-mr50 {
  margin-right: 50px !important;
}

.b-p50 {
  padding: 50px !important;
}

.b-pt50 {
  padding-top: 50px !important;
}

.b-pb50 {
  padding-bottom: 50px !important;
}

.b-pl50 {
  padding-left: 50px !important;
}

.b-pr50 {
  padding-right: 50px !important;
}

.b-mw800 {
  max-width: 800px !important;
}

.b-m55 {
  margin: 55px !important;
}

.b-mt55 {
  margin-top: 55px !important;
}

.b-mb55 {
  margin-bottom: 55px !important;
}

.b-ml55 {
  margin-left: 55px !important;
}

.b-mr55 {
  margin-right: 55px !important;
}

.b-p55 {
  padding: 55px !important;
}

.b-pt55 {
  padding-top: 55px !important;
}

.b-pb55 {
  padding-bottom: 55px !important;
}

.b-pl55 {
  padding-left: 55px !important;
}

.b-pr55 {
  padding-right: 55px !important;
}

.b-mw880 {
  max-width: 880px !important;
}

.b-m60 {
  margin: 60px !important;
}

.b-mt60 {
  margin-top: 60px !important;
}

.b-mb60 {
  margin-bottom: 60px !important;
}

.b-ml60 {
  margin-left: 60px !important;
}

.b-mr60 {
  margin-right: 60px !important;
}

.b-p60 {
  padding: 60px !important;
}

.b-pt60 {
  padding-top: 60px !important;
}

.b-pb60 {
  padding-bottom: 60px !important;
}

.b-pl60 {
  padding-left: 60px !important;
}

.b-pr60 {
  padding-right: 60px !important;
}

.b-mw960 {
  max-width: 960px !important;
}

.b-m65 {
  margin: 65px !important;
}

.b-mt65 {
  margin-top: 65px !important;
}

.b-mb65 {
  margin-bottom: 65px !important;
}

.b-ml65 {
  margin-left: 65px !important;
}

.b-mr65 {
  margin-right: 65px !important;
}

.b-p65 {
  padding: 65px !important;
}

.b-pt65 {
  padding-top: 65px !important;
}

.b-pb65 {
  padding-bottom: 65px !important;
}

.b-pl65 {
  padding-left: 65px !important;
}

.b-pr65 {
  padding-right: 65px !important;
}

.b-mw1040 {
  max-width: 1040px !important;
}

.b-m70 {
  margin: 70px !important;
}

.b-mt70 {
  margin-top: 70px !important;
}

.b-mb70 {
  margin-bottom: 70px !important;
}

.b-ml70 {
  margin-left: 70px !important;
}

.b-mr70 {
  margin-right: 70px !important;
}

.b-p70 {
  padding: 70px !important;
}

.b-pt70 {
  padding-top: 70px !important;
}

.b-pb70 {
  padding-bottom: 70px !important;
}

.b-pl70 {
  padding-left: 70px !important;
}

.b-pr70 {
  padding-right: 70px !important;
}

.b-mw1120 {
  max-width: 1120px !important;
}

.b-m75 {
  margin: 75px !important;
}

.b-mt75 {
  margin-top: 75px !important;
}

.b-mb75 {
  margin-bottom: 75px !important;
}

.b-ml75 {
  margin-left: 75px !important;
}

.b-mr75 {
  margin-right: 75px !important;
}

.b-p75 {
  padding: 75px !important;
}

.b-pt75 {
  padding-top: 75px !important;
}

.b-pb75 {
  padding-bottom: 75px !important;
}

.b-pl75 {
  padding-left: 75px !important;
}

.b-pr75 {
  padding-right: 75px !important;
}

.b-mw1200 {
  max-width: 1200px !important;
}

.b-m80 {
  margin: 80px !important;
}

.b-mt80 {
  margin-top: 80px !important;
}

.b-mb80 {
  margin-bottom: 80px !important;
}

.b-ml80 {
  margin-left: 80px !important;
}

.b-mr80 {
  margin-right: 80px !important;
}

.b-p80 {
  padding: 80px !important;
}

.b-pt80 {
  padding-top: 80px !important;
}

.b-pb80 {
  padding-bottom: 80px !important;
}

.b-pl80 {
  padding-left: 80px !important;
}

.b-pr80 {
  padding-right: 80px !important;
}

.b-mw1280 {
  max-width: 1280px !important;
}

.b-m85 {
  margin: 85px !important;
}

.b-mt85 {
  margin-top: 85px !important;
}

.b-mb85 {
  margin-bottom: 85px !important;
}

.b-ml85 {
  margin-left: 85px !important;
}

.b-mr85 {
  margin-right: 85px !important;
}

.b-p85 {
  padding: 85px !important;
}

.b-pt85 {
  padding-top: 85px !important;
}

.b-pb85 {
  padding-bottom: 85px !important;
}

.b-pl85 {
  padding-left: 85px !important;
}

.b-pr85 {
  padding-right: 85px !important;
}

.b-mw1360 {
  max-width: 1360px !important;
}

.b-m90 {
  margin: 90px !important;
}

.b-mt90 {
  margin-top: 90px !important;
}

.b-mb90 {
  margin-bottom: 90px !important;
}

.b-ml90 {
  margin-left: 90px !important;
}

.b-mr90 {
  margin-right: 90px !important;
}

.b-p90 {
  padding: 90px !important;
}

.b-pt90 {
  padding-top: 90px !important;
}

.b-pb90 {
  padding-bottom: 90px !important;
}

.b-pl90 {
  padding-left: 90px !important;
}

.b-pr90 {
  padding-right: 90px !important;
}

.b-mw1440 {
  max-width: 1440px !important;
}

.b-m95 {
  margin: 95px !important;
}

.b-mt95 {
  margin-top: 95px !important;
}

.b-mb95 {
  margin-bottom: 95px !important;
}

.b-ml95 {
  margin-left: 95px !important;
}

.b-mr95 {
  margin-right: 95px !important;
}

.b-p95 {
  padding: 95px !important;
}

.b-pt95 {
  padding-top: 95px !important;
}

.b-pb95 {
  padding-bottom: 95px !important;
}

.b-pl95 {
  padding-left: 95px !important;
}

.b-pr95 {
  padding-right: 95px !important;
}

.b-mw1520 {
  max-width: 1520px !important;
}

.b-m100 {
  margin: 100px !important;
}

.b-mt100 {
  margin-top: 100px !important;
}

.b-mb100 {
  margin-bottom: 100px !important;
}

.b-ml100 {
  margin-left: 100px !important;
}

.b-mr100 {
  margin-right: 100px !important;
}

.b-p100 {
  padding: 100px !important;
}

.b-pt100 {
  padding-top: 100px !important;
}

.b-pb100 {
  padding-bottom: 100px !important;
}

.b-pl100 {
  padding-left: 100px !important;
}

.b-pr100 {
  padding-right: 100px !important;
}

.b-mw1600 {
  max-width: 1600px !important;
}

.b-var_mt20 {
  margin-top: 20px !important;
}
@media screen and (max-width: 768px) {
  .b-var_mt20 {
    margin-top: calc(20px / 2) !important;
  }
}

.b-var_pt20 {
  padding-top: 20px !important;
}
@media screen and (max-width: 768px) {
  .b-var_pt20 {
    padding-top: calc(20px / 2) !important;
  }
}

.b-var_mt40 {
  margin-top: 40px !important;
}
@media screen and (max-width: 768px) {
  .b-var_mt40 {
    margin-top: calc(40px / 2) !important;
  }
}

.b-var_pt40 {
  padding-top: 40px !important;
}
@media screen and (max-width: 768px) {
  .b-var_pt40 {
    padding-top: calc(40px / 2) !important;
  }
}

.b-var_mt60 {
  margin-top: 60px !important;
}
@media screen and (max-width: 768px) {
  .b-var_mt60 {
    margin-top: calc(60px / 2) !important;
  }
}

.b-var_pt60 {
  padding-top: 60px !important;
}
@media screen and (max-width: 768px) {
  .b-var_pt60 {
    padding-top: calc(60px / 2) !important;
  }
}

.b-var_mt80 {
  margin-top: 80px !important;
}
@media screen and (max-width: 768px) {
  .b-var_mt80 {
    margin-top: calc(80px / 2) !important;
  }
}

.b-var_pt80 {
  padding-top: 80px !important;
}
@media screen and (max-width: 768px) {
  .b-var_pt80 {
    padding-top: calc(80px / 2) !important;
  }
}

.b-var_mt100 {
  margin-top: 100px !important;
}
@media screen and (max-width: 768px) {
  .b-var_mt100 {
    margin-top: calc(100px / 2) !important;
  }
}

.b-var_pt100 {
  padding-top: 100px !important;
}
@media screen and (max-width: 768px) {
  .b-var_pt100 {
    padding-top: calc(100px / 2) !important;
  }
}

.b-var_mt120 {
  margin-top: 120px !important;
}
@media screen and (max-width: 768px) {
  .b-var_mt120 {
    margin-top: calc(120px / 2) !important;
  }
}

.b-var_pt120 {
  padding-top: 120px !important;
}
@media screen and (max-width: 768px) {
  .b-var_pt120 {
    padding-top: calc(120px / 2) !important;
  }
}

.b-var_mt140 {
  margin-top: 140px !important;
}
@media screen and (max-width: 768px) {
  .b-var_mt140 {
    margin-top: calc(140px / 2) !important;
  }
}

.b-var_pt140 {
  padding-top: 140px !important;
}
@media screen and (max-width: 768px) {
  .b-var_pt140 {
    padding-top: calc(140px / 2) !important;
  }
}

.b-var_mt160 {
  margin-top: 160px !important;
}
@media screen and (max-width: 768px) {
  .b-var_mt160 {
    margin-top: calc(160px / 2) !important;
  }
}

.b-var_pt160 {
  padding-top: 160px !important;
}
@media screen and (max-width: 768px) {
  .b-var_pt160 {
    padding-top: calc(160px / 2) !important;
  }
}

.b-var_mt180 {
  margin-top: 180px !important;
}
@media screen and (max-width: 768px) {
  .b-var_mt180 {
    margin-top: calc(180px / 2) !important;
  }
}

.b-var_pt180 {
  padding-top: 180px !important;
}
@media screen and (max-width: 768px) {
  .b-var_pt180 {
    padding-top: calc(180px / 2) !important;
  }
}

.b-var_mt200 {
  margin-top: 200px !important;
}
@media screen and (max-width: 768px) {
  .b-var_mt200 {
    margin-top: calc(200px / 2) !important;
  }
}

.b-var_pt200 {
  padding-top: 200px !important;
}
@media screen and (max-width: 768px) {
  .b-var_pt200 {
    padding-top: calc(200px / 2) !important;
  }
}

.b-mw1000 {
  max-width: 1000px;
}

.b-m_auto {
  margin-left: auto;
  margin-right: auto;
}

.b-w_fc {
  width: -moz-fit-content;
  width: fit-content;
}

.b-d_ib {
  display: inline-block;
}

.b-pc_br {
  display: inline;
}
@media screen and (max-width: 768px) {
  .b-pc_br {
    display: none;
  }
}

.b-sp_br {
  display: none;
}
@media screen and (max-width: 768px) {
  .b-sp_br {
    display: inline;
  }
}

@media screen and (max-width: 768px) {
  .b-pc_only {
    display: none;
  }
}

.b-sp_only {
  display: none;
}
@media screen and (max-width: 768px) {
  .b-sp_only {
    display: inherit;
  }
}

/************************************************

	text

*************************************************/
.b-center {
  text-align: center !important;
}

.b-left {
  text-align: left !important;
}

.b-right {
  text-align: right !important;
}

.b-small {
  font-size: 0.8em !important;
}

.b-big {
  font-size: 1.2em !important;
}

.b-bold {
  font-weight: bold !important;
}

.b-text_link {
  color: var(--base-dark-color) !important;
  text-decoration: underline !important;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-text_link:hover {
    opacity: 0.7;
  }
}

.b-text_en {
  font-family: var(--font-english) !important;
}

.b-text_italic {
  font-style: italic !important;
}

.b-text_main {
  color: var(--main-color) !important;
}

.b-text_red {
  color: var(--red) !important;
}

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

.b-indent02 {
  text-indent: -0.5em;
  padding-left: 0.5em;
}

.b-notes01 {
  text-indent: -1em;
  margin-top: 0.5em;
  padding-left: 1em;
  font-size: 1.4rem;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .b-notes01 {
    font-size: 1.2rem;
  }
}

.b-marker {
  background: linear-gradient(transparent 50%, var(--accent-color) 50%);
}

.b-lh2 {
  line-height: 2;
}

/************************************************

	header

*************************************************/
.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 9999;
  transition: transform 0.2s;
}
@media screen and (max-width: 1200px) {
  .header {
    padding: 20px 15px;
  }
}
.header .header__l_col {
  padding: 0 40px;
}
@media screen and (max-width: 1200px) {
  .header .header__l_col {
    padding: 0;
  }
}
.header .header__r_col {
  display: flex;
  justify-content: end;
  align-items: center;
  transition: 0.3s;
  transition-property: top, right, width, height, padding;
}
@media screen and (max-width: 1200px) {
  .header .header__r_col {
    display: block;
    position: fixed;
    top: 30px;
    right: 30px;
    width: 0;
    height: 0;
    background-color: var(--sub-color);
    transition: all 0.3s;
    border-radius: 5px;
    overflow: hidden;
  }
}
@media screen and (max-width: 1200px) {
  .header .header__r_col.is-opened {
    top: 10px;
    right: 10px;
    width: 400px;
    height: 640px;
    padding: 100px 40px;
  }
}
@media screen and (max-width: 768px) {
  .header .header__r_col.is-opened {
    width: calc(100% - 20px);
    height: 500px;
    padding: 60px 40px;
  }
}
@media screen and (max-width: 1200px) {
  .header .header__r_col.is-opened .gnav {
    display: block;
    opacity: 1;
    visibility: visible;
  }
}
.header .header__logo {
  max-width: 280px;
}
@media screen and (max-width: 768px) {
  .header .header__logo {
    max-width: 200px;
  }
}
@media screen and (max-width: 320px) {
  .header .header__logo {
    max-width: 160px;
  }
}
.header .gnav {
  display: flex;
  transition: 0.6s;
  transition-property: opacity, visibility;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  .header .gnav {
    display: none;
    margin-left: auto;
    margin-right: auto;
    opacity: 0;
    visibility: hidden;
  }
}
.header .gnav .gnav__list {
  display: flex;
}
@media screen and (max-width: 1200px) {
  .header .gnav .gnav__list {
    display: block;
    color: #fff;
  }
}
.header .gnav .gnav__list + .gnav__list {
  margin-left: 30px;
}
@media screen and (max-width: 1200px) {
  .header .gnav .gnav__list + .gnav__list {
    margin-left: 0;
  }
}
.header .gnav .gnav__list .gnav__list__item {
  font-family: var(--font-english);
  font-size: 1.8rem;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .header .gnav .gnav__list .gnav__list__item {
    font-size: 1.6rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .header .gnav .gnav__list .gnav__list__item:hover {
    color: var(--sub-color);
  }
}
@media screen and (max-width: 1200px) and (any-hover: hover) and (pointer: fine) {
  .header .gnav .gnav__list .gnav__list__item:hover {
    color: #fff;
    opacity: 0.7;
  }
}
.header .gnav .gnav__list .gnav__list__item a {
  display: block;
  padding: 25px 30px;
  text-align: center;
  transition: padding 0.2s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 1500px) {
  .header .gnav .gnav__list .gnav__list__item a {
    padding: 25px 20px;
  }
}
@media screen and (max-width: 768px) {
  .header .gnav .gnav__list .gnav__list__item a {
    padding: 15px 20px;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .header .gnav .gnav__list .gnav__list__item a:hover {
    opacity: 0.7;
  }
}
.header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit, .header .gnav .gnav__list .gnav__list__item.gnav__list__item--contact {
  border-left: 2px solid var(--font-color);
  border-bottom: 2px solid var(--font-color);
}
@media screen and (max-width: 1200px) {
  .header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit, .header .gnav .gnav__list .gnav__list__item.gnav__list__item--contact {
    margin-top: 20px;
    border: 2px solid var(--font-color);
  }
}
.header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit a, .header .gnav .gnav__list .gnav__list__item.gnav__list__item--contact a {
  padding: 24px 40px 26px;
  transition: padding 0.2s;
}
@media screen and (max-width: 1500px) {
  .header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit a, .header .gnav .gnav__list .gnav__list__item.gnav__list__item--contact a {
    padding: 24px 30px 26px;
  }
}
@media screen and (max-width: 768px) {
  .header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit a, .header .gnav .gnav__list .gnav__list__item.gnav__list__item--contact a {
    padding: 20px 30px 22px;
  }
}
.header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit {
  background-color: var(--main-color);
}
@media (any-hover: hover) and (pointer: fine) {
  .header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit:hover {
    background-color: var(--sub-color);
    color: #fff;
  }
}
@media screen and (max-width: 1200px) {
  .header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit {
    background-color: var(--main-color);
    color: var(--font-color);
  }
}
@media screen and (max-width: 1200px) and (any-hover: hover) and (pointer: fine) {
  .header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit:hover {
    background-color: #fff;
    color: var(--font-color);
  }
}
.header .gnav .gnav__list .gnav__list__item.gnav__list__item--contact {
  background-color: var(--font-color);
  color: var(--accent-color);
}
@media (any-hover: hover) and (pointer: fine) {
  .header .gnav .gnav__list .gnav__list__item.gnav__list__item--contact:hover {
    background-color: var(--accent-color);
    color: var(--font-color);
  }
}
.header .header__hamburger {
  position: fixed;
  top: 15px;
  right: 15px;
  z-index: 10000;
}
@media screen and (min-width: 1201px) {
  .header .header__hamburger {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .header .header__hamburger {
    right: 10px;
  }
}
.header .header__hamburger button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: var(--sub-color);
}
@media screen and (max-width: 768px) {
  .header .header__hamburger button {
    width: 60px;
    height: 60px;
  }
}
@media screen and (max-width: 576px) {
  .header .header__hamburger button {
    width: 50px;
    height: 50px;
  }
}
.header .header__hamburger button .header__hamburger__line {
  position: relative;
  display: block;
  width: 22px;
  height: 2px;
  background-color: #fff;
  border-radius: 1px;
  transform-origin: left;
  transition: transform 0.3s;
}
@media screen and (max-width: 576px) {
  .header .header__hamburger button .header__hamburger__line {
    width: 18px;
  }
}
.header .header__hamburger button .header__hamburger__line::before, .header .header__hamburger button .header__hamburger__line::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 1px;
  transform: translateY(-50%);
  transform-origin: center;
  transition: transform 0.3s;
}
.header .header__hamburger button .header__hamburger__line::before {
  transform: translateY(-8px);
}
@media screen and (max-width: 576px) {
  .header .header__hamburger button .header__hamburger__line::before {
    transform: translateY(-6px);
  }
}
.header .header__hamburger button .header__hamburger__line::after {
  transform: translateY(8px);
}
@media screen and (max-width: 576px) {
  .header .header__hamburger button .header__hamburger__line::after {
    transform: translateY(6px);
  }
}
.header .header__hamburger button.is-opened .header__hamburger__line {
  background-color: transparent;
}
.header .header__hamburger button.is-opened .header__hamburger__line::before {
  transform: rotate(45deg);
}
.header .header__hamburger button.is-opened .header__hamburger__line::after {
  transform: rotate(-45deg);
}
.header .header__menu {
  position: absolute;
  top: 0;
  right: -100%;
  width: 460px;
  height: 100vh;
  background: #fff;
  transition: right 0.3s;
}
@media screen and (min-width: 769px) {
  .header .header__menu {
    box-shadow: 0px 0px 30px rgba(var(--base-dark-color-rgb), 0.1);
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .header .header__menu {
    top: -20px;
    width: 100%;
  }
}
.header .header__menu .header__menu__container {
  margin-top: 160px;
  padding: 0 60px;
}
@media screen and (max-width: 768px) {
  .header .header__menu .header__menu__container {
    margin-top: 100px;
  }
}
.header .header__menu .header__menu__list li a {
  position: relative;
  display: block;
  padding: 0.5em 10px 0.5em 1.4em;
  color: var(--navy);
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .header .header__menu .header__menu__list li a {
    font-size: 1.6rem;
  }
}
.header .header__menu .header__menu__list li a::before {
  content: "";
  position: absolute;
  top: 0.95em;
  left: 0;
  width: 1em;
  height: 1em;
  background: url("../images/icon_arrow01.svg") no-repeat center/contain;
}
.header.is-opened .header__hamburger {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
.header.is-opened .header__menu {
  right: -20px;
}
@media screen and (max-width: 768px) {
  .header.is-opened .header__menu {
    right: 0;
  }
}
@media screen and (min-width: 1201px) {
  .header.is-fixed {
    position: fixed;
    top: 0;
    background-color: #fff;
    background: var(--gray-light);
    border-bottom: 2px solid var(--font-color);
    transform: translateY(-100%);
    animation: slideIn 0.3s ease-out forwards;
  }
  .header.is-fixed .header__logo {
    max-width: 240px;
    padding-bottom: 8px;
  }
  .header.is-fixed .gnav .gnav__list .gnav__list__item {
    border-bottom: 0;
  }
  .header.is-fixed .gnav .gnav__list .gnav__list__item a {
    padding: 20px 30px 22px;
  }
}
.header.is-fixed .gnav__list__item--recruit {
  background-color: var(--main-color);
  color: var(--font-color);
}
@media screen and (max-width: 1200px) and (any-hover: hover) and (pointer: fine) {
  .header.is-fixed .gnav__list__item--recruit:hover {
    background-color: #fff;
  }
  .header.is-fixed .gnav__list__item--recruit:hover a {
    color: var(--font-color);
  }
}

/*recruit_directory*/
.p-recruit .header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit {
  background-color: #FFF;
  color: var(--font-color);
}
@media (any-hover: hover) and (pointer: fine) {
  .p-recruit .header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit:hover {
    opacity: 0.9;
  }
}
@media screen and (max-width: 1200px) {
  .p-recruit .header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit {
    background-color: var(--main-color);
  }
}
@media screen and (max-width: 1200px) and (any-hover: hover) and (pointer: fine) {
  .p-recruit .header .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit:hover {
    background-color: #fff;
  }
}
.p-recruit .header.is-fixed .gnav .gnav__list .gnav__list__item.gnav__list__item--recruit {
  background: var(--main-color);
}

/************************************************

	to top

*************************************************/
.b-to_top {
  display: none;
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 1000;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-to_top:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 768px) {
  .b-to_top {
    right: 10px;
    bottom: 70px;
    width: 71px;
  }
}
.b-to_top img {
  filter: drop-shadow(0px 0px 10px rgba(var(--base-dark-color-rgb), 0.2));
}
.b-to_top.is-show {
  display: block;
}

/************************************************

	footer

*************************************************/
.footer {
  position: relative;
  background-color: var(--font-color);
  color: #fff;
}
@media screen and (max-width: 768px) {
  .footer {
    padding-bottom: 100px;
  }
}
.footer .footer__top {
  padding-top: 120px;
  padding-bottom: 100px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
@media screen and (max-width: 768px) {
  .footer .footer__top {
    padding-top: 60px;
    padding-bottom: 50px;
  }
}
.footer .footer__bottom {
  display: flex;
  justify-content: space-between;
  padding-top: 80px;
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .footer .footer__bottom {
    flex-direction: column-reverse;
    padding-top: 40px;
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer__bottom .footer__l_col {
    margin-top: 60px;
  }
}
.footer .footer__bottom .footer__r_col {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .footer .footer__bottom .footer__r_col {
    display: block;
  }
}
.footer .footer__contact {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.footer .footer__contact .footer__contact__text {
  font-size: 2.4rem;
  font-size: clamp(15px, 0.7813vw + 9px, 24px);
}
@media screen and (max-width: 768px) {
  .footer .footer__contact .footer__contact__text {
    font-size: 1.5rem;
  }
}
.footer .footer__contact .footer__contact__button {
  margin-top: 40px;
  text-align: center;
  background-color: var(--accent-color);
  color: var(--font-color);
  border: 2px solid var(--font-color);
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .footer .footer__contact .footer__contact__button {
    margin: 20px auto 0;
    max-width: 500px;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .footer .footer__contact .footer__contact__button:hover {
    opacity: 0.7;
  }
}
.footer .footer__contact .footer__contact__button a {
  display: block;
  padding: 36px 40px 38px;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .footer .footer__contact .footer__contact__button a {
    padding: 20px 10px;
    font-size: 2rem;
  }
}
.footer .footer__contact .footer__contact__tel {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .footer .footer__contact .footer__contact__tel {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }
}
.footer .footer__contact .footer__contact__tel a {
  position: relative;
  padding-left: 40px;
  font-size: 4.6rem;
  font-size: clamp(28px, 7.8947vw - 32.6316px, 46px);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .footer .footer__contact .footer__contact__tel a {
    padding-left: 30px;
    font-size: 2.8rem;
  }
}
.footer .footer__contact .footer__contact__tel a::before {
  content: "";
  position: absolute;
  top: calc(50% + 5px);
  left: -3px;
  width: 38px;
  height: 36px;
  background: url("../images/ico_tel.svg") no-repeat center/contain;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .footer .footer__contact .footer__contact__tel a::before {
    top: calc(50% + 2px);
    width: 26px;
    height: 25px;
  }
}
.footer .footer__contact .footer__contact__tel a span {
  margin-left: 0.5em;
  font-size: 1.7rem;
}
@media screen and (max-width: 768px) {
  .footer .footer__contact .footer__contact__tel a span {
    font-size: 1.3rem;
  }
}
.footer .footer__logo {
  max-width: 280px;
}
@media screen and (max-width: 768px) {
  .footer .footer__logo {
    max-width: 220px;
    margin-left: auto;
    margin-right: auto;
    padding-right: 10px;
  }
}
.footer .footer__link {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .footer .footer__link li {
    text-align: center;
  }
}
.footer .footer__link li a {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0;
  text-decoration: underline;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .footer .footer__link li a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer__link li a {
    font-size: 1.2rem;
  }
}
.footer .footer__sns {
  display: flex;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .footer .footer__sns {
    justify-content: center;
  }
}
.footer .footer__sns li {
  width: 46px;
}
@media screen and (max-width: 768px) {
  .footer .footer__sns li {
    width: 36px;
  }
}
.footer .footer__sns li + li {
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  .footer .footer__sns li + li {
    margin-left: 22px;
  }
}
.footer .footer__sns li a {
  display: block;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .footer .footer__sns li a:hover {
    opacity: 0.7;
  }
}
.footer .footer__address {
  margin-left: 80px;
}
@media screen and (max-width: 768px) {
  .footer .footer__address {
    margin-left: 0;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer__address + .footer__address {
    margin-top: 30px;
  }
}
.footer .footer__address dt {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .footer .footer__address dt {
    font-size: 1.5rem;
  }
}
.footer .footer__address dd {
  margin-top: 5px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .footer .footer__address dd {
    font-size: 1.3rem;
  }
}
.footer .footer__copyright {
  margin-top: 40px;
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--gray-dark);
}
@media screen and (max-width: 768px) {
  .footer .footer__copyright {
    text-align: center;
    font-size: 1rem;
  }
}

.p-top02 .footer {
  background-color: var(--sub-color);
  color: #fff;
}
.p-top02 .footer .footer__top {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.p-top02 .footer .footer__contact .footer__contact__button {
  background-color: var(--accent-color);
  color: var(--font-color);
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top02 .footer .footer__contact .footer__contact__button:hover {
    background-color: var(--font-color);
    color: var(--accent-color);
  }
}
.p-top02 .footer .footer__contact .footer__contact__tel a::before {
  background: url("../images/ico_tel.svg") no-repeat center/contain;
}
.p-top02 .footer .footer__copyright {
  color: rgba(255, 255, 255, 0.5);
}

.p-top03 .footer {
  background-color: var(--font-color);
  color: #fff;
}
.p-top03 .footer .footer__top {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.p-top03 .footer .footer__contact .footer__contact__button {
  background-color: var(--accent-color);
  color: var(--font-color);
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top03 .footer .footer__contact .footer__contact__button:hover {
    background-color: var(--font-color);
    color: var(--accent-color);
  }
}
.p-top03 .footer .footer__contact .footer__contact__tel a::before {
  background: url("../images/ico_tel.svg") no-repeat center/contain;
}

.p-top .float_bnr .float_bnr__recruit {
  position: fixed;
  right: 40px;
  bottom: 40px;
  max-width: 420px;
  box-shadow: 0px 2px 30px rgba(255, 255, 255, 0.3);
  transform: translateY(200%);
  transition: transform 1s;
  transition-delay: 1s;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  .p-top .float_bnr .float_bnr__recruit {
    right: 20px;
    bottom: 20px;
  }
}
@media screen and (max-width: 576px) {
  .p-top .float_bnr .float_bnr__recruit {
    left: 40px;
    right: 40px;
  }
}
.p-top .float_bnr .float_bnr__recruit a {
  display: block;
  transition: all 0.2s;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .float_bnr .float_bnr__recruit a:hover {
    transform: scale(1.05);
    filter: brightness(80%);
  }
}
.p-top .float_bnr.is-show .float_bnr__recruit {
  transform: translateY(0);
}
.p-top .mv {
  position: relative;
  padding-top: 110px;
}
@media screen and (max-width: 576px) {
  .p-top .mv {
    padding-top: 160px;
  }
}
.p-top .mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 70vh;
  height: 62%;
  background: var(--gray-light);
  z-index: -10;
}
@media screen and (max-width: 768px) {
  .p-top .mv::before {
    height: 300px;
  }
}
.p-top .mv .mv__main {
  position: relative;
  width: 83.3333333333%;
}
@media screen and (max-width: 576px) {
  .p-top .mv .mv__main {
    width: 100%;
    padding-right: 10%;
  }
}
.p-top .mv .mv_movie {
  width: 100%;
  height: 100%;
}
.p-top .mv .mv__catch {
  position: absolute;
  top: 20%;
  right: -9%;
  font-size: 6rem;
  font-size: clamp(24px, 3.125vw + 0px, 60px);
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1;
}
@media screen and (max-width: 576px) {
  .p-top .mv .mv__catch {
    top: -2.4em;
    right: 5%;
    font-size: 2.4rem;
  }
}
.p-top .mv .mv__catch .mv__catch__text {
  position: relative;
  display: inline-block;
  margin-top: 0.3em;
  padding: 0.22em 0.4em 0.32em;
  background-color: #fff;
  overflow: hidden;
}
.p-top .mv .mv__catch .mv__catch__text::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: var(--sub-color);
  transition: all 1s cubic-bezier(0.75, 0, 0.15, 1);
}
.p-top .mv .mv__catch.is-show .mv__catch__text::before {
  right: -100%;
}
.p-top .mv .mv__catch.is-show .mv__catch__text:nth-of-type(2)::before {
  transition-delay: 0.2s;
}
.p-top .about {
  position: relative;
  padding-top: 120px;
}
@media screen and (max-width: 768px) {
  .p-top .about {
    padding-top: 80px;
  }
}
.p-top .about::before {
  content: "";
  position: absolute;
  top: 40%;
  left: -10%;
  width: 654px;
  height: 761px;
  background: url("../../images/bg_about01.png") no-repeat top/contain;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-top .about::before {
    top: 10%;
    left: -34%;
    width: 300px;
    height: 353px;
  }
}
.p-top .about .b-section__inner {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 576px) {
  .p-top .about .b-section__inner {
    flex-direction: column-reverse;
  }
}
.p-top .about .about__l_col {
  margin-right: 114px;
  margin-right: 8%;
}
@media screen and (max-width: 576px) {
  .p-top .about .about__l_col {
    margin-top: 40px;
    margin-right: 0;
  }
}
.p-top .about .about__r_col {
  max-width: 510px;
}
@media screen and (max-width: 576px) {
  .p-top .about .about__r_col {
    padding: 0 15px;
  }
}
.p-top .about .about__box .about__box__title {
  font-size: 3.2rem;
  font-size: clamp(18px, 1.2153vw + 8.6667px, 32px);
}
.p-top .about .about__box .about__box__text {
  margin-top: 40px;
  font-size: 2rem;
  font-size: clamp(14px, 0.5208vw + 10px, 20px);
  line-height: 2.4;
  word-break: auto-phrase;
}
@media screen and (max-width: 768px) {
  .p-top .about .about__box .about__box__text {
    margin-top: 20px;
    word-break: inherit;
    font-size: 1.4rem;
    letter-spacing: 0.08em;
  }
}
.p-top .service {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .p-top .service {
    padding-bottom: 40px;
  }
}
.p-top .service .service__item {
  position: relative;
  background-color: var(--font-color);
  background-repeat: no-repeat;
  background-size: 60%;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .p-top .service .service__item {
    background-size: cover;
  }
}
.p-top .service .service__item::before, .p-top .service .service__item::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.p-top .service .service__item::before {
  display: block;
  top: 0;
  width: 41%;
  height: 100%;
  position: absolute;
}
@media screen and (max-width: 1200px) {
  .p-top .service .service__item::before {
    width: 100%;
  }
}
.p-top .service .service__item::after {
  top: 50%;
  right: 20px;
  width: 32px;
  height: 8px;
  background: url("../images/ico_arrow01_white.svg") no-repeat center/contain;
  transform: translateY(-50%);
  transition: background 0.2s, right 0.4s;
}
@media screen and (max-width: 768px) {
  .p-top .service .service__item::after {
    right: 10px;
    width: 16px;
    height: 6px;
  }
}
.p-top .service .service__item + .service__item {
  margin-top: 20px;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .service .service__item:hover::after {
    right: 15px;
  }
}
.p-top .service .service__item a {
  display: block;
  padding: 120px 140px;
  transition: background-color 0.2s;
}
@media screen and (max-width: 768px) {
  .p-top .service .service__item a {
    padding: 60px 30px;
    background-color: rgba(var(--font-color-rgb), 0.3);
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .service .service__item a:hover {
    background-color: rgba(var(--font-color-rgb), 0);
  }
}
.p-top .service .service__item dl {
  position: relative;
  max-width: 536px;
}
.p-top .service .service__item dl dt {
  position: relative;
  padding-bottom: 1em;
  font-size: 3.2rem;
  font-size: clamp(17px, 1.3021vw + 7px, 32px);
  font-weight: 600;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 768px) {
  .p-top .service .service__item dl dt {
    font-size: 1.7rem;
  }
}
.p-top .service .service__item dl dt::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100px;
  height: 1px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .p-top .service .service__item dl dt::before {
    width: 40px;
  }
}
.p-top .service .service__item dl dd {
  margin-top: 1.8em;
  font-size: 1.8rem;
  font-size: clamp(14px, 0.3472vw + 11.3333px, 18px);
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-top .service .service__item dl dd {
    margin-top: 1.4em;
    font-size: 1.3rem;
  }
}
.p-top .service .service__item.service__item--is_base {
  background-image: url("../../images/service_img01.jpg");
  background-position: left;
}
@media screen and (max-width: 768px) {
  .p-top .service .service__item.service__item--is_base {
    background-position: 90%;
  }
}
.p-top .service .service__item.service__item--is_base::before {
  left: 20%;
  background-image: linear-gradient(to left, var(--font-color), transparent);
}
@media screen and (max-width: 1200px) {
  .p-top .service .service__item.service__item--is_base::before {
    left: 0;
    background-image: linear-gradient(to left, var(--font-color) 10% 40%, transparent);
  }
}
.p-top .service .service__item.service__item--is_base dl {
  margin-right: 0;
  margin-left: auto;
}
.p-top .service .service__item.service__item--production {
  background-image: url("../../images/service_img02.jpg");
  background-position: right;
}
.p-top .service .service__item.service__item--production::before {
  right: 20%;
  background-image: linear-gradient(to right, var(--font-color), transparent);
}
@media screen and (max-width: 1200px) {
  .p-top .service .service__item.service__item--production::before {
    right: 0;
    background-image: linear-gradient(to right, var(--font-color) 10% 40%, transparent);
  }
}
.p-top .works {
  padding-top: 80px;
  padding-bottom: 180px;
  max-height: 970px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top .works {
    padding-top: 0;
    padding-bottom: 100px;
    max-height: 392px;
  }
}
.p-top .works .works__list + .works__list {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .p-top .works .works__list + .works__list {
    margin-top: 8px;
  }
}
.p-top .works .works__list li {
  flex-shrink: 0;
  width: 390px;
  margin: 0 8px;
}
@media screen and (max-width: 768px) {
  .p-top .works .works__list li {
    width: 140px;
    margin: 0 4px;
  }
}
.p-top .works .works__list.works__list--reverse .slick-slide {
  float: right;
}
.p-top .recruit {
  position: relative;
  margin-top: 120px;
  margin-bottom: 400px;
  padding-top: 120px;
  background-color: var(--main-color);
}
@media screen and (max-width: 992px) {
  .p-top .recruit {
    padding-top: 300px;
  }
}
@media screen and (max-width: 768px) {
  .p-top .recruit {
    margin-top: 60px;
    margin-bottom: 240px;
    padding-top: 0;
  }
}
.p-top .recruit::before, .p-top .recruit::after {
  content: "";
  position: absolute;
  top: 0;
  width: 128px;
  height: 100%;
  background: url(../../images/bg_recruit01.png) repeat-y left top/cover;
  opacity: 0.2;
  animation: loopY 2000s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-top .recruit::before, .p-top .recruit::after {
    width: 64px;
    background-size: contain;
  }
}
.p-top .recruit::before {
  left: -3px;
}
.p-top .recruit::after {
  right: -3px;
  transform: scale(-1);
}
.p-top .recruit .b-section__head {
  position: absolute;
  top: -120px;
  display: inline-block;
  min-width: 400px;
  width: 35.2083333333%;
  padding-top: 100px;
  padding-bottom: 160px;
  padding-left: calc(50% - 860px);
  background-color: var(--font-color);
}
@media screen and (max-width: 768px) {
  .p-top .recruit .b-section__head {
    position: relative;
    top: -60px;
    min-width: inherit;
    width: auto;
    padding: 40px 50px 60px 30px;
  }
}
.p-top .recruit .b-section__body {
  position: relative;
  margin-top: 0;
  z-index: 1;
}
.p-top .recruit .b-section__sub_title {
  padding-left: 40px;
  padding-right: 40px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .b-section__sub_title {
    padding: 0;
  }
}
.p-top .recruit .b-section__title {
  padding-left: 40px;
  color: var(--accent-color);
}
@media screen and (max-width: 768px) {
  .p-top .recruit .b-section__title {
    padding: 0;
  }
}
.p-top .recruit .recruit__lead {
  max-width: 640px;
  margin-left: 44%;
  padding: 0 30px;
  font-size: 2rem;
  font-size: clamp(14px, 0.5208vw + 10px, 20px);
  line-height: 2.4;
}
@media screen and (max-width: 992px) {
  .p-top .recruit .recruit__lead {
    max-width: inherit;
    width: 100%;
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-top .recruit .recruit__lead {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 320px) {
  .p-top .recruit .recruit__lead {
    padding: 0 15px;
  }
}
.p-top .recruit .recruit__bnr {
  display: flex;
  justify-content: space-between;
  margin-top: 120px;
}
@media screen and (max-width: 576px) {
  .p-top .recruit .recruit__bnr {
    display: block;
    margin-top: 80px;
  }
}
.p-top .recruit .recruit__bnr li {
  max-width: 650px;
  width: 47.6539589443%;
  border: 5px solid var(--accent-color);
}
@media screen and (max-width: 576px) {
  .p-top .recruit .recruit__bnr li {
    max-width: inherit;
    width: 100%;
  }
}
.p-top .recruit .recruit__bnr li + li {
  border: 5px solid var(--sub-color);
}
@media screen and (max-width: 576px) {
  .p-top .recruit .recruit__bnr li + li {
    margin-top: 20px;
  }
}
.p-top .recruit .recruit__bnr li picture {
  display: block;
  overflow: hidden;
}
.p-top .recruit .recruit__bnr li picture img {
  transition: transform 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .recruit .recruit__bnr li a:hover picture img {
    transform: scale(1.1);
  }
}
.p-top .recruit .interview {
  margin-top: 150px;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .interview {
    margin-top: 80px;
  }
}
.p-top .recruit .interview .interview__title {
  position: relative;
  max-width: 288px;
  margin-left: auto;
  margin-right: auto;
  font-size: 3.2rem;
  font-size: clamp(18px, 1.2153vw + 8.6667px, 32px);
  text-align: center;
  --x-gradient: linear-gradient(90deg, var(--font-color) 0 30px, transparent 0 calc(100% - 30px), var(--font-color) calc(100% - 30px));
  --y-gradient: linear-gradient(var(--font-color) 0 30px, transparent 0 calc(100% - 30px), var(--font-color) calc(100% - 30px));
  padding: 1rem;
  background-image: var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
  background-repeat: no-repeat;
  background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  background-position: top, right, bottom, left;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .interview .interview__title {
    max-width: 200px;
    --x-gradient: linear-gradient(90deg, var(--font-color) 0 20px, transparent 0 calc(100% - 20px), var(--font-color) calc(100% - 20px));
    --y-gradient: linear-gradient(var(--font-color) 0 20px, transparent 0 calc(100% - 20px), var(--font-color) calc(100% - 20px));
    font-size: 1.8rem;
  }
}
.p-top .recruit .interview .interview__title .interview__title__en {
  font-size: 1.6rem;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .interview .interview__title .interview__title__en {
    padding-bottom: 0.5em;
    font-size: 1.2rem;
    line-height: 1;
  }
}
.p-top .recruit .interview .interview__list {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}
@media screen and (max-width: 576px) {
  .p-top .recruit .interview .interview__list {
    flex-wrap: wrap;
    margin-top: 40px;
  }
}
.p-top .recruit .interview .interview__list li {
  max-width: 329px;
  width: 24.1202346041%;
  counter-increment: count;
}
@media screen and (max-width: 576px) {
  .p-top .recruit .interview .interview__list li {
    max-width: inherit;
    width: 48%;
  }
}
@media screen and (max-width: 576px) {
  .p-top .recruit .interview .interview__list li:nth-of-type(n + 3) {
    margin-top: 40px;
  }
}
.p-top .recruit .interview .interview__list li a picture {
  overflow: hidden;
  display: block;
}
.p-top .recruit .interview .interview__list li a picture img {
  transition: transform 0.2s, filter 0.2s;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .recruit .interview .interview__list li a:hover picture img {
    transform: scale(1.1);
    filter: brightness(80%);
  }
}
.p-top .recruit .interview .interview__list li .interview__profile {
  position: relative;
  margin-top: 30px;
  padding-left: 2em;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .interview .interview__list li .interview__profile {
    margin-top: 10px;
  }
}
.p-top .recruit .interview .interview__list li .interview__number {
  position: absolute;
  left: 0;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .interview .interview__list li .interview__number {
    font-size: 1.2rem;
  }
}
.p-top .recruit .interview .interview__list li .interview__department {
  display: block;
}
.p-top .recruit .interview .interview__list li .interview__name {
  display: block;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .interview .interview__list li .interview__name {
    font-size: 1.5rem;
  }
}
.p-top .recruit .recruit__entry {
  position: relative;
  max-width: 1086px;
  margin-left: auto;
  margin-right: auto;
  background-color: var(--sub-color);
  text-align: center;
  transform: translateY(50%);
  transition: background-color 0.2s;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .recruit__entry {
    max-width: 500px;
    width: calc(100% - 20px);
    margin: 0 auto;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .recruit .recruit__entry:hover {
    background: #01133d;
  }
  .p-top .recruit .recruit__entry:hover::before {
    transform: scale(1.1);
  }
}
.p-top .recruit .recruit__entry::before, .p-top .recruit .recruit__entry::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.p-top .recruit .recruit__entry::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../../images/recruit_entry_img01.jpg") no-repeat center/cover;
  opacity: 0.15;
  transition: transform 0.3s;
}
.p-top .recruit .recruit__entry::after {
  top: 25px;
  left: 25px;
  width: calc(100% - 50px);
  height: calc(100% - 50px);
  --x-gradient: linear-gradient(90deg, #fff 0 70px, transparent 0 calc(100% - 70px), #fff calc(100% - 70px));
  --y-gradient: linear-gradient(#fff 0 70px, transparent 0 calc(100% - 70px), #fff calc(100% - 70px));
  background-image: var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
  background-repeat: no-repeat;
  background-size: 100% 5px, 5px 100%, 100% 5px, 5px 100%;
  background-position: top, right, bottom, left;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .recruit__entry::after {
    top: 15px;
    left: 15px;
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    --x-gradient: linear-gradient(90deg, #fff 0 30px, transparent 0 calc(100% - 30px), #fff calc(100% - 30px));
    --y-gradient: linear-gradient(#fff 0 30px, transparent 0 calc(100% - 30px), #fff calc(100% - 30px));
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }
}
.p-top .recruit .recruit__entry a {
  position: relative;
  display: block;
  padding: 75px;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .recruit__entry a {
    padding: 30px 20px;
  }
}
.p-top .recruit .recruit__entry .recruit__entry__catch {
  display: inline-block;
  padding: 0 3em;
  background-color: var(--accent-color);
  color: var(--sub-color);
  border-radius: 2em;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .recruit__entry .recruit__entry__catch {
    padding: 0 2em;
    font-size: 1.4rem;
  }
}
.p-top .recruit .recruit__entry .recruit__entry__title {
  margin-top: 30px;
  color: #fff;
  font-size: 4.7rem;
  letter-spacing: 0.15em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .recruit__entry .recruit__entry__title {
    margin-top: 15px;
    font-size: 2rem;
  }
}
.p-top .recruit .recruit__entry .recruit__entry__en {
  color: var(--accent-color);
  font-size: 2.1rem;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .p-top .recruit .recruit__entry .recruit__entry__en {
    font-size: 1.4rem;
  }
}
.p-top .company {
  position: relative;
  padding-top: 180px;
  padding-bottom: 140px;
}
@media screen and (max-width: 768px) {
  .p-top .company {
    padding-top: 80px;
  }
}
.p-top .company::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -200px;
  width: 2000px;
  height: 492px;
  background: url("../../images/bg_company01.png") no-repeat top/cover;
  z-index: -1;
}
@media screen and (min-width: 2001px) {
  .p-top .company::before {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-top .company::before {
    bottom: -170px;
    width: 1100px;
    height: 312px;
  }
}
.p-top .company .b-section__body {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-top .company .b-section__body {
    display: block;
  }
}
.p-top .company .company__link {
  max-width: 750px;
  width: 45.7317073171%;
}
@media screen and (max-width: 768px) {
  .p-top .company .company__link {
    max-width: inherit;
    width: 100%;
    padding: 0 30px;
  }
}
.p-top .company .company__link li {
  position: relative;
  border-bottom: 1px solid;
  counter-increment: count;
}
.p-top .company .company__link li::before {
  content: counter(count, decimal-leading-zero);
  position: absolute;
  top: 32px;
  left: 0;
  font-size: 1.4rem;
  pointer-events: none;
  line-height: 1;
  transition: color 0.2s;
}
@media screen and (max-width: 768px) {
  .p-top .company .company__link li::before {
    top: 20px;
    font-size: 1.2rem;
  }
}
.p-top .company .company__link li::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5px;
  width: 16px;
  height: 6px;
  background: url("../images/ico_arrow01.svg") no-repeat center/contain;
  transform: translateY(-50%);
  pointer-events: none;
  transition: right 0.2s;
}
.p-top .company .company__link li a {
  position: relative;
  display: block;
  padding: 32px 30px 70px 30px;
  font-size: 2.4rem;
  font-size: clamp(16px, 0.8403vw + 9.5462px, 24px);
  line-height: 1;
  overflow: hidden;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  .p-top .company .company__link li a {
    padding: 20px 30px 40px;
    font-size: 1.6rem;
  }
}
.p-top .company .company__link li a::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--sub-color);
  transition: all 0.2s;
  z-index: -1;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .company .company__link li:hover::before {
    color: var(--sub-color);
  }
  .p-top .company .company__link li:hover::after {
    background-image: url("../images/ico_arrow01_navy.svg");
    right: 0;
  }
  .p-top .company .company__link li:hover a {
    color: var(--sub-color);
    letter-spacing: 0.12em;
  }
  .p-top .company .company__link li:hover a::after {
    width: 100%;
  }
}
.p-top .company .company__map {
  max-width: 812px;
  width: 49.512195122%;
}
@media screen and (max-width: 768px) {
  .p-top .company .company__map {
    max-width: inherit;
    width: 100%;
    margin-top: 60px;
  }
}
@media screen and (max-width: 768px) {
  .p-top .company .company__map .company__map__item {
    display: flex;
    flex-direction: column-reverse;
  }
}
.p-top .company .company__map .company__map__item + .company__map__item {
  margin-top: 30px;
}
@media screen and (max-width: 576px) {
  .p-top .company .company__map .company__map__item iframe {
    height: 360px;
  }
}
.p-top .company .company__map .company__map__caption {
  text-align: right;
}
@media screen and (max-width: 768px) {
  .p-top .company .company__map .company__map__caption {
    text-align: left;
    padding-bottom: 10px;
  }
}

.p-company .b-under_head-ph {
  /*写真付き下層トップ用*/
}
.p-company .b-under_head-ph::after {
  background: url("../images/under_head_ph_company.jpg") no-repeat top left/cover;
}
.p-company section:nth-child(n+2) {
  margin-top: 150px;
}
@media screen and (max-width: 768px) {
  .p-company section:nth-child(n+2) {
    margin-top: 60px;
  }
}
.p-company section .sec_inner {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-company section .sec_inner {
    margin-top: 30px;
  }
}
.p-company .sec_message .message_box {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 820px) {
  .p-company .sec_message .message_box {
    display: block;
  }
}
.p-company .sec_message .message_box .message_box_left {
  width: 24%;
  min-width: 180px;
}
@media screen and (max-width: 820px) {
  .p-company .sec_message .message_box .message_box_left {
    width: 100%;
  }
}
.p-company .sec_message .message_box .message_box_left img {
  width: 100%;
}
@media screen and (max-width: 820px) {
  .p-company .sec_message .message_box .message_box_left img {
    max-width: 240px;
    margin: 0 auto;
    display: block;
  }
}
.p-company .sec_message .message_box .message_box_left .message__p_name {
  font-size: 1.8rem;
  text-align: center;
  line-height: 1.5;
  margin-top: 20px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .p-company .sec_message .message_box .message_box_left .message__p_name {
    font-size: 1.4rem;
  }
}
.p-company .sec_message .message_box .message_box_left .message__p_name .message__p_name-large {
  font-size: 2.4rem;
  font-weight: 700;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-company .sec_message .message_box .message_box_left .message__p_name .message__p_name-large {
    font-size: 2rem;
  }
}
.p-company .sec_message .message_box .message_box_right {
  width: 70%;
  margin-left: 20px;
}
@media screen and (max-width: 820px) {
  .p-company .sec_message .message_box .message_box_right {
    width: 100%;
    margin: 60px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .p-company .sec_message .message_box .message_box_right {
    margin-top: 30px;
  }
}
.p-company .sec_message .message_box .message_box_right .message_box__title {
  font-size: 2.8rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-company .sec_message .message_box .message_box_right .message_box__title {
    font-size: 2rem;
  }
}
.p-company .sec_message .message_box .message_box_right .message_box__txt {
  margin-top: 30px;
  font-size: 1.8rem;
  line-height: 2.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-company .sec_message .message_box .message_box_right .message_box__txt {
    margin-top: 15px;
    font-size: 1.4rem;
  }
}
.p-company .sec_philosophy .philosophy_box .philosophy_box__txt {
  font-size: min(4.3vw, 4.2rem);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-align: center;
  background: url("../images/company_philosophy_bg.jpg") no-repeat center center;
  max-width: 920px;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-company .sec_philosophy .philosophy_box .philosophy_box__txt {
    font-size: min(5.8vw, 3rem);
    height: auto;
    padding: 15% 0;
    background-size: cover;
  }
}
.p-company .sec_policy .policy_box {
  background-color: var(--gray-light02);
  padding: 60px 20px;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.p-company .sec_policy .policy_box::before {
  content: "";
  background: url("../images/company_policy_deco01.png") no-repeat;
  width: 32px;
  height: 32px;
  position: absolute;
  top: -10px;
  left: -10px;
}
.p-company .sec_policy .policy_box::after {
  content: "";
  background: url("../images/company_policy_deco02.png") no-repeat;
  width: 53px;
  height: 52px;
  position: absolute;
  right: -20px;
  bottom: -35px;
}
.p-company .sec_policy .policy_box .policy_box__txt {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.p-company .sec_policy .policy_box .policy_box__txt .policy_box__txt01 {
  font-size: 3.2rem;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.p-company .sec_policy .policy_box .policy_box__txt .policy_box__txt02 {
  font-size: 2.4rem;
  line-height: 2;
  margin-left: 100px;
  margin-top: 15px;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.p-company .sec_policy .policy_box .policy_box__txt .policy_box__txt03 {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  line-height: 2;
}
.p-company .sec_profile .profile_box .profile__lists .profile__lists__item {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-company .sec_profile .profile_box .profile__lists .profile__lists__item {
    display: block;
  }
}
.p-company .sec_profile .profile_box .profile__lists .profile__lists__item dt {
  width: 20%;
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-company .sec_profile .profile_box .profile__lists .profile__lists__item dt {
    width: 100%;
    font-size: 1.6rem;
  }
}
.p-company .sec_profile .profile_box .profile__lists .profile__lists__item dd {
  width: 80%;
  font-size: 1.8rem;
  padding-left: 5px;
}
@media screen and (max-width: 768px) {
  .p-company .sec_profile .profile_box .profile__lists .profile__lists__item dd {
    width: 100%;
    font-size: 1.6rem;
    padding-left: 0;
    margin-top: 5px;
  }
}
.p-company .sec_profile .profile_box .profile__lists .profile__lists__item:nth-child(n+2) {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-company .sec_profile .profile_box .profile__lists .profile__lists__item:nth-child(n+2) {
    border-top: 1px solid var(--font-color);
  }
}
.p-company .sec_profile .profile_box .profile__lists .profile__lists__item:nth-child(n+2) dt {
  border-top: 1px solid var(--sub-color);
  padding-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-company .sec_profile .profile_box .profile__lists .profile__lists__item:nth-child(n+2) dt {
    border: none;
  }
}
.p-company .sec_profile .profile_box .profile__lists .profile__lists__item:nth-child(n+2) dd {
  border-top: 1px solid rgba(var(--sub-color-rgb), 0.5);
  padding-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-company .sec_profile .profile_box .profile__lists .profile__lists__item:nth-child(n+2) dd {
    border: none;
    padding-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-company .sec_profile .profile_box .profile__lists .profile__lists__item .profile_location {
    margin-top: 10px;
  }
}
.p-company .sec_profile .profile_box .profile__lists .profile__lists__item .profile_location:nth-child(n+2) {
  margin-top: 20px;
}
.p-company .sec_profile .profile_box .profile__lists .profile__lists__item .profile_location .profile_location__info {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-company .sec_profile .profile_box .profile__lists .profile__lists__item .profile_location .profile_location__info {
    display: block;
  }
}
.p-company .sec_profile .profile_box .profile__lists .profile__lists__item .profile_location .profile_location__info .profile_location__ph img {
  width: 100%;
}
.p-company .sec_profile .profile_box .profile__lists .profile__lists__item .profile_location .profile_location__info .profile_location__txt {
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  .p-company .sec_profile .profile_box .profile__lists .profile__lists__item .profile_location .profile_location__info .profile_location__txt {
    margin-left: 0;
    margin-top: 10px;
  }
}
.p-company .sec_profile .profile_box .profile__lists .profile__lists__item .profile_location .profile_location__map {
  margin-top: 20px;
  height: -moz-fit-content;
  height: fit-content;
}
.p-company .sec_profile .profile_box .profile__lists .profile__lists__item .profile_location .profile_location__map iframe {
  width: 100%;
  vertical-align: bottom;
}
.p-company .sec_profile .profile_map_box + .profile_map_box {
  margin-top: 30px;
}
.p-company .sec_profile .profile_map_ttl {
  margin-bottom: 15px;
}
.p-company .sec_profile .profile_map_col {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-company .sec_profile .profile_map_col {
    display: block;
  }
}
.p-company .sec_profile .profile_map_col > div {
  width: 48%;
  margin-right: 4%;
}
.p-company .sec_profile .profile_map_col > div:last-child {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .p-company .sec_profile .profile_map_col > div {
    width: 100%;
    margin-right: 0;
  }
  .p-company .sec_profile .profile_map_col > div:last-child {
    margin-top: 10px;
  }
}
.p-company .sec_profile .profile_map_col .profile_location__map {
  aspect-ratio: 16/9;
}
.p-company .sec_profile .profile_map_col .profile_location__map iframe {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}
.p-company .sec_profile .profile_officer .profile_officer__label {
  display: inline-block;
  width: 10em;
}
.p-company .sec_affiliated .affiliated_box .affiliated_box__contents:nth-child(n+2) {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__contents:nth-child(n+2) {
    margin-top: 40px;
  }
}
.p-company .sec_affiliated .affiliated_box .affiliated_box__title {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__title {
    font-size: 1.6rem;
  }
}
.p-company .sec_affiliated .affiliated_box .affiliated_box__lists {
  margin-left: 2em;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__lists {
    margin-left: 0;
    margin-top: 20px;
  }
}
.p-company .sec_affiliated .affiliated_box .affiliated_box__lists.affiliated_box__lists-flex {
  display: flex;
  flex-wrap: wrap;
  max-width: 812px;
  gap: 40px 20px;
}
@media screen and (max-width: 768px) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__lists.affiliated_box__lists-flex {
    max-width: none;
    gap: 20px 0;
  }
}
.p-company .sec_affiliated .affiliated_box .affiliated_box__lists.affiliated_box__lists-flex li {
  width: 48%;
  min-width: 300px;
}
@media screen and (max-width: 1000px) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__lists.affiliated_box__lists-flex li {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__lists.affiliated_box__lists-flex li {
    min-width: inherit;
  }
}
.p-company .sec_affiliated .affiliated_box .affiliated_box__lists li {
  position: relative;
  padding-left: 30px;
}
@media screen and (max-width: 768px) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__lists li {
    padding-left: 25px;
  }
}
.p-company .sec_affiliated .affiliated_box .affiliated_box__lists li::before {
  content: "";
  background-color: rgba(var(--sub-color-rgb), 0.3);
  width: 18px;
  height: 18px;
  border-radius: 20px;
  position: absolute;
  top: 15px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__lists li::before {
    top: 10px;
    width: 15px;
    height: 15px;
  }
}
.p-company .sec_affiliated .affiliated_box .affiliated_box__lists .sp_br-mq1000 {
  display: none;
}
@media screen and (max-width: 1000px) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__lists .sp_br-mq1000 {
    display: inline;
  }
}
.p-company .sec_affiliated .affiliated_box .affiliated_box__lists .affiliated_box__lists__item {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--sub-color);
  text-decoration: underline;
  padding-right: 1.5em;
  position: relative;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__lists .affiliated_box__lists__item {
    font-size: 2rem;
    display: inline;
    text-indent: -1.5em;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__lists .affiliated_box__lists__item:hover {
    opacity: 0.7;
  }
}
.p-company .sec_affiliated .affiliated_box .affiliated_box__lists .affiliated_box__lists__item::after {
  content: "";
  background: url("../images/ico_new_tub.svg") no-repeat;
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__lists .affiliated_box__lists__item::after {
    width: 15px;
    height: 15px;
    background-size: contain;
    margin-left: 10px;
  }
}
.p-company .sec_affiliated .affiliated_box .affiliated_box__lists .affiliated_box__lists__notes {
  font-size: 1.4rem;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p-company .sec_affiliated .affiliated_box .affiliated_box__lists .affiliated_box__lists__notes {
    font-size: 1.3rem;
    margin-top: 10px;
  }
}

.p-contact .current_list {
  margin-top: 70px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-contact .current_list {
    margin-top: 40px;
  }
}
.p-contact .current_list .current_item {
  width: 31%;
  text-align: center;
  color: var(--gray);
  border-bottom: 4px solid var(--gray);
  padding-bottom: 10px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .p-contact .current_list .current_item {
    font-size: 1.6rem;
    border-bottom-width: 3px;
    padding-bottom: 5px;
  }
}
.p-contact .current_list .current_item.is-current {
  color: var(--sub-color);
  border-bottom-color: var(--sub-color);
}
.p-contact .contact_lead {
  font-size: 2rem;
  font-weight: 700;
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  .p-contact .contact_lead {
    font-size: 1.6rem;
    margin-top: 40px;
  }
}
.p-contact .complete_lead {
  margin-top: 80px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact .complete_lead {
    margin-top: 30px;
  }
}
.p-contact .complete_lead .complete_lead_01 {
  font-size: 2.8rem;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-contact .complete_lead .complete_lead_01 {
    font-size: 1.8rem;
  }
}
.p-contact .complete_lead .complete_lead_02 {
  font-size: 2rem;
  line-height: 2.2;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p-contact .complete_lead .complete_lead_02 {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
.p-contact .form {
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .p-contact .form {
    margin-top: 40px;
  }
}
.p-contact .form .form__box {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .p-contact .form .form__box {
    display: block;
  }
}
.p-contact .form .form__box:nth-child(n+2) {
  margin-top: 40px;
  border-top: 1px solid var(--font-color);
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  .p-contact .form .form__box:nth-child(n+2) {
    margin-top: 20px;
    padding-top: 20px;
  }
}
.p-contact .form .form__label {
  font-size: 1.8rem;
  font-weight: 700;
  width: 276px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-contact .form .form__label {
    font-size: 1.6rem;
    margin-top: 0;
  }
}
.p-contact .form .form_required {
  color: var(--red);
  font-size: 1.4rem;
  font-weight: 700;
  margin-left: 15px;
}
@media screen and (max-width: 768px) {
  .p-contact .form .form_required {
    font-size: 1.3rem;
  }
}
.p-contact .form .form_required.form_required-tsume {
  margin-left: 10px;
}
.p-contact .form .input__box {
  width: 100%;
  margin-top: -6.25px;
}
@media screen and (max-width: 768px) {
  .p-contact .form .input__box {
    margin-top: 10px;
  }
}
.p-contact .form .input__box.input__box-yubin {
  display: flex;
}
.p-contact .form .input__box.input__box-policy {
  margin-top: 0;
}
.p-contact .form .input__box.input__box-confirm {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .p-contact .form .input__box.input__box-confirm {
    margin-top: 10px;
  }
}
.p-contact .form .input {
  background-color: var(--gray-light02);
  padding: 10px 10px;
  font-size: 1.8rem;
  border: 1px solid var(--gray);
  border-radius: 3px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-contact .form .input {
    font-size: 1.6rem;
    padding: 5px 10px;
    border-radius: 1px;
  }
}
.p-contact .form .input::-moz-placeholder {
  color: #cccccc;
}
.p-contact .form .input::placeholder {
  color: #cccccc;
}
.p-contact .form .input-select {
  cursor: pointer;
  height: 43px;
}
@media screen and (max-width: 768px) {
  .p-contact .form .input-select {
    height: 30px;
  }
}
.p-contact .form .form__button_auto_address {
  background-color: var(--font-color);
  border: 1px solid var(--font-color);
  margin-left: 20px;
  width: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background-color 0.3s;
}
@media screen and (max-width: 768px) {
  .p-contact .form .form__button_auto_address {
    width: 110px;
  }
}
.p-contact .form .form__button_auto_address button {
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 1.8rem;
  transition: color 0.3s;
}
@media screen and (max-width: 768px) {
  .p-contact .form .form__button_auto_address button {
    font-size: 1.4rem;
  }
}
.p-contact .form .form__button_auto_address button:focus-visible {
  outline: none;
  box-shadow: 0px 0px 0px 2px #fff, 0px 0px 0px 4px #111;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-contact .form .form__button_auto_address:hover {
    background-color: #fff;
  }
  .p-contact .form .form__button_auto_address:hover button {
    color: var(--font-color);
  }
}
.p-contact .form .form__notes {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--red);
  margin-top: 5px;
}
.p-contact .form .policy_txt {
  font-size: 1.8rem;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .p-contact .form .policy_txt {
    font-size: 1.5rem;
  }
}
.p-contact .form .policy_txt .policy_txt__link {
  color: var(--sub-color);
  text-decoration: underline;
  transition: opacity 0.3s;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-contact .form .policy_txt .policy_txt__link:hover {
    opacity: 0.7;
  }
}
.p-contact .form .form_checkbox {
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  margin-top: 20px;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .p-contact .form .form_checkbox {
    margin: 20px auto 0;
  }
}
.p-contact .form .form_checkbox .checkbox_input {
  opacity: 0;
  position: absolute;
}
.p-contact .form .form_checkbox .checkbox_input:focus-visible + .form_checkbox_ico::before {
  box-shadow: 0px 0px 0px 2px #fff, 0px 0px 0px 4px var(--sub-color);
}
.p-contact .form .form_checkbox .checkbox_input:checked + .form_checkbox_ico::before {
  background-color: var(--sub-color);
  border-color: var(--sub-color);
}
.p-contact .form .form_checkbox .checkbox_input:checked + .form_checkbox_ico::after {
  opacity: 1;
}
.p-contact .form .form_checkbox .form_checkbox_ico {
  position: relative;
  display: inline-block;
}
.p-contact .form .form_checkbox .form_checkbox_ico::before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  border: 2px solid #666;
  position: absolute;
  top: 0.25em;
  left: 0;
}
@media screen and (max-width: 768px) {
  .p-contact .form .form_checkbox .form_checkbox_ico::before {
    top: 0.15em;
  }
}
.p-contact .form .form_checkbox .form_checkbox_ico::after {
  content: "";
  display: inline-block;
  width: 0.7em;
  height: 0.3em;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  position: absolute;
  top: 10px;
  left: 0.3em;
  transform: rotate(-45deg);
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .p-contact .form .form_checkbox .form_checkbox_ico::after {
    border-width: 2px;
    top: 8px;
    left: 0.3em;
  }
}
.p-contact .form .form_checkbox .form_consent_txt {
  padding-left: 2em;
  font-weight: 700;
  display: block;
  transition: opacity 0.3s;
  font-size: 2rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-contact .form .form_checkbox .form_consent_txt {
    display: block;
    padding-left: 2em;
    font-size: 1.6rem;
  }
}
.p-contact .form .form_button_area {
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  .p-contact .form .form_button_area {
    margin-top: 40px;
  }
}
.p-contact .form .form_button_area.form_button_area-confirm {
  display: flex;
  gap: 0 40px;
}
@media screen and (max-width: 768px) {
  .p-contact .form .form_button_area.form_button_area-confirm {
    flex-direction: column-reverse;
    gap: 30px 0;
  }
}
.p-contact .form .confirm_txt {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .p-contact .form .confirm_txt {
    font-size: 1.6rem;
  }
}
.p-contact .form_button_area-complete {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .p-contact .form_button_area-complete {
    margin-top: 40px;
  }
}
.p-contact .complete__link_btn {
  display: block;
  font-size: 2rem;
  position: relative;
  padding: 20px 40px;
  border: 1px solid var(--font-color);
  text-align: center;
  max-width: 320px;
  margin: 0 auto;
  transition: background-color 0.2s, color 0.2s, letter-spacing 0.2s;
}
@media screen and (max-width: 768px) {
  .p-contact .complete__link_btn {
    font-size: 1.6rem;
    padding: 10px 30px;
    max-width: 240px;
  }
}
.p-contact .complete__link_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  width: 16px;
  height: 6px;
  background: url("../images/ico_arrow01.svg") no-repeat center/contain;
  transform: translateY(-50%) rotate(180deg);
  pointer-events: none;
  transition: left 0.2s;
}
@media screen and (max-width: 768px) {
  .p-contact .complete__link_btn::after {
    left: 10px;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-contact .complete__link_btn:hover {
    background-color: var(--font-color);
    color: #fff;
    letter-spacing: 0.1em;
  }
  .p-contact .complete__link_btn:hover::after {
    background-image: url("../images/ico_arrow01_white.svg");
    left: 10px;
  }
}

.p-recruit .b-under_head {
  height: auto;
  padding-top: 133px;
}
@media screen and (max-width: 768px) {
  .p-recruit .b-under_head {
    padding-top: 100px;
  }
}
.p-recruit .b-under_head::before {
  height: 90%;
  background-color: var(--main-color);
}
@media screen and (max-width: 768px) {
  .p-recruit .b-under_head::before {
    height: 80%;
  }
}
.p-recruit .b-under_head .b-under_head__inner {
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .p-recruit .b-under_head .b-under_head__inner {
    display: flex;
    flex-direction: column-reverse;
  }
}
.p-recruit .b-under_head .b-under_head__title__wrapper {
  position: absolute;
  padding: 32px 64px 40px calc(50% - 860px);
  background-color: var(--font-color);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-recruit .b-under_head .b-under_head__title__wrapper {
    padding: 25px 0 30px 0;
  }
}
.p-recruit .b-under_head .b-under_head__title__wrapper .b-under_head__title_en {
  padding: 0 40px;
  color: #fff;
}
.p-recruit .b-under_head .b-under_head__title__wrapper .b-under_head__title {
  padding: 0 40px;
  color: var(--accent-color);
}
.p-recruit .b-under_head .b-bread {
  margin-left: auto;
  margin-right: 0;
  padding-top: 65px;
}
@media screen and (max-width: 768px) {
  .p-recruit .b-under_head .b-bread {
    padding-top: 10px;
  }
}
.p-recruit .kv {
  position: relative;
  margin: 20px auto 0;
}
@media screen and (max-width: 768px) {
  .p-recruit .kv {
    margin-top: 70px;
  }
}
.p-recruit .kv .kv__image {
  display: block;
}
.p-recruit .kv .kv__box {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  position: absolute;
  bottom: 20%;
  right: -138px;
  transition: right 0.1s;
}
@media screen and (max-width: 1660px) {
  .p-recruit .kv .kv__box {
    right: -20px;
  }
}
@media screen and (max-width: 576px) {
  .p-recruit .kv .kv__box {
    top: inherit;
    right: 0;
  }
}
.p-recruit .kv .kv__catch {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  font-size: 4rem;
  font-size: clamp(20px, 1.7361vw + 6.6667px, 40px);
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1;
}
@media screen and (max-width: 576px) {
  .p-recruit .kv .kv__catch {
    font-size: 1.8rem;
  }
}
.p-recruit .kv .kv__catch .kv__catch__text {
  position: relative;
  display: inline-block;
  margin-top: 0.3em;
  padding: 0.22em 0.4em 0.32em;
  background-color: #fff;
  overflow: hidden;
}
.p-recruit .kv .kv__catch .kv__catch__text::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: var(--sub-color);
  transition: all 1s cubic-bezier(0.75, 0, 0.15, 1);
}
.p-recruit .kv .kv__catch.is-show .kv__catch__text::before {
  right: -100%;
}
.p-recruit .kv .kv__catch.is-show .kv__catch__text:nth-of-type(2)::before {
  transition-delay: 0.2s;
}
.p-recruit .p-recruit_section .p-recruit_section__title {
  font-weight: 700;
  font-size: 4.3rem;
  font-size: clamp(30px, 1.1285vw + 21.3333px, 43px);
  transform: translateX(-3px);
}
@media screen and (max-width: 768px) {
  .p-recruit .p-recruit_section .p-recruit_section__title {
    font-size: 3rem;
  }
}
.p-recruit .p-recruit_section .p-recruit_section__sub_title {
  position: relative;
  font-weight: 700;
  font-size: 2rem;
  font-size: clamp(14px, 0.6303vw + 9.1597px, 20px);
  color: var(--main-color);
  line-height: 1.4;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .p-recruit .p-recruit_section .p-recruit_section__sub_title {
    font-size: 1.4rem;
  }
}
.p-recruit .p-recruit_section .p-recruit_section__body {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-recruit .p-recruit_section .p-recruit_section__body {
    margin-top: 30px;
  }
}

.p-recruit_top .kv .kv__box {
  bottom: 10%;
}
@media screen and (max-width: 576px) {
  .p-recruit_top .kv .kv__box {
    right: -10px;
  }
}
.p-recruit_top .b-under_body {
  margin-bottom: 200px;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .b-under_body {
    margin-bottom: 100px;
  }
}
.p-recruit_top .introduction {
  position: relative;
  padding-top: 80px;
  padding-bottom: 160px;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .introduction {
    padding-bottom: 80px;
  }
}
.p-recruit_top .introduction::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 1920px;
  height: 140px;
  background: url("../../recruit/images/bg_building01.png") no-repeat center bottom/contain;
  z-index: -1;
}
@media screen and (min-width: 1921px) {
  .p-recruit_top .introduction::before {
    width: 100%;
    background-repeat: repeat-x;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_top .introduction::before {
    width: 1248px;
    height: 91px;
    bottom: -20px;
  }
}
.p-recruit_top .introduction .introduction__inner {
  position: relative;
}
.p-recruit_top .introduction .introduction__inner::before, .p-recruit_top .introduction .introduction__inner::after {
  content: "";
  position: absolute;
  z-index: -1;
}
.p-recruit_top .introduction .introduction__inner::before {
  top: 20px;
  left: -190PX;
  width: 520px;
  height: 246px;
  background: url("../../recruit/images/introduction_img01.png") no-repeat center bottom/contain;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .introduction .introduction__inner::before {
    top: -140px;
    left: -80px;
    width: 260px;
    height: 123px;
  }
}
.p-recruit_top .introduction .introduction__inner::after {
  top: 23px;
  right: -164px;
  width: 460px;
  height: 385px;
  background: url("../../recruit/images/introduction_img02.png") no-repeat center bottom/contain;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .introduction .introduction__inner::after {
    top: inherit;
    right: -80px;
    bottom: -120px;
    width: 230px;
    height: 192.5px;
  }
}
.p-recruit_top .introduction .introduction__text {
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  line-height: 2.4;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .introduction .introduction__text {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_top .introduction .introduction__text {
    font-size: 1.5rem;
  }
}
.p-recruit_top .message {
  position: relative;
  padding-top: 80px;
}
.p-recruit_top .message::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 70px;
  width: 100%;
  height: 300px;
  background-color: var(--base-color);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .message::before {
    height: 70%;
    bottom: -70px;
  }
}
.p-recruit_top .message .p-recruit_section__body {
  margin-top: 0;
}
.p-recruit_top .message .message__box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .message .message__box {
    flex-direction: column;
    justify-content: center;
  }
}
.p-recruit_top .message .message__box .message__box__l_col {
  width: 34.9706744868%;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .message .message__box .message__box__l_col {
    width: 100%;
    margin-top: 30px;
    padding: 0 20px;
    text-align: center;
  }
}
.p-recruit_top .message .message__box .message__box__r_col {
  position: relative;
  max-width: 790px;
  width: 57.917888563%;
  padding: 60px 100px;
  background-color: #fff;
  font-size: 1.8rem;
  line-height: 2.6;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .message .message__box .message__box__r_col {
    width: 100%;
    margin-top: 50px;
    padding: 30px;
    font-size: 1.3rem;
    line-height: 2.2;
  }
}
.p-recruit_top .message .message__box .message__box__r_col::after {
  content: "";
  position: absolute;
  top: -9px;
  left: -9px;
  width: calc(100% + 18px);
  height: calc(100% + 18px);
  --x-gradient: linear-gradient(90deg, var(--sub-color) 0 70px, transparent 0 calc(100% - 70px), var(--sub-color) calc(100% - 70px));
  --y-gradient: linear-gradient(var(--sub-color) 0 70px, transparent 0 calc(100% - 70px), var(--sub-color) calc(100% - 70px));
  background-image: var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
  background-repeat: no-repeat;
  background-size: 100% 4px, 4px 100%, 100% 4px, 4px 100%;
  background-position: top, right, bottom, left;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .message .message__box .message__box__r_col::after {
    --x-gradient: linear-gradient(90deg, var(--sub-color) 0 30px, transparent 0 calc(100% - 30px), var(--sub-color) calc(100% - 30px));
    --y-gradient: linear-gradient(var(--sub-color) 0 30px, transparent 0 calc(100% - 30px), var(--sub-color) calc(100% - 30px));
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }
}
.p-recruit_top .movie {
  padding-top: 120px;
  text-align: center;
}
.p-recruit_top .movie .s-container {
  max-width: 1088px;
}
.p-recruit_top .movie .movie_ttl01 {
  text-align: center;
  color: var(--sub-color);
  font-size: 2.4rem;
  font-weight: 600;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .movie .movie_ttl01 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
}
.p-recruit_top .movie .movie__box {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
.p-recruit_top .movie .movie__box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-recruit_top .movie .movie__box02 {
  margin-top: 60px;
}
.p-recruit_top .movie .movie__box02 .movie_wrapper {
  position: relative;
  padding-top: 56.25%;
}
.p-recruit_top .movie .movie__box02 video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-recruit_top .strengths {
  position: relative;
  margin-top: 150px;
  padding-top: 80px;
  padding-bottom: 100px;
  background-color: var(--sub-color);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .strengths {
    margin-top: 80px;
  }
}
.p-recruit_top .strengths .s-container__inner {
  max-width: 1364px;
}
.p-recruit_top .strengths .p-recruit_section__sub_title {
  color: #fff;
}
.p-recruit_top .strengths .p-recruit_section__title {
  color: var(--accent-color);
}
.p-recruit_top .strengths .strengths__list {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .strengths .strengths__list {
    display: block;
  }
}
.p-recruit_top .strengths .strengths__list .strengths__list__item {
  position: relative;
  width: 32.1114369501%;
  padding: 40px;
  background-color: #fff;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .strengths .strengths__list .strengths__list__item {
    max-width: 630px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 30px 30px;
  }
}
.p-recruit_top .strengths .strengths__list .strengths__list__item::after {
  content: "";
  position: absolute;
  top: 20px;
  left: 20px;
  width: 79px;
  height: 101px;
}
@media screen and (max-width: 1200px) {
  .p-recruit_top .strengths .strengths__list .strengths__list__item::after {
    top: 10px;
    left: 10px;
    width: 72px;
    height: 90px;
  }
}
.p-recruit_top .strengths .strengths__list .strengths__list__item:nth-of-type(1)::after {
  background: url("../../recruit/images/strengths_point01.png") no-repeat center/contain;
}
.p-recruit_top .strengths .strengths__list .strengths__list__item:nth-of-type(2)::after {
  background: url("../../recruit/images/strengths_point02.png") no-repeat center/contain;
}
.p-recruit_top .strengths .strengths__list .strengths__list__item:nth-of-type(3)::after {
  background: url("../../recruit/images/strengths_point03.png") no-repeat center/contain;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .strengths .strengths__list .strengths__list__item + .strengths__list__item {
    margin-top: 16px;
  }
}
.p-recruit_top .strengths .strengths__list .strengths__list__item picture {
  display: block;
  text-align: center;
}
@media screen and (max-width: 1300px) {
  .p-recruit_top .strengths .strengths__list .strengths__list__item picture {
    padding-top: 30px;
  }
}
@media screen and (max-width: 992px) {
  .p-recruit_top .strengths .strengths__list .strengths__list__item picture {
    padding: 0 30px;
  }
}
.p-recruit_top .strengths .strengths__list .strengths__list__item dl {
  margin-top: 20px;
}
.p-recruit_top .strengths .strengths__list .strengths__list__item dl dt {
  text-align: center;
  color: var(--sub-color);
  font-size: 2.4rem;
  font-size: clamp(18px, 0.6472vw + 11.5728px, 24px);
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .strengths .strengths__list .strengths__list__item dl dt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 992px) {
  .p-recruit_top .strengths .strengths__list .strengths__list__item dl dt br {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_top .strengths .strengths__list .strengths__list__item dl dt br {
    display: block;
  }
}
.p-recruit_top .strengths .strengths__list .strengths__list__item dl dd {
  margin-top: 20px;
  line-height: 2;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .strengths .strengths__list .strengths__list__item dl dd {
    margin-top: 10px;
  }
}
.p-recruit_top .one_minute {
  position: relative;
  margin-top: -400px;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .one_minute {
    margin-top: 0;
  }
}
.p-recruit_top .one_minute::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--main-color);
  z-index: -1;
}
.p-recruit_top .one_minute .one_minute__inner {
  position: relative;
  padding: 600px 40px 400px;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .one_minute .one_minute__inner {
    padding: 100px 15px 280px;
  }
}
.p-recruit_top .one_minute .one_minute__inner::before, .p-recruit_top .one_minute .one_minute__inner::after {
  content: "";
  position: absolute;
  top: 0;
  width: 128px;
  height: 100%;
  background: url(../../images/bg_recruit01.png) repeat-y left top/cover;
  opacity: 0.2;
  animation: loopY 2000s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .one_minute .one_minute__inner::before, .p-recruit_top .one_minute .one_minute__inner::after {
    width: 64px;
    background-size: contain;
  }
}
.p-recruit_top .one_minute .one_minute__inner::before {
  left: -3px;
}
.p-recruit_top .one_minute .one_minute__inner::after {
  right: -3px;
  transform: scale(-1);
}
.p-recruit_top .one_minute .s-container {
  position: relative;
  max-width: 1364px;
  padding: 0 60px 60px;
  background-color: #fff;
  background-image: linear-gradient(var(--base-color) 1px, transparent 1px), linear-gradient(to right, var(--base-color) 1px, #fff 1px);
  background-size: 20px 20px;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .p-recruit_top .one_minute .s-container {
    padding: 0 60px 90px;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_top .one_minute .s-container {
    padding: 0 15px 15px;
  }
}
.p-recruit_top .one_minute .s-container::before, .p-recruit_top .one_minute .s-container::after {
  content: "KAJIMAGIKEN";
  position: absolute;
  top: 50%;
  color: var(--sub-color);
  font-size: 2rem;
  -moz-writing-mode: vertical-lr;
  writing-mode: vertical-lr;
  letter-spacing: 0.3em;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .one_minute .s-container::before, .p-recruit_top .one_minute .s-container::after {
    font-size: 1.3rem;
  }
}
.p-recruit_top .one_minute .s-container::before {
  left: -2.5em;
  transform: rotate(180deg);
}
.p-recruit_top .one_minute .s-container::after {
  right: -2.5em;
}
.p-recruit_top .one_minute .one_minute__title {
  text-align: center;
}
.p-recruit_top .one_minute .one_minute__title02 {
  position: relative;
  padding-left: 46px;
  color: var(--sub-color);
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .one_minute .one_minute__title02 {
    padding-left: 32px;
    font-size: 1.8rem;
  }
}
.p-recruit_top .one_minute .one_minute__title02::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 32px;
  height: 2px;
  background-color: var(--sub-color);
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-recruit_top .one_minute .one_minute__title02::before {
    width: 24px;
  }
}
.p-recruit_top .one_minute .p-recruit_section__head {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .p-recruit_top .one_minute .p-recruit_section__head {
    width: calc(100% - 40px);
  }
}
.p-recruit_top .one_minute .p-recruit_section__body {
  margin-top: 0;
  padding-top: 120px;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .p-recruit_section__body {
    padding-top: 80px;
  }
}
@media screen and (max-width: 550px) {
  .p-recruit_top .one_minute .p-recruit_section__body {
    padding-top: 60px;
  }
}
.p-recruit_top .one_minute .purpose .purpose__box {
  margin-top: 30px;
  display: flex;
  border: 3px solid var(--sub-color);
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .purpose .purpose__box {
    display: block;
    margin-top: 10px;
    border-width: 2px;
  }
}
.p-recruit_top .one_minute .purpose .purpose__list {
  width: 50%;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .purpose .purpose__list {
    width: 100%;
  }
}
.p-recruit_top .one_minute .purpose .purpose__list + .purpose__list {
  border-left: 3px solid var(--sub-color);
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .purpose .purpose__list + .purpose__list {
    border-top: 2px solid var(--sub-color);
    border-left: none;
    border-width: 2px;
  }
}
.p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item {
  position: relative;
  padding: 30px 20px;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item {
    padding: 20px;
  }
}
.p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item + .purpose__list__item {
  border-top: 3px solid var(--sub-color);
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item + .purpose__list__item {
    border-width: 2px;
  }
}
.p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item dl {
  display: flex;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item dl {
    display: block;
  }
}
.p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 5em;
  height: 5em;
  margin-right: 30px;
  background-color: var(--sub-color);
  color: #fff;
  text-align: center;
  font-size: 2.4rem;
  font-size: clamp(15px, 0.9709vw + 5.3592px, 24px);
  font-weight: 500;
  border-radius: 50%;
  line-height: 1.3;
}
@media screen and (max-width: 1300px) {
  .p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item dl dt {
    margin-right: 1em;
  }
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item dl dt {
    width: auto;
    height: auto;
    margin-right: 0;
    padding: 2px;
    border-radius: 15px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item dl dt br {
    display: none;
  }
}
.p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item dl dd {
  font-size: 1.8rem;
  font-size: clamp(13px, 0.5394vw + 7.644px, 18px);
  line-height: 2;
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item dl dd {
    margin-top: 10px;
    font-size: 1.3rem;
  }
}
.p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item.purpose__list__item--01 dl {
  align-items: center;
}
@media screen and (max-width: 1300px) {
  .p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item.purpose__list__item--01 dl {
    align-items: flex-start;
  }
}
.p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item.purpose__list__item--01 dd {
  font-size: 2.2rem;
  font-size: clamp(15px, 0.7551vw + 7.5016px, 22px);
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item.purpose__list__item--01 dd {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1300px) {
  .p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item.purpose__list__item--01 dd br {
    display: none;
  }
}
.p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item.purpose__list__item--04 dd ul {
  font-size: 2.2rem;
  font-size: clamp(15px, 0.7551vw + 7.5016px, 22px);
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item.purpose__list__item--04 dd ul {
    font-size: 1.5rem;
  }
}
.p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item.purpose__list__item--04 .purpose__list__item__text {
  padding-left: 2.6em;
}
.p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item.purpose__list__item--05 dd ul {
  font-size: 2.2rem;
  font-size: clamp(15px, 0.7551vw + 7.5016px, 22px);
}
@media screen and (max-width: 992px) {
  .p-recruit_top .one_minute .purpose .purpose__list .purpose__list__item.purpose__list__item--05 dd ul {
    font-size: 1.5rem;
  }
}
.p-recruit_top .one_minute .data {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .one_minute .data {
    margin-top: 40px;
  }
}
.p-recruit_top .one_minute .data .data__box {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .one_minute .data .data__box {
    margin-top: 10px;
  }
}
.p-recruit_top .one_minute .one_minute__illust picture {
  position: absolute;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .one_minute .one_minute__illust picture {
    display: none;
  }
}
.p-recruit_top .one_minute .one_minute__illust picture:nth-of-type(1) {
  left: -28px;
  bottom: -30px;
}
@media screen and (max-width: 1200px) {
  .p-recruit_top .one_minute .one_minute__illust picture:nth-of-type(1) {
    left: -28px;
    bottom: -35px;
  }
}
.p-recruit_top .one_minute .one_minute__illust picture:nth-of-type(2) {
  right: 0;
  bottom: -24px;
}
@media screen and (max-width: 1200px) {
  .p-recruit_top .one_minute .one_minute__illust picture:nth-of-type(2) {
    right: -35px;
    bottom: -35px;
  }
}
@media screen and (max-width: 1200px) {
  .p-recruit_top .one_minute .one_minute__illust img {
    width: 80%;
  }
}
.p-recruit_top .interview {
  margin-top: -400px;
  padding-top: 120px;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .interview {
    margin-top: -280px;
    padding-top: 80px;
  }
}
.p-recruit_top .interview .p-recruit_section__sub_title {
  color: #fff;
}
.p-recruit_top .interview .p-recruit_section__title {
  color: var(--accent-color);
}
.p-recruit_top .interview .interview__list {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}
@media screen and (max-width: 576px) {
  .p-recruit_top .interview .interview__list {
    flex-wrap: wrap;
    margin-top: 30px;
  }
}
.p-recruit_top .interview .interview__list li {
  max-width: 329px;
  width: 24.1202346041%;
  counter-increment: count;
}
@media screen and (max-width: 576px) {
  .p-recruit_top .interview .interview__list li {
    max-width: inherit;
    width: 48%;
  }
}
@media screen and (max-width: 576px) {
  .p-recruit_top .interview .interview__list li:nth-of-type(n + 3) {
    margin-top: 40px;
  }
}
.p-recruit_top .interview .interview__list li a picture {
  overflow: hidden;
  display: block;
}
.p-recruit_top .interview .interview__list li a picture img {
  transition: transform 0.2s, filter 0.2s;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-recruit_top .interview .interview__list li a:hover picture img {
    transform: scale(1.1);
    filter: brightness(80%);
  }
}
.p-recruit_top .interview .interview__list li .interview__profile {
  position: relative;
  margin-top: 30px;
  padding-left: 2em;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .interview .interview__list li .interview__profile {
    margin-top: 10px;
  }
}
.p-recruit_top .interview .interview__list li .interview__profile::before {
  content: counter(count, decimal-leading-zero);
  position: absolute;
  left: 0;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .interview .interview__list li .interview__profile::before {
    font-size: 1.2rem;
  }
}
.p-recruit_top .interview .interview__list li .interview__department {
  display: block;
}
.p-recruit_top .interview .interview__list li .interview__name {
  display: block;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .interview .interview__list li .interview__name {
    font-size: 1.5rem;
  }
}
.p-recruit_top .impression {
  position: relative;
  padding-top: 120px;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .impression {
    padding-top: 80px;
  }
}
.p-recruit_top .impression::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20%;
  width: 1920px;
  height: 140px;
  background: url("../../recruit/images/bg_building01.png") no-repeat center bottom/contain;
  z-index: -1;
}
@media screen and (min-width: 1921px) {
  .p-recruit_top .impression::before {
    width: 100%;
    background-repeat: repeat-x;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_top .impression::before {
    width: 1248px;
    height: 91px;
    bottom: 20px;
  }
}
.p-recruit_top .impression .p-recruit_section__body {
  margin-top: 0;
  /*@include mq(769,min){
  	margin-top: 0;
  }*/
}
@media screen and (max-width: 768px) {
  .p-recruit_top .impression .p-recruit_section__title {
    font-size: 2.4rem;
  }
}
.p-recruit_top .impression .impression__list {
  position: relative;
  width: 100%;
  padding-top: 54.2521994135%;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .impression .impression__list {
    padding-top: 0;
  }
}
.p-recruit_top .impression .impression__list .impression__list__item {
  position: absolute;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .impression .impression__list .impression__list__item {
    position: relative;
  }
}
.p-recruit_top .impression .impression__list .impression__list__item picture {
  display: block;
}
.p-recruit_top .impression .impression__list .impression__list__item:nth-of-type(1) {
  left: -262px;
  bottom: 0;
  width: 57.2580645161%;
}
@media screen and (max-width: 1200px) {
  .p-recruit_top .impression .impression__list .impression__list__item:nth-of-type(1) {
    left: -14%;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_top .impression .impression__list .impression__list__item:nth-of-type(1) {
    top: 20px;
    left: unset;
    right: -6%;
    bottom: unset;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_top .impression .impression__list .impression__list__item:nth-of-type(1) picture {
    transform: rotate(-14deg);
  }
}
.p-recruit_top .impression .impression__list .impression__list__item:nth-of-type(2) {
  top: -40px;
  left: 295px;
  width: 56.8914956012%;
}
@media screen and (max-width: 1200px) {
  .p-recruit_top .impression .impression__list .impression__list__item:nth-of-type(2) {
    left: 25%;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_top .impression .impression__list .impression__list__item:nth-of-type(2) {
    top: 10px;
    left: -16%;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_top .impression .impression__list .impression__list__item:nth-of-type(2) picture {
    transform: rotate(5deg);
  }
}
.p-recruit_top .impression .impression__list .impression__list__item:nth-of-type(3) {
  right: -100px;
  bottom: 10px;
  width: 58.724340176%;
}
@media screen and (max-width: 1200px) {
  .p-recruit_top .impression .impression__list .impression__list__item:nth-of-type(3) {
    right: -8%;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_top .impression .impression__list .impression__list__item:nth-of-type(3) {
    top: -40px;
    right: unset;
    bottom: unset;
    width: 100%;
  }
}
.p-recruit_top .entry {
  position: relative;
  margin-top: 80px;
  padding: 100px 80px;
  background-color: var(--main-color);
}
@media screen and (max-width: 768px) {
  .p-recruit_top .entry {
    margin-top: 40px;
    padding: 60px 15px;
  }
}
.p-recruit_top .entry::before, .p-recruit_top .entry::after {
  content: "";
  position: absolute;
  top: 0;
  width: 84px;
  height: 100%;
  background: url("../../recruit/images/bg_entry01.png") repeat-y left top/cover;
  opacity: 0.2;
  animation: loopY 2000s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .entry::before, .p-recruit_top .entry::after {
    width: 40px;
    background-size: contain;
  }
}
.p-recruit_top .entry::before {
  left: -3px;
}
.p-recruit_top .entry::after {
  right: -3px;
  transform: scale(-1);
}
.p-recruit_top .entry .s-container__inner {
  max-width: 1088px;
}
.p-recruit_top .entry .entry__lead {
  text-align: center;
  color: var(--sub-color);
  font-size: 2.4rem;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .entry .entry__lead {
    font-size: 1.8rem;
  }
}
.p-recruit_top .entry .entry__button {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .entry .entry__button {
    display: block;
  }
}
.p-recruit_top .entry .entry__button .entry__button__item {
  width: 49.2647058824%;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .entry .entry__button .entry__button__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_top .entry .entry__button .entry__button__item + .entry__button__item {
    margin-top: 10px;
  }
}
.p-recruit_top .entry .entry__button .entry__button__item a {
  position: relative;
  display: block;
  padding: 30px;
  text-align: center;
  background-color: #fff;
  border: 2px solid var(--sub-color);
  transition: opacity 0.2s;
}
.p-recruit_top .entry .entry__button .entry__button__item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  width: 16px;
  height: 6px;
  background: url("../images/ico_arrow01.svg") no-repeat center/contain;
  transform: translateY(-50%);
  pointer-events: none;
  transition: right 0.2s;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-recruit_top .entry .entry__button .entry__button__item a:hover {
    opacity: 0.8;
  }
  .p-recruit_top .entry .entry__button .entry__button__item a:hover::after {
    background-image: url("../images/ico_arrow01_navy.svg");
    right: 20px;
  }
}
.p-recruit_top .entry .entry__button .entry__button__title {
  display: block;
  color: var(--sub-color);
  font-size: 2.4rem;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .entry .entry__button .entry__button__title {
    font-size: 1.8rem;
  }
}
.p-recruit_top .recruit__entry {
  position: relative;
  margin-top: 48px;
  margin-left: auto;
  margin-right: auto;
  background-color: var(--sub-color);
  text-align: center;
  transition: background-color 0.2s;
  overflow: hidden;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .recruit__entry {
    max-width: 500px;
    margin-top: 30px;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-recruit_top .recruit__entry:hover {
    background: #01133d;
  }
  .p-recruit_top .recruit__entry:hover::before {
    transform: scale(1.1);
  }
}
.p-recruit_top .recruit__entry::before, .p-recruit_top .recruit__entry::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.p-recruit_top .recruit__entry::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../../images/recruit_entry_img01.jpg") no-repeat center/cover;
  opacity: 0.15;
  transition: transform 0.3s;
}
.p-recruit_top .recruit__entry::after {
  top: 25px;
  left: 25px;
  width: calc(100% - 50px);
  height: calc(100% - 50px);
  --x-gradient: linear-gradient(90deg, #fff 0 70px, transparent 0 calc(100% - 70px), #fff calc(100% - 70px));
  --y-gradient: linear-gradient(#fff 0 70px, transparent 0 calc(100% - 70px), #fff calc(100% - 70px));
  background-image: var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
  background-repeat: no-repeat;
  background-size: 100% 5px, 5px 100%, 100% 5px, 5px 100%;
  background-position: top, right, bottom, left;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .recruit__entry::after {
    top: 15px;
    left: 15px;
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    --x-gradient: linear-gradient(90deg, #fff 0 30px, transparent 0 calc(100% - 30px), #fff calc(100% - 30px));
    --y-gradient: linear-gradient(#fff 0 30px, transparent 0 calc(100% - 30px), #fff calc(100% - 30px));
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }
}
.p-recruit_top .recruit__entry a {
  position: relative;
  display: block;
  padding: 75px;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .recruit__entry a {
    padding: 30px 20px;
  }
}
.p-recruit_top .recruit__entry .recruit__entry__catch {
  display: inline-block;
  padding: 0 3em;
  background-color: var(--accent-color);
  color: var(--sub-color);
  border-radius: 2em;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .recruit__entry .recruit__entry__catch {
    padding: 0 2em;
    font-size: 1.4rem;
  }
}
.p-recruit_top .recruit__entry .recruit__entry__title {
  margin-top: 30px;
  color: #fff;
  font-size: 4.7rem;
  letter-spacing: 0.15em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .recruit__entry .recruit__entry__title {
    margin-top: 15px;
    font-size: 2rem;
  }
}
.p-recruit_top .recruit__entry .recruit__entry__en {
  color: var(--accent-color);
  font-size: 2.1rem;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .p-recruit_top .recruit__entry .recruit__entry__en {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 992px) {
  .p-recruit_interview .kv .kv__box {
    bottom: -20%;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .kv .kv__box {
    position: relative;
    margin-top: -28%;
    transform: translateX(20px);
  }
}
@media screen and (max-width: 576px) {
  .p-recruit_interview .kv .kv__box {
    margin-top: -16%;
  }
}
.p-recruit_interview .kv .kv__profile {
  margin-top: 30px;
  padding: 30px 40px;
  background-color: var(--sub-color);
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .kv .kv__profile {
    margin-top: 20px;
    padding: 20px 30px;
  }
}
.p-recruit_interview .kv .kv__profile .kv__profile__category {
  font-size: 2rem;
  font-size: clamp(14px, 0.5208vw + 10px, 20px);
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .kv .kv__profile .kv__profile__category {
    font-size: 1.4rem;
  }
}
.p-recruit_interview .kv .kv__profile .kv__profile__name {
  position: relative;
  min-width: 240px;
  padding-bottom: 10px;
  font-size: 3.2rem;
  font-size: clamp(24px, 0.6944vw + 18.6667px, 32px);
}
@media screen and (max-width: 992px) {
  .p-recruit_interview .kv .kv__profile .kv__profile__name {
    min-width: 200px;
  }
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .kv .kv__profile .kv__profile__name {
    min-width: 160px;
    font-size: 2.4rem;
  }
}
.p-recruit_interview .kv .kv__profile .kv__profile__name::before, .p-recruit_interview .kv .kv__profile .kv__profile__name::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
}
.p-recruit_interview .kv .kv__profile .kv__profile__name::before {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.3);
}
.p-recruit_interview .kv .kv__profile .kv__profile__name::after {
  width: 80px;
  background-color: #fff;
}
.p-recruit_interview .kv .kv__profile .kv__profile__name .b-small {
  margin-left: 0.2em;
}
.p-recruit_interview .kv .kv__profile .kv__profile__year {
  padding-top: 10px;
  font-weight: 400;
}
.p-recruit_interview .b-under_head + .s-container {
  margin-top: 150px;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .b-under_head + .s-container {
    margin-top: 80px;
  }
}
.p-recruit_interview .interview .interview__block {
  position: relative;
  /*display: -webkit-flex;
  display: flex;
  justify-content: space-between;*/
}
.p-recruit_interview .interview .interview__block + .interview__block {
  margin-top: 100px;
}
.p-recruit_interview .interview .interview__block .interview__block__l_col {
  width: 59.5307917889%;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .interview .interview__block .interview__block__l_col {
    width: 100%;
  }
}
.p-recruit_interview .interview .interview__block .interview__block__r_col {
  position: absolute;
  top: 0;
  right: -20%;
  max-width: 766px;
  width: 57%;
  padding-bottom: 55.4373368146%;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .interview .interview__block .interview__block__r_col {
    position: relative;
    right: 0;
    height: auto;
    width: 100%;
    margin-top: 40px;
    padding-bottom: 40px;
  }
}
.p-recruit_interview .interview .interview__block .interview__block__r_col .interview__image_l {
  position: absolute;
  top: 0;
  right: 0;
  width: 88.2506527415%;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .interview .interview__block .interview__block__r_col .interview__image_l {
    display: block;
    position: relative;
    margin-left: auto;
    margin-right: 0;
  }
}
.p-recruit_interview .interview .interview__block .interview__block__r_col .interview__image_s {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 63.7075718016%;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .interview .interview__block .interview__block__r_col .interview__image_s {
    display: block;
    position: relative;
    margin-top: -5%;
  }
}
.p-recruit_interview .interview .interview__block .interview__block__r_col .interview__image_s::after {
  content: "";
  position: absolute;
  right: -136px;
  bottom: -132px;
  width: 240px;
  height: 200px;
  background: url("../../recruit/interview/images/bg_interview01.png") no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .interview .interview__block .interview__block__r_col .interview__image_s::after {
    right: -68px;
    bottom: -66px;
    width: 120px;
    height: 100px;
  }
}
.p-recruit_interview .interview .interview__block:nth-of-type(even) {
  flex-direction: row-reverse;
}
.p-recruit_interview .interview .interview__block:nth-of-type(even) .interview__block__l_col {
  margin-left: auto;
  margin-right: 0;
}
.p-recruit_interview .interview .interview__block:nth-of-type(even) .interview__block__r_col {
  left: -20%;
  right: inherit;
  padding-bottom: 66.9712793734%;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .interview .interview__block:nth-of-type(even) .interview__block__r_col {
    left: unset;
    padding-bottom: 40px;
  }
}
.p-recruit_interview .interview .interview__block:nth-of-type(even) .interview__block__r_col .interview__image_l {
  left: 0;
  right: unset;
}
.p-recruit_interview .interview .interview__block:nth-of-type(even) .interview__block__r_col .interview__image_s {
  left: unset;
  right: 0;
  width: 50.5221932115%;
}
.p-recruit_interview .interview .interview__block:nth-of-type(even) .interview__block__r_col .interview__image_s::after {
  left: -190px;
  right: unset;
  bottom: -122px;
  transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .interview .interview__block:nth-of-type(even) .interview__block__r_col .interview__image_s::after {
    left: unset;
    right: -68px;
    bottom: -30px;
    transform: rotate(270deg);
  }
}
.p-recruit_interview .interview .interview__list .interview__list__item + .interview__list__item {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .interview .interview__list .interview__list__item + .interview__list__item {
    margin-top: 60px;
  }
}
.p-recruit_interview .interview .interview__list .interview__list__q {
  position: relative;
  padding-left: 40px;
  color: var(--sub-color);
  font-size: 2.8rem;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .interview .interview__list .interview__list__q {
    padding-left: 30px;
    font-size: 1.5rem;
  }
}
.p-recruit_interview .interview .interview__list .interview__list__q::before {
  content: "";
  position: absolute;
  top: 0.875em;
  left: 0;
  width: 32px;
  height: 2px;
  background-color: var(--sub-color);
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .interview .interview__list .interview__list__q::before {
    width: 22px;
  }
}
.p-recruit_interview .interview .interview__list .interview__list__a {
  margin-top: 40px;
  font-size: 1.8rem;
  line-height: 2.6;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .interview .interview__list .interview__list__a {
    margin-top: 20px;
    padding: 0 10px;
    font-size: 1.3rem;
  }
}
.p-recruit_interview .schedule {
  position: relative;
  margin-top: 160px;
  padding: 70px 40px;
  background-color: var(--main-color);
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .schedule {
    margin-top: 80px;
    padding: 50px 20px;
  }
}
.p-recruit_interview .schedule::before, .p-recruit_interview .schedule::after {
  content: "";
  position: absolute;
  top: 0;
  width: 62px;
  height: 100%;
  background: url("../../recruit/interview/images/bg_schedule01.png") repeat-y left top/cover;
  opacity: 0.2;
  animation: loopY 2000s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .schedule::before, .p-recruit_interview .schedule::after {
    width: 40px;
    background-size: contain;
  }
}
.p-recruit_interview .schedule::before {
  left: -3px;
}
.p-recruit_interview .schedule::after {
  right: -3px;
  transform: scale(-1);
}
.p-recruit_interview .schedule .schedule__title {
  display: inline-block;
  position: absolute;
  top: 28px;
  left: -40px;
  padding: 5px 40px;
  background-color: var(--font-color);
  color: #fff;
  font-size: 3.2rem;
  letter-spacing: 0.1em;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .schedule .schedule__title {
    font-size: 1.8rem;
  }
}
.p-recruit_interview .schedule .schedule__box {
  position: relative;
  display: flex;
  justify-content: space-between;
  max-width: 1088px;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .schedule .schedule__box {
    display: block;
  }
}
.p-recruit_interview .schedule .schedule__box .schedule__box__l_col {
  display: block;
  max-width: 488px;
  width: 48%;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .schedule .schedule__box .schedule__box__l_col {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-recruit_interview .schedule .schedule__box .schedule__box__r_col {
  max-width: 480px;
  width: 48%;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .schedule .schedule__box .schedule__box__r_col {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-recruit_interview .schedule .schedule__list {
  position: relative;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .schedule .schedule__list {
    margin-top: 30px;
    font-size: 1.6rem;
  }
}
.p-recruit_interview .schedule .schedule__list::before {
  content: "";
  position: absolute;
  top: calc(0.6em + 3px);
  left: calc(3em + 11px);
  width: 1px;
  height: calc(100% - 1.2em - 6px);
  background-color: #fff;
}
.p-recruit_interview .schedule .schedule__list .schedule__list__item {
  display: flex;
  position: relative;
}
.p-recruit_interview .schedule .schedule__list .schedule__list__item + .schedule__list__item {
  margin-top: 20px;
}
.p-recruit_interview .schedule .schedule__list .schedule__list__item::before {
  content: "";
  position: absolute;
  top: 0.6em;
  left: calc(3em + 4px);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #fff;
}
.p-recruit_interview .schedule .schedule__list .schedule__list__time {
  flex-shrink: 0;
  width: 3em;
  margin-right: 40px;
}
.p-recruit_interview .schedule .schedule__list .schedule__list__task .schedule__list__task__text {
  display: block;
  margin-top: 0.2em;
  font-size: 0.8em;
  line-height: 1.4;
}
.p-recruit_interview .message {
  max-width: 812px;
  margin: 100px auto 0;
}
.p-recruit_interview .message .message__title {
  padding-bottom: 0.5em;
  letter-spacing: 0.2em;
}
.p-recruit_interview .message .message__box {
  display: flex;
  justify-content: space-between;
  padding: 60px 0;
  border-top: 2px solid;
  border-bottom: 2px solid;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .message .message__box {
    display: block;
    padding: 40px 0;
  }
}
.p-recruit_interview .message .message__box .message__box__l_col {
  flex-shrink: 0;
  margin-right: 40px;
  padding-top: 10px;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .message .message__box .message__box__l_col {
    display: block;
    width: 100px;
    margin-right: 20px;
    padding-top: 0;
    float: left;
  }
}
.p-recruit_interview .message .message__box .message__box__r_col {
  font-size: 1.8rem;
  line-height: 2.5;
}
@media screen and (max-width: 768px) {
  .p-recruit_interview .message .message__box .message__box__r_col {
    font-size: 1.4rem;
  }
}
.p-recruit_interview .interview_list {
  margin-top: 120px;
}

.p-recruit_entry .space {
  margin-top: 1em;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .b-under_head .b-bread.bread__entry {
    padding-top: 40px;
  }
}
.p-recruit_entry .entry {
  margin-top: 10%;
  /*section_entry*/
}
.p-recruit_entry .entry .section_entry {
  width: 75%;
  margin: 0 auto;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry {
    width: 95%;
  }
}
.p-recruit_entry .entry .section_entry .entry_lead_box .entry_leadtxt {
  font-size: 1.8rem;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_lead_box .entry_leadtxt {
    font-size: 1.6rem;
  }
}
.p-recruit_entry .entry .section_entry .entry_lead_box .entry_pagenavi {
  padding-top: 5%;
  font-size: 2rem;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  gap: 30px;
  color: var(--sub-color);
}
.p-recruit_entry .entry .section_entry .entry_lead_box .entry_pagenavi li {
  color: var(--base-dark-color) !important;
  text-decoration: underline !important;
  transition: opacity 0.3s;
}
.p-recruit_entry .entry .section_entry .entry_wrapper.entry_wrapper__midcareerrecruitment {
  margin-top: 20%;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper.entry_wrapper__midcareerrecruitment {
    margin-top: 28%;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .section__entry_title {
  margin-top: 8%;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .section__entry_title {
    margin-top: 12%;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists {
  margin-top: 4.5%;
}
@media screen and (max-width: 996px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists {
    margin-top: 15%;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item {
  margin-top: 30px;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item {
    display: block;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item dt {
  width: 25%;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--sub-color);
  padding-left: 1em;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item dt {
    width: 100%;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item dt {
    position: relative;
    padding-top: 30px;
  }
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item dt::before, .p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item dt::after {
    content: "";
    position: absolute;
    height: 1px;
    top: 0;
  }
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item dt::before {
    width: 30%;
    left: 0;
    background-color: var(--sub-color);
  }
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item dt::after {
    width: 70%;
    right: 0;
    background-color: rgba(var(--sub-color-rgb), 0.5);
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item dd {
  width: 75%;
  font-size: 1.8rem;
  padding-left: 1em;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item dd {
    width: 100%;
    font-size: 1.4rem;
    padding: 1em;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item:nth-child(n+2) {
  margin-top: 30px;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item:nth-child(n+2) {
    margin-top: 2em;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item:nth-child(n+2) dt {
  border-top: 1px solid var(--sub-color);
  padding-top: 30px;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item:nth-child(n+2) dt {
    border-top: none;
    padding-top: 2em;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item:nth-child(n+2) dd {
  border-top: 1px solid rgba(var(--sub-color-rgb), 0.5);
  padding-top: 30px;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_inner .entry__lists .entry__lists__item:nth-child(n+2) dd {
    border-top: none;
    padding-top: 1em;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox {
  margin-top: 10%;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox {
    margin-top: 12%;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .entry_title {
  font-weight: bold;
  color: var(--sub-color);
  margin: 0 auto;
  font-size: 3.2rem;
  max-width: 812px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .entry_title {
    width: 100%;
    font-size: 2rem;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content {
  margin-top: 5%;
  background-color: var(--main-color);
  max-width: 812px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content {
    width: 100%;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list {
  margin-top: 3%;
  padding: 5%;
  list-style: none;
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item {
  background-color: #FFF;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  position: relative;
  padding: 20px 30px;
  align-items: center;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item {
    padding: 20px;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item:nth-child(n+2) {
  margin-top: 35px;
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item .list_step__label {
  flex-wrap: wrap;
  align-items: center;
  flex-direction: column;
  padding: 0;
  border-radius: 3px 0 0 3px;
  width: 110px;
  height: 100%;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item .list_step__label {
    width: 75px;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item .list_step__label .label_step {
  align-self: flex-end;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 6px;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item .list_step__label .label_step {
    font-size: 2rem;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item .list_step__label .label_num {
  margin-left: 1.65rem;
  font-size: 3.5rem;
  font-weight: bold;
  line-height: 0.8;
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item .list_step__label .label_num {
    font-size: 3rem;
    margin-left: 3vw;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item .list_step__content {
  padding: 0 5vw 0;
  font-size: 1.8rem;
  justify-content: center;
  align-items: center;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  max-width: calc(100% - 110px);
  border-bottom: none;
  border-left: 1px solid rgba(var(--sub-color-rgb), 0.15);
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item .list_step__content {
    font-size: 1.4rem;
    padding: 0 0 0 5vw;
    max-width: calc(100% - 75px);
  }
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item .list_step__content img {
    max-width: 160px;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item .list_step__content .big {
  font-weight: 500;
  font-size: 120%;
  color: var(--sub-color);
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  border-top: 20px solid var(--sub-color);
  border-bottom: 0;
  position: absolute;
  left: 50%;
  bottom: -28px;
  transform: translateX(-50%);
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item::after {
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
    border-top: 15px solid var(--sub-color);
    bottom: -25px;
  }
}
.p-recruit_entry .entry .section_entry .entry_wrapper .entry_flowbox .flow_box_content .flow_box_content__list .content__list__item:last-child::after {
  content: none;
}
.p-recruit_entry .entry .entry__img__block {
  max-width: 1364px;
  margin: 0 auto;
}
@media screen and (max-width: 996px) {
  .p-recruit_entry .entry .entry__img__block {
    width: 85%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 576px) {
  .p-recruit_entry .entry .entry__img__block {
    width: 95%;
  }
}
.p-recruit_entry .entry .entry__img__block .entry__img__innner {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  width: 100%;
  padding-top: 15%;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .p-recruit_entry .entry .entry__img__block .entry__img__innner {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 25%;
  }
}
.p-recruit_entry .entry .entry__img__block .entry__img__innner .img_large {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-recruit_entry .entry .entry__img__block .entry__img__innner .img_large {
    width: 100%;
  }
}
.p-recruit_entry .entry .entry__img__block .entry__img__innner .img_row {
  display: flex;
  gap: 10px;
}
.p-recruit_entry .entry .entry__img__block .entry__img__innner .img_row picture {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-recruit_entry .entry .entry__img__block .entry__img__innner .img_row {
    flex: 1;
  }
  .p-recruit_entry .entry .entry__img__block .entry__img__innner .img_row picture {
    width: calc(50% - 5px);
  }
}

.p-policy .policy_section {
  padding-top: 110px;
  font-size: 1.8rem;
  line-height: 1.95;
}
@media screen and (max-width: 768px) {
  .p-policy .policy_section {
    padding-top: 80px;
    font-size: 1.4rem;
  }
}
.p-policy .policy_title {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-policy .policy_title {
    font-size: 2.4rem;
  }
}
.p-policy .policy_title::after {
  content: "";
  width: 100%;
  height: 1px;
  display: inline-block;
  background-color: var(--font-color);
  position: absolute;
  bottom: -5px;
  left: 0;
}
.p-policy .section_list {
  padding-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-policy .section_list {
    padding-top: 40px;
  }
}
.p-policy .section_list .list_ttl {
  font-size: 2.4rem;
  font-weight: bold;
  padding-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .p-policy .section_list .list_ttl {
    font-size: 1.8rem;
  }
}
.p-policy .section_list .list_ttl.list_ttl__pack {
  letter-spacing: -0.01em;
}
.p-policy .section_list .list_item {
  letter-spacing: 0.05em;
}
.p-policy .list_innerbox {
  margin-top: 30px;
  padding: 25px 30px;
  background-color: #ECECEF;
}
@media screen and (max-width: 768px) {
  .p-policy .list_innerbox {
    margin-top: 20px;
    padding: 25px 15px;
  }
}
.p-policy .list_innerbox .innerbox_ttl {
  font-weight: bold;
}
.p-policy .list_innerbox .innerbox_txt {
  overflow-wrap: break-word;
}
.p-policy .list_innerbox .innerbox_txt ul {
  list-style: none;
}
.p-policy .list_innerbox .innerbox_txt ul li {
  text-indent: -1em;
  padding-left: 1em;
}
.p-policy .list_innerbox .innerbox_txt ul li::before {
  content: "・";
}

.p-is_base .b-under_head-ph {
  /*写真付き下層トップ用*/
}
.p-is_base .b-under_head-ph::after {
  background: url("../images/under_head_ph_is_base01.jpg") no-repeat top left/cover;
}
.p-is_base section:nth-child(n+2) {
  margin-top: 160px;
}
.p-is_base section .sec_inner {
  margin-top: 60px;
}
.p-is_base .b-under_topics {
  background: var(--gray-light);
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-top: 40px;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .p-is_base .b-under_topics {
    margin-top: 30px;
  }
}
.p-is_base .b-under_topics.b-show {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .b-under_topics.b-show.is-show {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.2s;
}
.p-is_base .b-under_topics.under_topics02 {
  max-width: 670px;
  width: 100%;
}
.p-is_base .b-under_topics .b-under_topics__inner {
  padding: 20px 30px;
}
@media screen and (max-width: 768px) {
  .p-is_base .b-under_topics .b-under_topics__inner {
    padding: 15px 20px;
  }
}
.p-is_base .b-under_topics .b-under_topics__col {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
.p-is_base .b-under_topics .b-under_topics__col > div {
  margin-left: 4%;
}
@media screen and (max-width: 768px) {
  .p-is_base .b-under_topics .b-under_topics__col > div {
    font-size: 1.2rem;
  }
}
.p-is_base .b-under_topics .b-under_topics__col > div:last-child {
  margin-left: 0;
  max-width: 120px;
  flex-basis: 100px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-is_base .b-under_topics .b-under_topics__col > div:last-child {
    flex-basis: 70px;
  }
}
.p-is_base .b-under_topics .b-under_topics__ttl {
  font-weight: bold;
  color: var(--navy);
  margin-bottom: 5px;
}
.p-is_base .b-under_topics .b-under_topics__txt {
  font-size: 1.4rem;
  margin-left: 0.5em;
}
@media screen and (max-width: 768px) {
  .p-is_base .b-under_topics .b-under_topics__txt {
    font-size: 100%;
  }
}
.p-is_base .sec_introduction .introduction_lead {
  position: relative;
  background: url("../../is_base/images/is_base_bg01.jpg") no-repeat top center/cover;
  z-index: 1;
}
.p-is_base .sec_introduction .introduction_lead.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_introduction .introduction_lead.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}
.p-is_base .sec_introduction .introduction_lead::before {
  content: "";
  background: rgba(23, 37, 121, 0.9);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-is_base .sec_introduction .introduction_lead .introduction_lead_inner {
  padding: 65px 135px;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_introduction .introduction_lead .introduction_lead_inner {
    padding: 35px 20px;
  }
}
.p-is_base .sec_introduction .introduction_lead .introduction_lead_inner picture {
  display: block;
  text-align: center;
}
.p-is_base .sec_introduction .introduction_lead .introduction_lead_txt {
  margin-top: 40px;
  font-size: 1.8rem;
  line-height: 2.8;
  color: #fff;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_introduction .introduction_lead .introduction_lead_txt {
    margin-top: 30px;
    font-size: 1.4rem;
    line-height: 2.5;
    padding: 0 15px;
  }
}
.p-is_base .sec_what .what_inner {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_what .what_inner {
    margin-top: 30px;
  }
}
.p-is_base .sec_what .what_col {
  display: flex;
  align-items: center;
}
.p-is_base .sec_what .what_col.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_what .what_col.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_what .what_col {
    display: block;
  }
}
.p-is_base .sec_what .what_col > div {
  margin-left: 4%;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_what .what_col > div {
    margin-left: 0;
  }
  .p-is_base .sec_what .what_col > div:last-child {
    margin-top: 20px;
  }
}
.p-is_base .sec_what .what_col > div:first-child {
  margin-left: 0;
  flex-basis: 436px;
  flex-shrink: 0;
  text-align: center;
}
.p-is_base .sec_what .what_text {
  font-size: 1.8rem;
  line-height: 2.8;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_what .what_text {
    font-size: 100%;
  }
}
.p-is_base .sec_feature .feature_inner {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_feature .feature_inner {
    margin-top: 30px;
  }
}
.p-is_base .sec_feature .feature_col {
  display: flex;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_feature .feature_col {
    display: block;
  }
}
.p-is_base .sec_feature .feature_col > div {
  width: 33.33%;
  margin-right: 2%;
}
.p-is_base .sec_feature .feature_col > div:nth-child(1).b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_feature .feature_col > div:nth-child(1).b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}
.p-is_base .sec_feature .feature_col > div:nth-child(2).b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_feature .feature_col > div:nth-child(2).b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-is_base .sec_feature .feature_col > div:last-child {
  margin-right: 0;
}
.p-is_base .sec_feature .feature_col > div:last-child.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_feature .feature_col > div:last-child.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.3s;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_feature .feature_col > div {
    width: 100%;
    margin-right: 0;
  }
  .p-is_base .sec_feature .feature_col > div + div {
    margin-top: 20px;
  }
}
.p-is_base .sec_feature .feature_box {
  background: var(--navy);
  padding: 25px 25px 40px;
  position: relative;
}
.p-is_base .sec_feature .feature_box::before {
  content: "";
  display: block;
  background: #fff;
  width: 2px;
  height: 24px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-is_base .sec_feature .feature_check {
  margin-top: 20px;
  display: flex;
  align-items: center;
}
.p-is_base .sec_feature .feature_title {
  color: var(--yellow);
  text-align: center;
}
.p-is_base .sec_feature .feature_title .feature_title--main {
  font-size: 6rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_feature .feature_title .feature_title--main {
    font-size: 5rem;
  }
}
.p-is_base .sec_feature .feature_title .feature_title--sub {
  font-size: 1.4rem;
  opacity: 0.5;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_feature .feature_title .feature_title--sub {
    font-size: 1.2rem;
  }
}
.p-is_base .sec_feature .feature_check_list {
  color: #fff;
}
.p-is_base .sec_feature .feature_check_list li {
  position: relative;
  padding-left: 1.8em;
  line-height: 1.4;
}
.p-is_base .sec_feature .feature_check_list li + li {
  margin-top: 1em;
}
.p-is_base .sec_feature .feature_check_list li::before, .p-is_base .sec_feature .feature_check_list li::after {
  content: "";
  position: absolute;
  top: 1.4rem;
  height: 1.3em;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_feature .feature_check_list li::before, .p-is_base .sec_feature .feature_check_list li::after {
    top: 1.3rem;
  }
}
.p-is_base .sec_feature .feature_check_list li::before {
  left: 0;
  transform: translateY(-50%);
  width: 1.3em;
  background: #fff;
}
.p-is_base .sec_feature .feature_check_list li::after {
  left: 0.4em;
  transform: translateY(-65%) rotate(45deg);
  width: 0.3em;
  height: 0.7em;
  border-bottom: 2px solid var(--navy);
  border-right: 2px solid var(--navy);
}
.p-is_base .sec_feature .feature_text--yellow {
  color: var(--yellow);
}
.p-is_base .sec_work-flow .work-flow_inner {
  margin-top: 90px;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_inner {
    margin-top: 40px;
  }
}
.p-is_base .sec_work-flow .work-flow_col {
  display: flex;
}
.p-is_base .sec_work-flow .work-flow_col.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_work-flow .work-flow_col.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_col {
    display: block;
  }
}
.p-is_base .sec_work-flow .work-flow_col > div {
  width: 25%;
  margin-right: 1.5%;
  position: relative;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_col > div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 50px;
  }
  .p-is_base .sec_work-flow .work-flow_col > div:last-child {
    margin-bottom: 0;
  }
}
.p-is_base .sec_work-flow .work-flow_col > div::after {
  content: "";
  display: block;
  background: url("../../is_base/images/ico_arrow01.svg") no-repeat right top/contain;
  width: 38px;
  height: 15px;
  position: absolute;
  top: 50%;
  right: -27px;
  transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_col > div::after {
    top: auto;
    bottom: -32px;
    right: auto;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}
.p-is_base .sec_work-flow .work-flow_col > div:last-child {
  margin-right: 0;
}
.p-is_base .sec_work-flow .work-flow_col > div:last-child::after {
  content: none;
}
.p-is_base .sec_work-flow .work-flow_col > div:nth-of-type(even) .work-flow_box {
  background: #F4F4F4;
}
.p-is_base .sec_work-flow .work-flow_col02 {
  display: block;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_col02 {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_col02 .work-flow_img__wrap,
  .p-is_base .sec_work-flow .work-flow_col02 .work-flow_txt__wrap {
    margin-left: 20px;
  }
}
.p-is_base .sec_work-flow .work-flow_col02 .work-flow_img__wrap:first-child,
.p-is_base .sec_work-flow .work-flow_col02 .work-flow_txt__wrap:first-child {
  margin: 20px 0;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_col02 .work-flow_img__wrap:first-child,
  .p-is_base .sec_work-flow .work-flow_col02 .work-flow_txt__wrap:first-child {
    margin: 0;
    flex-basis: 100px;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_col02 .work-flow_txt__wrap {
    width: calc(100% - 120px);
  }
}
.p-is_base .sec_work-flow .work-flow_col02 .work-flow_img__wrap img {
  width: 100px;
}
.p-is_base .sec_work-flow .work-flow_box {
  position: relative;
  background: #ECECEF;
  text-align: center;
  padding: 50px 25px;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_box {
    padding: 25px 25px;
  }
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_work-flow .work-flow_box {
    padding: 25px 15px;
  }
}
.p-is_base .sec_work-flow .work-flow_box::before, .p-is_base .sec_work-flow .work-flow_box:after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: var(--navy);
  position: absolute;
}
.p-is_base .sec_work-flow .work-flow_box::before {
  width: calc(100% - 86px);
  top: 0;
  right: 0;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_box::before {
    width: calc(100% - 46px);
  }
}
.p-is_base .sec_work-flow .work-flow_box::after {
  bottom: 0;
  left: 0;
}
.p-is_base .sec_work-flow .work-flow_num {
  display: inline-block;
  position: absolute;
  top: -30px;
  left: -5px;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_num {
    height: 2.3em;
    top: -18px;
  }
}
.p-is_base .sec_work-flow .work-flow_num img {
  width: 100%;
  height: 100%;
}
.p-is_base .sec_work-flow .work-flow_ttl {
  font-size: 2.8rem;
  line-height: 1.3;
  color: var(--navy);
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_ttl {
    display: none;
  }
}
.p-is_base .sec_work-flow .work-flow_ttl--sp {
  display: none;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_ttl--sp {
    display: block;
    font-size: 1.8rem;
    line-height: 1.3;
    color: var(--navy);
    text-align: left;
    margin-bottom: 5px;
  }
}
.p-is_base .sec_work-flow .work-flow_txt {
  line-height: 2;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_work-flow .work-flow_txt {
    text-align: left;
  }
}
.p-is_base .sec_work-flow .work-flow_photo {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_work-flow .work-flow_photo {
    margin-top: 40px;
  }
}
.p-is_base .sec_work-flow .work-flow_photo picture img {
  width: 100%;
}
.p-is_base .sec_work-flow .work-flow_photo.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_work-flow .work-flow_photo.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-is_base .sec_product .product_inner {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_product .product_inner {
    margin-top: 30px;
  }
}
.p-is_base .sec_product .product_box {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_product .product_box {
    margin-top: 30px;
  }
}
.p-is_base .sec_product .product_txt {
  font-size: 1.8rem;
  line-height: 2.8;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_product .product_txt {
    font-size: 100%;
  }
}
.p-is_base .sec_product .product_col {
  display: flex;
  flex-wrap: wrap;
}
.p-is_base .sec_product .product_col.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_product .product_col.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-is_base .sec_product .product_col > div {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 40px;
}
.p-is_base .sec_product .product_col > div:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_product .product_col > div {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 20px;
  }
  .p-is_base .sec_product .product_col > div:nth-child(2n) {
    margin-right: 0;
  }
  .p-is_base .sec_product .product_col > div:nth-child(3n) {
    margin-right: auto;
  }
}
.p-is_base .sec_product .product_thumb figcaption {
  margin-top: 0.5em;
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_product .product_thumb figcaption {
    font-size: 1.4rem;
  }
}
.p-is_base .sec_achievements .achievements_inner {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_achievements .achievements_inner {
    margin-top: 30px;
  }
}
.p-is_base .sec_achievements .achievements_box {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_achievements .achievements_box {
    margin-top: 30px;
  }
}
.p-is_base .sec_achievements .achievements_txt {
  font-size: 1.8rem;
  line-height: 2.8;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_achievements .achievements_txt {
    font-size: 100%;
  }
}
.p-is_base .sec_achievements .achievements_txt.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_achievements .achievements_txt.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}
.p-is_base .sec_achievements .achievements_ttl01 {
  font-size: 1.8rem;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_achievements .achievements_ttl01 {
    font-size: 100%;
    margin-bottom: 15px;
  }
}
.p-is_base .sec_achievements .achievements_ttl01.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_achievements .achievements_ttl01.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-is_base .sec_achievements .achievements_col {
  display: flex;
}
.p-is_base .sec_achievements .achievements_col.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_achievements .achievements_col.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.3s;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_achievements .achievements_col {
    display: block;
  }
}
.p-is_base .sec_achievements .achievements_col > div {
  margin-right: 6%;
}
.p-is_base .sec_achievements .achievements_col > div:last-child {
  margin-right: 0;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_achievements .achievements_col > div {
    width: 100%;
    margin-right: 0;
  }
}
.p-is_base .sec_achievements .achievements_list li {
  position: relative;
  padding-left: 1em;
  color: var(--navy);
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1em;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_achievements .achievements_list li {
    font-size: 100%;
  }
}
.p-is_base .sec_achievements .achievements_list li::after {
  content: "";
  display: block;
  width: 0.6em;
  height: 0.6em;
  border-radius: 50%;
  background: rgba(2, 37, 121, 0.3);
  position: absolute;
  top: 0.6em;
  left: 0;
}
.p-is_base .sec_achievements .achievements_list__others {
  font-size: 1.8rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_achievements .achievements_list__others {
    font-size: 100%;
    text-align: right;
    margin-top: -0.5em;
  }
}
.p-is_base .sec_achievements .achievements_sub {
  display: flex;
  align-items: flex-end;
  margin-top: 50px;
  padding: 0 20px 0 40px;
  border-top: 2px solid;
  border-bottom: 2px solid;
  background-color: rgba(var(--gray-light-rgb), 0.5);
}
@media screen and (max-width: 1200px) {
  .p-is_base .sec_achievements .achievements_sub {
    display: block;
    margin-top: 30px;
  }
}
.p-is_base .sec_achievements .achievements_sub .achievements_sub_list {
  display: flex;
  flex-wrap: wrap;
  width: 76%;
  padding: 40px 0 30px;
}
@media screen and (max-width: 1200px) {
  .p-is_base .sec_achievements .achievements_sub .achievements_sub_list {
    width: 100%;
    padding-bottom: 0;
  }
}
.p-is_base .sec_achievements .achievements_sub .achievements_sub_list li {
  position: relative;
  margin-bottom: 1em;
  padding-right: 2em;
  font-size: 1.6rem;
  font-weight: bold;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_achievements .achievements_sub .achievements_sub_list li {
    font-size: 100%;
  }
}
.p-is_base .sec_achievements .achievements_sub .achievements_sub_list li::after {
  content: "／";
  display: block;
  position: absolute;
  top: 0;
  right: 0.5em;
}
.p-is_base .sec_achievements .achievements_sub .achievements_sub_list li:last-of-type::after {
  content: none;
}
.p-is_base .sec_achievements .achievements_sub .achievements_sub_image {
  display: block;
  flex-shrink: 0;
  width: 24%;
  min-width: 260px;
}
@media screen and (max-width: 1200px) {
  .p-is_base .sec_achievements .achievements_sub .achievements_sub_image {
    margin-left: auto;
    margin-right: 0;
    width: 50%;
    min-width: 340px;
  }
}
@media screen and (max-width: 576px) {
  .p-is_base .sec_achievements .achievements_sub .achievements_sub_image {
    width: 100%;
    min-width: inherit;
  }
}
.p-is_base .sec_contact .contact_inner {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_contact .contact_inner {
    margin-top: 30px;
  }
}
.p-is_base .sec_contact .contact_col {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_contact .contact_col {
    display: block;
  }
}
.p-is_base .sec_contact .contact_col > div {
  width: 48%;
  margin-right: 4%;
  background: #F4F4F4;
  padding: 30px;
  text-align: center;
}
.p-is_base .sec_contact .contact_col > div:last-child {
  margin-right: 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_contact .contact_col > div {
    width: 100%;
    margin-right: 0;
  }
  .p-is_base .sec_contact .contact_col > div:last-child {
    margin-top: 30px;
  }
}
.p-is_base .sec_contact .contact_col.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_contact .contact_col.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.3s;
}
.p-is_base .sec_contact .contact_col02 {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_contact .contact_col02 {
    display: block;
  }
}
.p-is_base .sec_contact .contact_col02 > div {
  margin-right: 4%;
}
.p-is_base .sec_contact .contact_col02 > div:last-child {
  margin-right: 0;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_contact .contact_col02 > div {
    width: 100%;
    margin-right: 0;
  }
}
.p-is_base .sec_contact .contact_ttl {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_contact .contact_ttl {
    font-size: 1.6rem;
    margin-bottom: 5px;
  }
}
.p-is_base .sec_contact .contact_ttl02 {
  font-size: 1.8rem;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_contact .contact_ttl02 {
    font-size: 100%;
    margin-bottom: 10px;
  }
}
.p-is_base .sec_contact .contact_ttl02.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_contact .contact_ttl02.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-is_base .sec_contact .contact_mail {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_contact .contact_mail {
    margin-bottom: 30px;
  }
}
.p-is_base .sec_contact .contact_mail .contact_mail_btn.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-is_base .sec_contact .contact_mail .contact_mail_btn.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-is_base .sec_contact .contact_mail .contact_mail_btn a {
  display: block;
  padding: 60px 30px;
  background: var(--navy);
  color: #fff;
  font-size: 2.4rem;
  text-align: center;
  transition: background 0.2s, transform 0.4s;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_contact .contact_mail .contact_mail_btn a {
    padding: 45px 30px;
  }
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_contact .contact_mail .contact_mail_btn a {
    width: 100%;
    padding: 35px 15px;
    font-size: 1.6rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-is_base .sec_contact .contact_mail .contact_mail_btn a:hover .contact_mail_btn--arrow::after {
    background: url("../images/ico_arrow02_white.svg") no-repeat center/contain;
    transform: translateY(-50%) scale(1.2);
  }
}
.p-is_base .sec_contact .contact_mail .contact_mail_btn .contact_mail_btn--arrow {
  position: relative;
  display: block;
  padding-right: 65px;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_contact .contact_mail .contact_mail_btn .contact_mail_btn--arrow {
    padding-right: 35px;
  }
}
.p-is_base .sec_contact .contact_mail .contact_mail_btn .contact_mail_btn--arrow::after {
  content: "";
  display: block;
  background: url("../images/ico_arrow02.svg") no-repeat right center/contain;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: background 0.2s, transform 0.4s;
}
@media screen and (max-width: 1000px) {
  .p-is_base .sec_contact .contact_mail .contact_mail_btn .contact_mail_btn--arrow::after {
    width: 30px;
    height: 30px;
  }
}
.p-is_base .sec_contact .contact_tel, .p-is_base .sec_contact .contact_fax {
  color: var(--navy);
  font-weight: bold;
}
.p-is_base .sec_contact .contact_tel {
  font-size: 2rem;
  line-height: 1.3;
  /*font-size: 4.6rem;
  font-size: clamp(28px, 7.8947vw + -32.6316px, 46px);

  @include mq() {
  	font-size: 2.8rem;
  }*/
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_contact .contact_tel {
    font-size: 1.8rem;
  }
}
.p-is_base .sec_contact .contact_tel a {
  position: relative;
  font-size: 2.6rem;
  /*&::before {
  	content: "";
  	position: absolute;
  	top: calc(50% + 5px);
  	left: -3px;
  	background: url("../images/ico_tel01.svg") no-repeat center / contain;
  	width: 38px;
  	height: 36px;
  	transform: translateY(-50%);

  	@include mq() {
  		top: calc(50% + 2px);
  		width: 26px;
  		height: 25px;
  	}

  }*/
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_contact .contact_tel a {
    font-size: 2.4rem;
  }
}
.p-is_base .sec_contact .contact_fax {
  font-size: 2rem;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_contact .contact_fax {
    font-size: 1.8rem;
  }
}
.p-is_base .sec_contact .contact_fax span {
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .p-is_base .sec_contact .contact_fax span {
    font-size: 2.4rem;
  }
}
.p-is_base .sec_contact .contact_address {
  margin-top: 0.5em;
}

.p-manufacturing .b-under_head-ph {
  /*写真付き下層トップ用*/
}
.p-manufacturing .b-under_head-ph::after {
  background: url("../images/under_head_ph_manufacturing03.png") no-repeat center/cover;
}
.p-manufacturing section:nth-child(n+2) {
  margin-top: 160px;
}
.p-manufacturing section .sec_inner {
  margin-top: 60px;
}
.p-manufacturing .b-under_topics {
  background: var(--gray-light);
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-top: 40px;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .b-under_topics {
    margin-top: 30px;
  }
}
.p-manufacturing .b-under_topics.b-show {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .b-under_topics.b-show.is-show {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.2s;
}
.p-manufacturing .b-under_topics.under_topics01 {
  max-width: 640px;
  width: 100%;
}
.p-manufacturing .b-under_topics .b-under_topics__inner {
  padding: 20px 30px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .b-under_topics .b-under_topics__inner {
    padding: 15px 20px;
  }
}
.p-manufacturing .b-under_topics .b-under_topics__col {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
.p-manufacturing .b-under_topics .b-under_topics__col > div {
  margin-left: 4%;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .b-under_topics .b-under_topics__col > div {
    font-size: 1.2rem;
  }
}
.p-manufacturing .b-under_topics .b-under_topics__col > div:last-child {
  margin-left: 0;
  max-width: 120px;
  flex-basis: 100px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .b-under_topics .b-under_topics__col > div:last-child {
    flex-basis: 70px;
  }
}
.p-manufacturing .b-under_topics .b-under_topics__ttl {
  font-weight: bold;
  color: var(--navy);
  margin-bottom: 5px;
}
.p-manufacturing .b-under_topics .b-under_topics__txt {
  font-size: 1.4rem;
  margin-left: 0.6em;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .b-under_topics .b-under_topics__txt {
    font-size: 100%;
  }
}
.p-manufacturing .sec_introduction .introduction_lead {
  position: relative;
  background: url("../../manufacturing/images/manufacturing_bg01.jpg") no-repeat top center/cover;
  z-index: 1;
}
.p-manufacturing .sec_introduction .introduction_lead.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_introduction .introduction_lead.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}
.p-manufacturing .sec_introduction .introduction_lead::before {
  content: "";
  background: rgba(23, 37, 121, 0.9);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-manufacturing .sec_introduction .introduction_lead .introduction_lead_inner {
  padding: 65px 135px;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_introduction .introduction_lead .introduction_lead_inner {
    padding: 35px 20px;
  }
}
.p-manufacturing .sec_introduction .introduction_lead .introduction_lead_inner picture {
  display: block;
  text-align: center;
}
.p-manufacturing .sec_introduction .introduction_lead .introduction_lead_txt {
  margin-top: 40px;
  font-size: 1.8rem;
  line-height: 2.8;
  color: #fff;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_introduction .introduction_lead .introduction_lead_txt {
    margin-top: 30px;
    font-size: 1.4rem;
    line-height: 2.5;
    padding: 0 15px;
  }
}
.p-manufacturing .sec_work .work_inner {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_work .work_inner {
    margin-top: 30px;
  }
}
.p-manufacturing .sec_work .work_col {
  display: flex;
  align-items: flex-start;
}
.p-manufacturing .sec_work .work_col.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_work .work_col.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work .work_col {
    display: block;
  }
}
.p-manufacturing .sec_work .work_col > div {
  margin-left: 4%;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work .work_col > div {
    margin-left: 0;
  }
  .p-manufacturing .sec_work .work_col > div:last-child {
    margin-top: 20px;
  }
}
.p-manufacturing .sec_work .work_col > div:first-child {
  margin-left: 0;
  flex-basis: 436px;
  flex-shrink: 0;
  text-align: center;
}
.p-manufacturing .sec_work .work_text {
  font-size: 1.8rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_work .work_text {
    font-size: 100%;
  }
}
.p-manufacturing .sec_feature .feature_inner {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_feature .feature_inner {
    margin-top: 30px;
  }
}
.p-manufacturing .sec_feature .feature_col {
  display: flex;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_feature .feature_col {
    display: block;
  }
}
.p-manufacturing .sec_feature .feature_col > div {
  width: 33.33%;
  margin-right: 2%;
}
.p-manufacturing .sec_feature .feature_col > div:nth-child(1).b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_feature .feature_col > div:nth-child(1).b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}
.p-manufacturing .sec_feature .feature_col > div:nth-child(2).b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_feature .feature_col > div:nth-child(2).b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-manufacturing .sec_feature .feature_col > div:last-child {
  margin-right: 0;
}
.p-manufacturing .sec_feature .feature_col > div:last-child.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_feature .feature_col > div:last-child.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.3s;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_feature .feature_col > div {
    width: 100%;
    margin-right: 0;
  }
  .p-manufacturing .sec_feature .feature_col > div + div {
    margin-top: 20px;
  }
}
.p-manufacturing .sec_feature .feature_box {
  background: var(--navy);
  padding: 25px 25px 40px;
  position: relative;
}
.p-manufacturing .sec_feature .feature_box::before {
  content: "";
  display: block;
  background: #fff;
  width: 2px;
  height: 24px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-manufacturing .sec_feature .feature_check {
  margin-top: 20px;
  display: flex;
  align-items: center;
}
.p-manufacturing .sec_feature .feature_title {
  color: var(--yellow);
  text-align: center;
}
.p-manufacturing .sec_feature .feature_title .feature_title--main {
  font-size: 6rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_feature .feature_title .feature_title--main {
    font-size: 5rem;
  }
}
.p-manufacturing .sec_feature .feature_title .feature_title--sub {
  font-size: 1.4rem;
  opacity: 0.5;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_feature .feature_title .feature_title--sub {
    font-size: 1.2rem;
  }
}
.p-manufacturing .sec_feature .feature_check_list {
  color: #fff;
}
.p-manufacturing .sec_feature .feature_check_list li {
  position: relative;
  padding-left: 1.8em;
  line-height: 1.4;
}
.p-manufacturing .sec_feature .feature_check_list li + li {
  margin-top: 1em;
}
.p-manufacturing .sec_feature .feature_check_list li::before, .p-manufacturing .sec_feature .feature_check_list li::after {
  content: "";
  position: absolute;
  top: 1.4rem;
  height: 1.3em;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_feature .feature_check_list li::before, .p-manufacturing .sec_feature .feature_check_list li::after {
    top: 1.3rem;
  }
}
.p-manufacturing .sec_feature .feature_check_list li::before {
  left: 0;
  transform: translateY(-50%);
  width: 1.3em;
  background: #fff;
}
.p-manufacturing .sec_feature .feature_check_list li::after {
  left: 0.4em;
  transform: translateY(-65%) rotate(45deg);
  width: 0.3em;
  height: 0.7em;
  border-bottom: 2px solid var(--navy);
  border-right: 2px solid var(--navy);
}
.p-manufacturing .sec_feature .feature_text--yellow {
  color: var(--yellow);
}
.p-manufacturing .sec_work-flow .work-flow_inner {
  margin-top: 90px;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_inner {
    margin-top: 40px;
  }
}
.p-manufacturing .sec_work-flow .work-flow_col {
  display: flex;
  flex-wrap: wrap;
}
.p-manufacturing .sec_work-flow .work-flow_col.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_work-flow .work-flow_col.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_col {
    display: block;
  }
}
.p-manufacturing .sec_work-flow .work-flow_col > div {
  width: 23.85%;
  margin-right: 1.5%;
  position: relative;
  margin-bottom: 100px;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_col > div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 50px;
  }
  .p-manufacturing .sec_work-flow .work-flow_col > div:last-child {
    margin-bottom: 0;
  }
}
.p-manufacturing .sec_work-flow .work-flow_col > div::after {
  content: "";
  display: block;
  background: url("../../is_base/images/ico_arrow01.svg") no-repeat right top/contain;
  width: 38px;
  height: 15px;
  position: absolute;
  top: 50%;
  right: -27px;
  transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_col > div::after {
    top: auto;
    bottom: -32px;
    right: auto;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}
.p-manufacturing .sec_work-flow .work-flow_col > div:nth-child(4n) {
  margin-right: 0;
}
.p-manufacturing .sec_work-flow .work-flow_col > div:nth-child(4n)::after {
  content: none;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_work-flow .work-flow_col > div:nth-child(4n)::after {
    content: "";
  }
}
.p-manufacturing .sec_work-flow .work-flow_col > div:last-child {
  margin-right: 0;
}
.p-manufacturing .sec_work-flow .work-flow_col > div:last-child::after {
  content: none;
}
.p-manufacturing .sec_work-flow .work-flow_col > div:nth-of-type(even) .work-flow_box {
  background: #F4F4F4;
}
.p-manufacturing .sec_work-flow .work-flow_col02 {
  display: block;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_col02 {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_col02 .work-flow_img__wrap,
  .p-manufacturing .sec_work-flow .work-flow_col02 .work-flow_txt__wrap {
    margin-left: 20px;
  }
}
.p-manufacturing .sec_work-flow .work-flow_col02 .work-flow_img__wrap:first-child,
.p-manufacturing .sec_work-flow .work-flow_col02 .work-flow_txt__wrap:first-child {
  margin: 20px 0;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_col02 .work-flow_img__wrap:first-child,
  .p-manufacturing .sec_work-flow .work-flow_col02 .work-flow_txt__wrap:first-child {
    margin: 0;
    flex-basis: 100px;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_col02 .work-flow_img__wrap:last-child,
  .p-manufacturing .sec_work-flow .work-flow_col02 .work-flow_txt__wrap:last-child {
    /*margin-left: calc(8% / 2);*/
  }
}
.p-manufacturing .sec_work-flow .work-flow_col02 .work-flow_img__wrap img {
  width: 100px;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_col02 .work-flow_txt__wrap {
    width: calc(100% - 120px);
  }
}
.p-manufacturing .sec_work-flow .work-flow_box {
  position: relative;
  background: #ECECEF;
  text-align: center;
  padding: 50px 10px;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_box {
    padding: 25px 25px;
  }
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_work-flow .work-flow_box {
    padding: 25px 15px;
  }
}
.p-manufacturing .sec_work-flow .work-flow_box::before, .p-manufacturing .sec_work-flow .work-flow_box:after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: var(--navy);
  position: absolute;
}
.p-manufacturing .sec_work-flow .work-flow_box::before {
  width: calc(100% - 86px);
  top: 0;
  right: 0;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_box::before {
    width: calc(100% - 46px);
  }
}
.p-manufacturing .sec_work-flow .work-flow_box::after {
  bottom: 0;
  left: 0;
}
.p-manufacturing .sec_work-flow .work-flow_num {
  display: inline-block;
  position: absolute;
  top: -30px;
  left: -5px;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_num {
    height: 2.3em;
    top: -18px;
  }
}
.p-manufacturing .sec_work-flow .work-flow_num img {
  width: 100%;
  height: 100%;
}
.p-manufacturing .sec_work-flow .work-flow_ttl {
  font-size: 2.8rem;
  line-height: 1.3;
  color: var(--navy);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_ttl {
    display: none;
  }
}
.p-manufacturing .sec_work-flow .work-flow_ttl--sp {
  display: none;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_ttl--sp {
    display: block;
    font-size: 1.8rem;
    line-height: 1.3;
    color: var(--navy);
    text-align: left;
    margin-bottom: 5px;
  }
}
.p-manufacturing .sec_work-flow .work-flow_txt {
  line-height: 2;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_work-flow .work-flow_txt {
    text-align: left;
  }
}
@media screen and (max-width: 1200px) {
  .p-manufacturing .sec_work-flow .work-flow_txt .b-pc_br {
    display: none;
  }
}
.p-manufacturing .sec_work-flow .work-flow_photo {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_work-flow .work-flow_photo {
    margin-top: 40px;
  }
}
.p-manufacturing .sec_work-flow .work-flow_photo picture img {
  width: 100%;
}
.p-manufacturing .sec_work-flow .work-flow_photo.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_work-flow .work-flow_photo.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-manufacturing .sec_product .product_inner {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_product .product_inner {
    margin-top: 30px;
  }
}
.p-manufacturing .sec_product .product_box {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_product .product_box {
    margin-top: 30px;
  }
}
.p-manufacturing .sec_product .product_txt {
  line-height: 2.8;
}
.p-manufacturing .sec_product .product_txt.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_product .product_txt.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}
.p-manufacturing .sec_product .product_col {
  display: flex;
  flex-wrap: wrap;
}
.p-manufacturing .sec_product .product_col.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_product .product_col.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-manufacturing .sec_product .product_col > div {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 40px;
}
.p-manufacturing .sec_product .product_col > div:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_product .product_col > div {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 20px;
  }
  .p-manufacturing .sec_product .product_col > div:nth-child(2n) {
    margin-right: 0;
  }
  .p-manufacturing .sec_product .product_col > div:nth-child(3n) {
    margin-right: auto;
  }
}
.p-manufacturing .sec_product .product_thumb figcaption {
  margin-top: 0.5em;
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_product .product_thumb figcaption {
    font-size: 1.4rem;
  }
}
.p-manufacturing .sec_achievements .achievements_inner {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_achievements .achievements_inner {
    margin-top: 30px;
  }
}
.p-manufacturing .sec_achievements .achievements_box {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_achievements .achievements_box {
    margin-top: 30px;
  }
}
.p-manufacturing .sec_achievements .achievements_txt {
  font-size: 1.8rem;
  line-height: 2.8;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_achievements .achievements_txt {
    font-size: 100%;
  }
}
.p-manufacturing .sec_achievements .achievements_txt.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_achievements .achievements_txt.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}
.p-manufacturing .sec_achievements .achievements_ttl01 {
  font-size: 1.8rem;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_achievements .achievements_ttl01 {
    font-size: 100%;
    margin-bottom: 15px;
  }
}
.p-manufacturing .sec_achievements .achievements_ttl01.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_achievements .achievements_ttl01.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-manufacturing .sec_achievements .achievements_col {
  display: flex;
}
.p-manufacturing .sec_achievements .achievements_col.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_achievements .achievements_col.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.3s;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_achievements .achievements_col {
    display: block;
  }
}
.p-manufacturing .sec_achievements .achievements_col > div {
  margin-right: 3%;
}
.p-manufacturing .sec_achievements .achievements_col > div:last-child {
  margin-right: 0;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_achievements .achievements_col > div {
    width: 100%;
    margin-right: 0;
  }
}
.p-manufacturing .sec_achievements .achievements_list li {
  position: relative;
  padding-left: 1em;
  color: var(--navy);
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1em;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_achievements .achievements_list li {
    font-size: 100%;
  }
}
.p-manufacturing .sec_achievements .achievements_list li::after {
  content: "";
  display: block;
  width: 0.6em;
  height: 0.6em;
  border-radius: 50%;
  background: rgba(2, 37, 121, 0.3);
  position: absolute;
  top: 0.6em;
  left: 0;
}
.p-manufacturing .sec_achievements .achievements_list__others {
  font-size: 1.8rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_achievements .achievements_list__others {
    font-size: 100%;
    text-align: right;
    margin-top: -0.5em;
  }
}
.p-manufacturing .sec_achievements .achievements_sub {
  display: flex;
  align-items: flex-end;
  margin-top: 50px;
  padding: 0 20px 0 40px;
  border-top: 2px solid;
  border-bottom: 2px solid;
  background-color: rgba(var(--gray-light-rgb), 0.5);
}
@media screen and (max-width: 1200px) {
  .p-manufacturing .sec_achievements .achievements_sub {
    display: block;
    margin-top: 30px;
  }
}
.p-manufacturing .sec_achievements .achievements_sub .achievements_sub_list {
  display: flex;
  flex-wrap: wrap;
  width: 76%;
  padding: 40px 0 30px;
}
@media screen and (max-width: 1200px) {
  .p-manufacturing .sec_achievements .achievements_sub .achievements_sub_list {
    width: 100%;
    padding-bottom: 0;
  }
}
.p-manufacturing .sec_achievements .achievements_sub .achievements_sub_list li {
  position: relative;
  margin-bottom: 1em;
  padding-right: 2em;
  font-size: 1.6rem;
  font-weight: bold;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_achievements .achievements_sub .achievements_sub_list li {
    font-size: 100%;
  }
}
.p-manufacturing .sec_achievements .achievements_sub .achievements_sub_list li::after {
  content: "／";
  display: block;
  position: absolute;
  top: 0;
  right: 0.5em;
}
.p-manufacturing .sec_achievements .achievements_sub .achievements_sub_list li:last-of-type::after {
  content: none;
}
.p-manufacturing .sec_achievements .achievements_sub .achievements_sub_image {
  display: block;
  flex-shrink: 0;
  width: 24%;
  min-width: 260px;
}
@media screen and (max-width: 1200px) {
  .p-manufacturing .sec_achievements .achievements_sub .achievements_sub_image {
    margin-left: auto;
    margin-right: 0;
    width: 50%;
    min-width: 340px;
  }
}
@media screen and (max-width: 576px) {
  .p-manufacturing .sec_achievements .achievements_sub .achievements_sub_image {
    width: 100%;
    min-width: inherit;
  }
}
.p-manufacturing .sec_contact .contact_inner {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_contact .contact_inner {
    margin-top: 30px;
  }
}
.p-manufacturing .sec_contact .contact_col {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_contact .contact_col {
    display: block;
  }
}
.p-manufacturing .sec_contact .contact_col > div {
  width: 48%;
  margin-right: 4%;
  background: #F4F4F4;
  padding: 30px;
  text-align: center;
}
.p-manufacturing .sec_contact .contact_col > div:last-child {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_contact .contact_col > div {
    width: 100%;
    margin-right: 0;
  }
  .p-manufacturing .sec_contact .contact_col > div:last-child {
    margin-top: 30px;
  }
}
.p-manufacturing .sec_contact .contact_col.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_contact .contact_col.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.3s;
}
.p-manufacturing .sec_contact .contact_ttl {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_contact .contact_ttl {
    font-size: 1.6rem;
    margin-bottom: 5px;
  }
}
.p-manufacturing .sec_contact .contact_ttl02 {
  font-size: 1.8rem;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_contact .contact_ttl02 {
    font-size: 100%;
    margin-bottom: 10px;
  }
}
.p-manufacturing .sec_contact .contact_ttl02.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_contact .contact_ttl02.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-manufacturing .sec_contact .contact_mail {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_contact .contact_mail {
    margin-bottom: 30px;
  }
}
.p-manufacturing .sec_contact .contact_mail .contact_mail_btn.b-show {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s, transform 0.5s;
}
.p-manufacturing .sec_contact .contact_mail .contact_mail_btn.b-show.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.p-manufacturing .sec_contact .contact_mail .contact_mail_btn a {
  display: block;
  padding: 60px 30px;
  background: var(--navy);
  color: #fff;
  font-size: 2.4rem;
  text-align: center;
  transition: background 0.2s, transform 0.4s;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_contact .contact_mail .contact_mail_btn a {
    padding: 45px 30px;
  }
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_contact .contact_mail .contact_mail_btn a {
    width: 100%;
    padding: 35px 15px;
    font-size: 1.6rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-manufacturing .sec_contact .contact_mail .contact_mail_btn a:hover .contact_mail_btn--arrow::after {
    background: url("../images/ico_arrow02_white.svg") no-repeat center/contain;
    transform: translateY(-50%) scale(1.2);
  }
}
.p-manufacturing .sec_contact .contact_mail .contact_mail_btn .contact_mail_btn--arrow {
  position: relative;
  display: block;
  padding-right: 65px;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_contact .contact_mail .contact_mail_btn .contact_mail_btn--arrow {
    padding-right: 35px;
  }
}
.p-manufacturing .sec_contact .contact_mail .contact_mail_btn .contact_mail_btn--arrow::after {
  content: "";
  display: block;
  background: url("../images/ico_arrow02.svg") no-repeat right center/contain;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: background 0.2s, transform 0.4s;
}
@media screen and (max-width: 1000px) {
  .p-manufacturing .sec_contact .contact_mail .contact_mail_btn .contact_mail_btn--arrow::after {
    width: 30px;
    height: 30px;
  }
}
.p-manufacturing .sec_contact .contact_tel, .p-manufacturing .sec_contact .contact_fax {
  color: var(--navy);
  font-weight: bold;
}
.p-manufacturing .sec_contact .contact_tel {
  font-size: 2rem;
  line-height: 1.3;
  /*font-size: 4.6rem;
  font-size: clamp(28px, 7.8947vw + -32.6316px, 46px);

  @include mq() {
  	font-size: 2.8rem;
  }*/
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_contact .contact_tel {
    font-size: 1.8rem;
  }
}
.p-manufacturing .sec_contact .contact_tel a {
  position: relative;
  font-size: 2.6rem;
  /*&::before {
  	content: "";
  	position: absolute;
  	top: calc(50% + 5px);
  	left: -3px;
  	background: url("../images/ico_tel01.svg") no-repeat center / contain;
  	width: 38px;
  	height: 36px;
  	transform: translateY(-50%);

  	@include mq() {
  		top: calc(50% + 2px);
  		width: 26px;
  		height: 25px;
  	}

  }*/
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_contact .contact_tel a {
    font-size: 2.4rem;
  }
}
.p-manufacturing .sec_contact .contact_fax {
  font-size: 2rem;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_contact .contact_fax {
    font-size: 1.8rem;
  }
}
.p-manufacturing .sec_contact .contact_fax span {
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .p-manufacturing .sec_contact .contact_fax span {
    font-size: 2.4rem;
  }
}
.p-manufacturing .sec_contact .contact_address {
  margin-top: 0.5em;
}
/*# sourceMappingURL=style.css.map */
