@charset "UTF-8";
/*
Theme Name: APS Vietnam
Theme URI: https://wordpress.org/themes/asahi/
Description: Our default theme for 2020 is designed to take full advantage of the flexibility of the block editor. Organizations and businesses have the ability to create dynamic landing pages with endless layouts using the group and column blocks. The centered content column and fine-tuned typography also makes it perfect for traditional blogs. Complete editor styles give you a good idea of what your content will look like, even before you publish. You can give your site a personal touch by changing the background colors and the accent color in the Customizer. The colors of all elements on your site are automatically calculated based on the colors you pick, ensuring a high, accessible color contrast for your visitors.
Version: 1.3
Author: diennhienweb
Author URI: https://wordpress.org/
*/
:root {
  --scrollbar-width: 0;
}

body {
  background: white;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium",
    "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 300;
  line-height: 1.675;
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  width: 100%;
  min-height: 100vh;
  min-height: -webkit-fill-available;
}
body.navi_open,
body.contact_open {
  min-height: 100vh;
  min-height: -webkit-fill-available;
  overflow: hidden;
}

html {
  height: -webkit-fill-available;
  scroll-behavior: smooth;
}
html.with-fancybox {
  padding-right: var(--scrollbar-width);
}
html.with-fancybox #sidebar {
  right: -40px;
}

.tabpover {
  display: none !important;
}

.pcmidover {
  display: none !important;
}

::-moz-selection {
  background: rgba(251, 159, 0, 0.5);
  color: #fff;
}

::selection {
  background: rgba(251, 159, 0, 0.5);
  color: #fff;
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: 300;
}

b,
strong,
.bold {
  font-weight: 500;
}

.cmn_ttl {
  font-size: 1.125rem;
}

.ttl_small {
  font-size: 1rem;
}

.cmn_txt {
  font-size: 0.875rem;
  line-height: 1.675;
}

.ttl_bg-brown {
  margin: 0 auto 0.5em;
  font-size: clamp(1.25rem, 2.6vw, 1.75rem);
  text-align: center;
}
.ttl_bg-brown span.title_inenr {
  display: -ms-inline-grid;
  display: inline-grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #8d755e;
  padding: 0.5em;
  line-height: 1.2;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
.ttl_bg-brown span.title_inenr span {
  display: inline-block;
}
.ttl_bg-brown.kuikomi {
  position: relative;
  margin-bottom: -1.25em;
  z-index: 1;
}

.ttl_bg-none {
  margin: 0 auto 0.5em;
  font-size: clamp(1.25rem, 2.6vw, 1.75rem);
  text-align: center;
  border-bottom: 1px solid #707070;
}
.ttl_bg-none span.title_inenr {
  display: -ms-inline-grid;
  display: inline-grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 0 1.5em;
  line-height: 1.2;
  text-align: center;
  color: #8d755e;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
.ttl_bg-none span.title_inenr span {
  display: inline-block;
}

#loading {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  z-index: 18000;
}
#loading .symbol {
  position: relative;
  display: none;
}
#loading .symbol::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 100%;
  background-color: #fff;
  width: 0;
  height: 100%;
  -webkit-animation: loading_bar 0.8s;
  animation: loading_bar 0.8s;
}
#loading .symbol img {
  display: block;
  opacity: 0;
  -webkit-animation: loading_logo 0.8s forwards 0.4s;
  animation: loading_logo 0.8s forwards 0.4s;
}
#loading.opening {
  background-color: #fb9f00;
}
#loading.opening .symbol {
  display: block;
}

.main_content {
  position: relative;
  margin: auto;
}
.main_content .main_content_inner {
  padding: 20px 20px 0;
}

.ttl_brown_box {
  font-size: 1.25rem;
  white-space: nowrap;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
.ttl_brown_box span {
  display: inline-block;
  background-color: #8d755e;
  padding: 0 0.5em;
  color: #fff;
}

a.pagetop_btn {
  position: fixed;
  bottom: 20px;
  right: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: rgba(251, 159, 0, 0.5);
  width: 58px;
  height: 58px;
  border: 2px solid #fff;
  border-radius: 100%;
  z-index: 100;
}
a.pagetop_btn img {
  display: block;
}
body.navi_open a.pagetop_btn {
  -webkit-transform: translateY(150px);
  transform: translateY(150px);
}

a.movie_play {
  position: relative;
}
a.movie_play::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: url("../images/icon_play.svg");
  background-repeat: no-repeat;
  background-size: cover;
  width: 55px;
  height: 55px;
  margin: auto;
}

a.popup {
  position: relative;
}
a.popup::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: url("../images/icon_popup.svg") no-repeat;
  background-size: cover;
  width: 40px;
  height: 40px;
}

a.extarnal {
  position: relative;
  padding-right: 1.3em;
}
a.extarnal::after {
  content: "";
  position: absolute;
  top: 1px;
  bottom: 0;
  right: 0;
  left: auto;
  background: url("../images/icon_extarnal.svg") no-repeat;
  background-size: cover;
  width: 1em;
  height: 1em;
  margin: auto;
}

.btn_basic {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #a3a3a3;
  padding: 8px 25px 8px 20px;
  color: #fff;
  line-height: 1;
  text-decoration: none;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  margin: 20px auto;
}
.btn_basic::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: -6px;
  right: 16px;
  left: auto;
  width: 5px;
  height: 5px;
  margin: auto;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.btn_basic_brown::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: -4px;
  right: 4px;
  left: auto;
  width: 5px;
  height: 5px;
  margin: auto;
  border-right: 1px solid #846955;
  border-bottom: 1px solid #846955;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#footer_nav_area .btn_basic_brown::before {
  right: -10px;
  bottom: -2px;
}

.btn_gray_arrow {
  position: relative;
  display: inline-block;
  background-color: #a3a3a3;
  height: 30px;
  padding: 0 2em;
  font-size: clamp(0.875rem, 1.8vw, 1.125rem);
  line-height: 30px;
  color: #000;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
.btn_gray_arrow::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 12px;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.with_sidebar {
  padding: 0 16px 16px;
}

.popinline {
  display: none;
}

ul.marker {
  list-style-type: disc;
  padding-left: 1em;
}
ul.marker li {
  list-style-type: none;
  position: relative;
}
ul.marker li::before {
  content: "・";
  position: absolute;
  left: -1em;
}

.pagination {
  margin: 40px 0 20px;
  padding-bottom: 40px;
  border-bottom: 1px solid #d5d5d5;
}
.pagination .wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 5px;
  font-size: 0.75rem;
  font-weight: 300;
}
.pagination .wp-pagenavi a,
.pagination .wp-pagenavi .current {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  aspect-ratio: 1/1;
  width: 25px;
  height: 25px;
  border-color: #555555;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.pagination .wp-pagenavi .current {
  background: #b2b2b2;
  color: #fff;
  font-weight: 400;
}
.pagination .wp-pagenavi .nextpostslink,
.pagination .wp-pagenavi .previouspostslink {
  position: relative;
  background: #fb9f00;
  text-indent: -9999px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.pagination .wp-pagenavi .nextpostslink::after,
.pagination .wp-pagenavi .previouspostslink::after {
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
}
.pagination .wp-pagenavi .nextpostslink::after {
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: translateX(-2px) rotate(-45deg);
  transform: translateX(-2px) rotate(-45deg);
}
.pagination .wp-pagenavi .previouspostslink::after {
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: translateX(2px) rotate(45deg);
  transform: translateX(2px) rotate(45deg);
}
.pagination .pages {
  display: none;
}
.pagination:empty {
  display: none;
}

.fancybox__backdrop {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

.fullsize {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 0 calc(50vw - 50%);
}

form.wpcf7-form input:not([type="radio"]),
form.wpcf7-form textarea,
form.wpcf7-form select {
  background-color: #fff;
  max-width: 100%;
  padding: 8px;
  font-size: 1rem;
  border: 1px solid #555555;
  border-radius: 0;
}
form.wpcf7-form input:not([type="radio"]).wpcf7-not-valid,
form.wpcf7-form textarea.wpcf7-not-valid,
form.wpcf7-form select.wpcf7-not-valid {
  background-color: #ffe6e6;
}
form.wpcf7-form label {
  font-weight: 500 !important;
}
form.wpcf7-form textarea {
  max-height: 200px;
  font-weight: 400 !important;
}
form.wpcf7-form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding-right: 1.5em;
  color: #000;
  font-weight: 400 !important;
}

form.wpcf7-form input {
  font-weight: 400 !important;
}
form.wpcf7-form input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fb9f00;
  color: #fff;
  width: 200px;
  height: 35px;
  margin-top: 10px;
  padding: 0;
  font-weight: 400 !important;
  line-height: 35px;
  text-align: center;
  border-radius: 0;
  border: 0;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  cursor: pointer;
}
form.wpcf7-form input[type="submit"]:hover {
  background-color: #ffc562;
}
form.wpcf7-form input[readonly],
form.wpcf7-form input[disabled],
form.wpcf7-form select[readonly],
form.wpcf7-form select[disabled],
form.wpcf7-form option[readonly],
form.wpcf7-form option[disabled],
form.wpcf7-form textarea[readonly],
form.wpcf7-form textarea[disabled] {
  background-color: #d5d5d5;
}
form.wpcf7-form.confirming select,
form.wpcf7-form.confirming option {
  background-color: #d5d5d5;
}
form.wpcf7-form.confirming #comfMessage {
  display: block;
}
form.wpcf7-form.confirming .button_box {
  max-width: 370px;
}
form.wpcf7-form.confirming .button_box .conf_send {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 20px 15px;
}
form.wpcf7-form.confirming .button_box .btn_entry_confirm {
  display: none;
}
form.wpcf7-form.confirming .wpcf7-spinner {
  justify-self: flex-end;
  background-color: #fb9f00;
  width: 20px;
  height: 20px;
  margin-top: 5px;
  margin-right: 0;
  margin-left: auto;
  margin-bottom: -100%;
}
form.wpcf7-form.confirming .wpcf7-spinner::before {
  -webkit-transform-origin: 6px 6px;
  transform-origin: 6px 6px;
}
form.wpcf7-form .form_unit {
  margin-bottom: 15px;
}
form.wpcf7-form .form_unit .form_unit_ttl {
  margin-bottom: 5px;
  font-weight: 500;
}
form.wpcf7-form .form_unit .form_unit_ttl.required::after {
  content: "＊";
  display: inline-block;
  margin-left: 0.8em;
  font-size: 0.75rem;
  color: crimson;
  font-weight: 600;
}
form .cf7_required {
  display: inline-block;
  font-size: 0.75rem;
  color: crimson;
  font-weight: 600;
}
form.wpcf7-form .form_unit .form_unit_body {
  padding-left: 3px;
}
form.wpcf7-form
  .form_unit
  .form_unit_body
  .wpcf7-form-control-wrap[data-name="contact_zip"] {
  display: block;
}
form.wpcf7-form
  .form_unit
  .form_unit_body
  .wpcf7-form-control-wrap[data-name="contact_zip"]::before {
  content: "〒";
  margin-right: 0.5em;
  font-size: 1.125rem;
}
form.wpcf7-form
  .form_unit
  .form_unit_body
  .wpcf7-form-control-wrap[data-name="contact_prefecture"] {
  position: relative;
}
form.wpcf7-form
  .form_unit
  .form_unit_body
  .wpcf7-form-control-wrap[data-name="contact_prefecture"]::after {
  content: "▼";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0.6em;
  margin: 0;
  line-height: 1.5;
  color: #555555;
}
form.wpcf7-form .form_unit.multi_line .form_unit_wrap {
  margin-bottom: 10px;
}
form.wpcf7-form .form_unit.multi_line .form_unit_wrap .form_unit_body {
  margin-bottom: 10px;
}

form.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
  margin-top: 10px;
}
form.wpcf7-form .wpcf7-acceptance .wpcf7-list-item label {
  position: relative;
  display: block;
}
input[type="checkbox"] {
  display: none;
  margin-right: 10px;
}
.agcmt {
  display: inline-block;
  margin-left: 10px;
}
form.wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: auto;
}

form.wpcf7-form .wpcf7-acceptance input[type="checkbox"]::before {
  background: #fff;
  border: 1px solid #231815;
  content: "";
  display: block;
  height: 16px;
  left: 0;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 16px;
}
form.wpcf7-form .wpcf7-acceptance input[type="checkbox"]::after {
  border-right: 3px solid #fb9f00;
  border-bottom: 3px solid #fb9f00;
  content: "";
  display: block;
  height: 11px;
  left: 5px;
  margin-top: -7px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 7px;
}
form.wpcf7-form .wpcf7-acceptance input[type="checkbox"]:checked::after {
  opacity: 1;
}
form.wpcf7-form
  .wpcf7-acceptance
  input[type="checkbox"]:checked
  + .wpcf7-list-item-label {
  font-weight: 400;
}

form.wpcf7-form .button_box {
  margin-top: 30px;
}
form.wpcf7-form .button_box button,
form.wpcf7-form .button_box input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0.3em 0.5em;
  font-size: 0.875rem;
  border: none;
  cursor: pointer;
}
form.wpcf7-form .button_box .conf_send {
  display: none;
}
form.wpcf7-form .button_box #contact_conf-send,
form.wpcf7-form .button_box .btn_shusei,
form.wpcf7-form .button_box .btn_entry_confirm {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: auto;
  height: 35px;
  max-width: initial;
  line-height: 1;
}
form.wpcf7-form .button_box .btn_shusei {
  font-size: 80%;
}
form.wpcf7-form .button_box .btn_entry_confirm {
  background-color: #fb9f00;
}
form.wpcf7-form .policy_area {
  margin-top: 30px;
  font-size: 0.875rem;
}
form.wpcf7-form .policy_area a {
  color: #000;
}
form.wpcf7-form .caution,
form.wpcf7-form .wpcf7-not-valid-tip {
  font-size: 0.75rem;
}
form.wpcf7-form #comfMessage {
  display: none;
  margin-bottom: 2.5em;
  line-height: 1.5;
  font-weight: 400;
  color: red;
  text-align: center;
}
form.wpcf7-form #thanks {
  display: none;
}
form.wpcf7-form #thanks h3 {
  margin: 2em 0;
  padding: 1.5em 0;
  font-size: 1rem;
  line-height: 1.4;
  text-align: center;
  border-top: 1px solid #ededed;
  border-bottom: 1px solid #ededed;
}
form.wpcf7-form #thanks p {
  margin-bottom: 1.5em;
  font-size: 0.875rem;
  text-align: justify;
}
form.wpcf7-form #thanks h4 {
  margin-top: 2em;
  margin-bottom: 1.5em;
  font-size: 0.875rem;
  line-height: 1.4;
}
form.wpcf7-form.sent #comfMessage,
form.wpcf7-form.sent .form_content {
  display: none;
}
form.wpcf7-form.sent #thanks {
  display: block;
}

#debug {
  position: fixed;
  right: 20px;
  bottom: 40px;
  z-index: 10000;
  font-size: 0.625rem;
}

.home header#global {
  padding: 15px 0;
  padding-left: 10px;
}

header#global {
  padding: 20px;
}
header#global #header_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  /* gap: 20px 0;
  margin: 0 auto 20px; */
}
header#global #header_wrap #logo_area {
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 0;
  order: 0;
  -ms-flex-preferred-size: 70%;
  flex-basis: 70%;
}
header#global #header_wrap #logo_area .logotype {
  width: 30%;
}
header#global #header_wrap #header_nav_area {
  width: 70%;
  margin: auto 0px;
  margin-left: 15%;
  display: block;
  /* float: left !important; */
}
header#global #header_wrap #header_nav_area > ul {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  /* display: flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  gap: 1.5%; */
  margin: 0 10px;
  padding: 0;
}
header#global #header_wrap #header_nav_area > ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 0.75rem;
  line-height: 1.1;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
header#global #header_wrap #header_nav_area > ul li a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  padding: 5px 10px;
  text-align: center;
  text-decoration: none;
  background-color: #fff;
  color: #846955;
  z-index: 1;
  overflow: hidden;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
header#global #header_wrap #header_nav_area > ul li a span {
  display: inline-block;
}
header#global #header_wrap #header_nav_area > ul li a img {
  display: inline-block;
  margin-right: 4px;
}
header#global #header_wrap #traslate_area {
  width: 10%;
  margin: auto 0px;
  margin-left: 15px;
  display: block;
}

#common_footer {
  position: relative;
}
.apa_footer .logotype {
  text-align: center;
}
.apa_footer .logotype img {
  display: inline-block;
  margin: 0 auto 40px;
  max-width: 60%;
}
#footer_nav_area {
  background-color: #ffc994;
}
#footer_nav_area ul {
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 0;
  margin: 0 auto;
  padding: 0 0 80px;
  flex-wrap: wrap;
}
#footer_nav_area ul li {
  display: flex;
  justify-content: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  width: 50%;
  border-bottom: 1px solid #fff;
  align-items: center;
}
#footer_nav_area ul li:nth-child(2n + 1) {
  border-right: 1px solid #fff;
}
#footer_nav_area ul li a {
  color: #846955;
  text-decoration: none;
  position: relative;
  line-height: 3em;
}
#footer_nav_area ul li.fcu a img {
  display: inline-block;
  margin-right: 4px;
}
#footer_nav_area .copy {
  text-align: center;
  font-size: 0.7rem;
  padding: 0 0 20px;
  color: #846955;
}

/*ここから不要*/
#common_footer .footer_upper {
  background-color: #fb9f00;
  margin-bottom: 110px;
  padding-top: 40px;
  padding-bottom: 40px;
}
#common_footer .footer_upper .gnavi {
  padding: 0 60px 0 20px;
}
#common_footer .footer_lower {
  max-width: 427px;
  padding: 0 20px;
  margin: auto;
}
#common_footer .footer_lower .ft_info .logotype {
  width: 84%;
  max-width: 275px;
  margin: 0 auto 20px;
}
#common_footer .footer_lower .ft_info .logotype img {
  display: block;
  width: 100%;
  margin: auto;
}
#common_footer .footer_lower .ft_info h2 {
  margin-bottom: 40px;
  padding-top: 20px;
  font-size: clamp(1.125rem, 5.3vw, 1.25rem);
  text-align: center;
  border-top: solid 1px #555;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
#common_footer .footer_lower .ft_info dl.company_info {
  margin-bottom: 60px;
  padding: 0 20px;
  font-size: 0.875rem;
  line-height: 1.625;
}
#common_footer .footer_lower .ft_info dl.company_info .dl_item {
  margin-bottom: 35px;
}
#common_footer .footer_lower .ft_info dl.company_info .dl_item:last-of-type {
  margin-bottom: 0;
}
#common_footer .footer_lower .ft_info dl.company_info dt {
  margin-bottom: 10px;
}
#common_footer .footer_lower .ft_info dl.company_info dt::after {
  content: "／";
}
#common_footer .footer_lower .ft_info dl.company_info dd {
  letter-spacing: 0.05em;
}
#common_footer .footer_lower .ft_info dl.company_info dd span {
  display: inline-block;
}
#common_footer .footer_lower .ft_info dl.company_info dd span.postal {
  display: block;
}
#common_footer .footer_lower .ft_info dl.company_info dd span.tel {
  display: block;
}
#common_footer .footer_lower .ft_info .copy {
  font-size: 0.75rem;
  line-height: 1.6666666667;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
#common_footer .footer_lower .ft_info .copy span {
  display: inline-block;
}
#common_footer.naviless {
  margin-top: -100px;
  padding-top: 110px;
}

#ft_page_navi {
  width: 250px;
  margin: auto;
}
#ft_page_navi .ft_page_navi_ttl {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.9);
  aspect-ratio: 1/1;
  margin: 0 auto;
}
#ft_page_navi .ft_page_navi_ttl::before {
  position: absolute;
  content: "";
  inset: 0;
  -webkit-box-shadow: 0 0 0 1px rgb(220, 220, 220) inset;
  box-shadow: 0 0 0 1px rgb(220, 220, 220) inset;
  mix-blend-mode: darken;
}
#ft_page_navi .ft_page_navi_ttl .page_icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  margin-bottom: 20px;
}
#ft_page_navi .ft_page_navi_ttl .page_icon .icon_wrap {
  width: 40px;
  height: 40px;
}
#ft_page_navi .ft_page_navi_ttl .page_icon img {
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
  height: 100%;
}
#ft_page_navi .ft_page_navi_ttl .eng_ttl {
  margin-bottom: 30px;
  font-size: 1.5rem;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
#ft_page_navi .ft_page_navi_ttl .pages {
  padding: 0;
  font-size: 1rem;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
#ft_page_navi .ft_page_navi_inner {
  background-color: rgba(255, 255, 255, 0.5);
  padding: 20px;
}
#ft_page_navi .ft_page_navi_inner ul.page_anchor {
  list-style: none;
  padding: 0;
}
#ft_page_navi .ft_page_navi_inner ul.page_anchor li {
  margin-bottom: 15px;
}
#ft_page_navi .ft_page_navi_inner ul.page_anchor li:last-of-type {
  margin-bottom: 0;
}
#ft_page_navi .ft_page_navi_inner ul.page_anchor li a {
  position: relative;
  display: block;
  background-color: #fff;
  padding: 15px 0;
  font-size: 1rem;
  color: #000;
  text-decoration: none;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#ft_page_navi .ft_page_navi_inner ul.page_anchor li a.small {
  font-size: 84%;
}
#ft_page_navi .ft_page_navi_inner ul.page_anchor li a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: auto;
  right: 8px;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: solid 1px #555;
  border-bottom: solid 1px #555;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: 0.1s;
  transition: 0.1s;
}

#overlay {
  display: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
body.navi_open #overlay,
body.contact_open #overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  z-index: 95;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

