/*!***************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/sass-loader/dist/cjs.js!./resources/sass/frontend.scss ***!
  \***************************************************************************************************************************************************/
@charset "UTF-8";
/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

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

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

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

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

/*
 variables
*/
/*
 general
*/
/* 変数 */
:root {
  /*  --f1: min(max(1.8rem, calc(1.8rem + ((1vw - 0.234375rem) * 1.4163))), 2.44rem);28.8-39.04px */
  --f2: min(max(1.40625rem, calc(1.40625rem + ((1vw - 0.234375rem) * 6))), 2.8125rem); /* 22.5-45px */
  --f3: min(max(20px, calc(1.25rem + ((1vw - 3.75px) * 2.6667))), 30px); /*20-30px */
  --fbase: min(max(12px, calc(0.75rem + ((1vw - 3.75px) * 1.0667))), 16px); /* 12-16px */
  --fhead: min(max(15px, calc(0.9375rem + ((1vw - 3.75px) * 1.6))), 21px); /* 15-21px*/
  --fnav: min(max(9px, calc(0.5625rem + ((1vw - 3.75px) * 1.6))), 15px); /* 9-15px*/
  --flead: min(max(12px, calc(0.75rem + ((1vw - 3.75px) * 4.8))), 30px); /* 12-30px*/
  --fsection-title: min(max(14px, calc(0.875rem + ((1vw - 3.75px) * 4.8))), 32px); /* 14-34px*/
}

/* 基本 */
body {
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-size: var(--fbase);
  min-height: 100vh;
}

* {
  line-height: 1.875;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: bold;
}

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

a {
  color: #0a0a0a;
  text-decoration: none;
  transition: all 0.5s ease 0s;
}
a.has-color {
  color: #39c4f3;
}
a:hover {
  opacity: 0.8;
}

@media (max-width: 750px) {
  .anchor {
    height: 1px;
    padding-top: 70px;
    margin-top: -70px;
  }
}
h1 {
  font-size: var(--f1);
}

h2 {
  font-size: var(--f2);
}

h3 {
  font-size: var(--f3);
}

h4 {
  font-size: var(--f4);
}

h5 {
  font-size: var(--f5);
}

h6 {
  font-size: var(--f6);
}

p {
  font-size: var(--fbase);
}

@media (min-width: 751px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
  a[href^="tel:"].anchor {
    display: block;
    padding-top: 90px;
    margin-top: -90px;
  }
}
/* width */
main {
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 751px) {
  main {
    max-width: 1920px;
    min-width: 1440px;
  }
}
@media (max-width: 750px) {
  main {
    max-width: 750px;
    min-width: 375px;
  }
}

.content-wrap {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 751px) {
  .content-wrap-pc-wide {
    width: 1440px;
  }
}

@media (min-width: 751px) {
  .content-wrap-pc {
    width: 1440px;
    padding-left: 120px;
    padding-right: 120px;
  }
}

@media (max-width: 750px) {
  .content-wrap-sp {
    padding-left: min(max(1.25rem, 1.25rem + (1vw - 0.234375rem) * 5.3333), 2.5rem); /* 20-40px */
    padding-right: min(max(1.1875rem, 1.1875rem + (1vw - 0.234375rem) * 5.0667), 2.375rem); /* 19-38px */
  }
}

.content {
  width: 1200px;
  margin: 0 calc((100% - 1200px) / 2);
}
@media (min-width: 751px) and (max-width: 1440px) {
  .content {
    width: 1200px;
    margin: 0 110px;
  }
}
@media (max-width: 750px) {
  .content {
    width: 90vw;
    max-width: 750px;
    margin: 0 auto;
    padding: 0;
  }
}

h2.with-en {
  font-size: var(--f3);
  line-height: 1.2;
  margin-bottom: 90px;
}
h2.with-en span {
  font-size: var(--fbase);
  color: #39c4f3;
  display: block;
}
@media (max-width: 750px) {
  h2.with-en {
    margin-bottom: 5.33vw;
  }
}

#section-hero {
  min-width: 1440px;
  max-width: 1565px;
  margin: 0 auto;
}
#section-hero img {
  display: block;
  margin: 280px auto 200px;
}

@media (max-width: 750px) {
  #section-hero {
    min-width: 1vw;
    max-width: 89.333vw;
    margin: 0 auto;
    padding: 0;
  }
  #section-hero img {
    display: block;
    margin: 8vw auto 5.333vw;
  }
}
.section-title {
  min-width: 1440px;
  height: 60px;
  margin-right: auto;
  margin-left: auto;
  background-image: url(../images/title-bar.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 840px 60px;
  text-align: center;
  color: #fff;
  font-weight: bold;
}
@media (max-width: 750px) {
  .section-title {
    min-width: unset;
    width: 100%;
    height: min(max(20px, 1.25rem + (1vw - 0.234375rem) * 5.3333), 40px);
    background-color: #1168b9;
    background-image: url(../images/title-bar_s.png);
    background-size: contain;
    text-align: left;
  }
}

.section-title-inner {
  width: 840px;
  margin-right: auto;
  margin-left: auto;
  font-size: var(--fsection-title);
  line-height: 60px;
}
@media (max-width: 750px) {
  .section-title-inner {
    width: 90vw;
    max-width: 750px;
    line-height: min(max(20px, 1.25rem + (1vw - 0.234375rem) * 5.3333), 40px);
  }
}

/* map */
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 42.08334%;
}
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#pagination {
  margin: 120px auto;
}
@media (max-width: 750px) {
  #pagination {
    margin: min(max(2.8125rem, 2.8125rem + (1vw - 0.234375rem) * 12), 5.625rem) auto; /*45-90px*/
  }
}
#pagination a {
  display: block;
  color: inherit;
  line-height: inherit;
}
#pagination .pagination-btns {
  display: flex;
  justify-content: center;
  align-items: center;
}
#pagination .pagination-elm {
  height: 3em;
  width: 3em;
  line-height: 3em;
  text-align: center;
  font-weight: bold;
  margin: 0 0.5em;
}
@media (max-width: 750px) {
  #pagination .pagination-elm {
    font-weight: unset;
    height: min(max(1.5rem, 1.5rem + (1vw - 0.234375rem) * 6.4), 3rem);
    width: min(max(1.5rem, 1.5rem + (1vw - 0.234375rem) * 6.4), 3rem);
    line-height: min(max(1.5rem, 1.5rem + (1vw - 0.234375rem) * 6.4), 3rem);
  }
}
#pagination .pagination-btn {
  background-color: #dcdcdc;
  color: #fff;
  border-radius: 95vw;
}
@media (max-width: 750px) {
  #pagination .pagination-btn {
    font-size: var(--fbase);
  }
}
#pagination .pagination-current {
  background-color: #39c4f3;
  color: #fff;
}
#pagination .pagination-dots {
  color: #dcdcdc;
}

.lead-txt {
  font-size: var(--flead);
}
@media (min-width: 751px) {
  .lead-txt {
    text-align: center;
  }
}

/*
 header
*/
header {
  position: relative;
  z-index: 10;
  min-width: 1440px;
  margin-top: 0;
  background-color: #1168b9;
  color: #fff;
}
header #logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
header #logo img {
  height: 70px;
}
header #header-inner {
  width: 93.33%;
  max-width: 1680px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

@media (max-width: 750px) {
  header {
    position: sticky;
    top: 0;
    min-width: 375px;
  }
  header #logo img {
    margin-bottom: 0;
    margin: 0 1rem;
    height: 40px;
  }
  header #header-inner {
    width: 100%;
    margin: 0;
  }
}
/*
 nav
*/
.lang-jpn header nav #lang-nav li:first-child a {
  pointer-events: none;
}

.lang-eng header nav #lang-nav li:last-child a {
  pointer-events: none;
}

header nav {
  display: flex;
}
header nav a {
  color: #fff;
}
header nav #nav-link-area {
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding-bottom: calc(var(--fnav));
}
@media (min-width: 751px) {
  header nav #lang-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: calc(var(--fnav) * 0.85);
    margin-bottom: 1em;
  }
  header nav #lang-nav li::after {
    content: "|";
    display: inline-block;
    width: 2.47em;
    text-align: center;
  }
  header nav #lang-nav li:last-child {
    margin-right: 2.47em;
  }
  header nav #lang-nav li:last-child::after {
    content: none;
  }
}
header nav #nav {
  display: flex;
  align-items: center;
  font-size: var(--fnav);
}
header nav #nav li {
  margin-right: 2.47em;
}
@media (min-width: 751px) and (max-width: 1680px) {
  header nav #nav li {
    margin-right: min(max(1.3rem, 1.3rem + (1vw - 0.9rem) * 7.8), 2.47rem); /* 20.8-39.52 */
  }
}
header nav #nav li::last-child {
  margin-right: none;
}
header nav #nav-btn {
  display: flex;
  margin-bottom: -20px;
}
header nav #nav-btn li {
  font-size: var(--fnav);
  width: 120px;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}
header nav #nav-btn li.nav-btn_recruit {
  background-color: #033462;
}
header nav #nav-btn li.nav_btn_inquiry {
  background-color: #39c4f3;
}
header nav #nav-btn li.nav_btn_sp-menu {
  display: none;
  background-color: white;
  color: #000;
}
header nav #nav-btn li .nav-svg_link {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: center;
}
header nav #nav-btn li .nav-svg_icon {
  display: block;
  text-align: center;
  margin-bottom: 0.6em;
}
header nav #nav-btn li .nav-svg_text {
  display: block;
  margin-bottom: calc(20px + var(--fnav));
}

.sp-menu__area {
  display: block;
}
.sp-menu__check {
  display: none;
}
.sp-menu__item--open {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  cursor: pointer;
}
.sp-menu__item--close {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  transition: 0.3s ease-in-out;
}
.sp-menu__icon {
  color: #005bac;
  font-size: 2.2rem;
}
.sp-menu__contents {
  padding: 1rem;
}
.sp-menu__contents-menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  transform: translateX(-100%);
  width: 100vw;
  height: 100vh;
  color: #000;
  background-color: #fff;
  transition: 0.3s ease-in-out;
  display: flex;
  flex-direction: column;
  overflow-y: scroll;
}
.sp-menu__contents-menu a {
  color: #000;
}
.sp-menu__contents-menu .contact-info {
  padding: 0.5rem;
  text-align: center;
  background-color: #39c4f3;
  font-weight: bold;
}
.sp-menu__contents-menu .contact-info a {
  color: #fff;
}
.sp-menu__contents-head {
  height: 40px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.sp-menu__contents-body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-bottom: env(safe-area-inset-bottom);
}
.sp-menu__contents-body .link-group {
  margin-bottom: 0.5rem;
}
.sp-menu__contents-body .parent-link {
  font-size: 1rem;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
}
.sp-menu__contents-body .parent-link svg {
  color: #39c4f3;
}
.sp-menu__contents-body .child-link {
  display: block;
}
.sp-menu__contents img {
  display: inline-block;
  width: auto;
  height: 40px;
}
.sp-menu__contents svg {
  vertical-align: middle;
}

#sp-menu__item-menu1:checked ~ .sp-menu__contents-menu {
  transform: translateX(0%);
}

#sp-menu__item-menu1:checked ~ .sp-menu__item--close {
  display: block;
}

@media (max-width: 750px) {
  header nav #nav-link-area {
    padding-bottom: 0;
  }
  header nav #nav {
    display: none;
  }
  header nav #lang-nav {
    width: 35px;
    height: 70px;
    font-size: 10px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
  }
  header nav #lang-nav li {
    height: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
  }
  header nav #lang-nav li:first-child {
    background-color: #ff3e80;
  }
  header nav #lang-nav li:last-child {
    background-color: #00d4e6;
  }
  header nav #nav-btn {
    margin-bottom: 0;
  }
  header nav #nav-btn li {
    width: 70px;
    height: 70px;
    font-size: 10px;
  }
  header nav #nav-btn li.nav_btn_sp-menu {
    display: flex;
  }
  header nav #nav-btn li .nav-svg_link {
    justify-content: center;
  }
  header nav #nav-btn li .nav-svg_text {
    margin-bottom: unset;
  }
  .lang-jpn header nav #lang-nav li:first-child {
    background-color: #a9a9a9;
  }
  .lang-eng header nav #lang-nav li:last-child {
    background-color: #a9a9a9;
  }
}
/*
 utility
*/
img {
  vertical-align: bottom;
}

.small {
  font-size: 1rem;
}

.textcenter {
  text-align: center;
}

.textright {
  text-align: right;
}

.block-center {
  margin: 0 auto;
}

.fwbold {
  font-weight: bold;
}

.m0 {
  margin: 0 !important;
}

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

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

.mb1 {
  margin-bottom: 1em;
}

.mb2 {
  margin-bottom: 2em;
}

.mb3 {
  margin-bottom: 3em;
}

.content-bottom {
  margin-bottom: 130px;
}

.section-bottom {
  margin-bottom: 85px;
}

.spacer-bottom {
  margin-bottom: 50px;
}

.ps-br {
  display: block;
}

.md-br {
  display: none;
}

.d-none {
  display: none;
}

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

.underline {
  border-bottom: 1px solid #444;
}

.d-inline-block {
  display: inline-block;
}

.d-block {
  display: block;
}

.sp {
  display: none;
}

