@charset "UTF-8";
/**

  Responsive Functions

*/
/**

  Assets Functions
  Example:

    background: #000000 image('btn/btn.png') no-repeat 0 0;

*/
/**

  Test Colors

*/
/**

  Background Colors

*/
/**

  Border Colors

*/
/**
$bp-xxs-min: 359;
$bp-xs-min: 480;
$bp-s-min: 640;
$bp-m-min: 768; // iPad portrait
$bp-l-min: 1024; // iPad landscape
$bp-xl-min: 1244; // 1280px screen resolution minus scrollbars
$bp-xxl-min: 1410; // 1440px screen resolution minus scrollbars
*/
/**

  Font Size Settings

*/
/**

  Responsiveness Settings

*/
/**

  Size Settings

*/
/**

  Transition Common Mixins

  Example:

    @include transition-common;
    @include transition-property(opacity);
    @include transition-duration(0.4s);
    @include transition-timing-function($ease-out-quart);

*/
/**

  Animation Common Mixins

  Example:

    @include keyframes(some-animation-name) {

    }

    @include set-animation($name: some-animation-name, $duration: 0.75s ,$easing: $ease-in-out-quad);
*/
/**

  Common Mixins

*/
/**

  mediaquery Mixins

*/
/* global */
/**
 * Breakpoints for JavaScript. Works with the Deloitte Digital SCSS @bp mixin
 *
 * @version 1.0.0
 * @copyright 2012-2014 Deloitte Digital Australia - http://www.deloittedigital.com/au
 * @author Deloitte Digital Australia deloittedigital@deloitte.com.au
 * @license BSD 3-Clause (http://opensource.org/licenses/BSD-3-Clause)
 */
@import "//fonts.googleapis.com/earlyaccess/notosansjapanese.css";
.input {
  font-size: 14px;
  appearance: none;
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 0.9rem;
  padding: 0.9rem;
  background: #fff;
  border: 1px solid #bbb;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
  border-radius: 3px;
  outline: none;
  resize: vertical;
  transition: border-color 0.3s ease;
}
.input[disabled] {
  border-color: #c8c8c8;
  background-color: #f2f2f2;
  box-shadow: none;
  cursor: not-allowed;
}
.input:focus {
  border-color: #0c69d6;
}

.control {
  margin: 0 0 0.9rem;
  box-sizing: border-box;
}
.control__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.control__label {
  display: block;
  position: relative;
  padding-left: calc(20px + 0.6rem);
  will-change: transform;
}
.control__label::before,
.control__label::after {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid transparent;
}
.control__label::before {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  left: 0;
  width: 20px;
  height: 20px;
  border-color: #bbb;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
  background: #fff;
  background-size: 0;
}
.control__label::after {
  background-size: 60%;
  background-repeat: no-repeat;
  background-position: center;
  transform: scale(0);
  transition: transform 0.3s ease;
  will-change: transform;
}
.control__input[type="radio"] + .control__label::before {
  border-radius: 100%;
}
.control__input[type="radio"] + .control__label::after {
  background-image: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M256%2C464c114.9%2C0%2C208-93.1%2C208-208c0-114.9-93.1-208-208-208C141.1%2C48%2C48%2C141.1%2C48%2C256C48%2C370.9%2C141.1%2C464%2C256%2C464z%22/%3E%3C/svg%3E");
}
.control__input[type="checkbox"] + .control__label::after {
  background-image: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M461.6%2C109.6l-54.9-43.3c-1.7-1.4-3.8-2.4-6.2-2.4c-2.4%2C0-4.6%2C1-6.3%2C2.5L194.5%2C323c0%2C0-78.5-75.5-80.7-77.7c-2.2-2.2-5.1-5.9-9.5-5.9c-4.4%2C0-6.4%2C3.1-8.7%2C5.4c-1.7%2C1.8-29.7%2C31.2-43.5%2C45.8c-0.8%2C0.9-1.3%2C1.4-2%2C2.1c-1.2%2C1.7-2%2C3.6-2%2C5.7c0%2C2.2%2C0.8%2C4%2C2%2C5.7l2.8%2C2.6c0%2C0%2C139.3%2C133.8%2C141.6%2C136.1c2.3%2C2.3%2C5.1%2C5.2%2C9.2%2C5.2c4%2C0%2C7.3-4.3%2C9.2-6.2L462%2C121.8c1.2-1.7%2C2-3.6%2C2-5.8C464%2C113.5%2C463%2C111.4%2C461.6%2C109.6z%22/%3E%3C/svg%3E");
}
.control__input[type="radio"][disabled] + .control__label,
.control__input[type="checkbox"][disabled] + .control__label {
  cursor: not-allowed;
}
.control__input[type="radio"][disabled] + .control__label::before,
.control__input[type="checkbox"][disabled] + .control__label::before {
  border-color: #c8c8c8;
  background-color: #f2f2f2;
  box-shadow: none;
}
.control__input:checked + .control__label::after {
  transform: scale(1);
}

.select {
  appearance: none;
  box-sizing: border-box;
  margin: 0 0 0.9rem;
  padding: 0.6rem;
  width: 100%;
  background: #fff;
  background-image: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M256%2C298.3L256%2C298.3L256%2C298.3l174.2-167.2c4.3-4.2%2C11.4-4.1%2C15.8%2C0.2l30.6%2C29.9c4.4%2C4.3%2C4.5%2C11.3%2C0.2%2C15.5L264.1%2C380.9c-2.2%2C2.2-5.2%2C3.2-8.1%2C3c-3%2C0.1-5.9-0.9-8.1-3L35.2%2C176.7c-4.3-4.2-4.2-11.2%2C0.2-15.5L66%2C131.3c4.4-4.3%2C11.5-4.4%2C15.8-0.2L256%2C298.3z%22/%3E%3C/svg%3E");
  background-size: 12px;
  background-repeat: no-repeat;
  background-position: calc(100% - 0.6rem) center;
  border: 1px solid #bbb;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
  border-radius: 0;
  outline: 0;
}
.select[disabled] {
  border-color: #c8c8c8;
  background-color: #f2f2f2;
  box-shadow: none;
  cursor: not-allowed;
}
.select:focus {
  border-color: #0c69d6;
}
.select::-ms-expand {
  display: none;
}

/* http://meyerweb.com/eric/tools/css/reset/
 * v2.0 | 20110126
 * License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

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

/**

  fonts

*/
small {
  font-size: 12px;
}

strong {
  font-weight: bold;
}

* {
  box-sizing: border-box;
}

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

img[src$=".svg"] {
  width: 100%;
}

a {
  color: #000;
}

html {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
  overflow-y: scroll;
}

body {
  width: 100%;
  height: auto;
  font-size: 14px;
  font-family:
    "Noto Sans Japanese", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka,
    "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 300;
  background: #ffffff;
  color: #000;
  line-height: 1.6;
  -webkit-text-size-adjust: none;
}

@media screen and (max-width: 1024px) {
  .u-br--sp {
    display: block;
  }
}

.u-br--pc {
  display: block;
}
@media screen and (max-width: 1024px) {
  .u-br--pc {
    display: inline;
  }
}

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

.u-device-sp {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u-device-sp {
    display: block !important;
  }
}

.u-device-sp--in {
  display: none;
}
@media (max-width: 64em) {
  .u-device-sp--in {
    display: inline;
  }
}

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

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

.u-border--bottom {
  border-bottom: solid 1px #f2f2f2;
  padding-bottom: 70px !important;
}

.c-button,
.c-button--primary,
.p-contact .c-button--back,
.p-contact .c-button--send,
.p-multilingual__inquiry__form .c-button--back,
.p-multilingual__inquiry__form .c-button--send,
.p-contact .c-button--address,
.p-multilingual__inquiry__form .c-button--address {
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  user-select: none;
  text-decoration: none;
  transition: all 0.1s ease;
  position: relative;
  padding-top: 10px;
  padding-bottom: 10px;
}
@media screen and (max-width: 1024px) {
  .c-button,
  .c-button--primary,
  .p-contact .c-button--back,
  .p-contact .c-button--send,
  .p-multilingual__inquiry__form .c-button--back,
  .p-multilingual__inquiry__form .c-button--send,
  .p-contact .c-button--address,
  .p-multilingual__inquiry__form .c-button--address {
    font-size: 11px;
  }
}
.c-button--primary,
.p-contact .c-button--back,
.p-contact .c-button--send,
.p-multilingual__inquiry__form .c-button--back,
.p-multilingual__inquiry__form .c-button--send {
  border-radius: 200px;
  font-family: "Noto Sans Japanese";
  font-weight: 700;
  color: #e60012;
  background: transparent;
  border: 2px solid #e60012;
}
.c-button--primary::after,
.p-contact .c-button--back::after,
.p-contact .c-button--send::after,
.p-multilingual__inquiry__form .c-button--back::after,
.p-multilingual__inquiry__form .c-button--send::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/commons/icon-primary-arrow.svg") no-repeat center center;
  background-size: contain;
  width: 10px;
  height: 16px;
  right: 12px;
  top: 50%;
  margin-top: -8px;
}
.c-button--primary:hover,
.p-contact .c-button--back:hover,
.p-contact .c-button--send:hover,
.p-multilingual__inquiry__form .c-button--back:hover,
.p-multilingual__inquiry__form .c-button--send:hover {
  background: #e60012;
  color: #fff;
}
.c-button--primary:hover::after,
.p-contact .c-button--back:hover::after,
.p-contact .c-button--send:hover::after,
.p-multilingual__inquiry__form .c-button--back:hover::after,
.p-multilingual__inquiry__form .c-button--send:hover::after {
  background: url("../images/commons/icon-primary-arrow-white.svg") no-repeat center center;
  background-size: contain;
}

.c-subPage__topicPath {
  background: #e60012;
  padding: 8px 17px 10px;
}
.c-subPage__topicPath ul {
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .c-subPage__topicPath {
    padding: 18px 87px 21px;
  }
}
.c-subPage__topicPath ul li {
  display: inline-block;
  color: #fff;
  font-size: 12px;
  font-weight: 400;
}
.c-subPage__topicPath ul li::after {
  content: ">";
  display: inline-block;
  padding: 0 6px 0 10px;
  position: relative;
  top: -1px;
}
.c-subPage__topicPath ul li:last-child::after {
  content: none;
}
.c-subPage__topicPath ul li a {
  color: #fff;
  text-decoration: none;
}
.c-subPage__topicPath ul li a:hover {
  text-decoration: underline;
}

.c-subPage__mainvisual {
  width: 100%;
  margin-bottom: 30px;
  position: relative;
}
.c-subPage__mainvisual::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  background: url("../images/commons/mainvisual-mask.png") no-repeat left bottom;
  background-size: cover;
  width: 100%;
  height: 140px;
}
@media screen and (max-width: 1024px) {
  .c-subPage__mainvisual::after {
    background: url("../images/commons/sp-mainvisual-mask.png") no-repeat left top;
    background-size: cover;
    height: 57px;
  }
}
.c-subPage__mainvisual img {
  width: 100%;
}
.c-subPage__mainvisual__hgroup {
  position: absolute;
  text-align: center;
  width: 100%;
  top: 30%;
  z-index: 1;
  font-family: "Noto Sans Japanese";
}
.c-subPage__mainvisual__hgroup h1 {
  font-size: 45px;
  color: #fff;
  text-shadow: 0px 0px 10px #000;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .c-subPage__mainvisual__hgroup h1 {
    font-size: 32px;
  }
}
.c-subPage__mainvisual__hgroup p {
  font-size: 16px;
  color: #e60012;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .c-subPage__mainvisual__hgroup p {
    font-size: 13px;
  }
}

.c-subPage__content {
  width: 942px;
  margin: 0 auto 60px;
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  align-content: flex-start;
}
@media screen and (max-width: 1024px) {
  .c-subPage__content {
    width: 100%;
    flex-direction: column;
  }
}
.c-subPage__content__main {
  width: 650px;
}
@media screen and (max-width: 1024px) {
  .c-subPage__content__main {
    width: 100%;
    padding: 0 20px;
  }
}
.c-subPage__content__main--column1 {
  width: 942px;
}
@media screen and (max-width: 1024px) {
  .c-subPage__content__main--column1 {
    width: 100%;
    padding: 0 20px;
  }
}
.c-subPage__content__main section {
  margin-bottom: 60px;
  padding: 0 20px;
}
@media screen and (max-width: 1024px) {
  .c-subPage__content__main section {
    padding: 0 4px;
    margin-bottom: 40px;
  }
}
.c-subPage__content__main section > section {
  margin-bottom: 20px;
}
.c-subPage__content__main p {
  margin-bottom: 40px;
  line-height: 2;
}
.c-subPage__content__main p img {
  display: block;
  margin: 0 auto;
}
.c-subPage__content__main ul li {
  margin-bottom: 4px;
  position: relative;
  padding-left: 16px;
}
.c-subPage__content__main ul li::before {
  content: "";
  display: block;
  position: absolute;
  background: #000;
  width: 3px;
  height: 3px;
  top: calc(50% - 2px);
  left: 5px;
  border-radius: 5px;
}
.c-subPage__content__main nav {
  text-align: center;
  margin-bottom: 40px;
}
.c-subPage__content__main nav .c-button--primary,
.c-subPage__content__main nav .p-contact .c-button--back,
.p-contact .c-subPage__content__main nav .c-button--back,
.c-subPage__content__main nav .p-contact .c-button--send,
.p-contact .c-subPage__content__main nav .c-button--send,
.c-subPage__content__main nav .p-multilingual__inquiry__form .c-button--back,
.p-multilingual__inquiry__form .c-subPage__content__main nav .c-button--back,
.c-subPage__content__main nav .p-multilingual__inquiry__form .c-button--send,
.p-multilingual__inquiry__form .c-subPage__content__main nav .c-button--send {
  padding-left: 60px;
  padding-right: 60px;
}
@media screen and (max-width: 1024px) {
  .c-subPage__content__main nav .c-button--primary,
  .c-subPage__content__main nav .p-contact .c-button--back,
  .p-contact .c-subPage__content__main nav .c-button--back,
  .c-subPage__content__main nav .p-contact .c-button--send,
  .p-contact .c-subPage__content__main nav .c-button--send,
  .c-subPage__content__main nav .p-multilingual__inquiry__form .c-button--back,
  .p-multilingual__inquiry__form .c-subPage__content__main nav .c-button--back,
  .c-subPage__content__main nav .p-multilingual__inquiry__form .c-button--send,
  .p-multilingual__inquiry__form .c-subPage__content__main nav .c-button--send {
    width: 100%;
    padding-left: initial;
    padding-right: initial;
  }
}
.c-subPage__content__main hr {
  height: 1px;
  border: 0;
  background: #e5e5e5;
  margin: 30px 0 40px;
}
.c-subPage__content__sub {
  width: 220px;
}
@media screen and (max-width: 1024px) {
  .c-subPage__content__sub {
    width: 100%;
    padding: 0 20px;
  }
}

.c-subPage__columns {
  -js-display: flex;
  display: flex;
  justify-content: space-between;
}
.c-subPage__columns img {
  max-width: inherit;
}
@media screen and (max-width: 1024px) {
  .c-subPage__columns {
    flex-wrap: wrap;
  }
}

.c-subPage__column + .c-subPage__column {
  padding-left: 20px;
}
@media screen and (max-width: 1024px) {
  .c-subPage__column + .c-subPage__column {
    padding-left: 0;
  }
}

.c-subPage__sidebar {
  border: 1px solid #e5e5e5;
}
.c-subPage__sidebar__header {
  font-size: 16px;
  text-align: center;
  padding: 14px 30px;
  border-bottom: 1px solid #e5e5e5;
}
.c-subPage__sidebar__body a,
.c-subPage__sidebar__body span {
  font-size: 12px;
  display: block;
  padding: 14px 20px 14px 34px;
  border-bottom: 1px dotted #e5e5e5;
  position: relative;
  text-decoration: none;
}
.c-subPage__sidebar__body a:hover,
.c-subPage__sidebar__body a.active,
.c-subPage__sidebar__body span:hover,
.c-subPage__sidebar__body span.active {
  color: #e60012;
}
.c-subPage__sidebar__body a::before,
.c-subPage__sidebar__body span::before {
  content: "";
  width: 15px;
  height: 15px;
  background: url("../images/commons/icon-list.svg") no-repeat left top;
  background-size: contain;
  position: absolute;
  display: block;
  left: 10px;
  top: 50%;
  margin-top: -7px;
}
.c-subPage__sidebar__body a:last-child,
.c-subPage__sidebar__body span:last-child {
  border-bottom: none;
}