#sidebar {
  display: block;
  position: fixed;
  top: 0;
  bottom: 0;
  left: auto;
  right: 0;
  background-color: #fb9f00;
  width: 50px;
  height: 50px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  z-index: 96;
}
#sidebar .inner_navi {
  display: none;
}
#sidebar.navi_show {
  background-color: #fff;
  width: clamp(300px, 90vw, 800px);
  max-width: 800px;
  min-width: 300px;
  height: 400px;
}
#sidebar.navi_show #menu_btn_area,
#sidebar.navi_show #contact_btn_area {
  width: 50px;
  height: 50px;
}
#sidebar.navi_show #menu_btn_area {
  background-color: #ffb32f;
}
#sidebar.navi_show #menu_btn_area button .hamburger {
  position: relative;
  display: block;
  width: 15px;
  height: 10px;
}
#sidebar.navi_show #menu_btn_area button .hamburger::before,
#sidebar.navi_show #menu_btn_area button .hamburger::after {
  content: "";
  position: absolute;
  display: block;
  background-color: #fff;
  width: 100%;
  height: 2px;
  margin: auto;
  border-radius: 500em;
}
#sidebar.navi_show #menu_btn_area button .hamburger::before {
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#sidebar.navi_show #menu_btn_area button .hamburger::after {
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#sidebar.navi_show #menu_btn_area button .hamburger span.line {
  opacity: 0;
}
#sidebar.navi_show #menu_btn_area button::after {
  -webkit-transform: translateY(20px) rotate(180deg);
  transform: translateY(20px) rotate(180deg);
}
#sidebar.navi_show #sidebar_navi.inner_navi {
  display: block;
  padding-left: 80px;
}
#sidebar.navi_show .gnavi {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  padding: 20px;
  padding-left: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#sidebar.navi_show .gnavi::-webkit-scrollbar {
  width: 5px;
}
#sidebar.navi_show .gnavi::-webkit-scrollbar-track {
  background-color: #ffc562;
}
#sidebar.navi_show .gnavi::-webkit-scrollbar-thumb {
  background-color: #955e00;
}
#sidebar.contact_show {
  background-color: #fff;
  width: clamp(300px, 90vw, 800px);
  max-width: 800px;
  min-width: 300px;
}
#sidebar.contact_show #menu_btn_area,
#sidebar.contact_show #contact_btn_area {
  width: 40px;
}
#sidebar.contact_show #menu_btn_area {
  background-color: #6f6f6f;
}
#sidebar.contact_show #sidebar_contact.inner_navi {
  display: block;
  padding-left: 60px;
}
#sidebar.contact_show #sidebar_inner_contact {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  padding: 20px;
  padding-left: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#sidebar.contact_show #sidebar_inner_contact::-webkit-scrollbar {
  width: 5px;
}
#sidebar.contact_show #sidebar_inner_contact::-webkit-scrollbar-track {
  background-color: #ffc562;
}
#sidebar.contact_show #sidebar_inner_contact::-webkit-scrollbar-thumb {
  background-color: #955e00;
}
#sidebar .sidebar_button label {
  display: block;
}
#sidebar .sidebar_button button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 8px;
  background-color: transparent;
  width: 50px;
  height: 100%;
  border: none;
  color: #fff;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#sidebar .sidebar_button button span {
  display: block;
  font-size: 0.75rem;
  line-height: 1;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  letter-spacing: 0.2em;
}
#sidebar #menu_btn_area {
  position: absolute;
  top: 0;
  width: 100%;
  height: calc(100% - 130px);
}
#sidebar #menu_btn_area button {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-top: 20px;
}
#sidebar #menu_btn_area button .hamburger {
  position: relative;
  display: block;
  width: 20px;
  height: 10px;
}
#sidebar #menu_btn_area button .hamburger::before,
#sidebar #menu_btn_area button .hamburger::after {
  content: "";
  position: absolute;
  display: block;
  background-color: #fff;
  width: 100%;
  height: 2px;
  margin: auto;
  border-radius: 500em;
}
#sidebar #menu_btn_area button .hamburger::before {
  top: 0;
  bottom: auto;
}
#sidebar #menu_btn_area button .hamburger::after {
  top: auto;
  bottom: 10px;
}
#sidebar #menu_btn_area button .hamburger span.line {
  position: absolute;
  top: -10px;
  bottom: 0;
  display: block;
  background-color: #fff;
  width: 100%;
  height: 2px;
  margin: auto;
  border-radius: 500em;
}
#sidebar #contact_btn_area {
  position: absolute;
  bottom: 0;
  background-color: #555555;
  width: 40px;
  height: 130px;
}
#sidebar #contact_btn_area button::before {
  content: "";
  display: block;
  background-image: url("../images/icon_mail.svg");
  background-size: cover;
  width: 13px;
  height: auto;
  aspect-ratio: 22/18;
}
#common_footer .navi_block {
  margin-bottom: 10px;
}
#common_footer .navi_block.privacy {
  display: none;
}
#common_footer .navi_block > h2 {
  margin-bottom: 10px;
}
#common_footer .navi_block > h2::before {
  display: none;
}
#common_footer .navi_block ul.parent_list {
  padding: 0;
  border: solid 1px #ffb331;
}
#common_footer .navi_block ul.parent_list li {
  margin-bottom: 0;
  text-align: center;
  border-bottom: solid 1px #ffb331;
}
#common_footer .navi_block ul.parent_list li:last-of-type {
  border-bottom: 0;
}
#common_footer .navi_block ul.parent_list li ul.child_list,
#common_footer .navi_block ul.parent_list li ol.child_list {
  padding: 0;
}
#common_footer .navi_block ul.parent_list li ul.child_list li,
#common_footer .navi_block ul.parent_list li ol.child_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-bottom: none;
}
#common_footer .navi_block ul.parent_list li ul.child_list li::after,
#common_footer .navi_block ul.parent_list li ol.child_list li::after {
  content: "・";
  margin-left: 0.5em;
}
#common_footer .navi_block ul.parent_list li a {
  z-index: 1;
}
#common_footer .navi_block ul.parent_list li a::before {
  z-index: -1;
}

.navi_block {
  margin-bottom: 30px;
}
.navi_block > h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 5px;
  font-size: 1.25rem;
  font-weight: 500;
}
.navi_block > h2::before {
  content: "■";
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.3em;
  color: #fb9f00;
}
.navi_block > h2 a {
  color: #000;
  text-decoration: none;
}
.navi_block > ul.parent_list {
  list-style: none;
  padding: 0;
  padding-left: 1.3em;
  letter-spacing: 0.05em;
}
.navi_block > ul.parent_list li {
  font-size: 0.875rem;
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  break-inside: avoid;
}
.navi_block > ul.parent_list li:last-of-type {
  margin-bottom: 0;
}
.navi_block > ul.parent_list li .child_list {
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  break-inside: avoid;
  list-style: none;
  padding-left: 1.5em;
  line-height: 1.3;
}
.navi_block > ul.parent_list li .child_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.navi_block > ul.parent_list li .child_list li::before {
  content: "・";
  padding: 5px 0;
}
.navi_block > ul.parent_list a {
  position: relative;
  color: #000;
  text-decoration: none;
  padding: 5px;
}
.navi_block > ul.parent_list a::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 2px;
  left: 0;
  background-color: #ffc562;
  width: 0;
  height: 5px;
  opacity: 0.5;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  z-index: -1;
}

#front_slider {
  max-width: 1600px;
  margin: 0 auto 100px;
}

#company_area .company_ph {
  position: relative;
  background-color: #ffc562;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
}
#company_area .company_ph img {
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
}
#company_area .company_ph::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: #ffd895;
  width: 100%;
}
#company_area .company {
  opacity: 0;
  -webkit-transform: rotateY(50px);
  transform: rotateY(50px);
}
#company_area .company h2::before {
  background-image: url("../images/icon_company.svg");
  background-size: cover;
  width: 33px;
  height: 38px;
}
#company_area.fin .company_ph {
  -webkit-animation: reset_clippath 0.5s forwards 0.5s;
  animation: reset_clippath 0.5s forwards 0.5s;
}
#company_area.fin .company_ph img {
  -webkit-animation: reset_clippath 1s forwards 0.5s;
  animation: reset_clippath 1s forwards 0.5s;
}
#company_area.fin .company_ph::after {
  -webkit-animation: photo_cmn 0.7s forwards;
  animation: photo_cmn 0.7s forwards;
}
#company_area.fin .company {
  -webkit-animation: fadeInUp 1s forwards;
  animation: fadeInUp 1s forwards;
}

#gijutsu_area,
#aboutus_area {
  padding-bottom: 40px;
}
#gijutsu_area .gijutsu_ph,
#aboutus_area .gijutsu_ph {
  position: relative;
  background-color: #ffc562;
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
}
#gijutsu_area .gijutsu_ph img,
#aboutus_area .gijutsu_ph img {
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
}
#gijutsu_area .gijutsu_ph::after,
#aboutus_area .gijutsu_ph::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: #ffd895;
  width: 100%;
}
#gijutsu_area .gijutsu,
#aboutus_area .gijutsu {
  opacity: 0;
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
}
#gijutsu_area .gijutsu_txt,
#aboutus_area .gijutsu_txt {
  margin-top: 40px;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  -webkit-filter: blur(1em) opacity(0);
  filter: blur(1em) opacity(0);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
#gijutsu_area.fin .gijutsu_ph,
#aboutus_area.fin .gijutsu_ph {
  -webkit-animation: reset_clippath 0.5s forwards 0.5s;
  animation: reset_clippath 0.5s forwards 0.5s;
}
#gijutsu_area.fin .gijutsu_ph img,
#aboutus_area.fin .gijutsu_ph img {
  -webkit-animation: reset_clippath 1s forwards 0.5s;
  animation: reset_clippath 1s forwards 0.5s;
}
#gijutsu_area.fin .gijutsu_ph::after,
#aboutus_area.fin .gijutsu_ph::after {
  -webkit-animation: photo_cmn 0.7s forwards;
  animation: photo_cmn 0.7s forwards;
}
#gijutsu_area.fin .gijutsu,
#aboutus_area.fin .gijutsu {
  -webkit-animation: fadeInUp 1s forwards;
  animation: fadeInUp 1s forwards;
}
#gijutsu_area.fin .gijutsu_txt,
#aboutus_area.fin .gijutsu_txt {
  -webkit-animation: blur 1s forwards;
  animation: blur 1s forwards;
}

.front_contents {
  background-color: ##fff;
  margin-bottom: 55px;
  padding-bottom: 55px;
}
.front_contents .content_wrap {
  position: relative;
  max-width: 1600px;
  margin: auto;
  background-color: #ffc994;
}
.front_contents .front_conts_box_top {
  position: relative;
  padding: 0 40px 0 20px;
}
.front_contents .front_conts_box_top .front_contents_ph {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}
.front_contents .front_conts_box_top .front_conts_box {
  top: auto;
  bottom: 0;
}
.front_contents .front_contents_ph {
  aspect-ratio: 375/300;
}
.front_contents .front_contents_ph img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.front_contents .front_conts_box_bottom {
  margin-top: 40px;
}
.front_contents .front_conts_box_bottom .front_conts_box_bottom_txt {
  padding-right: 20px;
}
.front_contents .front_conts_box_bottom h3 {
  margin-bottom: 25px;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.front_contents .front_conts_box_bottom p {
  margin-bottom: 40px;
  line-height: 1.875;
  text-align: justify;
}
.front_contents .front_conts_box_bottom .front_conts_box_bottom_ph {
  aspect-ratio: 375/200;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}
.front_contents .front_conts_box_bottom .front_conts_box_bottom_ph img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.front_conts_box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: #fff;
  width: 100%;
  margin: -34% auto 0;
  z-index: 1;
  padding: 20px;
}
.front_conts_box h2 {
  margin-bottom: 20px;
  font-size: 2.35rem;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  color: #846955;
  font-weight: 500;
}
.front_conts_box .btn_basic {
  width: 50%;
  max-width: 150px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

#front_intro {
  margin-bottom: 100px;
}
#front_intro .intro_hero {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  max-width: 1500px;
  margin: auto;
  padding-right: 20px;
}
#front_intro .intro_hero .bg_photo {
  position: relative;
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: 1/1;
  aspect-ratio: 295/300;
  opacity: 0;
}
#front_intro .intro_hero .bg_photo::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(251, 159, 0, 0.3);
}
#front_intro .intro_hero .bg_photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 75% 0;
  object-position: 75% 0;
}
#front_intro .intro_hero .img_txt {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: 1/1;
  width: 80%;
  margin: auto auto 10px;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
}
#front_intro .intro_hero .img_txt img {
  position: relative;
  z-index: 2;
}
#front_intro .intro_hero .intro_box {
  opacity: 0;
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
}
#front_intro .intro_hero .intro_box > h2 {
  background-color: #fb7400;
  width: 64%;
  margin: 0 auto 45px;
  padding: 8px 0;
  font-size: 1rem;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
#front_intro .intro_hero .intro_box > h3 {
  margin-bottom: 23px;
  font-size: 1.25rem;
  text-align: center;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
}
#front_intro .intro_hero .intro_box > h3::before {
  content: "";
  display: block;
  background-image: url("../images/icon_intro.svg");
  background-size: cover;
  width: 51px;
  height: 36px;
  margin: 0 auto 15px;
}
#front_intro .intro_hero .intro_box .staff_list {
  list-style: none;
  margin-bottom: 20px;
  padding: 0;
}
#front_intro .intro_hero .intro_box .staff_list .staff_wrap {
  display: -ms-grid;
  display: grid;
}
#front_intro .intro_hero .intro_box .staff_list .staff_photo {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: 1/1;
  aspect-ratio: 295/160;
}
#front_intro .intro_hero .intro_box .staff_list .staff_photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center 10%;
  object-position: center 10%;
}
#front_intro .intro_hero .intro_box .staff_list .staff_icon {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 2px;
  background-color: #fb9f00;
  width: clamp(62px, 21%, 80px);
  margin: auto auto 1.63%;
  border: 2px solid #fff;
  border-radius: 100%;
  aspect-ratio: 1/1;
}
#front_intro .intro_hero .intro_box .staff_list .staff_icon .vol {
  font-size: clamp(0.625rem, 2.6vw, 0.75rem);
}
#front_intro .intro_hero .intro_box .staff_list .staff_icon .num {
  font-size: clamp(1.5625rem, 6.6vw, 1.75rem);
}
#front_intro .intro_hero .intro_box .staff_list a {
  color: #000;
  text-decoration: none;
}
#front_intro .intro_hero .intro_box .intro_company {
  list-style: none;
  padding: 0;
}
#front_intro .intro_hero .intro_box .intro_company li {
  padding: 20px 0;
  border-bottom: 1px solid #555555;
  letter-spacing: 0.05em;
}
#front_intro .intro_hero .intro_box .intro_company li:last-of-type {
  border-bottom: none;
}
#front_intro .intro_hero .intro_box .intro_company li a {
  display: block;
  padding: 10px;
  color: #000;
  text-decoration: none;
}
#front_intro .intro_hero .intro_box .intro_company li a::before {
  content: "・";
  margin-right: 3px;
  color: #000;
}
#front_intro.fin .intro_hero .bg_photo {
  -webkit-animation: fadeIn 0.5s forwards;
  animation: fadeIn 0.5s forwards;
}
#front_intro.fin .intro_hero .img_txt.fin {
  -webkit-animation: reset_clippath 1s forwards 0.5s;
  animation: reset_clippath 1s forwards 0.5s;
}
#front_intro.fin .intro_hero .intro_box.fin {
  -webkit-animation: fadeInUp 0.8s forwards 1s;
  animation: fadeInUp 0.8s forwards 1s;
}

#sdgs_area {
  max-width: 1500px;
  margin: 0 auto 110px;
  opacity: 0;
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
}
#sdgs_area a {
  color: white;
  text-decoration: none;
}
#sdgs_area .sdgsbanner {
  position: relative;
  background-image: url("../images/sggs_ph.jpg");
  background-size: cover;
  background-position: center;
  margin-right: 20px;
  margin-bottom: 3.38%;
  aspect-ratio: 295/200;
}
#sdgs_area .sdgsbanner::after {
  content: "";
  position: absolute;
  bottom: -5%;
  display: block;
  background-image: url("../images/sdgs_color.svg");
  background-size: 100% auto;
  background-repeat: repeat-Y;
  width: 100%;
  height: 10px;
}
#sdgs_area .sdgsbanner h2 .sdgs_logo {
  background-color: rgba(255, 255, 255, 0.8);
  width: 88%;
  margin: auto;
  padding: 4.6% 0;
}
#sdgs_area .sdgsbanner h2 .sdgs_logo img {
  display: block;
  width: 84%;
  margin: auto;
}
#sdgs_area.fin {
  -webkit-animation: fadeInUp 0.5s forwards;
  animation: fadeInUp 0.5s forwards;
}

footer .front_wrap {
  padding-right: 40px;
}

#page_hero {
  margin-bottom: 40px;
}
#page_hero .thumbnail_area picture {
  display: block;
  aspect-ratio: 325/300;
}
#page_hero .thumbnail_area picture img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#page_hero .title_area {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #fff;
  max-width: 300px;
  margin: -70px auto 0;
  padding: 20px 0;
}
#page_hero .title_area::before {
  position: absolute;
  content: "";
  inset: 0;
  mix-blend-mode: darken;
}
#page_hero .title_area .title_icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  margin-bottom: 20px;
}
#page_hero .title_area .title_icon .default {
  width: 40px;
  height: 40px;
}
#page_hero .title_area .title_icon .err img {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
#page_hero .title_area .title_icon img {
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
  height: 100%;
}
#page_hero .title_area .eng_ttl {
  font-size: 1.9rem;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  color: #846955;
  font-weight: 500;
}
#page_hero .title_area .eng_ttl.ttl_2line {
  margin-bottom: 20px;
  font-size: 1.25rem;
}
#page_hero .title_area h1 {
  padding: 0 20px;
  font-size: 0.9375rem;
  line-height: 1.5;
  text-align: justify;
  letter-spacing: 0.02em;
}
#page_hero .title_area h1.pages {
  padding: 0;
  font-size: 1rem;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}

main.page {
  margin-bottom: 100px;
}

.post_body {
  margin-bottom: 50px;
  padding: 20px;
  font-size: 1rem;
  line-height: 1.875;
}

.field {
  margin-bottom: 80px;
}
.field .field_photo {
  position: relative;
  z-index: 12;
}
.field .field_photo img {
  display: block;
}
.field .field_body {
  position: relative;
  background-color: #ededed;
  margin: auto;
  padding: 30px 20px;
  font-size: 1rem;
  z-index: 10;
}
.field .field_body h3 {
  margin-bottom: 1em;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  color: #846955;
}
.field .field_body p {
  margin-bottom: 1em;
  line-height: 1.575;
  text-align: justify;
}
.field .field_body p::last-of-type {
  margin-bottom: 0;
}
.field .field_body .btn_area {
  text-align: center;
}
.field .field_body .btn_area a {
  position: relative;
  display: inline-block;
  background-color: #a3a3a3;
  margin-top: 10px;
  padding: 0 20px;
  padding-right: 30px;
  font-size: clamp(1rem, 1.7vw, 1.2375rem);
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-decoration: none;
}
.field .field_body .btn_area a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  left: auto;
  display: block;
  width: 5px;
  height: 5px;
  margin: auto;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: translateY(1px) rotate(-45deg);
  transform: translateY(1px) rotate(-45deg);
}
#researchanddevelopment .future_body .btn_area a,
#heellancet .future_body .btn_area a {
  position: relative;
  display: inline-block;
  background-color: ##fff;
  margin-top: 30px;
  padding: 4px 60px;
  font-size: clamp(1rem, 1.7vw, 1.2375rem);
  line-height: 1.5;
  color: #846955;
  background-color: #fff;
  border: 1px solid #846955;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-decoration: none;
}
#researchanddevelopment .future_body .btn_area a::after,
#heellancet .future_body .btn_area a::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 15px;
  background-image: url("../images/icon_olink.svg");
  background-size: cover;
  width: 16px;
  height: auto;
  aspect-ratio: 16/18;
}

.link_page > p {
  margin-bottom: 40px;
}
.link_page .banners {
  list-style: none;
  padding: 0;
}
.link_page .banners li {
  margin-bottom: 25px;
}
.link_page .banners .banner_unit {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 40% 1fr;
  grid-template-columns: 40% 1fr;
  margin-bottom: 10px;
}
.link_page .banners .banner_unit h2 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  background-color: white;
  padding: 8px;
  font-size: 0.75rem;
  border-left: 2px solid #fb9f00;
}
.link_page .banners .banner_unit h2 .icon {
  display: block;
  background-size: cover;
  width: auto;
  margin-bottom: 5px;
}
.link_page .banners .banner_unit h2 .nicename {
  margin-bottom: 5px;
  font-size: 0.875rem;
  font-weight: 400;
}
.link_page .banners .banner_unit h2 .ttl {
  display: block;
  text-align: center;
  line-height: 1.2;
}
.link_page .banners .banner_unit h2 .ttl span {
  display: inline-block;
}
.link_page .banners .banner_unit h2.ttl_company .icon {
  aspect-ratio: 53/60;
  background-image: url("../images/icon_company.svg");
  width: auto;
  height: 30px;
}
.link_page .banners .banner_unit h2.ttl_message .icon {
  aspect-ratio: 76/53;
  background-image: url("../images/icon_intro.svg");
  width: 28px;
}
.link_page .banners .banner_unit h2.ttl_medical .icon {
  aspect-ratio: 1/1;
  background-image: url("../images/icon_medical.svg");
  height: 30px;
}
.link_page .banners .banner_unit h2.ttl_sustainability .icon {
  aspect-ratio: 1/1;
  background-image: url("../images/icon_stble.png");
  height: 30px;
}
.link_page .banners .banner_unit h2.ttl_technology .icon {
  aspect-ratio: 1/1;
  background-image: url("../images/icon_tec.svg");
  height: 30px;
}
.link_page .banners .banner_unit h2.ttl_equipment .icon {
  aspect-ratio: 1/1;
  background-image: url("../images/icon_eq.svg");
  height: 30px;
}
.link_page .banners .banner_unit .banner_area a {
  position: relative;
  display: block;
  background-color: #fb9f00;
  height: 100%;
}
.link_page .banners .banner_unit .banner_area a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: auto;
  right: 10px;
  display: block;
  background-color: #fb9f00;
  width: 20px;
  height: 20px;
  margin: auto;
  border: 2px solid white;
  border-radius: 100%;
  z-index: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.link_page .banners .banner_unit .banner_area a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: auto;
  right: 19px;
  display: block;
  width: 5px;
  height: 5px;
  margin: auto;
  border-right: 1px solid white;
  border-bottom: 1px solid white;
  z-index: 2;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.link_page .banners .banner_unit .banner_area img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 300px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center right;
  object-position: center right;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#notfound > h2 {
  margin-bottom: 2em;
  text-align: center;
}
#notfound p {
  text-align: center;
}
#notfound p a {
  color: #000;
}