@media (max-width: 750px) {
  .content-bottom {
    margin-bottom: 15vw;
  }
  .section-bottom {
    margin-bottom: 11vw;
  }
  .spacer-bottom {
    margin-bottom: 6vw;
  }
  .ps-br {
    display: none;
  }
  .md-br {
    display: block;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
@media (min-width: 751px) {
  .ps-br {
    display: block;
  }
  .md-br {
    display: none;
  }
}
/*
 footer
*/
footer {
  background-color: #033462;
  color: #fff;
  padding: 87px 0 78px;
}
footer #footer-inner {
  max-width: 1440px;
  min-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}
footer #footer-contents {
  display: flex;
  justify-content: space-between;
}

#f-nav {
  display: flex;
  flex-wrap: wrap;
  max-width: 820px;
}
#f-nav a {
  font-size: var(--fbase);
  color: #fff;
}
#f-nav ul {
  font-size: 0.875rem;
}
#f-nav ul a {
  color: #8095a8;
}
#f-nav .accordion__input {
  display: none;
}
#f-nav .f-nav-list {
  min-width: 228px;
  margin-right: 3rem;
  margin-bottom: 3.75rem;
}
#f-nav .f-nav-list:nth-child(3n) {
  margin-right: 0;
}
#f-nav .f-nav-list:nth-child(6) {
  display: flex;
  flex-flow: column;
}
#f-nav .f-nav-list .accordion__head {
  font-weight: bold;
}

#f-nav-inline ul {
  display: flex;
  font-size: 0.875rem;
  line-height: 1;
  margin-bottom: 3.75rem;
}
#f-nav-inline ul li::after {
  display: inline-block;
  content: "|";
  width: 3em;
  text-align: center;
}
#f-nav-inline ul li:last-of-type::after {
  content: none;
}
#f-nav-inline ul a {
  color: #fff;
}

.company-info h3 {
  margin-bottom: 1.875rem;
}
.company-info #fb {
  padding-top: 3.75rem;
}

.copyright {
  font-size: 0.75rem;
}

#f-nav .f-nav-list:last-child > a {
  font-weight: bold;
}

@media (max-width: 750px) {
  footer {
    padding: 0 0 5vw;
  }
  footer #footer-inner {
    max-width: inherit;
    min-width: inherit;
    padding: 0;
  }
  footer #footer-inner #footer-contents {
    display: unset;
  }
  #f-nav .f-nav-list {
    min-width: 100%;
    margin-bottom: initial;
  }
  #f-nav .accordion__input {
    display: none;
  }
  #f-nav .accordion__head {
    position: relative;
    display: block;
    width: 100%;
    padding: 7px 0 7px 25px;
    color: #fff;
    cursor: pointer;
  }
  #f-nav .accordion__head::after {
    content: "+";
    position: absolute;
    top: 8px;
    right: 20px;
  }
  #f-nav .accordion__head.accordion__head-top {
    padding-top: 25px;
  }
  #f-nav .accordion__head.accordion__head-top::after {
    content: "+";
    top: 25px;
    right: 20px;
  }
  #f-nav .accordion__head.no-child::after {
    content: ">";
    position: absolute;
    top: 8px;
    right: 20px;
  }
  #f-nav .accordion__body {
    overflow: hidden;
    width: 100%;
    max-height: 0;
    background: #fff;
    color: #000;
    transition: max-height 0.3s ease;
  }
  #f-nav .accordion__body > ul > li {
    width: 100%;
    display: flex;
    padding-left: 25px;
    padding-right: 20px;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ccd8db;
    line-height: 3;
  }
  #f-nav .accordion__body > ul > li::after {
    display: block;
    content: ">";
  }
  #f-nav .accordion__body > ul > li > * {
    line-height: 3;
  }
  #f-nav .accordion__input:checked + .accordion__head + .accordion__body {
    max-height: 300px;
  }
  #f-nav .accordion__input:checked + .accordion__head {
    background-color: #ccd8db;
    color: #000;
  }
  #f-nav .accordion__input:checked + .accordion__head > a {
    color: #000;
  }
  #f-nav .accordion__input:checked + .accordion__head::after {
    content: "－";
    position: absolute;
    right: 20px;
    color: #000;
  }
  #f-nav .accordion__input:checked + .accordion__head.accordion__head-top::after {
    content: "－";
    position: absolute;
    right: 20px;
    top: 25px;
    color: #000;
  }
  #f-nav-inline ul {
    justify-content: center;
    font-size: 2.5vw;
    margin-bottom: 1.5rem;
  }
  #f-nav-inline ul li:nth-child(1), #f-nav-inline ul li:nth-child(3) {
    display: none;
  }
  .company-info {
    display: flex;
    width: 80vw;
    margin: 2rem auto;
    justify-content: space-between;
    align-items: center;
  }
  .company-info p {
    display: none;
  }
  .company-info h3 {
    margin-bottom: 0;
    width: 37.33vw;
    max-width: 279px;
  }
  .company-info #fb {
    padding-top: 0;
    width: 37.33vw;
    max-width: 280px;
  }
  .copyright {
    text-align: center;
  }
}
body#home #hero {
  width: 100%;
  max-width: 1860px;
  min-width: 1280px;
  margin: 0 auto;
}
@media (max-width: 750px) {
  body#home #hero {
    max-width: 750px;
    min-width: 1px;
  }
}
body#home #section-news {
  max-width: 1920px;
  min-width: 1280px;
  margin: 0 auto;
  background-color: #f6f9fb;
  padding-top: 98px;
}
@media (min-width: 1681px) {
  body#home #section-news {
    background: rgb(246, 249, 251);
    background: linear-gradient(90deg, rgb(246, 249, 251) 0%, rgb(246, 249, 251) 1680px, rgba(246, 249, 251, 0) calc((100% - 1680px) / 2), rgba(255, 255, 255, 0) 100%);
  }
}
@media (max-width: 750px) {
  body#home #section-news {
    padding-top: 10.6vw;
    max-width: 750px;
    min-width: 1px;
    background: rgb(246, 249, 251);
    background: linear-gradient(0deg, rgb(246, 249, 251) 0%, rgba(255, 255, 255, 0) 100%);
  }
}
body#home h2.bar {
  width: 100%;
  background-color: #033462;
  color: #fff;
  text-align: center;
  font-size: var(--fhead);
  margin-bottom: 80px;
}
@media (max-width: 750px) {
  body#home h2.bar {
    margin-bottom: 12vw;
  }
}
body#home h2.bar a.with-icon {
  display: flex;
  height: 80px;
  color: #fff;
  justify-content: center;
  align-items: center;
}
body#home h2.bar a.with-icon span {
  position: relative;
}
body#home h2.bar a.with-icon span::after {
  content: url(../images/util/ico_window.png);
  display: inline-block;
  position: absolute;
  top: -16px;
  right: -28px;
}
@media (max-width: 420px) {
  body#home h2.bar a.with-icon span::after {
    top: -1em;
    right: 0;
  }
}
body#home #news ul li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 1em 0 1em;
  border-top: 1px solid #e0e8eb;
}
body#home #news ul li:last-child {
  border-bottom: 1px solid #e0e8eb;
}
body#home #news ul li .date {
  width: 7em;
}
body#home #news ul li .news-ctg {
  width: 20em;
  height: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #1270c7;
  background-color: #e8f2f6;
  border-radius: 100vh;
}
body#home #news ul li .news-title {
  width: 100%;
  word-wrap: break-word;
}
@media (min-width: 751px) {
  body#home #news {
    display: grid;
    grid-template-columns: 237px 1fr;
    grid-template-rows: 1fr 27px;
    padding-bottom: 150px;
  }
  body#home #news h2.with-en {
    grid-column: 1;
  }
  body#home #news ul {
    grid-column: 2;
    grid-row: 1/3;
    font-size: 0.875rem;
  }
  body#home #news ul li {
    flex-wrap: nowrap;
  }
  body#home #news ul li .date {
    margin-right: 2em;
  }
  body#home #news ul li .news-ctg {
    margin-right: 3em;
  }
  body#home #news #news-link {
    grid-column: 1;
    font-size: 1rem;
    font-weight: bold;
  }
  body#home #news #news-link a::before {
    content: url(../images/util/arrow-right.svg);
    display: inline-block;
    width: 1rem;
    height: auto;
    margin-right: 1rem;
  }
}
@media (max-width: 750px) {
  body#home #news {
    padding-bottom: 8.8vw;
  }
  body#home #news h2.with-en {
    margin-bottom: 4.53vw;
  }
  body#home #news ul {
    margin-bottom: 7.73vw;
  }
  body#home #news ul li .date {
    font-size: 0.875em;
    margin-bottom: 0.8em;
  }
  body#home #news ul li .news-ctg {
    width: 14em;
    font-size: 0.875em;
    margin-bottom: 0.5em;
    margin-right: 0.5em;
  }
  body#home #news ul li .news-title {
    font-size: min(max(12px, 0.75rem + (1vw - 3.75px) * 3.2), 24px);
  }
  body#home #news-link {
    font-size: var(--flead);
    border: 1px solid #39c4f3;
    position: relative;
  }
  body#home #news-link::after {
    content: url(../images/util/arrow-right.svg);
    display: inline-block;
    width: 5.46vw;
    height: auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
  }
  body#home #news-link a {
    display: flex;
    height: 13.33vw;
    justify-content: center;
    align-items: center;
  }
}
body#home #section-message h2.h-message {
  font-size: min(max(30px, 1.875rem + (1vw - 3.75px) * 4), 45px);
  margin-bottom: 0.8em;
  line-height: 1.1;
}
body#home #section-message h2.h-message span {
  color: #39c4f3;
  line-height: 1.1;
}
body#home #section-message p {
  margin-bottom: 11.46vw;
}
body#home.lang-eng #section-message h2.h-message {
  font-size: var(--f3);
}
@media (max-width: 750px) {
  body#home #section-message {
    padding: 6.6vw 0 0;
  }
  body#home .message01 {
    background: url(../images/top/message01_s.jpg) center top no-repeat;
    height: 0;
    padding-top: 53.33%;
    background-size: cover;
  }
}
@media (min-width: 751px) {
  body#home #section-message {
    padding-top: 95px;
    position: relative;
    min-height: 600px;
  }
  body#home #section-message .sp-message01 {
    display: none;
  }
  body#home #section-message .message01 {
    position: absolute;
    top: -60px;
    width: 100%;
    background: url(../images/top/message01.png) center top no-repeat;
    height: 660px;
  }
  body#home #section-message .message-txt {
    width: 400px;
  }
  body#home.lang-eng #section-message {
    padding-top: 50px;
  }
  body#home.lang-eng #section-message .message-txt {
    width: 460px;
  }
}
body#home #section-business {
  max-width: 1920px;
  min-width: 1280px;
  margin: 0 auto;
  color: #fff;
  background: rgb(3, 52, 98);
}
@media (min-width: 1681px) {
  body#home #section-business {
    background: rgb(3, 52, 98);
    background: linear-gradient(-90deg, rgb(3, 52, 98) 0%, rgb(3, 52, 98) 1680px, rgba(3, 52, 98, 0) calc((100% - 1680px) / 2), rgba(255, 255, 255, 0) 100%);
  }
}
@media (max-width: 750px) {
  body#home #section-business {
    padding-top: 20vw;
    max-width: 750px;
    min-width: 1px;
    background: rgb(3, 52, 98);
    background: linear-gradient(90deg, rgb(3, 52, 98) 0%, rgb(3, 52, 98) 95vw, rgba(3, 52, 98, 0) 5vw, rgba(255, 255, 255, 0) 100%);
    padding-bottom: 8.8vw;
  }
}
body#home #section-business .business-txt {
  width: 75.6vw;
}
@media (min-width: 751px) {
  body#home #section-business .business-inner {
    padding-top: 156px;
    padding-bottom: 288px;
    display: flex;
    align-items: end;
  }
  body#home #section-business .business-inner .with-en {
    width: 39%;
    max-width: 475px;
    margin-bottom: 0;
  }
  body#home #section-business .business-inner .business-txt {
    flex: 1;
  }
}
body#home #section-products .pc {
  max-width: 1820px;
  min-width: 1200px;
  margin: 0 auto;
}
body#home #section-products .pc ul.products-list {
  margin-top: -210px;
  display: grid;
  grid-template-columns: 39.56% 39.56% 19.78%;
  grid-gap: 10px;
}
body#home #section-products .pc ul.products-list li {
  position: relative;
}
body#home #section-products .pc ul.products-list li .box-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
body#home #section-products .pc ul.products-list li.box {
  grid-column: 1;
}
body#home #section-products .pc ul.products-list li.case {
  grid-column: 2;
}
body#home #section-products .pc ul.products-list li.packing {
  grid-column: 3;
}
body#home #section-products .pc ul.products-list li h2.with-en {
  font-size: 24px;
  color: #fff;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 1em;
}
body#home #section-products .pc ul.products-list li h2.with-en span {
  font-size: 16px;
}
body#home #section-products .pc ul.products-list li a.btn-square {
  display: block;
  border: 1px solid #fff;
  color: #fff;
  text-align: center;
  line-height: 2;
  font-size: 14px;
  width: 12em;
}
@media (max-width: 750px) {
  body#home #section-products {
    background: rgb(246, 249, 251);
    background: linear-gradient(0deg, rgb(246, 249, 251) 0%, rgba(255, 255, 255, 0) 100%);
    padding-bottom: 1em;
  }
  body#home #section-products figure img {
    margin-bottom: 1em;
  }
  body#home #section-products figure figcaption {
    text-align: center;
  }
  body#home #section-products figure figcaption a {
    line-height: 1.2;
  }
}
body#home #section-group h3 {
  line-height: 1.3;
}
body#home #section-group .btn-group-list {
  display: flex;
  justify-content: space-between;
}
body#home #section-group .btn-group-list li {
  width: 176px; /*210px*/
}
body#home #section-group .btn-group-list li label {
  display: block;
  border: 1px solid #39c4f3;
  text-align: center;
  line-height: 4;
  font-weight: bold;
}
body#home #section-group .btn-group-list li label:hover {
  background-color: #39c4f3;
  color: #fff;
}
body#home #section-group .btn-group-list li label.ico_window {
  position: relative;
}
body#home #section-group .btn-group-list li label.ico_window span {
  position: absolute;
  top: 5px;
  right: 5px;
  display: block;
  content: url(../images/util/ico_window.png);
}
body#home #section-group .btn-group-list li label.ico_window:hover span {
  content: url(../images/util/ico_window_wh.png);
}
body#home #section-group #group-packwell,
body#home #section-group #group-nitto,
body#home #section-group #group-coawell,
body#home #section-group #group-shanghai,
body#home #section-group #group-philippines {
  display: none;
}
body#home #section-group #index-tab-r-gci-packwell:checked ~ #group-ul #index-tab-gci-packwell,
body#home #section-group #index-tab-r-gci-nitto:checked ~ #group-ul #index-tab-gci-nitto,
body#home #section-group #index-tab-r-gci-coawell:checked ~ #group-ul #index-tab-gci-coawell,
body#home #section-group #index-tab-r-gci-shanghai:checked ~ #group-ul #index-tab-gci-shanghai,
body#home #section-group #index-tab-r-gci-philippines:checked ~ #group-ul #index-tab-gci-philippines {
  background-color: #39c4f3;
  color: #fff;
}
@media (min-width: 751px) {
  body#home #section-group {
    max-width: 1440px;
    min-width: 1320px;
    width: 91.667%;
    margin: 0 auto;
  }
  body#home #section-group .section-group-inner {
    width: 91.667%;
    max-width: 1320px;
    min-width: 1200px;
    margin: 0 0 0 auto;
    display: grid;
    grid-template-columns: 417px 900px;
    grid-template-rows: 123px 1fr;
  }
  body#home #section-group .section-group-inner #group-h2 {
    grid-column: 1;
    grid-row: 1;
  }
  body#home #section-group .section-group-inner #group-ul {
    grid-column: 2;
    grid-row: 1;
  }
  body#home #section-group .section-group-inner #group-ul li {
    font-size: 0.8em;
  }
  body#home #section-group .section-group-inner .group-introduction {
    grid-column: 1/3;
    grid-row: 2;
    display: flex;
    align-items: center;
  }
  body#home #section-group .section-group-inner .group-introduction .group-card {
    width: 417px;
  }
  body#home #section-group .section-group-inner .group-introduction .group-ph {
    width: 900px;
  }
  body#home #section-group #index-tab-r-gci-packwell:checked ~ #group-packwell,