.c-subPage__h2 {
  font-size: 25px;
  font-family: "Noto Sans Japanese";
  font-weight: 500;
  position: relative;
  padding-bottom: 8px;
  margin-bottom: 30px;
  left: 20px;
}
.c-subPage__h2::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  background: #e8e8e8;
  bottom: 0;
  left: -20px;
}
.c-subPage__h2::after {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 23px;
  background: #e60012;
  top: 8px;
  left: -15px;
  -moz-transform: skewX(-22deg);
  -webkit-transform: skewX(-22deg);
  -o-transform: skewX(-22deg);
  -ms-transform: skewX(-22deg);
}
.c-subPage__h2 #anchor1,
.c-subPage__h2 #anchor2,
.c-subPage__h2 #anchor3 {
  position: absolute;
  top: -90px;
}

.c-subPage__h3 {
  font-size: 20px;
  font-family: "Noto Sans Japanese";
  font-weight: 500;
  margin-bottom: 10px;
}

.c-subPage__h4 {
  font-size: 16px;
  font-family: "Noto Sans Japanese";
  font-weight: 500;
  margin-bottom: 6px;
}

.c-subPage__h5 {
  font-size: 14px;
  font-family: "Noto Sans Japanese";
  font-weight: 500;
  margin-bottom: 6px;
}

.c-subPage__sign p {
  font-size: 18px;
  font-family: "Noto Sans Japanese";
  font-weight: 500;
  margin-bottom: 5px;
  text-align: right;
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .c-subPage__sign p {
    font-size: 20px;
  }
}

.c-subPage__sign {
  margin-top: 60px;
}

.c-subPage__sign picture {
  display: block;
  max-width: 330px;
  margin-left: auto;
}

.c-subPage__sign picture img {
  width: 100%;
  height: auto;
}

.c-subPage__option {
  padding: 40px;
  margin-bottom: 40px;
  border: 1px solid #e5e5e5;
  background: #fffcf3;
}
.c-subPage__option p {
  margin-bottom: 0;
}

.c-subPage__table {
  width: 100%;
  border: 1px solid #e5e5e5;
  margin-bottom: 20px;
  font-size: 12px;
}
.c-subPage__table th,
.c-subPage__table td {
  padding: 10px 15px;
  border: 1px solid #e5e5e5;
  text-align: left;
}
.c-subPage__table th {
  width: 30%;
  background: #fffcf3;
}

.c-subPage__anchorNav {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .c-subPage__anchorNav {
    flex-wrap: wrap;
    flex-direction: column;
  }
}
.c-subPage__anchorNav a {
  border: 1px solid #e5e5e5;
  width: 32%;
  text-decoration: none;
  padding: 14px 40px 14px 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .c-subPage__anchorNav a {
    width: 100%;
    margin-bottom: 10px;
    border-radius: 6px;
  }
  .c-subPage__anchorNav a br {
    display: none;
  }
}
.c-subPage__anchorNav a::after {
  content: "";
  width: 15px;
  height: 15px;
  background: url("../images/commons/icon-list.svg") no-repeat left top;
  background-size: contain;
  position: absolute;
  display: block;
  right: 15px;
  top: 50%;
  margin-top: -7px;
  transform: rotate(90deg);
}

.p-news--detail .c-subPage__content__main section p img {
  width: 100%;
}

.p-news--detail .c-subPage__content__main section p a {
  border-bottom: solid 1px #e60012;
  color: #e60012;
  position: relative;
  padding-bottom: 6px;
  text-decoration: none;
  padding-left: 12px;
}
.p-news--detail .c-subPage__content__main section p a:before {
  content: ">";
  position: absolute;
  left: 0;
  top: -8px;
  border-bottom: solid 1px #fff;
}

.c-newlist a {
  -js-display: flex;
  display: flex;
  align-items: flex-start;
  width: 460px;
  color: #000;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
  position: relative;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.c-newlist a:hover {
  transform: translateX(6px);
  opacity: 0.8;
}
@media screen and (max-width: 1024px) {
  .c-newlist a {
    width: 100%;
    align-items: flex-start;
    flex-wrap: wrap;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
}
.c-newlist a::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/commons/icon-primary-arrow.svg") no-repeat center center;
  background-size: contain;
  width: 10px;
  height: 16px;
  right: 12px;
  top: 50%;
  margin-top: -16px;
}

.c-newlist__thumbnail {
  width: 110px;
  padding: 4px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  overflow-y: hidden;
  max-height: 77px;
  -js-display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  .c-newlist__thumbnail {
    display: block;
  }
}

.c-newlist__text {
  width: 210px;
  padding-left: 20px;
}
.c-newlist__text dt {
  padding-right: 30px;
  margin-bottom: 10px;
}
@media screen and (max-width: 1024px) {
  .c-newlist__text dt {
    margin-bottom: 4px;
  }
}
.c-newlist__text dd {
  padding-right: 30px;
}

.c-newlist__date {
  display: block;
}

.c-newlist__category {
  margin-right: 10px;
  padding: 2px 15px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  display: inline-block;
}
.c-newlist__category.original {
  color: #fff;
  background: #558f34;
  border: 1px solid #558f34;
}
.c-newlist__category.planning {
  color: #fff;
  background: #e37037;
  border: 1px solid #e37037;
}
.c-newlist__category.column {
  color: #fff;
  background: #ee5c93;
  border: 1px solid #ee5c93;
}
.c-newlist__category.info {
  color: #fff;
  background: #e60012;
  border: 1px solid #e60012;
}

@media screen and (max-width: 768px) {
  html,
  body {
    overflow-x: hidden;
  }
  .c-subPage__content .c-newlist__text {
    width: 210px;
  }
}

@media screen and (max-width: 320px) {
  .c-subPage__content .c-newlist__text {
    width: 170px;
  }
}

.c-form dl {
  width: 100%;
  -js-display: flex;
  display: flex;
  padding: 20px 10px;
  border-bottom: 1px solid #e5e5e5;
}
@media screen and (max-width: 1024px) {
  .c-form dl {
    flex-direction: column;
    padding: 10px 0;
  }
}
.c-form dl dt {
  width: 30%;
  margin-bottom: 10px;
}
@media screen and (max-width: 1024px) {
  .c-form dl dt {
    font-weight: bold;
    width: 100%;
  }
}
.c-form dl dd {
  width: 70%;
}
@media screen and (max-width: 1024px) {
  .c-form dl dd {
    width: 100%;
  }
}

.c-form__navi {
  text-align: center;
  -js-display: flex;
  display: flex;
  justify-content: center;
  align-content: center;
}
@media screen and (max-width: 1024px) {
  .c-form__navi {
    flex-direction: column-reverse;
  }
}

.c-select {
  position: relative;
  overflow: hidden;
  display: inline-block;
  min-width: 200px;
  background-color: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
}
.c-select::after {
  content: "";
  width: 15px;
  height: 15px;
  background: url("../images/commons/icon-list.svg") no-repeat left top;
  background-size: contain;
  position: absolute;
  display: block;
  right: 10px;
  top: calc(50% - 7px);
  transform: rotate(90deg);
}
.c-select__list {
  font-size: 14px;
  appearance: none;
  position: relative;
  z-index: 2;
  display: block;
  width: -webkit-calc(100% + 5em);
  padding: 12px 24px;
  background: transparent;
  border: 0;
  outline: none;
}
@media screen and (max-width: 1024px) {
  .c-select {
    font-size: 11px;
  }
}

.p-noSupport {
  width: 100%;
  min-width: 1100px;
  padding: 20px;
  color: #fff;
  background: #ff9c29;
}

.loader {
  background: #fff;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}

.loader-animation {
  height: 10px;
  left: 50%;
  position: absolute;
  top: 50%;
  color: #e60012;
  text-indent: -9999em;
  font-size: 10px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
  background: url(/assets/images/commons/header-siteid.png) no-repeat;
  width: 217px;
  height: 27px;
  margin-left: -108px;
  animation: animate 0.8s linear infinite;
}

@keyframes animate {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
  100% {
    transform: translateY(0);
  }
}

.p-home__mainvisual__hgroup {
  position: relative;
}

.kv {
  position: relative;
  width: 100%;
  padding-bottom: 40%;
  z-index: 1;
}

.kv__bg {
  position: absolute;
  width: 100%;
  z-index: 0;
  top: 0;
}

.kv div {
  width: 100%;
}

.kv img {
  width: 100%;
}

#img1 .p-home__mainvisual__hgroup__text span {
  opacity: 0;
  display: inline-block;
  position: relative;
}

#img1 .p-home__mainvisual__hgroup__text small {
  opacity: 0;
}

#img1 .p-home__mainvisual__hgroup__text span:nth-of-type(1) {
  animation: TypoAnimate 0.5s ease-in 0.8s forwards;
}

#img1 .p-home__mainvisual__hgroup__text span:nth-of-type(2) {
  animation: TypoAnimate 0.38s cubic-bezier(0.165, 1, 0.735, 0.48) 0.9s forwards;
}

#img1 .p-home__mainvisual__hgroup__text span:nth-of-type(3) {
  animation: TypoAnimate 0.36s cubic-bezier(0.165, 1, 0.735, 0.48) 1s forwards;
}

#img1 .p-home__mainvisual__hgroup__text span:nth-of-type(4) {
  animation: TypoAnimate 0.34s cubic-bezier(0.165, 1, 0.735, 0.48) 1.1s forwards;
}

#img1 .p-home__mainvisual__hgroup__text span:nth-of-type(5) {
  animation: TypoAnimate 0.32s cubic-bezier(0.165, 1, 0.735, 0.48) 1.2s forwards;
}

#img1 .p-home__mainvisual__hgroup__text span:nth-of-type(6) {
  animation: TypoAnimate 0.3s cubic-bezier(0.165, 1, 0.735, 0.48) 1.3s forwards;
}

#img1 .p-home__mainvisual__hgroup__text span:nth-of-type(7) {
  animation: TypoAnimate 0.28s cubic-bezier(0.165, 1, 0.735, 0.48) 1.4s forwards;
}

#img1 .p-home__mainvisual__hgroup__text span:nth-of-type(8) {
  animation: TypoAnimate 0.26s cubic-bezier(0.165, 1, 0.735, 0.48) 1.5s forwards;
}

#img1 .p-home__mainvisual__hgroup__text span:nth-of-type(9) {
  animation: TypoAnimate 0.24s cubic-bezier(0.165, 1, 0.735, 0.48) 1.6s forwards;
}

#img1 .p-home__mainvisual__hgroup__text span:nth-of-type(10) {
  animation: TypoAnimate 0.22s cubic-bezier(0.165, 1, 0.735, 0.48) 1.7s forwards;
}

#img1 .p-home__mainvisual__hgroup__text span:nth-of-type(11) {
  animation: TypoAnimate 0.2s cubic-bezier(0.165, 1, 0.735, 0.48) 1.8s forwards;
}

#img1 .p-home__mainvisual__hgroup__text small {
  animation: TypoAnimate2 0.5s linear 1.7s forwards;
}

@keyframes TypoAnimate {
  0% {
    /*transform: translateX(160px) translateY(0) rotate(0deg);*/
    opacity: 0;
  }
  50% {
    /*transform: translateX(-20px) translateY(0) rotate(0deg);*/
    opacity: 0.7;
  }
  100% {
    /*transform: translateX(0) translateY(0) rotate(0deg);*/
    opacity: 1;
  }
}

@keyframes TypoAnimate2 {
  0% {
    transform: translateY(7px);
    opacity: 0;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

.p-home__mainvisual__hgroup__text {
  font-size: 5vw;
  font-weight: bold;
  text-align: center;
  letter-spacing: -0.5vw;
  position: absolute;
  top: 2.5%;
}

#img2 .p-home__mainvisual__hgroup__text {
  font-size: 4vw;
  font-weight: bold;
  text-align: left;
  letter-spacing: -0.7vw;
  position: absolute;
  top: 23%;
  left: 63%;
  max-width: 32vw;
}

#img2 .p-home__mainvisual__hgroup__text p {
  text-shadow:
    -1px -1px 3px rgba(255, 255, 255, 0.7),
    1px 1px 3px rgba(255, 255, 255, 0.9);
}

.p-home__mainvisual__hgroup__text p {
  position: relative;
  top: 0;
}

.p-home__mainvisual__hgroup__text__small {
  font-size: 3.5vw;
}

.p-home__mainvisual__hgroup__text__color {
  color: #e60012;
}

.p-home__mainvisual__hgroup__text small {
  font-size: 1.2vw;
  display: block;
  letter-spacing: 1px;
  font-weight: normal;
}

#img2 .p-home__mainvisual__hgroup__text small {
  margin-top: 0.5%;
}

#img2 .p-home__flow__navi {
  position: absolute;
  top: 53%;
  left: 60.5%;
  max-width: 32vw;
}

#img2 .c-button--primary,
#img2 .p-contact .c-button--back,
.p-contact #img2 .c-button--back,
#img2 .p-contact .c-button--send,
.p-contact #img2 .c-button--send,
#img2 .p-multilingual__inquiry__form .c-button--back,
.p-multilingual__inquiry__form #img2 .c-button--back,
#img2 .p-multilingual__inquiry__form .c-button--send,
.p-multilingual__inquiry__form #img2 .c-button--send {
  background-color: #fff;
}

#img2 .c-button--primary:hover,
#img2 .p-contact .c-button--back:hover,
.p-contact #img2 .c-button--back:hover,
#img2 .p-contact .c-button--send:hover,
.p-contact #img2 .c-button--send:hover,
#img2 .p-multilingual__inquiry__form .c-button--back:hover,
.p-multilingual__inquiry__form #img2 .c-button--back:hover,
#img2 .p-multilingual__inquiry__form .c-button--send:hover,
.p-multilingual__inquiry__form #img2 .c-button--send:hover {
  background-color: #e60012;
}

@media screen and (max-width: 480px) {
  .kv {
    padding-bottom: 92%;
  }
  .p-home__mainvisual__hgroup__text {
    display: none;
  }
  #img2 .p-home__flow__navi {
    display: none;
  }
  #canvas-container,
  #sineCanvas,
  #sineCanvas2 {
    transition: all ease 0.5;
    opacity: 0;
    display: none;
  }
}

/* .p-home__flow {
  margin-bottom: 30px;
  position: relative;
  z-index: 3; } */

#canvas-container {
  position: relative;
  z-index: 2;
  top: 30vw;
}

#sineCanvas {
  width: 100%;
  height: 350px;
  vertical-align: top;
  position: absolute;
  z-index: 1;
}

#sineCanvas2 {
  width: 100%;
  height: 350px;
  vertical-align: top;
  position: absolute;
  z-index: 2;
  top: 20px;
}

@media screen and (max-width: 2500px) {
  #canvas-container {
    top: 27vw;
  }
}

@media screen and (max-width: 2000px) {
  #canvas-container {
    top: 24vw;
  }
  #sineCanvas {
    height: 300px;
  }
  #sineCanvas2 {
    height: 300px;
  }
}

@media screen and (max-width: 1200px) {
  #sineCanvas {
    height: 250px;
  }
  #sineCanvas2 {
    height: 250px;
  }
}

@media screen and (max-width: 1100px) {
  #canvas-container {
    top: 22vw;
  }
}

@media screen and (max-width: 900px) {
  #canvas-container {
    top: 20vw;
  }
}

@media screen and (max-width: 800px) {
  #canvas-container {
    top: 18vw;
  }
}

@media screen and (max-width: 700px) {
  #canvas-container {
    top: 15vw;
  }
  #sineCanvas {
    height: 200px;
  }
  #sineCanvas2 {
    height: 200px;
  }
}

@media screen and (max-width: 600px) {
  #canvas-container {
    top: 12vw;
  }
}

@media screen and (max-width: 480px) {
  #canvas-container,
  #sineCanvas,
  #sineCanvas2 {
    opacity: 0;
    display: none;
  }
}

.p-about--index .c-subPage__h3 {
  position: relative;
  padding-left: 50px;
}

.p-about--index__icon {
  display: block;
  width: 35px;
  position: absolute;
  top: 4px;
  left: 0;
}

.p-oversea_lab--index .c-subPage__h3 {
  position: relative;
  padding-left: 50px;
}

.p-oversea_lab--index__icon {
  display: block;
  width: 35px;
  position: absolute;
  top: 4px;
  left: 0;
}

.p-oem_planning--index__step {
  position: relative;
}
.p-oem_planning--index__step #step1,
.p-oem_planning--index__step #step2,
.p-oem_planning--index__step #step3,
.p-oem_planning--index__step #step4,
.p-oem_planning--index__step #step5,
.p-oem_planning--index__step #step6 {
  position: absolute;
  top: -90px;
}
.p-oem_planning--index__step::after {
  content: "";
  width: 100%;
  display: block;
  height: 60px;
  background: url("../images/commons/icon-step-arrow.svg") no-repeat center top;
  background-size: contain;
}
.p-oem_planning--index__step:last-child::after {
  content: none;
}

