@charset "utf-8";
/*
Theme Name: ミート・コンパニオン
Description: 
Version: 1.0
*/

@font-face {
	font-family: 'IBM Plex Sans JP';
	src: url("font/IBMPlexSansJP-Regular.ttf") format("truetype");
}

@font-face {
	font-family: 'IBM Plex Sans JP';
	font-weight: 100;
	src: url("font/IBMPlexSansJP-Thin.ttf") format("truetype");
}

@font-face {
	font-family: 'IBM Plex Sans JP';
	font-weight: 200;
	src: url("font/IBMPlexSansJP-ExtraLight.ttf") format("truetype");
}

@font-face {
	font-family: 'IBM Plex Sans JP';
	font-weight: 300;
	src: url("font/IBMPlexSansJP-Light.ttf") format("truetype");
}

@font-face {
	font-family: 'IBM Plex Sans JP';
	font-weight: 500;
	src: url("font/IBMPlexSansJP-Medium.ttf") format("truetype");
}

@font-face {
	font-family: 'IBM Plex Sans JP';
	font-weight: 600;
	src: url("font/IBMPlexSansJP-SemiBold.ttf") format("truetype");
}


@font-face {
	font-family: 'IBM Plex Sans JP';
	font-weight: 700;
	src: url("font/IBMPlexSansJP-Bold.ttf") format("truetype");
}


@font-face {
	font-family: 'Gotham';
	font-weight: 100;
	src: url("font/Gotham-Thin.otf") format("opentype");
}

@font-face {
	font-family: 'Gotham';
	font-weight: 300;
	src: url("font/Gotham-Book.otf") format("opentype");
}

@font-face {
	font-family: 'Gotham';
	font-weight: 500;
	src: url("font/Gotham-Medium.otf") format("opentype");
}

@font-face {
	font-family: 'Gotham';
	font-weight: 700;
	src: url("font/Gotham-Bold.otf") format("opentype");
}

/**
 * Reset
 * ----------------------------------------------------------------------------
 */

/*! destyle.css v1.0.14 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model */
/* ============================================ */

* {
  box-sizing: border-box;
}

::before,
::after {
  box-sizing: inherit;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
  vertical-align: bottom;
}

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable
 */

button,
input:not([type="radio"]):not([type="checkbox"]),
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */

select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */

option {
  padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * Remove margin, padding & outline.
 */

[type="checkbox"],
[type="radio"] {
  padding: 0;
  margin: 0;
  outline: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */

[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */

label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */

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

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}


/**
 * 共通
 * ----------------------------------------------------------------------------
 */

body {
	color: #242422;
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-size: 15px;
	font-weight: 300;
}
img {
	max-width:100%;
	height: auto;
}

p {
	margin-bottom: 30px;
	line-height: 2;
}

.en {
	font-family: 'Gotham';
	font-weight: 100;
}

.thin {
	font-weight: 100;
}
.extraLight {
	font-weight: 200;
}
.light {
	font-weight: 300;
}
.medium {
	font-weight: 500;
}
.semiBold {
	font-weight: 600;
}
.bold {
	font-weight: 700;
}


main section p:last-child {
	margin-bottom:0;
}

main section {
	padding: 100px 80px;
	position: relative;
}
.section_inner {
	max-width: 1080px;
	margin: auto;
	position: relative;
}

a:hover {
	color: #b11d2c;
}

.white {
	color: #fff!important;
}

.red {
	color: #b11d2c!important;
}

.blue {
	color: #005ca2!important;
}

.lightBlue {
	color: #187fc4!important;
}

.paleLightBlue {
	color: #59c3e1!important;
}

.darkBlue {
	color: #212a6e!important;
}

.bg_black {
	background-color: #242422;
	color: #fff;
}

.bg_red {
	background-color: #b11d2c;
	color: #fff;
}

.bg_blue {
	background-color: #187fc4;
	color: #fff;
}

.bg_lightBlue {
	background-color: #59c3e1;
	color: #fff;
}

.bg_paleLightBlue {
	background-color: #d3edfb;
}

.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	color: #fff;
}

.header_main {
	height: 86px;
	position: relative;
	transition: background-color 0.3s;
}

.scrolled .header_main {
	background-color: rgb(36 36 34 / 70%);
}

._recruit .scrolled .header_main {
	background-color: transparent;
}

.header_menu {
	background-color: rgb(0 0 0 / 90%);
	display: flex;
	justify-content: center;
	font-size: 13px;
	font-weight: 300;
	position: relative;
}

.header_menu li {
	transition: all 0.2s;
}

.header_menu > li > a:after {
	position: absolute;
	content: "";
	right: 0;
	width: 1px;
	top: 13px;
	bottom: 13px;
	background-color: #4d4d4d;
}

.header_menu > li:hover > a {
	color: #b11d2c;
}

.header_menu > li:last-child > a:after {
	display: none;
}

.header_menu > li > a {
	position: relative;
	display: block;
	padding: 18px 40px;
}

.header_submenu {
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	background-color: rgb(0 0 0 / 80%);
	padding: 20px 10px;
	opacity: 0;
	pointer-events: none;
	transition: all 0.2s;
}

.header_menu > li:hover .header_submenu {
	opacity: 1;
	pointer-events: auto;
}

.header_submenu ul {
	display: flex;
	width: 1034px;
	margin: auto;
	text-align: center;
	height: 50px;
	align-items: center;
	background-color: rgb(255 255 255 / 30%);
	border-radius: 30px;
}

.header_submenu ul li {
	flex: 1;
	position: relative;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	border-right: 1px solid;
}

.header_submenu ul li:last-child {
	border-right: 0;
}

.header_submenu._company li:nth-child(1) > a {
    width: 60%;
	text-align: left;
}

.header_submenu._company li:nth-child(1) > a:last-child {
    margin-top: 5px;
}

.header_submenu a:hover {
	color: #e83820;
}


.header_submenu._company li:nth-child(1) > span {
    width: 40%;
	text-align: right;
}

.header_main_logo {
	position: absolute;
	bottom: 25px;
	left: 45px;
}

.header_main_btn {
    position: absolute;
    right: 40px;
    display: flex;
    font-size: 13px;
	top: 0;
}

.header_main_btn a {
	width: 190px;
	height: 62px;
	display: block;
	text-align: center;
	padding-top: 25px;
}

.header_main_btn li:nth-child(1) a {
	margin-right: 4px;
	background-color: #b11d2c;
	border-radius: 0 0 0 20px;
}

.header_main_btn li:nth-child(2) a {
	background-color: #fff;
	border-radius: 0 0 20px 0;
	color: #b11d2c;
}

.header_main_btn a:hover {
	background-color: #e83820!important;
	color: #fff!important;
}

.common_h3 .ja {
	font-size: 27px;
	letter-spacing: 4px;
	margin-bottom: 10px;
	font-weight: 500;
}

.common_h3 .en {
	font-size: 18px;
	margin-bottom: 30px;
}

.fadein_bottom {
	transition: all 1s cubic-bezier(.22,.94,.44,1);
	opacity: 0;
	transform: translateY(100px);
}

.fadein_bottom.active {
	opacity: 1;
	transform: translateY(0);
}

.footer {
	padding: 100px 80px 20px;
	position: relative;
}

.footer:before {
	content: "";
	background-image: url(img/footer_cover.svg);
	position: absolute;
	bottom: calc(100% - 1px);
	left: 0;
	width: 100%;
	height: 12vw;
	background-size: 130%;
	background-position: center bottom;
	background-repeat: no-repeat;
	pointer-events: none;
}

.footer_row {
    display: flex;
    justify-content: space-between;
	margin-bottom: 60px;
}

.footer_btn_list {
    display: flex;
    justify-content: space-between;
    text-align: center;
    width: 330px;
	font-size: 13px;
}

.footer_btn_list li {
    flex: 1;
}

.footer_btn_list li a > span {
    position: relative;
    display: inline-block;
	margin-bottom: 10px;
}

.footer_btn_list li a:hover {
	color: #fff;
}

.footer_btn_list li a ._hover {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 1;
}

.footer_btn_list li a ._btn {
	z-index: 2;
	position: relative;
	background-color: #242422;
	transition: clip-path 0.28s ease;
	clip-path: circle(100%);
}

.footer_btn_list li a:hover ._btn {
	clip-path: circle(0);
}

.footer_logo {
	margin-bottom: 60px;
}

.footer_name {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 15px;
}

.footer_address {
	font-size: 14px;
	line-height: 1.6;
	font-weight: 300;
}

.footer_menu {
	display: flex;
	flex-wrap: wrap;
	margin-left: 40px;
	font-size: 14px;
	max-width: 700px;
}

.footer_menu > li {
	width: 30%;
	margin-left: 3%;
	margin-bottom: 40px;
	border-left: 1px solid #b11d2c;
	padding-left: 10px;
	padding-top: 5px;
}

.footer_menu > li ul {
	font-size: 12px;
	margin-top: 15px;
	line-height: 1.6;
}


.footer_copyright {
	font-size: 14px;
	text-align: center;
}

.footer_copyright a {
	font-size: 13px;
	margin-bottom: 3px;
	display: inline-block;
}

.footer_row:has(+ .footer_copyright) {
    margin-bottom: 20px;
}

.common_main {
    padding: 0;
}

.common_main .common_h2 {
	position: absolute;
	top: 45%;
	color: #fff;
	left: 15%;
}

.common_main_bg img {
	width: 100%;
}

.common_h2 .ja {
	font-size: 32px;
	margin-bottom: 5px;
	line-height: 1.6;
	letter-spacing: 2px;
	font-weight: 400;
}

.common_h2 .en {
	font-size: 18px;
	letter-spacing: 1px;
}

.common_main._circle:after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
	height: 20vw;
	background-image: url(img/common_main_cover.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center bottom;
}

.common_h2 .subtitle {
    font-weight: 400;
    margin-bottom: 15px;
    font-size: 20px;
	letter-spacing: 2px;
}

.common_h2:has(.subtitle) .ja {
	margin-bottom: 20px;
}

/**
 * トップページ
 * ----------------------------------------------------------------------------
 */
.top_main {
    padding: 0;
}
.top_main_video video {
    width: 100%;
    display: block;
}

/*
.top_main_video:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #000000;
    opacity: 0.4;
}
*/

.top_main_video {
    position: relative;
}

.top_main h2 {
	position: absolute;
	bottom: 38%;
	width: 100%;
	text-align: center;
	left: 0;
}

.top_main h2 img {
	width: 20vw;
}

.top_main_about {
	position: absolute;
	right: 3%;
	bottom: 8%;
}

.top_main_about img {
	width: 20vw;
}

.top_news h3 {
	font-size: 43px;
	color: #999;
	line-height: 0.8;
	width: 220px;
}

.top_news .section_inner {
    display: flex;
}

.top_news_content > div {
    display: flex;
	flex-wrap: wrap;
}

.top_news_content > div:nth-child(1) {
	margin-bottom: 80px;
}

.top_news_content h4 {
    font-size: 19px;
    width: 250px;
}

.top_news_list {
    flex: 1;
}

.top_news_content {
    flex: 1;
}

.top_news .section_inner:before {
	content: "";
	position: absolute;
	left: 195px;
	top: -100px;
	bottom: 60px;
	width: 1px;
	background-color: #b11d2c;
}

.top_news_list li a {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding-bottom: 20px;
    border-bottom: 1px solid #999;
	transition: 0.2s all;
	position: relative;
}

.top_news_list li a:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	height: 1px;
	background-color: #fff;
	width: 0;
	transition: all 0.3s;
}