body#home #section-group #index-tab-r-gci-nitto:checked ~ #group-nitto,
body#home #section-group #index-tab-r-gci-coawell:checked ~ #group-coawell,
body#home #section-group #index-tab-r-gci-shanghai:checked ~ #group-shanghai,
body#home #section-group #index-tab-r-gci-philippines:checked ~ #group-philippines {
    display: flex;
  }
}
@media (max-width: 750px) {
  body#home #section-group {
    padding-top: 13.3vw;
  }
  body#home #section-group .content-sp {
    width: 90vw;
    max-width: 750px;
    margin: 0 auto;
  }
  body#home #section-group .btn-group-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  body#home #section-group .btn-group-list li {
    width: 42.667vw;
    margin-bottom: 4vw;
  }
  body#home #section-group .btn-group-list li a {
    display: block;
    border: 1px solid #39c4f3;
    text-align: center;
    line-height: 4;
    font-weight: bold;
  }
  body#home #section-group .btn-group-list li a:hover {
    background-color: #39c4f3;
    color: #fff;
  }
  body#home #section-group #index-tab-r-gci-packwell:checked ~ #group-packwell,
body#home #section-group #index-tab-r-gci-nitto:checked ~ #group-nitto,
body#home #section-group #index-tab-r-gci-coawell:checked ~ #group-coawell,
body#home #section-group #index-tab-r-gci-shanghai:checked ~ #group-shanghai,
body#home #section-group #index-tab-r-gci-philippines:checked ~ #group-philippines {
    display: block;
  }
}
@media (min-width: 751px) {
  body#home #section-group {
    padding-top: 120px;
    display: grid;
  }
}
body#home #section-bases h2.with-en {
  color: #fff;
}
@media (min-width: 751px) {
  body#home #section-bases {
    margin-top: -50px;
    height: 940px;
  }
  body#home #section-bases .section-bases-bg {
    padding-top: 210px;
  }
  body#home #section-bases p.bases-txt {
    position: relative;
  }
  body#home #section-bases p.bases-txt span {
    position: absolute;
    top: -160px;
    left: 731px;
  }
}
@media (min-width: 751px) and (max-width: 1440px) {
  body#home #section-bases {
    background: url(../images/top/section-bases_1440.png) top left no-repeat;
  }
}
@media (min-width: 1440px) {
  body#home #section-bases {
    background: url(../images/top/section-bases.png) top center no-repeat;
  }
}
@media (max-width: 750px) {
  body#home #section-bases .section-bases-bg {
    padding-top: 20vw;
    padding-bottom: 2em;
    background: rgb(3, 52, 98);
    background: linear-gradient(90deg, rgb(3, 52, 98) 80%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 100%);
  }
  body#home #section-bases .section-bases_bottom {
    padding-bottom: 19.4vw;
  }
  body#home #section-bases .section-bases_bottom p {
    padding-top: 5em;
  }
}
body#home #section-history {
  padding-top: 247px;
  min-width: 1320px;
}
body#home #section-history .content h2 {
  font-size: min(max(30px, 1.875rem + (1vw - 3.75px) * 2.6667), 40px);
}
body#home #section-history .content .lead {
  font-size: 1.3em;
  font-weight: bold;
  line-height: 1.4;
}
@media (min-width: 751px) {
  body#home #section-history {
    min-height: 1210px;
    background: url(../images/top/history_pc.png) bottom center no-repeat;
  }
  body#home #section-history .content {
    margin-top: 740px;
  }
}
@media (max-width: 750px) {
  body#home #section-history {
    background: none;
    min-width: 1px;
    padding-top: 0;
  }
  body#home #section-history .content {
    margin-top: 3em;
  }
}
@media (min-width: 751px) {
  body#home.lang-eng #section-history {
    background: url(../en/images/top/history_pc_en.png) bottom center no-repeat;
  }
}
body#home #secton-contact {
  margin-top: 120px;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body#home #secton-contact h2.with-en {
  margin-bottom: 1em;
}
@media (min-width: 751px) and (max-width: 1440px) {
  body#home #secton-contact {
    background: url(../images/top/contact_bg_pc_1440.png) bottom left no-repeat;
    height: 430px;
  }
}
@media (min-width: 1441px) {
  body#home #secton-contact {
    background: url(../images/top/contact_bg_pc.png) bottom center no-repeat;
    height: 430px;
  }
}
@media (max-width: 750px) {
  body#home #secton-contact {
    margin-top: 2em;
    background: url(../images/top/contact_bg_sp.jpg) bottom center no-repeat;
    background-size: cover;
    height: 70.667vw;
  }
}
body#home .btn-contact {
  font-size: min(max(15px, 0.9375rem + (1vw - 3.75px) * 0.8), 18px);
  /* 15-18 */
  margin: 0 auto;
  width: 420px;
  height: 80px;
}
@media (max-width: 750px) {
  body#home .btn-contact {
    width: 100%;
    height: 13.33vw;
  }
}
body#home .btn-contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #39c4f3;
  color: #fff;
}
body#home .btn-contact a::before {
  content: url(../images/util/ico_mail.png);
  display: inline-block;
  margin-right: 1em;
}
body#home .btn-links {
  position: relative;
  font-size: var(--fbase);
}
body#home .btn-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 42.667vw;
  height: 24vw;
  position: absolute;
  right: 0;
  background-color: #1168b9;
  color: #fff;
}
body#home .btn-links a::after {
  display: block;
  content: url(../images/util/arrow-right.svg);
  width: 19px;
  height: auto;
}
@media (min-width: 751px) {
  body#home .btn-links a {
    width: 240px;
    height: 140px;
    right: 0;
  }
}
body#home #section-business .btn-links a {
  top: -32vw;
}
@media (min-width: 751px) {
  body#home #section-business .btn-links a {
    top: -109px;
  }
}
body#home #section-group .btn-links a {
  top: -18.4vw;
}
@media (min-width: 751px) {
  body#home #section-group .btn-links a {
    top: -90px;
    left: 1077px;
  }
}
body#home .section-bases_bottom .btn-links a {
  top: -18.4vw;
}
@media (min-width: 751px) {
  body#home .section-bases_bottom .btn-links.bases-pc a {
    top: 470px;
    right: -157px;
  }
}
body#home #section-history .btn-links a {
  top: -28.5vw;
  left: 0;
}
@media (min-width: 751px) {
  body#home #section-history .btn-links a {
    top: -200px;
  }
}

/* // body id */
@media (max-width: 750px) {
  .section-title-news {
    background-position: left calc(7 * var(--fsection-title)) bottom 0;
  }
}

@media (max-width: 750px) and (max-width: 750px) {
  .lang-eng .section-title-news {
    background-position: left calc(10 * var(--fsection-title)) bottom 0;
  }
}
#news-category-search {
  position: sticky;
  max-height: 0px;
  top: 45vh;
  left: 100vw;
  text-align: right;
}
#news-category-search ul {
  width: 230px;
  display: inline-block;
  background-color: #66bf9d;
  background-image: linear-gradient(45deg, #fff 10px, transparent 0), linear-gradient(-45deg, rgba(0, 0, 0, 0) 10px, transparent 0), linear-gradient(135deg, #fff 10px, transparent 0), linear-gradient(-135deg, rgba(0, 0, 0, 0) 10px, transparent 0);
  padding: 15px;
  color: #fff;
  text-align: left;
}
#news-category-search ul li {
  border-bottom: 1px solid #e0e8eb;
}
#news-category-search ul li:last-child {
  border-bottom: unset;
}
#news-category-search ul a {
  color: inherit;
}
@media (max-width: 750px) {
  #news-category-search {
    display: none;
  }
}

@media (max-width: 750px) {
  body#page-news #section-hero {
    max-width: 60vw;
  }
}

#section-news-page #news ul li {
  display: flex;
  padding: 3em 0 3em;
  border-top: 1px solid #e0e8eb;
}
#section-news-page #news ul li:last-child {
  border-bottom: 1px solid #e0e8eb;
}
#section-news-page #news ul li .news-meta {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#section-news-page #news ul li .news-meta .date {
  font-size: var(--fbase);
  width: 6em;
}
#section-news-page #news ul li .news-meta .news-ctg {
  width: 14em;
  height: 1.65em;
  font-size: var(--fhead);
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #1270c7;
  background-color: #e8f2f6;
  border-radius: 100vh;
}
#section-news-page #news ul li .news-content .news-ttl {
  font-size: min(max(15px, 0.9375rem + (1vw - 0.234375rem) * 4), 30px);
  color: #39c4f3;
  font-weight: bold;
  width: 100%;
}
#section-news-page #news ul li .news-content .news-body {
  font-size: var(--fbase);
  overflow-wrap: break-word;
}
@media (min-width: 751px) {
  #section-news-page #news ul {
    font-size: 0.875rem;
  }
  #section-news-page #news ul li .news-meta .date {
    margin-right: 2em;
  }
  #section-news-page #news ul li .news-meta .news-ctg {
    margin-top: 0.5em;
    margin-right: 3em;
  }
}
@media (max-width: 750px) {
  #section-news-page #news ul {
    margin-bottom: 7.73vw;
  }
  #section-news-page #news ul li {
    padding: 1.5em 0 1.5em;
    flex-wrap: wrap;
  }
  #section-news-page #news ul li .news-meta {
    flex-direction: row-reverse;
    align-items: center;
    margin-bottom: 1.5em;
  }
  #section-news-page #news ul li .news-meta .date {
    margin-bottom: 0;
    font-size: var(--fbase);
  }
  #section-news-page #news ul li .news-meta .news-ctg {
    height: 2em;
    margin-bottom: 0;
    font-size: var(--fbase);
  }
  #section-news-page #news ul li .news-content .news-ttl {
    font-size: min(max(12px, 0.75rem + (1vw - 3.75px) * 3.2), 24px);
  }
}

/*
 business
*/
:root {
  --ind01: -8px;
  --ind01-sp: -1.3vw;
}