.p-oem_planning--index__list,
.p-oem_planning--share__list {
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-oem_planning--index__list a,
.p-oem_planning--share__list a {
  width: 190px;
  display: block;
  border: 1px solid #e5e5e5;
  margin-bottom: 20px;
}
@media screen and (max-width: 1024px) {
  .p-oem_planning--index__list a,
  .p-oem_planning--share__list a {
    width: 47%;
  }
}
.p-oem_planning--index__list dl,
.p-oem_planning--share__list dl {
  width: 100%;
  padding: 6px 10px;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}
.p-oem_planning--index__list dl dt,
.p-oem_planning--share__list dl dt {
  width: 100%;
  margin-bottom: 10px;
}
.p-oem_planning--index__list dl dt img,
.p-oem_planning--share__list dl dt img {
  width: 80px;
}
.p-oem_planning--index__list dl dd::after,
.p-oem_planning--share__list dl dd::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url("../images/commons/icon-list.svg") no-repeat left top;
  background-size: contain;
  vertical-align: middle;
  margin: 0 8px;
  transform: rotate(90deg);
}

.p-oem_planning--index .c-subPage__h3 {
  position: relative;
  padding-left: 50px;
}

.p-oem_planning--index__icon {
  display: block;
  width: 35px;
  position: absolute;
  top: 0px;
  left: 0;
}

.p-oem_planning--healthfood .c-subPage__h3 {
  margin-bottom: 30px;
}

.p-oem_planning--healthfood__icon {
  background: #e60012;
  color: #fff;
  border-radius: 4px;
  font-size: 14px;
  display: inline-block;
  padding: 2px 4px;
  margin: 0 4px;
}

.p-oem_planning--share #step1,
.p-oem_planning--share #step2,
.p-oem_planning--share #step3,
.p-oem_planning--share #step4,
.p-oem_planning--share #step5,
.p-oem_planning--share #step6 {
  position: absolute;
  top: -90px;
}

.p-oem_planning--share .c-subPage__h3 {
  -js-display: flex;
  display: flex;
  align-items: center;
}

.p-oem_planning--share .c-subPage__h4 {
  margin-bottom: 10px;
}

.p-oem_planning--share .c-subPage__content__main p {
  margin-bottom: 20px;
}

.p-oem_planning--share .c-select {
  width: 200px;
  display: block;
  margin: 0 auto;
}

.p-oem_planning--share .c-subPage__content__main section {
  position: relative;
}

.p-oem_planning--share .c-subPage__content__main section > section.p-oem_planning--share__box {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #e5e5e5;
}
.p-oem_planning--share .c-subPage__content__main section > section.p-oem_planning--share__box.last {
  border-bottom: none;
  padding-bottom: 0;
}

.p-oem_planning--share__icon {
  width: 50px;
  margin-right: 10px;
}

.p-oem_planning--share .js-sort::before {
  content: none;
}

.p-oem_planning--share__material {
  -js-display: flex;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.p-oem_planning--share__material__thumb {
  margin-right: 20px;
}
.p-oem_planning--share__material__text dt {
  font-size: 12px;
  background: #e60012;
  color: #fff;
  display: inline-block;
  border-radius: 4px;
  padding: 2px 6px;
  margin-bottom: 10px;
}
.p-oem_planning--share__material__text dd {
  font-weight: bold;
  font-size: 16px;
}

.p-oem_planning--cosmetics .c-subPage__h3 {
  margin-bottom: 30px;
}

.p-oem_planning--cosmetics__icon {
  background: #e60012;
  color: #fff;
  border-radius: 4px;
  font-size: 14px;
  display: inline-block;
  padding: 2px 10px;
  margin: 0 4px;
}

.p-material--index__lists {
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.p-material--index__list {
  display: block;
  width: 49%;
  margin-bottom: 20px;
  border: 1px solid #e5e5e5;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
  position: relative;
  transition: all 0.2s ease-in-out;
}
@media screen and (max-width: 1024px) {
  .p-material--index__list {
    width: 100%;
    align-items: flex-start;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
}
.p-material--index__list:hover {
  transform: translateX(6px);
  opacity: 0.8;
}
.p-material--index__list::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/commons/icon-primary-arrow.svg") no-repeat center center;
  background-size: contain;
  width: 10px;
  height: 16px;
  right: 12px;
  top: 50%;
  margin-top: -8px;
}
.p-material--index__list dl {
  -js-display: flex;
  display: flex;
  align-items: center;
}
.p-material--index__list dl dt {
  padding: 10px;
}

.p-faq__list dt {
  width: 100%;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .p-faq__list dt {
    padding-right: 50px;
    font-size: 18px;
  }
}
.p-faq__list dt::after {
  width: 24px;
  height: 24px;
  content: "";
  position: absolute;
  top: calc(50% - 24px);
  right: 10px;
  background: url("../images/commons/icon-list.svg") no-repeat;
  background-size: contain;
  transform: rotate(90deg);
}
.p-faq__list dt.active::after {
  transform: rotate(-90deg);
}

.p-faq__list dd {
  display: none;
}

.p-news--index__menu {
  width: 810px;
  margin: 60px auto;
  -js-display: flex;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .p-news--index__menu {
    width: 100%;
    margin: 0 auto 30px;
    flex-direction: column;
  }
}
.p-news--index__menu__navi {
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  -js-display: flex;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .p-news--index__menu__navi {
    width: 100%;
    margin: 0 auto 10px;
    flex-direction: column;
  }
}
.p-news--index__menu__navi a {
  display: block;
  padding: 10px 40px;
  text-decoration: none;
  border-right: 1px solid #e5e5e5;
}
@media screen and (max-width: 1024px) {
  .p-news--index__menu__navi a {
    width: 100%;
    padding: 4px 20px;
    border-right: none;
    border-bottom: 1px solid #e5e5e5;
  }
}
.p-news--index__menu__navi a:last-child {
  border-right: none;
}
@media screen and (max-width: 1024px) {
  .p-news--index__menu__navi a:last-child {
    border-bottom: none;
  }
}
.p-news--index__menu__navi a:hover,
.p-news--index__menu__navi a.active {
  color: #e60012;
  font-weight: bold;
}

.p-news--index__lists {
  width: 942px;
  margin: 0 auto 50px;
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  align-content: flex-start;
  flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  .p-news--index__lists {
    width: 100%;
    margin: 0 auto 20px;
    flex-direction: column;
  }
}

.p-news--detail__topics__header {
  font-size: 16px;
  font-weight: bold;
  padding: 14px 0;
}

.p-news--detail__topics__body a {
  text-decoration: none;
}

.p-news--detail__topics__list {
  margin-bottom: 20px;
}
.p-news--detail__topics__list__thumbnail {
  margin-bottom: 4px;
  border: 1px solid #e5e5e5;
  max-height: 140px;
  overflow: hidden;
  align-items: center;
  -js-display: flex;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .p-news--detail__topics__list__thumbnail {
    max-height: 435px;
  }
}
.p-news--detail__topics__list__thumbnail img {
  width: 100%;
}
.p-news--detail__topics__list__title {
  position: relative;
  padding-left: 24px;
}
.p-news--detail__topics__list__title::before {
  content: "";
  background: url("../images/commons/icon-list.svg") no-repeat left top;
  background-size: cover;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 3px;
}

.p-company--index__sign {
  display: flex;
  justify-content: flex-end;
}
.p-company--index__sign dt {
  margin-right: 20px;
}
.p-company--index__sign dd {
  display: flex;
  align-items: center;
}

.p-company--access .c-subPage__content section {
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 60px;
  margin-bottom: 60px;
}

.p-company--access__info {
  display: flex;
  margin-bottom: 20px;
  line-height: 1.9;
}
.p-company--access__info__text {
  margin: 0 20px 0 0;
}
.p-company--access__info__text dt {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 4px;
}
.p-company--access__info__img {
  margin: 0 0 0 auto;
  width: 25%;
  max-width: 150px;
  min-width: 100px;
}

.p-recruit--index .c-subPage__h3 {
  margin-bottom: 100px;
}

.p-contact .c-form button,
.p-contact .c-form .c-button--send {
  width: 240px;
  font-size: 14px;
  margin: 0 10px;
}
@media screen and (max-width: 1024px) {
  .p-contact .c-form button,
  .p-contact .c-form .c-button--send {
    width: 100%;
    margin: 0 10px 10px 10px;
  }
}

.p-contact .c-button--back {
  color: #5f5f5f;
  border: 2px solid #5f5f5f;
}
.p-contact .c-button--back::after {
  content: none;
}

.p-contact .c-button--address {
  background: #e60012;
  color: #fff;
  padding-left: 30px;
  padding-right: 30px;
  border-radius: 5px;
}

.p-contact .c-form__selects {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
}
.p-contact .c-form__selects .control {
  margin-right: 14px;
}
.p-contact .c-form__selects .control__label {
  padding-left: calc(24px + 0.6rem);
}

.p-contact .c-form--option {
  -js-display: flex;
  display: flex;
  justify-content: center;
  padding: 20px 0 0;
}
.p-contact .c-form--option .control__label::before {
  border-radius: 50px;
}

.p-contact .error {
  font-size: 12px;
  color: #e60012;
  margin: 10px 0;
  display: block;
}

a[href^="tel:"] {
  cursor: default;
}

.p-multilingual--zh {
  font-family: "SimSun", "Microsoft YaHei", "微软雅黑", sans-serif;
}

.p-multilingual__hgroup {
  text-align: center;
}
.p-multilingual__hgroup__title {
  font-size: 30px;
  font-weight: 500;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__hgroup__title {
    font-size: 22px;
  }
}
.p-multilingual__hgroup__title::after {
  content: "";
  display: block;
  position: absolute;
  width: 50px;
  height: 2px;
  background: #e60012;
  bottom: 0;
  left: 50%;
  margin-left: -25px;
}

.p-multilingual table {
  width: 100%;
  border: 1px solid #e5e5e5;
  margin-bottom: 20px;
  font-size: 14px;
}
.p-multilingual table th,
.p-multilingual table td {
  padding: 20px 15px;
  border: 1px solid #e5e5e5;
  background: #ffffff;
  text-align: left;
}
.p-multilingual table th {
  width: 30%;
  background: #fffcf3;
}

.p-multilingual__mainvisual {
  margin-bottom: 50px;
  border-bottom: 4px solid #e60012;
}

@media screen and (min-width: 1024px) {
  .p-multilingual__mainvisual {
    border-bottom-width: 5px;
  }
}
.p-multilingual__mainvisual img {
  width: 100%;
}

.p-multilingual__about {
  margin-bottom: 30px;
  width: 942px;
  margin: 0 auto 60px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__about {
    width: 90%;
    min-width: inherit;
    text-align: left;
  }
}
.p-multilingual__about p {
  font-weight: bold;
  margin-bottom: 10px;
}

.p-multilingual__business {
  background: #f8f8f8;
  position: relative;
  padding-top: 100px;
  min-width: 1100px;
  margin-bottom: 60px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__business {
    width: 100%;
    min-width: inherit;
    padding-top: 60px;
  }
}
.p-multilingual__business::before {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/en/common-bg-top-left.png") no-repeat left top;
  background-size: contain;
  width: 305px;
  height: 397px;
  z-index: 1;
  left: 0;
  top: 30px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__business::before {
    top: 0;
    width: 150px;
    height: 200px;
  }
}
.p-multilingual__business::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/home/chara-bg-top-right.png") no-repeat right top;
  width: 400px;
  height: 589px;
  z-index: 0;
  right: 0;
  top: 0px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__business::after {
    background: url("../images/home/sp-chara-bg-top-right.png") no-repeat right top;
    background-size: contain;
    width: 140px;
    height: 130px;
    top: 0;
  }
}
.p-multilingual__business--inner {
  position: relative;
  padding-bottom: 150px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__business--inner {
    padding-bottom: 40px;
  }
}
.p-multilingual__business--inner::before {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/home/chara-bg-bottom-left.png") no-repeat left top;
  background-size: contain;
  width: 560px;
  height: 475px;
  z-index: 0;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__business--inner::before {
    content: none;
  }
}
.p-multilingual__business--inner::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/en/common-bg-bottom-right.png") no-repeat left top;
  background-size: contain;
  width: 615px;
  height: 328px;
  z-index: 0;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__business--inner::after {
    width: 300px;
    height: 150px;
  }
}
.p-multilingual__business__lists {
  width: 768px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__business__lists {
    width: 90%;
  }
}
.p-multilingual__business__lists__list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.p-multilingual__business__lists__list .thumb {
  width: 300px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__business__lists__list .thumb {
    width: 100%;
    margin-bottom: 10px;
  }
}
.p-multilingual__business__lists__list .text {
  margin: 0 0 0 auto;
  width: 430px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__business__lists__list .text {
    width: 100%;
  }
}
.p-multilingual__business__lists__list .text dt {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}

.p-multilingual__policy {
  width: 768px;
  margin: 0 auto 60px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__policy {
    width: 90%;
    margin: 0 auto 60px;
    text-align: left;
  }
}
.p-multilingual__policy__read h3 {
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 10px;
}
.p-multilingual__policy__read p {
  margin-bottom: 20px;
}
.p-multilingual__policy__read dl {
  width: 630px;
  margin: 0 auto;
  padding: 40px;
  margin-bottom: 40px;
  text-align: left;
  border: 1px solid #e5e5e5;
  background: #fffcf3;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__policy__read dl {
    width: 100%;
    padding: 20px;
  }
}
.p-multilingual__policy__read dl dt {
  margin-bottom: 6px;
  font-weight: bold;
}

.p-multilingual__info {
  background: #f8f8f8;
  position: relative;
  padding-top: 100px;
  min-width: 1100px;
  margin-bottom: 60px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__info {
    width: 100%;
    min-width: inherit;
    padding-top: 60px;
  }
}
.p-multilingual__info--inner {
  position: relative;
  padding-bottom: 150px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__info--inner {
    padding-bottom: 40px;
  }
}
.p-multilingual__info--inner table {
  width: 768px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__info--inner table {
    width: 90%;
  }
}

.p-multilingual__history {
  width: 768px;
  margin: 0 auto 60px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__history {
    width: 90%;
  }
}

.p-multilingual__inquiry {
  background: #f8f8f8;
  position: relative;
  padding-top: 100px;
  min-width: 1100px;
  margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__inquiry {
    width: 100%;
    min-width: inherit;
    padding-top: 140px;
  }
}
.p-multilingual__inquiry .error {
  font-size: 12px;
  color: #e60012;
  margin: 10px 0;
  display: block;
}
.p-multilingual__inquiry--inner {
  position: relative;
  padding-bottom: 60px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__inquiry--inner {
    padding-bottom: 40px;
  }
}
.p-multilingual__inquiry__form {
  width: 768px;
  background: #ffffff;
  padding: 30px 40px;
  margin: 0 auto 60px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__inquiry__form {
    width: 90%;
    padding: 14px 20px;
  }
}
.p-multilingual__inquiry__form__read {
  text-align: center;
  margin-bottom: 20px;
}
.p-multilingual__inquiry__form .c-form__inputs {
  margin-bottom: 60px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__inquiry__form .c-form__inputs {
    margin-bottom: 20px;
  }
}
.p-multilingual__inquiry__form .c-form__navi button {
  margin: 0 10px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__inquiry__form .c-form__navi button {
    margin: 0 auto 10px;
  }
}
.p-multilingual__inquiry__form .c-button--back {
  color: #5f5f5f;
  border: 2px solid #5f5f5f;
  width: 300px;
}
.p-multilingual__inquiry__form .c-button--back:hover {
  background: #5f5f5f;
}
.p-multilingual__inquiry__form .c-button--back::after {
  content: none;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__inquiry__form .c-button--back {
    width: 90%;
  }
}
.p-multilingual__inquiry__form .c-button--send {
  width: 300px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__inquiry__form .c-button--send {
    width: 90%;
  }
}
.p-multilingual__inquiry__form .c-button--address {
  background: #e60012;
  color: #fff;
  padding-left: 30px;
  padding-right: 30px;
  border-radius: 5px;
}
.p-multilingual__inquiry__complete section {
  margin-bottom: 20px;
}

.p-multilingual__footer {
  color: #fff;
  text-align: center;
  padding: 20px 0;
  font-size: 11px;
  background: #e60012;
}

.p-multilingual__info::before,
.p-multilingual__inquiry::before {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/en/common-bg-top-left.png") no-repeat left top;
  background-size: contain;
  width: 305px;
  height: 397px;
  z-index: 1;
  left: 0;
  top: 30px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__info::before,
  .p-multilingual__inquiry::before {
    top: 0;
    width: 150px;
    height: 200px;
  }
}

.p-multilingual__info::after,
.p-multilingual__inquiry::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/en/common-bg-top-right.png") no-repeat left top;
  background-size: contain;
  width: 393px;
  height: 417px;
  z-index: 0;
  right: 0;
  top: 0px;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__info::after,
  .p-multilingual__inquiry::after {
    width: 140px;
    height: 130px;
    top: 0;
  }
}

.p-multilingual__info--inner::before,
.p-multilingual__inquiry--inner::before {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/en/common-bg-bottom-left.png") no-repeat left top;
  background-size: contain;
  width: 212px;
  height: 217px;
  z-index: 0;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__info--inner::before,
  .p-multilingual__inquiry--inner::before {
    width: 106px;
    height: 219px;
  }
}