main.company #page_hero .title_area .company {
  width: 16.4%;
  margin: auto;
}
main.company #greeting {
  background-color: #ededed;
  margin-bottom: 100px;
}
main.company #greeting h2 {
  margin-bottom: 0.5em;
  font-size: 1.25rem;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
main.company #greeting p {
  margin-bottom: 1em;
  text-align: justify;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
main.company #greeting p:last-of-type {
  margin-bottom: 0;
}
main.company #greeting .boss {
  max-width: 350px;
  margin: 20px auto 0;
  padding: 0 15px 0;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
main.company #greeting .boss .prof {
  padding-top: 10px;
}
main.company #greeting .boss .prof .name {
  font-size: 1.625rem;
}
main.company #greeting .boss .prof .name span {
  display: inline-block;
}
main.company #greeting .boss .prof .name span:first-of-type {
  margin-right: 0.5em;
}
main.company #yakuin {
  margin-bottom: 100px;
}
main.company #yakuin .post_body {
  background-color: #ededed;
}
main.company #yakuin dl.yakuin {
  padding-top: 20px;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
main.company #yakuin dl.yakuin .dl_inner {
  border-bottom: 1px solid #c1c1c1;
}
main.company #yakuin dl.yakuin .dl_inner:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0;
  border: none;
}
main.company #yakuin dl.yakuin dt {
  padding: 8px 0 0;
  font-size: 0.875rem;
}
main.company #yakuin dl.yakuin dd {
  padding: 0 0 10px;
  font-size: 1.25rem;
  line-height: 1.5;
}
main.company #about {
  margin-bottom: 100px;
}
main.company #about .ttl_bg-brown {
  margin-bottom: 20px;
}
main.company #about .post_body {
  padding-top: 0;
  text-align: center;
}
main.company #about dl.about {
  margin: 0 -20px 10px;
  text-align: left;
  font-size: 0.75rem;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
main.company #about dl.about .dl_inner {
  margin: 8px 0;
  padding: 10px 0;
  border-bottom: 1px solid #707070;
}
main.company #about dl.about .dl_inner:last-of-type {
  border: none;
}
main.company #about dl.about dt {
  width: 7em;
  margin-bottom: 5px;
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
}
main.company #about .caption {
  text-align: left;
  font-size: 0.75rem;
  line-height: 1.5;
}
main.company #about .caption .cap_btn_area {
  margin-top: 10px;
  text-align: center;
}
main.company #about .caption a {
  position: relative;
  display: inline-block;
  background-color: #c6c6c6;
  padding: 5px 15px 5px 10px;
  line-height: 12px;
  color: #000;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
main.company #about .caption a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: auto;
  right: 8px;
  width: 5px;
  height: 5px;
  margin: auto;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: translateY(1px) rotate(-45deg);
  transform: translateY(1px) rotate(-45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
main.company #yurai {
  position: relative;
  margin-bottom: 100px;
}
main.company #yurai .post_body {
  background-color: #ededed;
  padding-top: 40px;
}
main.company #yurai p {
  line-height: 1.875;
  text-align: justify;
}
main.company #yurai p.strong {
  padding: 8px 0;
  text-align: center;
}
main.company #enkaku {
  text-align: center;
  margin-bottom: 100px;
}
main.company #enkaku .ttl_bg-brown {
  margin-bottom: 20px;
}
main.company #enkaku .post_body {
  padding-top: 0;
}
main.company #enkaku dl.enkaku {
  margin: 0 -20px 40px;
  text-align: left;
  letter-spacing: 0.05em;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
main.company #enkaku dl.enkaku .dl_inner {
  margin: 8px 0;
  padding: 10px 0;
  font-size: 0.875rem;
  line-height: 1.3333333333;
  border-bottom: 1px solid #707070;
}
main.company #enkaku dl.enkaku .dl_inner:last-of-type {
  border: none;
}
main.company #enkaku dl.enkaku dt {
  margin-bottom: 5px;
}
main.company #enkaku ul.enkaku_photo_list {
  list-style: none;
  margin: 0 -20px;
  padding: 0;
}
main.company #enkaku ul.enkaku_photo_list li {
  margin-bottom: 10px;
}
main.company #enkaku ul.enkaku_photo_list li:last-of-type {
  margin-bottom: 0;
}
main.company #accessmap,
main.company #kogaisya {
  text-align: center;
  margin-bottom: 100px;
}
main.company #accessmap h3,
main.company #kogaisya h3 {
  padding: 5px 0;
  font-size: clamp(1.25rem, 2.6vw, 1.875rem);
  letter-spacing: 1em;
  text-indent: 1em;
}
main.company #accessmap .map_wrap,
main.company #kogaisya .map_wrap {
  background-color: #ededed;
  margin: 0 -20px 40px;
}
main.company #accessmap .map_wrap:last-of-type,
main.company #kogaisya .map_wrap:last-of-type {
  margin-bottom: 0;
}
.map_area {
  position: relative;
  aspect-ratio: 1/1;
}
.map_area iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}
main.company #kogaisya h3 {
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
main.company #kogaisya p {
  padding: 20px;
  text-align: justify;
  letter-spacing: 0.05em;
}
main.company #kanren {
  margin-bottom: 100px;
}
main.company #kanren .post_body {
  background-color: #ededed;
  padding-top: 50px;
  padding-bottom: 50px;
}
main.company #kanren dl.kaisya {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
main.company #kanren dl.kaisya .dl_inner {
  margin-top: 30px;
}
main.company #kanren dl.kaisya .dl_inner:first-of-type {
  margin-top: 0;
}
main.company #kanren dl.kaisya dd {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
main.company #kanren dl.kaisya dd a {
  color: #000;
}
main.company #kanren dl.kaisya dd a:hover {
  text-decoration: none;
}
main.company #compliance {
  text-align: center;
}
main.company #compliance .post_body {
  background-color: #ededed;
  margin-bottom: 120px;
  padding-top: 50px;
  padding-bottom: 50px;
}
main.company #compliance a {
  color: #000;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
main.company #compliance a:hover {
  text-decoration: none;
}

main.business #page_hero .title_area .business {
  width: 20%;
  margin: auto;
}

#bunya .diagram {
  max-width: 590px;
  margin: 0 auto 60px;
}
#bunya .post_body {
  background-color: #ededed;
  padding-top: 35px;
  margin-bottom: 60px;
}
#bunya .post_body p {
  text-align: justify;
}

.field#industrial_field .field_photo .business03 {
  position: relative;
  background-color: #ededed;
  padding: 40px 20px;
}
.field#industrial_field .field_photo .business03 .business03_main {
  background-color: #fff;
  padding: 30px;
}
.field#industrial_field .field_photo .business03_parts {
  position: absolute;
  bottom: -20px;
  right: -15px;
  width: 100px;
}
.btn_area {
  text-align: center;
}

#future,
#quality,
#company,
#researchanddevelopment,
#products,
#heellancet {
  max-width: 1000px;
}
#products {
  background-color: #ffc994;
}
#quality,
#company,
#researchanddevelopment,
#heellancet {
  max-width: 1200px;
  margin: 0 auto 40px;
}
#future .future_photo img,
#quality .future_photo img,
#company .future_photo img,
#researchanddevelopment .future_photo img,
#heellancet .future_photo img {
  display: block;
}
#future h2.ttl_bg-brown,
#quality h2.ttl_bg-brown,
#company h2.ttl_bg-brown,
#researchanddevelopment h2.ttl_bg-brown,
#heellancet h2.ttl_bg-brown {
  height: 44px;
  margin: -22px 0;
}
#future .future_body,
#quality .future_body,
#company .future_body,
#researchanddevelopment .future_body,
#heellancet .future_body {
  background-color: #ededed;
  padding: 35px 20px 20px;
  font-size: 1rem;
  line-height: 1.575;
  text-align: justify;
}
#products .future_body {
  background-color: #ffc994;
  padding: 20px 40px;
  font-size: 1.175rem;
  line-height: 1.575;
  text-align: justify;
}
#future .future_body p,
#quality .future_body p,
#company .future_body p,
#researchanddevelopment .future_body p,
#heellancet .future_body {
  margin-bottom: 1em;
}

.clm ul,
#researchanddevelopment ul,
#heellancet ul {
  display: block;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.clm ul li {
  width: 100%;
  padding: 10px 24px;
}
.clm ul li h3 {
  text-align: center;
  font-size: 1.625rem;
  color: #846955;
  padding: 0 0 10px;
}
.clm ul li table {
  width: 100%;
  margin-top: 10px;
  font-size: 0.825rem;
  text-align: center;
  line-height: 1.625rem;
  table-layout: fixed;
}
.clm ul li table tr th {
  background-color: #846955;
  color: #fff;
}
.clm ul li table tr td {
  background-color: #e3dfdf;
  color: #000;
}
#researchanddevelopment ul,
#heellancet ul {
  justify-content: flex-start;
  flex-wrap: nowrap;
  align-items: center;
}
#researchanddevelopment ul li,
#heellancet ul li {
  justify-content: flex-start;
}
#researchanddevelopment ul li:nth-of-type(1),
#heellancet ul li:nth-of-type(1) {
  flex-basis: 32%;
}
#researchanddevelopment ul li:nth-of-type(2),
#heellancet ul li:nth-of-type(2) {
  flex-basis: 68%;
}
.products_photo img {
  margin: 0 auto;
}
main.medical_field #medical_field {
  max-width: 1000px;
  margin: auto;
}
main.medical_field #medical_field h2 {
  margin-bottom: 30px;
}
main.medical_field #medical_field .medical_field_body {
  margin-bottom: 100px;
  letter-spacing: 0.05em;
}
main.medical_field #medical_field .medical_field_body p {
  font-size: 1rem;
  text-align: justify;
}
main.medical_field #medical_field ul.medical_products {
  list-style: none;
  padding: 0;
}
main.medical_field #medical_field ul.medical_products li {
  margin-bottom: 50px;
  letter-spacing: 0.05em;
}
main.medical_field #medical_field ul.medical_products li .photo {
  margin-bottom: 15px;
}
main.medical_field #medical_field ul.medical_products li .body h3 {
  margin-bottom: 10px;
  font-size: 1.125rem;
}
main.medical_field #medical_field ul.medical_products li .body p {
  font-size: 1rem;
  text-align: justify;
}

main.products_field .products_field {
  max-width: 1000px;
  margin: auto;
}
main.products_field .products_field h2 {
  margin-bottom: 30px;
}
main.products_field .products_field .field_body {
  margin-bottom: 100px;
  letter-spacing: 0.05em;
}
main.products_field .products_field .field_body p {
  font-size: 1rem;
  text-align: justify;
}
main.products_field .products_field ul.products_products {
  list-style: none;
  padding: 0;
}
main.products_field .products_field ul.products_products li {
  margin-bottom: 50px;
  letter-spacing: 0.05em;
}
main.products_field .products_field ul.products_products li .photo {
  margin-bottom: 15px;
}
main.products_field .products_field ul.products_products li .body h3 {
  margin-bottom: 10px;
  font-size: 1.125rem;
}
main.products_field .products_field ul.products_products li .body p {
  margin-bottom: 30px;
  font-size: 1rem;
  text-align: justify;
}
main.products_field .products_field ul.products_products li .body .button_area {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  text-align: center;
}
body.products_field .fancybox__backdrop {
  background-color: rgba(255, 255, 255, 0.5);
}
body.products_field .fancybox__content {
  border: 1px dashed #999;
}
body.products_field #size_table,
body.products_field #table {
  display: none;
}
body.products_field #size_table h4,
body.products_field #table h4 {
  margin-bottom: 10px;
  font-weight: bold;
  text-align: center;
}
body.products_field #size_table table,
body.products_field #table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.75rem;
}
body.products_field #size_table th,
body.products_field #size_table td,
body.products_field #table th,
body.products_field #table td {
  text-align: center;
  border: 1px solid #999;
}
body.products_field #size_table th.bln,
body.products_field #size_table td.bln,
body.products_field #table th.bln,
body.products_field #table td.bln {
  border-left: none;
}
body.products_field #size_table th.brn,
body.products_field #size_table td.brn,
body.products_field #table th.brn,
body.products_field #table td.brn {
  border-right: none;
}
body.products_field #size_table th,
body.products_field #table th {
  font-weight: normal;
}
body.products_field #size_table th:first-of-type,
body.products_field #table th:first-of-type {
  border-left: none;
}
body.products_field #size_table th:last-of-type,
body.products_field #table th:last-of-type {
  border-right: none;
}
body.products_field #size_table .table_caption,
body.products_field #table .table_caption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 10px;
  margin-bottom: 40px;
  font-size: 0.75rem;
  line-height: 1.5;
}
body.products_field #size_table .table_caption::before,
body.products_field #table .table_caption::before {
  content: "＊";
}
body.products_field #size_table dl,
body.products_field #table dl {
  margin-bottom: 10px;
  font-size: 0.75rem;
  line-height: 1.5;
}
body.products_field #size_table dl .dl_inner,
body.products_field #table dl .dl_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
body.products_field #size_table .size_image,
body.products_field #table .size_image {
  margin-bottom: 30px;
}
body.products_field #size_table .size_image img,
body.products_field #table .size_image img {
  display: block;
}
body.products_field #seimitsu_slider {
  margin-bottom: 20px;
}
body.products_field #seimitsu_slider_thumb {
  width: 100vw;
  margin: 0 calc(50% - 50vw) 30px;
  padding: 0 20px;
}
body.products_field #seimitsu_slider_thumb ul.splide__list li:first-of-type {
  margin-left: 20px;
}
body.products_field #seimitsu_slider_thumb ul.splide__list li:last-of-type {
  padding-right: 20px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
body.products_field #seimitsu_slider_thumb ul.splide__list li.splide__slide {
  position: relative;
  border: none;
}
body.products_field
  #seimitsu_slider_thumb
  ul.splide__list
  li.splide__slide
  .photo_bg {
  display: inline-block;
  background-color: #fb9f00;
}
body.products_field
  #seimitsu_slider_thumb
  ul.splide__list
  li.splide__slide
  img {
  outline: 2px solid rgba(251, 159, 0, 0);
  outline-offset: -2px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
body.products_field
  #seimitsu_slider_thumb
  ul.splide__list
  li.splide__slide.is-active
  img {
  outline: 2px solid #fb9f00;
  opacity: 0.5;
}
body.products_field .koremade h3 {
  background-color: #8d755e;
  font-size: 1.125rem;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
body.products_field .koremade .seikei_wrap {
  background-color: #ededed;
  padding: 20px;
}
body.products_field .koremade .seikei_wrap ul {
  position: relative;
  list-style: none;
  padding: 0;
  font-size: 1rem;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}

#medicaldialog_wrap {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  z-index: 200;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
#medicaldialog_wrap .forMedical {
  position: fixed;
  background-color: #fff;
  left: 0;
  right: 0;
  width: 90vw;
  max-width: 780px;
  margin: auto;
  padding: 20px 15px;
  z-index: 200;
}
#medicaldialog_wrap .forMedical p {
  font-size: clamp(0.75rem, 3.7vw, 0.875rem);
  line-height: 1.8;
}
#medicaldialog_wrap .forMedical h2 {
  margin: 15px 0;
  font-size: 1.25rem;
  text-align: center;
  line-height: 1.5;
}
#medicaldialog_wrap .forMedical .choice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 20px;
}
#medicaldialog_wrap .forMedical .choice button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  width: 5em;
  font-size: 1.125rem;
  text-align: center;
  border: none;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
#medicaldialog_wrap .forMedical .choice .slash {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: red;
  width: 1px;
  margin: 0 15px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

main.medical #page_hero .title_area .medical {
  width: 20%;
  margin: auto;
}
main.medical #page_hero .title_area h1.pages {
  font-size: 0.75rem;
}
main.medical #aps_medical {
  max-width: 1000px;
  margin: 0 auto 50px;
}
main.medical #aps_medical .aps_medical_photo img {
  display: block;
}
main.medical #aps_medical h2.ttl_bg-brown {
  height: 68px;
  margin: -34px 0;
  font-size: 1.25rem;
}
main.medical #aps_medical .aps_medical_body {
  background-color: #ededed;
  padding: 55px 20px 20px;
  text-align: justify;
  letter-spacing: 0.05em;
}
main.medical #aps_medical .aps_medical_body p {
  margin-bottom: 1em;
}
main.medical #aps_medical .aps_medical_body p:last-of-type {
  margin-bottom: 0;
}
main.medical #taisei {
  margin: 0 auto 60px;
}
main.medical #taisei h2 {
  margin-bottom: 1.5em;
}
main.medical #taisei h2 + p {
  margin-bottom: 1.5em;
  text-align: justify;
}
main.medical #taisei table {
  width: 100%;
  font-size: 0.75rem;
  vertical-align: middle;
  border-collapse: collapse;
}
main.medical #taisei table tr {
  border-bottom: 3px solid #fff;
}
main.medical #taisei table tr td {
  padding: 5px;
}
main.medical #taisei table tr td:first-of-type {
  width: 1em;
}
main.medical #taisei table tr td:first-of-type,
main.medical #taisei table tr td:nth-child(3) {
  text-align: center;
}
main.medical #taisei table tr td:nth-child(2) {
  border-right: 5px solid #fff;
}
main.medical #taisei table tr td:nth-child(3) {
  white-space: nowrap;
}
main.medical #taisei table tr.bg_green td:first-of-type,
main.medical #taisei table tr.bg_green td:nth-child(3) {
  background-color: #99cc66;
}
main.medical #taisei table tr.bg_green td:nth-child(2) {
  background-color: #cce6b3;
}
main.medical #taisei table tr.bg_yellow td:first-of-type,
main.medical #taisei table tr.bg_yellow td:nth-child(3) {
  background-color: #ffcc33;
}
main.medical #taisei table tr.bg_yellow td:nth-child(2) {
  background-color: #ffe699;
}
main.medical #taisei table tr.bg_blue td:first-of-type,
main.medical #taisei table tr.bg_blue td:nth-child(3) {
  background-color: #b5ccea;
}
main.medical #taisei table tr.bg_blue td:nth-child(2) {
  background-color: #dde7f5;
}
main.medical #taisei table tr.bg_pink td:first-of-type,
main.medical #taisei table tr.bg_pink td:nth-child(3) {
  background-color: #fccccc;
}
main.medical #taisei table tr.bg_pink td:nth-child(2) {
  background-color: #fde4e4;
}
main.medical #taisei table tr.bg_aqua td:first-of-type,
main.medical #taisei table tr.bg_aqua td:nth-child(3) {
  background-color: #99e4e3;
}
main.medical #taisei table tr.bg_aqua td:nth-child(2) {
  background-color: #c1efee;
}
main.medical #taisei table tr.bg_lime td:first-of-type,
main.medical #taisei table tr.bg_lime td:nth-child(3) {
  background-color: #e1e166;
}
main.medical #taisei table tr.bg_lime td:nth-child(2) {
  background-color: #eeeea6;
}
main.medical #taisei table tr.bg_purple td:first-of-type,
main.medical #taisei table tr.bg_purple td:nth-child(3) {
  background-color: #cc99fe;
}
main.medical #taisei table tr.bg_purple td:nth-child(2) {
  background-color: #e5ccfe;
}
main.medical #koutei {
  margin: 0 auto 60px;
}
main.medical #koutei h2 {
  margin-bottom: 1.5em;
}
main.medical #koutei h2 + p {
  margin-bottom: 60px;
  line-height: 1.8;
  text-align: justify;
}
main.medical #koutei .koutei_group h3 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 45%;
  aspect-ratio: 230/180;
  margin: 0 auto 1.5em;
  font-size: 1.125rem;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