body#business {
  /* // #rigid-box */
  /* // #cover */
  /* // #assembly */
}
body#business main {
  max-width: 1920px;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 750px) {
  body#business main {
    max-width: 750px;
  }
}
@media (max-width: 750px) {
  body#business .section-title-business {
    background-position: left calc(7 * var(--fsection-title)) bottom 0;
  }
}
@media (max-width: 750px) and (max-width: 750px) {
  body#business.lang-eng .section-title-business {
    background-position: left calc(15 * var(--fsection-title)) bottom 0;
  }
}
@media (max-width: 750px) {
  body#business #section-hero {
    max-width: 44.4vw;
  }
}
body#business .business-title {
  font-size: var(--flead);
}
@media (max-width: 750px) {
  body#business .business-title {
    width: 28.667vw;
  }
}
body#business .inner {
  color: #fff;
  text-align: left;
}
body#business #rigid-box {
  position: relative;
  text-align: center;
  background: url(../images/business/product-bg_pc.png) top center no-repeat;
  height: 531px;
}
@media (max-width: 750px) {
  body#business #rigid-box {
    background: url(../images/business/product-bg_sp.png) top center no-repeat;
    background-size: contain;
    height: 0;
    padding-top: 88.6%;
  }
  body#business #rigid-box .inner {
    position: absolute;
    top: 48vw;
    left: 18vw;
    width: 60vw;
  }
  body#business #rigid-box .inner p span {
    display: block;
  }
  body#business #rigid-box .inner p span:nth-child(1) {
    text-indent: calc(var(--ind01-sp) * 2);
  }
  body#business #rigid-box .inner p span:nth-child(2) {
    text-indent: calc(var(--ind01-sp) * 3);
  }
  body#business #rigid-box .inner p span:nth-child(3) {
    text-indent: calc(var(--ind01-sp) * 4);
  }
  body#business #rigid-box .inner p span:nth-child(4) {
    text-indent: calc(var(--ind01-sp) * 5);
  }
  body#business #rigid-box .inner p span:nth-child(5) {
    text-indent: calc(var(--ind01-sp) * 6);
  }
}
@media (min-width: 751px) {
  body#business #rigid-box .inner {
    position: absolute;
    top: 135px;
    left: calc(50% + 164px);
    width: 436px;
  }
  body#business #rigid-box .inner p span {
    display: block;
  }
  body#business #rigid-box .inner p span:nth-child(1) {
    text-indent: calc(var(--ind01) * 2);
  }
  body#business #rigid-box .inner p span:nth-child(2) {
    text-indent: calc(var(--ind01) * 3);
  }
  body#business #rigid-box .inner p span:nth-child(3) {
    text-indent: calc(var(--ind01) * 4);
  }
  body#business #rigid-box .inner p span:nth-child(4) {
    text-indent: calc(var(--ind01) * 5);
  }
  body#business #rigid-box .inner p span:nth-child(5) {
    text-indent: calc(var(--ind01) * 6);
  }
}
body#business #cover {
  position: relative;
  text-align: center;
  background: url(../images/business/cover-bg_pc.png) top center no-repeat;
  height: 472px;
}
@media (max-width: 750px) {
  body#business #cover {
    background: url(../images/business/cover-bg_sp.png) top center no-repeat;
    background-size: contain;
    height: 0;
    padding-top: 84.8%;
  }
  body#business #cover .inner {
    position: absolute;
    top: 48vw;
    left: 19vw;
    width: 78vw;
  }
  body#business #cover .inner p span {
    display: block;
  }
  body#business #cover .inner p span:nth-child(1) {
    text-indent: calc(var(--ind01-sp) * 2 * -1);
  }
  body#business #cover .inner p span:nth-child(2) {
    text-indent: calc(var(--ind01-sp) * 3 * -1);
  }
  body#business #cover .inner p span:nth-child(3) {
    text-indent: calc(var(--ind01-sp) * 4 * -1);
  }
  body#business #cover .inner p span:nth-child(4) {
    text-indent: calc(var(--ind01-sp) * 5 * -1);
  }
}
@media (min-width: 751px) {
  body#business #cover .inner {
    position: absolute;
    text-align: left;
    top: 100px;
    left: calc(50% - 530px);
    width: 436px;
  }
  body#business #cover .inner p span {
    display: block;
  }
  body#business #cover .inner p span:nth-child(1) {
    text-indent: calc(var(--ind01) * 2 * -1);
  }
  body#business #cover .inner p span:nth-child(2) {
    text-indent: calc(var(--ind01) * 3 * -1);
  }
  body#business #cover .inner p span:nth-child(3) {
    text-indent: calc(var(--ind01) * 4 * -1);
  }
  body#business #cover .inner p span:nth-child(4) {
    text-indent: calc(var(--ind01) * 5 * -1);
  }
}
body#business #assembly {
  position: relative;
  text-align: center;
  background: url(../images/business/assembly-bg_pc.png) top center no-repeat;
  height: 472px;
}
@media (max-width: 750px) {
  body#business #assembly {
    background: url(../images/business/assembly-bg_sp.png) top center no-repeat;
    background-size: contain;
    height: 0;
    padding-top: 84.8%;
  }
  body#business #assembly .inner {
    position: absolute;
    top: 51vw;
    left: 18vw;
    width: 60vw;
  }
  body#business #assembly .inner p span {
    display: block;
  }
  body#business #assembly .inner p span:nth-child(1) {
    text-indent: calc(var(--ind01-sp) * 2);
  }
  body#business #assembly .inner p span:nth-child(2) {
    text-indent: calc(var(--ind01-sp) * 3);
  }
  body#business #assembly .inner p span:nth-child(3) {
    text-indent: calc(var(--ind01-sp) * 4);
  }
  body#business #assembly .inner p span:nth-child(4) {
    text-indent: calc(var(--ind01-sp) * 5);
  }
}
@media (min-width: 751px) {
  body#business #assembly .inner {
    position: absolute;
    top: 135px;
    left: calc(50% + 164px);
    width: 436px;
  }
  body#business #assembly .inner p span {
    display: block;
  }
  body#business #assembly .inner p span:nth-child(1) {
    text-indent: calc(var(--ind01) * 2);
  }
  body#business #assembly .inner p span:nth-child(2) {
    text-indent: calc(var(--ind01) * 3);
  }
  body#business #assembly .inner p span:nth-child(3) {
    text-indent: calc(var(--ind01) * 4);
  }
  body#business #assembly .inner p span:nth-child(4) {
    text-indent: calc(var(--ind01) * 5);
  }
}
body#business.lang-eng #rigid-box {
  position: relative;
  text-align: center;
  background: url(../en/images/business/product-bg_pc.png) top center no-repeat;
  height: 531px;
}
@media (max-width: 750px) {
  body#business.lang-eng #rigid-box {
    background: url(../en/images/business/product-bg_sp.png) top center no-repeat;
    background-size: contain;
    height: 0;
    padding-top: 88.6%;
  }
  body#business.lang-eng #rigid-box .inner {
    left: 17vw;
    width: 83vw;
  }
  body#business.lang-eng #rigid-box .inner > p, body#business.lang-eng #rigid-box .inner > p > * {
    line-height: 1.4;
  }
}
body#business.lang-eng #cover {
  position: relative;
  text-align: center;
  background: url(../en/images/business/cover-bg_pc.png) top center no-repeat;
  height: 472px;
}
@media (max-width: 750px) {
  body#business.lang-eng #cover {
    background: url(../en/images/business/cover-bg_sp.png) top center no-repeat;
    background-size: contain;
    height: 0;
    padding-top: 84.8%;
  }
  body#business.lang-eng #cover .inner {
    left: 4vw;
    width: 93vw;
  }
  body#business.lang-eng #cover .inner > p, body#business.lang-eng #cover .inner > p > * {
    line-height: 1.4;
  }
}
body#business.lang-eng #assembly {
  position: relative;
  text-align: center;
  background: url(../en/images/business/assembly-bg_pc.png) top center no-repeat;
  height: 472px;
}
@media (max-width: 750px) {
  body#business.lang-eng #assembly {
    background: url(../en/images/business/assembly-bg_sp.png) top center no-repeat;
    background-size: contain;
    height: 0;
    padding-top: 84.8%;
  }
  body#business.lang-eng #assembly .inner {
    width: 80vw;
  }
  body#business.lang-eng #assembly .inner > p, body#business.lang-eng #assembly .inner > p > * {
    line-height: 1.4;
  }
}

/* // body id */
#journal .journal-wrap {
  position: relative;
  z-index: 0;
}
@media (max-width: 750px) {
  #journal .journal-wrap {
    background: #f0f8ff;
    padding: 40px 0;
  }
}
@media (max-width: 750px) {
  #journal.lang-eng .section-title {
    background-position: left calc(16 * var(--fsection-title)) bottom 0;
  }
}
#journal .background-color1 {
  position: relative;
  z-index: -1;
  max-height: 0;
}
#journal .background-color1 div {
  height: 723px;
  width: min(max(1300px, 81.25rem + (1vw - 14.4px) * 49.1667), 1536px); /* apply width range (1440-1920px) */
  background-color: #39c4f3;
  position: absolute;
  left: 0;
}
@media (max-width: 750px) {
  #journal .background-color1 div {
    height: min(max(373px, 23.3125rem + (1vw - 0.234375rem) * 99.4667), 746px);
    width: 95vw;
    left: unset;
    right: 0;
  }
}
#journal .background-color2 {
  position: relative;
  top: 783px;
  z-index: -1;
  max-height: 0;
}
@media (max-width: 750px) {
  #journal .background-color2 {
    top: min(max(383px, 23.9375rem + (1vw - 0.234375rem) * 102.1333), 766px);
  }
}
#journal .background-color2 div {
  height: 696px;
  width: min(max(1300px, 81.25rem + (1vw - 14.4px) * 49.1667), 1536px); /* apply width range (1440-1920px) */
  background-color: #1168b9;
  position: absolute;
  left: min(max(140px, 100vw - min(max(1300px, 81.25rem + (1vw - 14.4px) * 49.1667), 1536px)), 384px); /* apply width range (1440-1920px) */
}
@media (max-width: 750px) {
  #journal .background-color2 div {
    height: min(max(353px, 22.0625rem + (1vw - 0.234375rem) * 94.1333), 706px);
    width: 95vw;
    left: 0;
    right: unset;
  }
}
#journal .background-color3 {
  position: relative;
  max-height: 0;
  z-index: -2;
  top: 1358px;
}
@media (max-width: 750px) {
  #journal .background-color3 {
    top: min(max(746px, 46.625rem + (1vw - 0.234375rem) * 198.9333), 1492px);
  }
}
#journal .background-color3 div {
  height: 996px;
  width: min(max(1300px, 81.25rem + (1vw - 14.4px) * 49.1667), 1536px); /* apply width range (1440-1920px) */
  background-color: #f0f8ff;
  position: absolute;
  left: 0;
}
@media (max-width: 750px) {
  #journal .background-color3 div {
    height: min(max(353px, 22.0625rem + (1vw - 0.234375rem) * 94.1333), 706px);
    width: 95vw;
    background-color: #033462;
    left: unset;
    right: 0;
  }
}
#journal .journal-desc {
  width: 1440px;
  margin: 0 auto 98px;
  text-align: center;
  color: #033462;
}
@media (max-width: 750px) {
  #journal .journal-desc {
    width: 90vw;
    max-width: 750px;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: min(max(30px, 1.875rem + (1vw - 3.75px) * 8), 60px);
    margin-left: auto;
  }
}
#journal .journal-desc h3 {
  font-size: 1.75rem; /* 28px */
  margin-bottom: 1.85rem;
}
@media (max-width: 750px) {
  #journal .journal-desc h3 {
    font-size: var(--fhead);
  }
}
@media (max-width: 750px) {
  #journal .journal-desc div {
    text-align: left;
  }
}
#journal .journal-desc div p {
  font-size: 1.25rem; /* 20px */
}
@media (max-width: 750px) {
  #journal .journal-desc div p {
    font-size: var(--fhead);
  }
}
@media (max-width: 750px) {
  #journal .journal-title {
    line-height: 1;
    margin: min(max(3.5px, 0.21875rem + (1vw - 0.234375rem) * 2.8), 14px) auto;
  }
}
#journal .journal-title .journal-title-en {
  display: inline-block;
  color: #fff;
  transform: skewX(-7deg);
  font-size: var(--f2);
  letter-spacing: calc(var(--f2) / 5);
}
@media (max-width: 750px) {
  #journal .journal-title .journal-title-en {
    line-height: 1;
    font-size: var(--f3);
  }
}
#journal .journal-title .journal-title-ja {
  margin-left: calc(var(--fsection-title) / 2);
  display: inline-block;
  color: #033462;
  font-size: var(--fsection-title);
}
@media (max-width: 750px) {
  #journal .journal-title .journal-title-ja {
    line-height: 1;
    font-size: var(--f3);
  }
}
#journal .content {
  width: 1440px;
  padding: 60px 0;
  margin: 0 auto;
}
@media (max-width: 750px) {
  #journal .content {
    width: 90vw;
    max-width: 750px;
    padding: 0 min(max(7px, 0.4375rem + (1vw - 0.234375rem) * 2.6667), 17px);
  }
}
@media (max-width: 750px) {
  #journal .section-title-journal {
    background-position: left calc(6 * var(--fsection-title)) bottom 0;
  }
}
#journal .journal-article-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 60px 60px;
}
@media (max-width: 750px) {
  #journal .journal-article-wrap {
    justify-content: unset;
    gap: min(max(12px, 0.75rem + (1vw - 0.234375rem) * 3.2), 24px) min(max(7px, 0.4375rem + (1vw - 0.234375rem) * 1.8667), 14px); /*7-14px*/
  }
}
#journal .journal-article img {
  width: 270px;
  height: 378px;
}
@media (max-width: 750px) {
  #journal .journal-article img {
    width: min(max(100px, 6.25rem + (1vw - 0.234375rem) * 27.4667), 203px); /* 100-203px */
    height: min(max(140px, 8.75rem + (1vw - 0.234375rem) * 38.9333), 286px);
  }
}
#journal .journal-article .journal-article-img-area {
  margin-bottom: 30px;
  background-color: #fff;
}
@media (max-width: 750px) {
  #journal .journal-article .journal-article-img-area {
    margin-bottom: 10px;
  }
}
#journal .journal-article .journal-article-title {
  background-color: #fff;
  font-size: 30px;
  line-height: 1;
  text-align: center;
}
@media (max-width: 750px) {
  #journal .journal-article .journal-article-title {
    font-size: min(max(0.75rem, 0.75rem + (1vw - 0.234375rem) * 2.4), 1.3125rem); /* 12-21px */
  }
}
@media (min-width: 751px) {
  #journal {
    /* 1段目だけ上下マージンを無くす */
    /* 最終行のアイテム数が2or3つの時、左右に振り分けられるのを防ぐ */
  }
  #journal .journal-article:nth-of-type(1),