.p-multilingual__info--inner::after,
.p-multilingual__inquiry--inner::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/en/common-bg-bottom-right.png") no-repeat left top;
  background-size: contain;
  width: 615px;
  height: 328px;
  z-index: 0;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 1024px) {
  .p-multilingual__info--inner::after,
  .p-multilingual__inquiry--inner::after {
    content: none;
  }
}

/*---------------------------------

  トップページ

---------------------------------*/

/* ========================
  mv
======================== */
.p-home .p-mv {
  border-bottom: 4px solid #e60012;
}

@media screen and (min-width: 1024px) {
  .p-home .p-mv {
    border-bottom-width: 5px;
  }
}

.p-home .p-mv__items {
}

.p-home .p-mv__item {
}

.p-home .p-mv__item picture {
  display: block;
}

.p-home .p-mv__item picture img {
  display: block;
  width: 100%;
  height: auto;
}

/* ========================
  business
======================== */
.p-home .p-business {
}

.p-home .p-business__container {
  padding: 50px 26px 65px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-business__container {
    width: 940px;
    padding: 70px 0 25px;
    margin: 0 auto;
  }
}

.p-home .p-business__heading {
  text-align: center;
}

.p-home .p-business__heading-ja,
.p-home .p-business__heading-en {
  display: block;
}

.p-home .p-business__heading-ja {
  font-size: 22.5px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-home .p-business__heading-ja {
    font-size: 30px;
  }
}

.p-home .p-business__heading-en {
  margin-top: 2px;
  font-family: "objektiv-mk2", sans-serif;
  font-size: 9px;
  font-weight: 600;
  color: #e60012;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 1024px) {
  .p-home .p-business__heading-en {
    margin-top: 7px;
    font-size: 11px;
  }
}

.p-home .p-business__content {
  margin-top: 26px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-business__content {
    margin-top: 60px;
  }
}

.p-home .p-business__list {
}

@media screen and (min-width: 1024px) {
  .p-home .p-business__list {
    display: flex;
    margin: 0 -8px;
  }
}

.p-home .p-business__list-item {
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1024px) {
  .p-home .p-business__list-item {
    display: block;
    width: 25%;
    padding: 0 8px;
  }
}

.p-home .p-business__list-item:nth-child(n + 2) {
  margin-top: 24px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-business__list-item:nth-child(n + 2) {
    margin-top: 0;
  }
}

.p-home .p-business__icon {
  display: flex;
  justify-content: center;
  min-width: 64px;
  margin-right: 30px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-business__icon {
    align-items: center;
    min-width: auto;
    min-height: 88px;
    margin-right: 0;
  }
}

.p-home .p-business__icon--01 img {
  width: 50px;
}

.p-home .p-business__icon--02 img {
  width: 55px;
}

.p-home .p-business__icon--03 img {
  width: 64px;
}

.p-home .p-business__icon--04 img {
  width: 54px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-business__icon--01 img {
    width: 71px;
  }

  .p-home .p-business__icon--02 img {
    width: 71px;
  }

  .p-home .p-business__icon--03 img {
    width: 88px;
  }

  .p-home .p-business__icon--04 img {
    width: 66px;
    margin-bottom: -7px;
  }
}

.p-home .p-business__list-content {
  width: calc(100% - (64px + 30px));
}

@media screen and (min-width: 1024px) {
  .p-home .p-business__list-content {
    width: auto;
    margin-top: 43px;
    text-align: center;
  }
}

.p-home .p-business__list-content dt {
  font-size: 15.5px;
  font-weight: 500;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-home .p-business__list-content dt {
    font-size: 18px;
  }
}

.p-home .p-business__list-content dd {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-home .p-business__list-content dd {
    margin-top: 25px;
    line-height: 2.25;
  }
}

/* ========================
  features
======================== */
.p-home .p-features {
  background-image: url("../images/home/features_bg.png");
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (min-width: 1024px) {
  .p-home .p-features {
    background-image: url("../images/home/features_bg_md.png");
  }
}

.p-home .p-features__container {
  padding-top: 75px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-features__container {
    padding-top: 235px;
  }
}

.p-home .p-features__heading {
  text-align: center;
}

.p-home .p-features__heading-ja,
.p-home .p-features__heading-en {
  display: block;
}

.p-home .p-features__heading-ja {
  font-size: 22.5px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-home .p-features__heading-ja {
    font-size: 30px;
  }
}

.p-home .p-features__heading-en {
  margin-top: 2px;
  font-family: "objektiv-mk2", sans-serif;
  font-size: 9px;
  font-weight: 600;
  color: #e60012;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 1024px) {
  .p-home .p-features__heading-en {
    margin-top: 7px;
    font-size: 11px;
  }
}

.p-home .p-features__lede {
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.714;
  text-align: center;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-home .p-features__lede {
    margin-top: 30px;
    font-size: 16px;
    font-weight: 400;
    line-height: 2.0625;
  }
}

.p-home .p-features__wrap {
  background: #f8f8f8;
}

.p-home .p-features__items {
  margin-top: 32px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-features__items {
    display: flex;
    flex-wrap: wrap;
    margin: 50px auto 0;
    width: 980px;
  }
}

.p-home .p-features__item {
  position: relative;
}

@media screen and (min-width: 1024px) {
  .p-home .p-features__item {
    width: 470px;
    margin: 0 10px 20px;
    /* padding: 0 15px; */
    border: 1px solid #e5e5e5;
  }

  .p-home .p-features__item:nth-child(2n) {
    /*border-left: 1px solid #e5e5e5;*/
  }

  .p-home .p-features__item:nth-child(n + 3) {
    /*border-top: 1px solid #e5e5e5;*/
  }
}

.p-home .p-features__img {
}

.p-home .p-features__ico {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 50px;
  height: 50px;
  text-align: center;
  padding: 14px 0 0;
  background: #e60012;
  color: #fff;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 400;
}

.p-home .p-features__content {
  padding: 27px 30px 30px;
  background-color: #fff;
}

@media screen and (min-width: 1024px) {
  .p-home .p-features__content {
    padding: 40px;
  }
}

.p-home .p-features__content dt,
.p-home .p-features__content dd {
  letter-spacing: 0.025em;
}

.p-home .p-features__content dt {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.3;
}

@media screen and (min-width: 1024px) {
  .p-home .p-features__content dt {
    font-size: 20px;
    line-height: 1.45;
  }
}

.p-home .p-features__content dt span {
  color: #e60012;
}

.p-home .p-features__content dd {
  margin-top: 11px;
  font-size: 13px;
  line-height: 1.692;
}

@media screen and (min-width: 1024px) {
  .p-home .p-features__content dd {
    margin-top: 15px;
    font-size: 14px;
    font-weight: 400;
    line-height: 2.071;
  }
}

.p-home .p-features__link {
  padding: 35px 52px 51px;
  text-align: center;
  /*border-top: 1px solid #e5e5e5;*/
  background-image: url("../images/home/features_button_bg.png");
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (min-width: 1024px) {
  .p-home .p-features__link {
    padding: 60px 0 111px;
    background-image: url("../images/home/features_button_bg_md.png");
    background-position: 50% 50%;
  }
}

.p-home .p-features__link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  font-size: 14px;
  font-weight: 600;
  color: #e60012;
  text-decoration: none;
  letter-spacing: 0.03em;
  border: 1px solid currentColor;
  border-radius: 25px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-features__link a {
    width: 311px;
    height: 66px;
    font-size: 16px;
    border-width: 2px;
    border-radius: 33px;
    transition: 0.25s;
  }

  .p-home .p-features__link a:hover {
    color: #fff;
    border-color: #e60012;
    background-color: #e60012;
  }
}

/* ========================
  case
======================== */
.p-home .p-case {
  background-color: #e60012;
}

.p-home .p-case__container {
  padding: 38px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__container {
    width: 940px;
    padding: 90px 0 95px;
    margin: 0 auto;
  }
}

.p-home .p-case__heading {
  text-align: center;
}

.p-home .p-case__heading-ja,
.p-home .p-case__heading-en {
  display: block;
}

.p-home .p-case__heading-ja {
  font-size: 22.5px;
  font-size: 24px;
  font-weight: 500;
  color: #fff;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__heading-ja {
    font-size: 30px;
  }
}

.p-home .p-case__heading-en {
  margin-top: 2px;
  font-family: "objektiv-mk2", sans-serif;
  font-size: 9px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.05em;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__heading-en {
    margin-top: 7px;
    font-size: 11px;
  }
}

.p-home .p-case__item {
  margin-top: 42px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__item {
    margin-top: 76px;
  }
}

.p-home .p-case__list {
}

.p-home .p-case__list-item {
  position: relative;
  display: flex;
}

.p-home .p-case__list-item:nth-child(n + 2) {
  margin-top: 48px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__list-item:nth-child(n + 2) {
    margin-top: 128px;
  }
}

.p-home .p-case__list-item::before {
  position: absolute;
  top: -16px;
  left: 0;
  content: "";
  background-size: contain;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__list-item::before {
    top: -34px;
  }
}

.p-home .p-case__list-item--01::before {
  width: 155px;
  height: 32px;
  background-image: url("../images/oversea_lab/case_text01.png");
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__list-item--01::before {
    width: 234px;
    height: 49px;
  }
}

.p-home .p-case__list-item--02::before {
  width: 159px;
  height: 32px;
  background-image: url("../images/oversea_lab/case_text02.png");
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__list-item--02::before {
    width: 240px;
    height: 49px;
  }
}

.p-home .p-case__list-item--03::before {
  width: 159px;
  height: 33px;
  background-image: url("../images/oversea_lab/case_text03.png");
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__list-item--03::before {
    width: 239px;
    height: 49px;
  }
}

.p-home .p-case__list-item--04::before {
  width: 160px;
  height: 33px;
  background-image: url("../images/oversea_lab/case_text04.png");
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__list-item--04::before {
    width: 241px;
    height: 49px;
  }
}

.p-home .p-case__img {
  position: relative;
  width: 116px;
  margin-right: 19px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__img {
    width: 175px;
    margin-right: 30px;
  }
}

.p-home .p-case__content {
  width: calc(100% - (116px + 19px));
  color: #fff;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__content {
    width: calc(100% - (175px + 30px));
  }
}

.p-home .p-case__category {
  font-size: 10px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__category {
    font-size: 12px;
  }
}

.p-home .p-case__ttl {
  margin-top: 12px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__ttl {
    margin-top: 15px;
    font-size: 18px;
    line-height: 1.5;
  }
}

.p-home .p-case__body {
  margin-top: 9px;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__body {
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.833;
  }
}

.p-home .p-case__link {
  padding: 0 30px;
  margin-top: 28px;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__link {
    padding: 0;
    margin-top: 50px;
  }
}

.p-home .p-case__link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.03em;
  border: 1px solid currentColor;
  border-radius: 25px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__link a {
    width: 311px;
    height: 66px;
    font-size: 16px;
    border-width: 2px;
    border-radius: 33px;
    transition: 0.25s;
  }

  .p-home .p-case__link a:hover {
    color: #e60012;
    border-color: #fff;
    background-color: #fff;
  }
}
.p-home .p-case__banner {
  display: block;
  margin-top: 35px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-case__banner {
    margin-top: 70px;
  }
}

/* ========================
  news
======================== */
.p-home .p-news {
  background-image: url("../images/home/news_bg.png");
  background-size: 27px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-news {
    background-size: 47px;
  }
}

.p-home .p-news__container {
  padding: 43px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-news__container {
    width: 940px;
    padding: 80px 0 100px;
    margin: 0 auto;
  }
}

.p-home .p-news__heading {
  text-align: center;
}

.p-home .p-news__heading-ja,
.p-home .p-news__heading-en {
  display: block;
}

.p-home .p-news__heading-ja {
  font-size: 22.5px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-home .p-news__heading-ja {
    font-size: 30px;
  }
}

.p-home .p-news__heading-en {
  margin-top: 2px;
  font-family: "objektiv-mk2", sans-serif;
  font-size: 9px;
  font-weight: 600;
  color: #e60012;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 1024px) {
  .p-home .p-news__heading-en {
    margin-top: 7px;
    font-size: 11px;
  }
}

.p-home .p-news__content {
  margin-top: 25px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-news__content {
    margin-top: 43px;
  }
}

.p-home .p-news__link {
  margin-top: 25px;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-home .p-news__link {
    margin-top: 45px;
  }
}

.p-home .p-news__link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  height: 50px;
  font-size: 14px;
  font-weight: 600;
  color: #e60012;
  text-decoration: none;
  letter-spacing: 0.03em;
  border: 1px solid currentColor;
  border-radius: 25px;
}

@media screen and (min-width: 1024px) {
  .p-home .p-news__link a {
    width: 311px;
    height: 66px;
    font-size: 16px;
    border-width: 2px;
    border-radius: 33px;
    transition: 0.25s;
  }

  .p-home .p-news__link a:hover {
    color: #fff;
    border-color: #e60012;
    background-color: #e60012;
  }
}

.p-home .c-newslist {
  display: flex;
  flex-wrap: wrap;
  margin-right: -9px;
  margin-left: -9px;
}

@media screen and (min-width: 1024px) {
  .p-home .c-newslist {
    margin-right: -18px;
    margin-left: -18px;
  }
}

.p-home .c-newslist__item {
  width: 50%;
  padding: 0 9px;
}

@media screen and (min-width: 1024px) {
  .p-home .c-newslist__item {
    width: 25%;
    padding: 0 18px;
  }
}

.p-home .c-newslist__item:nth-child(n + 3) {
  margin-top: 20px;
}

@media screen and (min-width: 1024px) {
  .p-home .c-newslist__item:nth-child(n + 3) {
    margin-top: 0;
  }

  .p-home .c-newslist__item:nth-child(n + 5) {
    margin-top: 50px;
  }
}

.p-home .c-newslist__link {
  text-decoration: none;
}

.p-home .c-newslist__header {
  position: relative;
}

.p-home .c-newslist__thumb {
  height: 160px;
}

.p-home .c-newslist__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.p-home .c-newslist__category {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 1px 9px;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.025em;
  background-color: #eee;
}

@media screen and (min-width: 1024px) {
  .p-home .c-newslist__thumb {
    height: 208px;
  }

  .p-home .c-newslist__category {
    padding: 3px 16px;
  }
}

.p-home .c-newslist__category.original {
  color: #fff;
  background-color: #558f34;
}

.p-home .c-newslist__category.planning {
  color: #fff;
  background-color: #e37037;
}

.p-home .c-newslist__category.column {
  color: #fff;
  background-color: #ee5c93;
}

.p-home .c-newslist__category.info {
  color: #fff;
  background-color: #e60012;
}

.p-home .c-newslist__content {
  margin-top: 12px;
}

@media screen and (min-width: 1024px) {
  .p-home .c-newslist__content {
    margin-top: 16px;
  }
}

.p-home .c-newslist__date {
  font-family: "objektiv-mk2", sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: #e60012;
  letter-spacing: 0.05em;
}

.p-home .c-newslist__heading {
  margin-top: 3px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-home .c-newslist__heading {
    margin-top: 7px;
    font-size: 14px;
  }
}

/*---------------------------------

  王子食品の特長

---------------------------------*/

/* ========================
  mv
======================== */
.p-about .p-mv {
  position: relative;
  background-image: url("../images/about/mv_img.png");
  background-repeat: no-repeat;
  background-position: bottom 0 left 0;
  background-size: cover;
}

@media screen and (min-width: 1024px) {
  .p-about .p-mv {
    background-image: url("../images/about/mv_img_md.png");
    background-position: bottom 0 left 50%;
  }
}

.p-about .p-mv__container {
  padding: 45px 20px 274px;
}

@media screen and (min-width: 1024px) {
  .p-about .p-mv__container {
    padding: 100px 0 165px;
  }
}

.p-about .p-mv__text {
  text-align: center;
}

.p-about .p-mv__text span {
  display: inline-block;
  padding: 4px;
  font-size: 13px;
  font-weight: 500;
  color: #e60012;
  letter-spacing: 0.025em;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
}

@media screen and (min-width: 1024px) {
  .p-about .p-mv__text span {
    padding: 4px 14px;
    font-size: 16px;
  }
}

.p-about .p-mv__heading {
  margin-top: 15px;
  font-size: 35px;
  font-weight: 500;
  line-height: 1.142;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-about .p-mv__heading {
    font-size: 40px;
    line-height: 1.3;
  }
}

.p-about .p-mv__heading span {
  color: #e60012;
}

.p-about .p-mv__body {
  margin-top: 19px;
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-about .p-mv__body {
    margin-top: 17px;
    font-size: 14px;
    line-height: 2.2;
    text-align: center;
  }
}

/* ========================
  features
======================== */
.p-about .p-features {
  margin-top: -25px;
  background-color: #f8f8f8;
}

@media screen and (min-width: 1024px) {
  .p-about .p-features {
    margin-top: -70px;
  }
}