main.medical #koutei .koutei_group h3::before,
main.medical #koutei .koutei_group h3::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-radius: 100%;
  z-index: -1;
}
main.medical #koutei .koutei_group h3::before {
  background-color: #fcdea7;
  height: 100%;
  aspect-ratio: 1/1;
  -webkit-filter: blur(10px);
  filter: blur(10px);
}
main.medical #koutei .koutei_group h3::after {
  background-color: #fff;
  left: 0px;
  right: 0px;
  aspect-ratio: 227/126;
}
main.medical #koutei .koutei_group .unit {
  margin-bottom: 30px;
}
main.medical #koutei .koutei_group .unit_info {
  margin-bottom: 15px;
}
main.medical #koutei .koutei_group .unit_info h4 {
  margin-bottom: 1em;
  padding-bottom: 1em;
  font-size: 1rem;
  border-bottom: 1px solid #fb9f00;
}
main.medical #koutei .koutei_group .unit_info p {
  margin-bottom: 1.5em;
  text-align: justify;
}
main.medical #koutei .koutei_group .unit_photo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row7uyu8778;
  flex-direction: row7uyu8778;
  gap: 10px 0;
  margin-bottom: 20px;
}
main.medical #koutei .koutei_group .unit_photo:last-of-type {
  margin-bottom: 0;
}
main.medical #koutei .koutei_group .unit_movie + .unit_info {
  margin-top: 30px;
}
main.medical #koutei .koutei_group .unit_movie .movie_wrap {
  background-color: #ededed;
  margin-bottom: 20px;
  padding: 10px;
  border-radius: 10px;
}
main.medical #koutei .koutei_group .unit_movie .movie_wrap:last-of-type {
  margin-bottom: 0;
}
main.medical #ishiki {
  max-width: 1000px;
  margin: 0 auto 60px;
}
main.medical #ishiki h2.ttl_bg-brown {
  height: calc(1em + 0.8125rem);
  margin: -14.95px 0;
  font-size: 0.8125rem;
}
main.medical #ishiki .ishiki_body {
  background-color: #ededed;
  margin-bottom: 30px;
  padding: 35px 20px 20px;
  line-height: 1.875;
  font-size: 0.875rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
main.medical #ishiki .ishiki_body p {
  margin-bottom: 1em;
}
main.medical #ishiki .ishiki_body p:last-of-type {
  margin-bottom: 0;
}
main.medical #ishiki h3 {
  margin-bottom: 20px;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
main.medical #ishiki .table_wrap table {
  font-size: 0.6875rem;
  line-height: 1.5;
  border: 1px solid #707070;
  border-left: none;
  border-right: none;
  border-collapse: collapse;
  width: 100%;
}
main.medical #ishiki .table_wrap table tr {
  border-bottom: 1px solid #707070;
}
main.medical #ishiki .table_wrap table tr:first-of-type th:first-of-type {
  background-color: #ffeccd;
}
main.medical #ishiki .table_wrap table tr:first-of-type th:nth-child(2) {
  background-color: #e2bf9c;
}
main.medical #ishiki .table_wrap table td:last-child {
  border-right: none !important;
}
main.medical #ishiki .table_wrap table th,
main.medical #ishiki .table_wrap table td {
  padding: 5px;
  font-weight: 300;
}
main.medical #ishiki .table_wrap table td:not(:nth-child(3)) {
  border-right: 1px solid #707070;
}
main.medical #shyukka {
  margin: 0 auto 60px;
}
main.medical #shyukka h2.ttl_bg-brown {
  height: calc(1em + 0.8125rem);
  margin: -14.95px 0;
  font-size: 0.8125rem;
}
main.medical #shyukka .shyukka_body {
  background-color: #ededed;
  max-width: 1000px;
  margin: auto;
  margin-bottom: 30px;
  padding: 35px 20px 20px;
  line-height: 2;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
main.medical #shyukka .shyukka_body ul {
  list-style: none;
  padding: 0;
  font-size: 0.875rem;
  line-height: 1.5;
}
main.medical #shyukka .shyukka_body ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3px;
  margin-bottom: 8px;
}
main.medical #shyukka .shyukka_body ul li:last-of-type {
  margin-bottom: 0;
}
main.medical #shyukka .shyukka_body ul li::before {
  content: "●";
}
main.medical #shyukka .shyukka_image {
  max-width: 1400px;
  margin: auto;
}
main.medical #shyukka .shyukka_image img {
  width: 100%;
}

body.medical .popinline.fancybox__content {
  background-color: transparent;
  padding: 20px;
}

.medicalpop_wrap {
  max-width: 800px;
}
.medicalpop_wrap .photo {
  display: block;
  width: 100%;
  margin-bottom: 20px;
}
.medicalpop_wrap .info {
  color: #fff;
}
.medicalpop_wrap .info h4 {
  margin-bottom: 15px;
  font-size: 1rem;
  letter-spacing: 0.05em;
}
.medicalpop_wrap .info p {
  font-size: 0.875rem;
  line-height: 1.8;
  text-align: justify;
  letter-spacing: 0.05em;
}
.medicalpop_wrap .info p .small {
  font-size: 90%;
}

#shigoto .post_body {
  background-color: #ededed;
  padding-top: 40px;
}
#shigoto .post_body h3 {
  background-color: #555555;
  margin-top: 10px;
  padding: 5px 0;
  font-size: 1rem;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
#shigoto .post_body .chart {
  background-color: #fff;
  margin-bottom: 40px;
  padding: 20px 10px;
}
#shigoto .post_body .chart img {
  display: block;
  margin: auto;
}
#shigoto .post_body .busho_area dl.unit .unit_line {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #cecece;
}
#shigoto .post_body .busho_area dl.unit .unit_line:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
#shigoto .post_body .busho_area dl.unit .unit_line dt.circle {
  margin-bottom: 15px;
}
#shigoto .post_body .busho_area dl.unit .unit_line dd.uni_conts {
  font-size: 0.875rem;
  line-height: 1.68;
  text-align: justify;
}
#shigoto .post_body .photo_area .photo {
  margin-bottom: 20px;
}
#shigoto .post_body .photo_area .photo:last-of-type {
  margin-bottom: 0;
}

#senpai {
  background-color: #feeccc;
  margin-bottom: -100px;
}
#senpai .inner_conts {
  padding: 30px 0 0;
}
#senpai .inner_conts .icon {
  width: 40px;
  margin: 0 auto 5px;
}
#senpai .inner_conts > h2 {
  margin-bottom: 20px;
  font-size: 1.25rem;
  text-align: center;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
}
#senpai .inner_conts > ul.intro {
  list-style: none;
  padding: 0;
}
#senpai .inner_conts > ul.intro li a {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-decoration: none;
  color: white;
}
#senpai .inner_conts > ul.intro li h3,
#senpai .inner_conts > ul.intro li .photo {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: 1/1;
}
#senpai .inner_conts > ul.intro li h3 {
  position: relative;
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: transparent -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(#ffb331),
      color-stop(3%, #ffb230),
      to(#fb9f00)
    ) 0% 0% no-repeat padding-box;
  background: transparent
    linear-gradient(180deg, #ffb331 0%, #ffb230 3%, #fb9f00 100%) 0% 0%
    no-repeat padding-box;
  aspect-ratio: 1/1;
  width: 40%;
  height: auto;
  max-width: 180px;
  margin: auto;
  color: white;
  font-weight: 400;
  border: 2px solid #ffffff;
  border-radius: 100%;
  z-index: 10;
}
#senpai .inner_conts > ul.intro li h3 .vol {
  font-size: clamp(1rem, 4vw, 1.5rem);
  line-height: 1;
}
#senpai .inner_conts > ul.intro li h3 .num {
  font-size: clamp(2.5rem, 8.3vw, 3.125rem);
}
#senpai .inner_conts > ul.intro li h3::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  background: transparent -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(#ffffff),
      to(rgba(255, 255, 255, 0))
    ) 0% 0% no-repeat padding-box;
  background: transparent
    linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%) 0% 0%
    no-repeat padding-box;
  border-radius: 100%;
  opacity: 0.3;
}
#senpai .inner_conts > ul.intro li .photo img {
  display: block;
}

.senpai_wrap h2 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5px;
  background-color: #db9045;
  width: 100px;
  aspect-ratio: 1/1;
  margin: auto;
  margin-bottom: -50px;
  font-size: 1.125rem;
  color: white;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  z-index: 10;
}
.senpai_wrap h2::before {
  content: "";
  display: block;
  background-image: url("../images/icon_recruit_white.svg");
  background-size: cover;
  aspect-ratio: 60/42;
  width: 40px;
}
.senpai_wrap .wrap_photo {
  position: relative;
  aspect-ratio: 1/1;
  width: 100%;
  height: auto;
  margin-bottom: 40px;
}
.senpai_wrap .wrap_photo img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 85% 0%;
  object-position: 85% 0%;
  width: auto;
  height: 100%;
}
.senpai_wrap .wrap_photo .name_box {
  position: absolute;
  font-weight: 500;
  color: white;
  z-index: 10;
}
.senpai_wrap .wrap_photo .name_box::before {
  content: "";
  position: absolute;
  top: -3px;
  bottom: -3px;
  right: -3px;
  left: -3px;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: -1;
  -webkit-filter: blur(3px);
  filter: blur(3px);
}
.senpai_wrap .wrap_photo .name_box .busho {
  display: block;
  font-size: 0.6875rem;
}
.senpai_wrap .wrap_photo .name_box .name {
  display: block;
  font-size: 0.875rem;
}
.senpai_wrap .wrap_photo .name_box.name01 {
  left: 10%;
  bottom: 10px;
  padding-right: 5px;
  text-align: right;
  border-right: 2px solid #db9045;
}
.senpai_wrap .wrap_photo .name_box.name02 {
  left: 65%;
  bottom: 10px;
  padding-left: 5px;
  text-align: left;
  border-left: 2px solid #db9045;
}
.senpai_wrap .senpai_intro {
  position: relative;
  background: #ededed;
  max-width: 1000px;
  margin: auto;
  margin-bottom: 60px;
  border-radius: 0 0 20px 20px;
  z-index: 1;
}
.senpai_wrap .senpai_intro header {
  z-index: 2;
}
.senpai_wrap .senpai_intro header .senpai_photo {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#fff),
    color-stop(50%, #fff),
    color-stop(50%, #ededed)
  );
  background: linear-gradient(to bottom, #fff 0%, #fff 50%, #ededed 50%);
}
.senpai_wrap .senpai_intro header .senpai_photo img {
  display: block;
  border-radius: 50px;
}
.senpai_wrap .senpai_intro header h3 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background: transparent -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(#ffb331),
      to(#fb9f00)
    ) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(180deg, #ffb331 0%, #fb9f00 100%) 0%
    0% no-repeat padding-box;
  width: 75%;
  margin: 0 auto -30px;
  padding: 10px;
  padding-bottom: 15px;
  text-align: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.senpai_wrap .senpai_intro header h3 .name_left span {
  display: block;
}
.senpai_wrap .senpai_intro header h3 .name_left .busho {
  margin-bottom: 5px;
  font-size: 1rem;
}
.senpai_wrap .senpai_intro header h3 .name_left .name {
  margin-bottom: 5px;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
}
.senpai_wrap .senpai_intro header h3 .name_left .name rp,
.senpai_wrap .senpai_intro header h3 .name_left .name rt {
  margin-bottom: 5px;
  font-size: 0.625rem;
  text-align: center;
  font-weight: 300;
}
.senpai_wrap .senpai_intro header h3 .name_right {
  font-size: 0.875rem;
}
.senpai_wrap .senpai_intro header h3 .name_right::before {
  content: "";
  display: block;
  width: 50%;
  height: 1px;
  margin: 0 auto 5px;
  border-top: 1px solid white;
}
.senpai_wrap .senpai_intro header h3 .caption {
  position: absolute;
  top: auto;
  bottom: -25px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: clamp(0.75rem, 1.6vw, 1.125rem);
}
.senpai_wrap .senpai_intro .senpai_content {
  padding: 0 20px 20px;
}
.senpai_wrap .senpai_intro .senpai_content h4.cmn_ttl {
  margin-bottom: 20px;
  padding-bottom: 10px;
  text-align: center;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  border-bottom: 1px solid #fb9f00;
}
.senpai_wrap .senpai_intro .senpai_content p.cmn_txt {
  margin-bottom: 30px;
  text-align: justify;
}
.senpai_wrap .senpai_intro .senpai_content .photo_area {
  margin: 30px 0;
}
.senpai_wrap .senpai_intro .senpai_content .photo_area img {
  display: block;
}
.senpai_wrap .senpai_intro .schedule {
  background-color: #fb9f00;
  padding: 30px 20px 20px;
  border-radius: 0 0 20px 20px;
}
.senpai_wrap .senpai_intro .schedule h3 {
  margin-bottom: 15px;
  color: white;
  text-align: center;
  line-height: 1.5;
}
.senpai_wrap .senpai_intro .schedule h3::before {
  content: "";
  display: block;
  background-image: url("../images/icon_clock.svg");
  background-size: cover;
  width: 30px;
  height: 30px;
  margin: 0 auto 10px;
}
.senpai_wrap .senpai_intro .schedule .schedule_wrap {
  margin-bottom: 20px;
  color: white;
}
.senpai_wrap .senpai_intro .schedule .schedule_wrap dl {
  font-weight: 400;
}
.senpai_wrap .senpai_intro .schedule .schedule_wrap dl .dt_dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  margin-bottom: 10px;
}
.senpai_wrap .senpai_intro .schedule .schedule_wrap dl .dt_dd:last-of-type {
  margin-bottom: 0;
}
.senpai_wrap .senpai_intro .schedule .schedule_wrap dl .dt_dd dt {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 42px;
}
.senpai_wrap .senpai_intro .schedule .schedule_wrap dl .dt_dd dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 10px;
  margin-left: 0;
  padding-left: 0.5em;
}
.senpai_wrap .senpai_intro .schedule .schedule_wrap dl .dt_dd dd::before {
  content: "●";
  margin-left: auto;
  margin-right: 0;
  opacity: 0.5;
}

main.sustainability .title_area .stble {
  width: 20%;
  margin: auto;
}
main.sustainability #stble_top .post_body {
  background-color: #ededed;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 40px;
}
main.sustainability #stble_top .post_body p {
  text-align: justify;
}
main.sustainability #stble_top .post_body .sdgs_logo {
  margin: 20px 0 0;
}
main.sustainability #stble_top .post_body .sdgs_logo img {
  display: block;
  width: 100%;
  max-width: 422px;
  margin: auto;
}
main.sustainability .stble_cmn {
  margin-bottom: 40px;
}
main.sustainability .stble_cmn header {
  background-color: #fee2b3;
  line-height: 1.6;
}
main.sustainability .stble_cmn header.post_body {
  margin-bottom: 0;
}
main.sustainability .stble_cmn header .icon_list {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
  padding: 0;
}
main.sustainability .stble_cmn header .icon_list li {
  -ms-flex-preferred-size: calc(33.33333% - 10px);
  flex-basis: calc(33.33333% - 10px);
}
main.sustainability .stble_cmn header .icon_list li img {
  width: 100%;
}
main.sustainability .stble_body {
  background-color: #ededed;
  padding: 20px;
}
main.sustainability .stble_body p {
  margin-bottom: 1.8em;
  text-align: justify;
}
main.sustainability .stble_body .chart {
  margin-top: 3em;
}
main.sustainability .stble_body .chart img {
  display: block;
  width: 100%;
  max-width: 997px;
  margin: auto;
}
main.sustainability .stble_body ul.marker li {
  margin-bottom: 1.2em;
}
main.sustainability .stble_body ul.marker li:last-of-type {
  margin-bottom: 0;
}
main.sustainability .stble_body h4 {
  margin-bottom: 1.5em;
  font-size: 1rem;
  letter-spacing: 0.1em;
}
main.sustainability .stble_body .photo_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  margin: 3em 0;
}
main.sustainability .stble_body .photo_area:last-of-type {
  margin-bottom: 0;
}

main.privacypolicy .title_area .policy {
  width: 20%;
  margin: auto;
}

#privacypolicy {
  text-align: justify;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
#privacypolicy h2.ttl_bg-brown {
  margin-bottom: 1.5em;
}
#privacypolicy p.lead {
  margin-bottom: 2em;
  font-size: 1rem;
  font-weight: 400;
}
#privacypolicy ul,
#privacypolicy ol {
  padding: 0;
  padding-left: 1.5em;
}
#privacypolicy ul li,
#privacypolicy ol li {
  margin-bottom: 1.5em;
}
#privacypolicy ul li h3,
#privacypolicy ol li h3 {
  margin-bottom: 0.5em;
  font-weight: 400;
}
#privacypolicy ul.second,
#privacypolicy ol.second {
  list-style: none;
  margin: 15px 0 10px;
  padding-left: 0;
}
#privacypolicy ul.second li,
#privacypolicy ol.second li {
  margin-bottom: 5px;
  padding-left: 0.5em;
  text-indent: -0.5em;
}
#privacypolicy ul.second li::before,
#privacypolicy ol.second li::before {
  content: "・";
}
#privacypolicy ul.second,
#privacypolicy ol.second {
  counter-reset: item;
}
#privacypolicy ul.second h4,
#privacypolicy ol.second h4 {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
#privacypolicy ul.second h4::before,
#privacypolicy ol.second h4::before {
  content: "(" counters(item, "-") ")";
  counter-increment: item;
  margin-right: 0.5em;
}

main.compliance {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
main.compliance #page_hero .title_area .company {
  width: 16.4%;
  margin: auto;
}
main.compliance h3 {
  background-color: #feeccc;
  margin-top: 1.8em;
  margin-bottom: 15px;
  padding: 3px 15px;
  border-radius: 500em;
}
main.compliance h3::before {
  content: "●";
  margin-right: 5px;
  color: #fb9f00;
}
main.compliance .comp_block {
  margin: 30px 0;
  padding-left: 10px;
  border-left: 1px solid #fb9f00;
}
main.compliance .comp_block h4 {
  margin-bottom: 10px;
  font-size: 1.125rem;
}
main.compliance .comp_block p {
  margin: 15px 0 20px;
  text-align: justify;
}
main.compliance .comp_block ul.iso {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin-top: 40px;
  margin-bottom: 15px;
  padding: 0;
}
main.compliance .comp_block ul.iso li {
  -ms-flex-preferred-size: calc(50% - 5px);
  flex-basis: calc(50% - 5px);
}
main.compliance .comp_block ul.marker li {
  margin-bottom: 5px;
  font-size: 115%;
  text-align: justify;
}
main.compliance .comp_block ul.marker + h4 {
  margin-top: 40px;
}
main.compliance .comp_block a.detail {
  position: relative;
  display: block;
  background-color: #ededed;
  width: 120px;
  margin-top: 30px;
  margin-right: 0;
  margin-left: auto;
  padding: 5px 0;
  font-size: 1rem;
  text-align: center;
  color: #000;
  text-decoration: none;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
}
main.compliance .comp_block a.detail::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 8px;
  left: auto;
  width: 8px;
  height: 8px;
  margin: auto;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

main.archive #info_wrap {
  margin-bottom: 50px;
  line-height: 1.875;
}
main.archive #post_list {
  background-color: #ededed;
  padding: 20px;
  padding-top: 45px;
}
main.archive #post_nav {
  background: #f6f6f6;
  padding: 20px;
}
main.archive #post_nav .ttl_navi {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #c6803a;
  margin-bottom: 1em;
  padding: 5px;
  font-size: 0.875rem;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
}
main.archive #saishin {
  margin-bottom: 40px;
}
main.archive #saishin #newest_navi {
  list-style: none;
  padding: 0;
}
main.archive #saishin #newest_navi li {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d5d5d5;
}
main.archive #saishin #newest_navi li:last-of-type {
  margin-bottom: 0;
}
main.archive #saishin #newest_navi li a {
  color: #000;
  text-decoration: none;
}
main.archive #saishin #newest_navi li a .post_date {
  font-size: 0.75rem;
}
main.archive #saishin #newest_navi li a h4 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  text-align: justify;
  overflow: hidden;
}
main.archive #saishin #newest_navi li a .under_line {
  background: -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(#000),
      to(#000)
    )
    0 100%/0 1px no-repeat;
  background: linear-gradient(#000, #000) 0 100%/0 1px no-repeat;
  text-decoration: none;
  -webkit-transition: background-size 0.5s;
  transition: background-size 0.5s;
}
main.archive #archive_year #archive_navi {
  list-style: none;
  padding: 0;
}
main.archive #archive_year #archive_navi li.list_year {
  margin-bottom: 10px;
}
main.archive #archive_year #archive_navi li.list_year .archive_month {
  list-style: none;
  padding: 0;
  padding-left: 20px;
}
main.archive #archive_year #archive_navi li.list_year .archive_month.hide {
  display: none;
}
main.archive #archive_year #archive_navi li.list_year label {
  display: inline-block;
  text-decoration: underline;
  cursor: pointer;
}
main.archive #archive_year #archive_navi li.list_year label:hover {
  text-decoration: none;
}
main.archive #archive_year #archive_navi li.list_year label span {
  display: inline-block;
}
main.archive #archive_year #archive_navi li.list_year label span::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin-right: 8px;
  border-style: solid;
  border-width: 7px 0 7px 12.1px;
  border-color: transparent transparent transparent #fb9f00;
}
main.archive
  #archive_year
  #archive_navi
  li.list_year
  label
  span.acv_open::before {
  content: "";
  border-width: 12.1px 7px 0 7px;
  border-color: #fb9f00 transparent transparent transparent;
}
main.archive #archive_year #archive_navi li.list_year input[type="checkbox"] {
  position: absolute;
  width: 0;
  height: 0;
  visibility: hidden;
}
main.archive #archive_year #archive_navi a {
  color: #000;
}
main.archive #archive_year #archive_navi a:hover {
  text-decoration: none;
}