.top_news_list li a:hover:before {
    width: 100%;
}

.top_news_list_date {
    color: #999;
    font-size: 12px;
    font-weight: 200;
    width: 80px;
    text-align: right;
	transition: 0.2s all;
}

.top_news_list li a:hover .top_news_list_date {
	color: #fff;
}

.top_news_list li {
    margin-bottom: 25px;
}

.top_news_list li:last-child {
    margin-bottom: 15px;
}

.top_news_list_title {
    flex: 1;
    line-height: 1.4;
}

.top_news_ichiran_link {
	width: 100%;
	display: flex;
	justify-content: end;
	align-items: center;
	color: #999999;
}

.top_news_ichiran_link:before {
	content: "";
	width: 13px;
	height: 13px;
	border: 2px solid #b11d2c;
	border-radius: 50%;
	margin-right: 5px;
	transition: all 0.2s;
}

.top_news_ichiran_link a:hover {
	color: #fff;
}

.top_news_ichiran_link a {
	transition: 0.2s all;
}

.top_news_ichiran_link:has(:hover):before {
	border: 5px solid #b11d2c;
}


.top_business_header {
    position: relative;
    margin-bottom: 60px;
}

.top_business_header p {
	max-width: 430px;
}

.top_business_header:before {
    content: "";
    position: absolute;
    top: -90px;
    left: -80px;
    right: -80px;
    bottom: -120px;
    background-color: #242422;
}

.top_business {
    padding-top: 140px;
	padding-bottom: calc(60px + 10vw);
}

.top_business > .section_inner {
	max-width: 1040px;
}

.top_business_header .section_inner > * {
    width: 42.5%;
}

.top_business_header .section_inner:after {
	content: "";
	position: absolute;
	width: 60%;
	top: -60px;
	bottom: -100px;
	right: -50px;
	background-image: url(img/top_business_logo.svg);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: contain;
}

.top_business_list {
    display: flex;
    justify-content: space-between;
}

.top_business_list li {
    width: calc(33.3% - 2px);
    overflow: hidden;
	transition: all 0.3s;
}

.top_business_list li:nth-child(1) a {
	background-image: url(img/top_business_list1.jpg);
}
.top_business_list li:nth-child(2) a {
	background-image: url(img/top_business_list2.jpg);
	background-position: left -190px center;
	transition: background-position 0.3s;	
}
.top_business_list li:nth-child(2):hover a {
    background-position: left 0 center;
}
.top_business_list li:nth-child(3) a {
	background-image: url(img/top_business_list3.jpg);
}

.top_business_list h4 .ja {
    font-size: 23px;
    font-weight: 600;
}

.top_business_list li a {
    display: flex;
	width: 700px;
    height: 440px;
    align-items: center;
	color: #fff;
	background-size: cover;
	position: relative;
}

.top_business_list li a:before {
	content: "";
	position: absolute;
	bottom: 80px;
	width: 50%;
	left: 0;
	height: 36px;
	background-image: url(img/top_business_more.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: all 0.3s;
}

.top_business_list li:hover a:before {
	opacity: 1;
}

.top_business_list li a > * {
    width: 50%;
	transition: all 0.3s;
}

.top_business_list li a > h4 {
    text-align: center;
}

.top_business_list h4 .en {
    color: #cccccc;
    font-size: 18px;
    font-weight: 600;
    margin-top: 15px;
}

.top_business_list li:hover {
    width: 700px;
}

.top_business_list:has(li:hover) li:not(:hover) {
    width: calc( (100% - 704px) / 2 );
	filter: blur(1px);
}

.top_business_list:has(li:hover) li:not(:hover) a > * {
	opacity: 0;
}

.top_business_list li a > p {
    padding: 15px;
}

.top_business_link {
    margin-top: 60px;
    display: flex;
    flex-wrap: wrap;
}

.top_business_link li {
    width: 50%;
}

.top_business_link li:nth-child(1) {
	width: 100%;
	border-bottom: 1px solid #4d4d4d;
}

.top_business_link li a {
	display: flex;
	height: 115px;
	align-items: center;
	justify-content: center;
	background-color: #242422;
	transition: all 0.2s;
}

.top_business_link li:nth-child(2) {
	border-right: 1px solid #4d4d4d;
}

.top_business_link li a:hover {
	background-color: #000;
}

.top_sponsor:before {
	content: "";
	background-color: #fff;
	position: absolute;
	top: -10vw;
	left: 0;
	right: 0;
	height: 10vw;
	clip-path: circle(150vw at 50% 150vw);
}

.top_sponsor {
    padding-top: 0;
    text-align: center;
}

.top_sponsor .section_inner {
	max-width: 864px;
}

.top_sponsor .section_inner > * {
    translate: 0 -3vw;
}

.top_sponsor p {
    margin-bottom: 15px;
	font-size: 23px;
}

.top_sponsor p > span {
	font-size: 25px;
}

.top_sponsor_link {
    display: flex;
    justify-content: space-between;
    margin-bottom: 70px;
}

.top_sponsor_link:last-child {
    margin-bottom: 0;
}

/**
 * ミート・コンパニオンについて
 * ----------------------------------------------------------------------------
 */
.about_us h3 {
	font-size: 27px;
	margin-bottom : 40px;
}

.about_us {
    padding-top: 60px;
    padding-bottom: 60px;
}

.about_us .section_inner > p {
    text-align: center;
}

.about_us .section_inner > div {
    text-align: center;
	margin-top: 40px;
}

.about_us p {
	font-size: 16px;
}

.about_us .medium {
    font-size: 25px;
}

.about_message {
	padding-right: 120px;
	padding-left: 120px;
}

.about_message p.medium {
	font-size: 25px;
	margin-top: 80px;
	margin-bottom: 10px;
	font-feature-settings: "palt";
	letter-spacing: 2px;
}

.about_message_name {
	text-align: right;
	max-width: 880px;
}

.about_message:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 35px;
	background-color: #b11d2c;
}

.about_message_photo {
	position: absolute;
	top: -27px;
	width: 100%;
	left: 0;
	text-align: right;
}

.about_message_photo img {
	height: 326px;
	width: auto;
}

.about_message:after {
	content: "";
	position: absolute;
	top: 298px;
	right: 0;
	bottom: 0;
	width: 100px;
	background-color: #242422;
}

.about_profile .section_inner {
	display: flex;
}

.about_profile h3 {
	display: flex;
	flex-direction: column;
	width: 190px;
	justify-content: center;
	color: #242422;
	background-color: #fff;
	position: relative;
}

.about_profile h3 span:nth-child(1),.about_profile h3 span:nth-child(2) {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 6px;
}

.about_profile h3 span:nth-child(3) {
	font-size: 16px;
	font-weight: 500;
}

.about_profile h3:before {
    content: "";
    position: absolute;
    top: -100px;
    bottom: -100px;
    left: -50vw;
    right: 0;
    background-color: #fff;
    z-index: 1;
}

.about_profile h3 span {
	position: relative;
	z-index: 2;
}

.about_profile h3:after {
	content: "";
	position: absolute;
	top : calc( 50% - 47.5px );
	right: -47.5px;
	width: 95px;
	height: 95px;
	z-index: 2;
	background-image: url(img/about_profile_icon.svg);
}

.about_profile .section_inner > div {
	padding-left: 65px;
	display: flex;
	font-size: 13px;
	font-feature-settings: "palt";
	flex: 1;
	justify-content: space-between;
}

.about_profile_list li {
	display: flex;
	margin-bottom: 10px;
	line-height: 1.6;
}

.about_profile_list li ._date {
	width: 78px;
	text-align: right;
	margin-right: 15px;
}

.about_profile_list li ._content {
	flex: 1;
}

.about_profile_list {
    position: relative;
}

.about_profile_list:nth-child(1):before {
    content: "";
    position: absolute;
    left: 85px;
    top: -100px;
    bottom: 0;
    width: 1px;
    background-color: #b11d2c;
}

.about_profile_list:nth-child(2):before {
    content: "";
    position: absolute;
    left: 85px;
    top: 0;
    bottom: -100px;
    width: 1px;
    background-color: #b11d2c;
}

.about_movie_thumb {
    margin-left: -80px;
    margin-right: -80px;
    position: relative;
}

.about_movie {
    padding-bottom: 0;
}

.about_movie_thumb img {
    width: 100vw;
}