.p-about .p-features__container {
  padding: 57px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-about .p-features__container {
    width: 940px;
    padding: 123px 0 100px;
    margin: 0 auto;
  }
}

.p-about .p-features__heading {
  font-size: 24px;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-about .p-features__heading {
    font-size: 28px;
  }
}

.p-about .p-features__content {
  margin-top: 20px;
}

@media screen and (min-width: 1024px) {
  .p-about .p-features__content {
    margin-top: 53px;
  }
}

.p-about .p-features__item {
}

@media screen and (min-width: 1024px) {
  .p-about .p-features__item {
    display: flex;
  }
}

.p-about .p-features__item:nth-child(n + 2) {
  margin-top: 30px;
}

@media screen and (min-width: 1024px) {
  .p-about .p-features__item:nth-child(n + 2) {
    margin-top: 0;
  }

  .p-about .p-features__item:nth-child(odd) {
    flex-direction: row-reverse;
  }
}

.p-about .p-features__img {
  margin: 0 -20px;
}

@media screen and (min-width: 1024px) {
  .p-about .p-features__img {
    width: 50%;
    margin: 0;
  }
}

.p-about .p-features__inner {
  position: relative;
  padding: 45px 25px;
  margin-top: -25px;
  border: 1px solid #e5e5e5;
  background-color: #fff;
}

@media screen and (min-width: 1024px) {
  .p-about .p-features__inner {
    width: 50%;
    padding: 43px 50px 40px;
    margin-top: 0;
  }
}

.p-about .p-features__ttl {
  position: relative;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.388;
}

@media screen and (min-width: 1024px) {
  .p-about .p-features__ttl {
    font-size: 22px;
    line-height: 1.454;
  }
}

.p-about .p-features__ttl::before {
  position: absolute;
  top: 0;
  left: -25px;
  width: 2px;
  height: 100%;
  content: "";
  background-color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-about .p-features__ttl::before {
    left: -51px;
  }
}

.p-about .p-features__ttl span {
  color: #e60012;
}

.p-about .p-features__body {
  margin-top: 14px;
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-about .p-features__body {
    margin-top: 17px;
    font-size: 14px;
    line-height: 2.2;
  }
}

.p-about .p-features__link {
  margin-top: 20px;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-about .p-features__link {
    margin-top: 25px;
  }
}

.p-about .p-features__link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 190px;
  height: 50px;
  font-size: 14px;
  font-weight: 500;
  color: #e60012;
  letter-spacing: 0.03em;
  text-decoration: none;
  border: 1px solid currentColor;
  border-radius: 25px;
}

@media screen and (min-width: 1024px) {
  .p-about .p-features__link a {
    width: 198px;
    height: 56px;
    font-weight: 600;
    border-width: 2px;
    border-radius: 28px;
    transition: 0.25s;
  }

  .p-about .p-features__link a:hover {
    color: #fff;
    border-color: #e60012;
    background-color: #e60012;
  }
}

/* ========================
  business
======================== */
.p-about .p-business {
}

.p-about .p-business__container {
  padding: 42px 26px 47px;
}

@media screen and (min-width: 1024px) {
  .p-about .p-business__container {
    width: 940px;
    padding: 90px 0;
    margin: 0 auto;
  }
}

.p-about .p-business__heading {
  font-size: 24px;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-about .p-business__heading {
    font-size: 28px;
  }
}

.p-about .p-business__content {
  margin-top: 26px;
}

@media screen and (min-width: 1024px) {
  .p-about .p-business__content {
    margin-top: 47px;
  }
}

.p-about .p-business__list {
}

@media screen and (min-width: 1024px) {
  .p-about .p-business__list {
    display: flex;
    margin: 0 -8px;
  }
}

.p-about .p-business__list-item {
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1024px) {
  .p-about .p-business__list-item {
    display: block;
    width: 25%;
    padding: 0 8px;
  }
}

.p-about .p-business__list-item:nth-child(n + 2) {
  margin-top: 24px;
}

@media screen and (min-width: 1024px) {
  .p-about .p-business__list-item:nth-child(n + 2) {
    margin-top: 0;
  }
}

.p-about .p-business__icon {
  display: flex;
  justify-content: center;
  min-width: 64px;
  margin-right: 30px;
}

@media screen and (min-width: 1024px) {
  .p-about .p-business__icon {
    align-items: center;
    min-width: auto;
    min-height: 88px;
    margin-right: 0;
  }
}

.p-about .p-business__icon--01 img {
  width: 50px;
}

.p-about .p-business__icon--02 img {
  width: 55px;
}

.p-about .p-business__icon--03 img {
  width: 64px;
}

.p-about .p-business__icon--04 img {
  width: 54px;
}

@media screen and (min-width: 1024px) {
  .p-about .p-business__icon--01 img {
    width: 71px;
  }

  .p-about .p-business__icon--02 img {
    width: 71px;
  }

  .p-about .p-business__icon--03 img {
    width: 88px;
  }

  .p-about .p-business__icon--04 img {
    width: 66px;
    margin-bottom: -7px;
  }
}

.p-about .p-business__list-content {
  width: calc(100% - (64px + 30px));
}

@media screen and (min-width: 1024px) {
  .p-about .p-business__list-content {
    width: auto;
    margin-top: 43px;
    text-align: center;
  }
}

.p-about .p-business__list-content dt {
  font-size: 15.5px;
  font-weight: 500;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-about .p-business__list-content dt {
    font-size: 18px;
  }
}

.p-about .p-business__list-content dd {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-about .p-business__list-content dd {
    margin-top: 25px;
    line-height: 2.25;
  }
}

/*---------------------------------

  化粧品OEM

---------------------------------*/

/* ========================
  mv
======================== */
.p-cosmetics .p-mv {
  position: relative;
  background-image: url("../images/cosmetics/mv_img.png");
  background-repeat: no-repeat;
  background-position: bottom 0 left 0;
  background-size: cover;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-mv {
    background-image: url("../images/cosmetics/mv_img_md.png");
    background-position: bottom 0 left 50%;
  }
}

.p-cosmetics .p-mv__container {
  padding: 72px 0 98px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-mv__container {
    padding: 121px 0 156px;
  }
}

.p-cosmetics .p-mv__heading {
  font-size: 36px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
  text-shadow: 0 0 11.36px rgba(68, 69, 74, 0.5);
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-mv__heading {
    font-size: 45px;
  }
}

/* ========================
  intro
======================== */
.p-cosmetics .p-intro {
  margin-top: -35px;
  background-image: url("../images/cosmetics/intro_bg.png");
  background-repeat: no-repeat;
  background-position: bottom 0 left 0;
  background-size: cover;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-intro {
    margin-top: -50px;
    background-image: url("../images/cosmetics/intro_bg_md.png");
    background-position: bottom 0 left 50%;
  }
}

.p-cosmetics .p-intro__container {
  padding: 68px 25px 281px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-intro__container {
    padding: 112px 0 404px;
  }
}

.p-cosmetics .p-intro__heading {
  position: relative;
  font-weight: 500;
  text-align: center;
}

.p-cosmetics .p-intro__heading::before {
  position: absolute;
  bottom: -18px;
  left: 50%;
  width: 33px;
  height: 3px;
  content: "";
  background-color: #e60012;
  transform: translateX(-50%);
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-intro__heading::before {
    bottom: -23px;
    width: 23px;
    height: 2px;
  }
}

.p-cosmetics .p-intro__heading-sub,
.p-cosmetics .p-intro__heading-main {
  display: block;
}

.p-cosmetics .p-intro__heading-sub {
  font-size: 14px;
  color: #e60012;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-intro__heading-sub {
    font-size: 15px;
  }
}

.p-cosmetics .p-intro__heading-main {
  margin-top: 6px;
  font-size: 24px;
  line-height: 1.25;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-intro__heading-main {
    margin-top: 11px;
    font-size: 28px;
  }
}

.p-cosmetics .p-intro__lede {
  margin-top: 32px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-intro__lede {
    margin-top: 36px;
    text-align: center;
    line-height: 2.15;
  }
}

/* ========================
  diff
======================== */
.p-cosmetics .p-diff {
}

.p-cosmetics .p-diff__container {
  padding: 42px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-diff__container {
    width: 940px;
    padding: 90px 0 100px;
    margin: 0 auto;
  }
}

.p-cosmetics .p-diff__heading {
  font-size: 24px;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-diff__heading {
    font-size: 28px;
  }
}

.p-cosmetics .p-diff__items {
  margin-top: 35px;
  display: block;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-diff__items {
    margin-top: 51px;
    display: flex;
  }
}

.p-cosmetics .p-diff__item {
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-diff__item {
    /* display: flex; */
    width: 33%;
  }
}

.p-cosmetics .p-diff__item:nth-child(n + 2) {
  margin-top: 25px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-diff__item:nth-child(n + 2) {
    margin-top: 0;
  }

  .p-cosmetics .p-diff__item:nth-child(odd) {
    /* flex-direction: row-reverse; */
  }
}

.p-cosmetics .p-diff__img {
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-diff__img {
    width: 50%;
  }
}

.p-cosmetics .p-diff__content {
  padding: 0 0 22px;
  /* color: #fff; */
  /* background-color: #e60012; */
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-diff__content {
    /* width: 33%; */
    padding: 0 20px;
  }
}

.p-cosmetics .p-diff__content dt {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
  color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-diff__content dt {
    font-size: 22px;
    line-height: 1.454;
  }
}

.p-cosmetics .p-diff__content dd {
  margin-top: 11px;
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-diff__content dd {
    margin-top: 18px;
    font-size: 14px;
    line-height: 2.15;
  }
}

/* ========================
  line up
======================== */
.p-cosmetics .p-lineup {
  background-color: #f8f8f8;
}

.p-cosmetics .p-lineup__container {
  padding: 36px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__container {
    width: 940px;
    padding: 90px 0 106px;
    margin: 0 auto;
  }
}

.p-cosmetics .p-lineup__heading {
  text-align: center;
}

.p-cosmetics .p-lineup__heading-en,
.p-cosmetics .p-lineup__heading-ja {
  display: block;
}

.p-cosmetics .p-lineup__heading-en {
  font-family: "objektiv-mk2", sans-serif;
  font-size: 25px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__heading-en {
    font-size: 28px;
  }
}

.p-cosmetics .p-lineup__heading-ja {
  margin-top: 14px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__heading-ja {
    margin-top: 25px;
  }
}

.p-cosmetics .p-lineup__content {
  margin-top: 27px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__content {
    margin-top: 38px;
  }
}

.p-cosmetics .p-lineup__list {
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__list {
    display: flex;
    margin: 0 -17px;
  }
}

.p-cosmetics .p-lineup__list-item {
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__list-item {
    width: 33.33%;
    padding: 0 17px;
  }
}

.p-cosmetics .p-lineup__list-item:nth-child(n + 2) {
  margin-top: 20px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__list-item:nth-child(n + 2) {
    margin-top: 0;
  }
}

.p-cosmetics .p-lineup__list-inner {
  position: relative;
  border: 1px solid #e5e5e5;
  background-color: #fff;
}

.p-cosmetics .p-lineup__num {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  font-family: "objektiv-mk2", sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: #e60012;
  letter-spacing: 0.03em;
  border-radius: 50%;
  background-color: rgba(230, 0, 18, 0.1);
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__num {
    top: 15px;
    left: 15px;
    width: 37px;
    height: 37px;
    font-size: 12px;
  }
}

.p-cosmetics .p-lineup__item {
  padding: 25px 47px 24px;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__item {
    min-height: 271px;
    padding: 61px 40px 43px;
  }
}

.p-cosmetics .p-lineup__item dt {
  font-size: 14px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__item dt {
    font-size: 16px;
    text-align: center;
  }
}

.p-cosmetics .p-lineup__item dd {
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.55;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__item dd {
    margin-top: 12px;
    font-size: 12px;
    line-height: 2.17;
    text-align: center;
  }
}

.p-cosmetics .p-lineup__main {
  display: flex;
  align-items: center;
  padding: 23px 30px 28px 23px;
  background-color: #f8f8f8;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__main {
    display: block;
    min-height: 166px;
    padding: 24px 40px 40px;
  }
}

.p-cosmetics .p-lineup__main dt {
  width: 75px;
  margin-right: 26px;
  font-size: 12px;
  font-weight: 600;
  color: #e60012;
  text-align: center;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__main dt {
    width: auto;
    margin-right: 0;
    font-size: 14px;
  }
}

.p-cosmetics .p-lineup__main dd {
  width: calc(100% - (75px + 26px));
  font-size: 11px;
  line-height: 1.55;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__main dd {
    width: auto;
    margin-top: 14px;
    font-size: 12px;
    line-height: 1.84;
  }
}

.p-cosmetics .p-lineup__service {
  margin-top: 30px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__service {
    margin-top: 48px;
  }
}

.p-cosmetics .p-lineup__service-heading {
  text-align: center;
}

.p-cosmetics .p-lineup__service-heading span {
  display: inline-block;
  padding: 2px 13px 3px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.025em;
  background-color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__service-heading span {
    padding: 6px 22px 7px;
    font-size: 14px;
  }
}

.p-cosmetics .p-lineup__service-content {
  padding: 30px;
  margin-top: -13px;
  background-color: #f1f1f1;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__service-content {
    display: flex;
    justify-content: space-between;
    padding: 50px;
    margin-top: -19px;
  }
}

.p-cosmetics .p-lineup__service-content dl {
  padding: 20px 21px 23px;
  background-color: #fff;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__service-content dl {
    width: 261px;
    padding: 29px 35px 41px;
  }
}

.p-cosmetics .p-lineup__service-content dl:nth-child(n + 2) {
  margin-top: 10px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__service-content dl:nth-child(n + 2) {
    margin-top: 0;
  }
}

.p-cosmetics .p-lineup__service-content dt {
  font-size: 14px;
  font-weight: 500;
  color: #e60012;
  text-align: center;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__service-content dt {
    font-weight: 600;
  }
}

.p-cosmetics .p-lineup__service-content dd {
  margin-top: 7px;
  font-size: 12px;
  line-height: 1.416;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-lineup__service-content dd {
    margin-top: 10px;
    line-height: 1.84;
  }
}

/* ========================
  case
======================== */
.p-cosmetics .p-case {
  background-color: #e60012;
}

.p-cosmetics .p-case__container {
  padding: 38px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__container {
    width: 940px;
    padding: 90px 0 95px;
    margin: 0 auto;
  }
}

.p-cosmetics .p-case__heading {
  font-size: 24px;
  font-weight: 500;
  color: #fff;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__heading {
    font-size: 28px;
  }
}

.p-cosmetics .p-case__item {
  margin-top: 42px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__item {
    margin-top: 76px;
  }
}

.p-cosmetics .p-case__list {
}

.p-cosmetics .p-case__list-item {
  position: relative;
  display: flex;
}

.p-cosmetics .p-case__list-item:nth-child(n + 2) {
  margin-top: 48px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__list-item:nth-child(n + 2) {
    margin-top: 128px;
  }
}

.p-cosmetics .p-case__list-item::before {
  position: absolute;
  top: -16px;
  left: 0;
  content: "";
  background-size: contain;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__list-item::before {
    top: -34px;
  }
}

.p-cosmetics .p-case__list-item--01::before {
  width: 155px;
  height: 32px;
  background-image: url("../images/cosmetics/case_text01.png");
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__list-item--01::before {
    width: 234px;
    height: 49px;
  }
}

.p-cosmetics .p-case__list-item--02::before {
  width: 159px;
  height: 32px;
  background-image: url("../images/cosmetics/case_text02.png");
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__list-item--02::before {
    width: 240px;
    height: 49px;
  }
}

.p-cosmetics .p-case__list-item--03::before {
  width: 159px;
  height: 33px;
  background-image: url("../images/cosmetics/case_text03.png");
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__list-item--03::before {
    width: 239px;
    height: 49px;
  }
}

.p-cosmetics .p-case__list-item--04::before {
  width: 160px;
  height: 33px;
  background-image: url("../images/cosmetics/case_text04.png");
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__list-item--04::before {
    width: 241px;
    height: 49px;
  }
}

.p-cosmetics .p-case__img {
  position: relative;
  width: 116px;
  margin-right: 19px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__img {
    width: 175px;
    margin-right: 30px;
  }
}

.p-cosmetics .p-case__content {
  width: calc(100% - (116px + 19px));
  color: #fff;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__content {
    width: calc(100% - (175px + 30px));
  }
}

.p-cosmetics .p-case__category {
  font-size: 10px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__category {
    font-size: 12px;
  }
}

.p-cosmetics .p-case__ttl {
  margin-top: 12px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__ttl {
    margin-top: 15px;
    font-size: 18px;
    line-height: 1.5;
  }
}

.p-cosmetics .p-case__body {
  margin-top: 9px;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__body {
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.833;
  }
}

.p-cosmetics .p-case__link {
  padding: 0 30px;
  margin-top: 28px;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__link {
    padding: 0;
    margin-top: 50px;
  }
}