#journal .journal-article:nth-of-type(2),
#journal .journal-article:nth-of-type(3),
#journal .journal-article:nth-of-type(4) {
    margin-top: 0;
  }
  #journal .journal-article:nth-of-type(4n-1):nth-last-of-type(1),
#journal .journal-article:nth-of-type(4n-2):nth-last-of-type(1) {
    margin-right: auto;
    margin-left: 60px;
  }
  #journal .journal-article:nth-of-type(4n-2):nth-last-of-type(2) {
    margin-right: 0;
    margin-left: 60px;
  }
}
@media (max-width: 750px) {
  #journal {
    /* 1段目だけ上下マージンを無くす */
    /* 最終行のアイテム数が2or3つの時、左右に振り分けられるのを防ぐ */
  }
  #journal .journal-article:nth-of-type(1),
#journal .journal-article:nth-of-type(2),
#journal .journal-article:nth-of-type(3) {
    margin-top: 0 !important;
  }
  #journal .journal-article:nth-of-type(6n + 1),
#journal .journal-article:nth-of-type(6n + 2),
#journal .journal-article:nth-of-type(6n + 3) {
    margin-top: min(max(14px, 0.875rem + (1vw - 0.234375rem) * 8), 44px);
  }
  #journal .journal-article:nth-of-type(4n-1):nth-last-of-type(1),
#journal .journal-article:nth-of-type(4n-2):nth-last-of-type(1) {
    margin-right: auto;
    margin-left: 0;
  }
  #journal .journal-article:nth-of-type(4n-2):nth-last-of-type(2) {
    margin-right: 0;
    margin-left: 0;
  }
}
#journal .pagination-wrap {
  position: relative;
}
@media (max-width: 750px) {
  #journal .pagination-wrap {
    background-color: #f0f8ff;
    padding-bottom: min(max(44px, 2.75rem + (1vw - 0.234375rem) * 11.7333), 88px);
  }
}

#page-contact .section-title {
  background-image: url(../images/data/title-bar.png);
}
#page-contact .section-title-inner {
  font-size: 24px;
}
@media (max-width: 750px) {
  #page-contact .section-title-inner {
    font-size: var(--fsection-title);
  }
}
@media (max-width: 750px) {
  #page-contact .section-title-contact {
    background-position: left calc(18 * var(--fsection-title)) bottom 0;
  }
}
@media (min-width: 751px) {
  #page-contact.lang-eng .section-title.section-title-eng {
    min-width: 1187px;
    background-image: url(../images/title-bar_l.png);
    background-size: 1187px 60px;
  }
  #page-contact.lang-eng .section-title-inner {
    font-size: 22px;
  }
}
@media (max-width: 750px) {
  #page-contact.lang-eng .section-title-inner {
    font-size: var(--fbase);
  }
}
@media (max-width: 750px) and (max-width: 750px) {
  #page-contact.lang-eng .section-title-contact {
    background-position: left calc(20 * var(--fsection-title)) bottom 0;
  }
}

@media (max-width: 750px) {
  body#page-contact #section-hero {
    max-width: 48vw;
  }
}

#contact .label-required::before {
  display: inline-block !important;
  float: left;
  padding: 2px 5px;
  margin-right: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  line-height: normal;
  text-align: center;
  vertical-align: middle;
  background-color: #ce052c;
  content: "必須";
}
#contact .label-optional::before {
  display: inline-block !important;
  float: left;
  padding: 2px 5px;
  margin-right: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  line-height: normal;
  text-align: center;
  vertical-align: middle;
  background-color: #a9a9a9;
  content: "任意";
}
#contact .contact-form-group {
  border-bottom: 1px solid #e2e2e2;
  padding: 12px 0;
}
#contact .contact-form-group label {
  display: flex;
  align-items: center;
}
#contact .contact-form-agree-policy {
  display: flex;
  align-items: center;
}
@media (max-width: 750px) {
  #contact .contact-form-agree-policy {
    flex-wrap: wrap;
  }
}
#contact .contact-form-control-wrap {
  display: inline-block;
  width: 70%;
  margin-left: auto;
}
#contact .contact-form-slider {
  overflow: hidden;
}
#contact .contact-form-slider-wrap {
  transition: transform 0.3s ease;
}
#contact .contact-form-slider-wrap > section {
  width: 33.3333333333%;
  padding: 0 0.5em;
}
#contact .contact-input-text,
#contact .contact-input-textarea {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  border: solid 1px #bbb;
}
#contact .contact-exec-btn-wrap {
  display: flex;
  justify-content: center;
}
#contact .contact-cancel {
  display: block;
  background-color: #cbd7da;
  color: #0a0a0a;
  text-align: center;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  font-size: var(--fbase);
  width: 90%;
  max-width: 300px;
  transition: all 0.3s ease 0s;
}
#contact .contact-cancel:hover {
  opacity: 0.8;
}
#contact .contact-submit {
  display: block;
  background-color: #1168b9;
  color: #fff;
  text-align: center;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  font-size: var(--fbase);
  width: 90%;
  max-width: 300px;
  transition: all 0.3s ease 0s;
}
#contact .contact-submit:hover {
  opacity: 0.8;
}
#contact .contact-form-progress-area,
#contact .contact-form-response-area {
  display: none;
  text-align: center;
}
#contact .contact-form-progress-area > div,
#contact .contact-form-response-area > div {
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
  border: 2px solid #00a0d2;
}
#contact #contact-thanks p {
  margin: var(--fbase) 0;
}
#contact .btn-home-back {
  font-size: min(max(15px, 0.9375rem + (1vw - 3.75px) * 0.8), 18px);
  /* 15-18 */
  margin: 0 auto;
  width: 420px;
  height: 46px;
}
@media (max-width: 750px) {
  #contact .btn-home-back {
    width: 100%;
    height: 10vw;
  }
}
#contact .btn-home-back a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #1168b9;
  color: #fff;
}
#contact a.button-rounded {
  display: block;
  border: 2px solid #1168b9;
  border-radius: 95vh;
  background: #fff;
  color: #1168b9;
  font-size: min(max(0.8125rem, 0.8125rem + (1vw - 0.234375rem) * 1.3721), 1.4325rem);
  text-align: center;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  transition: all 0.5s ease 0s;
  text-decoration: none;
  width: 90%;
  max-width: 765px;
}
#contact .invalid-feedback {
  color: #dc3232;
  font-size: var(--fbase);
  font-weight: normal;
  display: block;
}
@media (max-width: 750px) {
  #contact .contact-form-group label {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  #contact .contact-form-control-wrap {
    display: block;
    width: 100%;
    margin-left: auto;
    margin-top: 10px;
  }
}

/* // #contact  */
.lang-eng #contact .label-required::before {
  display: inline-block !important;
  float: left;
  padding: 2px 5px;
  margin-right: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  line-height: normal;
  text-align: center;
  vertical-align: middle;
  background-color: #ce052c;
  content: "reqd";
}
.lang-eng #contact .label-optional::before {
  display: inline-block !important;
  float: left;
  padding: 2px 5px;
  margin-right: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  line-height: normal;
  text-align: center;
  vertical-align: middle;
  background-color: #a9a9a9;
  content: "Any";
}

a.link-policy {
  color: #1168b9;
}
a.link-policy img {
  width: 10px;
  height: auto;
  vertical-align: text-top;
  display: inline-block;
  margin-right: 0.5em;
}

.indent {
  margin: 0 auto;
  text-align: center;
}
.indent > p {
  display: inline-block;
  text-align: left;
}

/*
 about
*/
@media (max-width: 750px) {
  .section-title-about {
    background-position: left calc(15 * var(--fsection-title)) bottom 0;
  }
}