article.post {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #d5d5d5;
}
article.post .post_wrap {
  position: relative;
}
article.post .thumbnail_area {
  margin-bottom: 10px;
}
article.post .thumbnail_area picture {
  aspect-ratio: 1/1;
}
article.post .thumbnail_area picture img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
article.post .post_area .post_date {
  font-size: 0.75rem;
  color: #000;
}
article.post .post_area h2 {
  margin-bottom: 5px;
  font-size: 1rem;
  line-height: 1.6;
}
article.post .post_area h2 a {
  color: #000;
  text-decoration: none;
}
article.post .post_area h2 a .under_line {
  background: -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(#000),
      to(#000)
    )
    0 100%/0 1px no-repeat;
  background: linear-gradient(#000, #000) 0 100%/0 1px no-repeat;
  text-decoration: none;
  -webkit-transition: background-size 0.5s;
  transition: background-size 0.5s;
}
article.post .post_area h2 a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
article.post .post_area .excerpt.cmn_txt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-height: 1.6;
  text-align: justify;
  overflow: hidden;
}

.post_content header {
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #fb9f00;
}
.post_content header .post_thumbnail {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}
.post_content header .post_meta {
  padding-left: 10px;
  border-left: 5px solid #fb9f00;
}
.post_content header .post_meta .post_date {
  font-size: clamp(0.75rem, 1.4vw, 1.125rem);
}
.post_content .post_main p,
.post_content .post_main figure {
  margin: 20px 0;
}
.post_content .post_main figcaption {
  font-size: 80%;
  line-height: 1.4;
}
.post_content .post_main ul,
.post_content .post_main ol {
  margin: 20px 0;
  padding-left: 1em;
}
.post_content .post_main ul li,
.post_content .post_main ol li {
  margin: 5px 0;
}

.back_info {
  position: relative;
  padding-left: 1.6em;
  line-height: 1.2;
  color: #000;
  text-decoration: none;
}
.back_info::before,
.back_info::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  margin: auto;
}
.back_info::before {
  background-color: #fb9f00;
  width: 1.1em;
  height: 1.1em;
}
.back_info::after {
  width: 0.4em;
  height: 0.4em;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: translateX(5px) rotate(45deg);
  transform: translateX(5px) rotate(45deg);
}

.maptxt {
  text-align: center;
  font-size: 1.5125rem;
}

.aboutus ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 10%;
}

.aboutus ul li {
  text-align: center;
  align-items: stretch;
}
.aboutus ul li p {
  padding: 10px 0;
  margin: 0;
}
.aboutus ul li.jpn {
  flex-basis: 70%;
}
.aboutus ul li.jpn span {
  color: #846955;
  display: inline-block;
  padding: 10px 0 0 0;
}
.aboutus ul li.usa {
  flex-basis: 30%;
}
.aboutus ul li ul {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  margin: 0 !important;
}
.aboutus ul li ul li {
  gap: 10%;
}
.aboutus ul li .country {
  font-weight: 500;
  font-size: 1.4125rem;
  margin: 0 !important;
}

#contactus ul {
  display: block;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 20px 0 0 0;
  gap: 16%;
}

#contactus ul .cu_address {
  text-align: center;
}

#contactus ul .cu_address p {
  font-weight: 500;
  margin-bottom: 10px;
}

#contactus ul .cu_form {
  text-align: center;
  margin: 20px 0 0 0;
}

@-webkit-keyframes loading_bar {
  0% {
    width: 0;
  }
  50% {
    right: 0;
    width: 100%;
  }
  100% {
    right: 0;
    left: auto;
    width: 0;
  }
}