.p-cosmetics .p-case__link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.03em;
  border: 1px solid currentColor;
  border-radius: 25px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-case__link a {
    width: 311px;
    height: 66px;
    font-size: 16px;
    border-width: 2px;
    border-radius: 33px;
    transition: 0.25s;
  }

  .p-cosmetics .p-case__link a:hover {
    color: #e60012;
    border-color: #fff;
    background-color: #fff;
  }
}

/* ========================
  flow
======================== */
.p-cosmetics .p-flow {
}

.p-cosmetics .p-flow__container {
  padding: 43px 20px 49px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-flow__container {
    width: 940px;
    padding: 93px 0 98px;
    margin: 0 auto;
  }
}

.p-cosmetics .p-flow__heading {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-flow__heading {
    font-size: 28px;
  }
}

.p-cosmetics .p-flow__list {
  display: flex;
  flex-wrap: wrap;
  margin: 36px -6px 0;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-flow__list {
    margin: 74px -16px 0;
  }
}

.p-cosmetics .p-flow__list-item {
  width: 50%;
  padding: 0 6px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-flow__list-item {
    position: relative;
    width: 25%;
    padding: 0 16px;
  }

  .p-cosmetics .p-flow__list-item:not(:nth-child(4)):not(:last-child)::before {
    position: absolute;
    top: 27px;
    right: 0;
    width: 9px;
    height: 13px;
    content: "";
    background-image: url("/assets/images/cosmetics/flow_arrow_icon.svg");
    background-size: contain;
  }
}

.p-cosmetics .p-flow__list-item:nth-child(n + 3) {
  margin-top: 33px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-flow__list-item:nth-child(n + 3) {
    margin-top: 0;
  }

  .p-cosmetics .p-flow__list-item:nth-child(n + 5) {
    margin-top: 77px;
  }
}

.p-cosmetics .p-flow__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 64px;
}

.p-cosmetics .p-flow__icon--01 img {
  width: 68px;
}

.p-cosmetics .p-flow__icon--02 img {
  width: 61px;
}

.p-cosmetics .p-flow__icon--03 img {
  width: 52px;
}

.p-cosmetics .p-flow__icon--04 img {
  width: 59px;
}

.p-cosmetics .p-flow__icon--05 img {
  width: 54px;
}

.p-cosmetics .p-flow__icon--06 img {
  width: 70px;
}

.p-cosmetics .p-flow__icon--07 img {
  width: 84px;
}

.p-cosmetics .p-flow__list-content {
  margin-top: 12px;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-flow__list-content {
    margin-top: 35px;
  }
}

.p-cosmetics .p-flow__list-heading {
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-flow__list-heading {
    height: 30px;
  }
}

.p-cosmetics .p-flow__list-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-right: 8px;
  font-family: "objektiv-mk2", sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.03em;
  background-color: #e60012;
  border-radius: 50%;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-flow__list-num {
    margin-right: 12px;
  }
}

.p-cosmetics .p-flow__list-text {
  width: calc(100% - (30px + 8px));
  font-size: 13px;
  font-weight: 500;
  line-height: 1.23;
  color: #e60012;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-flow__list-text {
    width: calc(100% - (30px + 12px));
    font-size: 14px;
    font-weight: 600;
  }
}

.p-cosmetics .p-flow__list-body {
  margin-top: 7px;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-cosmetics .p-flow__list-body {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.72;
  }
}

/*---------------------------------

  健康食品OEM

---------------------------------*/

/* ========================
  mv
======================== */
.p-healthfood .p-mv {
  position: relative;
  background-image: url("../images/healthfood/mv_img.png");
  background-repeat: no-repeat;
  background-position: bottom 0 left 0;
  background-size: cover;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-mv {
    background-image: url("../images/healthfood/mv_img_md.png");
    background-position: bottom 0 left 50%;
  }
}

.p-healthfood .p-mv__container {
  padding: 72px 0 98px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-mv__container {
    padding: 121px 0 156px;
  }
}

.p-healthfood .p-mv__heading {
  font-size: 36px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
  text-shadow: 0 0 11.36px rgba(68, 69, 74, 0.5);
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-mv__heading {
    font-size: 45px;
  }
}

/* ========================
  intro
======================== */
.p-healthfood .p-intro {
  margin-top: -35px;
  background-image: url("../images/healthfood/intro_bg.png");
  background-repeat: no-repeat;
  background-position: bottom 0 left 0;
  background-size: cover;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-intro {
    margin-top: -50px;
    background-image: url("../images/healthfood/intro_bg_md.png");
    background-position: bottom 65% left 50%;
  }
}

.p-healthfood .p-intro__container {
  padding: 96px 25px 358px;
}

@media screen and (min-width: 768px) {
  .p-healthfood .p-intro__container {
    padding: 115px 25px 52vw;
  }
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-intro__container {
    padding: 115px 0 660px;
  }
}

.p-healthfood .p-intro__heading {
  position: relative;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-intro__heading {
    font-size: 28px;
  }
}

.p-healthfood .p-intro__heading::before {
  position: absolute;
  bottom: -18px;
  left: 50%;
  width: 33px;
  height: 3px;
  content: "";
  background-color: #e60012;
  transform: translateX(-50%);
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-intro__heading::before {
    bottom: -23px;
    width: 23px;
    height: 2px;
  }
}

.p-healthfood .p-intro__heading-sub,
.p-healthfood .p-intro__heading-main {
  display: block;
}

.p-healthfood .p-intro__heading-sub {
  font-size: 14px;
  color: #e60012;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-intro__heading-sub {
    font-size: 16px;
  }
}

.p-healthfood .p-intro__heading-main {
  margin-top: 6px;
  font-size: 24px;
  line-height: 1.25;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-intro__heading-main {
    margin-top: 11px;
    font-size: 28px;
  }
}

.p-healthfood .p-intro__lede {
  margin-top: 32px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-intro__lede {
    margin-top: 37px;
    text-align: center;
    line-height: 2.15;
  }
}

/* ========================
  diff
======================== */
.p-healthfood .p-diff {
}

.p-healthfood .p-diff__container {
  padding: 42px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__container {
    width: 940px;
    padding: 90px 0 100px;
    margin: 0 auto;
  }
}

.p-healthfood .p-diff__heading {
  font-size: 24px;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__heading {
    font-size: 28px;
  }
}

.p-healthfood .p-diff__items {
  margin-top: 22px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__items {
    margin-top: 51px;
  }
}

.p-healthfood .p-diff__items:nth-of-type(n + 2) {
  margin-top: 40px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__items:nth-of-type(n + 2) {
    margin-top: 80px;
  }
}

.p-healthfood .p-diff__item {
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__item {
    display: flex;
  }

  .p-healthfood .p-diff__item--reverse {
    flex-direction: row-reverse;
  }
}

.p-healthfood .p-diff__img {
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__img {
    width: 50%;
  }
}

.p-healthfood .p-diff__content {
  padding: 27px 27px 37px;
  color: #fff;
  background-color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50%;
    padding: 0 48px;
  }
}

.p-healthfood .p-diff__content dt {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__content dt {
    font-size: 22px;
    line-height: 1.454;
  }
}

.p-healthfood .p-diff__content dd {
  margin-top: 14px;
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__content dd {
    margin-top: 18px;
    font-size: 14px;
    line-height: 2.15;
  }
}

.p-healthfood .p-diff__content a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  margin: 25px 6px 0;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.025em;
  text-decoration: none;
  border: 1px solid #fff;
  border-radius: 50px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__content a {
    height: 66px;
    margin: 35px 0 0;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.03em;
    border-width: 2px;
    transition: 0.25s;
  }

  .p-healthfood .p-diff__content a:hover {
    color: #e60012;
    border-color: #fff;
    background-color: #fff;
  }
}

.p-healthfood .p-diff__materials {
  margin-top: 60px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__materials {
    margin: 80px -18px 0;
  }
}

.p-healthfood .p-diff__materials-heading {
  font-size: 24px;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__materials-heading {
    font-size: 28px;
  }
}

.p-healthfood .p-diff__materials-inner {
  margin-top: 22px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__materials-inner {
    display: flex;
    margin-top: 51px;
  }
}

.p-healthfood .p-diff__material {
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__material {
    width: 50%;
    padding: 0 18px;
  }
}

.p-healthfood .p-diff__material:nth-child(n + 2) {
  margin-top: 25px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__material:nth-child(n + 2) {
    margin-top: 0;
  }
}

.p-healthfood .p-diff__material-img {
}

.p-healthfood .p-diff__material-content {
  margin-top: 13px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__material-content {
    margin-top: 23px;
  }
}

.p-healthfood .p-diff__material-content dt {
  font-size: 16px;
  font-weight: 500;
  color: #e60012;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__material-content dt {
    font-size: 18px;
  }
}

.p-healthfood .p-diff__material-content dd {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.54;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__material-content dd {
    margin-top: 9px;
    font-size: 14px;
    line-height: 2.15;
  }
}

.p-healthfood .p-diff__links {
  margin-top: 32px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__links {
    display: flex;
    justify-content: center;
  }
}

.p-healthfood .p-diff__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 56px;
  font-size: 15px;
  font-weight: 500;
  color: #e60012;
  letter-spacing: 0.025em;
  text-decoration: none;
  border: 1px solid #e60012;
  border-radius: 50px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__link {
    width: 361px;
    height: 66px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.03em;
    border-width: 2px;
    transition: 0.25s;
  }

  .p-healthfood .p-diff__link:hover {
    color: #fff;
    border-color: #e60012;
    background-color: #e60012;
  }
}

.p-healthfood .p-diff__link:nth-child(n + 2) {
  margin-top: 16px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__link:nth-child(n + 2) {
    margin-top: 0;
    margin-left: 20px;
  }
}

.p-healthfood .p-diff__intro {
  padding: 27px 29px 36px;
  border: 2px solid #e60012;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__intro {
    display: flex;
    flex-direction: row-reverse;
    padding: 60px;
    border-width: 3px;
  }
}

.p-healthfood .p-diff__group01 {
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__group01 {
    margin-top: -5px;
    margin-left: 45px;
  }
}

.p-healthfood .p-diff__intro-heading {
  margin-bottom: 16px;
  font-size: 17px;
  font-weight: 500;
  color: #e60012;
  line-height: 1.24;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__intro-heading {
    margin-bottom: 21px;
    font-size: 22px;
    line-height: 1.46;
  }
}

.p-healthfood .p-diff__intro-body {
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__intro-body {
    font-size: 12px;
    line-height: 2.1;
  }
}

.p-healthfood .p-diff__intro-body:nth-of-type(n + 2) {
  margin-top: 8px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__intro-body:nth-of-type(n + 2) {
    margin-top: 15px;
  }
}

.p-healthfood .p-diff__group02 {
  margin-top: 28px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__group02 {
    margin-top: 0;
  }
}

.p-healthfood .p-diff__intro-img {
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__intro-img {
    width: 339px;
  }
}

.p-healthfood .p-diff__intro-name {
  margin-top: 13px;
  font-size: 14px;
  line-height: 1.392;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__intro-name {
    margin-top: 23px;
    font-size: 16px;
  }
}

.p-healthfood .p-diff__intro-name span {
  font-size: 10px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-diff__intro-name span {
    display: inline-block;
    margin-top: 7px;
    font-size: 12px;
  }
}

/* ========================
  line up
======================== */
.p-healthfood .p-lineup {
  background-color: #f8f8f8;
}

.p-healthfood .p-lineup__container {
  padding: 36px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__container {
    width: 940px;
    padding: 90px 0 94px;
    margin: 0 auto;
  }
}

.p-healthfood .p-lineup__heading {
  text-align: center;
}

.p-healthfood .p-lineup__heading-en,
.p-healthfood .p-lineup__heading-ja {
  display: block;
}

.p-healthfood .p-lineup__heading-en {
  font-family: "objektiv-mk2", sans-serif;
  font-size: 25px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__heading-en {
    font-size: 28px;
  }
}

.p-healthfood .p-lineup__heading-ja {
  margin-top: 14px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__heading-ja {
    margin-top: 25px;
  }
}

.p-healthfood .p-lineup__content {
  margin-top: 32px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__content {
    margin-top: 45px;
  }
}

.p-healthfood .p-lineup__items-heading {
  text-align: center;
}

.p-healthfood .p-lineup__items-heading span {
  display: inline-block;
  padding: 2px 13px 3px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.025em;
  background-color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__items-heading span {
    padding: 6px 22px 7px;
    font-size: 14px;
  }
}

.p-healthfood .p-lineup__list {
  margin-top: 20px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__list {
    display: flex;
    flex-wrap: wrap;
    margin: 33px -16px 0;
  }
}

.p-healthfood .p-lineup__list-item {
  position: relative;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__list-item {
    width: 33.33%;
    padding: 0 16px;
  }
}

.p-healthfood .p-lineup__list-item:nth-child(n + 2) {
  margin-top: 15px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__list-item:nth-child(n + 2) {
    margin-top: 0;
  }

  .p-healthfood .p-lineup__list-item:nth-child(n + 4) {
    margin-top: 30px;
  }
}

.p-healthfood .p-lineup__list-num {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  font-family: "objektiv-mk2", sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: #e60012;
  letter-spacing: 0.03em;
  background-color: #fff;
  border-radius: 50%;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__list-num {
    left: 24px;
    width: 37px;
    height: 37px;
    font-size: 12px;
  }
}

.p-healthfood .p-lineup__list-inner {
  display: flex;
  align-items: center;
  border: 1px solid #e5e5e5;
  background-color: #fff;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__list-inner {
    align-items: flex-start;
  }
}

.p-healthfood .p-lineup__list-img {
  width: 132px;
  border-right: 1px solid #e5e5e5;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__list-img {
    width: 144px;
  }
}

.p-healthfood .p-lineup__list-content {
  width: calc(100% - 132px);
  padding: 0 29px;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__list-content {
    width: calc(100% - 144px);
    padding: 37px 22px 0;
    text-align: center;
  }
}

.p-healthfood .p-lineup__list-content dt {
  font-size: 14px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__list-content dt {
    min-height: 46px;
    font-size: 16px;
    line-height: 1.4375;
  }
}

.p-healthfood .p-lineup__list-content dd {
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.545;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__list-content dd {
    margin-top: 10px;
    font-size: 12px;
    line-height: 2;
  }
}

.p-healthfood .p-lineup__other {
  margin-top: 19px;
  font-size: 11px;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__other {
    display: flex;
    margin-top: 36px;
    font-size: 12px;
  }
}

.p-healthfood .p-lineup__other dt {
  font-weight: 500;
  color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__other dt {
    width: 55px;
    line-height: 1.833;
  }
}

.p-healthfood .p-lineup__other dd {
  margin-top: 3px;
  line-height: 1.46;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__other dd {
    width: calc(100% - 55px);
    margin-top: 0;
    line-height: 1.833;
  }
}

.p-healthfood .p-lineup__service {
  margin-top: 27px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__service {
    margin-top: 28px;
  }
}

.p-healthfood .p-lineup__service-heading {
  text-align: center;
}

.p-healthfood .p-lineup__service-heading span {
  display: inline-block;
  padding: 2px 13px 3px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.025em;
  background-color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__service-heading span {
    padding: 6px 22px 7px;
    font-size: 14px;
  }
}

.p-healthfood .p-lineup__service-content {
  padding: 30px;
  margin-top: -13px;
  background-color: #f1f1f1;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__service-content {
    display: flex;
    justify-content: space-between;
    padding: 50px;
    margin-top: -19px;
  }
}

.p-healthfood .p-lineup__service-content dl {
  padding: 20px 21px 23px;
  background-color: #fff;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__service-content dl {
    width: 261px;
    padding: 29px 35px 41px;
  }
}

.p-healthfood .p-lineup__service-content dl:nth-child(n + 2) {
  margin-top: 10px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__service-content dl:nth-child(n + 2) {
    margin-top: 0;
  }
}

.p-healthfood .p-lineup__service-content dt {
  font-size: 14px;
  font-weight: 500;
  color: #e60012;
  text-align: center;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__service-content dt {
    font-weight: 600;
  }
}

.p-healthfood .p-lineup__service-content dd {
  margin-top: 7px;
  font-size: 12px;
  line-height: 1.416;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-lineup__service-content dd {
    margin-top: 10px;
    line-height: 1.84;
  }
}

/* ========================
  case
======================== */
.p-healthfood .p-case {
  background-color: #e60012;
}

.p-healthfood .p-case__container {
  padding: 38px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__container {
    width: 940px;
    padding: 90px 0 95px;
    margin: 0 auto;
  }
}

.p-healthfood .p-case__heading {
  font-size: 24px;
  font-weight: 500;
  color: #fff;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__heading {
    font-size: 28px;
  }
}

.p-healthfood .p-case__item {
  margin-top: 42px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__item {
    margin-top: 76px;
  }
}

.p-healthfood .p-case__list {
}

.p-healthfood .p-case__list-item {
  position: relative;
  display: flex;
}