body#about {
  /* // #section-message */
  /* // #anniv_bar */
  /* group紹介 */
  /* //#section-group */
}
body#about main {
  max-width: 1920px;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 750px) {
  body#about main {
    max-width: 750px;
  }
}
@media (max-width: 750px) {
  body#about #section-hero {
    max-width: 48vw;
  }
}
body#about .lead-txt {
  font-size: var(--flead);
  text-align: center;
}
body#about #section-message .boss-catch {
  font-size: min(max(13px, 0.8125rem + (1vw - 3.75px) * 7.7333), 42px); /* 13-42px*/
}
@media (max-width: 750px) {
  body#about #section-message .boss-card {
    margin-top: -12vw;
    background: rgb(138, 213, 243);
    background: linear-gradient(180deg, rgba(138, 213, 243, 0.8351715686) 0%, rgb(138, 213, 243) 27%, rgb(138, 213, 243) 100%);
    color: #fff;
    padding: 1em 1em 2em;
    position: relative;
  }
  body#about #section-message .boss-card .boss-sign {
    width: 28.53vw;
    margin: -5em 0 0 auto;
    text-align: right;
    letter-spacing: 0.15em;
  }
}
@media (min-width: 751px) {
  body#about #section-message {
    color: #35b5ea;
  }
  body#about #section-message .boss-photo {
    position: relative;
  }
  body#about #section-message .boss-photo img {
    position: absolute;
    top: 0;
    right: 0;
  }
  body#about #section-message .boss-card {
    position: relative;
  }
  body#about #section-message .boss-card .boss-catch {
    position: absolute;
    top: 0;
    left: 0;
    font-weight: bold;
  }
  body#about #section-message .boss-card .boss-sign {
    position: absolute;
    top: 520px;
    right: 0;
    text-align: right;
    color: #000;
  }
  body#about #section-message .boss-message {
    position: relative;
    height: 955px;
  }
  body#about #section-message .boss-message .boss-message-inner {
    position: absolute;
    top: 267px;
    left: 0;
  }
  body#about #section-message .boss-message .boss-message-inner p {
    font-size: 1.125rem;
  }
  body#about #section-message .boss-message .boss-message-inner p:nth-child(1) {
    margin-bottom: 4em;
  }
}
@media (min-width: 751px) {
  body#about.lang-eng #section-message .boss-catch {
    font-size: var(--f3);
  }
  body#about.lang-eng #section-message .boss-message .boss-message-inner {
    top: 200px;
  }
  body#about.lang-eng #section-message .boss-message .boss-message-inner p:first-child {
    width: 443px;
  }
  body#about.lang-eng #section-message .boss-message .boss-message-inner p:nth-child(2) {
    width: 893px;
  }
}
@media (max-width: 750px) {
  body#about.lang-eng #section-message .boss-catch {
    width: 53.9vw;
    font-size: var(--fhead);
    line-height: 1.3;
  }
}
body#about #anniv_bnr {
  background: rgb(53, 180, 233);
  background: linear-gradient(135deg, rgb(53, 180, 233) 0%, rgb(17, 87, 135) 38%, rgb(5, 56, 102) 100%);
  color: #fff;
  border: 10px solid #fff;
  box-shadow: 3px 5px 13px 0px rgba(0, 0, 0, 0.23);
  padding: 1em;
  display: flex;
}
@media (max-width: 750px) {
  body#about #anniv_bnr {
    flex-direction: column;
  }
  body#about #anniv_bnr p {
    text-align: center;
    font-size: 2.6vw;
  }
  body#about #anniv_bnr h3 {
    width: 50vw;
    margin: 0 auto 1em;
  }
}
@media (min-width: 751px) {
  body#about #anniv_bnr {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }
  body#about #anniv_bnr p {
    font-size: 22px;
    line-height: 1.3;
  }
  body#about #anniv_bnr h3 {
    margin-right: 1em;
  }
}
@media (min-width: 751px) {
  body#about.lang-eng #anniv_bnr p {
    font-size: 23px;
    letter-spacing: 0.08em;
  }
}
body#about #section-group {
  background: #eef4f6;
  padding: 7.47vw 0 16.27vw;
  /* 配置設定 */
}
@media (min-width: 751px) {
  body#about #section-group {
    background: url(../images/about/group-bg.png) center top repeat-y;
  }
}
body#about #section-group .group-discription {
  color: #1168b9;
}
body#about #section-group .group-discription h2 {
  text-align: center;
  font-size: 3.571vw;
}
body#about #section-group .group-discription p {
  font-size: 3.125vw;
}
body#about #section-group .group-info {
  color: #fff;
  margin-bottom: 7.8vw;
}
@media (min-width: 751px) {
  body#about #section-group .group-info {
    margin-bottom: 60px;
  }
}
body#about #section-group h3.label-type {
  display: inline-block;
  background-color: #fff;
  line-height: 1.1;
  padding: 5px 2em 3px 2em;
  font-size: min(max(9px, 0.5625rem + (1vw - 3.75px) * 2.4), 18px); /* 9-18px*/
  margin-bottom: 1em;
}
@media (min-width: 751px) {
  body#about #section-group h3.label-type {
    margin-bottom: 2em;
  }
}
body#about #section-group h3.label-type span {
  display: block;
  font-weight: normal;
  line-height: 1.1;
}
body#about #section-group .group-info h2 {
  line-height: 1.3;
  font-size: min(max(10px, 0.625rem + (1vw - 3.75px) * 2.1333), 18px); /* 10-18px*/
  margin-bottom: 0.8em;
}
body#about #section-group .group-info h2 > * {
  line-height: inherit;
}
body#about #section-group .group-info h2 span {
  display: block;
  font-weight: normal;
  font-size: 0.9em;
  line-height: 1.3;
}
body#about #section-group .group-info p {
  line-height: 1.3;
  font-size: min(max(9px, 0.5625rem + (1vw - 3.75px) * 1.8667), 16px); /* 9-16px*/
}
body#about #section-group .group-info p.contact-information {
  font-size: min(max(8px, 0.5rem + (1vw - 0.203125rem) * 1.6471), 15px); /* 8-15px*/
}
body#about #section-group .group-info p > * {
  line-height: inherit;
}
@media (min-width: 751px) {
  body#about #section-group {
    padding: 102px 0 100px;
  }
  body#about #section-group .group-discription h2 {
    font-size: 30px;
  }
  body#about #section-group .group-discription p {
    font-size: 20px;
    text-align: center;
  }
  body#about #section-group h3.label-type {
    font-size: 1rem;
  }
  body#about #section-group .group-info {
    line-height: inherit;
  }
  body#about #section-group .group-info h2 {
    font-size: 30px;
    line-height: 1.2;
  }
  body#about #section-group .group-info h2 span {
    padding-top: 0.8rem;
    font-size: 1rem;
  }
  body#about #section-group .group-info p {
    line-height: 1.5;
  }
}
body#about #section-group #group-packwell {
  background: url(../images/about/g-packwell-bg_sp.png) top center no-repeat;
  background-size: contain;
  height: 0;
  padding-top: 170%;
}
@media (min-width: 751px) {
  body#about #section-group #group-packwell {
    background: url(../images/about/g-packwell-bg_pc.png) top center no-repeat;
    background-size: auto;
    padding-top: 0;
    height: 1038px;
  }
}
body#about #section-group #group-packwell h3.label-type {
  color: #1168b9;
}
body#about #section-group #group-packwell .content {
  padding-left: 6vw;
}
@media (max-width: 750px) {
  body#about #section-group #group-packwell .content {
    width: 94vw;
  }
}
@media (min-width: 751px) {
  body#about #section-group #group-packwell .content {
    padding-left: 20px;
  }
}
body#about #section-group #group-packwell .flex-box {
  display: flex;
  flex-wrap: wrap;
}
body#about #section-group #group-packwell .flex-box > div {
  width: 50%;
}
@media (min-width: 751px) {
  body#about #section-group #group-packwell .flex-box {
    width: 720px;
  }
}
body#about #section-group #group-nitto {
  background: url(../images/about/g-nitto-bg_sp.png) top center no-repeat;
  background-size: contain;
  height: 0;
  padding-top: 105.86%;
}
@media (min-width: 751px) {
  body#about #section-group #group-nitto {
    background: url(../images/about/g-nitto-bg_pc.png) top center no-repeat;
    background-size: auto;
    padding-top: 0;
    height: 600px;
  }
}
body#about #section-group #group-nitto h3.label-type {
  color: #148e36;
}
body#about #section-group #group-coawell {
  background: url(../images/about/g-coawell-bg_sp.png) top center no-repeat;
  background-size: contain;
  height: 0;
  padding-top: 111.467%;
}
@media (min-width: 751px) {
  body#about #section-group #group-coawell {
    background: url(../images/about/g-coawell-bg_pc.png) top center no-repeat;
    background-size: auto;
    padding-top: 0;
    height: 664px;
  }
}
body#about #section-group #group-coawell h3.label-type {
  color: #cf121b;
}
body#about #section-group #group-nittopapercraft {
  background: url(../images/about/g-nittopapercraft-bg_sp.png) top center no-repeat;
  background-size: contain;
  height: 0;
  padding-top: 111.46%;
}
@media (min-width: 751px) {
  body#about #section-group #group-nittopapercraft {
    background: url(../images/about/g-nittopapercraft-bg_pc.png) top center no-repeat;
    background-size: auto;
    padding-top: 0;
    height: 600px;
  }
}
body#about #section-group #group-nittopapercraft h3.label-type {
  color: #39c4f3;
}
body#about #section-group #group-np {
  background: url(../images/about/g-np-bg_sp.png) top center no-repeat;
  background-size: contain;
  height: 0;
  padding-top: 102.66%;
}
@media (min-width: 751px) {
  body#about #section-group #group-np {
    background: url(../images/about/g-np-bg_pc.png) top center no-repeat;
    background-size: auto;
    padding-top: 0;
    height: 660px;
  }
}
body#about #section-group #group-np h3.label-type {
  color: #033462;
}
body#about #section-group #group-packwell .content {
  margin-top: -95vw;
}
@media (max-width: 375px) {
  body#about #section-group #group-packwell .content {
    margin-top: -100vw;
  }
}
@media (min-width: 751px) {
  body#about #section-group #group-packwell .content {
    margin-top: 0;
    padding-top: 160px;
  }
}
body#about #section-group #group-nitto .content {
  margin-top: -43vw;
  padding-left: 2em;
}
@media (min-width: 751px) {
  body#about #section-group #group-nitto .content {
    margin-top: 0;
    padding-top: 60px;
    text-align: right;
    padding-right: 122px;
  }
}
body#about #section-group #group-coawell .content {
  margin-top: -52vw;
  padding-left: 21.9vw;
}
@media (min-width: 751px) {
  body#about #section-group #group-coawell .content {
    margin-top: 0;
    padding-top: 60px;
    padding-left: 0;
  }
}
body#about #section-group #group-nittopapercraft .content {
  margin-top: -40vw;
  padding-left: 14vw;
}
@media (min-width: 751px) {
  body#about #section-group #group-nittopapercraft .content {
    margin-top: 0;
    padding-top: 60px;
    padding-left: 40px;
  }
}
body#about #section-group #group-np .content {
  margin-top: -40vw;
  padding-left: 14vw;
}
@media (min-width: 751px) {
  body#about #section-group #group-np .content {
    margin-top: 0;
    padding-top: 94px;
    text-align: right;
  }
}

/* // body id */
#data .section-title {
  background-image: url(../images/data/title-bar.png);
}
#data .section-title-inner {
  font-size: 24px;
}
#data.lang-eng .section-title-inner {
  font-size: 22px;
}
@media (max-width: 750px) {
  #data #section-hero {
    max-width: 59.33vw;
  }
  #data .section-title-inner {
    font-size: var(--fsection-title);
  }
}
@media (max-width: 750px) {
  #data .section-title-data {
    background-position: left calc(23 * var(--fsection-title)) bottom 0;
  }
}
@media (max-width: 750px) and (max-width: 750px) {
  #data.lang-eng .section-title-data {
    background-position: left calc(23 * var(--fsection-title)) bottom 0;
  }
}
@media (max-width: 750px) {
  #data.lang-eng .section-title-inner {
    font-size: var(--fbase);
  }
}
#data .data-desc {
  min-width: 1280px;
}
@media (max-width: 750px) {
  #data .data-desc {
    min-width: unset;
    padding-right: min(max(19px, 1.1875rem + (1vw - 0.234375rem) * 5.0667), 38px);
    padding-left: min(max(20px, 1.25rem + (1vw - 0.234375rem) * 5.3333), 40px);
  }
}
#data .data-desc p {
  font-size: 1.75rem; /* 28px */
  text-align: center;
}
@media (max-width: 750px) {
  #data .data-desc p {
    font-size: min(max(0.75rem, 0.75rem + (1vw - 0.234375rem) * 3.2), 1.5rem); /* 12-24px */
    text-align: left;
  }
}
#data #section-data {
  background-color: #f0f8ff;
  padding: 212px 0px 247px;
  min-width: 1280px;
}
@media (max-width: 750px) {
  #data #section-data {
    min-width: unset;
    padding-top: min(max(8.5px, 0.53125rem + (1vw - 0.234375rem) * 2.2667), 17px);
    padding-right: min(max(10.5px, 0.65625rem + (1vw - 0.234375rem) * 2.8), 21px);
    padding-bottom: min(max(39.5px, 2.46875rem + (1vw - 0.234375rem) * 10.5333), 79px);
    padding-left: min(max(11.5px, 0.71875rem + (1vw - 0.234375rem) * 3.0667), 23px);
  }
}
#data #data-list {
  display: flex;
  flex-wrap: wrap;
  max-width: 1466px;
  min-width: 1280px;
  margin: 0 auto;
}
@media (max-width: 750px) {
  #data #data-list {
    max-width: unset;
    min-width: unset;
  }
}
#data .data-panel {
  padding: 10px;
}
@media (max-width: 750px) {
  #data .data-panel {
    padding: min(max(8.5px, 0.53125rem + (1vw - 0.234375rem) * 2.2667), 17px);
  }
}
#data .data-panel .panel-title-area {
  max-height: 0;
  position: relative;
  top: 25px;
  text-align: center;
}
#data .data-panel .panel-title {
  font-size: 2.1875rem; /* 35px */
}
@media (max-width: 750px) {
  #data .data-panel .panel-title {
    font-size: min(max(0.875rem, 0.875rem + (1vw - 0.234375rem) * 3.7333), 1.75rem); /* 14-28px */
  }
}
#data .data-one-panel {
  width: 33.3333333333%;
}
@media (max-width: 750px) {
  #data .data-one-panel {
    width: 100%;
  }
}
#data .data-two-panel {
  width: 66.6666666667%;
}
@media (max-width: 750px) {
  #data .data-two-panel {
    display: none;
  }
}

/*
 nitto-papercraft
*/
@media (max-width: 750px) {
  body#page-nitto-papercraft .section-title-nitto-papercraft {
    background-position: left calc(15 * var(--fsection-title)) bottom 0;
  }
}
@media (max-width: 750px) {
  body#page-nitto-papercraft #section-hero {
    max-width: 83.733vw;
  }
}
body#page-nitto-papercraft.lang-eng .section-title {
  background-image: url(../images/data/title-bar.png);
}
body#page-nitto-papercraft.lang-eng .section-title-inner {
  font-size: 22px;
}
@media (max-width: 750px) {
  body#page-nitto-papercraft.lang-eng .section-title-nitto-papercraft {
    background-position: left calc(15 * var(--fsection-title)) bottom 0;
  }
}
@media (max-width: 750px) {
  body#page-nitto-papercraft.lang-eng .section-title-inner {
    font-size: var(--fbse);
  }
}

@media (max-width: 750px) {
  body#page-np .section-title-np {
    background-position: left calc(10 * var(--fsection-title)) bottom 0;
  }
}
@media (max-width: 750px) {
  body#page-np #section-hero {
    max-width: 79.466vw;
  }
}

body#page-nitto-papercraft,
body#page-np {
  /* // #exterior */
  /* // #company-profile */
  /* // #map */
}
body#page-nitto-papercraft #exterior,
body#page-np #exterior {
  background: url(../images/about/nitto-papercraft/bg_sp.png) top center no-repeat;
  background-size: contain;
  height: 0;
  padding-top: 105.2%;
}
body#page-nitto-papercraft #exterior div.exterior-ph,
body#page-np #exterior div.exterior-ph {
  margin-top: -102.26vw;
}
body#page-nitto-papercraft #exterior div.exterior-ph div:nth-of-type(1),
body#page-np #exterior div.exterior-ph div:nth-of-type(1) {
  width: 76.66vw;
  margin-bottom: 4.66vw;
}
body#page-nitto-papercraft #exterior div.exterior-ph div:nth-of-type(2),
body#page-np #exterior div.exterior-ph div:nth-of-type(2) {
  width: 48vw;
  margin: 0 0 0 auto;
}
@media (min-width: 751px) {
  body#page-nitto-papercraft #exterior,
body#page-np #exterior {
    background: url(../images/about/nitto-papercraft/bg_pc.png) center center no-repeat;
    background-size: auto;
    height: auto;
    padding-top: 0;
  }
  body#page-nitto-papercraft #exterior .content,
body#page-np #exterior .content {
    width: 1440px;
    padding: 0 40px;
    margin: 0 auto;
  }
  body#page-nitto-papercraft #exterior div.exterior-ph,
body#page-np #exterior div.exterior-ph {
    margin-top: 0;
  }
  body#page-nitto-papercraft #exterior div.exterior-ph div:nth-of-type(1),
body#page-np #exterior div.exterior-ph div:nth-of-type(1) {
    width: auto;
    margin-bottom: 58px;
  }
  body#page-nitto-papercraft #exterior div.exterior-ph div:nth-of-type(2),