.about_movie_thumb:before {
    content: "";
    position: absolute;
    width: 160px;
    height: 160px;
    top: calc(50% - 80px);
    left: calc(50% - 80px);
	background-image: url(img/play_movie.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

.about_movie_modal {
    position: fixed;
    display: flex;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(36 36 34 / 70%);
    align-items: center;
    justify-content: center;
}

.about_movie_modal video {
    width: 80%;
	max-width: 800px;
}

/**
 * ミートパッカー事業/海外事業
 * ----------------------------------------------------------------------------
 */
.business_distribution_flow {
    text-align: center;
}

.business_flow_list {
    display: flex;
    justify-content: center;
}

.business_flow_list li {
    display: flex;
    align-items: center;
    height: 150px;
    width: 218px;
	background-image: url(img/business_flow_bg.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	padding-left: 20px;
	margin-right: -10px;
	position: relative;
}

.business_flow_list li:nth-child(1) {
	z-index: 10;
}
.business_flow_list li:nth-child(2) {
	z-index: 9;
}
.business_flow_list li:nth-child(3) {
	z-index: 8;
}
.business_flow_list li:nth-child(4) {
	z-index: 7;
}
.business_flow_list li:nth-child(5) {
	z-index: 6;
}
.business_flow_list li:nth-child(6) {
	z-index: 5;
}
.business_flow_list li:nth-child(7) {
	z-index: 4;
}


.business_flow_list li ._icon {
    margin-right: 5px;
}

.business_flow_list li ._txt {
    font-size: 14px;
    font-feature-settings: "palt";
    text-align: center;
    line-height: 1.6;
    min-width: 100px;
}

.business_meatpacking:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 35px;
    background-color: #b11d2c;
}

.business_meatpacking p {
    max-width: 596px;
}

.business_meatpacking {
	background-image: url(img/business_meatpacking_bg.png);
	background-repeat: no-repeat;
	background-position: top right;
	background-size: 722px;
	padding-bottom: calc(10vw + 20px);
}

.business_meatpacking_map:before {
    content: "";
    background-color: #fff;
    position: absolute;
    top: -10vw;
    left: 0;
    right: 0;
    height: 10vw;
    clip-path: circle(150vw at 50% 150vw);
}

.business_meatpacking_map_btn ._txt {
    color: #fff;
    position: absolute;
    z-index: 2;
    font-size: 20px;
    font-weight: 600;
    right: 66px;
    top: 23px;
}

.business_meatpacking_map_btn {
    display: flex;
    justify-content: center;
}

.business_meatpacking_map_btn li:nth-child(1) {
    margin-right: 20px;
}

.business_meatpacking_map_btn li {
    position: relative;
}

.business_meatpacking_map_btn ._bg._active {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: all 0.3s;
}

.business_meatpacking_map_btn .active ._bg._active {
    opacity: 1;
}

.business_meatpacking_map {
	padding-top: 0;
}

.business_meatpacking_map h3 {
	text-align: center;
	font-size: 20px;
	font-weight: 400;
	translate: 0 -4vw;
}

.business_meatpacking_map h3 .red {
	font-size: 27px;
	margin-bottom: 5px;
}

.business_meatpacking_map_content ._map {
    text-align: center;
}

.business_meatpacking_map_content {
    margin-top: 30px;
}

.business_meatpacking_map_detail {
    margin: 60px auto 0;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
}

.business_meatpacking_map_detail li {
    width: 14.28%;
	min-height: 198px;
}

.business_meatpacking_map_detail ._chihou {
    width: 70%;
    margin: auto;
    text-align: center;
    font-size: 16px;
    color: #fff;
    font-weight: 500;
    line-height: 1;
    padding: 3px 0 2px;
}

.business_meatpacking_map_detail ._chihou._shikoku {
    background-color: #b58f64;
}
.business_meatpacking_map_detail ._chihou._chugoku {
    background-color: #ce8a29;
}
.business_meatpacking_map_detail ._chihou._kinki {
    background-color: #ceab2b;
}
.business_meatpacking_map_detail ._chihou._chubu {
    background-color: #be8aa3;
}
.business_meatpacking_map_detail ._chihou._kantou {
    background-color: #768cae;
}
.business_meatpacking_map_detail ._chihou._tohoku {
    background-color: #2586b4;
}
.business_meatpacking_map_detail ._chihou._hokkaido {
    background-color: #73a189;
}
.business_meatpacking_map_detail ._chihou._okinawa {
    background-color: #b84d65;
}
.business_meatpacking_map_detail ._chihou._kyushu {
    background-color: #c3676e;
}

.business_meatpacking_map_detail ._todofuken {
    color: #999999;
    font-weight: 500;
    font-size: 14px;
    margin-top: 15px;
}

.business_meatpacking_map_detail ._brand {
    color: #b11d2c;
    font-weight: 500;
    font-size: 14px;
    margin-top: 5px;
}

.business_meatpacking_map_detail li:nth-child(n+8) {
    margin-top: -90px;
}

.business_meatpacking_map_content > div:nth-child(2) {
	display: none;
}

.business_tokyox {
	background-image: url(img/business_tokyox_bg.jpg);
	background-size: 100%;
	background-repeat: no-repeat;
	padding-top: 14vw;
	padding-bottom: 135px;
}

.business_tokyox:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 35px;
    background-color: #b11d2c;
}

.business_tokyox .section_inner {
    background-color: #fff;
    padding: 20px 50px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.business_tokyox_icon {
	margin-bottom: 20px;
}

.business_tokyox .common_h3 {
    margin-top: 25px;
}

.common_link_btn a {
    display: flex;
    height: 90px;
    align-items: center;
    justify-content: center;
    background-color: #242422;
    transition: all 0.2s;
    width: 100%;
}
.common_link_btn a:hover {
	background-color: #000;
}

.common_link_btn {
    width: 100%;
}

.business_overseas {
	background-image: url(img/business_overseas_bg.jpg);
	background-size: cover;
	color: #fff;
	background-position: center;
	padding-top: 80px;
}

.business_overseas_content {
	display: flex;
	margin-bottom: 100px;
}

.business_overseas_content > p {
	flex: 1;
}

.business_overseas_icon {
	margin-left: 80px;
}


/**
 * 安心安全の取り組み
 * ----------------------------------------------------------------------------
 */

.safety_description {
    font-size: 16px;
	padding-bottom: calc(100px + 2vw);
}

.safety_description .section_inner {
    display: flex;
    align-items: center;
    max-width: 930px;
}

.safety_description .section_inner > p {
    margin-left: 30px;
    flex: 1;
}

.safety_base:before {
    content: "";
    background-image: url(img/safety_base_cover.svg);
    position: absolute;
    bottom: calc(100% - 1px);
    left: 0;
    width: 100%;
    height: 12vw;
    background-size: 130%;
    background-position: center bottom;
    background-repeat: no-repeat;
    pointer-events: none;
}

.safety_base .section_inner {
    display: flex;
    max-width: 1000px;
}

.safety_base .section_inner > div {
    flex: 1;
    margin-right: 20px;
    text-align: center;
}

.safety_base_logo {
    display: flex;
    height: 150px;
    align-items: center;
    justify-content: center;
}

.safety_base {
    padding-top: 20px;
}

.safety_base:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 35px;
    background-color: #b11d2c;
}

.safety_base .section_inner > div h4 {
    font-size: 17px;
    color: #e83820;
    font-weight: 400;
    margin-top: 20px;
}

.safety_base_list {
	height: 200px;
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	background-image: url(img/safety_base_frame.svg);
	background-size: contain;
	background-repeat: no-repeat;
	padding: 20px 0 10px;
    background-position: top center;
	margin-top: 10px;
	font-weight: 400;
}

.safety_quality_list li:before {
	content: "";
	position: absolute;
	width: 96px;
	height: 96px;
	left: -48px;
	top: calc( 50% - 48px );
	background-image: url(img/safety_quality_icon.svg);
}

.safety_quality_list li {
    background-color: #fff;
	color: #242422;
	display: flex;
	align-items: center;
	height: 225px;
	margin-bottom: 25px;
	padding-right: 40px;
	position: relative;
}

.safety_quality_list li h4 {
	font-size: 27px;
	font-weight: 500;
	width: 400px;
	text-align: center;
	margin-right: 30px;
}

.safety_quality_list li p {
	flex: 1;
}

.safety_quality > .section_inner > p {
	margin-bottom: 80px;
}

.safety_quality > .section_inner {
	z-index: 2;
}

.safety_quality {
    padding-bottom: 15vw;
}

.safety_quality:before {
	content: "";
	position: absolute;
	top: 0; 
	right: 0;
	width: 50%;
	height: 35vw;
	background-image: url(img/safety_quality_bg1.jpg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: right top;
}

.safety_quality:after {
	content: "";
	position: absolute;
	bottom: 0; 
	right: 0;
	width: 50%;
	height: 35vw;
	background-image: url(img/safety_quality_bg2.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: right bottom;
}

.safety_traceability {
	color: #fff;
	background-image: url(img/safety_traceability_bg.jpg);
	background-size: cover;
	background-position: top 35px center;
	padding-bottom: 18vw;
	padding-top: 8vw;
}

.safety_traceability:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 35px;
    background-color: #b11d2c;
}


/**
 * 採用案内
 * ----------------------------------------------------------------------------
 */
body._recruit .header {
    background-color: #fff;
}

body._recruit .header_menu {
    background-color: #187fc4;
}

body._recruit .header_menu > li > a:after {
    background-color: #fff;
}


body._recruit .header_submenu {
    background-color: #187fc4;
}

.header_main_btn_recruit {
	position: absolute;
	right: 40px;
	top: 0;
	display: flex;
	font-size: 13px;
	font-weight: 400;
	border: 2px solid #000;
	border-top: 0;
	border-radius: 0 0 25px 25px;
	text-align: center;
	overflow: hidden;
}

.header_main_btn_recruit > li:nth-child(2),.header_main_btn_recruit > li:nth-child(3) {
	width: 80px;
}

.header_main_btn_recruit > li:nth-child(1) {
	width: 228px;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.header_main_btn_recruit > li:nth-child(2) a, .header_main_btn_recruit > li:nth-child(3) a {
	background-color: #000;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 60px;
	justify-content: center;
}

.header_main_btn_recruit > li:nth-child(2) a {
	background-color: #2778be;
}

.header_main_btn_recruit > li:nth-child(3) a {
	background-color: #212a6e;
}

.header_main_btn_recruit a img {
	margin-bottom: 3px;
}

.header_main_btn_recruit a {
	transition: all 0.2s;
}

.header_main_btn_recruit a:hover {
	background-color: #b11d2c!important;
	color: #fff;
}

body._recruit .common_main .common_h2 {
	color: #242422;
}

.recruit_main {
    margin-top: 136px;
}

.recruit_main_inner {
	position: absolute;
	left: 13%;
	top: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.recruit_main_inner .common_h2 {
	position: relative;
	top: auto;
	left: auto;
}

.recruit_main_menu {
    margin-top: 50px;
}

.recruit_main_menu > li > a {
	font-size: 16px;
	font-weight: 400;
	border-bottom: 2px solid #5ab9d4;
	position: relative;
	padding-bottom: 3px;
	display: block;
}

.recruit_main_menu > li > a:before {
	content: "";
	position: absolute;
	background-color: #5ab9d4;
	bottom: -3px;
	left: -3px;
	height: 5px;
	width: 5px;
	border-radius: 50%;
}

.recruit_main_menu > li {
	margin-bottom: 20px;
}

.recruit_main_menu > li > ul li {
	margin-top: 10px;
}

.recruit_main_menu > li > ul {
	margin-top: 15px;
}

.recruit_main_menu > li > ul li a {
    display: flex;
	align-items: center;
}

.recruit_main_menu > li > ul li a:before {
	content: "";
	width: 15px;
	height: 15px;
	background-image: url(img/recruit_main_menu_icon.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position:center;
	margin-right: 4px;
}

.recruit_main_menu > li > ul li a:hover:before {
	background-image: url(img/recruit_main_menu_icon_hover.svg);	
}

.recruit_main_menu a {
	transition: all 0.2s;
}

.recruit_main_menu a:hover {
    color: #5ab9d4;
}

.recruit_message {
	text-align: center;
}

.recruit_message h3 {
	color: #187fc4;
	font-size: 25px;
	font-weight: 500;
	margin-bottom: 20px;
}

.recruit_message p {
	font-size: 16px;
}


.recruit_floating_btn {
	position: fixed;
	right: 0;
	bottom: 10%;
	z-index: 9999;
}

.recruit_floating_btn button {
	writing-mode: vertical-rl;
	font-size: 19px;
	font-weight: 400;
	padding: 45px 20px 45px 30px;
	border: 2px solid #000000;
	border-right: 0;
	letter-spacing: 2px;
	border-radius: 25px 0 0 25px;
	background-color: #fff;
	display: flex;
	position: relative;
	z-index: 2;
}

.recruit_floating_btn button:after {
    width: 20px;
    content: "";
    height: 20px;
    border: 2px solid;
    color: #187fc4;
    border-radius: 50%;
    margin-top: 5px;
	transition: all 0.2s;
}

.recruit_floating_btn:hover button:after {
	border: 6px solid;
    color: #b11d2c;
}

.recruit_floating_menu {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    white-space: nowrap;
    background-color: #2778be;
    color: #fff;
    padding-right: 100px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    padding: 10px 100px 10px 30px;
    font-size: 17px;
    font-weight: 600;
    border-radius: 25px 0 0 25px;
	opacity: 0;
	pointer-events: none;
	transition: all 0.3s;
}

.recruit_floating_btn:hover .recruit_floating_menu {
	opacity: 1;
	pointer-events: auto;
}

.recruit_floating_menu li a {
	display: flex;
	align-items: center;
}

.recruit_floating_menu li a:before {
	content: "";
	height: 30px;
	width: 30px;
	margin-right: 5px;
	background-image: url(img/recruit_floating_menu_icon.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}

.recruit_floating_menu li a:hover {
	color: #fff;
}

.recruit_floating_menu li a:hover:before {
	background-image: url(img/recruit_floating_menu_icon_hover.svg);	
}

.recruit_information {
	padding-top: 0;
}

.recruit_information_content {
    position: relative;
    margin-top: -120px;
}

.recruit_information_content ._item {
    position: absolute;
    width: 22.1%;
    height: 35.9%;
    text-align: center;
    font-size: 19px;
    font-weight: 500;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.recruit_information_content ._item._charm {
    top: 0;
    left: 42.7%;
}

.recruit_information_content ._item._charm ._btn {
    background-color: #38acc0;
}

.recruit_information_content ._item._description {
    left: 0.2%;
    top: 27.5%;
}

.recruit_information_content ._item._description ._btn {
    background-color: #2681b8;
}

.recruit_information_content ._item._entry {
    bottom: 0.2%;
    left: 30.9%;
}

.recruit_information_content ._item._entry ._btn {
	background-color: #3560a2;
}

.recruit_information_content ._item._sns {
	right: 0.2%;
	bottom: 25.5%;
}

.recruit_information_content ._item._sns ._btn {
	background-color: #6497c6;
}

.recruit_information_content ._item p {
    margin-bottom: 5px;
    line-height: 1.4;
    margin-top: 5%;
}

.recruit_information_content ._item ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 130px;
	margin: 0 auto;
}

.recruit_information_content ._item li {
    margin: 3px;
}

.recruit_information_content ._item li a {
    position: relative;
    display: inline-block;
}

.recruit_information_content ._item li ._btn {
    z-index: 2;
    position: relative;
    transition: clip-path 0.28s ease;
    clip-path: circle(100%);
	border-radius: 50%;
}

.recruit_information_content ._item li a:hover ._btn {
    clip-path: circle(0);
}

.recruit_information_content ._item li ._hover {
    position: absolute;
    left: 0;
    top: 0;
}

.recruit_challenge .section_inner {
    display: flex;
    align-items: center;
}

.recruit_challenge .section_inner > div:nth-child(2) {
    flex: 1;
    margin-right: -40px;
	margin-bottom: -60px;
}

.recruit_challenge .section_inner > div:nth-child(1) {
    margin-right: 40px;
}

.recruit_challenge .section_inner h3 {
    font-size: 27px;
    font-weight: 400;
    margin-bottom: 25px;
}

.recruit_challenge:before {
    content: "";
    background-image: url(img/recruit_challenge_cover.svg);
    position: absolute;
    bottom: calc(100% - 1px);
    left: 0;
    width: 100%;
    height: 12vw;
    background-size: 130%;
    background-position: center bottom;
    background-repeat: no-repeat;
    pointer-events: none;
}

.recruit_challenge {
	padding-top: 0;
	padding-bottom: 0;
	z-index: 2;
}

.recruit_voice {
	padding-left: 0;
	padding-right: 0;
	padding-top: 50px;
	padding-bottom: 60px;
}

.recruit_voice > .splide {
	z-index: 3;
}

.recruit_voice ul li.splide__slide  {
	margin-right: 2.5vw;
}

.recruit_voice ul li img {
    width: 100%;
}

.splide__pagination {
	counter-reset: pagination-num;
}

.splide__pagination__page:before {
	counter-increment: pagination-num;
	content: "0" counter( pagination-num );
}

.splide__arrows {
	position: absolute;
	top: calc(100% + 25px);
	right: calc(75px + 5vw);
	width: 235px;
}

.splide__arrow--next {
	right: 60px;
	background-image: url(img/slide_next.svg);
}

.splide__arrow--prev {
	left: 60px;
	background-image: url(img/slide_prev.svg);
}

.splide__arrow {
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: center center;
	background-color: transparent;
}

.splide__pagination {
	right: calc(75px + 5vw);
	left: auto;
	top: calc(100% + 50px);
}

.splide__pagination__page {
	width: auto;
	background: none!important;
	transform: scale(1)!important;
	font-size: 18px;
	font-family: 'Gotham';
	font-weight: 300;
}

.splide__pagination__page.is-active {
	color: #005ca2;
}

.splide__pagination li {
    margin-left: 15px;
}

.splide__arrow svg {
	display: none;
}

.recruit_voice h3 .en {
	font-size: 43px;
	margin-top: 10px;
}

.recruit_voice h3 .ja {
	font-size: 27px;
	margin-top: 5px;
	font-weight: 400;
}


.recruit_voice ul li.splide__slide a {
	position: relative;
	display: block;
}

.recruit_voice ul li.splide__slide a:hover {
	color: #fff;
}

.recruit_voice_copy {
	position: absolute;
	font-size: 21px;
	font-weight: 500;
	right: 10px;
	bottom: 70px;
	margin-bottom: 0;
}

.recruit_voice_post {
	position: absolute;
	right: 20px;
	bottom: 20px;
	text-align: right;
	line-height: 1.6;
}

.recruit_charm {
    padding-top: 0;
	padding-bottom: 60px;
}

.recruit_charm .section_inner {
    background-color: #fff;
    padding: 60px 100px 20px;
    transform: translateY(-40px);
}

.recruit_charm .section_inner h3 {
    font-size: 27px;
    text-align: center;
    font-weight: 400;
    color: #59c3e1;
}

.recruit_charm_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 60px;
}

.recruit_charm_list li {
	width: 230px;
	text-align: center;
	height: 230px;
	background-color: #59c3e1;
	border-radius: 50%;
	color: #fff;
	display: flex;
	justify-content: center;
	flex-direction: column;
	margin: 15px;
}

.recruit_charm_list li p {
	line-height: 1.6;
	font-size: 16px;
	font-weight: 500;
}

.recruit_charm_list li ._icon {
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.countup {
	display: none;
}

.recruit_charm .section_inner > p.recruit_number_note {
	text-align: right;
	line-height: 1;
	font-size: 14px;
	margin-top: -18px;
}

.recruit_number {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.recruit_number > div {
    border: 1px solid #59c3e1;
    padding: 15px 10px 10px 10px;
    margin-bottom: 15px;
	position: relative;
	min-height: 256px;
}

.recruit_number ._title {
    color: #187fc4;
    font-weight: 500;
    font-size: 20px;
}

.recruit_number ._num {
    font-weight: 500;
}

.recruit_number .countup {
    color: #c1db81;
    font-family: 'Gotham';
}

.recruit_number ._unit {
    color: #59c3e1;
}

.recruit_number ._note {
    color: #187fc4;
	font-feature-settings: "palt";
}

.recruit_number ._item1 {
    width: 25%;
}

.recruit_number ._item1 ._title {
    font-size: 38px;
    text-align: center;
}

.recruit_number ._item1 .countup {
    font-size: 93px;
}

.recruit_number ._item1 ._unit {
    font-size: 30px;
}

.recruit_number ._item1 ._num {
    display: flex;
    flex-direction: column;
    text-align: right;
    margin-top: 20px;
}

.recruit_number ._item1 ._icon {
    position: absolute;
    bottom: 20px;
    left: 5px;
}

.recruit_number ._item2 {
    width: 25%;
}

.recruit_number ._item2 .countup {
    font-size: 73px;
}

.recruit_number ._item2 ._num {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-top: 65px;
}

.recruit_number ._item2 ._unit {
    font-size: 23px;
}

.recruit_number ._item2 ._icon {
    position: absolute;
    right: 15px;
    top: 15px;
}

.recruit_number ._item2 ._note {
    text-align: right;
    margin-top: 10px;
}

.recruit_number ._item3 {
    width: 46%;
}

.recruit_number ._item3 .countup {
    font-size: 60px;
    width: 120px;
}

.recruit_number ._item3 ._num {
	text-align: right;
	background-image: url(img/recruit_number_icon3.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom;
	margin-bottom: 5px;
}

.recruit_number ._item3 ._unit {
    font-size: 16px;
    display: inline-block;
    width: 20px;
}

.recruit_number ._item3 ._note {
    text-align: right;
}

.recruit_number ._item3 ._note._1 {
    margin-bottom: 20px;
}

.recruit_number ._item4 {
    width: 37.5%;
}

.recruit_number ._item4 ._num {
    display: flex;
	margin-top: 20px;
	justify-content: space-between;
}

.recruit_number ._item4 ._subtitle {
    font-size: 14px;
    color: #187fc4;
}

.recruit_number ._item4 ._num > div {
	width: 48%;
}

.recruit_number ._item4 .countup {
    font-size: 55px;
}

.recruit_number ._item4 ._unit {
    font-size: 20px;
}

.recruit_number ._item4 ._icon {
    text-align: center;
    margin-top: 10px;
}

.recruit_number ._item5 {
    width: 26.5%;
}

.recruit_number ._item5 ._title {
    text-align: center;
}

.recruit_number ._item5 ._num {
    display: flex;
    flex-direction: column;
    text-align: right;
    margin-top: 30px;
}

.recruit_number ._item5 .countup {
    font-size: 80px;
}

.recruit_number ._item5 ._unit {
    font-size: 60px;
}

.recruit_number ._item5 ._icon {
    position: absolute;
    bottom: 50px;
    left: 10px;
}

.recruit_number ._item5 {
    width: 26.5%;
}

.recruit_number ._item5 ._title {
    text-align: center;
}

.recruit_number ._item5 ._num {
    display: flex;
    flex-direction: column;
    text-align: right;
    margin-top: 30px;
}

.recruit_number ._item5 .countup {
    font-size: 80px;
}

.recruit_number ._item5 ._unit {
    font-size: 60px;
}

.recruit_number ._item5 ._icon {
    position: absolute;
    bottom: 50px;
    left: 10px;
}

.recruit_number ._item6 {
	width: 32%;
}

.recruit_number ._item6 .countup._1 {
	font-size: 95px;
}

.recruit_number ._item6 .countup._2 {
	font-size: 60px;
}

.recruit_number ._item6 ._unit {
	font-size: 29px;
}

.recruit_number ._item6 ._num {
	text-align: center;
	margin-top: 60px;
}

.recruit_number ._item6 ._icon {
	position: absolute;
	right: 25px;
	top: 20px;
}

.recruit_number ._item7 {
	width: 32%;
}

.recruit_number ._item7 .countup {
    font-size: 80px;
}

.recruit_number ._item7 ._unit {
    font-size: 26px;
}

.recruit_number ._item7 ._num {
    text-align: center;
    margin-top: 100px;
	
}

.recruit_number ._item7 ._icon {
    position: absolute;
    right: 25px;
    top: 20px;
}

.recruit_number ._item8 {
	width: 32%;
}

.recruit_number ._item8 .countup {
    font-size: 65px;
}

.recruit_number ._item8 ._unit {
    font-size: 29px;
}

.recruit_number ._item8 ._num {
	display: flex;
	flex-direction: column;
	text-align: right;
	margin-top: 20px;
	padding-right: 10px;
}

.recruit_number ._item8 ._icon {
    position: absolute;
    left: 10px;
    bottom: 10px;
}

.recruit_number ._item9 {
	width: 32%;
}

.recruit_number ._item9 .countup {
    font-size: 85px;
}

.recruit_number ._item9 ._unit {
    font-size: 29px;
}

.recruit_number ._item9 ._num {
    text-align: right;
    margin-top: 15px;
	
}

.recruit_number ._item9 ._icon {
    position: absolute;
    left: 20px;
    bottom: 15px;
}

.recruit_charm .section_inner h4 {
	font-size: 27px;
	text-align: center;
	font-weight: 400;
	color: #187fc4;
	margin-top: 30px;
	margin-bottom: 5px;
}

.recruit_charm .section_inner > p {
	text-align: center;
}

.recruit_charm .section_inner > hr {
	color: #39bbd2;
}

.recruit_benefits {
	background-image: url(img/recruit_benefits_bg.jpg);
	background-repeat: no-repeat;
	background-size: 100%;
	padding-top: 20vw;
}

.recruit_benefits .section_inner {
    background-color: #fff;
    padding: 60px;
}

.recruit_benefits h4 {
    color: #59c3e1;
    font-size: 20px;
    font-weight: 500;
    margin-top: 15px;
    margin-bottom: 10px;
}

.recruit_benefits_inner {
    max-width: 800px;
    margin: auto;
}

.recruit_benefits_list {
    display: flex;
    flex-wrap: wrap;
}

.recruit_benefits_list > li {
    width: 32%;
    border: 1px solid #39bbd2;
    padding: 10px 10px 5px 10px;
    margin-right: 2%;
    margin-bottom: 15px;
    color: #187fc4;
    font-weight: 400;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 80px;
}

.recruit_benefits_list > li:nth-child(3), .recruit_benefits_list > li:last-child {
    margin-right: 0;
}

.recruit_benefits_list ._title {
    font-size: 17px;
    margin-top: 5px;
    margin-bottom: 15px;
}

.recruit_benefits_list ._content {
    font-size: 11px;
    font-feature-settings: "palt";
    line-height: 1.2;
}

.recruit_benefits_list ._icon {
    position: absolute;
    right: 10px;
    top: 10px;
}

.recruit_benefits_list > li._13 {
    width: 66%;
    flex-direction: row;
    align-items: center;
    justify-content: left;
}

.recruit_benefits_list > li._13 ._title {
    margin: 0;
}

.recruit_benefits_list > li._13 ._icon {
    position: relative;
    right: auto;
    top: auto;
    margin-left: 15px;
    margin-right: 35px;
}

.recruit_training {
	background-image: url(img/recruit_training_bg.png);
	background-repeat: no-repeat;
	background-size: 100%;
	padding-top: 20vw;
	padding-bottom: calc(10vw + 60px);
}

.recruit_training .section_inner {
    background-color: #fff;
    padding: 60px;
}

.recruit_training_list {
    max-width: 800px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}

.recruit_training_list li {
    width: 32%;
}

.recruit_training_list ._icon {
    display: flex;
    height: 200px;
    justify-content: center;
    align-items: center;
}

.recruit_training_list h4 {
    color: #187fc4;
    font-size: 20px;
    font-weight: 500;
}

.recruit_training_list p {
    font-size: 14px;
    font-weight: 400;
    margin-top: 10px;
}

.recruit_description_list {
    display: flex;
    justify-content: space-between;
}

.recruit_description_list li {
    width: 48%;
}

.recruit_description_list li {
    border: 1px solid #2778be;
}

.recruit_description_list li h4 {
    font-size: 23px;
    font-weight: 600;
    color: #fff;
    display: flex;
    justify-content: center;
    background-color: #2778be;
    height: 70px;
    align-items: center;
}

.recruit_description_list li > div {
    display: flex;
    height: 130px;
    justify-content: center;
    align-items: center;
}

.recruit_description_list li > div > a:nth-child(2) {
    margin-left: 10px;
}

.recruit_description_list li:nth-child(2) {
    border: 1px solid #212a6e;
}

.recruit_description_list li:nth-child(2) h4 {
    background-color: #212a6e;
}

.recruit_training .section_inner:nth-child(2) {
	margin-top: 60px;
}

.recruit_interview {
    padding-bottom: 12vw;
	padding-top: 0;
}

.recruit_interview:before {
    content: "";
    background-color: #fff;
    position: absolute;
    top: -10vw;
    left: 0;
    right: 0;
    height: 10vw;
    clip-path: circle(150vw at 50% 150vw);
}

.recruit_interview_link {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.recruit_interview_link li {
	width: 46.8%;
	margin-top: 40px;
	background-repeat: no-repeat;
	background-size: 100%;
	color: #fff;
	font-size: 23px;
	font-weight: 600;
	background-position: center;
}

.recruit_interview_link li a {
    display: flex;
    height: 90px;
    align-items: center;
    padding-left: 23%;
    width: 100%;
	position: relative;
}

.recruit_interview_link li a:after {
	content: "";
	position: absolute;
	background-image: url(img/recruit_interview_link_hover.svg);
	width: 32px;
	height: 32px;
	right: 3.4%;
	top: calc(52% - 17px);
	opacity: 0;
	transition: all 0.3s;
}

.recruit_interview_link li a:hover:after {
	opacity: 1;
}

.recruit_interview_link li a > span {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 33px;
}

.recruit_interview_link li:nth-child(1) {
	background-image: url(img/recruit_interview_link1.svg);
}

.recruit_interview_link li:nth-child(2) {
	background-image: url(img/recruit_interview_link2.svg);
}

.recruit_interview_link li:nth-child(3) {
	background-image: url(img/recruit_interview_link3.svg);
}

.recruit_interview_link li:nth-child(4) {
	background-image: url(img/recruit_interview_link4.svg);
}

.recruit_interview_link li a > span > span {
    height: 33px;
	padding: 5px 0;
    transition: all 0.3s;
}

.recruit_interview_link li a:hover > span > span {
    transform: translateY(-33px);
}

.recruit_interview_link li a:hover {
    color: #fff;
}

/**
* アーカイブ
 * ----------------------------------------------------------------------------
 */

.news_content {
    padding-bottom: calc(10vw + 40px);
}

.news_content .section_inner {
    display: flex;
    justify-content: space-between;
}

.news_content .section_inner ._main {
    width: 63.5%;
}

.news_content .section_inner ._sub {
    width: 28.5%;
}

.news_content .section_inner ._main ._cat {
    background-color: #000000;
    width: 146px;
    color: #fff;
    font-weight: 500;
    text-align: center;
    padding: 7px;
    font-size: 13px;
    margin-bottom: 40px;
}

.news_content .section_inner ._main h3 {
    font-size: 18px;
    margin-bottom: 20px;
}

.news_content .section_inner ._sub h4 {
    font-size: 14px;
    font-weight: 500;
    border-bottom: 1px solid #b11d2c;
    padding-bottom: 5px;
    margin-bottom: 15px;
}

.news_content .section_inner ._sub ._newslist li {
    font-size: 14px;
    margin-bottom: 25px;
}

.news_content .section_inner ._sub ._newslist {
    margin-bottom: 60px;
}

.news_content .section_inner ._sub ._catlist {
    display: flex;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    color: #fff;
    justify-content: space-between;
    margin-bottom: 40px;
}

.news_content .section_inner ._sub ._catlist li {
    width: 49%;
    padding: 8px 0;
}

.news_content .section_inner ._sub ._catlist li:nth-child(1) {
    background-color: #000000;
}

.news_content .section_inner ._sub ._catlist li:nth-child(2) {
    background-color: #b11d2c;
}

.news_content .section_inner ._sub h5 {
    font-size: 14px;
    font-weight: 500;
    color: #b11d2c;
    margin-bottom: 5px;
}

select[name="archive-dropdown"] {
    border: 2px solid;
    width: 100%;
    padding: 5px;
	background-image: url(img/archive_dropdown.svg);
	background-size: 9px;
	background-position: center right 15px;
	background-repeat: no-repeat;
}

.news_content ._main a {
	color: #b11d2c;
	text-decoration: underline;
}

.news_archive {
    padding-top: 40px;
	background-image: url(img/news_archive_bg.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center bottom;
	z-index: 2;
    padding-bottom: calc(13vw + 100px);
}

.news_archive_link {
	display: flex;
	justify-content: center;
	border-bottom: 1px solid #b11d2c;
	padding-bottom: 50px;
}

.news_archive_link li {
    width: 350px;
    height: 60px;
    background-color: #000;
}

.news_archive_link li a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: end;
    padding-right: 20%;
    font-size: 20px;
	font-weight: 600;
	position: relative;
}

.news_archive_link li a:before,.news_archive_link li a:after {
	content: "";
	position: absolute;
	width: 30px;
	height: 30px;
	right: 15px;
	top: calc(50% - 15px);
	background-size: contain;
	background-repeat: no-repeat;
}

.news_archive_link li a:before {
	background-image: url(img/news_archive_link_icon.svg);
	transition: all 0.2s;
}

.news_archive_link li a:hover:before, .news_archive_link li.active a:before {
	opacity: 0;
}

.news_archive_link li a:after {
	background-image: url(img/news_archive_link_icon_active.svg);
	transition: all 0.2s;
	z-index: 2;
	opacity: 0;
}
.news_archive_link li a:hover:after, .news_archive_link li.active a:after {
	opacity: 1;
}

.news_archive_link li:nth-child(1) {
    margin-right: 70px;
}

.news_archive_link li a:hover {
    color: #fff;
}

.news_archive select[name="archive-dropdown"] {
	max-width: 120px;
    margin-top: 20px;
    border: 1px solid;
    background-color: #000;
    background-image: url(img/archive_dropdown_gray.svg);
}

.news_archive_list {
    max-width: 770px;
    margin: 40px auto 0;
}

.news_archive_list ._title {
	flex: 1;
}

.news_archive_list:has(._content) ._title {
    margin-bottom: 10px;
    width: 100%;
	flex: none;
}

.news_archive_list li {
    border-bottom: 1px solid;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.news_archive_list li a {
    display: flex;
    flex-wrap: wrap;
}

.news_archive_list ._date {
    width: 100px;
    font-size: 12px;
    text-align: right;
}

.news_archive_list ._content {
    font-size: 13px;
    flex: 1;
    line-height: 1.4;
}

/**
* フードサービス事業
* ----------------------------------------------------------------------------
*/

.food_flow .business_flow_list li {
	width: 190px;
	background-image: url(img/food_flow_bg.svg);
	padding-left: 15px;
}

.food_flow .business_flow_list li ._txt {
	font-weight: 500;
	min-width: 90px;
	margin-top: 15px;
}

.food_flow .business_flow_list li ._note {
    font-size: 12px;
    height: 40px;
	font-weight: 300;
}

.food_description:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 35px;
    background-color: #b11d2c;
}

.food_description {
	background-image: url(img/food_description_bg.png);
	background-repeat: no-repeat;
	background-position: right top 35px;
	background-size: auto 570px;
	padding-bottom: calc(10vw + 10px);
}

.food_description .section_inner p {
    max-width: 596px;
}

.food_example:before {
    content: "";
    background-color: #fff;
    position: absolute;
    top: -10vw;
    left: 0;
    right: 0;
    height: 10vw;
    clip-path: circle(150vw at 50% 150vw);
}

.food_example {
    padding-top: 0;
	padding-bottom: 120px;
}

.food_example h3 {
    font-size: 27px;
    font-weight: 400;
    text-align: center;
    position: relative;
    top: -5vw;
    letter-spacing: 4px;
}

.food_example_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.food_example_list li {
    width: calc(33.3% - 7px);
    margin-bottom: 60px;
}

.food_example_list li h4 {
    text-align: center;
    font-size: 23px;
    font-weight: 400;
    color: #b11d2c;
    margin-top: 20px;
    margin-bottom: 5px;
}

.food_example_list li p {
    padding: 0 10px;
}

.food_example > .section_inner > p.red {
    text-align: center;
    margin-bottom: 5px;
}


/**
* 一般のお客様へ
 * ----------------------------------------------------------------------------
 */

.general_link {
    padding-bottom: 120px;
	padding-top: 60px;
}

.general_link .section_inner > p {
    text-align: center;
    font-size: 25px;
    font-weight: 500;
	margin-bottom: 20px;
}

.general_link_list {
    display: flex;
    flex-wrap: wrap;
}

.general_link_list li {
    width: 50%;
    border: 1px solid #b11d2c;
}

.general_link_list li a {
    display: flex;
    background-color: #fff;
    width: 100%;
    height: 100%;
    align-items: center;
    color: #1b100d;
    padding: 30px 20px;
}

.general_link_list li:nth-child(odd) {
    border-right: 0;
}

.general_link_list li:nth-child(3),.general_link_list li:nth-child(4) {
    border-top: 0;
}

.general_link_list ._txt {
    border: 1px solid;
    width: 123px;
    height: 64px;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    border-radius: 3px;
    margin-right: 30px;
}

.general_link_list ._logo {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
}

.general_link_list ._txt.bg_red {
    font-weight: 500;
}

.general_link_list li a ._logo img {
    transition: all 0.3s;
}

.general_link_list li a:hover ._logo img {
    transform: scale(1.15);
}

.general_link .section_inner > * {
	position: relative;
	z-index: 2;
}

.general_link:before {
	content: "";
	top: 35px;
	left: 0;
	right: 0;
	height: 140px;
	position: absolute;
	z-index: 1;
	background-color: #242422;
}


/**
* お問い合わせフォーム
* ----------------------------------------------------------------------------
*/
.contact_note {
    font-size: 23px;
    font-weight: 400;
    padding-top: 60px;
    padding-bottom: 60px;
}

.contact_table th,.contact_table td {
    font-weight: 500;
	padding-bottom: 40px;
}

.contact_table th {
    width: 240px;
    padding-right: 80px;
    text-align: right;
    position: relative;
	padding-top: 5px;
}

.contact_table th ._required {
    position: absolute;
    font-size: 14px;
    padding: 2px 5px;
    color: #c1272d;
    border: 1px solid;
    line-height: 1;
    top: 10px;
    right: 30px;
}

.contact_table {
    width: 100%;
}

.contact_table input[type="text"], .contact_table input[type="tel"], .contact_table input[type="email"], .contact_table textarea {
    background-color: #cccccc;
    width: 100%;
    padding: 5px;
}

.contact_table input[name="zipcode"] {
    width: 172px;
    margin-bottom: 15px;
}

.contact_table td ._zipcode {
	display: inline-block;
	vertical-align: text-bottom;
	margin-right: 10px;
}

.postal-search {
    background-color: #000000;
    color: #fff;
    padding: 2px 10px;
    vertical-align: text-bottom;
    margin-left: 15px;
}

.contact_pricacy {
    max-width: 416px;
    margin: auto;
    text-align: center;
}

.contact_pricacy ._title {
    text-align: center;
    font-size: 20px;
    font-weight: 500;
}

.contact_pricacy ._content {
    font-size: 16px;
    font-weight: 400;
}

.contact_pricacy ._content a {
    color: #b11d2c;
}

.contact_form input[type="submit"] {
    width: 416px;
    max-width: 100%;
    margin: 20px auto 0;
    display: block;
    text-align: center;
    font-weight: 500;
    background-color: #b11d2c;
    color: #fff;
    transition: all 0.3s;
}

.contact_form input[type="submit"]:not(:disabled):hover {
    background-color: #242422;
    color: #b11d2c;
}

.wpcf7-spinner {
    display: block;
    margin: auto;
}

/**
* インタビュー
* ----------------------------------------------------------------------------
*/
.common_h2._interview ._add {
    font-size: 14px;
    margin-left: 20px;
}

.common_h2._interview .subtitle.en {
    font-weight: 100;
    font-size: 18px;
    margin-bottom: 30px;
}

.common_h2._interview .subtitle {
    margin-bottom: 5px;
    font-size: 17px;
}

.common_h2._interview .ja {
    font-size: 40px;
}

.recruit_main ._copy {
    font-size: 28px;
    font-weight: 500;
    margin-top: 40px;
	font-feature-settings: "palt";
}

.recruit_main._interview {
	margin-bottom: 100px;
}

.recruit_main._interview:after {
	content: "";
	position: absolute;
	top: calc(100% - 1px);
	left: 0;
	right: 0;
	height: 100px;
	background-color: #fff;
}

.interview_description {
	padding-bottom: calc(10vw + 60px);
	padding-top: 60px;
}

.interview_description .section_inner {
    background-color: #fff;
    padding: 60px;
}

.interview_qna {
    padding: 0 0 60px;
	overflow: hidden;
}

.interview_qna ._title {
    display: flex;
}

.interview_qna ._title ._photo {
    width: 70%;
}

.interview_qna ._title .common_h3 {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    padding-left: 7vw;
}

.interview_qna ._title ._photo img {
    width: 100%;
}

.interview_qna ._title .en {
    margin-bottom: 0;
}

.interview_qna .section_inner {
	background-color: #fff;
	padding: 60px;
	margin-top: -50px;
	max-width: min(1080px,calc(100vw - 160px));
}

.interview_qna .section_inner ._photo {
    position: relative;
    left: min(calc(30vw - 60px - ( (100vw - 1080px) / 2) ), calc(30vw - 140px));
    width: 70vw;
	margin-bottom: 40px;
}

.interview_qna .section_inner ._photo > img {
    width: 100%;
}

.interview_qna ._item {
    max-width: 810px;
    margin: 0 auto 40px;
    border: 1px solid #59c3e1;
    padding: 25px 40px;
	position: relative;
}

.interview_qna ._item:before {
	content: "";
	position: absolute;
	top: 12px;
	left: -22px;
	height: 45px;
	width: 45px;
	background-repeat: no-repeat;
	background-size: contain;
}
.interview_qna ._item._1:before {
	background-image: url(img/qna_icon1.svg);
}
.interview_qna ._item._2:before {
	background-image: url(img/qna_icon2.svg);
}
.interview_qna ._item._3:before {
	background-image: url(img/qna_icon3.svg);
}
.interview_qna ._item._4:before {
	background-image: url(img/qna_icon4.svg);
}

.interview_qna ._item:last-child {
    margin-bottom: 0;
}

.interview_qna ._item ._a {
    font-size: 14px;
    font-weight: 400;
}

.interview_qna ._item ._q {
    font-size: 20px;
    font-weight: 500;
    color: #212a6e;
    margin-bottom: 20px;
}

.interview_flow {
	padding-bottom: 0;
	background-size: 100%;
	padding-top: 24vw;
	background-repeat: no-repeat;
}

.interview_flow._01 {
	background-image: url(img/interview01_flow.png);
}
.interview_flow._02 {
	background-image: url(img/interview02_flow.png);
}
.interview_flow._03 {
	background-image: url(img/interview03_flow.png);
}
.interview_flow._04_1 {
	background-image: url(img/interview04_1_flow.png);
}
.interview_flow._04_2 {
	background-image: url(img/interview04_2_flow.png);
}

.interview_flow .section_inner {
	background-color: #fff;
	padding: 60px;
}

.interview_flow h3 {
	font-weight: 400;
	font-size: 28px;
	text-align: center;
	margin-bottom: 30px;
}

.interview_tab_btn button {
    display: flex;
    width: 300px;
    justify-content: space-between;
    align-items: center;
    height: 60px;
	position: relative;
}

.interview_tab_btn button:before, .interview_tab_btn button:after {
	position: absolute;
	content: "";
	height: 30px;
	width: 30px;
	right: 15px;
	top: calc( 50% - 15px );
	transition: all 0.3s;
}

.interview_tab_btn button:after {
	opacity: 0;
}

.interview_tab_btn li.active button:after {
	opacity: 1;
}

.interview_tab_btn li:nth-child(1) button:before {
	background-image: url(img/interview_tab_btn1.svg);
}
.interview_tab_btn li:nth-child(1) button:after {
	background-image: url(img/interview_tab_btn1_active.svg);
}

.interview_tab_btn li:nth-child(2) button:before {
	background-image: url(img/interview_tab_btn2.svg);
}
.interview_tab_btn li:nth-child(2) button:after {
	background-image: url(img/interview_tab_btn2_active.svg);
}

.interview_tab_btn {
    display: flex;
    width: 625px;
    margin: auto;
    justify-content: space-between;
}

.interview_tab_btn button ._txt {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    margin-right: 70px;
	padding-top: 2px;
}

.interview_tab_btn li:nth-child(1) {
    background-color: #59c3e1;
}

.interview_tab_btn li:nth-child(2) {
    background-color: #187fc4;
}

.interview_tab_btn button ._icon {
    margin-left: 40px;
    padding-top: 10px;
}

.interview_flow_list {
    max-width: 672px;
    margin: 60px auto 0;
	position: relative;
}

.interview_flow_list:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 30px;
	left: 60px;
	background-color: #d3edfb;
}

.interview_flow_list li {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
	position: relative;
	z-index: 2;
}

.interview_flow_list li ._title {
    width: 150px;
    height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #59c3e1;
    border-radius: 50%;
    border: 2px solid #fff;
    z-index: 2;
    position: relative;
}

.interview_flow_list li ._title ._time {
    font-size: 20px;
    font-weight: 500;
    color: #fff;
}

.interview_flow_list li ._title ._action {
    font-size: 16px;
    font-weight: 600;
    color: #187fc4;
    background-color: #fff;
    width: 125px;
    text-align: center;
    padding: 2px;
    border-radius: 12px;
    line-height: 1;
    margin-top: 5px;
    margin-bottom: 10px;
}

.interview_flow_list li ._content {
    flex: 1;
    height: 100px;
    display: flex;
    align-items: center;
    border: 3px solid #59c3e1;
    border-left: 0;
    border-radius: 0 15px 15px 0;
    margin-left: -20px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
	padding-left: 40px;
	padding-right: 5px;
}

.interview_tab_content > div:nth-child(2) .interview_flow_list li ._title {
	background-color: #187fc4;
}

.interview_tab_content > div:nth-child(2) {
	display: none;
}

.common_h2._interview:has(._note) .ja {
    margin-bottom: 5px;
}

.common_h2._interview ._note {
    font-size: 40px;
    font-feature-settings: "palt";
    font-weight: 400;
}

.common_h2._interview:has(._add_area) .ja {
    margin-bottom: 5px;
}

.common_h2._interview ._add_area ._add:first-child {
	margin-left: 0;
}

.recruit_main_inner._right {
	right: 13%;
	left: auto;
}

body._recruit .recruit_main_inner._right .common_h2 {
	text-align: right;
	margin-top: 50px;
}

body._recruit .recruit_main_inner._right ._copy {
	text-align: right;
}

.interview04_menu {
    padding-top: 0;
}

.interview04_menu .interview_tab_btn button {
    justify-content: end;
    text-align: right;
}

.interview04_menu h3 {
	color: #187fc4;
	font-size: 28px;
	font-weight: 400;
	text-align: center;
	margin-bottom: 40px;
}

._04_1 .interview_flow_list, ._04_2 .interview_flow_list {
    max-width: 780px;
}

.interview_tab_content > div:nth-child(2) ._04_2 .interview_flow_list li ._title {
    background-color: #59c3e1;
}


/**
* プライバシーポリシー
* ----------------------------------------------------------------------------
*/
.privacy_content ._title {
    margin-bottom: 0px;
}

.privacy_content ._content {
    font-feature-settings: "palt";
    letter-spacing: 1px;
    margin-left: 30px;
}

.privacy_content {
    padding-bottom: 160px;
}

/**
* 会社概要
* ----------------------------------------------------------------------------
*/
.company_main_inner {
	position: absolute;
	left: 15%;
	top: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 3;
}

.company_main_inner .common_h2 {
	position: relative;
	top: auto;
	left: auto;
}

.company_main_menu {
    margin-top: 40px;
	color: #fff;
}

.company_main_menu > li > a {
	font-size: 16px;
	font-weight: 400;
	border-bottom: 2px solid #b11d2c;
	position: relative;
	padding-bottom: 3px;
	display: block;
}

.company_main_menu > li > a:before {
	content: "";
	position: absolute;
	background-color: #b11d2c;
	bottom: -3px;
	left: -3px;
	height: 5px;
	width: 5px;
	border-radius: 50%;
}

.company_main_menu > li {
	margin-bottom: 20px;
}

.company_main_menu > li > ul li {
	margin-top: 10px;
}

.company_main_menu > li > ul {
	margin-top: 15px;
}

.company_main_menu > li > ul li a {
    display: flex;
	align-items: center;
}

.company_main_menu > li > ul li a:before {
	content: "";
	width: 15px;
	height: 15px;
	background-image: url(img/company_main_menu_icon.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position:center;
	margin-right: 4px;
}

.company_mc .section_inner, .company_ao .section_inner {
    background-color: #ffffff;
    color: #242422;
    padding: 15px 40px 60px 40px;
	z-index: 2;
}

.company_table {
    margin-top: 40px;
    width: 100%;
    line-height: 1.8;
}

.company_table th {
    width: 208px;
    font-size: 16px;
    font-weight: 500;
}

.company_table th, .company_table td {
    padding-top: 20px;
    position: relative;
    padding-bottom: 10px;
}

.company_table tr:first-child th:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 15px;
    height: 1px;
}

.company_table tr:first-child td:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #b3b3b3;
}

.company_table td {
    font-size: 14px;
    font-weight: 400;
    padding-left: 10px;
}

#mc .company_table th {
    color: #b11d2c;
}

#mc .company_table tr:first-child th:before {
	background-color: #b11d2c;
}

.company_mc .section_inner:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 75px;
    width: 100%;
    background: linear-gradient(to left, #a81e2c, #fff 55%);
}

#ao .company_table th {
    color: #f18a07;
}

#ao .company_table tr:first-child th:before {
	background-color: #f18a07;
}

.company_ao .section_inner:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 75px;
    width: 100%;
    background: linear-gradient(to left, #e88717, #fff 55%);
}



.company_mc h4 {
    font-size: 16px;
    font-weight: 500;
    color: #b11d2c;
    margin-top: 120px;
}

.company_mc_map {
    text-align: center;
}

.company_mc_map ._inner {
    display: inline-block;
	position: relative;
}

.company_mc_map ._left {
    position: absolute;
    right: 88%;
    top: 0;
    width: 300px;
    text-align: right;
    height: 100%;
}

.company_mc_map ._left ._item {
    position: absolute;
    right: 0;
}

.company_mc_map ._right {
    position: absolute;
    left: 80%;
    top: 0;
    width: 300px;
    text-align: left;
    height: 100%;
}

.company_mc_map ._item {
    font-size: 16px;
    font-weight: 600;
    padding: 5px;
    transition: all 0.3s;
}

.company_mc_map ._address {
    margin-top: 10px;
}

.company_mc_map ._tel {
    margin-top: 5px;
}

.company_mc_map ._note {
    font-size: 14px;
    font-weight: 400;
	margin-top: 3px;
}

.company_mc_map ._right ._item {
    position: absolute;
    left: 0;
}

.company_mc_map ._hover {
    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s;
}

.company_mc_map ._left ._item:nth-child(5) {
    top: 56%;
}

.company_mc_map ._left ._item:nth-child(4) {
    top: 43.7%;
}

.company_mc_map ._left ._item:nth-child(3) {
    top: 34.4%;
}

.company_mc_map ._left ._item:nth-child(2) {
    top: 23%;
}

.company_mc_map ._left ._item:nth-child(1) {
    top: 11.2%;
}

.company_mc_map ._right ._item:nth-child(5) {
    top: 87%;
}

.company_mc_map ._right ._item:nth-child(4) {
    top: 69%;
}

.company_mc_map ._right ._item:nth-child(3) {
    top: 52%;
}

.company_mc_map ._right ._item:nth-child(2) {
    top: 44.5%;
}

.company_mc_map ._right ._item:nth-child(1) {
    top: 31.5%;
}

.company_mc_map ._item:hover {
    background-color: #242422;
    color: #fff;
    z-index: 2;
}

.company_mc_map ._item:hover ._hover {
    opacity: 1;
    pointer-events: auto;
}

.company_mc {
	padding-bottom: 60px;
}

.company_mc:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 630px;
    background-color: #b11d2c;
}

.company_ao {
	padding-top: 60px;
}

.company_history {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: calc(12vw + 40px);
}

.company_history .section_inner {
	display: flex;
	max-width: 1240px;
	padding: 0 80px;
	margin-bottom: 40px;
}

.company_history_link {
    margin-left: 40px;
    display: flex;
}

.company_history_link a {
    display: block;
    position: relative;
}

.company_history_link ._txt {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 500;
}

.company_history_content {
	overflow-x: scroll;
    scrollbar-width: none;
}

.company_history_content ._inner {
    display: inline-block;
    position: relative;
}

.company_history_content ._inner img {
    height: 50vh;
    width: auto;
    max-width: none;
}

.company_history_content ._pos {
    position: absolute;
    top: 0;
    height: 100%;
    pointer-events: none;
}

.company_history_content ._pos#showa {
    left: 0;
    width: 11.6%;
}

.company_history_content ._pos#heisei {
    left: 11.8%;
    width: 75.5%;
}
.company_history_content ._pos#reiwa {
    left: 85.8%;
    right: 0;
}