.p-healthfood .p-case__list-item:nth-child(n + 2) {
  margin-top: 48px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__list-item:nth-child(n + 2) {
    margin-top: 128px;
  }
}

.p-healthfood .p-case__list-item::before {
  position: absolute;
  top: -16px;
  left: 0;
  content: "";
  background-size: contain;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__list-item::before {
    top: -34px;
  }
}

.p-healthfood .p-case__list-item--01::before {
  width: 155px;
  height: 32px;
  background-image: url("../images/healthfood/case_text01.png");
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__list-item--01::before {
    width: 234px;
    height: 49px;
  }
}

.p-healthfood .p-case__list-item--02::before {
  width: 159px;
  height: 32px;
  background-image: url("../images/healthfood/case_text02.png");
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__list-item--02::before {
    width: 240px;
    height: 49px;
  }
}

.p-healthfood .p-case__list-item--03::before {
  width: 159px;
  height: 33px;
  background-image: url("../images/healthfood/case_text03.png");
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__list-item--03::before {
    width: 239px;
    height: 49px;
  }
}

.p-healthfood .p-case__list-item--04::before {
  width: 160px;
  height: 33px;
  background-image: url("../images/healthfood/case_text04.png");
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__list-item--04::before {
    width: 241px;
    height: 49px;
  }
}

.p-healthfood .p-case__img {
  position: relative;
  width: 116px;
  margin-right: 19px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__img {
    width: 175px;
    margin-right: 30px;
  }
}

.p-healthfood .p-case__content {
  width: calc(100% - (116px + 19px));
  color: #fff;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__content {
    width: calc(100% - (175px + 30px));
  }
}

.p-healthfood .p-case__category {
  font-size: 10px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__category {
    font-size: 12px;
  }
}

.p-healthfood .p-case__ttl {
  margin-top: 12px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__ttl {
    margin-top: 15px;
    font-size: 18px;
    line-height: 1.5;
  }
}

.p-healthfood .p-case__body {
  margin-top: 9px;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__body {
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.833;
  }
}

.p-healthfood .p-case__link {
  padding: 0 30px;
  margin-top: 28px;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__link {
    padding: 0;
    margin-top: 50px;
  }
}

.p-healthfood .p-case__link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.03em;
  border: 1px solid currentColor;
  border-radius: 25px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-case__link a {
    width: 311px;
    height: 66px;
    font-size: 16px;
    border-width: 2px;
    border-radius: 33px;
    transition: 0.25s;
  }

  .p-healthfood .p-case__link a:hover {
    color: #e60012;
    border-color: #fff;
    background-color: #fff;
  }
}

/* ========================
  questionary
======================== */
.p-healthfood .p-questionary {
  background-color: #f8f8f8;
}

.p-healthfood .p-questionary__container {
  padding: 41px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__container {
    width: 940px;
    padding: 90px 0 110px;
    margin: 0 auto;
  }
}

.p-healthfood .p-questionary__heading {
  font-size: 24px;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__heading {
    font-size: 28px;
  }
}

.p-healthfood .p-questionary__heading span {
  display: block;
  font-size: 9px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__heading span {
    font-size: 11px;
  }
}

.p-healthfood .p-questionary__content {
  margin-top: 33px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__content {
    margin-top: 44px;
  }
}

.p-healthfood .p-questionary__response {
}

.p-healthfood .p-questionary__header {
}

.p-healthfood .p-questionary__ttl {
  padding: 6px 0;
  margin: 0 20px;
  font-size: 22px;
  font-weight: 500;
  text-align: center;
  background-color: rgba(230, 0, 19, 0.1);
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 528px;
    padding: 3px 0 5px;
    margin: 0 auto;
    font-size: 28px;
  }
}

.p-healthfood .p-questionary__ttl-em {
  display: block;
  font-family: "objektiv-mk2", sans-serif;
  font-size: 47.5px;
  font-weight: 600;
  line-height: 1;
  color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__ttl-em {
    padding-right: 7px;
    font-size: 62px;
  }
}

.p-healthfood .p-questionary__ttl-sm {
  font-size: 26px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__ttl-sm {
    font-size: 34px;
  }
}

.p-healthfood .p-questionary__lede {
  padding: 0 5px;
  margin-top: 18px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__lede {
    padding: 0;
    margin-top: 31px;
    line-height: 2.142;
    text-align: center;
  }
}

.p-healthfood .p-questionary__img {
  margin-top: 23px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__img {
    margin-top: 40px;
  }
}

.p-healthfood .p-questionary__voice {
  margin-top: 31px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__voice {
    margin-top: 60px;
  }
}

.p-healthfood .p-questionary__voice-heading {
  text-align: center;
}

.p-healthfood .p-questionary__voice-heading span {
  display: inline-block;
  padding: 4px 13px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.025em;
  background-color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__voice-heading span {
    padding: 5px 30px;
    font-size: 18px;
  }
}

.p-healthfood .p-questionary__voice-list {
  padding: 40px 31px 33px 41px;
  margin-top: -14px;
  background-color: #fff;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__voice-list {
    padding: 45px 87px;
    margin-top: -19px;
  }
}

.p-healthfood .p-questionary__voice-item {
  position: relative;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.54;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__voice-item {
    font-size: 16px;
    line-height: 2.5;
  }
}

.p-healthfood .p-questionary__voice-item:nth-child(n + 2) {
  margin-top: 10px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__voice-item:nth-child(n + 2) {
    margin-top: 0;
  }
}

.p-healthfood .p-questionary__voice-item::before {
  position: absolute;
  top: 6px;
  left: -14px;
  width: 6px;
  height: 6px;
  content: "";
  background-color: #e60012;
  border-radius: 50%;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-questionary__voice-item::before {
    top: 16px;
    left: -19px;
    width: 8px;
    height: 8px;
  }
}

/* ========================
  banner
======================== */
.p-healthfood .p-banner {
}

.p-healthfood .p-banner__container {
  padding: 50px 20px 0;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-banner__container {
    width: 940px;
    padding: 100px 0 0;
    margin: 0 auto;
  }
}

.p-healthfood .p-banner__link {
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-banner__link {
    backface-visibility: hidden;
    transition: 0.25s;
  }

  .p-healthfood .p-banner__link:hover {
    opacity: 0.8;
  }
}

/* ========================
  flow
======================== */
.p-healthfood .p-flow {
}

.p-healthfood .p-flow__container {
  padding: 43px 20px 49px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-flow__container {
    width: 940px;
    padding: 93px 0 98px;
    margin: 0 auto;
  }
}

.p-healthfood .p-flow__heading {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-flow__heading {
    font-size: 28px;
  }
}

.p-healthfood .p-flow__list {
  display: flex;
  flex-wrap: wrap;
  margin: 36px -6px 0;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-flow__list {
    margin: 74px -16px 0;
  }
}

.p-healthfood .p-flow__list-item {
  width: 50%;
  padding: 0 6px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-flow__list-item {
    position: relative;
    width: 25%;
    padding: 0 16px;
  }

  .p-healthfood .p-flow__list-item:not(:nth-child(4)):not(:last-child)::before {
    position: absolute;
    top: 27px;
    right: 0;
    width: 9px;
    height: 13px;
    content: "";
    background-image: url("/assets/images/healthfood/flow_arrow_icon.svg");
    background-size: contain;
  }
}

.p-healthfood .p-flow__list-item:nth-child(n + 3) {
  margin-top: 33px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-flow__list-item:nth-child(n + 3) {
    margin-top: 0;
  }

  .p-healthfood .p-flow__list-item:nth-child(n + 5) {
    margin-top: 77px;
  }
}

.p-healthfood .p-flow__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 64px;
}

.p-healthfood .p-flow__icon--01 img {
  width: 68px;
}

.p-healthfood .p-flow__icon--02 img {
  width: 61px;
}

.p-healthfood .p-flow__icon--03 img {
  width: 52px;
}

.p-healthfood .p-flow__icon--04 img {
  width: 59px;
}

.p-healthfood .p-flow__icon--05 img {
  width: 72px;
}

.p-healthfood .p-flow__icon--06 img {
  width: 70px;
}

.p-healthfood .p-flow__icon--07 img {
  width: 84px;
}

.p-healthfood .p-flow__list-content {
  margin-top: 12px;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-flow__list-content {
    margin-top: 35px;
  }
}

.p-healthfood .p-flow__list-heading {
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-flow__list-heading {
    height: 30px;
  }
}

.p-healthfood .p-flow__list-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-right: 8px;
  font-family: "objektiv-mk2", sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.03em;
  background-color: #e60012;
  border-radius: 50%;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-flow__list-num {
    margin-right: 12px;
  }
}

.p-healthfood .p-flow__list-text {
  width: calc(100% - (30px + 8px));
  font-size: 13px;
  font-weight: 500;
  line-height: 1.23;
  color: #e60012;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-flow__list-text {
    width: calc(100% - (30px + 12px));
    font-size: 14px;
    font-weight: 600;
  }
}

.p-healthfood .p-flow__list-body {
  margin-top: 7px;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-healthfood .p-flow__list-body {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.72;
  }
}

/*---------------------------------

  原材料

---------------------------------*/

/* ========================
  mv
======================== */
.p-materials .p-mv {
  position: relative;
  background-image: url("../images/material/mv_img.png");
  background-repeat: no-repeat;
  background-position: bottom 0 left 0;
  background-size: cover;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-mv {
    background-image: url("../images/material/mv_img_md.png");
    background-position: bottom 0 left 50%;
  }
}

.p-materials .p-mv__container {
  padding: 72px 0 98px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-mv__container {
    padding: 121px 0 156px;
  }
}

.p-materials .p-mv__heading {
  font-size: 36px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
  text-shadow: 0 0 11.36px rgba(68, 69, 74, 0.5);
}

@media screen and (min-width: 1024px) {
  .p-materials .p-mv__heading {
    font-size: 45px;
  }
}

/* ========================
  material
======================== */
.p-materials .p-material {
}

.p-materials .p-material__container {
  padding: 42px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-material__container {
    width: 940px;
    padding: 63px 0 100px;
    margin: 0 auto;
  }
}

.p-materials .p-material__inner {
}

.p-materials .p-material__inner:nth-child(n + 2) {
  margin-top: 60px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-material__inner:nth-child(n + 2) {
    margin-top: 80px;
  }
}

.p-materials .p-material__heading {
  font-size: 24px;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-material__heading {
    font-size: 28px;
  }
}

.p-materials .p-material__items {
  margin-top: 22px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-material__items {
    display: flex;
    flex-wrap: wrap;
    margin: 51px -20px 0;
  }
}

.p-materials .p-material__item {
  display: block;
  text-decoration: none;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-material__item {
    width: 50%;
    padding: 0 20px;
    backface-visibility: hidden;
    transition: opacity 0.25s;
  }

  .p-materials .p-material__item:hover {
    opacity: 0.8;
  }
}

.p-materials .p-material__item:nth-child(n + 2) {
  margin-top: 25px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-material__item:nth-child(n + 2) {
    margin-top: 0;
  }

  .p-materials .p-material__item:nth-child(n + 3) {
    margin-top: 40px;
  }
}

.p-materials .p-material__img {
}

.p-materials .p-material__content {
  padding: 27px 27px 32px;
  color: #fff;
  background-color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-material__content {
    padding: 32px 40px 46px;
  }

  .p-materials .p-material__content--md {
    min-height: 215px;
  }
}

.p-materials .p-material__content dt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-material__content dt {
    font-size: 18px;
    line-height: 1.454;
  }
}

.p-materials .p-material__content dd {
  margin-top: 14px;
  font-size: 11px;
  line-height: 2;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-material__content dd {
    margin-top: 15px;
    font-size: 12px;
  }
}

/* ========================
  intro
======================== */
.p-materials .p-intro {
  background-color: #f8f8f8;
}

.p-materials .p-intro__container {
  padding: 42px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__container {
    width: 940px;
    padding: 88px 0;
    margin: 0 auto;
  }
}

.p-materials .p-intro__lede {
  margin-top: 23px;
  text-align: center;
}

.p-materials .p-intro__lede.pc {
  display: none;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__lede {
    margin-top: 27px;
  }

  .p-materials .p-intro__lede.sp {
    display: none;
  }

  .p-materials .p-intro__lede.pc {
    display: block;
  }
}

.p-materials .p-intro__lede span {
  display: inline-block;
  padding: 2px 13px 3px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.025em;
  background-color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__lede span {
    padding: 3px 10px 5px 12px;
    font-size: 14px;
  }
}

.p-materials .p-intro__lede span:nth-child(n + 2) {
  margin-top: 4px;
}

.p-materials .p-intro__heading {
  font-size: 25px;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__heading {
    font-size: 28px;
  }
}

.p-materials .p-intro__content {
  margin-top: 50px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__content {
    display: flex;
    flex-wrap: wrap;
    margin: 60px -17px 0;
  }
}

.p-materials .p-intro__items {
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__items {
    width: 50%;
    padding: 0 17px;
  }
}

.p-materials .p-intro__items:nth-child(n + 2) {
  margin-top: 25px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__items:nth-child(n + 2) {
    margin-top: 0;
  }

  .p-materials .p-intro__items:nth-child(n + 3) {
    margin-top: 40px;
  }
}

.p-materials .p-intro__inner {
  position: relative;
  padding: 30px 40px 40px;
  border-right: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  border-left: 1px solid #e5e5e5;
  background-color: #fff;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__inner {
    padding: 46px 60px;
  }

  .p-materials .p-intro__items:nth-child(1) .p-intro__inner,
  .p-materials .p-intro__items:nth-child(2) .p-intro__inner {
    min-height: 1382px;
  }

  .p-materials .p-intro__items:nth-child(3) .p-intro__inner,
  .p-materials .p-intro__items:nth-child(4) .p-intro__inner {
    min-height: 572px;
  }

  .p-materials .p-intro__items:nth-child(5) .p-intro__inner,
  .p-materials .p-intro__items:nth-child(6) .p-intro__inner {
    min-height: 912px;
  }

  .p-materials .p-intro__items:nth-child(7) .p-intro__inner,
  .p-materials .p-intro__items:nth-child(8) .p-intro__inner {
    min-height: 957px;
  }

  .p-materials .p-intro__items:nth-child(9) .p-intro__inner,
  .p-materials .p-intro__items:nth-child(10) .p-intro__inner {
    min-height: 285px;
  }

  .p-materials .p-intro__items:nth-child(11) .p-intro__inner,
  .p-materials .p-intro__items:nth-child(12) .p-intro__inner {
    min-height: 903px;
  }

  .p-materials .p-intro__items:nth-child(13) .p-intro__inner,
  .p-materials .p-intro__items:nth-child(14) .p-intro__inner {
    min-height: 1040px;
  }
}

.p-materials .p-intro__inner::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background-color: #e60012;
}

.p-materials .p-intro__ttl {
  font-size: 19px;
  font-weight: 500;
  color: #e60012;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__ttl {
    font-size: 20px;
  }
}

.p-materials .p-intro__item {
  display: flex;
  margin: 25px -10px 0;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__item {
    margin: 33px -17px 0;
  }
}

.p-materials .p-intro__list {
  width: 50%;
  padding: 0 10px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__list {
    padding: 0 17px;
  }
}

.p-materials .p-intro__list li {
  position: relative;
  padding-left: 15px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.571;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__list li {
    padding-left: 20px;
    font-size: 14px;
  }
}

.p-materials .p-intro__list li:nth-child(n + 2) {
  margin-top: 7px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__list li:nth-child(n + 2) {
    margin-top: 11px;
  }
}

.p-materials .p-intro__list li::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 5px;
  height: 5px;
  content: "";
  background-color: #e60012;
  border-radius: 50%;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-intro__list li::before {
    width: 6px;
    height: 6px;
  }
}

/* ========================
  line up
======================== */
.p-materials .p-lineup {
}

.p-materials .p-lineup__container {
  padding: 36px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__container {
    width: 940px;
    padding: 56px 0 94px;
    margin: 0 auto;
  }
}

.p-materials .p-lineup__heading {
  font-family: "objektiv-mk2", sans-serif;
  font-size: 25px;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__heading {
    font-size: 28px;
  }
}

.p-materials .p-lineup__content {
  margin-top: 28px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__content {
    margin-top: 45px;
  }
}

.p-materials .p-lineup__items-heading {
  text-align: center;
}

.p-materials .p-lineup__items-heading span {
  display: inline-block;
  padding: 2px 13px 3px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.025em;
  background-color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__items-heading span {
    padding: 6px 22px 7px;
    font-size: 14px;
  }
}

.p-materials .p-lineup__list {
  margin-top: 20px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__list {
    display: flex;
    flex-wrap: wrap;
    margin: 33px -16px 0;
  }
}

.p-materials .p-lineup__list-item {
  position: relative;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__list-item {
    width: 33.33%;
    padding: 0 16px;
  }
}

.p-materials .p-lineup__list-item:nth-child(n + 2) {
  margin-top: 15px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__list-item:nth-child(n + 2) {
    margin-top: 0;
  }

  .p-materials .p-lineup__list-item:nth-child(n + 4) {
    margin-top: 30px;
  }
}