body#page-np #exterior div.exterior-ph div:nth-of-type(2) {
    width: 720px;
    margin: 0 0 0 auto;
  }
}
body#page-nitto-papercraft #company-profile h2,
body#page-np #company-profile h2 {
  font-size: var(--fhead);
}
body#page-nitto-papercraft #company-profile table.table-basic,
body#page-np #company-profile table.table-basic {
  width: 100%;
  font-size: var(--fnav);
  color: #1168b9;
  border-collapse: collapse;
}
body#page-nitto-papercraft #company-profile table.table-basic tbody tr th, body#page-nitto-papercraft #company-profile table.table-basic tbody tr td,
body#page-np #company-profile table.table-basic tbody tr th,
body#page-np #company-profile table.table-basic tbody tr td {
  border: 1px solid #1168b9;
}
body#page-nitto-papercraft #company-profile table.table-basic tbody tr th,
body#page-np #company-profile table.table-basic tbody tr th {
  background-color: #ddeaef;
  padding: 1em 2em;
  width: 11em;
}
body#page-nitto-papercraft #company-profile table.table-basic tbody tr th div,
body#page-np #company-profile table.table-basic tbody tr th div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 7em;
}
body#page-nitto-papercraft #company-profile table.table-basic tbody tr td,
body#page-np #company-profile table.table-basic tbody tr td {
  padding: 1em;
}
body#page-nitto-papercraft h2.h_hascolor,
body#page-np h2.h_hascolor {
  font-size: min(max(25px, 1.5625rem + (1vw - 3.75px) * 6.6667), 50px); /* 25-50px*/
  color: #39c4f3;
  transform: skewX(-7deg);
}

/* // body id */
@media (max-width: 750px) {
  #locations .section-title-locations {
    background-position: left calc(7 * var(--fsection-title)) bottom 0;
  }
}
@media (max-width: 750px) {
  #locations.lang-eng .section-title-locations {
    background-position: left calc(11 * var(--fsection-title)) bottom 0;
  }
}
#locations .locations-desc {
  text-align: center;
}
@media (max-width: 750px) {
  #locations .locations-desc {
    text-align: left;
  }
}
#locations .locations-desc p {
  font-size: 1.6875rem; /* 27px */
}
@media (max-width: 750px) {
  #locations .locations-desc p {
    font-size: min(max(0.6875rem, 0.6875rem + (1vw - 0.234375rem) * 2.9333), 1.375rem); /* 11-22px */
  }
}
#locations #section-locations {
  padding-top: 120px;
  padding-bottom: 120px;
  background-image: linear-gradient(#eff5f7, #eff5f7);
  background-size: 1800px auto;
  background-position: top right;
  background-repeat: no-repeat;
}
@media (max-width: 750px) {
  #locations #section-locations {
    padding-top: 45px;
    padding-bottom: 70px;
  }
}
#locations .location-list-wrap {
  background-repeat: no-repeat;
  background-size: 1558px calc(100% - 100px);
}
@media (max-width: 750px) {
  #locations .location-list-wrap {
    background-size: calc(100% - min(max(4.6875rem, 4.6875rem + (1vw - 0.234375rem) * 20), 9.375rem));
    /* 75-150px 21-42px */
    padding-bottom: 0.5px;
  }
}
#locations .location-domestic {
  background-image: linear-gradient(#39c4f3, #39c4f3);
  background-position: top right;
}
#locations .location-domestic .title-area {
  width: 1440px;
  height: 200px;
  margin: 0 auto;
  padding-left: 225px;
  display: flex;
  align-items: center;
}
@media (max-width: 750px) {
  #locations .location-domestic .title-area {
    width: unset;
    max-width: 750px;
    height: min(max(1.8125rem, 1.8125rem + (1vw - 0.234375rem) * 7.7333), 3.625rem); /* 29-58px */
    padding-left: min(max(5.4688rem, 5.4688rem + (1vw - 0.234375rem) * 23.3331), 10.9375rem); /* 87.5-175px */
  }
}
#locations .location-domestic .title {
  font-size: 2.9375rem; /* 47px */
  color: #033462;
  transform: skewX(-7deg);
}
@media (max-width: 750px) {
  #locations .location-domestic .title {
    font-size: min(max(0.75rem, 0.75rem + (1vw - 0.234375rem) * 3.2), 1.5rem); /* 12-24px */
  }
}
#locations .location-domestic .title .title-ja {
  font-size: 2rem;
  color: #fff;
}
@media (max-width: 750px) {
  #locations .location-domestic .title .title-ja {
    font-size: min(max(0.75rem, 0.75rem + (1vw - 0.234375rem) * 3.2), 1.5rem); /* 12-24px */
  }
}
#locations .location-domestic .location .location-name {
  background-color: #1168b9;
}
#locations .location-overseas {
  background-image: linear-gradient(#033462, #033462);
  background-position: top left;
  margin-top: 45px;
}
#locations .location-overseas .title-area {
  width: 1440px;
  height: 200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
@media (max-width: 750px) {
  #locations .location-overseas .title-area {
    width: unset;
    max-width: 750px;
    height: 58px;
    padding-left: min(max(5.4688rem, 5.4688rem + (1vw - 0.234375rem) * 23.3331), 10.9375rem); /* 87.5-175px */
  }
}
#locations .location-overseas .title {
  font-size: 2.9375rem; /* 47px */
  color: #fff;
  font-style: italic;
}
@media (max-width: 750px) {
  #locations .location-overseas .title {
    font-size: min(max(0.75rem, 0.75rem + (1vw - 0.234375rem) * 3.2), 1.5rem); /* 12-24px */
  }
}
#locations .location-overseas .title .title-ja {
  font-size: 2rem; /* 32px */
}
@media (max-width: 750px) {
  #locations .location-overseas .title .title-ja {
    font-size: min(max(0.75rem, 0.75rem + (1vw - 0.234375rem) * 3.2), 1.5rem); /* 12-24px */
  }
}
#locations .location-overseas .location .location-name {
  background-color: #39c4f3;
}
#locations .location {
  width: 1440px; /* 2022-06-22 イキ */
  margin-bottom: 50px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 40px;
  padding-right: 120px;
  padding-bottom: 40px;
  padding-left: 120px;
  background-color: #fff;
  display: grid;
  grid-template-rows: auto auto auto 40px auto;
  grid-template-columns: 395px 60px auto;
}
@media (max-width: 750px) {
  #locations .location {
    width: 100%;
    margin-bottom: min(max(1.09375rem, 1.09375rem + (1vw - 0.234375rem) * 4.6667), 2.1875rem); /* 17.5-35px */
    padding-top: min(max(0.9375rem, 0.9375rem + (1vw - 0.234375rem) * 4), 1.875rem); /* 15-30px */
    padding-right: min(max(1.3125rem, 1.3125rem + (1vw - 0.234375rem) * 5.6), 2.625rem); /* 21-42px */
    padding-bottom: min(max(1.125rem, 1.125rem + (1vw - 0.234375rem) * 4.8), 2.25rem); /* 18-36px */
    padding-left: min(max(1.125rem, 1.125rem + (1vw - 0.234375rem) * 4.8), 2.25rem); /* 18-36px */
    grid-template-rows: auto auto min(max(0.625rem, 0.625rem + (1vw - 0.234375rem) * 2.6667), 1.25rem) auto min(max(0.8125rem, 0.8125rem + (1vw - 0.234375rem) * 3.4667), 1.625rem) auto; /* auto auto 10-20px auto 13-26px auto */
    grid-template-columns: min(max(8.9688rem, 8.9688rem + (1vw - 0.234375rem) * 38.2665), 17.9375rem) min(max(0.8125rem, 0.8125rem + (1vw - 0.234375rem) * 3.4667), 1.625rem) auto; /* 143.5-287px 13-26px auto */
  }
}
#locations .location .location-img {
  grid-row: 1/4;
  grid-column: 1/2;
}
@media (max-width: 750px) {
  #locations .location .location-img {
    grid-row: 1/3;
  }
}
#locations .location .location-name {
  grid-row: 1/2;
  grid-column: 3/4;
  background-color: #1168b9;
  min-width: 256px;
  padding-right: 38px;
  padding-left: 38px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-right: auto;
  margin-bottom: 1rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 1.75rem; /* 28px */
  line-height: 1.3;
}
@media (max-width: 750px) {
  #locations .location .location-name {
    min-width: unset;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin-bottom: 0.5rem;
    font-size: min(max(0.5rem, 0.5rem + (1vw - 0.234375rem) * 2.1333), 1rem); /* 8-16px */
    line-height: 1.5;
  }
}
#locations .location .location-name .location-name-en {
  font-weight: initial;
  line-height: 1.3;
  font-size: 1.5rem;
  font-size: min(max(0.5rem, 0.5rem + (1vw - 0.234375rem) * 1.6), 0.875rem); /* 8-14px */
  line-height: 1.5;
}
#locations .location .location-addr {
  grid-row: 2/3;
  grid-column: 3/4;
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.4;
}
@media (max-width: 750px) {
  #locations .location .location-addr {
    margin-bottom: 0.5rem;
    font-size: min(max(0.4375rem, 0.4375rem + (1vw - 0.234375rem) * 1.8667), 0.875rem); /* 7-14px */
  }
}
#locations .location .location-addr a {
  color: #1168b9;
  text-decoration: underline;
}
#locations .location .location-addr-en {
  font-size: 1.375rem; /* 22px */
}
@media (max-width: 750px) {
  #locations .location .location-addr-en {
    font-size: min(max(0.4375rem, 0.4375rem + (1vw - 0.234375rem) * 1.8667), 0.875rem); /* 7-14px */
  }
}
#locations .location .location-tel-cols {
  grid-row: 3/4;
  grid-column: 3/4;
  display: flex;
}
@media (max-width: 750px) {
  #locations .location .location-tel-cols {
    grid-row: 4/5;
    grid-column: 1/4;
  }
}
#locations .location .location-tel {
  width: 100%;
  background-color: #eff5f7;
  padding: 12px 21px;
  display: flex;
  flex-direction: column;
}
@media (max-width: 750px) {
  #locations .location .location-tel {
    padding: min(max(0.375rem, 0.375rem + (1vw - 0.234375rem) * 1.6), 0.75rem) min(max(0.65625rem, 0.65625rem + (1vw - 0.234375rem) * 2.8), 1.3125rem);
  }
}
#locations .location .location-tel div {
  line-height: 1.5;
}
@media (max-width: 750px) {
  #locations .location .location-tel div {
    line-height: 1.5;
    font-size: min(max(0.4375rem, 0.4375rem + (1vw - 0.234375rem) * 1.8667), 0.875rem); /* 7-14px */
  }
}
#locations .location .location-tel p.location-note {
  line-height: 1.15;
  font-size: min(max(0.375rem, 0.375rem + (1vw - 0.203125rem) * 1.4085), 0.75rem); /* 6-12px*/
  margin-bottom: 0.5em;
}
#locations .location .location-tel .hp-link-area {
  display: flex;
  flex-grow: 1;
  align-items: flex-end;
}
#locations .location .location-tel .hp-link-area a {
  display: inline-block;
  padding: 0 0.5rem;
  background-color: #1168b9;
  color: #fff;
}
#locations .location .location-tel + .location-tel {
  margin-left: 29px;
}
@media (max-width: 750px) {
  #locations .location .location-tel + .location-tel {
    margin-left: min(max(0.75rem, 0.75rem + (1vw - 0.234375rem) * 3.2), 1.5rem); /* 12-24px */
  }
}
#locations .location .location-map {
  grid-row: 5/6;
  grid-column: 1/4;
}
@media (max-width: 750px) {
  #locations .location .location-map {
    grid-row: 6/7;
  }
}