/**
* レスポンシブ
* ----------------------------------------------------------------------------
*/

@media screen and  (max-width: 1200px) {
	.top_business_list li a {
		width: 57vw;
	}
	
	.top_business_list li:hover {
		width: 57vw;
	}

	.top_business_list:has(li:hover) li:not(:hover) {
		width: calc( (100% - 57vw - 4px ) / 2 );
	}

	.recruit_information_content ._item {
		font-size: 16px;
	}

	.recruit_information_content ._item._charm p {
		margin-top: 18%;
	}
}

@media screen and  (min-width: 961px) {
	.sp {
		display: none!important;
	}
}/* min-width: 961px */

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

	body {
		font-size: 14px;
	}
	
	p {
		line-height: 1.8;
	}

	.header {
		position: absolute;
		top: 20px;
		left: 30px;
		width: auto;
	}

	main section {
		padding: 50px 30px;
	}

	.header_sp_menu ._menu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 9999;
		background-color: #242422;
		color: #fff;
		padding: 20px 30px;
		clip-path: circle(0px at calc(100% - 50px) 40px);
		transition: clip-path 0.8s ease-in-out;
		overflow: auto;
	}
	
	.header_sp_menu.active ._menu {
		clip-path: circle(max(120vw, 150vh) at min(calc(100% - ((100% - 1120px) / 2) - 21px), calc(100% - 52px)) 52px);
	}

	.header_sp_menu ._menu ._logo {
		text-align: right;
		margin-right: 80px;
	}

	.header_sp_menu ._menu > ul {
		margin-top: 30px;
		max-width: 282px;
		margin: 30px auto 0;
		text-align: center;
		font-weight: 400;
		font-size: 15px;
	}

	.header_sp_menu ._menu > ul > li {
		padding: 20px 10px;
		border-top: 1px solid #b11d2c;
		position: relative;
	}

	.header_sp_menu ._menu > ul > li > ul {
		font-size: 12px;
		display: none;
	}

	.header_sp_menu ._menu > ul > li > ul > li {
		margin-top: 10px;
	}
	
	.header_sp_menu ._menu > ul > li > ul > li:first-child {
		margin-top: 25px;
	}

	.header_sp_menu ._menu > ul > li._btn._general a {
		background-color: #b11d2c;
		border-radius: 5px;
		padding: 20px 10px;
		display: block;
	}

	.header_sp_menu ._menu > ul > li._btn {
		padding: 0;
		margin-top: 10px;
		border-top: 0;
	}

	.header_sp_menu ._menu > ul > li:first-child,.header_sp_menu ._menu > ul > li:last-child {
		border-top: 0;
	}

	.header_sp_menu ._menu > ul > li._btn._form a {
		color: #b11d2c;
		background-color: #fff;
		border-radius: 5px;
		padding: 20px 10px;
		display: block;
	}
	
	.header_sp_menu > ._btn {
		position: fixed;
		z-index: 10000;
		width: 40px;
		height: 40px;
		background-color: #b11d2c;
		right: 30px;
		top: 20px;
		border-radius: 50%;
		transition: all 0.3s;
	}

	.header_sp_menu > ._btn > span {
		width: 16px;
		height: 1px;
		position: absolute;
		content: "";
		left: calc(50% - 8px);
		background-color: #fff;
		transition: all 0.3s;
	}

	.header_sp_menu > ._btn > span:nth-child(1) {
		top: calc(50% - 4px);
	}

	.header_sp_menu > ._btn > span:nth-child(2) {
		top: 50%;
	}

	.header_sp_menu > ._btn > span:nth-child(3) {
		top: calc(50% + 4px);
	}

	.header_sp_menu.active > ._btn {
		background-color: #fff;
	}

	.header_sp_menu.active > ._btn > span {
		background-color: #142062;
	}

	.header_sp_menu.active > ._btn > span:nth-child(1) {
		transform: rotate(45deg);
		top: 50%;
	}

	.header_sp_menu.active > ._btn > span:nth-child(2) {
		transform: rotate(-45deg);
	}

	.header_sp_menu.active > ._btn > span:nth-child(3) {
		opacity: 0;
	}

	.header_sp_menu ._menu > ul > li > button {
		position: absolute;
		width: 15px;
		height: 15px;
		right: 10px;
		top: 21px;
	}

	.header_sp_menu ._menu > ul > li > button > span:nth-child(1) {
		position: absolute;
		content: "";
		width: 1px;
		height: 100%;
		background-color: #fff;
		top: 0;
		left: 7px;
		transition: all 0.3s;
	}
	
	.header_sp_menu ._menu > ul > li > button.active > span:nth-child(1) {
		opacity: 0;
	}

	.header_sp_menu ._menu > ul > li > button > span:nth-child(2) {
		position: absolute;
		content: "";
		width: 100%;
		height: 1px;
		background-color: #fff;
		top: 7px;
		left: 0;
	}

	.top_main_video {
		overflow: hidden;
	}
	.top_main_video video {
		width: 130%;
		margin-left: -15%;
	}

	.top_main_about img {
		width: 130px;
	}

	.top_main_about {
		bottom: 0;
		right: 0;
	}

	.top_news .section_inner {
		flex-direction: column;
	}

	.top_news .section_inner:before {
		display: none;
	}

	.top_news h3 {
		width: 100%;
		text-align: center;
		font-size: 25px;
		margin-bottom: 25px;
	}

	.top_news_content > div {
		flex-direction: column;
	}

	.top_news_content > div:nth-child(1) {
		margin-bottom: 40px;
	}

	.top_news_content h4 {
		font-size: 14px;
		width: 100%;
		border-bottom: 1px solid #b11d2c;
		padding-bottom: 5px;
		margin-bottom: 20px;
	}

	.top_news_list_title {
		font-size: 14px;
	}

	.top_news_list li a {
		padding-bottom: 10px;
	}

	.top_news_ichiran_link a {
		font-size: 12px;
	}

	.top_news_list li {
		margin-bottom: 15px;
	}

	.top_business {
		padding-top: 40px;
	}

	.top_business_header:before {
		top: -20px;
		left: -30px;
		right: -30px;
	}

	.top_business_header .section_inner > * {
		width: 100%;
	}

	.common_h3 .ja {
		font-size: 18px;
		margin-bottom: 3px;
		letter-spacing: 1px;
	}

	.common_h3 .en {
		font-size: 10px;
	}

	.top_business_header .common_h3 {
		text-align: center;
	}

	.common_h3 .en {
		margin-bottom: 20px;
	}

	.top_business_header .section_inner:after {
		height: 92px;
		top: 0;
		bottom: auto;
		left: 0;
		right: 0;
		width: 100%;
		background-position: center;
	}

	.top_business_header .section_inner {
		padding-top: 115px;
	}

	.top_business_header p {
		margin: auto;
		max-width: 460px;
	}

	.top_business_header {
		margin-bottom: 20px;
	}

	.top_business_list {
		flex-direction: column;
		align-items: center;
	}

	.top_business_list li {
		width: 290px!important;
	}

	.top_business_list li a {
		width: 100%;
		flex-direction: column;
		justify-content: center;
		height: 370px;
		padding: 0 15px 30px;
	}

	.top_business_list li a > * {
		width: 100%;
	}

	.top_business_list h4 .ja {
		font-size: 18px;
	}

	.top_business_list h4 .en {
		font-size: 12px;
		margin-top: 5px;
	}

	.top_business_list li a > p {
		max-height: 0px;
		overflow: hidden;
		padding: 0;
		font-size: 13px;
		margin-top: 10px;
		line-height: 1.6;
		transition:  all 0.8s;
	}
	
	.top_business_list li.active a > p {
		max-height: 290px;
	}

	.top_business_list li {
		margin-bottom: 5px;
	}

	.top_business_list li a:before {
		width: 112px;
		height: 18px;
		bottom: 10px;
		left: calc(50% - 56px);
		transition: all 0.8s;
	}

	.top_business_list:has(li:hover) li:not(:hover) a > * {
		opacity: 1;
	}

	.top_business_list:has(li:hover) li:not(:hover) {
		filter: none;
	}

	.top_business_list li:nth-child(2):hover a {
		background-position: center;
	}

	.top_business_list li:nth-child(2) a {
		background-position: center;
	}
	
	.top_business_list li.active a:before {
		opacity: 1;
	}

	.top_business_link {
		margin-top: 25px;
		max-width: 290px;
		margin: 25px auto 0;
	}

	.top_business_link li {
		width: 100%;
		margin-top: 5px;
		border: 0!important;
	}

	.top_business_link li a {
		height: 60px;
	}

	.top_business_link li a img {
		max-height: 90%;
		width: auto;
	}

	.top_business_link li:nth-child(1) a img {
		width: 205px;
	}

	.top_business_link li:nth-child(3) a img {
		width: 160px;
	}

	.top_sponsor p {
		font-size: 15px;
	}

	.top_sponsor p > span {
		font-size: 16px;
	}

	.top_sponsor_link {
		margin-bottom: 40px;
		justify-content: center;
	}

	.top_sponsor_link li:nth-child(1) {
		margin-right: 10px;
	}

	.footer {
		padding: 30px 10px 10px;
	}

	.footer .common_h3 {
		text-align: center;
	}

	.footer_row {
		flex-direction: column;
		margin-bottom: 30px;
	}

	.footer_btn_list {
		margin: auto;
		justify-content: center;
	}

	.footer_btn_list li {
		flex: none;
		font-size: 10px;
	}

	.footer_btn_list li:nth-child(n + 2) {
		margin-left: 15px;
	}

	.footer_btn_list li img {
		width: 40px;
	}

	.footer_logo img {
		width: 180px;
	}

	.footer_logo {
		text-align: center;
	}

	.footer_logo {
		margin-top: 40px;
		margin-bottom: 0px;
	}

	.footer_copyright a {
		font-size: 10px;
	}

	.footer_copyright {
		font-size: 10px;
	}
	
	.common_h2 .ja {
		font-size: 18px;
		line-height: 1.3;
	}

	.common_h2 .en {
		font-size: 11px;
	}

	.common_main .common_h2 {
		top: 40%;
		left: 10%;
	}

	._about .common_main_bg img {
		width: 120%;
		max-width: 120%;
		margin-left: -20%;
	}

	.common_main_bg {
		overflow: hidden;
	}

	.about_us {
		padding-top: 20px;
		padding-bottom: 50px;
	}

	.about_us h3 {
		font-size: 16px;
		text-align: center;
		margin-bottom: 15px;
	}

	.about_us .medium {
		font-size: 14px;
	}

	.about_us p {
		font-size: 14px;
	}
	
	.about_message:after {
		display: none;
	}

	.about_message:before {
		height: 20px;
	}

	.about_message {
		padding-left: 30px;
		padding-right: 30px;
	}

	.about_message p.medium {
		font-size: 18px;
		margin-top: 40px;
	}

	.about_message_photo_txt ._company {
		font-size: 10px;
		margin-bottom: 8px;
		line-height: 1.2;
	}

	.about_message_photo_txt ._name {
		font-weight: 400;
	}
	
	.about_message {
		background-image: url(img/about_message_photo_sp.png);
		background-repeat: no-repeat;
		background-position: top 20px right;
		background-size: auto 240px;
	}
	
	.about_profile .section_inner {
		flex-direction: column;
	}

	.about_profile h3:before {
		display: none;
	}

	.about_profile h3 {
		width: 100%;
		flex-direction: row;
		align-items: center;
		padding-bottom: 10px;
	}

	.about_profile h3:after {
		position: relative;
		order: 0;
		top: auto;
		right: auto;
		width: 40px;
		height: 40px;
		background-repeat: no-repeat;
		margin-right: 5px;
	}

	.about_profile h3 span {
		order: 1;
		margin-bottom: 0!important;
		font-size: 14px!important;
	}

	.about_profile {
		padding: 0;
	}

	.about_profile .section_inner > div {
		flex-direction: column;
		padding: 50px 30px;
	}

	.about_profile_list:nth-child(1):before {
		top: -50px;
	}

	.about_profile_list:nth-child(2):before {
		bottom: -50px;
	}

	.about_profile_list {
		width: 450px;
		margin: auto;
		max-width: 100%;
	}

	.about_movie_thumb {
		margin-left: -30px;
		margin-right: -30px;
	}

	.about_movie_thumb:before {
		width: 50px;
		height: 50px;
		top: calc(50% - 25px);
		left: calc(50% - 25px);
	}

	.about_movie_modal video {
		width: 95%;
	}

	.common_h2 .subtitle {
		font-size: 11px;
		margin-bottom: 10px;
	}

	.common_h2:has(.subtitle) .ja {
		margin-bottom: 15px;
	}

	.business_flow_list {
		flex-direction: column;
		max-width: 240px;
		margin: 40px auto 0;
	}

	.business_flow_list li {
		width: 240px;
		height: 45px;
		margin-left: 0;
		padding-left: 0;
		padding-bottom: 9px;
		justify-content: center;
		margin-bottom: 20px;
		background-image: url(img/business_flow_bg_sp.svg);
	}
	
	.food_flow .business_flow_list li {
		background-image: url(img/business_flow_bg_sp.svg);
	}

	.business_flow_list li ._icon {
		position: absolute;
		right: calc(100% - 20px);
		width: 40px;
		height: 40px;
		margin-right: 0;
		top: 0px;
	}

	.business_flow_list li:last-child {
		margin-bottom: 0;
	}
	
	.business_meatpacking:before {
		height: 20px;
	}
	
	.business_meatpacking:after {
		position: absolute;
		content: "";
		right: 0;
		bottom: 0;
		z-index: 1;
		width: max(150px, 33%);
		height: 100%;
		background-image: url(img/business_meatpacking_bg_sp2.png);
		background-repeat: no-repeat;
		background-position: right bottom;
		background-size: 100%;
	}

	.business_meatpacking .section_inner {
		z-index: 2;
	}

	.business_meatpacking p {
		max-width: 420px;
	}

	.business_meatpacking {
		background-image: url(img/business_meatpacking_bg_sp1.png);
		background-position: top 20px left;
		background-size: 100%;
		padding-bottom: 100px;
	}
	
	.business_meatpacking_map {
		z-index: 2;
	}
	
	.business_meatpacking_map h3 .red {
		font-size: 18px;
	}

	.business_meatpacking_map h3 {
		translate: 0 -3vw;
		font-size: 12px;
	}

	.business_meatpacking_map_btn ._txt {
		font-size: 10px;
		right: 20%;
		top: calc(50% - 5px);
	}

	.business_meatpacking_map_detail li:nth-child(n+8) {
		margin-top: 0;
	}

	.business_meatpacking_map_detail {
		margin-top: 30px;
		max-width: 500px;
		justify-content: space-between;
	}

	.business_meatpacking_map_detail li {
		width: 32%;
		min-height: 0;
		margin-bottom: 40px;
	}

	.business_meatpacking_map_detail ._chihou {
		width: 80%;
		font-size: 12px;
	}

	.business_meatpacking_map_detail ._todofuken {
		font-size: 12px;
		margin-top: 10px;
	}

	.business_meatpacking_map_detail ._brand {
		font-size: 10px;
	}

	.business_meatpacking_map_detail li:nth-child(5) {
		order: 1;
	}

	.business_meatpacking_map_detail li:nth-child(6) {
		order: 2;
	}

	.business_meatpacking_map_detail li:nth-child(7) {
		order: 3;
	}

	.business_meatpacking_map_detail li:nth-child(2) {
		order: 4;
	}

	.business_meatpacking_map_detail li:nth-child(3) {
		order: 5;
	}

	.business_meatpacking_map_detail li:nth-child(4) {
		order: 6;
	}

	.business_meatpacking_map_detail li:nth-child(8) {
		order: 7;
	}

	.business_meatpacking_map_detail li:nth-child(9) {
		order: 8;
	}

	.business_meatpacking_map_detail li:nth-child(1) {
		order: 9;
	}

	.business_tokyox .section_inner {
		padding: 10px 10px 0;
	}

	.business_tokyox_icon {
		flex: 1;
		text-align: right;
		margin-right: -15px;
		margin-left: 10px;
	}

	.business_tokyox_icon img {
		width: 160px;
	}

	.business_tokyox .common_link_btn img {
		width: 160px;
	}

	.common_link_btn a {
		height: 60px;
	}

	.business_tokyox {
		padding-bottom: 50px;
	}

	.business_tokyox:after {
		height: 20px;
	}

	.business_overseas_icon {
		position: absolute;
		bottom: 100%;
		width: 100px;
		right: 0;
	}

	.business_overseas_content {
		position: relative;
		padding-top: 20px;
		margin-bottom: 30px;
	}

	.business_overseas {
		padding-top: 40px;
		padding-bottom: 12vw;
	}

	.business_overseas .common_link_btn img {
		width: 270px;
	}

}/* max-width: 960px */


@media screen and  (max-width: 500px) {
	.about_message {
		background-size: auto 190px;
	}
}/* max-width: 500px */