.p-materials .p-lineup__list-num {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  font-family: "objektiv-mk2", sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: #e60012;
  letter-spacing: 0.03em;
  background-color: #fff;
  border-radius: 50%;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__list-num {
    left: 24px;
    width: 37px;
    height: 37px;
    font-size: 12px;
  }
}

.p-materials .p-lineup__list-inner {
  display: flex;
  align-items: center;
  border: 1px solid #e5e5e5;
  background-color: #fff;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__list-inner {
    align-items: flex-start;
  }
}

.p-materials .p-lineup__list-img {
  width: 132px;
  border-right: 1px solid #e5e5e5;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__list-img {
    width: 144px;
  }
}

.p-materials .p-lineup__list-content {
  width: calc(100% - 132px);
  padding: 0 29px;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__list-content {
    width: calc(100% - 144px);
    padding: 37px 22px 0;
    text-align: center;
  }
}

.p-materials .p-lineup__list-content dt {
  font-size: 14px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__list-content dt {
    min-height: 46px;
    font-size: 16px;
    line-height: 1.4375;
  }
}

.p-materials .p-lineup__list-content dd {
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.545;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__list-content dd {
    margin-top: 10px;
    font-size: 12px;
    line-height: 2;
  }
}

.p-materials .p-lineup__other {
  margin-top: 19px;
  font-size: 11px;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__other {
    display: flex;
    margin-top: 36px;
    font-size: 12px;
  }
}

.p-materials .p-lineup__other dt {
  font-weight: 500;
  color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__other dt {
    width: 55px;
    line-height: 1.833;
  }
}

.p-materials .p-lineup__other dd {
  margin-top: 3px;
  line-height: 1.46;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__other dd {
    width: calc(100% - 55px);
    margin-top: 0;
    line-height: 1.833;
  }
}

.p-materials .p-lineup__service {
  margin-top: 27px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__service {
    margin-top: 28px;
  }
}

.p-materials .p-lineup__service-heading {
  text-align: center;
}

.p-materials .p-lineup__service-heading span {
  display: inline-block;
  padding: 2px 13px 3px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.025em;
  background-color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__service-heading span {
    padding: 6px 22px 7px;
    font-size: 14px;
  }
}

.p-materials .p-lineup__service-content {
  padding: 30px;
  margin-top: -13px;
  background-color: #f1f1f1;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__service-content {
    display: flex;
    justify-content: space-between;
    padding: 50px;
    margin-top: -19px;
  }
}

.p-materials .p-lineup__service-content dl {
  padding: 20px 21px 23px;
  background-color: #fff;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__service-content dl {
    width: 261px;
    padding: 29px 35px 41px;
  }
}

.p-materials .p-lineup__service-content dl:nth-child(n + 2) {
  margin-top: 10px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__service-content dl:nth-child(n + 2) {
    margin-top: 0;
  }
}

.p-materials .p-lineup__service-content dt {
  font-size: 14px;
  font-weight: 500;
  color: #e60012;
  text-align: center;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__service-content dt {
    font-weight: 600;
  }
}

.p-materials .p-lineup__service-content dd {
  margin-top: 7px;
  font-size: 12px;
  line-height: 1.416;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__service-content dd {
    margin-top: 10px;
    line-height: 1.84;
  }
}

.p-materials .p-lineup__misc {
  margin-top: 30px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__misc {
    margin-top: 40px;
  }
}

.p-materials .p-lineup__misc-body {
  font-size: 13px;
  font-weight: 600;
  color: #e60012;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__misc-body {
    font-size: 14px;
    line-height: 1.687142;
  }
}

.p-materials .p-lineup__misc-text {
  margin-top: 20px;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__misc-text {
    margin-top: 22px;
  }
}

.p-materials .p-lineup__misc-text span {
  position: relative;
  font-size: 14px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__misc-text span {
    font-size: 16px;
  }
}

.p-materials .p-lineup__misc-text span::before,
.p-materials .p-lineup__misc-text span::after {
  position: absolute;
  top: 3px;
  width: 2px;
  height: 17px;
  content: "";
  background-color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__misc-text span::before,
  .p-materials .p-lineup__misc-text span::after {
    top: 4px;
    height: 19px;
  }
}

.p-materials .p-lineup__misc-text span::before {
  left: -18px;
  transform: rotate(-30deg);
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__misc-text span::before {
    left: -26px;
  }
}

.p-materials .p-lineup__misc-text span::after {
  right: -17px;
  transform: rotate(30deg);
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__misc-text span::after {
    right: -25px;
  }
}

.p-materials .p-lineup__misc-link {
  padding: 0 30px;
  margin-top: 12px;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__misc-link {
    margin-top: 15px;
  }
}

.p-materials .p-lineup__misc-link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  font-size: 14px;
  font-weight: 600;
  color: #e60012;
  text-decoration: none;
  letter-spacing: 0.03em;
  border: 1px solid currentColor;
  border-radius: 25px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-lineup__misc-link a {
    width: 391px;
    height: 68px;
    font-size: 16px;
    border-width: 2px;
    border-radius: 35px;
    transition: 0.25s;
  }

  .p-materials .p-lineup__misc-link a:hover {
    color: #fff;
    background-color: #e60012;
    border-color: #e60012;
  }
}

/* ========================
  flow
======================== */
.p-materials .p-flow {
}

.p-materials .p-flow__container {
  padding: 43px 20px 49px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-flow__container {
    width: 940px;
    padding: 62px 0 98px;
    margin: 0 auto;
  }
}

.p-materials .p-flow__heading {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-flow__heading {
    font-size: 28px;
  }
}

.p-materials .p-flow__list {
  display: flex;
  flex-wrap: wrap;
  margin: 36px -6px 0;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-flow__list {
    margin: 74px -16px 0;
  }
}

.p-materials .p-flow__list-item {
  width: 50%;
  padding: 0 6px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-flow__list-item {
    position: relative;
    width: 25%;
    padding: 0 16px;
  }

  .p-materials .p-flow__list-item:not(:nth-child(4)):not(:last-child)::before {
    position: absolute;
    top: 27px;
    right: 0;
    width: 9px;
    height: 13px;
    content: "";
    background-image: url("/assets/images/material/flow_arrow_icon.svg");
    background-size: contain;
  }
}

.p-materials .p-flow__list-item:nth-child(n + 3) {
  margin-top: 33px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-flow__list-item:nth-child(n + 3) {
    margin-top: 0;
  }

  .p-materials .p-flow__list-item:nth-child(n + 5) {
    margin-top: 77px;
  }
}

.p-materials .p-flow__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 64px;
}

.p-materials .p-flow__icon--01 img {
  width: 68px;
}

.p-materials .p-flow__icon--02 img {
  width: 61px;
}

.p-materials .p-flow__icon--03 img {
  width: 52px;
}

.p-materials .p-flow__icon--04 img {
  width: 59px;
}

.p-materials .p-flow__icon--05 img {
  width: 72px;
}

.p-materials .p-flow__icon--06 img {
  width: 70px;
}

.p-materials .p-flow__icon--07 img {
  width: 84px;
}

.p-materials .p-flow__list-content {
  margin-top: 12px;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-flow__list-content {
    margin-top: 35px;
  }
}

.p-materials .p-flow__list-heading {
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-flow__list-heading {
    height: 30px;
  }
}

.p-materials .p-flow__list-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-right: 8px;
  font-family: "objektiv-mk2", sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.03em;
  background-color: #e60012;
  border-radius: 50%;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-flow__list-num {
    margin-right: 12px;
  }
}

.p-materials .p-flow__list-text {
  width: calc(100% - (30px + 8px));
  font-size: 13px;
  font-weight: 500;
  line-height: 1.23;
  color: #e60012;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-flow__list-text {
    width: calc(100% - (30px + 12px));
    font-size: 14px;
    font-weight: 600;
  }
}

.p-materials .p-flow__list-body {
  margin-top: 7px;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-materials .p-flow__list-body {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.72;
  }
}

/*---------------------------------

  グローバルサービス

---------------------------------*/

/* ========================
  mv
======================== */
.p-oversea .p-mv {
  position: relative;
  background-image: url("../images/oversea_lab/mv_img.png");
  background-repeat: no-repeat;
  background-position: bottom 0 left 0;
  background-size: cover;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-mv {
    background-image: url("../images/oversea_lab/mv_img_md.png");
    background-position: bottom 0 left 50%;
  }
}

.p-oversea .p-mv__container {
  padding: 72px 0 98px;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-mv__container {
    padding: 121px 0 156px;
  }
}

.p-oversea .p-mv__heading {
  font-size: 36px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
  text-shadow: 0 0 11.36px rgba(68, 69, 74, 0.5);
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-mv__heading {
    font-size: 45px;
  }
}

/* ========================
  intro
======================== */
.p-oversea .p-intro {
  margin-top: -35px;
  background-image: url("../images/oversea_lab/intro_bg.png");
  background-repeat: no-repeat;
  background-position: bottom 0 left 0;
  background-size: cover;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-intro {
    margin-top: -50px;
    background-image: url("../images/oversea_lab/intro_bg_md.png");
    background-position: bottom 0 left 50%;
  }
}

.p-oversea .p-intro__container {
  padding: 68px 25px 344px;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-intro__container {
    padding: 112px 0 479px;
  }
}

.p-oversea .p-intro__heading {
  position: relative;
  font-weight: 500;
  text-align: center;
}

.p-oversea .p-intro__heading::before {
  position: absolute;
  bottom: -18px;
  left: 50%;
  width: 33px;
  height: 3px;
  content: "";
  background-color: #e60012;
  transform: translateX(-50%);
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-intro__heading::before {
    bottom: -23px;
    width: 23px;
    height: 2px;
  }
}

.p-oversea .p-intro__heading-sub,
.p-oversea .p-intro__heading-main {
  display: block;
}

.p-oversea .p-intro__heading-sub {
  font-size: 14px;
  color: #e60012;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-intro__heading-sub {
    font-size: 15px;
  }
}

.p-oversea .p-intro__heading-main {
  margin-top: 6px;
  font-size: 24px;
  line-height: 1.25;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-intro__heading-main {
    margin-top: 11px;
    font-size: 28px;
  }
}

.p-oversea .p-intro__lede {
  margin-top: 32px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-intro__lede {
    margin-top: 36px;
    text-align: center;
    line-height: 2.15;
  }
}

/* ========================
  service
======================== */
.p-oversea .p-service {
}

.p-oversea .p-service__container {
  padding: 42px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-service__container {
    width: 940px;
    padding: 90px 0 65px;
    margin: 0 auto;
  }
}

.p-oversea .p-service__heading {
  font-size: 24px;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-service__heading {
    font-size: 28px;
  }
}

.p-oversea .p-service__items {
  margin-top: 40px;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-service__items {
    margin-top: 51px;
  }
}

.p-oversea .p-service__items:nth-of-type(n + 2) {
  margin-top: 60px;
}

.p-oversea .p-service__items-heading {
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-service__items-heading {
    font-size: 22px;
  }
}

.p-oversea .p-service__items-heading-inline {
  display: inline-block;
  padding-bottom: 4px;
  border-bottom: 1px solid #e60012;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-service__items-heading-inline {
    padding-bottom: 7px;
    border-bottom-width: 2px;
  }
}

.p-oversea .p-service__items-heading-inline span {
  color: #e60012;
}

.p-oversea .p-service__item {
  margin-top: 30px;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-service__item {
    display: flex;
    flex-direction: row-reverse;
    margin-top: 40px;
  }

  .p-oversea .p-service__item:nth-of-type(n + 2) {
    margin-top: 0;
  }

  .p-oversea .p-service__item:nth-child(odd) {
    flex-direction: row;
  }
}

.p-oversea .p-service__img {
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-service__img {
    width: 50%;
  }
}

.p-oversea .p-service__content {
  padding: 27px;
  color: #fff;
  background-color: #e60012;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-service__content {
    width: 50%;
    padding: 60px 50px;
  }
}

.p-oversea .p-service__content dt {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-service__content dt {
    font-size: 22px;
    line-height: 1.454;
  }
}

.p-oversea .p-service__content dd {
  margin-top: 11px;
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-service__content dd {
    margin-top: 18px;
    font-size: 14px;
    line-height: 2.15;
  }
}

/* ========================
  factory
======================== */
.p-oversea .p-factory {
  background-color: #f8f8f8;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-factory {
    background-image: url("../images/oversea_lab/factory_bg_md.jpg");
    background-position: 50% 50%;
    background-size: cover;
  }
}

.p-oversea .p-factory__container {
  padding: 50px 20px;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-factory__container {
    display: flex;
    width: 940px;
    padding: 127px 0 96px;
    margin: 0 auto;
  }
}

.p-oversea .p-factory__img {
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-factory__img {
    width: 50%;
  }
}

.p-oversea .p-factory__content {
  padding: 27px;
  background-color: #fff;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-factory__content {
    width: 50%;
    padding: 73px 50px;
  }
}

.p-oversea .p-factory__heading {
  font-size: 18px;
  font-weight: 500;
  color: #e60012;
  line-height: 1.25;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-factory__heading {
    margin-top: 16px;
    font-size: 22px;
    line-height: 1.454;
  }
}

.p-oversea .p-factory__body {
  margin-top: 11px;
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-factory__body {
    margin-top: 18px;
    font-size: 14px;
    line-height: 2.15;
  }
}

/* ========================
  case
======================== */
.p-oversea .p-case {
  background-color: #e60012;
}

.p-oversea .p-case__container {
  padding: 38px 20px 50px;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__container {
    width: 940px;
    padding: 90px 0 95px;
    margin: 0 auto;
  }
}

.p-oversea .p-case__heading {
  font-size: 24px;
  font-weight: 500;
  color: #fff;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__heading {
    font-size: 28px;
  }
}

.p-oversea .p-case__item {
  margin-top: 42px;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__item {
    margin-top: 76px;
  }
}

.p-oversea .p-case__list {
}

.p-oversea .p-case__list-item {
  position: relative;
  display: flex;
}

.p-oversea .p-case__list-item:nth-child(n + 2) {
  margin-top: 48px;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__list-item:nth-child(n + 2) {
    margin-top: 128px;
  }
}

.p-oversea .p-case__list-item::before {
  position: absolute;
  top: -16px;
  left: 0;
  content: "";
  background-size: contain;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__list-item::before {
    top: -34px;
  }
}

.p-oversea .p-case__list-item--01::before {
  width: 155px;
  height: 32px;
  background-image: url("../images/oversea_lab/case_text01.png");
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__list-item--01::before {
    width: 234px;
    height: 49px;
  }
}

.p-oversea .p-case__list-item--02::before {
  width: 159px;
  height: 32px;
  background-image: url("../images/oversea_lab/case_text02.png");
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__list-item--02::before {
    width: 240px;
    height: 49px;
  }
}

.p-oversea .p-case__list-item--03::before {
  width: 159px;
  height: 33px;
  background-image: url("../images/oversea_lab/case_text03.png");
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__list-item--03::before {
    width: 239px;
    height: 49px;
  }
}

.p-oversea .p-case__list-item--04::before {
  width: 160px;
  height: 33px;
  background-image: url("../images/oversea_lab/case_text04.png");
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__list-item--04::before {
    width: 241px;
    height: 49px;
  }
}

.p-oversea .p-case__img {
  position: relative;
  width: 116px;
  margin-right: 19px;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__img {
    width: 175px;
    margin-right: 30px;
  }
}

.p-oversea .p-case__content {
  width: calc(100% - (116px + 19px));
  color: #fff;
  letter-spacing: 0.025em;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__content {
    width: calc(100% - (175px + 30px));
  }
}

.p-oversea .p-case__category {
  font-size: 10px;
  font-weight: 500;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__category {
    font-size: 12px;
  }
}

.p-oversea .p-case__ttl {
  margin-top: 12px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__ttl {
    margin-top: 15px;
    font-size: 18px;
    line-height: 1.5;
  }
}

.p-oversea .p-case__body {
  margin-top: 9px;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__body {
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.833;
  }
}

.p-oversea .p-case__link {
  padding: 0 30px;
  margin-top: 28px;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__link {
    padding: 0;
    margin-top: 50px;
  }
}

.p-oversea .p-case__link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.03em;
  border: 1px solid currentColor;
  border-radius: 25px;
}

@media screen and (min-width: 1024px) {
  .p-oversea .p-case__link a {
    width: 311px;
    height: 66px;
    font-size: 16px;
    border-width: 2px;
    border-radius: 33px;
    transition: 0.25s;
  }

  .p-oversea .p-case__link a:hover {
    color: #e60012;
    border-color: #fff;
    background-color: #fff;
  }
}

/*---------------------------------

  ユーティリティ

---------------------------------*/

.sp-br {
  display: block;
}

.pc-br {
  display: none;
}

@media screen and (min-width: 1024px) {
  .sp-br {
    display: none;
  }

  .pc-br {
    display: block;
  }
}