#history {
  --fhist-md: min(
    max(1.25rem, calc(1.25rem + ((1vw - 0.234375rem) * 5.3333))),
    2.5rem
  ); /* 20-40px */
  --fhist-lg: min(
    max(1.875rem, calc(1.875rem + ((1vw - 0.234375rem) * 8))),
    3.75rem
  ); /* 30-60px */
  --fhist-xl: min(
    max(2.25rem, calc(2.25rem + ((1vw - 0.234375rem) * 9.6))),
    4.5rem
  ); /* 36-72px */
}
@media (max-width: 750px) {
  #history .section-title {
    background-position: left calc(5 * var(--fsection-title)) bottom 0;
  }
}
@media (max-width: 750px) and (max-width: 750px) {
  #history.lang-eng .section-title {
    background-position: left calc(8 * var(--fsection-title)) bottom 0;
  }
}
#history .history-desc {
  width: 1440px;
  margin: 0 auto 98px;
  text-align: center;
  color: #033462;
}
@media (max-width: 750px) {
  #history .history-desc {
    width: unset;
    max-width: 750px;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: var(--fhist-lg);
    margin-left: auto;
  }
}
#history .history-desc h3 {
  font-size: 1.75rem; /* 28px */
  margin-bottom: 1.85rem;
}
@media (max-width: 750px) {
  #history .history-desc h3 {
    font-size: var(--fhead);
  }
}
#history .history-desc p {
  font-size: 1.25rem; /* 20px */
}
@media (max-width: 750px) {
  #history .history-desc p {
    text-align: left;
    font-size: var(--fhead);
  }
}
#history .term-wrap {
  margin-bottom: 100px;
  background-image: linear-gradient(#eff5f7, #eff5f7);
  background-position-y: 60px;
  background-size: 1680px calc(100% - 110px - 60px);
  background-repeat: no-repeat;
}
@media (max-width: 750px) {
  #history .term-wrap {
    margin-bottom: var(--fhist-xl);
    background-position-y: min(max(0.9375rem, 0.9375rem + (1vw - 0.234375rem) * 4), 1.875rem); /* 15-30px */
    background-size: calc(100% - var(--fhist-md)) calc(100% - min(max(0.9375rem, 0.9375rem + (1vw - 0.234375rem) * 4), 1.875rem) - min(max(3.3125rem, 3.3125rem + (1vw - 0.234375rem) * 14.1333), 6.625rem)); /*100% 20-40px, 100% 15-30px 53-106px */
  }
}
#history #term1 {
  background-position-x: right;
}
#history #term1 .term::before {
  content: "";
  border-top: 109px solid transparent;
  border-right: 120px solid #fff;
  position: absolute;
  right: 120px;
}
@media (max-width: 750px) {
  #history #term1 .term::before {
    left: unset;
    right: var(--fhist-md);
    border: unset;
    border-top: var(--fhist-xl) solid #39c4f3;
    border-right: var(--fhist-lg) solid transparent;
  }
}
#history #term1 .year {
  background-color: #39c4f3;
  color: #fff;
}
#history #term2 {
  background-position-x: left;
}
@media (max-width: 750px) {
  #history #term2 {
    background-position-x: right;
  }
}
#history #term2 .term::before {
  content: "";
  border-top: 109px solid #1168b9;
  border-left: 120px solid transparent;
  position: absolute;
  left: 120px;
}
@media (max-width: 750px) {
  #history #term2 .term::before {
    left: unset;
    right: var(--fhist-md);
    border: unset;
    border-top: var(--fhist-xl) solid #1168b9;
    border-right: var(--fhist-lg) solid transparent;
  }
}
#history #term2 .year {
  width: calc(100% - 120px - 120px);
  background-color: #1168b9;
  color: #fff;
  margin-left: auto;
  padding-left: 125px;
}
@media (max-width: 750px) {
  #history #term2 .year {
    width: calc(100% - var(--fhist-md) - var(--fhist-lg)); /* 100% 20-40px 30-60px */
    margin-left: unset;
    margin-right: auto;
    padding-left: var(--fhist-md);
  }
}
#history #term3 {
  background-position-x: right;
}
#history #term3 .term::before {
  content: "";
  border-top: 109px solid transparent;
  border-right: 120px solid #fff;
  position: absolute;
  right: 120px;
}
@media (max-width: 750px) {
  #history #term3 .term::before {
    left: unset;
    right: var(--fhist-md);
    border: unset;
    border-top: var(--fhist-xl) solid #033462;
    border-right: var(--fhist-lg) solid transparent;
  }
}
#history #term3 .year {
  background-color: #033462;
  color: #fff;
}
#history .term {
  position: relative;
  margin-bottom: 56px;
}
@media (max-width: 750px) {
  #history .term {
    margin-bottom: min(max(3.3125rem, 3.3125rem + (1vw - 0.234375rem) * 14.1333), 6.625rem); /* 53-106px */
  }
}
#history .term .year {
  width: calc(100% - 120px);
  height: 109px;
  padding-left: 365px;
  display: flex;
  align-items: center;
}
@media (max-width: 750px) {
  #history .term .year {
    width: calc(100% - var(--fhist-md) - var(--fhist-lg)); /* 100% 20-40px 30-60px */
    height: var(--fhist-xl);
    padding-left: var(--fhist-md);
  }
}
@media (max-width: 750px) {
  #history .term .year h2 {
    font-size: min(max(0.875rem, 0.875rem + (1vw - 0.234375rem) * 3.7333), 1.75rem); /* 14-28px */
    line-height: var(--fhist-xl);
  }
}
#history .term .label {
  width: 764px;
  position: absolute;
  top: 53px;
  right: 0;
  height: 109px;
  background-color: #fff;
  display: flex;
  align-items: center;
  font-size: 22px;
}
@media (max-width: 750px) {
  #history .term .label {
    height: var(--fhist-xl);
    top: min(max(1.65625rem, 1.65625rem + (1vw - 0.234375rem) * 7.0667), 3.3125rem); /* 26.5-53px */
    font-size: min(max(0.53125rem, 0.53125rem + (1vw - 0.234375rem) * 2.2667), 1.0625rem); /* 8.5-17px */
    width: min(max(16.25rem, 16.25rem + (1vw - 0.234375rem) * 69.3333), 32.5rem); /* 260-520px */
  }
}
#history .term .label::before {
  content: "";
  border-bottom: 109px solid #fff;
  border-left: 120px solid transparent;
  position: absolute;
  top: 0;
  left: -120px;
}
@media (max-width: 750px) {
  #history .term .label::before {
    left: calc(0px - var(--fhist-lg));
    border: unset;
    border-left: var(--fhist-lg) solid transparent;
    border-top: var(--fhist-xl) solid #fff;
  }
}
#history .term .label .packwell-color {
  color: #39c4f3;
}
#history .term .label .nitto-color {
  color: green;
}
#history .term .label .group-color {
  color: #033462;
}
#history .timeline-image {
  padding: 0 120px;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 750px) {
  #history .timeline-image {
    padding: 0;
  }
  #history .timeline-image div {
    width: min(max(6.71875rem, 6.71875rem + (1vw - 0.234375rem) * 28.6667), 13.4375rem); /* 107.5-215px */
  }
}
#history figcaption {
  padding-top: 28px;
  font-size: 19px;
}
@media (max-width: 750px) {
  #history figcaption {
    font-size: min(max(0.4375rem, 0.4375rem + (1vw - 0.234375rem) * 1.8667), 0.875rem); /* 7-14px */
    padding-top: min(max(9px, 0.5625rem + (1vw - 3.75px) * 2.4), 18px); /* 9-18px */
    text-align: center;
  }
}
#history .dummy-figure {
  visibility: hidden;
  width: 342px;
  height: auto;
}
@media (max-width: 750px) {
  #history .dummy-figure div {
    width: min(max(6.71875rem, 6.71875rem + (1vw - 0.234375rem) * 28.6667), 13.4375rem); /* 107.5-215px */
    height: auto;
  }
}
#history #term1 .timeline-image, #history #term3 .timeline-image {
  justify-content: center;
}
#history #term1 .timeline-image div:first-of-type, #history #term3 .timeline-image div:first-of-type {
  margin-right: 1em;
}
#history #term1 .dummy-figure, #history #term3 .dummy-figure {
  display: none;
}
#history dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 0 0 135px;
  margin-bottom: 60px;
}
@media (max-width: 750px) {
  #history dl {
    padding: 0;
    padding-left: min(max(1.9375rem, 1.9375rem + (1vw - 0.234375rem) * 8.2667), 3.875rem); /* 31-62px */
  }
}
#history dl dt {
  font-size: 25px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 7rem;
  position: relative;
  border-left: 2px solid #39c4f3;
  padding-bottom: 1em;
}
#history dl dt:last-of-type {
  border-image: linear-gradient(to bottom, #39c4f3 0%, #39c4f3 40%, #eff5f7 40%);
  border-image-slice: 1;
}
#history dl dt:first-of-type {
  border-image: linear-gradient(to top, #39c4f3 0%, #39c4f3 80%, #eff5f7 80%);
  border-image-slice: 1;
}
@media (max-width: 750px) {
  #history dl dt {
    border-left: min(max(0.0625rem, 0.0625rem + (1vw - 0.234375rem) * 0.2667), 0.125rem) solid #39c4f3; /* 1-2px */
    font-size: min(max(0.59375rem, 0.59375rem + (1vw - 0.234375rem) * 2.5333), 1.1875rem); /* 9.5-19px */
    width: min(max(3rem, 3rem + (1vw - 0.234375rem) * 12.8), 6rem);
  }
}
#history dl dt::before {
  content: "●";
  position: absolute;
  left: -0.55em;
  top: calc(50% - 28px - 0.38em);
  font-size: 28px;
  color: #000;
}
@media (max-width: 750px) {
  #history dl dt::before {
    top: calc(50% - min(max(0.40625rem, 0.40625rem + (1vw - 0.234375rem) * 1.7333), 0.8125rem) - 6px); /* 50% - 6.5-13px */
    font-size: min(max(0.8125rem, 0.8125rem + (1vw - 0.234375rem) * 3.4667), 1.625rem); /* 13-26px */
    line-height: min(max(0.8125rem, 0.8125rem + (1vw - 0.234375rem) * 3.4667), 1.625rem); /* 13-26px */
  }
}
#history dl dt.packwell::before {
  color: #39c4f3;
}
#history dl dt.nitto::before {
  color: green;
}
#history dl dt.group::before {
  color: #033462;
}
#history dl dd {
  width: calc(100% - 7rem);
  font-size: 19px;
  display: flex;
  align-items: center;
  padding-left: 35px;
  padding-bottom: 1em;
}
@media (max-width: 750px) {
  #history dl dd {
    width: calc(100% - min(max(3rem, 3rem + (1vw - 0.234375rem) * 12.8), 6rem));
    padding-left: min(max(1.09375rem, 1.09375rem + (1vw - 0.234375rem) * 4.6667), 2.1875rem); /* 17.5-35px */
    font-size: min(max(0.59375rem, 0.59375rem + (1vw - 0.234375rem) * 2.5333), 1.1875rem); /* 9.5-19px */
    line-height: 1.25;
  }
}
#history dl dt.packwell + dd {
  color: #39c4f3;
}
#history dl dt.nitto + dd {
  color: green;
}
#history #term3 dl dt {
  border-left: 2px solid #033462;
}
@media (max-width: 750px) {
  #history #term3 dl dt {
    border-left: min(max(0.0625rem, 0.0625rem + (1vw - 0.234375rem) * 0.2667), 0.125rem) solid #033462; /* 1-2px */
  }
}
#history #term3 dl dt:last-of-type {
  border-image: linear-gradient(to bottom, #033462 0%, #033462 40%, #eff5f7 40%);
  border-image-slice: 1;
}
#history #term3 dl dt:first-of-type {
  border-image: linear-gradient(to top, #033462 0%, #033462 80%, #eff5f7 80%);
  border-image-slice: 1;
}

/*
 policy
*/
body#page-policy {
  /* // #section-policy */
}
@media (max-width: 750px) {
  body#page-policy .section-title-policy {
    background-position: left calc(11 * var(--fsection-title)) bottom 0;
  }
}
@media (max-width: 750px) {
  body#page-policy #section-hero {
    max-width: 72vw;
  }
}
@media (max-width: 750px) {
  body#page-policy #section-policy .lead-txt {
    text-align: left;
  }
}
body#page-policy #section-policy dl dd {
  margin-bottom: 1.5em;
}

/* // body id */
/*
 opening animation
*/
#opening,
#pre-opening {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: #fff;
  z-index: 999999;
}
@media (max-width: 750px) {
  #opening,
#pre-opening {
    display: none;
  }
}
#opening #skip-btn,
#pre-opening #skip-btn {
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  z-index: 10;
  bottom: 1rem;
  right: 1rem;
  padding: 0.5rem 1rem;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.1ch;
  cursor: pointer;
  transition: 0.3s ease-in;
}
#opening #skip-btn:hover,
#pre-opening #skip-btn:hover {
  background-color: #1168b9;
}

#pre-loading {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-image: url(../images/opening/1.png);
}

#opening .animation {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
#opening .animation.section01 {
  background-image: url(../images/opening/1.png);
}
#opening .animation.section02 {
  animation-delay: 2s;
  background-image: url(../images/opening/2.jpg);
}
#opening .animation.section03 {
  animation-delay: 4s;
  background-image: url(../images/opening/3.jpg);
}
#opening .animation.section04 {
  animation-delay: 6s;
  background-image: url(../images/opening/4.jpg);
}

#opening .animation {
  animation-name: anime;
  animation-duration: 6s;
}

@keyframes anime {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
#opening .animation.start {
  animation-name: animeStart;
  animation-delay: 0;
  animation-duration: 3s;
}

@keyframes animeStart {
  0% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.section05 {
  animation-delay: 11s;
  background-image: none;
}
.section05 ul {
  display: flex;
  flex-wrap: wrap;
}
.section05 ul li {
  width: 33.3333333333%;
  height: 50vh;
  height: 50dvh;
  opacity: 0;
  overflow: hidden;
}
.section05 ul li img {
  height: 100%;
  object-fit: cover;
  object-position: top center;
  width: 100%;
}
.section05 ul li:nth-of-type(1) {
  animation-delay: 11.5s;
}
.section05 ul li:nth-of-type(2) {
  animation-delay: 12s;
}
.section05 ul li:nth-of-type(3) {
  animation-delay: 12.5s;
  object-position: top left;
}
.section05 ul li:nth-of-type(4) {
  animation-delay: 13s;
}
.section05 ul li:nth-of-type(5) {
  animation-delay: 13.5s;
}
.section05 ul li:nth-of-type(6) {
  animation-delay: 14s;
}

.pic {
  opacity: 0;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.section06,
.section07 {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
}
.section06 img,
.section07 img {
  height: 100vh;
  height: 100dvh;
  object-fit: cover;
  width: 100%;
}

.section06 {
  animation-delay: 16s;
}

.section07 {
  animation-delay: 17.5s;
}

.section08 {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  background: #fff;
  animation-delay: 19.5s;
}

.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeOut {
  animation-name: fadeOutAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeOutAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 100px auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px;
}

.spinner > div {
  background-color: #bfc3c5;
  height: 100%;
  width: 6px;
  display: inline-block;
  -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
  animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.spinner .rect3 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
  0%, 40%, 100% {
    -webkit-transform: scaleY(0.4);
  }
  20% {
    -webkit-transform: scaleY(1);
  }
}
@keyframes sk-stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }
  20% {
    transform: scaleY(1);
    -webkit-transform: scaleY(1);
  }
}