@keyframes loading_bar {
  0% {
    width: 0;
  }
  50% {
    right: 0;
    width: 100%;
  }
  100% {
    right: 0;
    left: auto;
    width: 0;
  }
}
@-webkit-keyframes loading_logo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes loading_logo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes fadeInUp_businessPc {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, 50px);
    transform: translate(-50%, 50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
}
@keyframes fadeInUp_businessPc {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, 50px);
    transform: translate(-50%, 50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
}
@-webkit-keyframes fadeInUp_medicalPc {
  0% {
    opacity: 0;
    -webkit-transform: translate(50%, 50px);
    transform: translate(50%, 50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(50%, 0);
    transform: translate(50%, 0);
  }
}
@keyframes fadeInUp_medicalPc {
  0% {
    opacity: 0;
    -webkit-transform: translate(50%, 50px);
    transform: translate(50%, 50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(50%, 0);
    transform: translate(50%, 0);
  }
}
@-webkit-keyframes photo_cmn {
  0% {
    right: 0;
    background-color: #ffc562;
    width: 100%;
  }
  100% {
    width: 0;
    border-left-color: white;
  }
}
@keyframes photo_cmn {
  0% {
    right: 0;
    background-color: #ffc562;
    width: 100%;
  }
  100% {
    width: 0;
    border-left-color: white;
  }
}
@-webkit-keyframes reset_clippath {
  to {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
}
@keyframes reset_clippath {
  to {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes blur {
  0% {
    -webkit-filter: blur(1em) opacity(0);
    filter: blur(1em) opacity(0);
  }
  100% {
    -webkit-filter: blur(0) opacity(1);
    filter: blur(0) opacity(1);
  }
}
@keyframes blur {
  0% {
    -webkit-filter: blur(1em) opacity(0);
    filter: blur(1em) opacity(0);
  }
  100% {
    -webkit-filter: blur(0) opacity(1);
    filter: blur(0) opacity(1);
  }
}
@-webkit-keyframes sdgsline {
  0% {
    height: 100%;
  }
  100% {
    height: 10px;
  }
}
@keyframes sdgsline {
  0% {
    height: 100%;
  }
  100% {
    height: 10px;
  }
}
@-webkit-keyframes sdgslinePC {
  0% {
    height: 100%;
  }
  100% {
    height: 20px;
  }
}
@keyframes sdgslinePC {
  0% {
    height: 100%;
  }
  100% {
    height: 20px;
  }
}
@media (min-width: 520px) {
  body {
    width: 100%;
  }
}
@media (max-width: 340px) {
  body {
    width: 100%;
  }
  .pagination .wp-pagenavi {
    font-size: 0.6875rem;
  }
  .pagination .wp-pagenavi a,
  .pagination .wp-pagenavi .current {
    width: 20px;
    height: 20px;
  }
  header#global #header_wrap #header_nav_area > ul li {
    font-size: 0.625rem;
    letter-spacing: 0em;
    text-indent: 0em;
  }
  header#global #header_wrap #traslate_area {
    width: 20% !important;
    margin-left: -30px;
  }
  .front_conts_box h2 {
    margin-bottom: 25px;
  }
  .link_page .banners .banner_unit h2 {
    font-size: 0.625rem;
  }
  .link_page .banners .banner_unit h2 .nicename {
    font-size: 0.75rem;
  }
  .link_page .banners .bnr_txt {
    font-size: 0.75rem;
  }
  main.medical #taisei table {
    font-size: 0.6875rem;
  }
  main.medical #taisei table tr td {
    padding: 3px;
    border-bottom: 3px solid #fff;
  }
}
@media (max-width: 599px) {
  body {
    width: 100%;
  }
  .notsp {
    display: none !important;
  }
  .tabonly {
    display: none !important;
  }
}
@media (min-width: 600px) {
  body {
    width: 100%;
  }
  .sponly {
    display: none !important;
  }
  .main_content .main_content_inner {
    max-width: 480px;
    margin: auto;
  }
  .pagination .wp-pagenavi {
    gap: 15px;
    font-size: 0.875rem;
  }
  .pagination .wp-pagenavi a,
  .pagination .wp-pagenavi .current {
    width: 30px;
    height: 30px;
  }
  form.wpcf7-form #thanks h3 {
    font-size: 1.125rem;
  }
  form.wpcf7-form #thanks p {
    font-size: 1rem;
  }
  header#global #header_wrap {
    width: 97%;
    margin: auto;
  }
  header#global #header_wrap #logo_area {
    max-width: 260px;
    padding-left: 0;
  }
  header#global #header_wrap #logo_area .logotype {
    width: 100%;
  }
  header#global #header_wrap #header_nav_area {
    width: 80%;
  }
  header#global #header_wrap #header_nav_area > ul {
    gap: 2%;
    margin: 0;
  }
  header#global #header_wrap #header_nav_area > ul li {
    font-size: 0.875rem;
  }
  header#global #header_wrap #header_nav_area > ul li a {
    padding: 8px 15px;
  }
  header#global #header_wrap #header_nav_area > ul li a {
    padding: 10px 15px;
  }
  #common_footer .footer_upper .gnavi {
    max-width: 480px;
    margin: auto;
    padding: 0;
    padding-right: 40px;
  }
  #common_footer .footer_lower {
    padding: 0;
  }
  #ft_page_navi {
    width: 300px;
  }
  .navi_block > ul.parent_list li {
    font-size: 1rem;
  }
  #page_hero .thumbnail_area picture {
    aspect-ratio: 600/300;
  }
  main.page {
    margin-bottom: 120px;
  }
  .link_page > p {
    text-align: center;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
  }
  .link_page .banners li {
    margin-bottom: 35px;
  }
  .link_page .banners .banner_unit h2 {
    padding: 15px 10px;
    font-size: 0.75rem;
  }
  .link_page .banners .banner_unit h2 .icon {
    margin-bottom: 10px;
  }
  .link_page .banners .banner_unit h2 .nicename {
    margin-bottom: 10px;
    font-size: 1rem;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
  }
  .link_page .banners .banner_unit h2.ttl_company .icon {
    height: 40px;
  }
  .link_page .banners .banner_unit h2.ttl_message .icon {
    width: 46px;
  }
  .link_page .banners .banner_unit h2.ttl_medical .icon {
    height: 40px;
  }
  .link_page .banners .banner_unit h2.ttl_sustainability .icon {
    height: 40px;
  }
  .link_page .banners .banner_unit h2.ttl_technology .icon {
    height: 40px;
  }
  .link_page .banners .banner_unit h2.ttl_equipment .icon {
    height: 40px;
  }
  .link_page .banners .banner_unit .banner_area a::before {
    right: 20px;
    width: 25px;
    height: 25px;
  }
  .link_page .banners .banner_unit .banner_area a::after {
    right: 30px;
    width: 8px;
    height: 8px;
    border-right: 2px solid white;
    border-bottom: 2px solid white;
  }
  main.company #about .ttl_bg-brown {
    margin-bottom: clamp(30px, 5.4vw, 70px);
  }
  main.company #enkaku .ttl_bg-brown {
    margin-bottom: clamp(30px, 5.4vw, 70px);
  }
  main.medical_field #medical_field ul.medical_products li {
    margin-bottom: 80px;
  }
  main.medical_field #medical_field ul.medical_products li .body h3 {
    font-size: 1.375rem;
  }
  main.products_field .products_field ul.products_products li {
    margin-bottom: 80px;
  }
  main.products_field .products_field ul.products_products li .body h3 {
    font-size: 1.375rem;
  }
  body.products_field #size_table h4,
  body.products_field #table h4 {
    font-size: 1.125rem;
  }
  body.products_field #size_table table,
  body.products_field #table table {
    font-size: 0.875rem;
  }
  body.products_field #size_table .table_caption,
  body.products_field #table .table_caption {
    font-size: 0.875rem;
  }
  body.products_field #size_table dl,
  body.products_field #table dl {
    font-size: 0.875rem;
  }
  body.products_field #size_table .size_image,
  body.products_field #table .size_image {
    margin-bottom: 50px;
  }
  body.products_field #seimitsu_slider {
    margin-bottom: 40px;
  }
  body.products_field #seimitsu_slider_thumb {
    width: 100%;
    margin: 0 0 50px;
    padding: 0;
  }
  body.products_field #seimitsu_slider_thumb ul.splide__list {
    width: auto;
    margin-right: -10px !important;
  }
  body.products_field #seimitsu_slider_thumb ul.splide__list li:first-of-type {
    margin-left: 0;
  }
  body.products_field #seimitsu_slider_thumb ul.splide__list li:last-of-type {
    margin-right: 0 !important;
    padding-right: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  body.products_field
    #seimitsu_slider_thumb
    ul.splide__list
    li.splide__slide
    img {
    outline: 5px solid rgba(251, 159, 0, 0);
    outline-offset: -5px;
  }
  body.products_field
    #seimitsu_slider_thumb
    ul.splide__list
    li.splide__slide.is-active
    img {
    outline: 5px solid #fb9f00;
  }
  body.products_field .koremade h3 {
    font-size: 1.25rem;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
  }
  body.products_field .koremade .seikei_wrap {
    padding: 25px 0;
  }
  body.products_field .koremade .seikei_wrap ul {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    font-size: 1.125rem;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
  }
  body.products_field .koremade .seikei_wrap ul li {
    padding: 0 30px;
  }
  body.products_field .koremade .seikei_wrap ul::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    background-color: #c4c4c4;
    width: 1px;
    height: 100%;
    margin: auto;
  }
  body.products_field .koremade .seikei_wrap ul::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: 33.3%;
    display: block;
    background-color: #c4c4c4;
    width: 1px;
    height: 100%;
    margin: auto;
  }
  #medicaldialog_wrap .forMedical {
    padding: 45px 30px;
  }
  #medicaldialog_wrap .forMedical p {
    text-align: center;
  }
  #medicaldialog_wrap .forMedical h2 {
    margin: 25px;
  }
  #medicaldialog_wrap .forMedical .choice {
    gap: 30px;
  }
  #medicaldialog_wrap .forMedical .choice button {
    font-size: 1.25rem;
  }
  main.medical #aps_medical h2.ttl_bg-brown {
    height: calc(1em + 1rem);
    margin: -18.4px 0;
    font-size: 1rem;
  }
  main.medical #taisei table {
    font-size: 0.875rem;
  }
  main.medical #taisei table tr td {
    padding: 8px;
    border-bottom: 8px solid #fff;
  }
  main.medical #taisei table tr td:nth-child(2) {
    border-right-width: 10px;
  }
  main.medical #koutei .koutei_group h3 {
    width: 150px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
  main.medical #koutei .koutei_group .unit {
    margin-bottom: 50px;
  }
  main.medical #koutei .koutei_group .unit_info h4 {
    font-size: 1.125rem;
  }
  main.medical #koutei .koutei_group .unit_photo {
    margin-bottom: 50px;
  }
  main.medical #koutei .koutei_group .unit_movie + .unit_info {
    margin-top: 50px;
  }
  main.medical #koutei .koutei_group .unit_movie .movie_wrap {
    margin-bottom: 50px;
    padding: 15px;
  }
  main.medical #ishiki h2.ttl_bg-brown {
    height: calc(1em + 1rem);
    margin: -18.4px 0;
    font-size: 1rem;
  }
  main.medical #ishiki .ishiki_body {
    margin-bottom: 40px;
  }
  main.medical #ishiki h3 {
    margin-bottom: 25px;
    font-size: 1rem;
    text-align: center;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
  }
  main.medical #ishiki .table_wrap table {
    font-size: 0.8125rem;
  }
  main.medical #ishiki .table_wrap table th,
  main.medical #ishiki .table_wrap table td {
    padding: 8px;
  }
  main.medical #shyukka h2.ttl_bg-brown {
    height: calc(1em + 1rem);
    margin: -18.4px 0;
    font-size: 1rem;
  }
  main.medical #shyukka .shyukka_body {
    margin-bottom: 40px;
  }
  main.medical #shyukka .shyukka_body ul {
    display: block;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: clamp(10px, 1.8vw, 20px);
    -moz-column-gap: clamp(10px, 1.8vw, 20px);
    column-gap: clamp(10px, 1.8vw, 20px);
    font-size: clamp(0.875rem, 1.8vw, 1.125rem);
    line-height: 1.8;
  }
  #shigoto .post_body {
    padding-top: 60px;
  }
  #shigoto .post_body h3 {
    font-size: clamp(1.125rem, 1.7vw, 1.375rem);
  }
  #shigoto .post_body .chart {
    margin-bottom: 60px;
    padding: 30px 20px;
  }
  #senpai .inner_conts {
    padding-top: clamp(40px, 5.4vw, 70px);
  }
  #senpai .inner_conts .icon {
    width: 60px;
    margin-bottom: 10px;
  }
  #senpai .inner_conts > h2 {
    margin-bottom: clamp(20px, 2.6vw, 60px);
    font-size: clamp(1.25rem, 3.9vw, 1.875rem);
  }
  .senpai_wrap h2 {
    width: 120px;
  }
  .senpai_wrap .senpai_intro .senpai_content {
    padding: 0 25px 30px;
  }
  .senpai_wrap .senpai_intro .senpai_content h4.cmn_ttl {
    margin-bottom: 30px;
    padding-bottom: 15px;
  }
  .senpai_wrap .senpai_intro .senpai_content p.cmn_txt {
    margin-bottom: 45px;
  }
  .senpai_wrap .senpai_intro .schedule {
    padding: 35px 25px 25px;
  }
  .senpai_wrap .senpai_intro .schedule h3 {
    margin-bottom: 25px;
  }
  .senpai_wrap .senpai_intro .schedule .schedule_wrap {
    margin-bottom: 30px;
  }
  main.sustainability #stble_top .post_body {
    padding-top: 60px;
  }
  main.sustainability #stble_top .post_body .sdgs_logo {
    margin: 40px 0;
  }
  main.sustainability .stble_cmn {
    margin-bottom: 50px;
  }
  main.sustainability .stble_cmn header .icon_list li {
    -ms-flex-preferred-size: 52px;
    flex-basis: 52px;
  }
  main.compliance .comp_block {
    margin: 45px 0;
    padding-left: 25px;
  }
  main.compliance .comp_block ul.iso li {
    -ms-flex-preferred-size: 150px;
    flex-basis: 150px;
  }
  main.compliance .comp_block a.detail::after {
    right: 12px;
  }
  main.compliance .comp_block a.detail {
    width: 150px;
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  #header_nav_area {
    display: none !important;
  }
}
@media (min-width: 768px) {
  body {
    width: 100%;
  }
  #future,
  #quality,
  #company,
  #researchanddevelopment,
  #products,
  #heellancet {
    max-width: 1000px;
  }
  #products .future_body {
    font-size: 1.475rem;
    line-height: 1.875;
    text-align: justify;
  }
  .clm ul,
  #researchanddevelopment ul,
  #heellancet ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .clm ul li {
    width: 50%;
    padding: 24px;
  }
  .clm ul li.sl_aic {
    display: flex;
    align-items: center;
  }
  .clm ul li h3 {
    text-align: center;
    font-size: 2.125rem;
    color: #846955;
    padding: 0 0 10px;
  }
  .clm ul li table {
    width: 100%;
    margin-top: 10px;
    font-size: 0.825rem;
    text-align: center;
    line-height: 1.625rem;
    table-layout: fixed;
  }
  .clm ul li table tr th {
    background-color: #846955;
    color: #fff;
  }
  .clm ul li table tr td {
    background-color: #e3dfdf;
    color: #000;
  }
  .aboutus ul {
    margin: 0 80px;
  }
  #researchanddevelopment ul li:nth-of-type(2),
  #heellancet ul li:nth-of-type(2) {
    flex-basis: 68%;
    padding: 0 0 0 40px;
  }
  #contactus ul {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 20px 0 0 0;
    gap: 16%;
  }
  #contactus ul .cu_address {
    text-align: center;
  }
  #contactus ul .cu_address p {
    font-weight: 500;
    margin-bottom: 10px;
  }
  #contactus ul .cu_form {
    margin: 0;
  }
  #footer_nav_area ul {
    justify-content: center;
    gap: 2%;
    padding: 30px 0 80px;
  }
  #footer_nav_area ul li {
    border: none;
    width: auto;
  }
  #footer_nav_area ul li:nth-child(2n + 1) {
    border-right: none;
  }
  #footer_nav_area .copy {
    font-size: 0.9rem;
  }
  html.with-fancybox #sidebar {
    right: -60px;
  }
  .tabpover {
    display: block !important;
  }
  .cmn_ttl {
    font-size: 1.25rem;
  }
  .ttl_small {
    font-size: 1.125rem;
  }
  .cmn_txt {
    font-size: 1rem;
  }
  .ttl_bg-brown span.title_inenr {
    display: inline-block;
  }
  .main_content .main_content_inner {
    max-width: 600px;
    margin: auto;
    padding: 25px 25px 0;
  }
  .ttl_brown_box {
    font-size: 1.5rem;
  }
  a.pagetop_btn {
    right: 60px;
  }
  a.movie_play::after {
    width: 80px;
    height: 80px;
  }
  a.popup::after {
    width: 50px;
    height: 50px;
  }
  .with_sidebar {
    padding: 0 16px;
  }
  form.wpcf7-form input:not([type="radio"]),
  form.wpcf7-form textarea,
  form.wpcf7-form select {
    width: 100%;
  }
  form.wpcf7-form .form_unit {
    margin-bottom: 20px;
  }
  form.wpcf7-form .form_unit .form_unit_ttl {
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
  }
  form.wpcf7-form .form_unit.multi_line .form_unit_wrap .form_unit_body {
    margin-bottom: 15px;
  }
  form.wpcf7-form .policy_area {
    margin-left: 30%;
    padding-left: 2px;
  }
  .home header#global {
    padding: 25px 0;
    padding-left: 25px;
  }
  header#global {
    padding: 25px;
  }
  header#global #header_wrap #header_nav_area {
    max-width: 693px;
  }
  #common_footer .footer_upper {
    margin-bottom: 180px;
  }
  #common_footer .footer_upper .gnavi {
    max-width: 680px;
    margin: auto;
    padding: 0;
    padding-right: 60px;
  }
  #common_footer .footer_lower .ft_info .logotype {
    width: 320px;
    max-width: initial;
  }
  #common_footer .footer_lower .ft_info h2 {
    margin-bottom: 60px;
    font-size: 1.625rem;
  }
  #common_footer .footer_lower .ft_info dl.company_info .dl_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #common_footer .footer_lower .ft_info dl.company_info dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 0;
    padding-right: 1em;
  }
  #common_footer .footer_lower .ft_info dl.company_info dd {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  #common_footer .footer_lower .ft_info dl.company_info dd span.postal {
    display: inline-block;
    margin-right: 1em;
  }
  #common_footer.naviless {
    margin-top: -120px;
    padding-top: 180px;
  }
  #ft_page_navi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  #ft_page_navi .ft_page_navi_ttl {
    -ms-flex-preferred-size: 200px;
    flex-basis: 200px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
  #ft_page_navi .ft_page_navi_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor li {
    -ms-flex-preferred-size: calc(50% - 10px);
    flex-basis: calc(50% - 10px);
    margin-bottom: 0;
  }
  #header_nav_area {
    display: block;
  }
  #sidebar {
    display: none;
    width: 60px;
    max-width: 800px;
  }
  #sidebar.navi_show #menu_btn_area,
  #sidebar.navi_show #contact_btn_area {
    width: 60px;
  }
  #sidebar.navi_show #sidebar_navi.inner_navi {
    padding-left: 100px;
  }
  #sidebar.navi_show .gnavi {
    padding: 50px;
    padding-left: 0;
  }
  #sidebar.contact_show #menu_btn_area,
  #sidebar.contact_show #contact_btn_area {
    width: 60px;
  }
  #sidebar.contact_show #sidebar_contact.inner_navi {
    padding-left: 100px;
  }
  #sidebar.contact_show #sidebar_inner_contact {
    padding: 50px;
    padding-left: 0;
  }
  #sidebar .sidebar_button button {
    width: 60px;
  }
  #sidebar #menu_btn_area {
    height: calc(100% - 200px);
  }
  #sidebar #contact_btn_area {
    width: 60px;
    height: 200px;
  }
  #common_footer .gnavi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 20px;
  }
  #common_footer .navi_block {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-preferred-size: calc(50% - 10px);
    flex-basis: calc(50% - 10px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0 15px 15px;
  }
  #common_footer .navi_block::before {
    content: "";
    position: absolute;
    right: -10px;
    display: block;
    width: 1px;
    height: 90%;
    margin: auto;
    border-right: dotted 1px #fff;
  }
  #common_footer .navi_block::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    width: 90%;
    height: 1px;
    margin: auto;
    border-bottom: dotted 1px #fff;
  }
  #common_footer .navi_block:nth-child(even)::before {
    display: none;
  }
  #common_footer .navi_block > h2 {
    margin-bottom: 15px;
  }
  #common_footer .navi_block ul.parent_list {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
    border: none;
  }
  #common_footer .navi_block ul.parent_list li {
    text-align: left;
    border: none;
  }
  #common_footer .navi_block ul.parent_list li ul.child_list,
  #common_footer .navi_block ul.parent_list li ol.child_list {
    padding-left: 14px;
  }
  #common_footer .navi_block ul.parent_list li ul.child_list li,
  #common_footer .navi_block ul.parent_list li ol.child_list li {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  #common_footer .navi_block ul.parent_list li ul.child_list li::after,
  #common_footer .navi_block ul.parent_list li ol.child_list li::after {
    display: none;
  }
  .navi_block > ul.parent_list {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    letter-spacing: 0.05em;
  }
  .navi_block > ul.parent_list li {
    padding-bottom: 2px;
  }
  #company_area .company h2::before {
    width: 53px;
    height: 60px;
  }
  #gijutsu_area,
  #aboutus_area {
    padding-bottom: 0;
  }
  #gijutsu_area .gijutsu_ph,
  #aboutus_area .gijutsu_ph {
    margin-left: auto;
    margin-right: 0;
  }
  #gijutsu_area .gijutsu,
  #aboutus_area .gijutsu {
    left: 8%;
    right: auto;
  }
  #gijutsu_area .gijutsu_txt,
  #aboutus_area .gijutsu_txt {
    margin-top: 70px;
    padding: 0 60px;
    font-size: clamp(1.5rem, 3.7vw, 2.25rem);
    text-align: center;
  }
  .front_contents {
    margin-bottom: 75px;
    padding: 0;
  }
  .front_contents .front_conts_box_top {
    padding: 0 60px 0 0;
  }
  .front_contents .front_conts_box_top .front_contents_ph {
    width: 70%;
    margin: 0;
    margin-left: auto;
  }
  .front_contents .front_conts_box_top .front_conts_box {
    bottom: 0;
    left: 2%;
    right: auto;
    width: 400px;
  }
  .front_contents .front_contents_ph {
    width: 70%;
    aspect-ratio: 700/630;
  }
  .front_contents .front_conts_box_bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-top: 0;
    padding: 0;
  }
  .front_contents .front_conts_box_bottom .front_conts_box_bottom_txt {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 80px;
    padding-left: 40px;
  }
  .front_contents .front_conts_box_bottom h3 {
    font-size: 2.25rem;
  }
  .front_contents .front_conts_box_bottom h3 {
    font-size: 2.5rem;
  }
  .front_contents .front_conts_box_bottom p {
    font-size: 1.125rem;
  }
  .front_contents .front_conts_box_bottom .front_conts_box_bottom_ph {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    aspect-ratio: 400/550;
    width: 40%;
    margin: 0;
  }
  .front_conts_box {
    position: absolute;
    top: 25%;
    right: 8%;
    width: 350px;
    max-width: 400px;
    margin: auto;
  }
  .front_conts_box h2 {
    margin-bottom: 12px;
    font-size: 2.25rem;
  }
  .front_conts_box p {
    margin: 0 auto;
    font-size: 1rem;
    width: 320px;
  }
  .front_conts_box .btn_basic {
    font-size: 1.125rem;
    margin: 20px auto 40px auto;
  }
  #front_intro {
    margin-bottom: 120px;
  }
  #front_intro .intro_hero .bg_photo {
    aspect-ratio: 1/1;
  }
  #front_intro .intro_hero .img_txt {
    width: 45%;
    margin: auto 2.5% 25% auto;
  }
  #front_intro .intro_hero .intro_box {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: 1/1;
    background-color: #fff;
    width: 45%;
    max-width: 400px;
    margin: auto 30px;
    z-index: 10;
  }
  #front_intro .intro_hero .intro_box > h2 {
    margin-bottom: 35px;
    font-size: 1.125rem;
  }
  #front_intro .intro_hero .intro_box > h3 {
    font-size: 1.5rem;
  }
  #front_intro .intro_hero .intro_box .staff_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0;
  }
  #front_intro .intro_hero .intro_box .staff_list .staff_photo {
    aspect-ratio: 200/250;
  }
  #front_intro .intro_hero .intro_box .staff_list .staff_icon {
    margin: auto;
  }
  #front_intro .intro_hero .intro_box .staff_list .staff_icon .vol {
    font-size: 0.625rem;
  }
  #front_intro .intro_hero .intro_box .staff_list .staff_icon .num {
    font-size: 1.5625rem;
  }
  #front_intro .intro_hero .intro_box .intro_company {
    padding: 20px 25px;
  }
  #front_intro .intro_hero .intro_box .intro_company li {
    padding: 15px 0;
  }
  #sdgs_area {
    margin-bottom: 200px;
  }
  #sdgs_area .sdgsbanner {
    aspect-ratio: 880/360;
    background-size: 100%;
    background-position: center 10%;
    margin-bottom: 0;
  }
  #sdgs_area .sdgsbanner::after {
    bottom: 0;
    height: 20px;
  }
  #sdgs_area .sdgsbanner h2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 4%;
    width: 89.5%;
    margin: auto;
  }
  #sdgs_area .sdgsbanner h2::after {
    content: "サスティナビリティへの取り組み";
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    color: #fff;
    font-size: clamp(1.375rem, 2.6vw, 1.625rem);
  }
  #sdgs_area .sdgsbanner h2 .sdgs_logo {
    -ms-flex-preferred-size: 64%;
    flex-basis: 64%;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    max-width: 500px;
    padding: 25px 40px;
  }
  #sdgs_area .sdgsbanner h2 .sdgs_logo img {
    width: 100%;
  }
  footer .front_wrap {
    padding-right: 60px;
  }
  #page_hero {
    position: relative;
    margin-bottom: 80px;
  }
  #page_hero .title_area {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50px;
    height: 110px;
    margin: auto 0 0;
    padding: 0 20px;
  }
  .post_body {
    margin-bottom: 80px;
    padding: 35px;
  }
  .field {
    margin-bottom: 80px;
  }
  .field .field_body {
    padding: 40px;
  }
  .field .field_body h3 {
    font-size: 1.25rem;
    text-align: center;
  }
  .link_page > p {
    margin-bottom: 60px;
    font-size: 1.25rem;
  }
  .link_page .banners li {
    margin-bottom: 45px;
  }
  .link_page .banners .banner_unit {
    -ms-grid-columns: 35% 1fr;
    grid-template-columns: 35% 1fr;
  }
  .link_page .banners .banner_unit h2 {
    font-size: 0.875rem;
  }
  .link_page .banners .banner_unit .banner_area a::before {
    right: 20px;
    width: 30px;
    height: 30px;
    border: 4px solid white;
  }
  .link_page .banners .banner_unit .banner_area a::after {
    right: 32px;
    width: 8px;
    height: 8px;
  }
  .link_page .banners .bnr_txt {
    font-size: 0.875rem;
    text-align: right;
  }
  main.company #greeting {
    margin-bottom: 150px;
  }
  main.company #greeting h2 {
    font-size: 1.625rem;
  }
  main.company #greeting .boss {
    margin-top: 35px;
  }
  main.company #greeting .boss .prof {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 20px;
  }
  main.company #yakuin {
    margin-bottom: 150px;
  }
  main.company #yakuin .post_body {
    width: 80%;
    margin: 0 auto;
  }
  main.company #yakuin dl.yakuin {
    text-align: left;
  }
  main.company #yakuin dl.yakuin .dl_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  main.company #yakuin dl.yakuin dt {
    -ms-flex-preferred-size: 42%;
    flex-basis: 42%;
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: clamp(1rem, 2vw, 1.75rem);
  }
  main.company #yakuin dl.yakuin dd {
    -ms-flex-preferred-size: 40%;
    flex-basis: 40%;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 5%;
    font-size: clamp(1.375rem, 3vw, 1.75rem);
  }
  main.company #about {
    margin-bottom: 150px;
  }
  main.company #about .post_body {
    width: 80%;
    margin: 0 auto;
    padding: 25px 0 0;
  }
  main.company #about dl.about {
    margin: 0 0 20px;
    font-size: 0.875rem;
    line-height: 1.5;
  }
  main.company #about dl.about .dl_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 50px;
    min-height: 80px;
    margin: 0;
    padding: 10px 8px;
  }
  main.company #about dl.about dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 0;
  }
  main.company #about .caption {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 20px;
    padding: 0 10px;
    font-size: 0.875rem;
  }
  main.company #about .caption .cap_btn_area {
    margin-top: 0;
  }
  main.company #about .caption a {
    padding: 8px 20px 8px 15px;
  }
  main.company #yurai {
    margin-bottom: 150px;
  }
  main.company #yurai .post_body {
    width: 80%;
    margin: 0 auto;
  }
  main.company #enkaku {
    margin-bottom: 150px;
  }
  main.company #enkaku .post_body {
    width: 80%;
    margin: 0 auto;
    padding: 20px 0 0;
  }
  main.company #enkaku dl.enkaku {
    margin: 0 0 40px;
  }
  main.company #enkaku dl.enkaku .dl_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 20px;
    margin: 0;
    padding: 10px;
    font-size: 1rem;
    line-height: 1.875;
  }
  main.company #enkaku dl.enkaku dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 0;
  }
  main.company #enkaku ul.enkaku_photo_list {
    margin: 0;
  }
  main.company #accessmap,
  main.company #kogaisya {
    margin-bottom: 150px;
  }
  main.company #accessmap .post_body,
  main.company #kogaisya .post_body {
    width: 80%;
    margin: 0 auto;
    padding: 35px 0 0;
  }
  main.company #accessmap .post_body,
  main.company #kogaisya .post_body {
    width: 88%;
  }
  main.company #accessmap .map_wrap,
  main.company #kogaisya .map_wrap {
    margin: 0 0 60px;
  }
  main.company #kogaisya .post_body {
    margin-bottom: 120px;
  }
  main.company #kogaisya p {
    padding: 35px 20px;
  }
  main.company #kanren {
    margin-bottom: 150px;
  }
  main.company #kanren .post_body {
    width: 80%;
    margin: 0 auto;
  }
  main.company #kanren dl.kaisya {
    font-size: 1rem;
  }
  main.company #kanren dl.kaisya .dl_inner {
    margin: 0 0 30px;
  }
  main.company #compliance .post_body {
    width: 80%;
    margin: 0 auto 100px;
  }
  #bunya .diagram {
    margin-bottom: 80px;
  }
  #bunya .post_body {
    margin-bottom: 120px;
    padding: 50px;
  }
  .field#industrial_field .field_photo .business03_parts {
    bottom: -30px;
    right: -50px;
    width: 150px;
  }
  #future h2.ttl_bg-brown,
  #quality h2.ttl_bg-brown,
  #company h2.ttl_bg-brown,
  #researchanddevelopment h2.ttl_bg-brown,
  #heellancet h2.ttl_bg-brown {
    height: 56px;
    margin: -28px 0;
  }
  #quality.aboutus,
  #company.aboutus,
  #quality.aboutus .future_body,
  #company.aboutus .future_body   {
    padding: 20px 0;
  }
  main.medical_field #medical_field h2 {
    margin-bottom: 45px;
  }
  main.medical_field #medical_field .medical_field_body {
    margin-bottom: 150px;
  }
  main.medical_field #medical_field ul.medical_products li .body p {
    line-height: 2.5;
  }
  main.products_field .products_field h2 {
    margin-bottom: 45px;
  }
  main.products_field .products_field .field_body {
    margin-bottom: 150px;
  }
  main.products_field .products_field ul.products_products li .body p {
    line-height: 2.5;
  }
  main.technology #kaihatsu h2.ttl_bg-brown {
    height: 56px;
    margin: -28px 0;
  }
  main.technology #kaihatsu .kaihatsu_body {
    margin-bottom: 80px;
    padding: 50px;
    font-size: 1rem;
  }
  main.technology .setsubi {
    margin-bottom: 80px;
  }
  main.technology .setsubi .setsubi_body {
    padding: 40px 40px 60px;
  }
  main.technology .setsubi .setsubi_body h3 {
    font-size: 1.25rem;
  }
  main.technology .setsubi .setsubi_body ul.material {
    font-size: 1rem;
  }
  main.technology #intro h2 {
    margin-bottom: 40px;
  }
  main.technology #intro .setsubi_unit .setsubi_photo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 20px;
  }
  main.technology #intro .setsubi_unit .setsubi_photo .photo.glmp-102lh img {
    aspect-ratio: 240/360;
    width: 60%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  main.technology #intro .setsubi_unit .setsubi_name {
    font-size: clamp(1.25rem, 2.34vw, 1.875rem);
  }
  main.technology #intro .setsubi_unit .before_after {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  main.technology #intro .setsubi_unit .before_after .before {
    position: relative;
    padding-right: 20px;
  }
  main.technology #intro .setsubi_unit .before_after .before::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2px;
    left: auto;
    margin: auto;
    border-width: 8px 0 8px 13px;
    border-color: transparent transparent transparent #8d755e;
  }
  main.technology #intro .setsubi_unit.column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
  main.technology #intro .setsubi_unit.column .setsubi_photo {
    -ms-flex-preferred-size: calc(49% - 10px);
    flex-basis: calc(49% - 10px);
    margin-bottom: 0;
  }
  main.technology #intro .setsubi_unit.column .setsubi_info {
    -ms-flex-preferred-size: calc(51% - 10px);
    flex-basis: calc(51% - 10px);
  }
  main.technology #intro .setsubi_unit + .setubi_table {
    margin-top: 80px;
  }
  main.technology #intro .setubi_table table {
    table-layout: auto;
    font-size: 1rem;
  }
  main.technology #intro .setubi_table table caption {
    font-size: 1.25rem;
  }
  main.technology #intro .setubi_table table th {
    min-width: 50px;
  }
  main.technology #intro .setubi_table .setsubi_more {
    font-size: 1rem;
  }
  #medicaldialog_wrap .forMedical {
    padding: 45px;
  }
  #medicaldialog_wrap .forMedical p {
    font-size: 1rem;
  }
  #medicaldialog_wrap .forMedical p {
    line-height: 2.5;
  }
  #medicaldialog_wrap .forMedical h2 {
    margin: 30px;
    font-size: 1.625rem;
  }
  #medicaldialog_wrap .forMedical .choice {
    gap: 40px;
  }
  #medicaldialog_wrap .forMedical .choice button {
    font-size: 1.5rem;
  }
  main.medical #aps_medical {
    margin-bottom: 80px;
  }
  main.medical #aps_medical h2.ttl_bg-brown {
    height: calc(1em + 1.25rem);
    margin: -23px 0;
    font-size: 1.25rem;
  }
  main.medical #aps_medical .aps_medical_body {
    padding: 50px;
  }
  main.medical #taisei table {
    font-size: 0.9375rem;
  }
  main.medical #taisei table tr td {
    padding: 10px;
    border-bottom: 10px solid #fff;
  }
  main.medical #taisei table tr td:nth-child(2) {
    border-right-width: 15px;
  }
  main.medical #koutei {
    margin-bottom: 80px;
  }
  main.medical #koutei h2 + p {
    margin-bottom: 80px;
  }
  main.medical #koutei .koutei_group .unit {
    margin-bottom: 80px;
  }
  main.medical #koutei .koutei_group .unit_photo {
    gap: 20px 0;
  }
  main.medical #koutei .koutei_group .unit_photo .photo {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
  }
  main.medical #koutei .koutei_group .unit_movie + .unit_info {
    margin-top: 80px;
  }
  main.medical #koutei .koutei_group .unit_movie .movie_wrap {
    padding: 20px;
  }
  main.medical #ishiki {
    margin-bottom: 120px;
  }
  main.medical #ishiki h2.ttl_bg-brown {
    height: calc(1em + 1.25rem);
    margin: -23px 0;
    font-size: 1.25rem;
  }
  main.medical #ishiki .ishiki_body {
    margin-bottom: 60px;
    padding: 50px;
    font-size: 1rem;
  }
  main.medical #ishiki h3 {
    margin-bottom: 30px;
    font-size: 1.125rem;
  }
  main.medical #ishiki .table_wrap table th,
  main.medical #ishiki .table_wrap table td {
    padding: 10px;
  }
  main.medical #shyukka h2.ttl_bg-brown {
    height: calc(1em + 1.25rem);
    margin: -23px 0;
    font-size: 1.25rem;
  }
  main.medical #shyukka .shyukka_body {
    margin-bottom: 60px;
    padding: 50px;
    font-size: 1rem;
  }
  .medicalpop_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
  .medicalpop_wrap .photo {
    max-width: 430px;
  }
  .medicalpop_wrap .info h4 {
    font-size: 1.25rem;
    letter-spacing: 0.05em;
  }
  .medicalpop_wrap .info p {
    font-size: 1rem;
    letter-spacing: 0.05em;
  }
  #shigoto .post_body .busho_area dl.unit .unit_line {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  #senpai {
    margin-bottom: -120px;
  }
  #senpai .inner_conts > ul.intro {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .senpai_wrap .wrap_photo {
    aspect-ratio: 1200/550;
    margin-bottom: 80px;
  }
  .senpai_wrap .wrap_photo .name_box.name01 {
    left: auto;
    right: 40%;
    bottom: 15px;
  }
  .senpai_wrap .wrap_photo .name_box.name02 {
    left: 80%;
    bottom: 15px;
  }
  .senpai_wrap .senpai_intro {
    background-position: center 20px;
    margin-bottom: 120px;
  }
  .senpai_wrap .senpai_intro::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: white;
    height: 150px;
    z-index: -1;
  }
  .senpai_wrap .senpai_intro header {
    background: -webkit-gradient(
      linear,
      left top,
      left bottom,
      color-stop(50%, rgb(255, 255, 255)),
      color-stop(50%, #ededed),
      to(#ededed)
    );
    background: linear-gradient(
      180deg,
      rgb(255, 255, 255) 50%,
      #ededed 50%,
      #ededed 100%
    );
    width: 55%;
    margin: 0 auto 20px;
  }
  .senpai_wrap .senpai_intro .senpai_content {
    padding: 0 40px 40px;
  }
  .senpai_wrap .senpai_intro .senpai_content {
    padding: 0 80px 80px;
  }
  .senpai_wrap .senpai_intro .senpai_content h4.cmn_ttl {
    padding-bottom: 20px;
  }
  .senpai_wrap .senpai_intro .senpai_content p.cmn_txt {
    margin-bottom: 60px;
  }
  .senpai_wrap .senpai_intro .senpai_content .photo_area {
    margin: 50px 0;
  }
  .senpai_wrap .senpai_intro .schedule {
    padding: 40px;
  }
  .senpai_wrap .senpai_intro .schedule h3 {
    margin-bottom: 35px;
  }
  .senpai_wrap .senpai_intro .schedule .schedule_wrap {
    margin-bottom: 40px;
    font-size: 1.125rem;
  }
  .senpai_wrap .senpai_intro .schedule .schedule_wrap dl .dt_dd dt {
    width: 45px;
  }
  main.sustainability .stble_cmn {
    margin-bottom: 70px;
  }
  main.sustainability .stble_cmn header .header_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 30px;
  }
  main.sustainability .stble_cmn header h3 span {
    display: block;
    white-space: nowrap;
  }
  main.sustainability .stble_cmn header .icon_list {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: 0;
  }
  main.sustainability .stble_body {
    padding: 35px;
  }
  main.sustainability .stble_body h4 {
    font-size: 1.125rem;
  }
  main.sustainability .stble_body .photo_area .photo {
    -ms-flex-preferred-size: calc(33.3333% - 10px);
    flex-basis: calc(33.3333% - 10px);
  }
  main.sustainability .stble_body .photo_area .photo:only-child {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 600px;
    margin: auto;
  }
  main.compliance h3 {
    margin-bottom: 20px;
  }
  main.compliance .comp_block {
    margin: 60px 0;
  }
  main.compliance .comp_block h4 {
    margin-bottom: 15px;
    font-size: 1.375rem;
  }
  main.compliance .comp_block p {
    margin: 25px 0;
  }
  main.compliance .comp_block ul.marker li {
    margin-bottom: 10px;
  }
  main.compliance .comp_block a.detail::after {
    right: 15px;
  }
  main.compliance .comp_block a.detail {
    width: 180px;
    font-size: 1.125rem;
  }
  main.archive #info_wrap {
    margin-bottom: 80px;
  }
  main.archive #post_list {
    padding: 25px;
    padding-top: 60px;
  }
  main.archive #post_nav {
    padding: 25px;
    padding-top: 60px;
  }
  article.post .post_wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 0.7fr 30px 1.3fr;
    grid-template-columns: 0.7fr 1.3fr;
    gap: 30px;
  }
  article.post .post_area .post_date {
    font-size: 0.875rem;
  }
  article.post .post_area h2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin-bottom: 15px;
    overflow: hidden;
  }
  article.post .post_area .excerpt.cmn_txt {
    font-size: 0.875rem;
  }
}
@media (min-width: 600px) and (max-width: 959px) {
  body {
    width: 100%;
  }
  .nottab {
    display: none !important;
  }
}
@media (min-width: 960px) {
  body {
    width: 100%;
    font-size: 1.125rem;
  }
  .tabonly {
    display: none !important;
  }
  .mobonly {
    display: none !important;
  }
  .cmn_ttl {
    font-size: 1.875rem;
  }
  .ttl_small {
    font-size: 1.375rem;
  }
  .cmn_txt {
    font-size: 1.125rem;
  }
  .main_content .main_content_inner {
    width: 88%;
    max-width: initial;
    padding: 35px 35px 0;
  }
  #future .future_body,
  #quality .future_body,
  #company .future_body,
  #researchanddevelopment .future_body,
  #products,
  #heellancet .future_body {
    padding: 40px;
    font-size: 1rem;
  }
  .ttl_brown_box {
    font-size: 1.625rem;
  }
  a.movie_play::after {
    width: 100px;
    height: 100px;
  }
  a.popup::after {
    width: 60px;
    height: 60px;
  }
  .btn_basic {
    font-size: 1.125rem;
  }
  form.wpcf7-form .caution,
  form.wpcf7-form .wpcf7-not-valid-tip {
    font-size: 0.875rem;
  }
  .home header#global {
    padding: 35px 0;
    padding-left: 35px;
  }
  header#global {
    padding: 35px;
  }
  header#global #header_wrap #header_nav_area {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: 66%;
  }
  header#global #header_wrap #header_nav_area > ul li {
    font-size: 1rem;
  }
  header#global #header_wrap #logo_area .logotype img {
    display: block;
    max-width: unset !important;
    height: 50px !important;
    margin-top: -13px !important;
    margin-left: -120px;
}
  #common_footer .footer_upper {
    margin-bottom: 220px;
  }
  #common_footer .footer_upper .gnavi {
    width: 92%;
    max-width: initial;
    padding: 30px 20px;
    padding-right: 60px;
  }
  #common_footer .footer_lower .ft_info .logotype {
    width: 350px;
  }
  #common_footer .footer_lower .ft_info h2 {
    font-size: 1.875rem;
  }
  #common_footer .footer_lower .ft_info dl.company_info {
    padding: 0;
    font-size: 1rem;
  }
  #common_footer .footer_lower .ft_info .copy {
    font-size: 0.875rem;
  }
  #common_footer.naviless {
    margin-top: -150px;
    padding-top: 220px;
  }
  #ft_page_navi {
    width: 87.5%;
    max-width: 1400px;
  }
  #ft_page_navi .ft_page_navi_ttl {
    -ms-flex-preferred-size: 250px;
    flex-basis: 250px;
  }
  #ft_page_navi .ft_page_navi_ttl .page_icon .icon_wrap {
    width: 60px;
    height: 60px;
  }
  #ft_page_navi .ft_page_navi_ttl .eng_ttl {
    font-size: clamp(1.875rem, 2.8vw, 2.5rem);
  }
  #ft_page_navi .ft_page_navi_inner {
    padding: 30px;
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor li {
    margin-bottom: 0;
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor li a {
    font-size: clamp(0.8125rem, 1.2vw, 1rem);
  }
  body:not(.home) #common_footer #ft_page_navi {
    padding-left: 0;
  }
  .navi_block > ul.parent_list {
    letter-spacing: 0.05em;
  }
  .navi_block > ul.parent_list li {
    font-size: 1.125rem;
  }
  #gijutsu_area .gijutsu h2,
  #aboutus_area .gijutsu h2 {
    letter-spacing: 0.05em;
    text-indent: 0.05em;
  }
  #gijutsu_area .gijutsu_txt,
  #aboutus_area .gijutsu_txt {
    font-size: clamp(2.25rem, 3.9vw, 2.5rem);
  }
  .front_contents {
    margin-bottom: 100px;
  }
  .front_contents .front_conts_box_top .front_contents_ph {
    width: 75%;
  }
  .front_contents .front_conts_box_top .front_conts_box {
    left: 0;
    right: 0;
    width: 430px;
    max-width: initial;
    margin-left: 24%;
    -webkit-transform: translate(-50%, 50px);
    transform: translate(-50%, 50px);
  }
  .front_contents .front_contents_ph {
    width: 75%;
    min-height: 400px;
    aspect-ratio: 1200/400;
  }
  .front_contents .front_conts_box_bottom .front_conts_box_bottom_txt {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 50px;
    padding-left: 40px;
    padding-right: 30px;
  }
  .front_contents .front_conts_box_bottom h3 {
    font-size: 2.8125rem;
    letter-spacing: 0.05em;
  }
  .front_contents .front_conts_box_bottom p {
    font-size: 1.25rem;
  }
  .front_contents .front_conts_box_bottom .front_conts_box_bottom_ph {
    width: calc(24% + 215px);
    aspect-ratio: 600/500;
  }
  .front_conts_box {
    width: 400px;
  }
  .front_conts_box h2 {
    font-size: 2.375rem;
  }
  #front_intro.with_sidebar {
    padding: 0;
  }
  #front_intro .intro_hero {
    padding-right: 60px;
  }
  #front_intro .intro_hero .bg_photo {
    aspect-ratio: 880/800;
  }
  #front_intro .intro_hero .intro_box > h2 {
    font-size: 1.625rem;
  }
  #front_intro .intro_hero .intro_box > h3 {
    font-size: 2.25rem;
  }
  #front_intro .intro_hero .intro_box > h3::before {
    width: 60px;
    height: 42px;
  }
  #front_intro .intro_hero .intro_box .staff_list .staff_icon .vol {
    font-size: 1rem;
  }
  #front_intro .intro_hero .intro_box .staff_list .staff_icon .num {
    font-size: 1.75rem;
  }
  #front_intro .intro_hero .intro_box .intro_company li {
    padding: 20px 0;
    font-size: 1.125rem;
  }
  #sdgs_area.with_sidebar {
    width: 100%;
    padding: 0;
    margin: auto;
    margin-bottom: 200px;
  }
  #sdgs_area .sdgsbanner {
    margin-right: 60px;
  }
  #page_hero {
    margin-bottom: 100px;
  }
  #page_hero .thumbnail_area picture {
    position: relative;
    aspect-ratio: auto;
    height: 350px;
  }
  #page_hero .thumbnail_area picture {
    height: 400px;
  }
  #page_hero .title_area {
    max-width: initial;
    width: 300px;
    height: 110px;
  }
  #page_hero .title_area .eng_ttl {
    font-size: 1.875rem;
  }
  #page_hero .title_area .eng_ttl.ttl_2line {
    font-size: 1.75rem;
  }
  #page_hero .title_area h1.pages {
    font-size: 1.125rem;
  }
  main.page {
    margin-bottom: 150px;
  }
  .field {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 100px;
  }
  .field:nth-child(even) {
  }
  .field:nth-child(even) .field_photo {
  }
  .field:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .field:nth-child(odd) .field_photo {
  }
  .field .field_photo {
    -ms-flex-preferred-size: 64%;
    flex-basis: 60%;
  }
  .field .field_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-preferred-size: 48%;
    flex-basis: 40%;
    margin: 0;
    padding: 40px;
    font-size: 0.9375rem;
    line-height: 2.5;
    justify-content: center;
  }
  .field .field_body h3 {
    font-size: 1.875rem;
    margin-bottom: 1.5em;
    line-height: 1.2;
  }
  .field .field_body p {
    font-size: 1.125rem;
  }
  .link_page > p {
    margin-bottom: 80px;
    font-size: clamp(1.25rem, 2vw, 2rem);
  }
  .link_page .banners li {
    margin-bottom: 50px;
  }
  .link_page .banners .banner_unit {
    -ms-grid-columns: 30% 1fr;
    grid-template-columns: 30% 1fr;
  }
  .link_page .banners .banner_unit h2 {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 25px 20px;
    font-size: 1rem;
    border-left: 3px solid #fb9f00;
  }
  .link_page .banners .banner_unit h2 .icon {
    margin-bottom: 0;
  }
  .link_page .banners .banner_unit h2 .nicename {
    margin-bottom: 0;
    font-size: 1.5rem;
  }
  .link_page .banners .banner_unit h2.ttl_company .icon {
    height: 45px;
  }
  .link_page .banners .banner_unit h2.ttl_message .icon {
    width: 55px;
  }
  .link_page .banners .banner_unit h2.ttl_medical .icon {
    height: 45px;
  }
  .link_page .banners .banner_unit h2.ttl_sustainability .icon {
    height: 45px;
  }
  .link_page .banners .banner_unit h2.ttl_technology .icon {
    height: 45px;
  }
  .link_page .banners .banner_unit h2.ttl_equipment .icon {
    height: 45px;
  }
  .link_page .banners .banner_unit .banner_area a::before {
    right: 30px;
    width: 40px;
    height: 40px;
    border: 6px solid white;
  }
  .link_page .banners .banner_unit .banner_area a::after {
    right: 47px;
    width: 10px;
    height: 10px;
    border-right: 2px solid white;
    border-bottom: 2px solid white;
  }
  main.company #greeting h2 {
    font-size: 2.125rem;
    margin-bottom: 1em;
  }
  main.company #greeting .boss {
    margin-top: 50px;
  }
  main.company #yakuin .post_body {
    width: 88%;
  }
  main.company #yakuin dl.yakuin {
    padding: 40px 0 20px;
  }
  main.company #yakuin dl.yakuin .dl_inner {
    max-width: 600px;
    margin: auto;
  }
  main.company #yakuin dl.yakuin dt {
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 1.25rem;
  }
  main.company #yakuin dl.yakuin dd {
    padding-top: 12px;
    padding-bottom: 12px;
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
    font-size: 1.75rem;
  }
  main.company #about .post_body {
    width: 88%;
  }
  main.company #about dl.about {
    font-size: 1.125rem;
  }
  main.company #about .caption {
    font-size: 1.125rem;
  }
  main.company #about .caption a {
    padding: 10px 20px 10px 15px;
  }
  main.company #yurai .post_body {
    width: 88%;
    padding: 75px 35px;
  }
  main.company #yurai p {
    max-width: 640px;
    margin: auto;
  }
  main.company #enkaku .post_body {
    width: 88%;
  }
  main.company #enkaku .enkaku_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 25px;
  }
  main.company #enkaku dl.enkaku {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-bottom: 0;
    letter-spacing: 0.05em;
  }
  main.company #enkaku dl.enkaku .dl_inner {
    height: 100%;
    font-size: clamp(1rem, 1.4vw, 1.125rem);
    border-top: 1px solid #707070;
    border-bottom: none;
  }
  main.company #enkaku dl.enkaku .dl_inner:first-of-type {
    border-top: none;
  }
  main.company #enkaku dl.enkaku .dl_inner:last-of-type {
    border-top: 1px solid #707070;
  }
  main.company #enkaku ul.enkaku_photo_list {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: 34%;
    flex-basis: 34%;
  }
  main.company #enkaku ul.enkaku_photo_list li {
    margin-bottom: 25px;
  }
  .map_area {
    aspect-ratio: 2/1;
  }
  main.company #kogaisya p {
    padding: 55px 20px;
    font-size: 1.125rem;
    line-height: 2;
  }
  main.company #kanren .post_body {
    width: 88%;
    padding-top: 80px;
    padding-bottom: 50px;
  }
  main.company #kanren dl.kaisya {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
    font-size: 1.125rem;
  }
  main.company #kanren dl.kaisya dd {
    text-indent: 1em;
  }
  main.company #compliance .post_body {
    width: 88%;
    padding-top: 90px;
    padding-bottom: 90px;
  }
  #bunya .diagram {
    margin-bottom: 90px;
  }
  #bunya .post_body {
    max-width: 1000px;
    margin: 0 auto 140px;
    padding: 80px 50px 60px;
  }
  .field#industrial_field .field_photo .business03_parts {
    bottom: -50px;
    right: 50px;
    width: 31%;
  }
  #future .future_body,
  #quality .future_body,
  #company .future_body,
  #researchanddevelopment .future_body,
  #products,
  #heellancet .future_body {
    font-size: 1.125rem;
  }
  main.medical_field #medical_field ul.medical_products li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    margin-bottom: 65px;
  }
  main.medical_field #medical_field ul.medical_products li .photo {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 0;
  }
  main.medical_field #medical_field ul.medical_products li .body h3 {
    margin-bottom: 20px;
    font-size: 1.75rem;
    line-height: 1.3;
  }
  main.products_field .products_field ul.products_products li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    margin-bottom: 130px;
  }
  main.products_field .products_field ul.products_products li .photo {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 0;
  }
  main.products_field .products_field ul.products_products li .body h3 {
    margin-bottom: 20px;
    font-size: 1.75rem;
    line-height: 1.3;
  }
  main.products_field .products_field ul.products_products li .body p {
    margin-bottom: 45px;
  }
  body.products_field #seimitsu_slider {
    margin-bottom: 60px;
  }
  body.products_field #seimitsu_slider_thumb {
    margin-bottom: 60px;
  }
  body.products_field #seimitsu_slider_thumb ul.splide__list {
    margin-right: -20px !important;
  }
  body.products_field .koremade h3 {
    font-size: 1.375rem;
  }
  body.products_field .koremade .seikei_wrap ul {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
    font-size: clamp(1.125rem, 1.6vw, 1.25rem);
  }
  body.products_field .koremade .seikei_wrap ul::after {
    left: 33.3%;
    right: auto;
  }
  main.technology #kaihatsu .kaihatsu_body {
    max-width: 1000px;
    margin: 0 auto 100px;
    padding: 80px;
    font-size: 1.25rem;
    letter-spacing: 0.05em;
  }
  main.technology .setsubi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 100px;
  }
  main.technology .setsubi:nth-child(even) {
    margin-left: -25px;
  }
  main.technology .setsubi:nth-child(even) .setsubi_photo {
    -webkit-transform: translate(25px, -50px);
    transform: translate(25px, -50px);
  }
  main.technology .setsubi:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-right: -25px;
  }
  main.technology .setsubi:nth-child(odd) .setsubi_photo {
    -webkit-transform: translate(-25px, -50px);
    transform: translate(-25px, -50px);
  }
  main.technology .setsubi .setsubi_photo {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
  }
  main.technology .setsubi .setsubi_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    margin: 0;
    font-size: 0.9375rem;
    line-height: 2.5;
  }
  main.technology .setsubi .setsubi_body h3 {
    font-size: 1.875rem;
    margin-bottom: 1.5em;
  }
  main.technology .setsubi .setsubi_body p {
    font-size: 1.25rem;
    letter-spacing: 0.05em;
  }
  main.technology .setsubi .setsubi_body ul.material {
    margin-right: -5px;
    font-size: 1.125rem;
  }
  main.technology #intro .setsubi_unit {
    margin-bottom: 50px;
    padding-bottom: 50px;
  }
  main.technology #intro .setsubi_unit .setsubi_body {
    font-size: 1.125rem;
  }
  main.technology #intro .setsubi_unit.column {
    gap: 40px;
  }
  main.technology #intro .setsubi_unit.column .setsubi_photo {
    -ms-flex-preferred-size: calc(49% - 20px);
    flex-basis: calc(49% - 20px);
    margin-bottom: 0;
  }
  main.technology #intro .setsubi_unit.column .setsubi_info {
    -ms-flex-preferred-size: calc(51% - 20px);
    flex-basis: calc(51% - 20px);
  }
  main.technology #intro .setsubi_unit + .setubi_table {
    margin-top: 100px;
  }
  main.technology #intro .setubi_table table caption {
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    margin-bottom: 1.5em;
  }
  #medicaldialog_wrap .forMedical h2 {
    font-size: 1.875rem;
  }
  main.medical #page_hero .title_area h1.pages {
    font-size: 1rem;
  }
  main.medical #aps_medical {
    margin-bottom: 100px;
  }
  main.medical #aps_medical h2.ttl_bg-brown {
    height: calc(1em + 1.625rem);
    margin: -29.9px 0;
    font-size: 1.625rem;
  }
  main.medical #aps_medical .aps_medical_body {
    padding: 80px;
  }
  main.medical #kanwa_field.field h3 {
    margin: 0 -0.5em 1.5em;
  }
  main.medical #kanwa_field.field h3 span {
    display: inline-block;
  }
  main.medical #taisei {
    margin-bottom: 100px;
  }
  main.medical #taisei table {
    font-size: 1.125rem;
    letter-spacing: 0.05em;
  }
  main.medical #taisei table tr td {
    padding: 15px;
  }
  main.medical #taisei table tr td:nth-child(2) {
    border-right-width: 20px;
  }
  main.medical #koutei {
    margin-bottom: 100px;
  }
  main.medical #koutei .koutei_group {
    max-width: 1000px;
    margin: auto;
  }
  main.medical #koutei .koutei_group::after {
    content: "";
    display: block;
    clear: both;
  }
  main.medical #koutei .koutei_group h3 {
    float: left;
    width: 200px;
    margin-right: -200px;
    font-size: 1.625rem;
  }
  main.medical #koutei .koutei_group .unit {
    float: right;
    padding-left: 230px;
    margin-bottom: 100px;
  }
  main.medical #koutei .koutei_group .unit_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  main.medical #koutei .koutei_group .unit_info h4 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 1.25rem;
    border: none;
  }
  main.medical #koutei .koutei_group .unit_info p {
    -ms-flex-negative: 1;
    flex-shrink: 1;
    min-height: 140px;
    padding-left: 30px;
    border-left: 1px solid #fb9f00;
  }
  main.medical #koutei .koutei_group .unit_movie + .unit_info {
    margin-top: 100px;
  }
  main.medical #koutei .koutei_group .unit_movie .movie_wrap {
    padding: 25px;
  }
  main.medical #ishiki {
    margin-bottom: 200px;
  }
  main.medical #ishiki h2.ttl_bg-brown {
    height: calc(1em + 1.625rem);
    margin: -29.9px 0;
    font-size: 1.625rem;
  }
  main.medical #ishiki .ishiki_body {
    margin-bottom: 80px;
    padding: 80px;
    font-size: 1.125rem;
  }
  main.medical #ishiki h3 {
    font-size: 1.25rem;
  }
  main.medical #ishiki .table_wrap table {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
  }
  main.medical #ishiki .table_wrap table th,
  main.medical #ishiki .table_wrap table td {
    padding: 15px;
  }
  main.medical #shyukka {
    margin-bottom: 120px;
  }
  main.medical #shyukka h2.ttl_bg-brown {
    height: calc(1em + 1.625rem);
    margin: -29.9px 0;
    font-size: 1.625rem;
  }
  main.medical #shyukka .shyukka_body {
    margin-bottom: 100px;
    padding: 80px;
  }
  .medicalpop_wrap {
    max-width: 960px;
    gap: 30px;
  }
  .medicalpop_wrap .info h4 {
    font-size: clamp(1.75rem, 2.2vw, 2.25rem);
  }
  #shigoto .post_body {
    padding-top: 80px;
  }
  #shigoto .post_body .chart {
    margin-bottom: 80px;
    padding: 40px;
  }
  #shigoto .post_body .busho_main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    gap: 20px;
  }
  #shigoto .post_body .busho_area {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  #shigoto .post_body .photo_area {
    -ms-flex-preferred-size: calc(44% - 10px);
    flex-basis: calc(44% - 10px);
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
  #shigoto .post_body .photo_area .photo {
    margin-bottom: 75px;
  }
  #senpai {
    margin-bottom: -150px;
  }
  #senpai .inner_conts > ul.intro li h3 {
    width: 35%;
  }
  #senpai .inner_conts > ul.intro li h3 .vol {
    font-size: clamp(1.5rem, 2vw, 1.625rem);
  }
  #senpai .inner_conts > ul.intro li h3 .num {
    font-size: clamp(3.125rem, 6.25vw, 5rem);
  }
  .senpai_wrap h2 {
    width: 180px;
    font-size: 1.25rem;
  }
  .senpai_wrap h2::before {
    width: 50px;
  }
  .senpai_wrap .wrap_photo {
    margin-bottom: 180px;
  }
  .senpai_wrap .wrap_photo .name_box.name01 {
    bottom: 20px;
  }
  .senpai_wrap .wrap_photo .name_box.name02 {
    bottom: 20px;
  }
  .senpai_wrap .senpai_intro {
    margin-bottom: 150px;
  }
  .senpai_wrap .senpai_intro header {
    margin-bottom: 50px;
  }
  .senpai_wrap .senpai_intro header h3 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0;
    background-color: transparent;
    max-width: 400px;
    padding: 15px 20px;
  }
  .senpai_wrap .senpai_intro header h3 .name_left {
    position: relative;
    padding-right: 20px;
  }
  .senpai_wrap .senpai_intro header h3 .name_left::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: 0;
    width: 1px;
    height: 80%;
    margin: auto;
    border-left: 1px solid #fff;
  }
  .senpai_wrap .senpai_intro header h3 .name_left .name {
    font-size: clamp(1.875rem, 3.1vw, 2.5rem);
  }
  .senpai_wrap .senpai_intro header h3 .name_left .name rp,
  .senpai_wrap .senpai_intro header h3 .name_left .name rt {
    font-size: 0.75rem;
  }
  .senpai_wrap .senpai_intro header h3 .name_right {
    padding-left: 20px;
    font-size: clamp(0.875rem, 1.4vw, 1rem);
  }
  .senpai_wrap .senpai_intro header h3 .name_right::before {
    display: none;
  }
  .senpai_wrap .senpai_intro header h3 .caption {
    bottom: calc((25px + 0.3em) * -1);
  }
  .senpai_wrap .senpai_intro .senpai_content h4.cmn_ttl {
    margin-bottom: 40px;
    padding-bottom: 30px;
  }
  .senpai_wrap .senpai_intro .senpai_content p.cmn_txt {
    margin-bottom: 120px;
  }
  .senpai_wrap .senpai_intro .senpai_content .photo_area {
    margin: 100px 0;
  }
  .senpai_wrap .senpai_intro .schedule {
    padding: 80px;
  }
  .senpai_wrap .senpai_intro .schedule h3 {
    margin-bottom: 50px;
  }
  .senpai_wrap .senpai_intro .schedule .schedule_wrap {
    margin-bottom: 80px;
    font-size: 1.25rem;
  }
  .senpai_wrap .senpai_intro .schedule .schedule_wrap dl .dt_dd dt {
    width: 60px;
  }
  .senpai_wrap .senpai_intro .schedule .schedule_wrap dl .dt_dd dd {
    gap: 20px;
  }
  main.sustainability #stble_top .post_body {
    padding-top: 80px;
  }
  main.sustainability #stble_top .post_body .sdgs_logo {
    margin-bottom: 0;
  }
  main.sustainability .stble_cmn {
    margin-bottom: 80px;
  }
  main.sustainability .stble_cmn header .icon_list li {
    -ms-flex-preferred-size: 70px;
    flex-basis: 70px;
  }
  main.sustainability .stble_body h4 {
    font-size: 1.25rem;
  }
  #privacypolicy .cmn_txt {
    font-size: 1rem;
  }
  #privacypolicy p.lead {
    font-size: 1.125rem;
  }
  main.compliance h3 {
    margin-bottom: 30px;
  }
  main.compliance .comp_block h4 {
    font-size: 1.5rem;
  }
  main.compliance .comp_block ul.iso li {
    -ms-flex-preferred-size: 170px;
    flex-basis: 170px;
  }
  main.compliance .comp_block ul.marker li {
    font-size: 1.25rem;
  }
  main.compliance .comp_block a.detail {
    width: 230px;
    font-size: 1.25rem;
  }
  main.archive #info_wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1.3fr 0.7fr;
    grid-template-columns: 1.3fr 0.7fr;
  }
  main.archive #post_list {
    padding: 40px;
    padding-top: 70px;
  }
  main.archive #post_nav {
    padding: 40px;
    padding-top: 70px;
  }
  main.archive #archive_year #archive_navi li.list_year {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #d5d5d5;
  }
}
@media (min-width: 1090px) {
  body {
    width: 100%;
  }
  .pcmidover {
    display: block !important;
  }
  #common_footer .gnavi {
    gap: 30px 0;
    max-width: 1440px;
    margin: auto;
  }
  #common_footer .navi_block {
    -ms-flex-preferred-size: 33.3333333333%;
    flex-basis: 33.3333333333%;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 30px;
  }
  #common_footer .navi_block:nth-child(even)::before {
    display: block;
  }
  #common_footer .navi_block:nth-child(3n):not(.width_4-1) {
    padding-right: 0;
  }
  #common_footer .navi_block:nth-child(3n):not(.width_4-1)::before {
    display: none;
  }
  #common_footer .navi_block::before {
    right: 30px;
  }
  #common_footer .navi_block::after {
    content: "";
    width: 100%;
    height: 1px;
    margin: auto;
    border-bottom: solid 1px #fff;
  }
  #common_footer .navi_block:nth-child(n + 4)::after {
    display: none;
  }
  #common_footer .navi_block.width_4-1 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
  }
  #common_footer .navi_block > h2 {
    font-size: clamp(1.125rem, 1.2vw, 1.25rem);
  }
  #common_footer .navi_block ul.parent_list li a {
    display: block;
    max-width: 85%;
  }
  main.company #enkaku .enkaku_wrap {
    gap: 30px;
  }
}
@media (max-width: 959px) {
  body {
    width: 100%;
  }
  .pconly {
    display: none !important;
  }
}
@media (max-width: 1279px) {
  body {
    width: 100%;
  }
  .pcwonly {
    display: none !important;
  }
}
@media (min-width: 1280px) {
  body {
    width: 100%;
  }
  .cmn_ttl {
    font-size: 2rem;
  }
  .ttl_small {
    font-size: 1.625rem;
  }
  .main_content .main_content_inner {
    width: 87.5%;
    max-width: 1400px;
    padding: 40px 40px 0;
  }
  .home header#global {
    padding: 0px;
  }
  header#global {
    padding: 40px;
  }
  header#global #header_wrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 87.5%;
    max-width: 1400px;
  }
  header#global #header_wrap #header_nav_area {
    max-width: 750px;
    width: 62%;
  }
  #common_footer .footer_upper .gnavi {
    max-width: 1400px;
    padding: 45px 0;
  }
  #ft_page_navi .ft_page_navi_ttl {
    -ms-flex-preferred-size: 300px;
    flex-basis: 300px;
  }
  #ft_page_navi .ft_page_navi_inner {
    padding: 40px;
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor {
    gap: 20px;
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor::after {
    content: "";
    display: block;
    height: 1px;
    -ms-flex-preferred-size: calc(33% - 15px);
    flex-basis: calc(33% - 15px);
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor li {
    -ms-flex-preferred-size: calc(33% - 15px);
    flex-basis: calc(33% - 15px);
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor li a {
    font-size: clamp(1rem, 1.2vw, 1.25rem);
  }
  .navi_block > ul.parent_list {
    letter-spacing: 0.05em;
  }
  .front_contents .front_conts_box_bottom {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .front_contents .front_conts_box_bottom p {
    margin-bottom: 0;
  }
  #front_intro .intro_hero {
    padding-right: 0;
  }
  #front_intro .intro_hero .bg_photo {
    aspect-ratio: initial;
    height: 800px;
  }
  #front_intro .intro_hero .bg_photo img {
    -o-object-position: 0;
    object-position: 0;
  }
  #front_intro .intro_hero .img_txt {
    max-width: 500px;
    margin: auto 70px 70px auto;
  }
  #front_intro .intro_hero .intro_box {
    margin: 50px;
  }
  #front_intro .intro_hero .intro_box.with_sidebar {
    padding: 0;
  }
  #sdgs_area .sdgsbanner {
    background-position: center 38%;
    margin-right: 0;
    aspect-ratio: 1500/360;
  }
  #page_hero {
    max-width: 1400px;
    margin: 0 auto 110px;
  }
  #page_hero .title_area {
    width: 400px;
    height: 110px;
  }
  main.page {
    margin-bottom: 200px;
  }
  .post_body {
    padding: 80px;
  }
  .field {
    margin-bottom: 150px;
  }
  .field .field_body {
    padding: 40px 70px;
    font-size: 1rem;
  }
  .field .field_body h3 {
    font-size: 1.875rem;
  }
  .link_page > p {
    margin-bottom: 100px;
  }
  .link_page .banners .banner_unit {
    -ms-grid-columns: 28% 1fr;
    grid-template-columns: 28% 1fr;
  }
  .link_page .banners .banner_unit h2 {
    padding: 30px 20px;
  }
  .link_page .banners .banner_unit h2 {
    padding: 45px 20px;
  }
  .link_page .banners .banner_unit h2 .nicename {
    font-size: clamp(1.75rem, 2vw, 2rem);
  }
  .link_page .banners .banner_unit h2.ttl_company .icon {
    height: 60px;
  }
  .link_page .banners .banner_unit h2.ttl_message .icon {
    width: 76px;
  }
  .link_page .banners .banner_unit h2.ttl_medical .icon {
    height: 60px;
  }
  .link_page .banners .banner_unit h2.ttl_sustainability .icon {
    height: 60px;
  }
  .link_page .banners .banner_unit h2.ttl_technology .icon {
    height: 60px;
  }
  .link_page .banners .banner_unit h2.ttl_equipment .icon {
    height: 60px;
  }
  .link_page .banners .bnr_txt {
    font-size: 1.125rem;
  }
  main.company #greeting h2 {
    font-size: 2.375rem;
  }
  main.company #greeting .boss .prof .shoulder {
    font-size: 1.25rem;
  }
  main.company #greeting .boss .prof .name {
    font-size: 1.875rem;
  }
  main.company #yakuin dl.yakuin {
    padding: 0;
  }
  main.company #yurai .post_body {
    padding: 80px 35px;
  }
  main.company #enkaku {
    margin-bottom: 200px;
  }
  main.company #enkaku .enkaku_wrap {
    gap: 50px;
  }
  main.company #kogaisya .post_body {
    margin-bottom: 140px;
  }
  main.company #compliance .post_body {
    margin-bottom: 120px;
  }
  #bunya .post_body {
    margin-bottom: 160px;
  }
  .field#industrial_field .field_photo .business03_parts {
    bottom: -80px;
    right: 60px;
  }
  main.medical_field #medical_field .medical_field_body {
    margin-bottom: 200px;
  }
  main.medical_field #medical_field ul.medical_products li {
    gap: 50px;
  }
  main.medical_field #medical_field ul.medical_products li .body h3 {
    font-size: 1.875rem;
  }
  main.products_field .products_field .field_body {
    margin-bottom: 200px;
  }
  main.products_field .products_field ul.products_products li {
    gap: 50px;
  }
  main.products_field .products_field ul.products_products li .body h3 {
    font-size: 1.875rem;
  }
  body.products_field #seimitsu_slider {
    margin-bottom: 60px;
  }
  body.products_field #seimitsu_slider_thumb {
    margin-bottom: 80px;
  }
  main.technology #kaihatsu .kaihatsu_body {
    margin: 0 auto 150px;
  }
  main.technology .setsubi {
    margin-bottom: 150px;
  }
  main.technology .setsubi .setsubi_body {
    padding: 40px 70px 60px;
    font-size: 1rem;
  }
  main.technology .setsubi .setsubi_body h3 {
    font-size: 2rem;
  }
  main.technology #intro .setsubi_unit .setsubi_body {
    font-size: 1.25rem;
  }
  main.technology #intro .setsubi_unit + .setubi_table {
    margin-top: 150px;
  }
  main.technology #intro .setubi_table table caption {
    font-size: 1.875rem;
  }
  #medicaldialog_wrap .forMedical .choice button {
    font-size: 1.875rem;
  }
  main.medical #page_hero .title_area h1.pages {
    font-size: 1.125rem;
  }
  main.medical #aps_medical {
    margin-bottom: 150px;
  }
  main.medical #kanwa_field.field h3 {
    letter-spacing: 0em;
    text-indent: 0em;
  }
  main.medical #taisei {
    margin-bottom: 150px;
  }
  main.medical #taisei table {
    font-size: 1.25rem;
  }
  main.medical #koutei h2 + p {
    margin-bottom: 100px;
  }
  main.medical #koutei .koutei_group h3 {
    width: 227px;
    margin-right: -227px;
    font-size: 1.875rem;
  }
  main.medical #koutei .koutei_group h3 + .unit {
    padding-top: 90px;
  }
  main.medical #koutei .koutei_group .unit {
    padding-left: 270px;
  }
  main.medical #koutei .koutei_group .unit_info h4 {
    font-size: 1.625rem;
  }
  main.medical #koutei .koutei_group .unit_movie .movie_wrap {
    padding: 30px;
  }
  main.medical #ishiki {
    margin-bottom: 300px;
  }
  main.medical #ishiki .table_wrap table {
    font-size: 1rem;
  }
  main.medical #ishiki .table_wrap table th,
  main.medical #ishiki .table_wrap table td {
    padding: 15px 30px;
  }
  main.medical #shyukka {
    margin-bottom: 180px;
  }
  main.medical #shyukka .shyukka_body {
    margin-bottom: 150px;
  }
  main.medical #shyukka .shyukka_body ul {
    font-size: 1.25rem;
    line-height: 2;
  }
  .medicalpop_wrap {
    max-width: 1200px;
    gap: 40px;
  }
  #shigoto .post_body .chart {
    margin-bottom: 100px;
    padding: 50px;
  }
  #shigoto .post_body .busho_main {
    gap: 40px;
  }
  #shigoto .post_body .busho_area dl.unit .unit_line dd.uni_conts {
    font-size: 1.125rem;
  }
  #senpai {
    margin-bottom: -200px;
  }
  .senpai_wrap .senpai_intro {
    margin-bottom: 200px;
  }
  .senpai_wrap .senpai_intro header h3 {
    padding: 15px 30px;
  }
  .senpai_wrap .senpai_intro header h3 .name_left {
    padding-right: 30px;
  }
  .senpai_wrap .senpai_intro header h3 .name_right {
    padding-left: 30px;
  }
  .senpai_wrap .senpai_intro .senpai_content p.cmn_txt {
    font-size: 1.125rem;
  }
  .senpai_wrap .senpai_intro .schedule .schedule_wrap {
    margin-bottom: 120px;
    font-size: 1.5rem;
  }
  .senpai_wrap .senpai_intro .schedule .schedule_wrap dl .dt_dd dt {
    width: 75px;
  }
  .senpai_wrap .senpai_intro .schedule .schedule_wrap dl .dt_dd dd {
    gap: 30px;
  }
  main.sustainability .stble_cmn {
    margin-bottom: 100px;
  }
  main.sustainability .stble_cmn header .icon_list li {
    -ms-flex-preferred-size: 100px;
    flex-basis: 100px;
  }
  main.sustainability .stble_body {
    padding: 80px;
  }
  main.sustainability .stble_body h4 {
    font-size: 1.5rem;
  }
  main.compliance h3 {
    font-size: 1.875rem;
  }
  main.archive #post_list {
    padding: 50px;
    padding-top: 80px;
  }
  main.archive #post_nav {
    padding: 50px;
    padding-top: 80px;
  }
}
@media screen and (max-width: 340px) {
  .notip5 {
    display: none !important;
  }
}
@media screen and (min-width: 340px) {
  .ip5only {
    display: none !important;
  }
}
@media (min-width: 1560px) {
  .main_content .main_content_inner {
    width: 100%;
  }
  .home header#global {
    max-width: 1400px;
    margin: auto;
  }
  header#global {
    max-width: 1400px;
    margin: auto;
  }
  header#global #header_wrap {
    width: 100%;
    max-width: 1400px;
  }
  #common_footer .footer_upper .gnavi {
    width: 100%;
  }
  #ft_page_navi .ft_page_navi_inner {
    padding: 50px;
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor {
    gap: 20px 50px;
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor::after {
    -ms-flex-preferred-size: calc(33% - 36px);
    flex-basis: calc(33% - 36px);
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor li {
    -ms-flex-preferred-size: calc(33% - 36px);
    flex-basis: calc(33% - 36px);
  }
  #common_footer .navi_block:nth-child(3):not(.width_4-1)::before {
    display: block;
  }
  #common_footer .navi_block:nth-child(4)::before,
  #common_footer .navi_block:nth-child(7)::before {
    display: none;
  }
  #common_footer .navi_block:nth-child(-n + 4) {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
  }
  #common_footer .navi_block:nth-child(-n + 4)::after {
    display: block;
  }
  #common_footer .navi_block:nth-child(n + 5) {
    -ms-flex-preferred-size: 33.3333333333%;
    flex-basis: 33.3333333333%;
  }
  #common_footer .navi_block:nth-child(n + 5)::after {
    display: none;
  }
  .link_page > p {
    margin-bottom: 120px;
  }
  .link_page .banners .banner_unit {
    -ms-grid-columns: 300px 1fr;
    grid-template-columns: 300px 1fr;
  }
  .link_page .banners .bnr_txt {
    font-size: 1.25rem;
  }
  main.medical #kanwa_field.field h3 {
    letter-spacing: 0.05em;
    text-indent: 0.05em;
  }
  #shigoto .post_body {
    padding: 80px 60px;
  }
  #shigoto .post_body .chart {
    margin-bottom: 120px;
    padding: 60px;
  }
  #shigoto .post_body .busho_main {
    gap: 70px;
  }
  main.sustainability #stble_top .post_body {
    padding: 80px 60px;
  }
  #privacypolicy p.lead {
    font-size: 1.25rem;
  }
  main.archive #post_list {
    padding: 80px;
    padding-top: 90px;
  }
  main.archive #post_nav {
    padding: 80px;
    padding-top: 90px;
  }
}
@media (hover: hover) {
  a.movie_play:hover::after {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .btn_gray_arrow:hover {
    background-color: #bdbdbd;
  }
  .pagination .wp-pagenavi a.page:hover {
    background-color: #b2b2b2;
    color: #fff;
  }
  .pagination .wp-pagenavi .nextpostslink:hover,
  .pagination .wp-pagenavi .previouspostslink:hover {
    background-color: #ffbc49;
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor li a:hover {
    color: #888888;
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor li a:hover::after {
    border-right-color: #888888;
    border-bottom-color: #888888;
    -webkit-transform: rotate(-135deg) translateY(-5px);
    transform: rotate(-135deg) translateY(-5px);
  }
  #sidebar #menu_btn_area button:hover {
    background-color: #ffb32f;
  }
  #sidebar #contact_btn_area button:hover {
    background-color: #c87f00;
  }
  .navi_block > h2 a:hover {
    text-decoration: underline;
  }
  .navi_block > ul.parent_list a:hover::before {
    width: 100%;
  }
  .link_page .banners .banner_unit .banner_area a:hover::before {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
  .link_page .banners .banner_unit .banner_area a:hover::after {
    -webkit-transform: translateX(10px) rotate(-45deg);
    transform: translateX(10px) rotate(-45deg);
  }
  .link_page .banners .banner_unit .banner_area a:hover img {
    opacity: 0.7;
  }
  main.company #about .caption a:hover {
    background-color: #e0e0e0;
  }
  main.compliance .comp_block a.detail:hover {
    background-color: #e0e0e0;
  }
  main.archive #saishin #newest_navi li a:hover .under_line {
    background-size: 100% 1px;
  }
  article.post .post_area h2 a:hover .under_line {
    background-size: 100% 1px;
  }
}
@media (hover: none) {
  a.movie_play:active::after {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .btn_gray_arrow:active {
    background-color: #bdbdbd;
  }
  .pagination .wp-pagenavi a.page:active {
    background-color: #b2b2b2;
    color: #fff;
  }
  .pagination .wp-pagenavi .nextpostslink:active,
  .pagination .wp-pagenavi .previouspostslink:active {
    background-color: #ffbc49;
  }
  header#global #header_wrap #header_nav_area > ul li a:active {
    background-color: #cccccc;
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor li a:active {
    color: #888888;
  }
  #ft_page_navi .ft_page_navi_inner ul.page_anchor li a:active::after {
    border-right-color: #888888;
    border-bottom-color: #888888;
    -webkit-transform: rotate(-135deg) translateY(-5px);
    transform: rotate(-135deg) translateY(-5px);
  }
  #sidebar #menu_btn_area button:active {
    background-color: #ffb32f;
  }
  #sidebar #contact_btn_area button:active {
    background-color: #c87f00;
  }
  .navi_block > h2 a:active {
    text-decoration: underline;
  }
  .navi_block > ul.parent_list a:active::before {
    width: 100%;
  }
  .link_page .banners .banner_unit .banner_area a:active::before {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
  .link_page .banners .banner_unit .banner_area a:active::after {
    -webkit-transform: translateX(10px) rotate(-45deg);
    transform: translateX(10px) rotate(-45deg);
  }
  .link_page .banners .banner_unit .banner_area a:active img {
    opacity: 0.7;
  }
  main.company #about .caption a:active {
    background-color: #e0e0e0;
  }
  main.compliance .comp_block a.detail:active {
    background-color: #e0e0e0;
  }
  main.archive #saishin #newest_navi li a:active .under_line {
    background-size: 100% 1px;
  }
  article.post .post_area h2 a:active .under_line {
    background-size: 100% 1px;
  }
}
@media (min-width: 1090px) and (min-width: 1280px) {
  #common_footer .navi_block::before {
    right: 25px;
  }
}
@media (min-width: 1090px) and (min-width: 1560px) {
  #common_footer .navi_block::before {
    right: 30px;
  }
}
@media (min-width: 768px) and (min-width: 960px) {
  #sdgs_area .sdgsbanner h2 {
    margin: 0 30px;
  }
  #sdgs_area .sdgsbanner h2::after {
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) and (min-width: 1280px) {
  #sdgs_area .sdgsbanner h2 {
    margin: 0 50px;
  }
}
@media (min-width: 960px) and (min-width: 1560px) {
  .field:nth-child(even) {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
  .field:nth-child(odd) {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
}
/*# sourceMappingURL=style.css.map */
