@charset "UTF-8";

/* normalize, 変数(for Sass) */

/*===========
 Basic color
===========*/

/*===========
 main color for this site.
===========*/

/*===========
 etc color for this site.
===========*/

/*===========
 un use
===========*/

@-webkit-keyframes topanimation {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(1) !important;
    transform: scale(1) !important;
  }
}

@keyframes topanimation {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(1) !important;
    transform: scale(1) !important;
  }
}

html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  margin: 0;
  letter-spacing: 0.05em;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/* mixin(for Sass) */

/* ベースの要素スタイル */

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: border-box;
}

blockquote,
q {
  quotes: "" "";
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

img {
  display: inline-block;
  height: auto;
  /* Make sure images are scaled correctly. */
  width: 100%;
  vertical-align: middle;
}

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */
}

/*===================================
module flexbox
====================================*/

.flex-col-sp {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-col-sp_2 > li {
  width: calc(50% - 5px);
}

.flex-col-sp_2_nmargin > li {
  width: 50%;
}

a {
  color: #000000;
  text-decoration: underline;
}

a:visited {
  color: #000000;
}

a:hover,
a:focus,
a:active {
  color: #000000;
}

a:focus {
  outline: none;
}

a:hover,
a:active {
  outline: 0;
}

a:hover {
  opacity: 0.8;
}

.link_arrow {
  position: relative;
}

.link_arrow::before {
  content: "";
  display: inline-block;
  margin-right: 5px;
  width: 4px;
  height: 10px;
  background-image: url(../images/common/link_arrow@2x.png);
  background-size: cover;
  background-position: center;
}

.link-arrow__left::before {
  content: "";
  display: inline-block;
  margin-right: 5px;
  width: 6px;
  height: 10px;
  background-image: url(../images/common/link_arrow@2x.png);
  background-size: cover;
  background-position: center;
}

.link--green {
  color: #0fb29b;
}

.link--green:visited {
  color: #0fb29b;
}

.link--gold {
  color: #836900 !important;
  font-weight: bold;
}

/* ========================
hoverで横線が出てくるやつ
==========================*/

.c-viewlinks {
  margin: 30px 0 0 0;
  text-align: center;
}

.viewlinks {
  display: inline-block;
  position: relative;
  overflow: hidden;
  padding-bottom: 5px;
  font-size: 14px;
}

.viewlinks::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  background: linear-gradient(-90deg, #9ed9ed, #d592ff, #ff9993);
  position: absolute;
  left: -100%;
  bottom: 0;
  transition: all 0.2s ease;
}

.viewlinks::after {
  margin-left: 10px;
}

.viewlinks:hover::before {
  left: 0;
}

.js-hover:hover {
  opacity: 1;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
  margin: 0;
  padding: 0;
}

ol > li {
  counter-increment: number;
  position: relative;
}

ol > li:before {
  content: counter(number) ".";
  display: block;
  margin-left: -1em;
  position: absolute;
  top: 0;
  left: 0;
}

dl {
  margin: 0;
}

dl dd {
  margin: 0;
}

ol.numlist {
  padding-left: 1.5em;
}

table {
  margin: 0 0 1em;
  table-layout: fixed;
  text-align: center;
  vertical-align: middle;
  width: 100%;
}

th {
  font-weight: normal;
}

.table {
  margin-top: 20px;
  border: 1px solid #E1E5E8;
  text-align: center;
}

.table dl dt {
  background-color: #838587;
  padding: 10px;
}

.table dl dd {
  padding: 10px;
}

.table--default {
  margin: 0;
}

.table--default dl {
  line-height: 1.8;
}

.table .table-list > li {
  margin-top: 10px;
}

.table .table-list > li:first-child {
  margin-top: 0;
}

.table .table-note {
  display: block;
  position: relative;
  font-size: 10px;
}

.table .table-note::before {
  content: "※";
  display: inline-block;
}

.table-ordered > li {
  width: 100%;
  display: table;
  margin-bottom: 15px;
  border: 1px solid #838587;
  border-collapse: collapse;
}

.table-ordered > li::before {
  display: none;
}

.table-ordered > li .table-ordered__num {
  display: table-cell;
  width: 35px;
  background-color: #f0f3f8;
  border: 1px solid #838587;
  color: #7186b9;
  font-family: "Times New Roman";
  font-style: italic;
  font-size: 18px;
  text-align: center;
  vertical-align: middle;
}

.table-ordered > li .table-ordered__txt {
  display: table-cell;
  vertical-align: middle;
  padding: 20px 10px;
  border: 1px solid #838587;
}

.table-ordered > li .table-ordered__txt .table-ordered__title {
  font-size: 14px;
}

.table-ordered > li .table-ordered__txt .table-ordered__txt--last {
  font-weight: bold;
  font-size: 19px;
}

.price_table .td_top {
  width: 60px;
  text-align: left;
  font-weight: bold;
}

.price_table table,
.price_table td,
.price_table th {
  border: 2px solid #ffffff;
  background-color: #f7f6f5;
  border-collapse: collapse;
  color: #776c60;
  font-family: 'Barlow', sans-serif;
  font-weight: 500;
}

.price_table td,
.price_table th {
  padding: 9px;
  width: 30px;
  height: 25px;
  font-size: 16px;
}

.price_table th {
  background: #f0e6cc;
}

input[type=text] {
  border-radius: 0;
  -webkit-appearance: none;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: none;
  border-color: #000000;
  border-radius: 3px;
  background: #000000;
  color: #fff;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
  outline: none;
}

.form-submit {
  position: relative;
  width: 100%;
  line-height: 34px;
  padding: 15px;
  display: inline-block;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}

.submit-btn {
  position: relative;
}

.submit-btn:after {
  content: "";
  display: block;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  position: absolute;
  right: 10px;
  font-size: 14px;
  color: #fff;
}

.section-confirmation input[type="submit"],
.section-confirmation input[type="button"] {
  width: 100%;
  padding: 15px 0;
  font-weight: bold;
  font-size: 14px;
}

.section-confirmation input[type="submit"]:hover,
.section-confirmation input[type="button"]:hover {
  opacity: 0.7;
}

.section-confirmation .input-submit {
  position: relative;
  margin-bottom: 10px;
}

.section-confirmation .input-button {
  position: relative;
}

.reset-btn {
  width: 100%;
  display: block;
  padding: 15px 0;
  font-weight: bold;
  font-size: 14px;
  text-align: center;
  border: none;
  border-color: #000000;
  border-radius: 3px;
  background: #000000;
  color: #fff;
}

.reset-btn:hover {
  color: #ffffff;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #000000;
  border: none;
  padding: 5px 5px;
  border: 1px solid #c7c7c7;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 2px solid #836900;
  height: 37px;
  width: 100%;
}

textarea {
  width: 100%;
  height: 120px;
  resize: vertical;
}

input[type="text"] {
  display: block;
  width: 100%;
}

input.input-year {
  width: 30%;
  display: inline-block;
  margin-right: 10px;
}

input.input-month {
  width: 15%;
  display: inline-block;
  margin: 0 10px;
}

input.input-day {
  width: 15%;
  display: inline-block;
  margin: 0 10px;
}

.radio-input {
  opacity: 0;
  display: none;
}

.radio-input + label {
  padding-left: 20px;
  position: relative;
  margin-right: 10px;
}

.radio-input + label::before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #836900;
  border-radius: 50%;
}

.radio-input:checked + label::after {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 3px;
  width: 9px;
  height: 9px;
  background: #836900;
  border-radius: 50%;
}

body,
button,
input,
select,
textarea {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  margin: 0;
}

p {
  margin: 0;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.4;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  font-size: 0.9375rem;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* ライブラリ */

/** VARIABLES
===================================*/

/** RESET AND LAYOUT
===================================*/
@media screen and (min-width: 768px) {
  body.home{
    overflow-x: hidden;
  }
}

.bxslider-thumb.lazy {
  opacity: 0;
}

.bx-wrapper {
  position: relative;
  padding: 0;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.bx-wrapper img {
  max-width: 100%;
  display: block;
}

.bxslider {
  margin: 0;
  padding: 0;
}

ul.bxslider {
  list-style: none;
}

.bx-viewport {
  /*fix other elements on the page moving (on Chrome)*/
  -webkit-transform: translatez(0);
}

/** THEME
===================================*/

.bx-wrapper {
  background: #fff;
}

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: -20px;
  width: 100%;
}

/* LOADER */

.bx-wrapper .bx-loading {
  min-height: 50px;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
}

/* PAGER */

.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .85em;
  font-family: Arial;
  font-weight: bold;
  color: #666;
  padding-top: 20px;
}

.bx-wrapper .bx-pager.bx-default-pager a {
  background: #838587;
  text-indent: -9999px;
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  outline: 0;
  border-radius: 5px;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #0fb29b;
}

.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}

.bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}

/* DIRECTION CONTROLS (NEXT / PREV) */

.bx-wrapper .bx-prev {
  left: 10px;
  background: url("../images/libs/bxSlider/controls.png") no-repeat 0 -32px;
}

.bx-wrapper .bx-prev:hover,
.bx-wrapper .bx-prev:focus {
  background-position: 0 0;
}

.bx-wrapper .bx-next {
  right: 10px;
  background: url("../images/libs/bxSlider/controls.png") no-repeat -43px -32px;
}

.bx-wrapper .bx-next:hover,
.bx-wrapper .bx-next:focus {
  background-position: -43px 0;
}

.bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: 50%;
  margin-top: -16px;
  outline: 0;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  z-index: 9999;
}

.bx-wrapper .bx-controls-direction a.disabled {
  display: none;
}

/* AUTO CONTROLS (START / STOP) */

.bx-wrapper .bx-controls-auto {
  text-align: center;
}

.bx-wrapper .bx-controls-auto .bx-start {
  display: block;
  text-indent: -9999px;
  width: 10px;
  height: 11px;
  outline: 0;
  background: url("../images/libs/bxSlider/controls.png") -86px -11px no-repeat;
  margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active,
.bx-wrapper .bx-controls-auto .bx-start:focus {
  background-position: -86px 0;
}

.bx-wrapper .bx-controls-auto .bx-stop {
  display: block;
  text-indent: -9999px;
  width: 9px;
  height: 11px;
  outline: 0;
  background: url("../images/libs/bxSlider/controls.png") -86px -44px no-repeat;
  margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active,
.bx-wrapper .bx-controls-auto .bx-stop:focus {
  background-position: -86px -33px;
}

/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
  text-align: left;
  width: 80%;
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
  right: 0;
  width: 35px;
}

/* IMAGE CAPTIONS */

.bx-wrapper .bx-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #666;
  background: rgba(80, 80, 80, 0.75);
  width: 100%;
}

.bx-wrapper .bx-caption span {
  color: #fff;
  font-family: Arial;
  display: block;
  font-size: .85em;
  padding: 10px;
}

/* Magnific Popup CSS */

.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: #CCC;
}

.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */

img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */

.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

/* overlay at start */

.mfp-fade.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}

/* overlay animate in */

.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}

/* overlay animate out */

.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */

.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: all 0.3s ease-out;
}

/* content animate it */

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

/* content animate out */

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

/* Slider */

.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */

@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows

.slick-prev,
.slick-next {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none;
    &:hover, &:focus {
        outline: none;

        &:before {
            opacity: $slick-opacity-on-hover;
        }
    }
    &.slick-disabled:before {
        opacity: $slick-opacity-not-active;
    }
    &:before {
        font-family: $slick-font-family;
        font-size: 20px;
        line-height: 1;
        color: $slick-arrow-color;
        opacity: $slick-opacity-default;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

.slick-prev {
    left: -25px;
    [dir="rtl"] & {
        left: auto;
        right: -25px;
    }
    &:before {
        content: $slick-prev-character;
        [dir="rtl"] & {
            content: $slick-next-character;
        }
    }
}

.slick-next {
    right: -25px;
    [dir="rtl"] & {
        left: -25px;
        right: auto;
    }
    &:before {
        content: $slick-next-character;
        [dir="rtl"] & {
            content: $slick-prev-character;
        }
    }
}
*/

/* Dots */

/* Slider */

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* コンポーネント */

.block__content {
  padding-top: 25px;
}

.block__content .content__title {
  position: relative;
  margin-bottom: 20px;
  color: #0fb29b;
  font-size: 20px;
  text-align: center;
}

.block__content .content__title span {
  position: relative;
  display: inline-block;
  padding: 2px 18px;
  background-color: #ffffff;
  line-height: 1.2em;
}

.block__content .content__title::before {
  width: 100%;
  height: 1px;
  content: "";
  display: block;
  background-color: #0fb29b;
  position: absolute;
  top: 50%;
  left: 0;
}

.block__content .content__subtitle {
  margin-bottom: 15px;
  font-size: 16px;
}

.block__content .content__subtitle span {
  display: block;
  padding: 5px;
  background-color: #BFC2C4;
  color: #ffffff;
  text-align: center;
}

.block__subcontent {
  margin-top: 25px;
}

.btn {
  padding: 6px 40px 6px 40px;
  border-radius: 100px;
  text-decoration: none;
  font-weight: bold;
  font-size: 14px;
  font-family: "Inter", sans-serif;
  color: #f18e2c !important;
  border: solid 1px #f18e2c;
  position: relative;
  text-align: center;
  min-width: 190px;
  display: inline-block;
  transition: .3s;
}

.btn span {
  position: relative;
  display: inline-block;
}

.btn span:after {
  content: "";
  width: 5px;
  height: 6px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 5px 6px;
  background-image: url(../images/common/arrow.svg);
  position: absolute;
  bottom: 50%;
  right: -10px;
  display: block;
  margin-top: 10px;
  transition: right 0.3s;
  -webkit-transform: translate(0px, 3px);
  transform: translate(0px, 3px);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

.btn:hover {
  color: #ffffff !important;
  opacity: 1;
  background-color: #f18e2c;
}

.btn:hover span:after {
  right: -15px;
  background-image: url(../images/common/arrow_w.svg);
}

.btn-submit_disabled {
  opacity: 0.5;
}

.btn-submit_enabled {
  opacity: 1 !important;
}

.btn_download span {
  left: -8px;
}

.btn_download span:after {
  width: 15px;
  height: 15px;
  right: -20px;
  background-size: cover;
  background-image: url(/images/common/btn_download.svg);
  background-repeat: no-repeat;
  -webkit-transform: translate(0px, 6px);
  transform: translate(0px, 6px);
}

.btn_download:hover span:after {
  right: -25px;
  background-image: url(../images/common/btn_download_w.svg);
}

.btn--sns {
  color: #ffffff !important;
}

.btn--sns span {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.btn--sns span:before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: cover;
  margin-right: 7px;
}

.btn--sns span:after {
  display: none;
}

.btn--sns__facebook {
  background-color: #1877F2;
  border: none;
}

.btn--sns__facebook:hover {
  background-color: #1877F2;
  opacity: 0.5;
}

.btn--sns__facebook span:before {
  width: 20px;
  height: 20px;
  background-image: url(../images/common/ico_fb.svg);
}

.btn--sns__twitter {
  background-color: #1D9BF0;
  border: none;
}

.btn--sns__twitter:hover {
  background-color: #1D9BF0;
  opacity: 0.5;
}

.btn--sns__twitter span:before {
  width: 20px;
  height: 16px;
  background-image: url(../images/common/ico_tw.svg);
}

.btn--sns__line {
  background-color: #4CC764;
  border: none;
}

.btn--sns__line:hover {
  background-color: #4CC764;
  opacity: 0.5;
}

.btn--sns__line span:before {
  width: 20px;
  height: 20px;
  background-image: url(../images/common/ico_line.svg);
}

.btn_link span:after {
  width: 10px;
  height: 9px;
  right: -16px;
  background-size: contain;
  background-image: url(../images/common/btn_link.svg);
  background-repeat: no-repeat;
  -webkit-transform: translate(0px, 4px) scale(1.3);
  transform: translate(0px, 4px) scale(1.3);
}

.btn_link span {
  left: -6px;
}

.btn_link:hover span:after {
  right: -21px;
  background-image: url(../images/common/btn_link_w.svg);
}

.btn_nohover {
  border: none;
  padding: 0px;
  width: auto;
  min-width: auto;
}

.btn_nohover:hover {
  color: #f18e2c !important;
  opacity: 1;
  background-color: unset;
}

.btn_nohover:hover span:after {
  right: -15px;
  background-image: url(../images/common/arrow.svg) !important;
}

.c-contact {
  border: 2px solid #E1E5E8;
  background-color: #838587;
  border-radius: 10px;
  padding: 20px 13px;
  text-align: center;
  width: 100%;
  margin: auto;
  margin-top: 50px;
}

.c-contact .c-contact-info {
  margin-top: 25px;
  font-weight: bold;
  font-size: 13px;
}

.c-contact .c-contact-tel {
  margin-top: 5px;
  font-size: 25px;
  font-weight: bold;
  color: #FE0000;
}

.c-contact .c-contact-tel span {
  color: #000000;
  font-size: 20px;
}

.c-contact .c-contact-date {
  margin: 5px 0 10px;
  font-size: 13px;
}

.c-contact .c-contact-date span {
  display: inline-block;
  margin-bottom: 5px;
  padding: 2px 10px;
  background-color: #838587;
  font-weight: bold;
  font-size: 13px;
}

.c-flow {
  width: 100%;
  display: table;
  position: relative;
  margin-top: -10px;
}

.c-flow:before {
  width: 1px;
  height: 100%;
  content: "";
  display: block;
  background: linear-gradient(to bottom, #ffffff, transparent);
  position: absolute;
  top: 20px;
  left: 63px;
}

.c-flow dl {
  display: table-row;
}

.c-flow dt {
  display: table-cell;
  position: relative;
  width: 60px;
  padding-top: 10px;
  font-weight: bold;
}

.c-flow dd {
  display: table-cell;
  padding-left: 15px;
  position: relative;
}

.c-flow dd:after {
  content: "";
  position: absolute;
  top: 16px;
  left: 0px;
  width: 8px;
  height: 8px;
  background-color: #ffffff;
  border-radius: 50%;
}

/* ==========================
  section title
=========================== */

.sec__title {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 10px;
  font-size: 20px;
  text-align: center;
  color: #000000;
}

.sec__title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -19px;
  width: 38px;
  height: 2px;
  display: block;
  content: "";
  background-color: #FE0000;
}

.inner_tlt {
  color: #f18e2c;
  font-family: "Inter", sans-serif;
  font-size: 17px;
  letter-spacing: 2px;
}

.inner_tlt_v {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.inner_tlt_semibold {
  font-weight: 500;
}

.page-mainvisual {
  width: 100%;
  height: 275px;
  margin-top: 100px;
  margin-bottom: 30px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.page-mainvisual_col {
  width: 58%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 625px;
  position: relative;
}

.page-mainvisual_title {
  font-family: "Inter", sans-serif;
  font-size: 87px;
  color: #f18e2c;
  padding-left: 150px;
  font-weight: 300;
  letter-spacing: 3px;
  color: #e8374a;
}

.page-mainvisual_title span {
  font-family: "Noto Sans JP", sans-serif;
}

.page-mainvisual_title_sub {
  font-size: 27px;
  display: block;
  font-weight: bold;
  letter-spacing: 1px;
}

.page-mainvisual_img {
  width: 62%;
  height: 275px;
  background-image: url(../images/ir/header_img@2x.png);
  background-size: cover;
  background-position: center;
}

.en-US .page-mainvisual_title_sub {
  display: none !important;
}

.c-page__intro {
  margin-bottom: 30px;
  letter-spacing: 0;
}

.c-page__intro:after {
  content: "";
  clear: both;
  display: block;
}

.c-page__intro p {
  margin-bottom: 15px;
}

.c-page__intro p:last-child {
  margin-bottom: 0;
}

.c-movie__wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.c-movie__wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.newslist {
  margin-bottom: 32px;
}

.newslist li {
  padding: 20px 0;
  border-bottom: 1px solid #E1E1E1;
}

.newslist li a {
  text-decoration: none;
}

.newslist li h3 {
  font-size: 16px;
}

.newslist-date {
  color: #949494;
  font-size: 16px;
}

.newslist-title {
  width: 100%;
}

.c-news__list {
  margin-bottom: 15px;
}

.c-news__list li {
  padding: 10px 0;
  border-bottom: 1px solid #838587;
}

.c-news__list dl dt {
  font-weight: bold;
}

.c-news__list a {
  text-decoration: underline;
}

/*=========================
 pagination
==========================*/

.pagination {
  text-align: center;
}

.pagination p,
.pagination a,
.pagination span {
  border: solid 1px #B6B6B6;
  background-color: #ffffff;
  padding: 3px 5px;
  display: inline-block;
  margin: -3px 0px;
  overflow: hidden;
  width: 40px;
  height: 40px;
  font-size: 15px;
  text-decoration: none;
  line-height: 30px;
  position: relative;
  margin-left: -1px;
}

.pagination p:first-child,
.pagination a:first-child,
.pagination span:first-child {
  border-left: solid 1px #B6B6B6;
}

.pagination p:hover,
.pagination a:hover,
.pagination span:hover {
  opacity: 1 !important;
}

.pagination .current {
  background-color: #f18e2c;
  color: #ffffff;
}

.pagination .next,
.pagination .prev,
.pagination .last,
.pagination .first {
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  background-size: auto;
  background-position: 13px;
  background-repeat: no-repeat;
}

.pagination .prev {
  background-image: url(../images/common/arrow_prev.png);
  border-left: solid 1px #B6B6B6 !important;
}

.pagination .next {
  background-image: url(../images/common/arrow_next.png);
}

.pagination .first {
  background-image: url(../images/common/arrow_first.png);
  border-left: solid 1px #B6B6B6;
  border-right: none;
}

.pagination .last {
  background-image: url(../images/common/arrow_last.png);
}

.pagination .arrow_notlink_next {
  background-image: url(../images/common/arrow_next_gray.png);
}

.pagination .arrow_notlink_prev {
  background-image: url(../images/common/arrow_prev_gray.png);
}

.pagination .arrow_notlink_last {
  background-image: url(../images/common/arrow_last_gray.png);
}

.pagetop {
  display: none;
  width: 205px;
  position: fixed;
  bottom: 80px;
  right: 0px;
  border-bottom: solid 1px #776c60;
  font-family: 'Barlow', sans-serif;
  padding-bottom: 6px;
  padding-left: 5px;
}

.pagetop a {
  text-decoration: none;
  font-size: 15px;
  color: #776c60;
}

.c-table {
  display: table;
  width: 100%;
  border: 1px solid #192431;
  border-collapse: collapse;
  color: #ffffff;
}

.c-table > dl {
  display: table-row;
}

.c-table > dl > dt {
  width: 120px;
  padding: 10px;
  display: table-cell;
  vertical-align: middle;
  border-bottom: 1px solid #192431;
  font-weight: bold;
}

.c-table > dl > dd {
  display: table-cell;
  padding: 10px;
  border-bottom: 1px solid #192431;
  border-left: 1px solid #192431;
}

.c-table > dl > dd .c-table-title {
  font-family: "Noto Sans JP", sans-serif;
}

.c-table > dl > dd .c-table-list {
  margin-bottom: 25px;
  padding-left: 1.5em;
}

.c-table > dl > dd .c-table-list:last-of-type {
  margin-bottom: 0;
}

.c-table > dl > dd .c-table-list > li {
  margin-bottom: 15px;
  list-style: disc;
}

.c-table > dl > dd .c-table-list > li:last-child {
  margin-bottom: 0;
}

.c-table > dl > dd .c-table-list__nomargin > li {
  margin: 0;
}

.c-table--child {
  width: 100%;
  display: table;
}

.c-table--child dt {
  display: table-cell;
  width: 52px;
}

.c-table--child dd {
  display: table-cell;
}

.table-default tr {
  border-bottom: solid 1px #cbd2e0;
}

.table-default tr th {
  position: relative;
  width: 205px;
  background-color: #838587;
  padding: 0px 15px;
  vertical-align: middle;
  font-size: 14px;
  text-align: left;
  background-color: #fce8e8;
  border: none;
  border-right: solid 1px #cbd2e0;
  border-left: solid 1px #cbd2e0;
}

.table-default tr td {
  position: relative;
  border: none;
  padding: 8px 15px;
  text-align: left;
}

.form-table {
  border: none !important;
}

.form-table tr {
  border: none !important;
}

.form-table tr th {
  border: none !important;
  background-color: unset;
  font-size: 15px;
  width: 235px;
  vertical-align: top;
}

.form-table tr td {
  border: none !important;
}

.form-table tr input,
.form-table tr textarea {
  border: none !important;
}

.form-table .form-require {
  background-color: #faa3a3;
  color: #fff;
  padding: 2px 4px;
  border-radius: 5px;
  font-size: 13px;
  margin-left: 20px;
}

/* 共通レイアウト(header, footer, etc.) */

.sec-contact {
  background: url(../images/common/bg_contact.jpg) center no-repeat;
  background-size: cover;
  border-radius: 10px;
  padding: 15px;
  margin-bottom: 80px;
}

.sec-contact_inner {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 15px;
  text-align: center;
  padding: 15px;
}

.sec-contact_inner h2 {
  font-size: 25px;
  color: #FE0000;
  padding-bottom: 15px;
  margin-bottom: 30px;
  position: relative;
}

.sec-contact_inner h2::after {
  position: absolute;
  content: "";
  height: 5px;
  background: #FE0000;
  width: 175px;
  display: block;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  -webkit-transform: skewX(-40deg);
  transform: skewX(-40deg);
}

.sec-contact_inner_info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.sec-contact_inner_info_block {
  background: #ffffff;
  width: 100%;
  padding: 12px 0;
  margin-bottom: 15px;
}

.sec-contact_inner_info_block:last-of-type {
  margin-bottom: 0;
}

.sec-contact_inner_info_block h3 {
  font-size: 15px;
  margin-bottom: 10px;
}

.sec-contact_inner_info_block a {
  font-size: 28px;
  color: #FE0000;
  text-decoration: none;
}

.sec-contact_inner_info_block a i {
  font-size: 18px;
  line-height: 1;
  display: table-caption;
  padding-right: 7px;
}

.sec-contact_inner_info_block .contact-btn {
  width: 216px;
  display: inline-block;
  background: #FE0000;
}

.sec-contact_inner_info_block .contact-btn a {
  color: #FFF;
  font-size: 14px;
  display: block;
  text-align: center;
  padding: 12px;
  font-weight: bold;
}

.sec-contact_inner_info_block .contact-btn a i {
  display: inline;
  font-size: 14px;
}

/*=========================
common footer
==========================*/

.l-footer {
  background-color: #E1E5E8;
  width: 100%;
  padding-bottom: 30px;
}

.l-footer-contact {
  height: 450px;
  width: 100%;
  background-image: url(../images/footer/footer_contact_bg@2x.png?2025-10-02);
  background-size: cover;
  background-position: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

.l-footer-contact_inner {
  width: 100%;
  padding: 0px 30px;
}

.l-footer-contact_inner_btn {
  display: block;
  padding: 20px 0px;
  background-color: #ffffff;
  text-decoration: none;
  font-size: 22px;
  font-family: "Inter", sans-serif;
  letter-spacing: 2px;
  width: 340px;
  margin: auto;
}

.l-footer-contact_inner_txt {
  color: #ffffff;
  font-size: 17px;
  margin-top: 35px;
}

.l-footer-contact_inner_txt_sub {
  font-size: 15px;
  margin-top: 20px;
  display: block;
}

.l-footer-logo img {
  width: 174px;
  display: inline-block;
}

.l-footer-logo_link {
  display: inline-block;
}

.l-footer-nav {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: 15px;
}

.l-footer-nav_list {
  width: 360px;
  margin-right: 60px;
}

.l-footer-nav_list_lists {
  display: inline-block;
  width: 49%;
  margin-bottom: 5px;
}

.l-footer-nav_list_lists_link {
  color: #838587 !important;
  text-decoration: none;
  font-family: "Inter", sans-serif;
}

.l-footer-nav_langage a {
  text-decoration: none;
  font-family: "Inter", sans-serif;
  color: #838587 !important;
  position: relative;
  top: 1px;
  opacity: 0.5;
}

.l-footer-nav_langage li {
  display: inline-block;
}

.l-footer-nav_langage .bogo-language-switcher {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.l-footer-nav_langage .en-US {
  padding-left: 16px;
}

.l-footer-nav_langage .ja:after {
  content: "|";
  display: inline-block;
  color: #000000;
  margin-left: 16px;
}

.l-footer-nav_langage .current {
  opacity: 1 !important;
  color: #3b3c3c !important;
}

.l-footer-nav_langage_sp {
  display: none;
}

.l-footer-nav_langage_pc {
  display: block;
}

.l-footer-nav_subwrap{
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: space-between;
}

.l-footer-nav_icon{
  width: 100%;
  display: flex ;
  gap: 20px;
  justify-content: flex-end;
}

.l-footer-nav_icon > li{

}

.l-footer-nav_icon > li > a{
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
  font-size: 0;
  line-height: 0;
}

.l-footer-nav_icon > li > a > img{
  width: 100%;
  padding: 0;
  margin: 0;
}

.l-footer_inner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 62px 100px 64px;
  min-width: 870px;
}

.l-footer-sub_sec {
  padding: 15px 100px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: 15px;
  color: #838587;
}

.l-footer-sub_sec_copy {
  font-family: "Inter", sans-serif;
}

.l-footer-sub_sec_menu {

}

.l-footer-sub_sec_menu_list {
  display: inline-block;
}

.l-footer-sub_sec_menu_list_link {
  text-decoration: none;
  color: #838587 !important;
}

.ja .footer-nav_langage_link_jp {
  opacity: 1 !important;
}

.en-US .footer-nav_langage_link_en {
  opacity: 1 !important;
}

.en-US .l-footer-sub_sec_menu {
  margin-right: 125px;
}

.gnav-btn {
  width: 50px;
  height: 50px;
  text-align: center;
  position: relative;
  top: 0px;
  right: 17px;
  z-index: 100;
  cursor: pointer;
}

.gnav-btn__container {
  position: relative;
  width: 40px;
  height: 40px;
  position: relative;
  display: inline-block;
  margin-top: 5px;
}

.gnav-btn.close .gnav-txt--close {
  display: inline-block;
}

.gnav-btn.close .gnav-txt--menu {
  display: none;
}

.gnav-btn__container > span {
  position: absolute;
  width: 34px;
  height: 1px;
  right: 0px;
  display: block;
  background-color: #454545;
  transition: all .4s;
  border-radius: 10px;
}

.gnav-btn__container > span:nth-child(1) {
  top: 18px;
}

.gnav-btn__container > span:nth-child(2) {
  top: 24px;
}

.close .gnav-btn__container > span:nth-of-type(1) {
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg);
  top: 18px;
}

.close .gnav-btn__container > span:nth-of-type(2) {
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
  top: 18px;
}

.gnav-txt__close {
  display: none;
}

.menu-open .gnav-txt__close {
  display: block;
  color: #ffffff;
}

.menu-open .gnav-txt__open {
  display: none;
}

/*=========================
global-navigation
==========================*/

.g-nav-block {
  position: relative;
  z-index: 99;
  width: 902px;
}

.globalnavi {
  display: none;
}

.globalnavi .gnavi-list {
  padding-top: 84px;
  padding-left: 10px;
}

.globalnavi .gnavi-list > li {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: auto;
  padding: 0 14px;
  text-align: center;
  position: relative;
}

.globalnavi .gnavi-list > li a {
  text-decoration: none;
}

.globalnavi .gnavi-list > li:last-child > a::after {
  background: #fff;
}

.gnavi-list > li > a {
  position: relative;
  color: #000000;
  letter-spacing: 0;
}

.nav-translate {
  font-family: "Inter", sans-serif;
}

.nav-translate .bogo-language-switcher {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.nav-translate .bogo-language-switcher li {
  display: inline-block;
}

.nav-translate .en-US {
  padding-left: 16px;
}

.nav-translate .ja:after {
  content: "|";
  display: inline-block;
  color: #000000;
  margin-left: 16px;
}

.nav-translate a,
.nav-translate span {
  font-weight: 600;
  color: #939393;
}

.nav-translate .current {
  color: #000000;
}

.ja .nav-translate_jp {
  opacity: 1;
}

.nav-copyright {
  display: none !important;
  text-align: left !important;
  font-family: "Inter", sans-serif;
  color: #838587;
}

.gnavi-list_name {
  display: none;
}

.en-US .gnavi-list_name_en {
  display: block;
}

.ja .gnavi-list_name_jp {
  display: block;
}

/*=========================
common header
==========================*/

.l-header {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  z-index: 100;
  padding: 13px 58px 10px 47px;
  min-width: 900px;
}

.l-header.header-fixed {
  background-color: #ffffff;
}

.l-header .l-container {
  position: relative;
  top: 0px;
  z-index: 10;
  width: 100% !important;
  padding: 10px 10px;
  padding-bottom: 10px;
}

.header-top {
  line-height: 1;
  margin: auto;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.header-top .header-logo {
  position: relative;
  display: block;
  padding: 11px 0px 13px 21px;
  box-sizing: content-box;
  z-index: 150;
}

.header-top .header-logo img {
  height: auto;
  width: 115px;
}

.header-top .header-logo a {
  display: block;
}

.l-wrapper {
  margin: 0 auto;
}

.l-page .l-header {
  background-color: #ffffff;
}

.l-main_page {
  margin-bottom: 150px;
}

.pege-first_txt {
  padding: 40px 0px;
}

.pege-first_txt p {
  text-align: center;
  font-size: 17px;
  font-weight: bold;
}

.sec-content {
  padding: 30px 0px;
}

.top-news {
  padding: 30px 0 50px;
}

.l-container {
  margin: 0 auto;
  padding: 0 30px;
  max-width: 1180px;
  width: 100%;
}

.l-container:after {
  content: "";
  clear: both;
  display: block;
}

.accordion_open:after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -7px;
  background-image: url(../images/common/arrow_bottom.svg);
  background-size: cover;
  background-position: center;
  transition: .4s;
}

.accordion_inner_open {
  height: 500px !important;
}

.is_open:after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transform-origin: center;
  transform-origin: center;
}

.dot_bar {
  position: relative;
}

.dot_bar:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  display: block;
  width: 1px;
  height: 235px;
  border-left: dashed 1px #f18e2c;
  z-index: 10;
}

/* ====================
sub__content
=======================*/

.l-sidebar {
  margin: 0 auto 40px auto;
}

.l-sidebar h3 {
  background-color: #EEF3F9;
  font-size: 24px;
  position: relative;
  color: #FE0000;
  padding: 25px 17px;
}

.l-sidebar h3.blog-menu {
  padding: 0;
  margin-top: 30px;
}

.l-sidebar h3 span {
  display: block;
  font-size: 14px;
  color: #000000;
  font-weight: bold;
}

.l-sidebar h3 a {
  position: relative;
  display: block;
  color: #ffffff;
}

.l-sidebar .side_lineup {
  font-size: 16px;
  background-color: #ffffff;
  margin-bottom: 38px;
}

.l-sidebar .side_lineup > li {
  border-bottom: 1px solid #E0E8F2;
}

.l-sidebar .side_lineup > li a {
  position: relative;
  display: block;
  padding: 20px 39px 20px 19px;
  color: #FE0000;
  font-size: 17px;
  font-weight: bold;
  text-decoration: none;
}

.l-sidebar .side_lineup > li a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 23px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5.5px 0 5.5px 10px;
  border-color: transparent transparent transparent #FE0000;
}

.l-sidebar .side_lineup.blog-menu-list a {
  color: #333333;
  text-decoration: underline;
}

.l-sidebar .side_lineup.blog-menu-list a span.new::after {
  content: "NEW";
  font-weight: bold;
  background: #FE0000;
  font-size: 11px;
  color: #ffffff;
  padding: 0 9px 2px 9px;
  border-radius: 30px;
  position: absolute;
  display: inline-block;
  height: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  margin-left: 12px;
}

.l-sidebar_sp_open {
  display: none;
}

.l-sidebar_sp_open i {
  margin-right: 10px;
}

.l-sidebar .is_open {
  border-radius: 10px 10px 0 0;
}

.l-sidebar_infobox_inner {
  background-color: #ffffff;
  border-radius: 0px 0px 20px 20px;
  border-top: solid 6px #FE0000;
  padding: 0px 30px 40px 30px;
}

.l-sidebar_infobox_inner h2 i {
  color: #FE0000;
  margin-right: 5px;
}

.l-sidebar_infobox_inner img {
  width: 150px;
  display: block;
  margin: auto;
  margin-bottom: 15px;
  margin-top: 15px;
}

.l-sidebar_infobox_bnr {
  margin-top: 30px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.l-sidebar_infobox_bnr li {
  text-align: center;
  height: 80px;
}

.l-sidebar_infobox_bnr li img {
  height: 100%;
  width: auto;
}

.l-sidebar .side_operation {
  background: #1A1A1A;
  text-align: center;
  border-radius: 17px;
  padding: 13px 0 20px 0;
  margin-bottom: 38px;
}

.l-sidebar .side_operation a {
  text-decoration: none;
  color: #00E9FF;
}

.l-sidebar .side_operation h3 {
  background: transparent;
  color: #00E9FF;
  font-size: 26px;
  padding: 0;
  font-weight: bold;
  margin-bottom: 10px;
}

.l-sidebar .side_operation img {
  width: 150px;
}

.l-sidebar .side_operation p {
  font-size: 17px;
  font-weight: bold;
}

.l-sidebar .side_operation p.operation_percent {
  font-size: 16px;
  margin-top: -5px;
  margin-bottom: 5px;
}

.side_active {
  background-color: #FE0000;
}

.side_active a {
  color: #ffffff !important;
}

.side_active a::before {
  color: #ffffff !important;
}

/* ページごとのスタイル */

/* ====================
 404
=======================*/

.page_404 .l-container {
  height: 100vh;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

.page_404_inner_tlt {
  font-size: 87px;
  font-family: "Inter", sans-serif;
  color: #f18e2c;
}

.page_404_inner_tlt_sub {
  font-size: 27px;
  display: block;
}

.page_404_inner_info {
  margin-top: 100px;
}

.page_404_inner_info_txt {
  margin-bottom: 40px;
  font-size: 15px;
  line-height: 33px;
  color: #525252;
}

/*=========================
ABOUT
==========================*/

.about .page-mainvisual,
.page-template-page-about .page-mainvisual {
  margin-bottom: 120px;
}

.about .page-mainvisual_img,
.page-template-page-about .page-mainvisual_img {
  background-image: url(../images/about/header_img@2x.png?2025-10-02);
}

.about .l-container,
.page-template-page-about .l-container {
  max-width: 1330px;
}

.about-sec,
.page-template-page-about-sec {
  position: relative;
}

.about-sec_tlt,
.page-template-page-about-sec_tlt {
  font-size: 35px;
  text-align: center;
  position: relative;
  line-height: 65px;
}

.about-sec_tlt_sub,
.page-template-page-about-sec_tlt_sub {
  color: #f18e2c;
  font-size: 17px;
  display: block;
  margin-bottom: 18px;
  letter-spacing: 2px;
  line-height: 26px;
}

.about-sec_tlt_mini,
.page-template-page-about-sec_tlt_mini {
  font-size: 25px;
}

.about-sec_first .dot_bar:after,
.page-template-page-about-sec_first .dot_bar:after {
  top: 105%;
}

.about-sec_will,
.page-template-page-about-sec_will {
  margin-top: 155px;
  padding-top: 115px;
  padding-bottom: 200px;
  margin-bottom: 135px;
  background-color: #E1E5E8;
  box-shadow: 0px 0px 14px 0px #d7d7d7;
}

.about-sec_will .about-sec_tlt,
.page-template-page-about-sec_will .about-sec_tlt {
  margin-bottom: 10px;
}

.about-sec_will_column,
.page-template-page-about-sec_will_column {
  margin-top: 115px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.about-sec_will_column_img,
.page-template-page-about-sec_will_column_img {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
  width: 50%;
}

.about-sec_will_column_info,
.page-template-page-about-sec_will_column_info {
  padding-left: 50px;
}

.about-sec_will_column_info_tlt,
.page-template-page-about-sec_will_column_info_tlt {
  font-size: 25px;
  margin-bottom: 23px;
}

.about-sec_will_column_info_txt,
.page-template-page-about-sec_will_column_info_txt {
  font-size: 15px;
  line-height: 28px;
  letter-spacing: 1px;
}

.about-sec_will_column_info_txt_orange,
.page-template-page-about-sec_will_column_info_txt_orange {
  font-size: 17px;
  text-align: right;
  color: #f18e2c;
  margin-top: 27px;
}

.about-sec_will_column:nth-of-type(2),
.page-template-page-about-sec_will_column:nth-of-type(2) {
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.about-sec_will_column:nth-of-type(2) .about-sec_will_column_info,
.page-template-page-about-sec_will_column:nth-of-type(2) .about-sec_will_column_info {
  padding-left: 0px;
  padding-right: 50px;
}

.about-sec_will .dot_bar:after,
.page-template-page-about-sec_will .dot_bar:after {
  top: 60px;
}

.about-sec_value .dot_bar:after,
.page-template-page-about-sec_value .dot_bar:after {
  top: 50px;
}

.about-sec_value_first,
.page-template-page-about-sec_value_first {
  font-size: 15px;
  text-align: center;
  max-width: 700px;
  width: 100%;
  margin: auto;
  margin-top: 30px;
  margin-bottom: 62px;
  line-height: 26px;
}

.about-sec_value_ownerspeed,
.page-template-page-about-sec_value_ownerspeed {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  border-top: solid 1px #E1E5E8;
  border-bottom: solid 1px #E1E5E8;
  padding: 75px 0px;
  margin-bottom: 167px;
}

.about-sec_value_ownerspeed_left_tlt,
.page-template-page-about-sec_value_ownerspeed_left_tlt {
  font-size: 33px;
  color: #f18e2c;
  margin-bottom: 65px;
  line-height: 46px;
  letter-spacing: 0px;
}

.about-sec_value_ownerspeed_left_tlt_sub,
.page-template-page-about-sec_value_ownerspeed_left_tlt_sub {
  font-size: 24px;
  letter-spacing: 0px;
}

.about-sec_value_ownerspeed_right,
.page-template-page-about-sec_value_ownerspeed_right {
  width: 50%;
  max-width: 575px;
}

.about-sec_value_ownerspeed_right_txt,
.page-template-page-about-sec_value_ownerspeed_right_txt {
  font-size: 15px;
  line-height: 28px;
  letter-spacing: 0px;
}

.about-sec_value_principle,
.page-template-page-about-sec_value_principle {
  width: 100%;
  max-width: 1050px;
  margin: auto;
  margin-top: 105px;
  margin-bottom: 410px;
  position: relative;
}

.about-sec_value_principle:before,
.page-template-page-about-sec_value_principle:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 43px;
  left: 47px;
  background-image: url(../images/common/dot_bg.svg);
  background-position: top left;
}

.about-sec_value_principle_col,
.page-template-page-about-sec_value_principle_col {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 65px;
}

.about-sec_value_principle_col:nth-of-type(2),
.page-template-page-about-sec_value_principle_col:nth-of-type(2) {
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.about-sec_value_principle_col_box,
.page-template-page-about-sec_value_principle_col_box {
  max-width: 475px;
  min-height: 220px;
  width: 45%;
  height: auto;
  background-color: #ffffff;
  border: solid 1px #f18e2c;
  padding: 50px 49px;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.about-sec_value_principle_col_box_num,
.page-template-page-about-sec_value_principle_col_box_num {
  font-size: 60px;
  color: #f18e2c;
  font-weight: bold;
  font-family: "Inter", sans-serif;
  position: absolute;
  top: -50px;
}

.about-sec_value_principle_col_box_tlt,
.page-template-page-about-sec_value_principle_col_box_tlt {
  font-size: 24px;
  text-align: center;
  margin-bottom: 35px;
}

.about-sec_value_principle_col_box_txt,
.page-template-page-about-sec_value_principle_col_box_txt {
  font-size: 15px;
  line-height: 28px;
  letter-spacing: 0px;
}

.about-sec_spirit,
.page-template-page-about-sec_spirit {
  text-align: center;
  margin: 60px auto;
}

.about-sec_recruit .about-sec_tlt,
.page-template-page-about-sec_recruit .about-sec_tlt {
  line-height: 50px;
  letter-spacing: -2px;
}

.about-sec_recruit_link,
.page-template-page-about-sec_recruit_link {
  position: relative;
  width: calc(100% - 120px);
  max-width: 1380px;
  height: 447px;
  margin: auto;
  margin-top: 60px;
  display: block;
  background-image: url(../images/about/about_footer@2x.png?2025-10-02);
  background-position: center;
  background-size: cover;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-decoration: none;
  text-align: center;
}

.about-sec_recruit_link_txt,
.page-template-page-about-sec_recruit_link_txt {
  color: #ffffff;
  margin-top: 20px;
  font-size: 17px;
}

.about-sec_recruit_link_inner,
.page-template-page-about-sec_recruit_link_inner {
  margin-top: 50px;
}

.about-sec_recruit_link .btn,
.page-template-page-about-sec_recruit_link .btn {
  background-color: #ffffff;
}

.about-sec_recruit_link .btn span:after,
.page-template-page-about-sec_recruit_link .btn span:after {
  width: 8px;
  height: 10px;
  right: -25px;
  background-size: 8px 10px;
  -webkit-transform: translate(0px, 5px);
  transform: translate(0px, 5px);
}

.about-sec_recruit_link:hover .btn,
.page-template-page-about-sec_recruit_link:hover .btn {
  background-color: #f18e2c;
  color: #ffffff !important;
}

.about-sec_recruit_link:hover .btn span:after,
.page-template-page-about-sec_recruit_link:hover .btn span:after {
  right: -30px;
  background-image: url(../images/common/arrow_w.svg);
}

.about-sec_recruit_link:before,
.page-template-page-about-sec_recruit_link:before {
  content: "";
  width: calc(100% + 20px);
  height: 45px;
  display: block;
  position: absolute;
  bottom: -45px;
  right: -55px;
  background-image: url(../images/common/dot_bg.svg);
  background-position: right top;
}

.about-sec_recruit_link:after,
.page-template-page-about-sec_recruit_link:after {
  content: "";
  width: 60px;
  height: calc(100% - 53px);
  display: block;
  position: absolute;
  top: 53px;
  right: -55px;
  background-image: url(../images/common/dot_bg.svg);
  background-position: right bottom;
}

.about .l-footer-contact,
.page-template-page-about .l-footer-contact {
  display: none;
}

/*=========================
企業情報
==========================*/

.business .page-mainvisual {
  margin-bottom: 145px;
}

.business .page-mainvisual_img {
  background-image: url(../images/business/header_img@2x.png);
}

.business main .l-container {
  width: 100%;
  padding: 0;
}

.business-sec_first {
  text-align: center;
  margin-bottom: 100px;
}

.business-sec_first_tlt {
  font-size: 24px;
  font-weight: normal;
  margin-bottom: 26px;
  letter-spacing: 4px;
}

.business-sec_first_txt {
  font-size: 20px;
  line-height: 42px;
  font-weight: bold;
  letter-spacing: 0px;
}

.business-sec_business_header {
  border-bottom: solid 1px #707070;
  padding: 30px 0px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.business-sec_business_header_tlt {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: calc(100% - 575px);
  font-size: 27px;
  letter-spacing: 4px;
  font-weight: normal;
  border-left: solid 1px #f18e2c;
  padding-left: 14px;
}

.business-sec_business_header_tlt_products {
  position: absolute;
  top: 50%;
  left: -30px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  font-weight: bold;
  font-family: "Inter", sans-serif;
  color: #f18e2c;
  font-size: 13px;
  margin-top: -10px;
}

.business-sec_business_header_tlt_num {
  font-size: 87px;
  font-weight: bold;
  font-family: "Inter", sans-serif;
  color: #f18e2c;
  line-height: 65px;
  margin-left: 40px;
  margin-right: 40px;
}

.business-sec_business_header_txt {
  max-width: 540px;
  width: 100%;
  padding-right: 120px;
  margin-left: 30px;
  line-height: 30px;
  text-align: justify;
}

.business-sec_business_contents {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: start;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 80px;
  padding-top: 70px;
}

.business-sec_business_contents_logo {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: calc(100% - 615px);
  min-height: 425px;
  border: solid 1px #C6C6C6;
}

.business-sec_business_contents_logo img {
  max-width: 80%;
}

.business-sec_business_contents_info {
  position: relative;
  max-width: 540px;
  width: 100%;
  padding-right: 120px;
  margin-left: 30px;
}

.business-sec_business_contents_info_tlt {
  font-weight: normal;
  font-family: "Inter", sans-serif;
  font-size: 27px;
  letter-spacing: -1px;
  color: #f18e2c;
}

.business-sec_business_contents_info_tlt_sub {
  font-size: 20px;
}

.business-sec_business_contents_info_txt {
  margin-top: 20px;
  line-height: 30px;
  margin-bottom: 50px;
}

.business-sec_business_contents_info_cat {
  position: absolute;
  top: -40px;
  right: -10px;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-weight: bold;
  font-family: "Inter", sans-serif;
  color: #f18e2c;
  font-size: 17px;
  height: 100%;
  max-height: 600px;
}

.en-US .business-sec_business_header_txt {
  text-align: left;
}

/*=========================
企業情報
==========================*/

.company,
.page-template-page-company,
.page-template-page-company_en {
  /*=========================
IR トップ
==========================*/
}

.company .page-mainvisual,
.page-template-page-company .page-mainvisual,
.page-template-page-company_en .page-mainvisual {
  margin-bottom: 200px;
}

.company .page-mainvisual_img,
.page-template-page-company .page-mainvisual_img,
.page-template-page-company_en .page-mainvisual_img {
  background-image: url(../images/company/header_img@2x.png);
}

.company main .l-container,
.page-template-page-company main .l-container,
.page-template-page-company_en main .l-container {
  width: 100%;
  padding: 0;
}

.company-sec_heading,
.page-template-page-company-sec_heading,
.page-template-page-company_en-sec_heading {
  font-size: 17px;
  font-weight: normal;
  margin-bottom: 70px;
  letter-spacing: .15em;
}

.company-sec_heading span,
.page-template-page-company-sec_heading span,
.page-template-page-company_en-sec_heading span {
  font-size: 27px;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  color: #f18e2c;
  letter-spacing: .08em;
  display: block;
}

.company-sec_profile,
.page-template-page-company-sec_profile,
.page-template-page-company_en-sec_profile {
  position: relative;
  margin-bottom: 140px;
}

.company-sec_profile_container,
.page-template-page-company-sec_profile_container,
.page-template-page-company_en-sec_profile_container {
  background-color: #ffffff;
}

.company-sec_profile_table,
.page-template-page-company-sec_profile_table,
.page-template-page-company_en-sec_profile_table {
  font-size: 14px;
  letter-spacing: .15em;
  line-height: 2;
  margin-bottom: 0;
}

.company-sec_profile_table_list_df,
.page-template-page-company-sec_profile_table_list_df,
.page-template-page-company_en-sec_profile_table_list_df {
  width: 67px;
  text-align: center;
  padding: 15px 0 15px;
  border-bottom: 1px solid #E8E8E8;
}

.company-sec_profile_table_list_dsc,
.page-template-page-company-sec_profile_table_list_dsc,
.page-template-page-company_en-sec_profile_table_list_dsc {
  text-align: left;
  padding: 15px 0 20px 20px;
  border-bottom: 1px solid #E8E8E8;
}

.company-sec_profile_table_list:last-of-type .company-sec_profile_table_list_df,
.company-sec_profile_table_list:last-of-type .company-sec_profile_table_list_dsc,
.page-template-page-company-sec_profile_table_list:last-of-type .company-sec_profile_table_list_df,
.page-template-page-company-sec_profile_table_list:last-of-type .company-sec_profile_table_list_dsc,
.page-template-page-company_en-sec_profile_table_list:last-of-type .company-sec_profile_table_list_df,
.page-template-page-company_en-sec_profile_table_list:last-of-type .company-sec_profile_table_list_dsc {
  border-bottom: none;
}

.company-sec_profile_table a,
.page-template-page-company-sec_profile_table a,
.page-template-page-company_en-sec_profile_table a {
  color: #f18e2c;
  text-decoration: none;
}

.company-sec_profile_map,
.page-template-page-company-sec_profile_map,
.page-template-page-company_en-sec_profile_map {
  height: 300px;
  overflow: hidden;
  position: relative;
}

.company-sec_profile_map iframe,
.page-template-page-company-sec_profile_map iframe,
.page-template-page-company_en-sec_profile_map iframe {
  height: 300px;
  width: 100%;
}

.company-sec_profile_dotbg,
.page-template-page-company-sec_profile_dotbg,
.page-template-page-company_en-sec_profile_dotbg {
  position: absolute;
  bottom: -60px;
  right: -58px;
  width: calc(100% - 200px);
  height: calc(100% - 145px);
  background-image: url(../images/common/dot_bg.svg);
  background-position: right bottom;
  z-index: -1;
}

.company-sec_director,
.page-template-page-company-sec_director,
.page-template-page-company_en-sec_director {
  margin-bottom: 170px;
}

.company-sec_director_list,
.page-template-page-company-sec_director_list,
.page-template-page-company_en-sec_director_list {
  border-bottom: 1px solid #707070;
  position: relative;
}

.company-sec_director_list_left,
.page-template-page-company-sec_director_list_left,
.page-template-page-company_en-sec_director_list_left {
  padding: 45px 0;
}

.company-sec_director_list_left_name,
.page-template-page-company-sec_director_list_left_name,
.page-template-page-company_en-sec_director_list_left_name {
  font-size: 25px;
  font-weight: normal;
  letter-spacing: .15em;
}

.company-sec_director_list_left_name span,
.page-template-page-company-sec_director_list_left_name span,
.page-template-page-company_en-sec_director_list_left_name span {
  font-size: 16px;
  color: #f18e2c;
  display: block;
  padding-bottom: 5px;
}

.company-sec_director_list_right_open,
.page-template-page-company-sec_director_list_right_open,
.page-template-page-company_en-sec_director_list_right_open {
  font-size: 16px;
  color: #f18e2c;
  text-align: right;
  position: absolute;
  cursor: pointer;
  padding-right: 90px;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: all 0.2s ease;
}

.company-sec_director_list_right_open_batsu,
.page-template-page-company-sec_director_list_right_open_batsu,
.page-template-page-company_en-sec_director_list_right_open_batsu {
  display: block;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.company-sec_director_list_right_open_batsu:after,
.company-sec_director_list_right_open_batsu:before,
.page-template-page-company-sec_director_list_right_open_batsu:after,
.page-template-page-company-sec_director_list_right_open_batsu:before,
.page-template-page-company_en-sec_director_list_right_open_batsu:after,
.page-template-page-company_en-sec_director_list_right_open_batsu:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #f18e2c;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  position: absolute;
  top: calc(50% - 1px);
}

.company-sec_director_list_right_open_batsu:after,
.page-template-page-company-sec_director_list_right_open_batsu:after,
.page-template-page-company_en-sec_director_list_right_open_batsu:after {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

.company-sec_director_list_right_open:hover,
.page-template-page-company-sec_director_list_right_open:hover,
.page-template-page-company_en-sec_director_list_right_open:hover {
  opacity: .8;
}

.company-sec_director_list_right_open.active,
.page-template-page-company-sec_director_list_right_open.active,
.page-template-page-company_en-sec_director_list_right_open.active {
  opacity: 0;
  visibility: hidden;
  height: 0;
}

.company-sec_director_list_right_text,
.page-template-page-company-sec_director_list_right_text,
.page-template-page-company_en-sec_director_list_right_text {
  display: none;
}

.company-sec_director_list_right_text_list,
.page-template-page-company-sec_director_list_right_text_list,
.page-template-page-company_en-sec_director_list_right_text_list {
  letter-spacing: .15em;
  line-height: 1.6;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.company-sec_director_list_right_text_list dt,
.page-template-page-company-sec_director_list_right_text_list dt,
.page-template-page-company_en-sec_director_list_right_text_list dt {
  width: 90px;
  font-size: 12px;
  margin-bottom: 8px;
}

.company-sec_director_list_right_text_list dd,
.page-template-page-company-sec_director_list_right_text_list dd,
.page-template-page-company_en-sec_director_list_right_text_list dd {
  width: calc(100% - 90px);
  padding-right: 100px;
  margin-bottom: 8px;
  line-height: 30px;
}

.company-sec_director_list_right_close,
.page-template-page-company-sec_director_list_right_close,
.page-template-page-company_en-sec_director_list_right_close {
  cursor: pointer;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 52px;
  right: 10px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
}

.company-sec_director_list_right_close.active,
.page-template-page-company-sec_director_list_right_close.active,
.page-template-page-company_en-sec_director_list_right_close.active {
  opacity: 1;
  visibility: visible;
}

.company-sec_director_list:first-of-type,
.page-template-page-company-sec_director_list:first-of-type,
.page-template-page-company_en-sec_director_list:first-of-type {
  border-top: 1px solid #707070;
}

.company-sec_history_table,
.page-template-page-company-sec_history_table,
.page-template-page-company_en-sec_history_table {
  width: calc(100% - 45px);
  margin-left: 45px;
}

.company-sec_history_table_list,
.page-template-page-company-sec_history_table_list,
.page-template-page-company_en-sec_history_table_list {
  letter-spacing: .15em;
}

.company-sec_history_table_list_year,
.page-template-page-company-sec_history_table_list_year,
.page-template-page-company_en-sec_history_table_list_year {
  width: 158px;
  min-height: 100px;
  background-color: #f18e2c;
  text-align: right;
  vertical-align: bottom;
}

.company-sec_history_table_list_year span,
.page-template-page-company-sec_history_table_list_year span,
.page-template-page-company_en-sec_history_table_list_year span {
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
  border-bottom: 2px solid #ffffff;
  padding: 80px 15px 3px 20px;
  display: inline-block;
}

.company-sec_history_table_list_text,
.page-template-page-company-sec_history_table_list_text,
.page-template-page-company_en-sec_history_table_list_text {
  position: relative;
  text-align: left;
  vertical-align: top;
  padding: 22px 0 22px 18px;
}

.company-sec_history_table_list_text:after,
.page-template-page-company-sec_history_table_list_text:after,
.page-template-page-company_en-sec_history_table_list_text:after {
  content: '';
  width: 100%;
  height: 1px;
  background-image: url(/images/company/company_bg01.svg);
  background-repeat: repeat-x;
  left: 0;
  bottom: 0;
  position: absolute;
  display: block;
}

.company-sec_history_table_list_text p,
.page-template-page-company-sec_history_table_list_text p,
.page-template-page-company_en-sec_history_table_list_text p {
  font-size: 16px;
  padding-left: 20px;
  position: relative;
  letter-spacing: .15em;
  margin-bottom: 5px;
}

.company-sec_history_table_list_text p:before,
.page-template-page-company-sec_history_table_list_text p:before,
.page-template-page-company_en-sec_history_table_list_text p:before {
  content: 'ｰ';
  position: absolute;
  font-size: 11px;
  top: 3px;
  left: 0;
}

.company-sec_history_table_list:last-of-type .company-sec_history_table_list_text,
.page-template-page-company-sec_history_table_list:last-of-type .company-sec_history_table_list_text,
.page-template-page-company_en-sec_history_table_list:last-of-type .company-sec_history_table_list_text {
  padding-bottom: 45px;
}

.company-sec_history_table_list:last-of-type .company-sec_history_table_list_text:after,
.page-template-page-company-sec_history_table_list:last-of-type .company-sec_history_table_list_text:after,
.page-template-page-company_en-sec_history_table_list:last-of-type .company-sec_history_table_list_text:after {
  display: none;
}

.company-top .ir-menu_box,
.page-template-page-company-top .ir-menu_box,
.page-template-page-company_en-top .ir-menu_box {
  display: none;
}

.company-top .ir-sec_heading,
.page-template-page-company-top .ir-sec_heading,
.page-template-page-company_en-top .ir-sec_heading {
  color: #000000;
}

/*=========================
CONTACT
==========================*/

.contact .page-mainvisual_img {
  background-image: url(../images/contact/header_img@2x.png);
}

.contact .page-mainvisual {
  margin-bottom: 145px;
}

.contact-sec_header {
  text-align: center;
  border-bottom: solid 1px #CCCCCC;
  margin-bottom: 60px;
  padding-bottom: 45px;
}

.contact-sec_header_txt {
  font-size: 15px;
  color: #363636;
  margin-bottom: 35px;
  line-height: 25px;
}

.contact-sec_header_links {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.contact-sec_header_links_list {
  display: inline-block;
  width: 100%;
  margin-bottom: 20px;
}

.contact-sec_header_links_list_item {
  font-size: 15px;
  border: 1px solid #f18e2c;
  color: #f18e2c !important;
  text-align: center;
  line-height: 25px;
  display: block;
  text-decoration: none;
  position: relative;
  width: 100%;
  padding: 13px 0px;
}

.contact-sec_header_links_list_item span {
  color: #f18e2c;
}

.contact-sec_header_links_list_item_current {
  opacity: 1;
  color: #ffffff;
  background-color: #f18e2c;
}

.contact-sec_header_links_list_item_current span {
  color: #ffffff;
}

.contact-sec_header_links_list_item_current:before {
  border-color: #ffffff !important;
}

.contact-sec_header_links_list_item:before {
  content: '';
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 9px;
  height: 9px;
  position: absolute;
  right: 28px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.contact-sec_header_links_list_item:hover {
  opacity: 1;
  color: #ffffff !important;
  background-color: #f18e2c;
}

.contact-sec_header_links_list_item:hover span {
  color: #ffffff !important;
}

.contact-sec_header_links_list_item:hover:before {
  border-color: #ffffff;
}

.contact-sec_require {
  color: #f18e2c !important;
  border: solid 1px #f18e2c;
  font-size: 13px;
  padding: 2px 15px;
  margin-left: 10px;
  font-weight: normal;
  width: 80px;
  height: 24px;
  text-align: center;
}

.contact-sec_radio {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -10px;
}

.contact-sec_radio .mwform-radio-field {
  display: inline-block;
  width: 50%;
  margin-left: 0px !important;
}

.contact-sec_privacy {
  text-align: center;
  font-size: 13px;
}

.contact-sec_privacy_link {
  margin-top: 5px;
}

.contact-sec_privacy_link_links {
  color: #f18e2c !important;
  margin: 0px 4px;
}

.contact .block--contents--table {
  max-width: 890px;
  margin: 0px 30px;
  margin: auto;
}

.contact .block--contents--table dl {
  display: block;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-size: 16px;
  border-bottom: 1px solid #E8E8E8;
}

.contact .block--contents--table dl:last-of-type {
  border-bottom: none;
}

.contact .block--contents--table dt {
  margin-bottom: 15px;
  font-size: 14px;
  font-weight: bold;
}

.contact .block--contents--table dd input,
.contact .block--contents--table dd textarea {
  font-size: 14px;
  padding: 13px 30px;
  background-color: #F2F4F5;
  border: none;
}

.contact .block--contents--table dd textarea {
  height: 280px;
}

.contact .block--contents--table dd p.attention {
  font-size: 10px;
  font-weight: normal;
}

.contact .block--contents--table .form-2col {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.contact .block--contents--table .form-2col_inner {
  width: 48%;
}

.contact .submitbtn {
  width: 188px;
  border: 1px solid #f18e2c;
  padding: 1px 0;
  margin: 0 auto;
  color: #f18e2c;
  border-radius: 100px;
  font-weight: normal;
  position: relative;
  text-align: center;
  margin-top: 30px;
}

.contact .submitbtn:after {
  content: "";
  width: 5px;
  height: 6px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 5px 6px;
  background-image: url(../images/common/arrow.svg);
  position: absolute;
  bottom: 50%;
  right: 30px;
  display: block;
  margin-top: 10px;
  transition: .3s;
  -webkit-transform: translate(0px, 3px);
  transform: translate(0px, 3px);
}

.contact .submitbtn input {
  background: transparent;
  color: #f18e2c !important;
  font-weight: normal;
}

.contact .submitbtn:hover {
  background: #f18e2c;
}

.contact .submitbtn:hover:after {
  right: 25px;
  background-image: url(../images/common/arrow_w.svg);
}

.contact .submitbtn:hover input {
  color: #ffffff !important;
}

.contact label {
  display: block;
}

.contact input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  display: none;
  opacity: 0;
  width: 1px;
  position: absolute;
  height: 1px;
}

.contact input[type="radio"] + span {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  padding: 10px 11px 8px 36px;
  border-radius: 4px;
  font-size: 14px;
}

.contact input[type="radio"] + span::before,
.contact input[type="radio"] + span::after {
  position: absolute;
  content: "";
  display: block;
  border-radius: 50%;
  top: 0;
  bottom: 0;
  margin: auto 10px auto 0;
  box-sizing: border-box;
}

.contact input[type="radio"] + span::before {
  width: 14px;
  height: 14px;
  background: #fff;
  border: 1px solid #f18e2c;
  left: 9px;
}

.contact input[type="radio"] + span::after {
  width: 6px;
  height: 6px;
  background: #999999;
  left: 13px;
  opacity: 0;
}

.contact input[type="radio"]:checked + span::before {
  border: 1px solid #f18e2c;
}

.contact input[type="radio"]:checked + span::after {
  background: #f18e2c;
  opacity: 1;
}

.contact input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  display: none;
  opacity: 0;
  width: 1px;
  position: absolute;
  height: 1px;
}

.contact input[type="checkbox"] + span {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  padding: 10px 11px 8px 36px;
  border-radius: 4px;
  font-size: 14px;
}

.contact input[type="checkbox"] + span::before,
.contact input[type="checkbox"] + span::after {
  position: absolute;
  content: "";
  display: block;
  border-radius: 50%;
  top: 0;
  bottom: 0;
  margin: auto 10px auto 0;
  box-sizing: border-box;
}

.contact input[type="checkbox"] + span::before {
  width: 14px;
  height: 14px;
  background: #fff;
  border: 1px solid #f18e2c;
  left: 9px;
}

.contact input[type="checkbox"] + span::after {
  width: 6px;
  height: 6px;
  background: #999999;
  left: 13px;
  opacity: 0;
}

.contact input[type="checkbox"]:checked + span::before {
  border: 1px solid #f18e2c;
}

.contact input[type="checkbox"]:checked + span::after {
  background: #f18e2c;
  opacity: 1;
}

.mw_wp_form_preview dd {
  margin-top: 0px;
  font-size: 14px;
}

.page-template-page-contact .l-footer-contact {
  display: none;
}

.en-US .contact-sec_require {
  padding: 2px 15px 2px 10px;
}

.en-US .submitbtn {
  width: 230px;
}

/* ====================
 mainvisual
=======================*/

.mainvisual {
  width: 100%;
  height: 100vh;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 1;
  overflow: hidden;
}

.mainvisual-scroll {
  position: absolute;
  z-index: 20;
  bottom: 200px;
  font-family: "Inter", sans-serif;
  text-decoration: none;
  font-weight: bold;
  font-size: 12px;
  right: 30px;
  text-align: center;
  color: #f18e2c !important;
  transition-delay: 1s;
  font-weight: 600;
}

.mainvisual-scroll_txt {
  top: 13px;
  position: relative;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  display: block;
}

.mainvisual-scroll:before {
  content: "";
  position: absolute;
  top: 44px;
  left: 0;
  right: 0;
  margin: auto;
  width: 1px;
  height: 155px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, #f18e2c 50%);
  background-size: 200% 200%;
  display: block;
  transition: .3s;
  -webkit-transform-origin: top;
  transform-origin: top;
  -webkit-animation: pathmove 2s ease-in-out infinite;
  animation: pathmove 2s ease-in-out infinite;
}

@-webkit-keyframes pathmove {
  0% {
    background-position: 0% 0%;
  }

  50% {
    background-position: 0% -100%;
  }

  100% {
    background-position: 0% -200%;
  }
}

@keyframes pathmove {
  0% {
    background-position: 0% 0%;
  }

  50% {
    background-position: 0% -100%;
  }

  100% {
    background-position: 0% -200%;
  }
}

.mainvisual-fv {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  /* height: 100vh; */
  min-width: 100%;
  /* min-height: 100vh; */
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 10;
  object-fit: cover;
}

.mainvisual-fv-sp-hide {
  display: block;
}

.mainvisual-fv-pc-hide {
  display: none;
  top: 40%;
}

.mainvisual-txt {
  padding-left: 70px;
  position: relative;
  z-index: 50;
}

@media screen and (min-width: 768px) and (max-width: 980px) {
  .mainvisual-txt {
    width: 60%;
  }
}

.mainvisual-txt_tlt {
  /* font-family: "Inter", sans-serif; */
  font-weight: 600;
  /* font-size: 95px; */
  font-size: clamp(40px, 6.2vw, 80px);
  letter-spacing: 1px;
}

.mainvisual-txt_tlt_sub {
  color: #f18e2c;
  display: block;
  font-size: 29px;
  letter-spacing: 0px;
  font-weight: bold;
}

.mainvisual-txt_tlt_x {
  display: inline-block;
  width: 60px;
  height: 60px;
  background-image: url(../images/home/tlt_x.svg);
  background-size: cover;
  background-position: center;
  margin: 0px 20px;
}

.mainvisual-txt_sub {
  margin-top: 10px;
}

.mainvisual-txt_sub_tlt {
  font-size: 22px;
  margin-bottom: 40px;
  color: #f18e2c;
}

.mainvisual-txt_sub_paragram {
  font-size: 15px;
  line-height: 27px;
}

.home-sec_mission {
  position: relative;
  z-index: 5;
  padding-bottom: 190px;
}

.home-sec_mission_container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.home-sec_mission_container_img img {
  width: 100%;
}

.home-sec_mission_container_info {
  max-width: 530px;
  width: 100%;
  margin-left: 100px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: end;
  -ms-flex-pack: end;
  justify-content: end;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.home-sec_mission_container_info_inner {
  position: relative;
}

.home-sec_mission_container_info_tlt {
  font-size: 25px;
  margin: 48px 0px 51px 0px;
  line-height: 52px;
  letter-spacing: 0px;
}

.home-sec_mission_container_info_txt {
  font-size: 15px;
  line-height: 28px;
  margin-bottom: 64px;
  letter-spacing: 0px;
}

.home-sec_mission_container_info_link .btn:first-child {
  margin-right: 10px;
}

.home-sec_mission_container-movie{
  flex-direction: row-reverse;
}

.home-sec_mission_container-movie .home-sec_mission_container_info{
  margin-left: 0;
}

.home-sec_mission_container-movie .home-sec_mission_container_info_tlt{
  margin-bottom: 200px;
}

.home-sec_mission_container-movie .home-sec_mission_container_img{
  margin-left: 0;
  max-width: 490px;
}

.home-sec_business {
  background-color: #E1E5E8;
  padding-top: 120px;
  padding-bottom: 230px;
  box-shadow: 0px 0px 14px 0px #d7d7d7;
}

.home-sec_business_container_header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 1260px;
  margin: auto;
  margin-bottom: 160px;
}

.home-sec_business_container_header_white_tlt {
  font-family: "Inter", sans-serif;
  color: #ffffff;
  font-size: 109px;
  font-weight: 600;
  line-height: 74px;
}

.home-sec_business_container_header_description {
  margin-left: 90px;
  position: relative;
  top: -12px;
  padding-right: 30px;
}

.home-sec_business_container_header_description_txt {
  font-size: 15px;
  margin-top: 25px;
  letter-spacing: 0px;
  line-height: 27px;
  max-width: 530px;
}

.home-sec_business_container_menu_col {
  position: relative;
  position: relative;
}

.home-sec_business_container_menu_col_inner {
  padding: 0px !important;
}

.home-sec_business_container_menu_col_dotbg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1167px;
  height: 753px;
  margin-left: -57px;
  background-image: url(../images/common/dot_bg.svg);
  background-position: center;
  margin-top: -7px;
}

.home-sec_business_container_menu_col_desc {
  position: relative;
  background-color: #ffffff;
  padding: 100px 70px;
  width: 100%;
  max-width: 600px;
  z-index: 15;
}

.home-sec_business_container_menu_col_desc .inner_tlt_semibold {
  margin: 30px 0px;
  padding-bottom: 30px;
  border-bottom: solid 1px #707070;
}

.home-sec_business_container_menu_col_desc_tlt {
  font-size: 25px;
  letter-spacing: 2.5px;
}

.home-sec_business_container_menu_col_desc_txt {
  font-size: 15px;
  line-height: 28px;
  margin-bottom: 35px;
  letter-spacing: 0px;
  text-align: justify;
}

.home-sec_business_container_menu_col_img {
  position: absolute;
  right: 0px;
  width: 57%;
  background-size: cover;
  background-position: center;
  z-index: 10;
}

.home-sec_business_container_menu_col_img_01 {
  background-image: url(../images/home/solution_01@2x.png);
  top: -80px;
  height: 700px;
}

.home-sec_business_container_menu_col_img_02 {
  background-image: url(../images/home/solution_02_pc@2x.png);
  top: 0px;
  height: 600px;
}

.home-sec_business_container_menu_col:nth-of-type(1) .inner_tlt_v {
  position: absolute;
  top: 73px;
  left: -10px;
}

.home-sec_business_container_menu_col:nth-of-type(2) .home-sec_business_container_menu_col_dotbg {
  top: auto;
  bottom: -49px;
  margin-left: 66px;
  transform: translate(-50%, 0%);
  -webkit-transform: translate(-50%, 0%);
  -ms-transform: translate(-50%, 0%);
}

.home-sec_business_container_menu_col:nth-of-type(2) .inner_tlt_v {
  position: absolute;
  top: 73px;
  right: -3px;
}

.home-sec_business_container_menu_col:nth-of-type(2) .home-sec_business_container_menu_col_img {
  right: auto;
  left: 0px;
}

.home-sec_business_container_menu_col:nth-of-type(2) .home-sec_business_container_menu_col_desc {
  float: right;
  margin-top: -100px;
}

.home-sec_products {
  padding-top: 140px;
  padding-bottom: 65px;
  overflow: hidden;
}

.home-sec_products_container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.home-sec_products_container_tlt {
  padding-right: 80px;
  padding-top: 60px;
}

.home-sec_products_container_menu_list_lists_link {
  padding: 60px 0px 60px 100px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  position: relative;
}

.home-sec_products_container_menu_list_lists_link:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  right: -100%;
  background-color: #f18e2c;
  display: block;
  opacity: 0;
}

.home-sec_products_container_menu_list_lists_link_tlt {
  width: 280px;
  font-size: 37px;
  font-family: "Inter", sans-serif;
  font-weight: normal;
  letter-spacing: -1px;
}

.home-sec_products_container_menu_list_lists_link_tlt_num {
  font-size: 12px;
  vertical-align: text-top;
  display: inline-block;
  position: relative;
  top: 8px;
  color: #f18e2c;
  font-weight: 600;
}

.home-sec_products_container_menu_list_lists_link_txt {
  width: calc(100% - 257px);
  font-size: 15px;
  line-height: 30px;
  letter-spacing: 0px;
  text-align: justify;
}

.home-sec_ir_news {
  background-color: #E1E5E8;
  padding-top: 100px;
  padding-bottom: 135px;
}

.home-sec_ir_news_container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 1100px;
  width: 100%;
  margin: auto;
  padding: 0px 30px;
}

.home-sec_ir_news_container_column {
  width: 47.5%;
  max-width: 496px;
}

.home-sec_ir_news_container_column .inner_tlt {
  position: relative;
  margin-bottom: 36px;
}

.home-sec_ir_news_container_column .inner_tlt:before {
  content: "";
  width: 110px;
  height: 1px;
  background-color: #BFC2C4;
  position: absolute;
  right: 60px;
  top: 10px;
}

.home-sec_ir_news_container_column .u-ta-r {
  padding-right: 13px;
}

.home-sec_recruit {
  padding-bottom: 120px;
}

.home-sec_recruit_container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 1260px;
}

.home-sec_recruit_container_img {
  position: relative;
  top: -53px;
  left: -60px;
}

.home-sec_recruit_container_img img {
  width: 100%;
}

.home-sec_recruit_container_img:before {
  content: "";
  width: calc(100% - 20px);
  height: 45px;
  display: block;
  position: absolute;
  bottom: -45px;
  right: -27px;
  background-image: url(../images/common/dot_bg.svg);
  background-position: right top;
}

.home-sec_recruit_container_img:after {
  content: "";
  width: 60px;
  height: calc(100% - 53px);
  display: block;
  position: absolute;
  top: 53px;
  right: -26px;
  background-image: url(../images/common/dot_bg.svg);
  background-position: right bottom;
}

.home-sec_recruit_container_desc {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: end;
  -ms-flex-pack: end;
  justify-content: end;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.home-sec_recruit_container_desc_inner {
  position: relative;
  top: -48px;
}

.home-sec_recruit_container_desc_tlt {
  margin-top: 56px;
  font-size: 24px;
}

.home-sec_recruit_container_desc_tlt_sub {
  margin-top: 22px;
  font-size: 17px;
  color: #f18e2c;
}

.home-sec_recruit_container_desc_txt {
  margin-top: 45px;
  margin-bottom: 68px;
  font-size: 15px;
  line-height: 25px;
  letter-spacing: 0px;
}

_::-webkit-full-page-media,
_:future,
:root .home-sec_recruit_container_desc_inner {
  top: 105px;
}

_::-webkit-full-page-media,
_:future,
:root .en-US .home-sec_recruit_container_desc_inner {
  top: 80px;
}

.page-template-page-top_en .home-sec_business_container_menu_col_desc_txt {
  text-align: left;
}

.page-template-page-top_en .home-sec_products_container_menu_list_lists_link_txt {
  text-align: left;
}

.page-template-page-top_en .home-sec_ir_news_container_column {
  width: 100%;
  max-width: 100%;
}

/*=========================
IR 免責事項
==========================*/

.ir-disclaimer-sec_section {
  margin-bottom: 60px;
}

.ir-disclaimer .l-footer-contact {
  display: none;
}

/*=========================
IR コーポレート・ガバナンス
==========================*/

.ir-governance-sec section {
  margin-bottom: 95px;
}

.ir-governance-sec_think_text {
  font-size: 15px;
  color: #333333;
}

.ir-governance-sec_report_text {
  font-size: 15px;
  color: #333333;
}

.ir-governance-sec_report_list {
  margin-top: 45px;
}

.ir-governance-sec_report_list_lists_date {
  color: #87898B;
  font-size: 15px;
  letter-spacing: 0px;
  padding-left: 25px;
  margin-bottom: 24px;
  position: relative;
  /*
            &:before{
              content: '';
              border-top: solid 1px $orange;
              border-right: solid 1px $orange;
              width: 9px;
              height: 9px;
              position: absolute;
              left: 0px;
              top: 50%;
              transform:translateY(-50%) rotate(45deg);
            }
            */
}

.ir-governance-sec_report_list a {
  font-size: 15px;
  text-decoration: none;
  padding-left: 25px;
  position: relative;
}

.ir-governance-sec_report_list a:before {
  content: '';
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 9px;
  height: 9px;
  position: absolute;
  left: 0;
  top: 7px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.ir-governance .l-footer-contact {
  display: none;
}

/*=========================
IR IRカレンダー
==========================*/

.ir-ircalendar-sec_schedule_text {
  font-size: 13px;
}

.ir-ircalendar .l-footer-contact {
  display: none;
}

/*=========================
IR ニュース
==========================*/

.ir-irnews-sec_select {
  width: 175px;
  font-size: 15px;
  border: 1px solid #E1E5E8;
  background: #ffffff;
  overflow: hidden;
  position: relative;
  margin-bottom: 60px;
}

.ir-irnews-sec_select select {
  width: 100%;
  padding: 7px 8px 10px 8px;
  text-align: center;
  cursor: pointer;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.ir-irnews-sec_select:before {
  content: '';
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 9px;
  height: 9px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-70%) rotate(135deg);
  transform: translateY(-70%) rotate(135deg);
}

.ir-irnews-sec_select select::-ms-expand {
  display: none;
}

.ir-irnews-sec_tab {
  max-width: 975px;
  width: 100%;
  font-size: 15px;
  text-align: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-left: 1px solid #E2E5E8;
  margin-bottom: 70px;
}

.ir-irnews-sec_tab_lists {
  padding: 2px 0 3px;
  border-top: 1px solid #E2E5E8;
  border-bottom: 1px solid #E2E5E8;
  border-right: 1px solid #E2E5E8;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  color: #999999;
  cursor: pointer;
}

.ir-irnews-sec_tab_lists_active,
.ir-irnews-sec_tab_lists:hover {
  color: #000000;
  background-color: #E2E5E8;
}

.ir-irnews-sec_tab_lists a {
  text-decoration: none;
}

.ir-irnews-sec_irnews_list_lists {
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 40px;
}

.ir-irnews-sec_irnews_list_lists_header {
  padding-left: 0 !important;
}

.ir-irnews-sec_irnews_list_lists_header:before {
  display: none;
}

.ir-irnews-sec_irnews_list_lists_cat {
  width: 104px;
  text-align: center;
}

.ir-irnews-sec_irnews_list_lists_tlt {
  padding-left: 30px;
  position: relative;
}

.ir-irnews-sec_irnews_list_lists_tlt:before {
  content: '';
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 9px;
  height: 9px;
  position: absolute;
  left: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.ir-irnews-sec_irnews_list_lists_tlt a {
  color: #333333;
}

.ir-irnews-sec_adobe {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-item: center;
}

.ir-irnews-sec_adobe_text {
  font-size: 13px;
  padding-left: 26px;
  color: #999;
}

.ir-irnews .l-footer-contact {
  display: none;
}

/*=========================
IR 株主・投資家の皆様へ
==========================*/

.ir-message-sec_message_box:first-of-type img {
  width: 100%;
}

.ir-message-sec_message_box:last-of-type {
  padding-left: 0px;
}

.ir-message-sec_message_box_text {
  font-size: 15px;
  color: #333333;
  line-height: 1.8;
  margin-bottom: 1.8em;
}

.ir-message-sec_message_box_text_name {
  text-align: right;
  margin-top: 1.5em;
}

.ir-message .l-footer-contact {
  display: none;
}

/*=========================
IR 電子公告
==========================*/

.ir-public-sec_section p {
  margin-bottom: 25px;
}

.ir-public-sec_section a {
  color: #f18e2c;
}

.ir-public .l-footer-contact {
  display: none;
}

/*=========================
IR 株式情報
==========================*/

.ir-stock-sec_info_list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.ir-stock-sec_info_list_df {
  width: 195px;
  padding: 25px 0;
  text-align: center;
  border-bottom: 1px solid #E8E8E8;
}

.ir-stock-sec_info_list_dsc {
  width: calc(100% - 217px);
  margin-left: 22px;
  padding: 25px 0 25px 35px;
  border-bottom: 1px solid #E8E8E8;
}

.ir-stock .l-footer-contact {
  display: none;
}

/*=========================
IR
==========================*/

.ir {
  /*=========================
IR トップ
==========================*/
}

.ir-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}

.ir-menu_box {
  margin-bottom: 40px;
}

.ir-menu_box .accordion_open {
  border: solid 1px #D4D4D4;
}

.ir-menu_list {
  font-size: 15px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  border-left: solid 1px #D4D4D4;
  text-align: center;
  letter-spacing: 0;
}

.ir-menu_list_link {
  color: #999999;
  text-decoration: none;
  position: relative;
}

.ir-menu_list_link:visited {
  color: #999999;
}

.ir-menu_list_link:hover,
.ir-menu_list_link.u-active {
  color: #000000;
}

.ir-menu_list_link:hover:after,
.ir-menu_list_link.u-active:after {
  visibility: visible;
  width: 75px;
}

.ir main .page-sec_title {
  font-size: 27px;
  color: #f18e2c;
  letter-spacing: .15em;
  margin-bottom: 70px;
}

.ir-sec_heading {
  font-size: 27px;
  letter-spacing: .15em;
  color: #000000;
  font-weight: normal;
  position: relative;
  padding-left: 25px;
  margin-bottom: 50px;
}

.ir-sec_heading:before {
  content: '';
  width: 1px;
  height: 50px;
  background-color: #f18e2c;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.ir-sec_pdfmount {
  color: #999999;
  padding-left: 60px;
  position: relative;
}

.ir-sec_pdfmount:before {
  content: 'PDF';
  font-size: 13px;
  letter-spacing: 0;
  background-color: #f18e2c;
  line-height: 1;
  color: #ffffff;
  position: absolute;
  padding: 0 7px 1px;
  left: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.ir-sec_financial_about {
  margin-bottom: 60px;
}

.ir-sec_financial_about_container_column {
  position: relative;
}

.ir-sec_financial_about_container_column:first-child {
  padding-right: 30px;
}

.ir-sec_financial_about_container_column .btn_download span:after {
  width: 15px;
  height: 15px;
  right: -20px;
  background-size: cover;
  background-image: url(../images/common/btn_download.svg);
  background-repeat: no-repeat;
  -webkit-transform: translate(0px, 6px);
  transform: translate(0px, 6px);
}

.ir-sec_financial_about_container_column .btn_download:hover span:after {
  right: -25px;
  background-image: url(../images/common/btn_download_w.svg);
}

.ir-sec_financial_about_list {
  margin-bottom: 90px;
}

.ir-sec_financial_about_list_lists {
  padding-bottom: 30px;
  margin-bottom: 20px;
  border-bottom: 1px solid #D4D4D4;
}

.ir-sec_financial_about_list_lists a {
  font-size: 15px;
  text-decoration: none;
}

.ir-sec_financial_about_list_lists a .ir-sec_financial_about_list_lists_pdfmount {
  color: #999999;
  padding-left: 60px;
  position: relative;
}

.ir-sec_financial_about_list_lists a .ir-sec_financial_about_list_lists_pdfmount:before {
  content: 'PDF';
  font-size: 13px;
  letter-spacing: 0;
  background-color: #f18e2c;
  line-height: 1;
  color: #ffffff;
  position: absolute;
  padding: 0 7px 1px;
  left: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.ir-sec_financial_about_text {
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0;
}

.ir-sec_irnews {
  margin-bottom: 90px;
}

.ir-sec_irnews_list {
  margin-bottom: 30px;
}

.ir-sec_irnews_list_lists {
  border-bottom: 1px solid #D4D4D4;
  padding-bottom: 30px;
  margin-bottom: 20px;
  width: 100%;
  max-width: 100%;
}

.ir-sec_irnews_list_lists a {
  text-decoration: none;
}

.ir-sec_irnews_list_lists_header {
  position: relative;
  margin-bottom: 25px;
  padding-left: 25px;
  /*
            &:before{
              content: '';
              border-top: solid 1px $orange;
              border-right: solid 1px $orange;
              width: 9px;
              height: 9px;
              position: absolute;
              left: 0;
              top: 50%;
              transform:translateY(-50%) rotate(45deg);
            }
            */
}

.ir-sec_irnews_list_lists_date {
  color: #87898B;
  font-size: 15px;
  letter-spacing: 0px;
}

.ir-sec_irnews_list_lists_cat {
  color: #f18e2c !important;
  border: solid 1px #f18e2c;
  font-size: 13px;
  padding: 2px 4px;
  margin-left: 29px;
  position: absolute;
  right: 0;
}

.ir-sec_irnews_list_lists_cat:hover {
  color: #f18e2c !important;
}

.ir-sec_irnews_list_lists_tlt {
  font-weight: normal;
  font-size: 15px;
  letter-spacing: 0px;
  padding-left: 25px;
  position: relative;
}

.ir-sec_irnews_list_lists_tlt:before {
  content: '';
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 9px;
  height: 9px;
  position: absolute;
  left: 0;
  top: 7px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.ir-sec_irnews .btn {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.ir-sec_links_list {
  border-bottom: 1px solid #f18e2c;
}

.ir-sec_links_list:after {
  content: "";
  display: block;
  width: 30%;
  height: 1px;
}

.ir-sec_links_list_item {
  width: 30%;
}

.ir-sec_links_list_item a {
  font-size: 15px;
  color: #000000;
  border: 1px solid #f18e2c;
  text-align: center;
  line-height: 2.5;
  display: block;
  text-decoration: none;
  position: relative;
}

.ir-sec_links_list_item a span {
  color: #f18e2c;
}

.ir-sec_links_list_item a:before {
  content: '';
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 9px;
  height: 9px;
  position: absolute;
  right: 28px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.ir-sec_links_list_item a:hover {
  opacity: 1;
  color: #ffffff;
  background-color: #f18e2c;
}

.ir-sec_links_list_item a:hover span {
  color: #ffffff;
}

.ir-sec_links_list_item a:hover:before {
  border-color: #ffffff;
}

.ir-top .ir-menu_box {
  display: none;
}

.ir-top .page-mainvisual {
  margin-bottom: 150px;
}

.ir-top .ir-sec_heading {
  color: #000000;
}

.ir .l-footer-contact {
  display: none;
}

.ir-menu_box {
  display: none;
}

.en-US .ir-menu_box_en {
  display: block;
}

.en-US .ir-sec_financial_about_container {
  display: block;
}

.en-US .ir-sec_financial_about_container_column {
  width: 100% !important;
}

.en-US .ir-sec_financial_about_container_column .btn {
  position: relative;
  bottom: 0px;
  right: 0px;
  margin-top: 20px;
}

.ja .ir-menu_box_jp {
  display: block;
}

.news .l-container {
  max-width: 1260px;
}

.news .page-mainvisual {
  margin-bottom: 100px;
}

.news .page-mainvisual_img {
  background-image: url(../images/news/header_img@2x.png);
}

.news-sec_select {
  width: 175px;
  font-size: 15px;
  border: 1px solid #E1E5E8;
  background: #ffffff;
  overflow: hidden;
  position: relative;
  margin-bottom: 60px;
}

.news-sec_select select {
  width: 100%;
  padding: 7px 8px 10px 8px;
  text-align: center;
  cursor: pointer;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.news-sec_select:before {
  content: '';
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 9px;
  height: 9px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-70%) rotate(135deg);
  transform: translateY(-70%) rotate(135deg);
}

.news-sec_select select::-ms-expand {
  display: none;
}

.news-sec_tab {
  max-width: 975px;
  width: 100%;
  font-size: 15px;
  text-align: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-left: 1px solid #E2E5E8;
  margin-bottom: 70px;
}

.news-sec_tab_lists {
  padding: 2px 0 3px;
  border-top: 1px solid #E2E5E8;
  border-bottom: 1px solid #E2E5E8;
  border-right: 1px solid #E2E5E8;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  color: #999999;
  cursor: pointer;
}

.news-sec_tab_lists_active,
.news-sec_tab_lists:hover {
  color: #000000;
  background-color: #E2E5E8;
}

.news-sec_news_list_lists {
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 40px;
}

.news-sec_news_list_lists_header {
  padding-left: 0 !important;
}

.news-sec_news_list_lists_header:before {
  display: none;
}

.news-sec_news_list_lists_cat {
  width: 104px;
  text-align: center;
  top: 0px;
  display: inline-block;
}

.news-sec_news_list_lists_tlt {
  padding-left: 30px;
  position: relative;
}

.news-sec_news_list_lists_tlt:before {
  content: '';
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 9px;
  height: 9px;
  position: absolute;
  left: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.news-sec_news_list_lists_tlt a {
  color: #333333;
}

.news-sec_adobe {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-item: center;
}

.news-sec_adobe_text {
  font-size: 13px;
  padding-left: 26px;
  color: #999;
}

.news-sec_single .l-container {
  max-width: 875px;
  margin: auto;
}

.news-sec_single .page-mainvisual {
  margin-bottom: 100px;
}

.news-sec_single_column_header {
  margin-bottom: 60px;
}

.news-sec_single_column_header_tlt {
  font-size: 27px;
  color: #f18e2c;
  letter-spacing: 4px;
  margin-bottom: 35px;
}

.news-sec_single_column_header_date {
  color: #999999;
  font-size: 15px;
}

.news-sec_single_column_contents {
  font-size: 15px;
  line-height: 30px;
  color: #333333;
}

.news-sec_single_column_contents h4 {
  font-size: 17px;
}

.news-sec_single_column_contents a {
  color: #f18e2c;
}

.news-sec_single_column_contents p {
  margin-bottom: 20px;
}

.news-sec_single_column_contents img {
  max-width: 100%;
  width: auto;
}

.news-sec_single_back {
  margin-top: 75px;
}

.news .l-footer-contact {
  display: none;
}

.news_list {
  margin-bottom: 60px;
}

.news_list_lists {
  border-bottom: 1px solid #D4D4D4;
  padding-bottom: 30px;
  margin-bottom: 20px;
  width: 100%;
  max-width: 100%;
}

.news_list_lists a {
  text-decoration: none;
}

.news_list_lists_header {
  position: relative;
  margin-bottom: 25px;
  padding-left: 25px;
  /*
          &:before{
            content: '';
            border-top: solid 1px $orange;
            border-right: solid 1px $orange;
            width: 9px;
            height: 9px;
            position: absolute;
            left: 0;
            top: 50%;
            transform:translateY(-50%) rotate(45deg);
          }
          */
}

.news_list_lists_date {
  color: #87898B;
  font-size: 15px;
  letter-spacing: 0px;
}

.news_list_lists_cat {
  color: #f18e2c !important;
  border: solid 1px #f18e2c;
  font-size: 13px;
  padding: 2px 4px;
  margin-left: 29px;
  position: absolute;
  right: 0;
  display: inline-block;
}

.news_list_lists_cat:hover {
  color: #f18e2c !important;
}

.news_list_lists_tlt {
  font-weight: normal;
  font-size: 15px;
  letter-spacing: 0px;
  padding-left: 25px;
  position: relative;
}

.news_list_lists_tlt:before {
  content: '';
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 9px;
  height: 9px;
  position: absolute;
  left: 0;
  top: 7px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.news .btn {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.news .btn span:after {
  transition: 0s;
}

.news .btn:hover {
  background-color: #f18e2c;
}

.news .btn:hover span {
  color: #ffffff;
}

.news .btn:hover span:after {
  background-image: url(/images/ir/arrow_white.svg);
  right: -10px;
}

.news_links_list {
  border-bottom: 1px solid #f18e2c;
}

.news_links_list_item a {
  font-size: 15px;
  color: #000000;
  border: 1px solid #f18e2c;
  text-align: center;
  line-height: 2.5;
  display: block;
  text-decoration: none;
  position: relative;
}

.news_links_list_item a span {
  color: #f18e2c;
}

.news_links_list_item a:before {
  content: '';
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 9px;
  height: 9px;
  position: absolute;
  right: 28px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.news_links_list_item a:hover {
  opacity: 1;
  color: #ffffff;
  background-color: #f18e2c;
}

.news_links_list_item a:hover span {
  color: #ffffff;
}

.news_links_list_item a:hover:before {
  border-color: #ffffff;
}

.news-top_list_lists {
  position: relative;
  margin-bottom: 47px;
}

.news-top_list_lists:after {
  content: "";
  width: 110px;
  height: 1px;
  background-color: #BFC2C4;
  position: absolute;
  left: 0px;
  bottom: -20px;
}

.news-top_list_lists a {
  text-decoration: none;
}

.news-top_list_lists a:hover {
  opacity: 0.5;
}

.news-top_list_lists_header {
  position: relative;
  margin-bottom: 18px;
}

.news-top_list_lists_date {
  color: #87898B;
  font-size: 13px;
  font-family: "Inter", sans-serif;
  letter-spacing: 0px;
}

.news-top_list_lists_cat {
  color: #f18e2c !important;
  border: solid 1px #f18e2c;
  font-size: 13px;
  padding: 2px 2px;
  margin-left: 29px;
  display: inline-block;
}

.news-top_list_lists_cat:hover {
  color: #f18e2c !important;
}

.news-top_list_lists_tlt {
  font-weight: normal;
  font-size: 15px;
  letter-spacing: 0px;
}

/* ====================
 policy
=======================*/

.policy .page-mainvisual {
  margin-bottom: 145px;
}

.policy .page-mainvisual_img {
  background-image: url(../images/policy/header_img@2x.png);
}

.policy .l-container {
  max-width: 920px;
  font-size: 15px;
  line-height: 33px;
  color: #525252;
}

.policy-sec_col {
  margin: 60px 0px;
}

.policy-sec_col_tlt {
  font-size: 19px;
  font-weight: normal;
  letter-spacing: 2px;
  margin-bottom: 40px;
  border-left: solid 1px #f18e2c;
  padding-left: 14px;
}

.policy-sec_col_txt_r {
  text-align: right;
}

/* ====================
 privacy
=======================*/

.privacy .page-mainvisual,
.page-template-page-privacy .page-mainvisual {
  margin-bottom: 100px;
}

.privacy .page-mainvisual_img,
.page-template-page-privacy .page-mainvisual_img {
  background-image: url(../images/privacy/header_img@2x.png);
}

.privacy .l-container,
.page-template-page-privacy .l-container {
  max-width: 920px;
}

.privacy-sec,
.page-template-page-privacy-sec {
  margin-bottom: 145px;
}

.privacy-sec_tlt,
.page-template-page-privacy-sec_tlt {
  font-size: 27px;
  letter-spacing: 4px;
  color: #f18e2c;
  margin-bottom: 50px;
}

.privacy-sec_tlt_h4,
.page-template-page-privacy-sec_tlt_h4 {
  font-size: 19px;
  font-weight: normal;
  letter-spacing: 2px;
  margin-bottom: 40px;
  border-left: solid 1px #f18e2c;
  padding-left: 14px;
}

.privacy-sec_txt,
.page-template-page-privacy-sec_txt {
  font-size: 15px;
  line-height: 33px;
  color: #525252;
  margin-bottom: 25px;
}

.privacy-sec_txt_first,
.page-template-page-privacy-sec_txt_first {
  margin-bottom: 100px;
}

.privacy-sec_txt_r,
.page-template-page-privacy-sec_txt_r {
  margin-top: 25px;
  text-align: right;
}

.privacy-sec_col,
.page-template-page-privacy-sec_col {
  border-bottom: solid 1px #e5e5e5;
  padding-bottom: 50px;
  margin-bottom: 50px;
}

.privacy-sec_col p,
.privacy-sec_col ul,
.page-template-page-privacy-sec_col p,
.page-template-page-privacy-sec_col ul {
  font-size: 15px;
  line-height: 33px;
  color: #525252;
  letter-spacing: 1px;
}

.privacy-sec_col_list,
.page-template-page-privacy-sec_col_list {
  font-size: 14px;
  line-height: 33px;
  color: #525252;
  letter-spacing: 1px;
}

.privacy-sec_col_list dl,
.page-template-page-privacy-sec_col_list dl {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0px;
  border-bottom: solid 1px #e5e5e5;
}

.privacy-sec_col_list dl dt,
.page-template-page-privacy-sec_col_list dl dt {
  width: 170px;
  margin-right: 20px;
}

.privacy-sec_col_list dl dd,
.page-template-page-privacy-sec_col_list dl dd {
  width: calc(100% - 220px);
}

.privacy-sec .btn,
.page-template-page-privacy-sec .btn {
  margin-top: 70px;
}

.privacy-sec_contact,
.page-template-page-privacy-sec_contact {
  border: solid 1px #f18e2c;
  padding: 50px 30px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 60px;
}

.privacy-sec_contact_tlt,
.page-template-page-privacy-sec_contact_tlt {
  font-size: 20px;
  color: #f18e2c;
  letter-spacing: 4px;
  margin-right: 60px;
}

.dot_list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 20px;
}

.dot_list li:before {
  content: "・";
  position: absolute;
  top: 0px;
  left: 0px;
}

.page-id-1328 .page-mainvisual_img {
  background-image: url(../images/security/header_img@2x.png);
}

.recruit.l-page .l-wrapper {
  background: url(../images/recruit/bg_recruit.png) center repeat-y;
  background-size: contain;
}

.recruit.l-page .mainvisual {
  background: url(../images/recruit/header_sp.jpg);
  background-size: cover;
}

.recruit h2 {
  font-size: 25px;
  font-weight: bold;
  color: #FE0000;
  position: relative;
  padding-bottom: 30px;
  line-height: 1;
  margin-bottom: 50px;
  text-align: center;
  line-height: 1.4;
}

.recruit h2::after {
  content: "";
  width: 92px;
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 5px;
  background: #FE0000;
  -webkit-transform: skewX(-40deg);
  transform: skewX(-40deg);
}

.recruit .sec-recruit_intro {
  text-align: center;
}

.recruit .sec-recruit_intro.sec-content {
  padding-left: 0;
  padding-right: 0;
}

.recruit .sec-recruit_intro-description {
  width: 100%;
  margin-bottom: 90px;
  padding-left: 20px;
  padding-right: 20px;
}

.recruit .sec-recruit_intro-description p {
  text-align: left;
  font-size: 16px;
  line-height: 31px;
}

.recruit .sec-recruit_intro img {
  width: 100%;
}

.recruit .sec-recruit_message ul > li {
  width: 100%;
  margin: 0 auto 80px auto;
}

.recruit .sec-recruit_message ul > li h2 {
  margin-bottom: 80px;
}

.recruit .sec-recruit_message ul > li .sec-recruit_message-block {
  font-size: 16px;
  line-height: 30px;
}

.recruit .sec-recruit_message ul > li .sec-recruit_message-block > div img {
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.recruit .sec-recruit_message ul > li .sec-recruit_message-block.small-photo .sec-recruit_message-block_image {
  text-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.recruit .sec-recruit_message ul > li .sec-recruit_message-block.small-photo .sec-recruit_message-block_image img {
  max-width: 560px;
  display: block;
}

.recruit .sec-recruit_message ul > li:nth-child(even) .sec-recruit_message-block_image {
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
}

.recruit .sec-recruit_message ul > li:nth-child(even) .sec-recruit_message-block_description {
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
}

.recruit .sec-recruit_overview {
  background: #FAFAFA url(../images/recruit/bg_overview.png) center no-repeat;
  background-size: cover;
}

.recruit .sec-recruit_company {
  background: #FFF url(../images/recruit/bg_overview.png) center no-repeat;
  background-size: cover;
}

.recruit .sec-recruit_overview table,
.recruit .sec-recruit_company table {
  width: 100%;
  margin: 0 auto;
}

.recruit .sec-recruit_overview table tr,
.recruit .sec-recruit_company table tr {
  font-size: 17px;
}

.recruit .sec-recruit_overview table tr th,
.recruit .sec-recruit_company table tr th {
  background: #F4F7FB;
  border: 1px solid #E8E8E8;
  width: 150px;
  font-weight: bold;
  padding: 11px 0;
  vertical-align: top;
}

.recruit .sec-recruit_overview table tr td,
.recruit .sec-recruit_company table tr td {
  background: #fff;
  border: 1px solid #E8E8E8;
  text-align: left;
  padding: 11px 25px;
}

.recruit .sec-recruit_contact {
  background: #FAFAFA;
  text-align: center;
  padding: 50px 0;
}

.recruit .sec-recruit_contact .contact-btn {
  background: #ED1C24;
  display: inline-block;
  width: 100%;
  padding: 15px 0;
}

.recruit .sec-recruit_contact .contact-btn a {
  color: #FFF;
  text-decoration: none;
  font-weight: bold;
  font-size: 18px;
}

.recruit .sec-recruit_photo.sec-content {
  padding: 50px 0;
  background: #ffffff;
}

.recruit .sec-recruit_photo.sec-content img {
  width: 100%;
  height: auto;
}

/*=========================
sustainability
==========================*/

.sustainability .page-mainvisual {
  margin-bottom: 120px;
}

.sustainability .page-mainvisual_img {
  background-image: url(../images/sustainability/header_img@2x.png);
}

.sustainability .l-container {
  max-width: 1260px;
}

.sustainability-first-sec {
  overflow: hidden;
}

.sustainability-first-sec__contents {
  position: relative;
  height: 460px;
}

.sustainability-first-sec__contents--inner {
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 10;
}

.sustainability-first-sec__contents--title span {
  padding: 14px 10px 14px 25px;
  background-color: #ffffff;
  font-size: 42px;
  color: #f18e2c;
  line-height: 80px;
}

.sustainability-first-sec__contents__slide__list {
  height: 470px;
}

.sustainability-first-sec__contents__slide__list--img {
  width: auto;
  height: 100%;
}

.sustainability-post-sec {
  margin-top: 120px;
  padding-bottom: 100px;
  width: 100%;
  overflow: hidden;
}

.sustainability-post-sec__carousel {
  margin-top: 25px;
}

.sustainability-post-sec__tlt {
  text-align: center;
  color: #f18e2c;
  font-size: 27px;
  letter-spacing: 4px;
}

.sustainability-post-sec__item {
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
  margin-bottom: 30px !important;
  width: 1100px;
}

.sustainability-post-sec__item__contents {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.sustainability-post-sec__item__contents:before {
  content: "";
  width: calc(100% - 20px);
  height: 100%;
  display: block;
  position: absolute;
  top: 24px;
  right: -4px;
  background-image: url(../images/common/dot_bg_ptn.png);
  background-position: right top;
  background-size: 20px;
}

.sustainability-post-sec__item__inner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background-color: #ffffff;
  border: solid 1px #f18e2c;
  position: relative;
  z-index: 5;
  padding: 50px !important;
}

.sustainability-post-sec__item__inner .c-carousel__header {
  width: 44.5%;
  max-width: 436px;
  min-width: 300px;
  margin-top: 0px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.sustainability-post-sec__item__inner .c-carousel__inner {
  width: calc(100% - 436px);
}

.sustainability-post-sec__item--data {
  font-size: 13px;
  display: block;
  color: #999999;
  font-weight: normal;
  letter-spacing: 0px;
  margin-bottom: 7px;
}

.sustainability-post-sec__item .c-carousel__image-box {
  height: auto !important;
  max-height: 100% !important;
}

.sustainability-post-sec__item .c-carousel__img {
  object-fit: unset;
  height: auto;
}

.sustainability-post-sec__item .c-carousel__title {
  font-size: 24px;
  padding-left: 50px;
  letter-spacing: 0px;
}

.sustainability-post-sec__item .c-carousel__title--sub {
  font-size: 15px;
  display: block;
  color: #f18e2c;
  margin-bottom: 7px;
}

.sustainability-post-sec__item .c-carousel__txt {
  border-top: solid 1px #999999;
  padding-left: 50px;
  margin-top: 23px;
  padding-top: 22px;
  letter-spacing: 0px;
}

.sustainability-post-sec__item .c-carousel__body {
  margin-top: 0px;
}

.sustainability-post-sec__item .c-carousel__footer {
  padding-left: 50px;
}

.sustainability-what-sec {
  background-color: #E1E5E8;
  padding: 75px 0px;
  box-shadow: 0px 0px 14px 0px #d7d7d7;
  margin-top: 185px;
  position: relative;
}

.sustainability-what-sec:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 85%;
  display: block;
  width: 1px;
  height: 200px;
  border-left: dashed 1px #f18e2c;
  z-index: 10;
}

.sustainability-what-sec__contents {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.sustainability-what-sec__info {
  padding-right: 100px;
  width: 58%;
}

.sustainability-what-sec__info .c-title {
  line-height: 63px;
}

.sustainability-what-sec__info .c-title__sub--top {
  margin-bottom: 40px;
}

.sustainability-what-sec__img {
  width: 42%;
}

.sustainability-what-sec__img img {
  width: 100%;
}

.sustainability-what-sec__txt {
  margin-top: 40px;
}

.sustainability-guidelines-sec {
  margin-top: 150px;
}

.sustainability-guidelines-sec__txt {
  text-align: center;
  margin-top: 27px;
}

.sustainability-guidelines-sec__img {
  margin-top: 96px;
  width: 100%;
}

.sustainability-project-sec {
  margin-top: 140px;
}

.sustainability-project-sec__border {
  padding-top: 140px !important;
  border-top: solid 1px #ddd;
}

.sustainability-project-sec__first {
  text-align: center;
  margin-top: 31px;
}

.sustainability-project-sec__contents {
  background-image: url(../images/common/dot_bg_ptn.png);
  background-position: right top;
  background-size: 20px;
  padding: 65px 70px;
  margin-top: 95px;
}

.sustainability-project-sec__item {
  background-color: #ffffff;
  padding: 60px;
}

.sustainability-project-sec__item:not(:last-child) {
  margin-bottom: 110px;
}

.sustainability-project-sec__item__info {
  position: relative;
  padding-right: 53px;
  width: 66%;
}

.sustainability-project-sec__item__header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.sustainability-project-sec__item__img {
  margin-top: -100px;
  margin-right: -120px;
  width: 45%;
  -webkit-align-self: start;
  -ms-flex-item-align: start;
  -ms-grid-row-align: start;
  align-self: start;
}

.sustainability-project-sec__item__img_pc {
  display: block;
}

.sustainability-project-sec__item__img_sp {
  display: none;
}

.sustainability-project-sec__item__tlt {
  font-size: 24px;
  line-height: 37px;
  margin-top: 40px;
}

.sustainability-project-sec__item__txt {
  margin-top: 35px;
}

.sustainability-project-sec__item__num {
  font-size: 100px;
  font-family: "Inter", sans-serif;
  font-weight: bold;
  color: #f18e2c;
  position: absolute;
  top: -140px;
  left: 10px;
}

.sustainability-project-sec__item__menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.sustainability-project-sec__item__menu:after {
  content: '';
  width: 32%;
  height: 1px;
  display: block;
}

.sustainability-project-sec__item__menu-box {
  margin-top: 40px;
  border-top: solid 1px #ddd;
  padding-top: 40px;
}

.sustainability-project-sec__item__menu--outer-link {
  font-weight: bold;
  text-decoration: none;
  position: relative;
  padding-left: 60px;
  display: inline-block;
  margin-bottom: 25px;
  font-size: 16px;
  transition: .3s;
}

.sustainability-project-sec__item__menu--outer-link:before {
  content: "";
  width: 40px;
  height: 1px;
  background-color: #f18e2c;
  display: inline-block;
  position: absolute;
  top: 10px;
  left: 0px;
}

.sustainability-project-sec__item__menu--outer-link:hover {
  opacity: 0.5;
}

.sustainability-project-sec__item__menu--items {
  width: 32%;
  margin-bottom: 20px;
}

.sustainability-project-sec__item__menu--link {
  width: 100%;
  border: solid 1px #f18e2c;
  padding: 34px 34px 34px 20px;
  display: block;
  text-decoration: none;
  position: relative;
  transition: .3s;
  height: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.sustainability-project-sec__item__menu--link:before {
  content: '';
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 9px;
  height: 9px;
  position: absolute;
  top: 44%;
  right: 20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: rotate(45deg);
}

.sustainability-project-sec__item__menu--link:hover {
  background-color: #ff6b22;
  color: #ffffff !important;
  opacity: 1 !important;
}

.sustainability-project-sec__item__menu--link:hover:before {
  border-top: solid 1px #ffffff;
  border-right: solid 1px #ffffff;
}

.sustainability_single__column {
  max-width: 815px !important;
  margin: auto;
}

.sustainability_single__header_tlt {
  font-size: 15px;
  border-bottom: solid 1px #ddd;
  padding-bottom: 8px;
  margin-bottom: 15px;
  font-weight: bold;
  letter-spacing: 1px;
  position: relative;
  padding-left: 30px;
}

.sustainability_single__header_tlt--num {
  color: #f18e2c;
  font-family: "Inter", sans-serif;
  font-size: 22px;
  margin-left: 3px;
  position: absolute;
  top: -6px;
  left: 0px;
}

.sustainability_single__fv {
  margin-top: 35px;
}

.sustainability_single__contents {
  border-bottom: solid 1px #ddd;
  padding-bottom: 60px;
}

.sustainability_single__contents h2,
.sustainability_single__contents h3,
.sustainability_single__contents table {
  margin-top: 80px;
}

.sustainability_single__contents p,
.sustainability_single__contents ul {
  margin-top: 35px;
  margin-bottom: 0px;
}

.sustainability_single__contents figure {
  width: auto;
  max-width: 100%;
  border: solid 1px #ddd;
  display: inline-block;
  text-align: center;
  margin-top: 30px !important;
}

.sustainability_single__contents figure img {
  width: auto;
  max-width: 100%;
}

.sustainability_single__contents ul li {
  position: relative;
  padding-left: 15px;
  font-size: 15px;
  margin-bottom: -3px;
}

.sustainability_single__contents ul li:before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 100%;
  background-color: #f18e2c;
  display: inline-block;
  position: absolute;
  top: 11px;
  left: 0px;
}

.sustainability_single__contents ul li ul {
  margin-top: 0px !important;
}

.sustainability_single__contents ul li ul li {
  position: relative;
  padding-left: 15px;
  font-size: 15px;
}

.sustainability_single__contents ul li ul li:before {
  content: "";
  width: 10px;
  height: 2px;
  background-color: #f18e2c;
  display: inline-block;
  position: absolute;
  top: 14px;
  left: 0px;
}

.sustainability_single__contents p + ul,
.sustainability_single__contents h2 + ul,
.sustainability_single__contents h3 + ul {
  margin-top: 15px;
}

.sustainability_single__contents table th {
  background: #E1E5E8;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  border-collapse: collapse;
  font-weight: bold;
  width: auto !important;
}

.sustainability_single__contents table th:last-child {
  border-right: 2px solid #E1E5E8;
  border-bottom: 2px solid #E1E5E8;
}

.sustainability_single__contents table td {
  border: 2px solid #E1E5E8;
  border-collapse: collapse;
  text-align: left;
  line-height: 21px;
}

.sustainability_single__contents table td,
.sustainability_single__contents table th {
  padding: 25px 10px;
  width: 30px;
  height: 25px;
  font-size: 15px;
}

.sustainability_single__contents .wp-block-columns figure,
.sustainability_single__contents .wp-block-columns p {
  margin-top: 0px !important;
}

.sustainability_single__contents .wp-block-columns {
  margin-top: 80px;
}

.sustainability_single__contents__table {
  overflow-y: hidden;
  overflow-x: scroll;
}

.sustainability_single__contents__table__hide {
  opacity: 0;
}

.sustainability_single__contents__table__inner {
  min-width: 740px;
}

.sustainability_single__contents .wp-flex_static {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 3em;
  margin-top: 80px;
}

.sustainability_single__contents .wp-flex_static .wp-flex_static__col {
  width: 50%;
}

.sustainability_single__contents .wp-flex_static .wp-flex_static__col p {
  margin-top: 0px;
}

.sustainability_single__contents .wp-flex_static .wp-flex_static__col figure {
  width: 100% !important;
  margin-top: 0px !important;
}

.sustainability_single__contents .wp-flex_static .wp-flex_static__col img {
  width: 100% !important;
}

.sustainability_single__share {
  margin-top: 130px;
  text-align: center;
}

.sustainability_single__share__tlt {
  font-weight: bold;
  position: relative;
  letter-spacing: 3px;
}

.sustainability_single__share__tlt:before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 30px);
  display: block;
  width: 1px;
  height: 60px;
  border-left: dashed 1px #f18e2c;
  z-index: 10;
}

.sustainability_single__share__link {
  margin-top: 18px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.sustainability_single__share__link .btn {
  margin: 0px 5px;
  height: 35px;
}

.sustainability_single__other {
  max-width: 815px;
  margin: auto;
  margin-top: 80px;
  position: relative;
}

.sustainability_single__other__tlt {
  font-size: 27px;
  font-weight: normal;
  border-left: solid 1px #f18e2c;
  letter-spacing: 4px;
  padding: 2px 0px 5px 26px;
}

.sustainability_single__other__carousel {
  margin-top: 40px;
}

.sustainability_single__other__item {
  padding: 0px 13px !important;
  width: 265px;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.sustainability_single__other__item .c-carousel__header {
  margin-top: 0px;
  height: 150px;
}

.sustainability_single__other__item .c-carousel__footer {
  margin-top: 0px;
  height: 100%;
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.sustainability_single__other__item .c-carousel__image-box {
  height: 150px;
}

.sustainability_single__other__item .c-carousel__inner {
  height: calc(100% - 150px);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.sustainability_single__other__item__contents {
  padding: 0px !important;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.sustainability_single__other__item__inner {
  border: solid 1px #f18e2c;
  padding: 0px !important;
  width: 100%;
}

.sustainability_single__other__item__link {
  text-decoration: none;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.sustainability_single__other__item__link:hover {
  opacity: 1 !important;
}

.sustainability_single__other__item__link:hover .sustainability_single__other--btn {
  background-color: #f18e2c !important;
  color: #ffffff !important;
}

.sustainability_single__other__item__link:hover .sustainability_single__other--btn span:after {
  border-top: solid 1px #ffffff;
  border-right: solid 1px #ffffff;
  right: 0px;
}

.sustainability_single__other--btn {
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 0px;
  border: none;
  text-align: left;
  color: #000000 !important;
  font-weight: normal;
  padding: 25px 20px !important;
}

.sustainability_single__other--btn span {
  width: 100%;
  display: block;
  padding-right: 25px;
}

.sustainability_single__other--btn span:after {
  content: "";
  background: none !important;
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 12px;
  height: 12px;
  position: absolute;
  right: 10px;
  top: calc(50% - 16px);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.sustainability_single__back {
  text-align: center;
  margin-top: 120px;
}

/* テンプレート */

/* ====================
accordion
=======================*/

.c-accordion__open {
  cursor: pointer;
}

.c-accordion__body {
  display: none;
}

.c-arrow-button {
  text-decoration: none;
}

/* ====================
 box
=======================*/

.c-box:not(:first-child) {
  margin-top: 30px;
}

.c-box__flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.c-box__col--reverse {
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.c-box__col--center {
  -webkit-justify-content: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
}

.c-box__2-col {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.c-box__2-col .c-box__col {
  width: 48%;
}

.c-box__3-col {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.c-box__3-col .c-box__col {
  width: 31%;
}

.c-box__4-col {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.c-box__4-col .c-box__col {
  width: 23%;
}

.c-box__concept {
  position: relative;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.c-box__concept:before {
  content: "";
  width: 100vw;
  height: 98%;
  background-position: center;
  background-repeat: repeat;
  background-image: url("../images/common/wave_bg.png");
  display: block;
  position: absolute;
  left: -20px;
  top: 82px;
}

.c-box__concept--img {
  position: relative;
  z-index: 10;
}

.c-box__concept--txt {
  margin-top: 30px;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 1px;
}

.c-box__concept--txt-box {
  position: relative;
  z-index: 10;
}

.c-breadcrumb {
  margin-top: 16px;
}

.c-breadcrumb .breadcrumbs {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 13px;
  letter-spacing: 0px;
  white-space: nowrap;
}

.c-breadcrumb .breadcrumbs a {
  text-decoration: none;
  color: #f18e2c;
}

.c-breadcrumb .breadcrumbs .breadcrumbs_lists,
.c-breadcrumb .breadcrumbs .home {
  position: relative;
}

.c-breadcrumb .breadcrumbs .breadcrumbs_lists:after,
.c-breadcrumb .breadcrumbs .home:after {
  font-family: 'Material Icons';
  content: "\e409";
  display: inline-block;
  font-size: 17px;
  position: relative;
  line-height: 10px;
  top: 4px;
}

.c-breadcrumb .breadcrumbs .breadcrumbs_lists:last-child:after,
.c-breadcrumb .breadcrumbs .home:last-child:after {
  display: none;
}

/* ====================
 button
=======================*/

/*
<a class="c-btn" href="#">
  <span class="c-btn__text c-btn__arrow--r">一覧を見る</span>
</a>
*/

.c-btn {
  background-color: #f18e2c;
  font-weight: bold;
  text-decoration: none;
  padding: 15px 40px;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

.c-btn__arrow--r {
  position: relative;
}

.c-btn__arrow--r:after {
  font-family: 'Material Icons';
  content: '\e409';
  font-size: 23px;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  color: #ffffff;
}

.c-btn__arrow--l {
  position: relative;
}

.c-btn__arrow--l:after {
  font-family: 'Material Icons';
  content: '\e5cb';
  font-size: 23px;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  color: #ffffff;
}

.c-btn--rounded {
  border-radius: 100px;
}

.c-btn--another-color {
  background: #ffffff;
}

.c-btn--border {
  border: 1px solid #f18e2c;
}

.c-btn--small {
  padding: 16px 32px 16px 40px;
}

.c-btn__text {
  color: #ffffff;
  font-size: 14px;
  line-height: 1.57143;
}

.c-btn__text--another-color {
  color: #E1E5E8;
}

.c-btn__img-wrap {
  margin-left: 24px;
  line-height: 1;
}

/* ====================
 card
=======================*/

/*

<div class="c-card c-card__col--3">
    <div class="c-card__item">
      <a href="#" class="c-card__item--link">
        <figure class="c-card__item--figure">
          <img class="c-card__item--figure_image" src="images/card/thumb.png" srcset="images/card/thumb.png 1x, images/card/thumb@2x.png 2x" alt="text">
        </figure>
        <div class="c-card__item__body">
          <header class="c-card__item--header">
            <time class="c-card__item--data" datetime="2022-2-15">2022.2.15</time>
            <span class="c-tag c-tag--rounded">お知らせ</span>
          </header>
          <h3 class="c-card__item--title">
            ニュースタイトルが入ります。ニュースタイトルが入ります。ニュースタイトルが入ります。
          </h3>
        </div>
      </a>
    </div>
</div>
*/

.c-card {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.c-card__item {
  width: 100%;
  margin-bottom: 20px;
}

.c-card__figure {
  overflow: hidden;
}

.c-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-card__link {
  text-decoration: none;
  display: block;
}

.c-card__header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -4px -4px;
  margin-top: 10px;
}

.c-card__tags {
  margin-left: 8px;
}

.c-card__body {
  margin-top: 10px;
}

.c-card__data {
  font-size: 13px;
  color: #838587;
  font-weight: bold;
}

.c-card__title {
  font-size: 14px;
  font-weight: bold;
  color: #E1E5E8;
}

/*
.l-container{
  @media screen and (min-width: 400px) {
    background-color:#dd3;
  }
  @media screen and (min-width: 1200px) {
    background-color:#e3e;
  }
}
*/

/* ====================
 carousel
=======================*/

/*

*/

.c-carousel {
  position: relative;
  padding-left: 0px;
}

.c-carousel__box {
  position: relative;
}

.c-carousel .slick-track {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.c-carousel .slick-slide {
  height: auto !important;
}

.c-carousel__item {
  padding: 0px 10px;
}

.c-carousel__image-box {
  width: 100%;
  height: 45vw;
  max-height: 250px;
}

.c-carousel__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-carousel__header {
  margin-top: 15px;
}

.c-carousel__footer {
  margin-top: 15px;
}

.c-carousel__body {
  margin-top: 15px;
}

.c-carousel__title {
  font-size: 22px;
}

.c-carousel__txt {
  margin-top: 15px;
  font-size: 13px;
  line-height: 25px;
}

.c-carousel__card--style01 .c-carousel__inner {
  padding: 5px 15px;
  background-color: #ffffff;
  position: relative;
  top: -50px;
  right: -30px;
  width: calc(100% - 30px);
}

.c-carousel__child-1 .slick-track {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.c-carousel__child-1 .slick-dots {
  display: none;
}

/* ====================
 circle
=======================*/

.c-circle {
  width: 100px;
  height: 100px;
  border-radius: 100%;
  background-color: #f18e2c;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-circle__inner {
  color: #ffffff;
  display: inline-block;
}

.c-company-summary {
  list-style: none;
  padding-left: 0;
}

.c-company-summary__item {
  font-size: 13px;
  font-weight: bold;
}

.c-company-summary__item:not(:first-child) {
  margin-top: 5px;
  font-weight: normal;
}

/* ====================
 slide
=======================*/

/*

*/

.c-cv-area {
  position: relative;
}

.c-cv-area--style-01 {
  background-image: url("../../images/cv_area/bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  padding: 70px 20px;
  position: relative;
  overflow: hidden;
}

.c-cv-area--style-01:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: #f18e2c;
  opacity: 0.2;
  display: block;
}

.c-cv-area--style-02 {
  padding: 70px 20px;
}

.c-cv-area--style-02--image {
  width: 100%;
  height: 330px;
  position: absolute;
  top: 0px;
  left: 0px;
}

.c-cv-area--style-02--image-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.c-cv-area--style-02 .c-cv-area__inner {
  width: 95%;
  max-width: 450px;
  margin: auto;
  text-align: center;
}

.c-cv-area__inner {
  background-color: #ffffff;
  border-radius: 20px;
  padding: 35px;
  position: relative;
  z-index: 10;
}

.c-cv-area__header--title {
  font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 30px;
  position: relative;
}

.c-cv-area__header--title:after {
  content: "";
  width: 30px;
  height: 3px;
  background-color: #f18e2c;
  border-radius: 10px;
  position: absolute;
  bottom: -5px;
  left: 50%;
  margin-left: -15px;
  display: block;
}

.c-cv-area__header--sub-title {
  font-size: 14px;
  font-weight: bold;
  margin-top: 25px;
}

.c-cv-area__body {
  margin-top: 30px;
  border-top: solid 1px #838587;
  padding-top: 30px;
}

.c-cv-area__col {
  width: 100%;
  position: relative;
  padding: 0px;
}

.c-cv-area__col--title {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #f18e2c;
}

.c-cv-area__col:first-child {
  margin-bottom: 20px;
  border-bottom: solid 1px #838587;
  padding-bottom: 30px;
}

.c-cv-area__tel--number {
  font-size: 35px;
  font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: bold;
  text-decoration: none;
  position: relative;
}

.c-cv-area__tel--number:before {
  content: "\e0cd";
  font-family: 'Material Icons';
  display: inline-block;
  color: #f18e2c;
  font-size: 28px;
}

.c-cv-area__tel--txt {
  font-size: 12px;
}

/* ====================
 firstview
=======================*/

/*
<div class="c-fv">
  <div class="c-fv__contents c-fv__contents--style01">
    <div class="c-fv__contents-box c-fv__contents-box--rounded">
      <div class="c-fv__contents-box__header">
        <h2 class="c-fv__title">タイトルが入ります。</h2>
      </div>
      <div class="c-fv__contents-box__body">
      <h3 class="c-fv__title--sub">サブタイトルが入ります。</h3>
      <p class="c-fv__txt">
        テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。
      </p>
      </div>
      <div class="c-fv__contents-box__footer">
      <a class="c-fv__scroll" href="#contents">
        <span class="c-fv__scroll--txt">SCROLL</span>
      </a>
      </div>
    </div>
  </div>
  <ul class="c-fv__slide" id="fv-slide">
    <li class="c-fv__slide__items">
      <img class="c-fv__slide__items--img" src="images/slide/slider-01.png" alt="slide">
    </li>
    <li class="c-fv__slide__items">
      <img class="c-fv__slide__items--img" src="images/slide/slider-02.png" alt="slide">
    </li>
  </ul>
  <div class="c-fv__slide--dots"></div>
</div>
*/

.c-fv {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.c-fv__body {
  position: relative;
  height: 100vh;
}

.c-fv__contents {
  position: absolute;
  width: 100%;
  height: 100vh;
  top: 0px;
  left: 0px;
  z-index: 5;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: left;
  -ms-flex-pack: left;
  justify-content: left;
  -webkit-align-items: end;
  -ms-flex-align: end;
  align-items: end;
  padding-left: 0px;
}

.c-fv__contents--black-cover {
  background-color: rgba(0, 0, 0, 0.5);
}

.c-fv__contents--slanting {
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-clip-path: polygon(0 21%, 100% 43%, 100% 100%, 0% 100%);
  clip-path: polygon(0 21%, 100% 43%, 100% 100%, 0% 100%);
  height: 400px;
  top: auto;
  bottom: 0px;
}

.c-fv__contents-box {
  background-color: rgba(255, 255, 255, 0.9);
  height: auto;
  padding: 30px;
  width: calc(100% - 30px);
  max-width: 600px;
}

.c-fv__contents-box__body {
  margin-top: 20px;
}

.c-fv__contents-box__footer {
  margin-top: 15px;
}

.c-fv__contents-box--rounded {
  border-radius: 20px;
}

.c-fv__contents-box--no-bg {
  background: unset;
}

.c-fv__contents__bottom--box-rounded {
  border-radius: 0px 30px 0px 0px;
}

.c-fv__scroll {
  text-align: center;
  display: block;
  text-decoration: none;
  color: #f18e2c !important;
}

.c-fv__scroll--txt {
  font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  position: relative;
}

.c-fv__scroll--txt:before {
  content: '';
  width: 20px;
  height: 20px;
  border: 0;
  border-bottom: solid 2px #f18e2c;
  border-right: solid 2px #f18e2c;
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: .5s;
}

.c-fv__scroll:hover {
  color: #f18e2c !important;
}

.c-fv__scroll:hover .c-fv__scroll--txt:before {
  margin-top: 10px;
}

.c-fv__title {
  font-size: 28px;
}

.c-fv__title--sub {
  font-size: 15px;
  color: #f18e2c;
}

.c-fv__txt {
  margin-top: 11px;
  font-size: 12px;
  line-height: 20px;
}

.c-fv__slide {
  position: absolute;
  width: 100%;
  height: 100vh;
  top: 0px;
  left: 0px;
  padding: 0px;
  margin: 0px;
}

.c-fv__slide__items {
  position: relative;
  list-style: none;
  width: 100%;
  height: 100vh;
}

.c-fv__slide__items--img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.c-fv__slide__carousel .c-fv__slide__items {
  overflow: hidden;
  border-radius: 50px;
  margin: 0px 50px;
}

.c-fv__slide__carousel .c-fv__slide__items--img {
  position: relative;
  z-index: 1;
}

/* ====================
flow
=======================*/

.c-flow__item {
  width: 100px;
  height: 100px;
  background-color: #f18e2c;
  border-radius: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #ffffff;
  position: relative;
  z-index: 5;
}

.c-flow__item--box {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding-bottom: 50px;
}

.c-flow__item--box:after {
  content: "";
  width: 1px;
  height: calc(100% - 100px);
  border-left: dashed 2px #f18e2c;
  display: block;
  position: absolute;
  top: 100px;
  left: 50px;
}

.c-flow__item--box:last-child:after {
  display: none;
}

.c-flow__item--contents {
  padding-left: 25px;
  width: calc(100% - 100px);
}

/* ====================
form
=======================*/

.c-form__box:not(:last-child) {
  border-bottom: solid 1px #E2E2E2;
}

.c-form__dt {
  margin-bottom: 20px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background-color: #838587;
  padding: 30px 20px;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-form__dt--text {
  font-weight: bold;
  font-size: 14px;
  display: inline-block;
  margin-right: 55px;
}

.c-form__dd {
  margin-left: 0px;
  padding: 30px 0px;
}

.c-form__dd--input-2col {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.c-form__dd--input-2col .c-form__input:first-child {
  margin-right: 10px;
}

.c-form__input {
  border: none !important;
  padding: 25px 15px !important;
  border-radius: 6px;
  background-color: #838587;
  font-size: 14px;
}

.c-form__input--textarea {
  min-height: 300px;
  background-color: #838587;
}

.c-form__input--radio {
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}

.c-form__input--radio--label {
  margin-bottom: 15px;
  display: inline-block;
}

.c-form__input--radio--label:not(:last-child) {
  margin-right: 20px;
}

.c-form__input--radio--label span {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 25px;
}

.c-form__input--radio--label span:before {
  content: '';
  position: absolute;
  left: 0px;
  display: block;
  border-radius: 50%;
  border: 2px solid #f18e2c;
  width: 16px;
  height: 16px;
}

.c-form__input--radio:checked + span:after {
  content: '';
  position: absolute;
  left: 4px;
  display: block;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  background-color: #f18e2c;
}

.c-form__input--checkbox {
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}

.c-form__input--checkbox--label {
  margin-bottom: 15px;
  display: block;
}

.c-form__input--checkbox--label span {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 25px;
}

.c-form__input--checkbox--label span:before {
  position: absolute;
  left: 0;
  display: block;
  border: 2px solid #f18e2c;
  content: '';
  width: 16px;
  height: 16px;
}

.c-form__input--checkbox:checked + span:after {
  position: absolute;
  top: 5px;
  left: 6px;
  display: block;
  border-right: 2px solid #f18e2c;
  border-bottom: 2px solid #f18e2c;
  content: '';
  width: 5px;
  height: 10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c-form__input--select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  color: #000000;
  font-size: 14px;
  width: 100%;
  height: 100%;
  padding: 22px;
  position: relative;
}

.c-form__input--select-box {
  background-color: #838587;
  height: 65px;
  width: 300px;
  border-radius: 5px;
  position: relative;
  z-index: 1;
}

.c-form__input--select-box::after {
  position: absolute;
  content: '';
  width: 8px;
  height: 8px;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 2px solid #f18e2c;
  border-right: 2px solid #f18e2c;
  z-index: -1;
}

.c-form__agreement {
  text-align: center;
  margin-top: 60px;
}

.c-form__agreement .c-form__input--checkbox--label {
  display: inline-block;
}

.c-form__submit-box {
  text-align: center;
  margin-top: 40px;
}

.c-form__submit--btn {
  background: none !important;
  width: 100%;
  padding: 15px 40px;
}

.c-form__submit--btn--outer {
  width: 310px;
  height: 56px;
  padding: 0px !important;
  overflow: hidden;
  display: block;
}

.c-form__required {
  font-size: 13px;
  background-color: #FE0000;
  font-display: 12px;
  padding: 5px 20px;
  color: #ffffff;
}

/* ====================
 icon
=======================*/

.c-icon__arrow--right:after {
  font-family: 'Material Icons';
  content: '\e5e1';
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 24px;
  color: #f18e2c;
  position: absolute;
  top: 50%;
  right: 20px;
  font-weight: 100;
}

/* ====================
 link
=======================*/

.c-link {
  color: #f18e2c;
}

.c-link--icon {
  position: relative;
}

.c-link--icon:after {
  content: "";
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.c-link--icon__download:after {
  background-image: url(../images/common/ico_download.svg);
  width: 17px;
  height: 14px;
  display: inline-block;
  margin-left: 11px;
  position: relative;
  top: 1px;
}

/* ====================
 list
=======================*/

.c-list {
  margin-left: 0px;
  padding-left: 0px;
  width: 100%;
}

.c-list__item {
  margin: 0;
  position: relative;
  border-bottom: 1px solid #E1E5E8;
  list-style: none;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.c-list__item__inner {
  position: relative;
  width: 100%;
  padding: 20px 40px 20px 16px;
}

.c-list__head {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 16px;
  width: 100%;
}

.c-list__title {
  color: #E1E5E8;
  min-width: 5.5em;
}

.c-list__tags {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: wrap;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  margin: 0 -4px -4px;
  list-style-type: none;
  padding-left: 0;
}

.c-list__tag {
  color: #f18e2c;
  border: 1px solid #f18e2c;
  font-size: 12px;
  letter-spacing: 0;
  line-height: 1;
  padding: 4px 18px;
  margin: 0 4px 4px;
}

.c-list__tag--radius {
  border-radius: 24px;
}

.c-list__body {
  margin-left: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
}

.c-list__text {
  color: #BFC2C4;
  font-weight: bold;
  letter-spacing: -0.05em;
  line-height: 1.64286;
}

.c-list__card .c-list__item {
  border: 1px solid #E1E5E8;
  border-radius: 20px;
}

.c-list__card .c-list__item:not(:first-child) {
  margin-top: 16px;
}

/* ====================
 lists
=======================*/

.c-lists__num {
  padding-left: 20px;
}

.c-lists__num li {
  padding-left: 30px;
  margin-bottom: 30px;
}

.c-lists__dot li {
  position: relative;
  padding-left: 15px;
  font-size: 15px;
}

.c-lists__dot li:before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 100%;
  background-color: #f18e2c;
  display: inline-block;
  position: absolute;
  top: 11px;
  left: 0px;
}

.c-lists__bar li {
  position: relative;
  padding-left: 15px;
  font-size: 15px;
}

.c-lists__bar li:before {
  content: "";
  width: 10px;
  height: 2px;
  background-color: #f18e2c;
  display: inline-block;
  position: absolute;
  top: 14px;
  left: 0px;
}

/* ====================
map
=======================*/

.c-map {
  height: 0;
  overflow: hidden;
  padding-bottom: 75%;
  position: relative;
}

.c-map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.c-media__item {
  margin-top: 40px;
}

.c-media__item--col-1 {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.c-media__img {
  width: 100%;
  max-width: none;
}

.c-media__img--cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-media__body {
  margin-top: 48px;
}

.c-media__title {
  font-size: 20px;
  font-weight: bold;
  line-height: 20px;
}

.c-media__text {
  margin-top: 30px;
  font-size: 13px;
  letter-spacing: -0.035em;
  line-height: 2.07692;
}

/* ====================
menu
=======================*/

/* ====================
modal
=======================*/

.c-modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100000;
}

.c-modal__bg {
  background-color: rgba(0, 0, 0, 0.5);
  height: 100vh;
  position: absolute;
  width: 100%;
}

.c-modal__content {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-width: 1200px;
  width: 90%;
  background-color: #ffffff;
  padding: 20px;
  border-radius: 30px;
}

.c-modal__close {
  background-color: #000000;
  height: 100px;
  width: 100px;
  position: absolute;
  right: 0px;
  top: 0px;
}

.c-modal__close span {
  width: 20px;
  height: 1px;
  background-color: #ffffff;
  display: inline-block;
  border-radius: 20px;
  position: absolute;
  top: 20px;
  left: 10px;
}

.c-modal__close span:first-child {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.c-modal__close span:last-child {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c-modal--full .c-modal__content {
  padding: 0px;
}

.c-modal--full .c-modal__close {
  z-index: 5;
}

.js-modal-open {
  cursor: pointer;
}

/* ====================
page-header
=======================*/

.c-page-header {
  width: 100%;
  height: 200px;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../images/bg.png);
  background-size: cover;
  position: relative;
}

.c-page-header__inner {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0px;
  left: 0px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-page-header__title {
  color: #ffffff;
  font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 30px;
  text-align: center;
}

.c-page-header__title--sub {
  display: block;
  font-size: 15px;
}

.c-page-header__l {
  border-radius: 15px;
}

/* ====================
toggle
=======================*/

.c-pagenation {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
}

.c-pagenation a,
.c-pagenation span {
  text-decoration: none;
  position: relative;
}

.c-pagenation a:not(:last-child):after,
.c-pagenation span:not(:last-child):after {
  content: "/";
  display: inline-block;
  padding-left: 5px;
}

.c-pagenation .current {
  color: #0fb29b;
}

/* ====================
side cv

<div class="c-side-cv">
  <a href="#" class="c-side-cv__btn">お問い合わせ</a>
</div>

=======================*/

.c-side-cv__btn {
  position: fixed;
  bottom: 20px;
  right: 0px;
  z-index: 13;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  color: #ffffff !important;
  background-color: #f18e2c;
  text-decoration: none;
  padding: 45px 25px 20px 25px;
  border-radius: 15px 0px 0px 15px;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 2px;
}

.c-side-cv__btn:before {
  content: "";
  width: 25px;
  height: 18px;
  background-image: url(../images/common/ico_mail.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  top: 19px;
  left: 28px;
}

/* ====================
side
=======================*/

.c-side__page-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap-reverse;
  -ms-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse;
}

.c-side__menu {
  width: 100%;
  margin-top: 40px;
}

.c-side__menu a {
  text-decoration: none;
}

/* ====================
 slide
=======================*/

/*

*/

.c-slide--dots {
  width: 100%;
}

.c-slide--dots .slick-dots {
  text-align: center;
  padding: 0px 30px;
  margin: 0px 0px 0px 0px;
}

.c-slide--dots .slick-dots li {
  list-style: none;
  display: inline-block;
  margin: 0px 10px;
}

.c-slide--dots .slick-dots li button {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  width: 10px;
  height: 10px;
  padding: 0px;
  border-radius: 100px;
  border: solid 1px #f18e2c;
  background-color: #ffffff;
  color: #ffffff;
  opacity: 0.7;
}

.c-slide--dots .slick-active button {
  opacity: 1 !important;
  background-color: #f18e2c !important;
  color: #f18e2c !important;
}

.c-slide--dots-bar li {
  margin: 0px 3px !important;
}

.c-slide--dots-bar li button {
  width: 20px !important;
  height: 3px !important;
}

.c-slide--dots-r .slick-dots {
  text-align: right;
}

.c-slide--dots-l .slick-dots {
  text-align: left;
}

.c-slide--dots-inner {
  position: absolute;
  z-index: 10;
  bottom: 0px;
}

.c-slide--arrows {
  position: absolute;
  display: inline-block;
  width: auto;
  z-index: 10;
  bottom: -76px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.c-slide--arrows .slick-arrow {
  position: absolute;
  width: 20px;
  height: 20px;
  text-indent: -300%;
  white-space: nowrap;
  overflow: hidden;
  color: rgba(0, 0, 0, 0);
  background-color: unset;
  top: -5px;
}

.c-slide--arrows .slick-arrow:before {
  text-indent: initial;
  position: absolute;
  display: inline-block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.c-slide--arrows .slick-prev {
  left: 10px;
}

.c-slide--arrows .slick-prev:before {
  content: "";
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 12px;
  height: 12px;
  position: absolute;
  left: 7px;
  top: 3px;
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
}

.c-slide--arrows .slick-next {
  right: 10px;
}

.c-slide--arrows .slick-next:before {
  content: "";
  border-top: solid 1px #f18e2c;
  border-right: solid 1px #f18e2c;
  width: 12px;
  height: 12px;
  position: absolute;
  left: 2px;
  top: 4px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* ====================
tab
=======================*/

.c-tab__menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  min-width: 580px;
  max-width: 1200px;
  padding-left: 0px;
  margin: 0px;
}

.c-tab__menu--box {
  overflow-x: scroll;
  overflow-y: auto;
}

.c-tab__menu--items {
  height: 60px;
  border-bottom: none !important;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 16px;
  cursor: pointer;
  font-weight: 500;
  margin-right: 5px;
  padding: 0px 20px;
  text-align: center;
  background-color: #838587;
  position: relative;
}

.c-tab__menu--items--active {
  background-color: #f18e2c;
  color: #ffffff;
}

.c-tab__menu--items--active:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -7px;
  border: 7px solid transparent;
  border-top: 7px solid #f18e2c;
}

.c-tab__contents {
  border: solid 1px #838587;
}

.c-tab__contents--items {
  display: none;
  padding: 40px 20px;
}

.c-tab__contents--items--active {
  display: block;
}

/* ====================
table
=======================*/

.c-table {
  width: 100%;
  text-align: center;
}

.c-table__box--scroll-sp {
  width: 100%;
  overflow-x: scroll;
  overflow-y: hidden;
}

.c-table__box--scroll-sp .c-table {
  min-width: 400px;
}

.c-table .c-table__th,
.c-table .c-table__td {
  font-size: 13px;
  border: solid 1px #000000;
  padding: 15px 0px;
  min-height: 50px;
  height: 100% !important;
  width: auto !important;
  margin-top: -1px;
}

.c-table .c-table__th {
  font-weight: 500;
  background-color: #f2f2f2;
  height: auto !important;
}

.c-table .c-table__td {
  background-color: #ffffff;
}

.c-table--horizontal {
  border: solid 1px #000000;
}

.c-table--horizontal th {
  border-top: none !important;
}

.c-table--horizontal th:first-child {
  border-left: none !important;
}

.c-table--horizontal th:last-child {
  border-right: none !important;
}

.c-table--horizontal td {
  border-bottom: none !important;
}

.c-table--horizontal td:first-child {
  border-left: none !important;
}

.c-table--horizontal td:last-child {
  border-right: none !important;
}

.c-table--style-01 .c-table__th,
.c-table--style-01 .c-table__td {
  border: none;
  line-height: 24px;
}

.c-table--style-01 .c-table__tr {
  border-bottom: solid 1px #838587;
}

.c-table--style-01 .c-table__td {
  background-color: #838587;
  border-bottom: solid 1px #838587;
  text-align: left;
}

.c-table--style-01 .c-table__th {
  background-color: #f18e2c;
  color: #ffffff;
  font-weight: bold;
  border-bottom: solid 1px #838587;
  border-right: solid 1px #838587;
}

.c-table__dl {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  font-weight: 500;
}

.c-table__dl__wrap {
  display: block;
}

.c-table__dl__wrap .c-table__dt {
  padding-bottom: 0px !important;
  width: 100% !important;
}

.c-table__dl__wrap .c-table__dd {
  width: 100% !important;
}

.c-table--d--style-01 .c-table__dl {
  position: relative;
  margin: 0px;
}

.c-table--d--style-01 .c-table__dl:not(:last-child) {
  border-bottom: solid 1px #838587;
}

.c-table--d--style-01 .c-table__dt {
  width: 100%;
  padding: 20px;
  background-color: #838587;
}

.c-table--d--style-01 .c-table__dd {
  margin-left: 0px;
  width: 100%;
  padding: 20px;
}

/* ====================
tag
=======================*/

/*
<span class="c-tag c-tag--rounded">お知らせ</span>
*/

.c-tag {
  background-color: #f18e2c;
  font-size: 12px;
  line-height: 12px;
  color: #ffffff;
  font-weight: bold;
  padding: 7px 20px;
  display: inline-block;
  margin: 0 4px 4px;
  text-decoration: none;
}

.c-tag--rounded {
  border-radius: 20px;
}

.c-tag--border {
  color: #f18e2c;
  border: 1px solid #f18e2c;
  background-color: unset !important;
  padding: 7px 20px;
}

.c-tag:hover {
  color: #ffffff !important;
}

.c-tel-link__no {
  text-decoration: none;
  font-weight: bold;
  line-height: 1;
  font-size: 32px;
}

.c-tel-link__no::before {
  font-family: 'Material Icons';
  content: '\e9cd';
  color: #f18e2c;
  display: inline-block;
  font-size: 26px;
  margin-right: 13px;
}

.c-tel-link__info {
  display: block;
  font-size: 11px;
  text-align: center;
}

/* ====================
text
=======================*/

.c-text--style-01 {
  font-size: 15px;
  line-height: 28px;
  letter-spacing: 0px;
}

/* ====================
title
=======================*/

/*
<h3 class="c-title c-title__border--bottom">
  NEWS
  <span class="c-title__sub">お知らせ</span>
</h3>
*/

.c-title {
  font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1;
  font-size: 18px;
  line-height: 55px;
  letter-spacing: 0px;
}

.c-title--xs {
  font-size: 16px;
}

.c-title--s {
  font-size: 20px;
}

.c-title--m {
  font-size: 30px;
}

.c-title--l {
  font-size: 42px;
}

.c-title__border {
  position: relative;
}

.c-title__border::after {
  content: "";
  position: absolute;
}

.c-title__border--bottom {
  padding-bottom: 17px;
}

.c-title__border--bottom:after {
  left: 0px;
  bottom: 0px;
  width: 40px;
  height: 3px;
  border-radius: 10px;
  background-color: #f18e2c;
}

.c-title__border--left {
  padding-left: 15px;
}

.c-title__border--left:after {
  left: 0;
  top: 0;
  width: 3px;
  height: 100%;
  border-radius: 10px;
  background-color: #f18e2c;
}

.c-title__border--side {
  padding-left: 28px;
}

.c-title__border--side:after {
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 18px;
  height: 5px;
  background-color: #f18e2c;
}

.c-title__bg {
  background-color: #f18e2c;
  color: #ffffff;
  padding: 30px 20px;
}

.c-title__rounded {
  border-radius: 20px 20px 20px 20px;
}

.c-title__rounded--top {
  border-radius: 20px 20px 0px 0px;
}

.c-title--center {
  text-align: center;
}

.c-title--center .c-title__sub--top {
  margin-bottom: 32px;
}

.c-title__sub {
  font-size: 17px;
  line-height: 12px;
  letter-spacing: 2px;
  display: inline-block;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-family: "Noto Sans JP", sans-serif;
}

.c-title__sub--maincolor {
  color: #f18e2c;
}

.c-title__sub--top {
  display: block;
  position: static;
  -webkit-transform: initial;
  transform: initial;
  margin-bottom: .9em;
}

.c-title__sub--big {
  font-size: 15px;
}

/* ====================
toggle
=======================*/

.c-toggle--items {
  border: solid 2px #f18e2c;
  border-radius: 15px 15px 15px 15px;
  overflow: hidden;
}

.c-toggle--title {
  position: relative;
  height: 65px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 16px;
  cursor: pointer;
  font-weight: 500;
  padding: 0px 20px;
  text-align: center;
  cursor: pointer;
}

.c-toggle--title:before,
.c-toggle--title:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  content: "";
  display: block;
}

.c-toggle--title:before {
  right: 29px;
  width: 22px;
  height: 2px;
  background-color: #f18e2c;
  border-radius: 100px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  transition: all .3s ease-in-out;
}

.c-toggle--title:after {
  width: 22px;
  height: 2px;
  right: 29px;
  background-color: #f18e2c;
  border-radius: 100px;
  opacity: 1;
  transition: all .2s ease-in-out;
}

.c-toggle--title--close {
  border-radius: 15px 15px 0px 0px !important;
}

.c-toggle--title--close:before {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.c-toggle--title--close:after {
  opacity: 0;
}

.c-toggle--contents {
  border-top: solid 2px #f18e2c;
  padding: 20px;
  display: none;
}

/* ====================
video
=======================*/

.c-video {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.c-video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* ユーティリティ(color, size, spacing, etc.) */

.u-ta-l {
  text-align: left !important;
}

.u-ta-c {
  text-align: center !important;
}

.u-ta-r {
  text-align: right !important;
}

.u-ta-j {
  text-align: justify !important;
  -ms-text-justify: inter-ideograph !important;
  text-justify: inter-ideograph !important;
}

.u-bc-lightgray {
  background-color: #838587 !important;
}

.u-bc-blue {
  background-color: #007eff !important;
}

.u-bc-white {
  background-color: #ffffff;
}

.u-bc--salmon {
  background-color: #feb38a;
}

.u-bc--skyblue {
  background-color: #a9dee4;
}

.u-bdr-t {
  border-top: 1px solid !important;
}

.u-bdr-b {
  border-bottom: 1px solid !important;
}

.u-bdr-l {
  border-left: 1px solid !important;
}

.u-bdr-r {
  border-right: 1px solid !important;
}

.u-bdr-n {
  border: none !important;
}

.u-c-black {
  color: #000 !important;
}

.u-c-white {
  color: white !important;
}

.u-c-red {
  color: #FE0000 !important;
}

.u-c-green {
  color: #0fb29b !important;
}

.u-c-blue {
  color: #7186b9;
}

.u-cs-a {
  cursor: auto;
}

.u-cs-p {
  cursor: pointer;
}

.u-sp-hide {
  display: none !important;
}

.u-sp-hide-b {
  display: none !important;
}

.u-d-i {
  display: inline !important;
}

.u-d-ib {
  display: inline-block !important;
}

.u-d-b {
  display: block !important;
}

.u-fs-8 {
  font-size: 8px !important;
}

.u-fs-9 {
  font-size: 9px !important;
}

.u-fs-10 {
  font-size: 10px !important;
}

.u-fs-11 {
  font-size: 11px !important;
}

.u-fs-12 {
  font-size: 12px !important;
}

.u-fs-13 {
  font-size: 13px !important;
}

.u-fs-14 {
  font-size: 14px !important;
}

.u-fs-15 {
  font-size: 15px !important;
}

.u-fs-16 {
  font-size: 16px !important;
}

.u-fs-17 {
  font-size: 17px !important;
}

.u-fs-18 {
  font-size: 18px !important;
}

.u-fs-19 {
  font-size: 19px !important;
}

.u-fs-20 {
  font-size: 20px !important;
}

.u-fs-21 {
  font-size: 21px !important;
}

.u-fs-22 {
  font-size: 22px !important;
}

.u-fs-23 {
  font-size: 23px !important;
}

.u-fs-24 {
  font-size: 24px !important;
}

.u-fs-25 {
  font-size: 25px !important;
}

.u-fs-26 {
  font-size: 26px !important;
}

.u-fs-27 {
  font-size: 27px !important;
}

.u-fs-28 {
  font-size: 28px !important;
}

.u-fs-29 {
  font-size: 29px !important;
}

.u-fs-30 {
  font-size: 30px !important;
}

.u-fs-31 {
  font-size: 31px !important;
}

.u-fs-32 {
  font-size: 32px !important;
}

.u-fs-33 {
  font-size: 33px !important;
}

.u-fs-34 {
  font-size: 34px !important;
}

.u-fs-35 {
  font-size: 35px !important;
}

.u-fs-36 {
  font-size: 36px !important;
}

.u-fs-37 {
  font-size: 37px !important;
}

.u-fs-38 {
  font-size: 38px !important;
}

.u-fs-39 {
  font-size: 39px !important;
}

.u-fs-40 {
  font-size: 40px !important;
}

.f-s-small {
  font-size: 12px;
}

.u-mt-0 {
  margin-top: 0px !important;
}

.u-mt-5 {
  margin-top: 5px !important;
}

.u-mt-10 {
  margin-top: 10px !important;
}

.u-mt-15 {
  margin-top: 15px !important;
}

.u-mt-20 {
  margin-top: 20px !important;
}

.u-mt-25 {
  margin-top: 25px !important;
}

.u-mt-30 {
  margin-top: 30px !important;
}

.u-mt-35 {
  margin-top: 35px !important;
}

.u-mt-40 {
  margin-top: 40px !important;
}

.u-mt-45 {
  margin-top: 45px !important;
}

.u-mt-50 {
  margin-top: 50px !important;
}

.u-mt-55 {
  margin-top: 55px !important;
}

.u-mt-60 {
  margin-top: 60px !important;
}

.u-mt-65 {
  margin-top: 65px !important;
}

.u-mt-70 {
  margin-top: 70px !important;
}

.u-mt-75 {
  margin-top: 75px !important;
}

.u-mt-80 {
  margin-top: 80px !important;
}

.u-mt-85 {
  margin-top: 85px !important;
}

.u-mt-90 {
  margin-top: 90px !important;
}

.u-mt-95 {
  margin-top: 95px !important;
}

.u-mt-100 {
  margin-top: 100px !important;
}

.u-mb-0 {
  margin-bottom: 0px !important;
}

.u-mb-5 {
  margin-bottom: 5px !important;
}

.u-mb-10 {
  margin-bottom: 10px !important;
}

.u-mb-15 {
  margin-bottom: 15px !important;
}

.u-mb-20 {
  margin-bottom: 20px !important;
}

.u-mb-25 {
  margin-bottom: 25px !important;
}

.u-mb-30 {
  margin-bottom: 30px !important;
}

.u-mb-35 {
  margin-bottom: 35px !important;
}

.u-mb-40 {
  margin-bottom: 40px !important;
}

.u-mb-45 {
  margin-bottom: 45px !important;
}

.u-mb-50 {
  margin-bottom: 50px !important;
}

.u-mb-55 {
  margin-bottom: 55px !important;
}

.u-mb-60 {
  margin-bottom: 60px !important;
}

.u-mb-65 {
  margin-bottom: 65px !important;
}

.u-mb-70 {
  margin-bottom: 70px !important;
}

.u-mb-75 {
  margin-bottom: 75px !important;
}

.u-mb-80 {
  margin-bottom: 80px !important;
}

.u-mb-85 {
  margin-bottom: 85px !important;
}

.u-mb-90 {
  margin-bottom: 90px !important;
}

.u-mb-95 {
  margin-bottom: 95px !important;
}

.u-mb-100 {
  margin-bottom: 100px !important;
}

.u-pt-0 {
  padding-top: 0px !important;
}

.u-pt-5 {
  padding-top: 5px !important;
}

.u-pt-10 {
  padding-top: 10px !important;
}

.u-pt-15 {
  padding-top: 15px !important;
}

.u-pt-20 {
  padding-top: 20px !important;
}

.u-pt-25 {
  padding-top: 25px !important;
}

.u-pt-30 {
  padding-top: 30px !important;
}

.u-pt-35 {
  padding-top: 35px !important;
}

.u-pt-40 {
  padding-top: 40px !important;
}

.u-pt-45 {
  padding-top: 45px !important;
}

.u-pt-50 {
  padding-top: 50px !important;
}

.u-pt-55 {
  padding-top: 55px !important;
}

.u-pt-60 {
  padding-top: 60px !important;
}

.u-pt-65 {
  padding-top: 65px !important;
}

.u-pt-70 {
  padding-top: 70px !important;
}

.u-pt-75 {
  padding-top: 75px !important;
}

.u-pt-80 {
  padding-top: 80px !important;
}

.u-pt-85 {
  padding-top: 85px !important;
}

.u-pt-90 {
  padding-top: 90px !important;
}

.u-pt-95 {
  padding-top: 95px !important;
}

.u-pt-100 {
  padding-top: 100px !important;
}

.u-pb-0 {
  padding-bottom: 0px !important;
}

.u-pb-5 {
  padding-bottom: 5px !important;
}

.u-pb-10 {
  padding-bottom: 10px !important;
}

.u-pb-15 {
  padding-bottom: 15px !important;
}

.u-pb-20 {
  padding-bottom: 20px !important;
}

.u-pb-25 {
  padding-bottom: 25px !important;
}

.u-pb-30 {
  padding-bottom: 30px !important;
}

.u-pb-35 {
  padding-bottom: 35px !important;
}

.u-pb-40 {
  padding-bottom: 40px !important;
}

.u-pb-45 {
  padding-bottom: 45px !important;
}

.u-pb-50 {
  padding-bottom: 50px !important;
}

.u-pb-55 {
  padding-bottom: 55px !important;
}

.u-pb-60 {
  padding-bottom: 60px !important;
}

.u-pb-65 {
  padding-bottom: 65px !important;
}

.u-pb-70 {
  padding-bottom: 70px !important;
}

.u-pb-75 {
  padding-bottom: 75px !important;
}

.u-pb-80 {
  padding-bottom: 80px !important;
}

.u-pb-85 {
  padding-bottom: 85px !important;
}

.u-pb-90 {
  padding-bottom: 90px !important;
}

.u-pb-95 {
  padding-bottom: 95px !important;
}

.u-pb-100 {
  padding-bottom: 100px !important;
}

.u-fs-o {
  font-style: oblique !important;
}

.u-td-u {
  text-decoration: underline !important;
}

.u-fw-n {
  font-weight: normal !important;
}

.u-fw-b {
  font-weight: bold !important;
}

@media screen and (min-width: 768px) {
  img {
    width: auto;
  }

  .flex-col {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .flex-col_2 > li {
    width: 50%;
  }

  .flex-col_3 > li {
    width: 33.3333%;
  }

  .flex-col_4 > li {
    width: 25%;
  }

  .flex-col_5 > li {
    width: 20%;
  }

  .flex-col-sp_2 > li {
    width: 100%;
  }

  .flex-col-sp_2_nmargin > li {
    width: 100%;
  }

  .flex-col_pc {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .viewlinks {
    font-size: 16px;
  }

  .table {
    display: table;
    margin-top: 30px;
    text-align: left;
    border-collapse: collapse;
  }

  .table dl {
    display: table-row;
  }

  .table dl dt {
    display: table-cell;
    padding: 10px 25px;
    border: 1px solid #E1E5E8;
  }

  .table dl dd {
    display: table-cell;
    padding: 10px 25px;
    border: 1px solid #E1E5E8;
  }

  .table--min {
    width: 500px;
  }

  .table--min dl dt {
    width: 170px;
  }

  .table--default {
    margin: 0;
  }

  .table--default dt {
    width: 180px;
    vertical-align: middle;
  }

  .table .table-note {
    padding-left: 1.5em;
    font-size: 13px;
  }

  .table .table-note::before {
    position: absolute;
    top: 0px;
    left: 0;
  }

  .table-ordered {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .table-ordered > li {
    width: calc(50% - 10px);
    margin-bottom: 20px;
    min-height: 140px;
  }

  .table-ordered > li .table-ordered__num {
    width: 50px;
    font-size: 23px;
  }

  .table-ordered > li .table-ordered__txt {
    padding: 30px 20px;
  }

  .table-ordered > li .table-ordered__txt .table-ordered__title {
    font-size: 18px;
  }

  .table-ordered > li .table-ordered__txt .table-ordered__txt--last {
    font-size: 23px;
  }

  .form-submit {
    width: 200px;
    margin-left: 296px;
    border-radius: 0 4px 4px 0;
    font-size: 16px;
  }

  .form-submit:hover {
    opacity: 0.6;
  }

  .submit-btn {
    margin-top: 30px;
  }

  .submit-btn:after {
    left: 480px;
    right: 0;
    font-size: 16px;
    font-weight: bold;
  }

  .section-confirmation input[type="submit"],
  .section-confirmation input[type="button"] {
    font-size: 16px;
  }

  .section-confirmation .input-submit {
    width: 200px;
    display: inline-block;
    margin: 0 20px 0 100px;
  }

  .section-confirmation .input-button {
    width: 200px;
    display: inline-block;
  }

  select {
    width: 290px;
  }

  textarea {
    width: 100%;
    height: 140px;
  }

  input[type="text"].input__min {
    width: 290px;
  }

  input[type="text"].middle-width {
    width: 340px;
  }

  input[type="text"].full-width {
    width: 100%;
  }

  input[type="text"].full-width--670 {
    width: 670px;
  }

  .input-birth input[type="text"] {
    float: inherit;
  }

  input.input-year {
    width: 113px;
  }

  input.input-month {
    width: 52px;
  }

  input.input-day {
    width: 52px;
  }

  input[type="text"].input--inline {
    display: inline-block;
    width: 90%;
  }

  body,
  button,
  input,
  select,
  textarea {
    font-size: 14px;
  }

  .bx-wrapper .bx-pager.bx-default-pager a {
    width: 12px;
    height: 12px;
  }

  .block__content {
    padding-top: 50px;
  }

  .block__content .content__title {
    font-size: 30px;
  }

  .block__content .content__subtitle {
    margin-bottom: 20px;
    position: relative;
    font-size: 18px;
  }

  .block__content .content__subtitle::before {
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #BFC2C4;
    position: absolute;
    top: 50%;
    left: 0;
  }

  .block__content .content__subtitle span {
    display: inline-block;
    padding: 7px 20px;
    position: relative;
  }

  .block__subcontent {
    margin-top: 30px;
  }

  .c-flow {
    margin-top: -20px;
  }

  .c-flow:before {
    top: 34px;
    left: 84px;
  }

  .c-flow dt {
    width: 90px;
    padding-top: 20px;
  }

  .c-flow dd {
    padding-left: 20px;
  }

  .c-flow dd:after {
    top: 27px;
    left: -10px;
    width: 10px;
    height: 10px;
  }

  .sec__title {
    padding-bottom: 15px;
    margin-bottom: 30px;
    font-size: 25px;
  }

  .sec__title::after {
    width: 74px;
    margin-left: -37px;
  }

  .c-page__intro {
    margin-bottom: 50px;
  }

  .c-page__intro p {
    margin-bottom: 30px;
  }

  .c-news__list li {
    padding: 15px 0;
  }

  .c-news__list dl {
    width: 100%;
    display: table;
  }

  .c-news__list dl dt {
    display: table-cell;
    width: 100px;
  }

  .c-news__list dl dd {
    display: table-cell;
  }

  .c-table {
    margin-top: 0;
  }

  .c-table > dl {
    font-size: 15px;
  }

  .c-table > dl > dt {
    width: 240px;
    padding: 20px;
  }

  .c-table > dl > dd {
    padding: 20px;
  }

  .c-table > dl > dd .c-table-list > li {
    margin-bottom: 10px;
  }

  .c-table > dl > dd .c-table-list__nomargin > li {
    margin: 0;
  }

  .c-table--child dt {
    width: 62px;
  }

  .sec-contact {
    padding: 45px 50px 25px;
    margin-bottom: 160px;
  }

  .sec-contact_inner {
    border-radius: 25px;
    padding: 33px 40px;
    padding-top: 15px;
  }

  .sec-contact_inner_info_block {
    margin-bottom: 0;
    width: 320px;
  }

  .sec-contact_inner_info_block a {
    font-size: 33px;
  }

  .sec-contact_inner_info_block a i {
    font-size: 23px;
  }

  .main-block {
    padding: 0;
  }

  .sec-content {
    padding: 60px 0px;
  }

  .top-news {
    padding: 50px 0 60px;
  }

  .l-container {
    padding: 0 30px;
  }

  .l-sidebar {
    width: 310px;
    float: left;
    margin-bottom: 160px;
  }

  .l-sidebar h3 {
    border-radius: 20px 20px 0 0;
  }

  .l-sidebar .side_lineup {
    margin-bottom: 38px;
  }

  .about-sec_recruit_link .btn,
  .page-template-page-about-sec_recruit_link .btn {
    font-size: 21px;
    min-width: 230px;
  }

  .business main .l-container {
    max-width: 1285px;
    padding: 0px 30px;
  }

  .company main .l-container,
  .page-template-page-company main .l-container,
  .page-template-page-company_en main .l-container {
    max-width: 1310px;
    padding: 0px 30px;
  }

  .company-sec_profile_container,
  .page-template-page-company-sec_profile_container,
  .page-template-page-company_en-sec_profile_container {
    padding-left: 120px;
    margin-bottom: 170px;
  }

  .company-sec_profile_table,
  .page-template-page-company-sec_profile_table,
  .page-template-page-company_en-sec_profile_table {
    border-collapse: separate;
    border-spacing: 20px 0px;
    margin-top: -20px;
    margin-left: -20px;
    letter-spacing: .2em;
  }

  .company-sec_profile_table_list_df,
  .page-template-page-company-sec_profile_table_list_df,
  .page-template-page-company_en-sec_profile_table_list_df {
    width: 190px;
    padding: 20px 0  25px;
  }

  .company-sec_profile_table_list_dsc,
  .page-template-page-company-sec_profile_table_list_dsc,
  .page-template-page-company_en-sec_profile_table_list_dsc {
    padding: 20px 0 25px 35px;
  }

  .company-sec_director_list,
  .page-template-page-company-sec_director_list,
  .page-template-page-company_en-sec_director_list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-left: 120px;
  }

  .company-sec_director_list_left,
  .page-template-page-company-sec_director_list_left,
  .page-template-page-company_en-sec_director_list_left {
    width: 400px;
  }

  .company-sec_director_list_right,
  .page-template-page-company-sec_director_list_right,
  .page-template-page-company_en-sec_director_list_right {
    width: 785px;
    position: relative;
    padding: 35px 0;
  }

  .company-sec_director_list_right_text_list,
  .page-template-page-company-sec_director_list_right_text_list,
  .page-template-page-company_en-sec_director_list_right_text_list {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .contact .l-container {
    max-width: 1260px;
  }

  .contact-sec_header_links_list {
    max-width: 350px;
    width: 30%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-bottom: none;
  }

  .contact .block--contents--table dl {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .contact .block--contents--table dt {
    width: 30%;
    width: 273px;
    padding-right: 30px;
    margin-bottom: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .contact .block--contents--table dd {
    width: calc(100% - 273px);
  }

  .mainvisual-scroll_txt {
    top: inherit;
  }

  .home-sec_products_container_menu_list_lists_link:hover {
    background-color: #f18e2c;
    opacity: 1 !important;
  }

  .home-sec_products_container_menu_list_lists_link:hover h4,
  .home-sec_products_container_menu_list_lists_link:hover p,
  .home-sec_products_container_menu_list_lists_link:hover span {
    color: #ffffff !important;
  }

  .home-sec_products_container_menu_list_lists_link:hover:after {
    opacity: 1;
  }

  .ir-ircalendar-sec_schedule_list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 30px;
  }

  .ir-irnews-sec_column {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .ir-irnews-sec_column_aside {
    width: 205px;
    padding-right: 30px;
  }

  .ir-irnews-sec_column_box {
    max-width: 975px;
    width: 100%;
  }

  .ir-message-sec_message {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .ir-message-sec_message_box:first-of-type {
    width: 425px;
  }

  .ir-message-sec_message_box:last-of-type {
    width: 655px;
    padding-left: 30px;
  }

  .ir-stock-sec_info_list:last-of-type .ir-stock-sec_info_list_df {
    padding: 36px 0;
  }

  .ir-menu_box {
    max-width: 1260px;
    margin-bottom: 70px;
  }

  .ir-menu_list {
    padding: 0px 10px;
    height: 50px;
  }

  .ir-menu_list:first-of-type {
    height: 50px;
    border-left: none;
    margin-left: -20px;
  }

  .ir-menu_list:last-of-type {
    margin-right: -20px;
  }

  .ir-menu_list_link:after {
    content: '';
    width: 0px;
    height: 1px;
    background-color: #f18e2c;
    display: block;
    position: absolute;
    left: 50%;
    bottom: -13px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    visibility: hidden;
    transition: .3s;
  }

  .ir main .l-container {
    max-width: 1260px;
  }

  .ir-sec_financial_about_container {
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .ir-sec_financial_about_container_column {
    width: 574px;
  }

  .ir-sec_financial_about_container_column .btn {
    position: absolute;
    right: 0;
    bottom: 0;
  }

  .ir-sec_irnews_list {
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .ir-sec_irnews_list_lists {
    max-width: 574px;
    width: 47%;
  }

  .ir-sec_links_list {
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: distribute;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-bottom: none;
  }

  .ir-sec_links_list_item a {
    width: 100%;
    height: 200px;
    padding: 62px 0;
    margin-bottom: 45px;
  }

  .en-US .ir-sec_links_list_item a {
    height: 165px;
  }

  .news-sec_column {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .news-sec_column_aside {
    width: 205px;
    padding-right: 30px;
  }

  .news-sec_column_box {
    max-width: 975px;
    width: 100%;
  }

  .news_list {
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .news_list_lists {
    max-width: 574px;
    width: 47%;
  }

  .news_links_list {
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-bottom: none;
  }

  .news_links_list_item a {
    width: 350px;
    height: 200px;
    padding: 62px 0;
    margin-bottom: 75px;
  }

  .recruit.l-page .mainvisual {
    background: url(../images/recruit/header.jpg);
  }

  .recruit h2 {
    font-size: 32px;
  }

  .recruit .sec-recruit_intro-description {
    width: 845px;
    display: inline-block;
    padding: 0;
  }

  .recruit .sec-recruit_message ul > li {
    width: 1400px;
    margin: 0 auto 210px auto;
  }

  .recruit .sec-recruit_message ul > li .sec-recruit_message-block {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .recruit .sec-recruit_message ul > li .sec-recruit_message-block > div {
    width: 50%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .recruit .sec-recruit_message ul > li .sec-recruit_message-block > div img {
    margin-bottom: 0;
  }

  .recruit .sec-recruit_message ul > li .sec-recruit_message-block_description {
    width: 50%;
    padding: 0 125px 0 48px;
  }

  .recruit .sec-recruit_message ul > li:nth-child(even) .sec-recruit_message-block_description {
    padding: 0 48px 0 100px;
  }

  .recruit .sec-recruit_overview table,
  .recruit .sec-recruit_company table {
    width: 960px;
  }

  .recruit .sec-recruit_contact {
    padding: 90px 0 80px 0;
  }

  .recruit .sec-recruit_contact .contact-btn {
    width: 446px;
    padding: 22px 0;
  }

  .recruit .sec-recruit_contact .contact-btn a {
    font-size: 24px;
  }

  .recruit .sec-recruit_photo.sec-content {
    padding: 130px 0;
  }

  .sustainability-first-sec__contents--inner {
    padding-left: 150px !important;
  }

  .sustainability-post-sec .slick-list {
    overflow: visible !important;
  }

  .c-arrow-button {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .c-arrow-button__text {
    color: #BFC2C4;
    font-size: 15px;
    font-weight: bold;
  }

  .c-arrow-button__icon {
    width: 50px;
    margin-left: 16px;
  }

  .c-box__col--align-left {
    padding-left: 50px;
  }

  .c-box__col--align-right {
    padding-right: 50px;
  }

  .c-box__2-col--justify .c-box__col {
    width: 50% !important;
  }

  .c-box__3-col--justify .c-box__col {
    width: 33% !important;
  }

  .c-box__concept:before {
    width: 100vw;
    height: 393px;
    left: 112px;
    top: 32px;
  }

  .c-box__concept--img {
    width: 42% !important;
  }

  .c-box__concept--txt-box {
    width: 58% !important;
  }

  .c-box__concept--reverse:before {
    right: 112px;
    top: 62px;
    left: auto;
  }

  .c-breadcrumb .breadcrumbs {
    overflow: visible;
    white-space: normal;
  }

  .c-btn {
    padding: 24px 76px 24px 100px;
  }

  .c-btn__arrow--r:after {
    right: 20px;
  }

  .c-btn__arrow--l:after {
    left: 20px;
  }

  .c-btn--small {
    padding: 16px 32px 16px 40px;
  }

  .c-btn__text {
    font-size: 16px;
    line-height: 1.375;
  }

  .c-card__item {
    margin-bottom: 40px;
  }

  .c-card__header {
    margin-top: 15px;
  }

  .c-card__body {
    margin-top: 15px;
  }

  .c-card__data {
    font-size: 15px;
  }

  .c-card__title {
    font-size: 16px;
  }

  .c-card--col-2 .c-card__item {
    width: 47%;
  }

  .c-card--col-2:after {
    content: "";
    display: block;
    width: 47%;
    height: 0px;
  }

  .c-card--col-3 .c-card__item {
    width: 30%;
  }

  .c-card--col-3:after {
    content: "";
    display: block;
    width: 30%;
    height: 0px;
  }

  .c-carousel__item {
    padding: 0px 20px;
  }

  .c-carousel__image-box {
    height: 16vw;
  }

  .c-carousel__header {
    margin-top: 20px;
  }

  .c-carousel__footer {
    margin-top: 20px;
  }

  .c-carousel__body {
    margin-top: 20px;
  }

  .c-carousel__title {
    font-size: 30px;
  }

  .c-carousel__txt {
    font-size: 15px;
    line-height: 27px;
  }

  .c-cv-area--style-01 {
    height: 415px;
    width: 100%;
  }

  .c-cv-area--style-02 {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0px;
    height: 300px;
  }

  .c-cv-area--style-02--image {
    width: calc(100% - 695px);
    height: auto;
    position: relative;
  }

  .c-cv-area--style-02 .c-cv-area__inner {
    max-width: 690px;
    text-align: left;
    margin: inherit;
  }

  .c-cv-area__body {
    margin-top: 30px;
    padding-top: 0px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border-top: none;
  }

  .c-cv-area__col {
    width: 350px;
    padding: 0px 20px;
  }

  .c-cv-area__col:first-child {
    border-right: solid 1px #838587;
    margin-bottom: 0px;
    border-bottom: none;
    padding-bottom: 0px;
  }

  .c-fv__contents {
    -webkit-justify-content: left;
    -ms-flex-pack: left;
    justify-content: left;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 30px;
  }

  .c-fv__contents--slanting {
    width: 750px;
    top: 0px;
    bottom: auto;
    height: 100vh;
    -webkit-clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);
  }

  .c-fv__contents-box {
    width: 50%;
    min-width: 575px;
    padding: 70px 30px;
  }

  .c-fv__contents-box__body {
    margin-top: 30px;
  }

  .c-fv__contents-box__footer {
    margin-top: 20px;
  }

  .c-fv__contents__bottom {
    -webkit-align-items: end;
    -ms-flex-align: end;
    align-items: end;
    padding-left: 0px;
  }

  .c-fv__title {
    font-size: 50px;
    letter-spacing: 0px;
  }

  .c-fv__title--sub {
    font-size: 27px;
  }

  .c-fv__txt {
    font-size: 15px;
    line-height: 27px;
    margin-top: 20px;
  }

  .c-flow--h {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .c-flow--h--4col .c-flow__item--box {
    width: 25%;
    display: block;
  }

  .c-flow--h--4col .c-flow__item--box:after {
    width: 100%;
    height: 1px;
    top: 50px;
    left: 50%;
    border-left: none;
    border-bottom: dashed 2px #f18e2c;
  }

  .c-flow--h--4col .c-flow__item--box .c-flow__item {
    margin: auto;
  }

  .c-flow--h--4col .c-flow__item--box .c-flow__item--contents {
    margin-top: 30px;
    padding: 20px;
    width: 100%;
  }

  .c-form__dl {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    margin-bottom: 0px;
    margin-top: 0px;
  }

  .c-form__dl--align-start {
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
  }

  .c-form__dt {
    width: 300px;
    margin-bottom: 0px;
  }

  .c-form__dd {
    width: calc(100% - 300px);
    padding-left: 32px;
  }

  .c-form__input--radio--label {
    margin-bottom: 0px;
  }

  .c-form__input--radio--label:not(:last-child) {
    margin-right: 70px;
  }

  .c-form__input--checkbox--label {
    margin-bottom: 0px;
  }

  .c-form__input--checkbox--label:not(:last-child) {
    margin-right: 70px;
  }

  .c-form__submit--btn--outer {
    width: 310px;
    margin: 0px 10px;
    display: inline-block;
  }

  .c-list__item__inner {
    padding: 20px 32px;
  }

  .c-list__title {
    font-size: 17px;
  }

  .c-list__text {
    letter-spacing: 0;
    color: #E1E5E8;
    line-height: 1.35294;
  }

  .c-media__item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
  }

  .c-media__item--reverse {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-left: 0;
  }

  .c-media__item--reverse .c-media__body {
    padding: 0 5% 0 0;
  }

  .c-media__item--col-1 .c-media__img-wrap {
    width: 100%;
  }

  .c-media__item--col-1 .c-media__body {
    width: 100%;
    padding-left: 0px;
    margin-top: 50px;
  }

  .c-media__item--col-3 .c-media__img-wrap {
    width: 30%;
  }

  .c-media__item--col-3 .c-media__body {
    width: 70%;
  }

  .c-media__item--col-4 .c-media__img-wrap {
    width: 25%;
  }

  .c-media__item--col-4 .c-media__body {
    width: 75%;
  }

  .c-media__img-wrap {
    margin: 0;
    width: 50%;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .c-media__img-wrap--m {
    height: 300px;
    overflow: hidden;
  }

  .c-media__body {
    width: 50%;
    margin-top: 0;
    padding-left: 40px;
  }

  .c-media__title {
    font-size: 25px;
    letter-spacing: 1.36;
  }

  .c-media__text {
    font-size: 15px;
  }

  .c-modal__close {
    height: 60px;
    width: 60px;
  }

  .c-modal__close span {
    width: 40px;
    height: 2px;
    top: 30px;
    left: 10px;
  }

  .c-page-header {
    height: 255px;
  }

  .c-page-header__title {
    font-size: 40px;
  }

  .c-page-header__l {
    height: 600px;
    border-radius: 30px;
  }

  .c-side__page-wrapper {
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .c-side__menu {
    width: 300px;
    margin-top: 0px;
  }

  .c-side__main-contents {
    width: calc(100% - 300px);
    padding-left: 40px;
  }

  .c-table .c-table__th,
  .c-table .c-table__td {
    font-size: 16px;
    min-height: 70px;
    padding: 23px 10px;
    margin-top: 0px;
  }

  .c-table--style-01 .c-table__th,
  .c-table--style-01 .c-table__td {
    padding: 40px 50px;
    line-height: 28px;
  }

  .c-table--style-01 .c-table__td {
    width: calc(100% - 200px);
  }

  .c-table--style-01 .c-table__th {
    width: 200px !important;
  }

  .c-table__dl {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .c-table--d--style-01 .c-table__dt {
    width: 200px;
  }

  .c-table--d--style-01 .c-table__dd {
    width: calc(100% - 200px);
  }

  .c-tel-link__no {
    font-size: 28px;
  }

  .c-tel-link__no::before {
    font-size: 24px;
    margin-right: 10px;
  }

  .c-tel-link__info {
    font-size: 10px;
  }

  .c-title {
    font-size: 35px;
  }

  .c-title--xs {
    font-size: 18px;
  }

  .c-title--s {
    font-size: 23px;
  }

  .c-title--m {
    font-size: 37px;
  }

  .c-title--l {
    font-size: 50px;
  }

  .c-title__border--bottom {
    padding-bottom: 25px;
  }

  .c-title__border--bottom:after {
    width: 50px;
  }

  .c-title__border--left {
    padding-left: 33px;
  }

  .c-title__border--side {
    padding-left: 40px;
  }

  .c-title__border--side:after {
    width: 23px;
  }

  .c-title__sub--top {
    margin-bottom: 1em;
  }

  .c-toggle--title {
    font-size: 22px;
    height: 100px;
    margin: 0px 15px;
  }

  .c-toggle--title:before {
    right: 43px;
  }

  .c-toggle--title:after {
    right: 43px;
  }

  .c-toggle--sp .c-toggle--title {
    pointer-events: none;
    cursor: auto;
  }

  .u-pc-hide {
    display: none !important;
  }

  .u-sp-hide {
    display: inline !important;
  }

  .u-sp-hide-b {
    display: block !important;
  }

  .f-s-small {
    font-size: 16px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  .c-toggle--sp .c-toggle--title:before,
  .c-toggle--sp .c-toggle--title:after {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .c-contact {
    width: 100%;
    padding: 40px 15px;
  }

  .c-contact .c-contact-info {
    margin-top: -10px;
    font-size: 17px;
  }

  .c-contact .c-contact-tel {
    font-size: 30px;
  }

  .c-contact .c-contact-date {
    margin: 15px 0 20px;
    font-size: 17px;
  }

  .c-contact .c-contact-date span {
    font-size: 17px;
  }
}

@media screen and (min-width: 890px) {
  .gnav-btn {
    display: none;
  }

  .globalnavi {
    display: block;
    font-size: 15px;
    height: 100%;
    position: relative;
  }

  .globalnavi .gnavi-list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    height: 100%;
    padding-top: 0;
    padding-left: 0px;
  }
}

@media screen and (min-width: 900px) {
  .business-sec_business_raas .business-sec_business_header_tlt {
    width: calc(100% - 605px);
  }

  .business-sec_business_raas .business-sec_business_header_txt {
    max-width: 605px;
    padding-left: 70px;
    padding-right: 50px;
  }

  .sustainability-project-sec__item--reverse .sustainability-project-sec__item__tlt {
    margin-top: 50px;
  }

  .sustainability-project-sec__item--reverse .sustainability-project-sec__item__header {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .sustainability-project-sec__item--reverse .sustainability-project-sec__item__img {
    margin-right: auto;
    margin-left: -100px;
    margin-top: -50px;
    position: relative;
    top: -50px;
  }

  .sustainability-project-sec__item--reverse .sustainability-project-sec__item__info {
    padding-left: 60px;
    padding-right: 0px;
  }

  .sustainability-project-sec__item--reverse .sustainability-project-sec__item__num {
    top: -130px;
    left: 57px;
  }
}

@media screen and (max-width: 1580px) {
  .sustainability-post-sec__item__inner .c-carousel__inner {
    width: 55%;
  }
}

@media screen and (max-width: 1240px) {
  .l-footer-sub_sec {
    width: 1250px;
    max-width: 100%;
  }
}

@media screen and (max-width: 1185px) {
  .home-sec_mission_container_img {
    width: 40%;
  }

  .home-sec_mission_container_info {
    margin-left: 50px;
    width: 60%;
  }
}

@media screen and (max-width: 1160px) {
  .home-sec_recruit_container_desc_inner {
    top: 50px;
  }
}

@media screen and (max-width: 1145px) {
  .g-nav-block {
    width: 812px;
  }

  .globalnavi .gnavi-list > li {
    padding: 0 10px;
  }

  .l-header {
    padding: 13px 20px 10px 20px;
  }
}

@media screen and (max-width: 1100px) {
  .business-sec_business_header_tlt {
    width: calc(100% - 430px);
  }

  .business-sec_business_header_txt {
    padding-right: 30px;
    max-width: 430px;
  }

  .business-sec_business_contents_info {
    padding-right: 30px;
  }

  .home-sec_business_container_header_white_tlt {
    font-size: 9vw;
  }

  .sustainability-post-sec__item {
    padding: 20px 0px;
    width: auto;
  }
}

@media screen and (max-width: 1030px) {
  .home-sec_recruit_container_img {
    height: 47vw;
  }
}

@media screen and (max-width: 1000px) {
  .g-nav-block {
    width: 722px;
  }

  .globalnavi .gnavi-list > li {
    padding: 0px 5px;
  }

  .sustainability-project-sec__item__info {
    width: 60%;
    padding-right: 30px;
  }

  .sustainability-project-sec__item__img {
    width: 52%;
  }
}

@media screen and (max-width: 990px) {
  .sustainability-post-sec__tlt {
    font-size: 20px;
    letter-spacing: 3px;
  }

  .sustainability-post-sec__item__inner {
    display: block;
    padding: 40px 20px !important;
  }

  .sustainability-post-sec__item__inner .c-carousel__header {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
  }

  .sustainability-post-sec__item__inner .c-carousel__inner {
    width: 100%;
    margin-top: 20px;
  }

  .sustainability-post-sec__item .c-carousel__title {
    padding-left: 0px;
    font-size: 16px;
    line-height: 23px;
  }

  .sustainability-post-sec__item .c-carousel__title--sub {
    font-size: 13px;
    letter-spacing: 0px;
    line-height: 20px;
    margin-bottom: 10px;
  }

  .sustainability-post-sec__item .c-carousel__txt {
    padding-left: 0px;
    margin-top: 24px;
    padding-top: 16px;
    letter-spacing: 0px;
  }

  .sustainability-post-sec__item .c-carousel__footer {
    padding-left: 0px;
    text-align: center;
  }
}

@media screen and (max-width: 980px) {
  .l-footer-nav_list {
    width: 330px;
    margin-right: 0px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 950px) {
  .home-sec_business_container_header {
    display: block;
    margin-bottom: 130px;
  }

  .home-sec_business_container_header_white_tlt {
    padding-left: 20px;
  }

  .home-sec_business_container_header_description {
    top: auto;
    margin-left: 0px;
    padding: 0px 30px;
    margin-top: 40px;
  }
}

@media screen and (max-width: 930px) {
  .sustainability-first-sec__contents--title span {
    font-size: 32px;
    line-height: 73px;
    padding: 14px 10px;
  }
}

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }

  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }

  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }

  .mfp-container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 900px) {
  .business-sec_first {
    padding-left: 30px;
    padding-right: 30px;
    margin-bottom: 35px;
    text-align: justify;
    letter-spacing: 0 !important;
  }

  .business-sec_first_tlt {
    font-size: 20px;
  }

  .business-sec_first_txt {
    font-size: 16px;
    line-height: 30px;
  }

  .business-sec_business_header {
    display: block;
    overflow: hidden;
    width: calc(100% - 60px);
    margin: auto;
    padding-bottom: 38px;
  }

  .business-sec_business_header_tlt {
    width: 100%;
    font-size: 22px;
    line-height: 40px;
  }

  .business-sec_business_header_tlt_products {
    font-size: 10px;
  }

  .business-sec_business_header_tlt_num {
    font-size: 60px;
    margin-left: 10px;
    margin-right: 15px;
  }

  .business-sec_business_header_txt {
    width: 100%;
    max-width: 100%;
    padding-right: 0px;
    padding-left: 0px;
    margin-left: 0px;
    margin-top: 23px;
    line-height: 27px;
    font-size: 15px;
  }

  .business-sec_business_contents {
    display: block;
    padding-top: 40px;
    width: calc(100% - 60px);
    margin: auto;
    margin-bottom: 50px;
  }

  .business-sec_business_contents_logo {
    width: 100%;
    height: 220px;
    min-height: 215px;
    margin-bottom: 23px;
  }

  .business-sec_business_contents_logo img {
    width: auto;
    max-width: 160px;
  }

  .business-sec_business_contents_info {
    max-width: 100%;
    width: 100%;
    min-height: 280px;
    padding-right: 0px;
    padding-left: 00px;
    padding-top: 0px;
    margin-left: 0px;
    text-align: center;
  }

  .business-sec_business_contents_info_tlt {
    font-size: 28px;
    margin-bottom: 25px;
    text-align: left;
  }

  .business-sec_business_contents_info_tlt_sub {
    font-size: 16px;
    line-height: 28px;
    text-align: left;
  }

  .business-sec_business_contents_info_txt {
    margin-top: 39px;
    margin-bottom: 39px;
    line-height: 25px;
    text-align: left;
    font-size: 14px;
  }

  .business-sec_business_contents_info_cat {
    right: 13px;
    top: 60px;
    font-size: 14px;
    display: none;
  }

  .home-sec_products_container_tlt {
    padding-top: 20px;
    margin-bottom: 5px;
  }

  .home-sec_products_container_menu_list_lists_link {
    padding: 15px 30px;
    display: block;
  }

  .home-sec_products_container_menu_list_lists_link_tlt {
    width: 100%;
    margin-bottom: 20px;
  }

  .home-sec_products_container_menu_list_lists_link_txt {
    width: 100%;
    padding-left: 25px;
  }

  .home-sec_recruit_container {
    display: block;
    padding-bottom: 0px;
  }

  .home-sec_recruit_container_img {
    left: auto;
    margin: auto;
    width: calc(100% - 100px);
    min-width: 320px;
    margin-bottom: 65px;
    height: auto;
  }

  .home-sec_recruit_container_img:before {
    height: 25px;
    bottom: -25px;
    right: 0px;
    width: calc(100% - 40px);
  }

  .home-sec_recruit_container_img:after {
    width: 25px;
    right: 0px;
    top: 25px;
    height: calc(100% - 25px);
  }

  .home-sec_recruit_container_desc_inner {
    top: -48px;
  }

  .home-sec_recruit_container_desc_btn {
    text-align: center;
  }

  _::-webkit-full-page-media,
  _:future,
  :root .home-sec_recruit_container_desc_inner {
    top: -30px;
  }

  _::-webkit-full-page-media,
  _:future,
  :root .en-US .home-sec_recruit_container_desc_inner {
    top: -30px;
  }

  .page-template-page-top_en .home-sec_business_container_menu_col_desc_tlt {
    padding-right: 25px;
  }

  .sustainability-project-sec {
    margin-top: 46px;
  }

  .sustainability-project-sec__border {
    width: 100% !important;
    padding: 52px 0px 0px 0px !important;
  }

  .sustainability-project-sec .c-title__sub {
    margin-bottom: 22px;
  }

  .sustainability-project-sec__first {
    padding: 0px 31px;
    line-height: 27px !important;
    text-align: left;
  }

  .sustainability-project-sec__contents {
    padding: 70px 0px 0px 0px !important;
    margin-top: 47px;
  }

  .sustainability-project-sec__item {
    padding: 20px;
    width: calc(100% - 60px);
    margin: auto;
    margin-top: -30px;
    position: relative;
    z-index: 5;
  }

  .sustainability-project-sec__item:not(:last-child) {
    margin-bottom: 85px;
  }

  .sustainability-project-sec__item__info {
    padding: 0px !important;
    width: 100%;
  }

  .sustainability-project-sec__item__img {
    margin-top: auto !important;
    margin-right: auto  !important;
    margin-left: auto  !important;
    top: auto !important;
    width: 100%;
  }

  .sustainability-project-sec__item__img_pc {
    display: none;
  }

  .sustainability-project-sec__item__img_sp {
    display: block;
  }

  .sustainability-project-sec__item__tlt {
    font-size: 17px;
    line-height: 31px;
    margin-top: 19px;
  }

  .sustainability-project-sec__item__txt {
    margin-top: 33px;
    line-height: 27px !important;
  }

  .sustainability-project-sec__item__num {
    top: 0px;
    left: 0px;
    position: relative;
    font-size: 40px;
  }

  .sustainability-project-sec__item__menu {
    display: block;
  }

  .sustainability-project-sec__item__menu-box {
    margin-top: 37px;
  }

  .sustainability-project-sec__item__menu--outer-link:before {
    width: 20px;
  }

  .sustainability-project-sec__item__menu--items {
    width: 100%;
    margin-bottom: -1px;
  }
}

@media screen and (max-width: 890px) {
  .g-nav-block {
    position: absolute;
    width: 100%;
  }

  .globalnavi {
    background: #E1E5E8;
    height: 100vh;
    padding-top: 50px;
    padding-left: 20px;
  }

  .globalnavi .gnavi-list > li {
    padding: 10px 0 15px 0;
    font-size: 15px;
  }

  .nav-translate {
    margin-top: 15px;
  }

  .nav-copyright {
    display: inline-block !important;
    position: absolute;
    bottom: 41px;
    left: 30px;
    font-size: 11px;
    letter-spacing: 1px;
    line-height: 23px;
  }

  .page-template-page-about .nav-about {
    padding-left: 15px;
    color: #000000 !important;
  }

  .page-template-page-about .nav-about:before {
    content: "";
    width: 1px;
    height: 20px;
    background-color: #f18e2c;
    display: inline-block;
    position: absolute;
    top: -2px;
    left: 0px;
  }

  .page-template-page-business .nav-business {
    padding-left: 15px;
    color: #000000 !important;
  }

  .page-template-page-business .nav-business:before {
    content: "";
    width: 1px;
    height: 20px;
    background-color: #f18e2c;
    display: inline-block;
    position: absolute;
    top: -2px;
    left: 0px;
  }

  .page-template-page-ir .nav-ir,
  .page-template-page-irmessage .nav-ir,
  .page-template-page-irgovernance .nav-ir,
  .page-template-page-irnews
.page-template-page-ircalender .nav-ir,
  .page-template-page-irnews .nav-ir,
  .page-template-page-irhighlight .nav-ir,
  .page-template-page-irlibrary .nav-ir,
  .page-template-page-irstock .nav-ir,
  .page-template-page-ircalendar .nav-ir,
  .page-template-page-irpublic .nav-ir {
    padding-left: 15px;
    color: #000000 !important;
  }

  .page-template-page-ir .nav-ir:before,
  .page-template-page-irmessage .nav-ir:before,
  .page-template-page-irgovernance .nav-ir:before,
  .page-template-page-irnews
.page-template-page-ircalender .nav-ir:before,
  .page-template-page-irnews .nav-ir:before,
  .page-template-page-irhighlight .nav-ir:before,
  .page-template-page-irlibrary .nav-ir:before,
  .page-template-page-irstock .nav-ir:before,
  .page-template-page-ircalendar .nav-ir:before,
  .page-template-page-irpublic .nav-ir:before {
    content: "";
    width: 1px;
    height: 20px;
    background-color: #f18e2c;
    display: inline-block;
    position: absolute;
    top: -2px;
    left: 0px;
  }

  .post-type-archive-post .nav-news,
  .single-post .nav-news {
    padding-left: 15px;
    color: #000000 !important;
  }

  .post-type-archive-post .nav-news:before,
  .single-post .nav-news:before {
    content: "";
    width: 1px;
    height: 20px;
    background-color: #f18e2c;
    display: inline-block;
    position: absolute;
    top: -2px;
    left: 0px;
  }

  .page-template-page-company .nav-company,
  .page-id-1324 .nav-company {
    padding-left: 15px;
    color: #000000 !important;
  }

  .page-template-page-company .nav-company:before,
  .page-id-1324 .nav-company:before {
    content: "";
    width: 1px;
    height: 20px;
    background-color: #f18e2c;
    display: inline-block;
    position: absolute;
    top: -2px;
    left: 0px;
  }

  .post-type-archive-sustainability .nav-sustainability,
  .single-sustainability .nav-sustainability {
    padding-left: 15px;
    color: #000000 !important;
  }

  .post-type-archive-sustainability .nav-sustainability:before,
  .single-sustainability .nav-sustainability:before {
    content: "";
    width: 1px;
    height: 20px;
    background-color: #f18e2c;
    display: inline-block;
    position: absolute;
    top: -2px;
    left: 0px;
  }

  .page-template-page-contact .nav-contact {
    padding-left: 15px;
    color: #000000 !important;
  }

  .page-template-page-contact .nav-contact:before {
    content: "";
    width: 1px;
    height: 20px;
    background-color: #f18e2c;
    display: inline-block;
    position: absolute;
    top: -2px;
    left: 0px;
  }

  .l-header {
    padding: 0px;
    min-width: 100%;
  }

  .l-header .l-container {
    padding: 0;
    top: 7px;
  }

  .header-top {
    text-align: left;
    width: 100%;
  }
}

@media screen and (max-width: 880px) {
  .l-footer-sub_sec {
    min-width: 100%;
    -webkit-flex-wrap: wrap-reverse;
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
  }

  .l-footer-sub_sec_menu {
    margin-right: 0px;
  }

  .l-footer-sub_sec_menu_list {
    margin-bottom: 10px;
  }

  .en-US .l-footer-sub_sec_menu {
    margin-right: 0px;
  }
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */

  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }

  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }

  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }

  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }

  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }

  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }

  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }

  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}

@media screen and (max-width: 769px) {
  .pagetop {
    width: 75px;
    position: fixed;
    bottom: 50px;
  }

  .pagetop a {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .price_table_inner {
    overflow-x: scroll;
  }

  .price_table .td_top {
    width: 20px;
  }

  .price_table td,
  .price_table th {
    font-size: 14px;
    padding: 5px;
    width: 10px;
  }

  .price_table table {
    width: 960px;
  }

  .page-mainvisual {
    -webkit-flex-wrap: wrap-reverse;
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
    height: auto;
  }

  .page-mainvisual_col {
    width: 100%;
    min-width: 100%;
  }

  .page-mainvisual_title {
    font-size: 44px;
    margin-top: 17px;
    padding-left: 30px;
  }

  .page-mainvisual_title_sub {
    font-size: 22px;
  }

  .page-mainvisual_img {
    width: calc(100% - 30px);
    height: 110px;
  }

  .table-default tr th {
    display: block;
    width: 100%;
    height: auto;
  }

  .table-default tr td {
    display: block;
    width: 100%;
  }

  .l-footer {
    padding-bottom: 60px;
  }

  .l-footer-contact {
    background-image: url(../images/footer/footer_contact_bg_s@2x.png?2025-10-02);
  }

  .l-footer-contact_inner_btn {
    width: 100%;
  }

  .l-footer-logo img {
    width: 110px;
  }

  .l-footer-nav {
    margin-top: 38px;
    padding-left: 9px;
    flex-direction: column;
    gap: 20px;
  }

  .l-footer-nav_list_lists:nth-of-type(even) {
    padding-left: 28px;
  }

  .l-footer-nav_list_lists_link {
    font-size: 14px;
  }

  .l-footer-nav_langage_sp {
    display: inline-block;
    margin-left: 70px;
  }

  .l-footer-nav_langage_pc {
    display: none;
  }

  .l-footer-nav_icon{
    justify-content: flex-start;
  }

  .l-footer_inner {
    display: block;
    padding: 60px 30px 20px 26px;
    min-width: 100%;
  }

  .l-footer-sub_sec {
    width: 330px;
    min-width: auto;
    padding: 23px 20px 20px 30px;
    font-size: 12px;
  }

  .header-top .header-logo {
    padding: 7px 5px 5px 26px;
  }

  .header-top .header-logo img {
    width: 100px;
  }

  .header-top .header-logo {
    width: 130px;
  }

  .pege-first_txt {
    padding: 40px 0px;
  }

  .pege-first_txt p {
    font-size: 14px;
  }

  .accordion_open {
    width: 100%;
    padding: 20px;
    text-align: center;
    border: solid 1px #000000;
    position: relative;
    cursor: pointer;
  }

  .accordion_inner {
    height: 0px;
    overflow: hidden;
    transition: .2s;
  }

  .dot_bar:after {
    height: 128px;
  }

  .l-sidebar_sp_open {
    display: block;
    text-align: center;
    padding: 15px 0px;
    background-color: #e22b00;
    color: #ffffff;
    font-weight: bold;
    font-size: 16px;
    border-radius: 10px;
  }

  .l-sidebar_inner {
    height: 0px;
    overflow: hidden;
    transition: .3s;
  }

  .l-sidebar_inner_open {
    height: auto;
  }

  .l-sidebar_infobox {
    display: none;
  }

  .page_404_inner_tlt {
    font-size: 52px;
  }

  .page_404_inner_tlt_sub {
    font-size: 20px;
  }

  .page_404_inner_info {
    margin-top: 50px;
  }

  .about .page-mainvisual,
  .page-template-page-about .page-mainvisual {
    margin-bottom: 50px;
  }

  .about-sec_tlt,
  .page-template-page-about-sec_tlt {
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 0px;
  }

  .about-sec_tlt_sub,
  .page-template-page-about-sec_tlt_sub {
    margin-bottom: 23px;
  }

  .about-sec_tlt_mini,
  .page-template-page-about-sec_tlt_mini {
    font-size: 16px;
  }

  .about-sec_tlt_mini .about-sec_tlt_sub,
  .page-template-page-about-sec_tlt_mini .about-sec_tlt_sub {
    margin-bottom: 16px;
  }

  .about-sec_first .dot_bar:after,
  .page-template-page-about-sec_first .dot_bar:after {
    top: 115%;
  }

  .about-sec_will,
  .page-template-page-about-sec_will {
    padding-top: 60px;
    margin-top: 110px;
    padding-bottom: 125px;
    margin-bottom: 90px;
  }

  .about-sec_will_column,
  .page-template-page-about-sec_will_column {
    margin-top: 25px;
    display: block;
  }

  .about-sec_will_column_img,
  .page-template-page-about-sec_will_column_img {
    width: 100%;
  }

  .about-sec_will_column_info,
  .page-template-page-about-sec_will_column_info {
    padding-left: 0px;
  }

  .about-sec_will_column_info_tlt,
  .page-template-page-about-sec_will_column_info_tlt {
    font-size: 16px;
    margin-top: 50px;
    margin-bottom: 35px;
    line-height: 27px;
  }

  .about-sec_will_column_info_txt,
  .page-template-page-about-sec_will_column_info_txt {
    line-height: 28.5px;
    letter-spacing: 0px;
  }

  .about-sec_will_column_info_txt_orange,
  .page-template-page-about-sec_will_column_info_txt_orange {
    font-size: 15px;
    margin-top: 20px;
  }

  .about-sec_will_column:nth-of-type(2),
  .page-template-page-about-sec_will_column:nth-of-type(2) {
    margin-top: 40px;
  }

  .about-sec_will_column:nth-of-type(2) .about-sec_will_column_info,
  .page-template-page-about-sec_will_column:nth-of-type(2) .about-sec_will_column_info {
    padding-right: 0px;
  }

  .about-sec_will .dot_bar:after,
  .page-template-page-about-sec_will .dot_bar:after {
    top: 50px;
  }

  .about-sec_value .dot_bar:after,
  .page-template-page-about-sec_value .dot_bar:after {
    top: 20px;
  }

  .about-sec_value_first,
  .page-template-page-about-sec_value_first {
    margin-bottom: 35px;
    margin-top: 50px;
    text-align: left;
  }

  .about-sec_value_ownerspeed,
  .page-template-page-about-sec_value_ownerspeed {
    padding: 50px 0px;
    display: block;
    margin-bottom: 45px;
  }

  .about-sec_value_ownerspeed_left_tlt,
  .page-template-page-about-sec_value_ownerspeed_left_tlt {
    font-size: 25px;
    line-height: 40px;
    margin-bottom: 28px;
  }

  .about-sec_value_ownerspeed_left_tlt_sub,
  .page-template-page-about-sec_value_ownerspeed_left_tlt_sub {
    font-size: 16px;
  }

  .about-sec_value_ownerspeed_right,
  .page-template-page-about-sec_value_ownerspeed_right {
    width: 100%;
    max-width: 100%;
  }

  .about-sec_value_ownerspeed_right_txt,
  .page-template-page-about-sec_value_ownerspeed_right_txt {
    margin-top: 40px;
    line-height: 27px;
  }

  .about-sec_value_principle,
  .page-template-page-about-sec_value_principle {
    margin-bottom: 245px;
    margin-top: 50px;
  }

  .about-sec_value_principle:before,
  .page-template-page-about-sec_value_principle:before {
    top: 25px;
    left: 15px;
  }

  .about-sec_value_principle_col,
  .page-template-page-about-sec_value_principle_col {
    margin-bottom: 0px;
  }

  .about-sec_value_principle_col,
  .page-template-page-about-sec_value_principle_col {
    display: block;
  }

  .about-sec_value_principle_col_box,
  .page-template-page-about-sec_value_principle_col_box {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin-bottom: 55px;
    padding: 40px 20px;
  }

  .about-sec_value_principle_col_box_num,
  .page-template-page-about-sec_value_principle_col_box_num {
    font-size: 41px;
    top: -30px;
  }

  .about-sec_value_principle_col_box_tlt,
  .page-template-page-about-sec_value_principle_col_box_tlt {
    font-size: 18px;
    margin-bottom: 36px;
  }

  .about-sec_recruit .about-sec_tlt,
  .page-template-page-about-sec_recruit .about-sec_tlt {
    line-height: 30px;
    letter-spacing: 0px;
  }

  .about-sec_recruit_link,
  .page-template-page-about-sec_recruit_link {
    height: 370px;
    width: calc(100% - 60px);
    background-image: url(../images/about/about_footer_s@2x.png?2025-10-02);
    margin-top: 45px;
  }

  .about-sec_recruit_link_txt,
  .page-template-page-about-sec_recruit_link_txt {
    font-size: 15px;
  }

  .about-sec_recruit_link_inner,
  .page-template-page-about-sec_recruit_link_inner {
    margin-top: 0px;
  }

  .about-sec_recruit_link .btn span:after,
  .page-template-page-about-sec_recruit_link .btn span:after {
    width: 5px;
    height: 6px;
    right: -10px;
    background-size: 5px 6px;
    -webkit-transform: translate(0px, 3px);
    transform: translate(0px, 3px);
  }

  .about-sec_recruit_link:hover .btn span:after,
  .page-template-page-about-sec_recruit_link:hover .btn span:after {
    right: -10px;
  }

  .about-sec_recruit_link:before,
  .page-template-page-about-sec_recruit_link:before {
    height: 25px;
    bottom: -25px;
    right: -25px;
    width: calc(100% - 25px);
  }

  .about-sec_recruit_link:after,
  .page-template-page-about-sec_recruit_link:after {
    width: 25px;
    right: -25px;
    top: 25px;
    height: calc(100% - 25px);
  }

  .business .page-mainvisual {
    margin-bottom: 50px;
  }

  .company .page-mainvisual,
  .page-template-page-company .page-mainvisual,
  .page-template-page-company_en .page-mainvisual {
    margin-bottom: 50px;
  }

  .company-sec,
  .page-template-page-company-sec,
  .page-template-page-company_en-sec {
    overflow: hidden;
  }

  .company-sec_heading,
  .page-template-page-company-sec_heading,
  .page-template-page-company_en-sec_heading {
    margin-bottom: 50px;
  }

  .company-sec_heading span,
  .page-template-page-company-sec_heading span,
  .page-template-page-company_en-sec_heading span {
    font-size: 25px;
  }

  .company-sec_profile,
  .page-template-page-company-sec_profile,
  .page-template-page-company_en-sec_profile {
    padding: 0 30px;
  }

  .company-sec_profile_table_list_dsc span,
  .page-template-page-company-sec_profile_table_list_dsc span,
  .page-template-page-company_en-sec_profile_table_list_dsc span {
    font-size: 12px;
    color: #6F6F6F;
    display: block;
    margin-top: 7px;
  }

  .company-sec_profile_dotbg,
  .page-template-page-company-sec_profile_dotbg,
  .page-template-page-company_en-sec_profile_dotbg {
    width: 100%;
    bottom: -40px;
    right: -43px;
    background-size: auto;
  }

  .company-sec_director,
  .page-template-page-company-sec_director,
  .page-template-page-company_en-sec_director {
    margin-bottom: 115px;
    padding: 0 30px;
  }

  .company-sec_director_list_right_open,
  .page-template-page-company-sec_director_list_right_open,
  .page-template-page-company_en-sec_director_list_right_open {
    right: 0;
  }

  .company-sec_director_list_right_open_text,
  .page-template-page-company-sec_director_list_right_open_text,
  .page-template-page-company_en-sec_director_list_right_open_text {
    display: none;
  }

  .company-sec_director_list_right_text,
  .page-template-page-company-sec_director_list_right_text,
  .page-template-page-company_en-sec_director_list_right_text {
    padding-bottom: 35px;
  }

  .company-sec_director_list_right_text_look,
  .page-template-page-company-sec_director_list_right_text_look,
  .page-template-page-company_en-sec_director_list_right_text_look {
    display: none;
  }

  .company-sec_director_list_right_text_list dt,
  .page-template-page-company-sec_director_list_right_text_list dt,
  .page-template-page-company_en-sec_director_list_right_text_list dt {
    width: 76px;
  }

  .company-sec_director_list_right_text_list dd,
  .page-template-page-company-sec_director_list_right_text_list dd,
  .page-template-page-company_en-sec_director_list_right_text_list dd {
    width: calc(100% - 76px);
    font-size: 14px;
    padding-right: 0px;
  }

  .company-sec_director_list_right_close,
  .page-template-page-company-sec_director_list_right_close,
  .page-template-page-company_en-sec_director_list_right_close {
    right: 0;
  }

  .company-sec_history .company-sec_heading,
  .page-template-page-company-sec_history .company-sec_heading,
  .page-template-page-company_en-sec_history .company-sec_heading {
    padding: 0 30px;
  }

  .company-sec_history_table,
  .page-template-page-company-sec_history_table,
  .page-template-page-company_en-sec_history_table {
    margin-left: 0;
  }

  .company-sec_history_table_list_year,
  .page-template-page-company-sec_history_table_list_year,
  .page-template-page-company_en-sec_history_table_list_year {
    width: 88px;
  }

  .company-sec_history_table_list_year span,
  .page-template-page-company-sec_history_table_list_year span,
  .page-template-page-company_en-sec_history_table_list_year span {
    padding: 80px 8px 3px 8px;
  }

  .company-sec_history_table_list_text,
  .page-template-page-company-sec_history_table_list_text,
  .page-template-page-company_en-sec_history_table_list_text {
    padding: 22px 0 35px 9px;
  }

  .company-sec_history_table_list_text p,
  .page-template-page-company-sec_history_table_list_text p,
  .page-template-page-company_en-sec_history_table_list_text p {
    font-size: 14px;
  }

  .contact .page-mainvisual {
    margin-bottom: 70px;
  }

  .contact-sec_header_links {
    display: block;
  }

  .contact-sec_radio {
    margin-top: 0px;
    display: block;
  }

  .contact-sec_radio .mwform-radio-field {
    width: 100%;
  }

  .contact-sec_privacy_link_links {
    display: block;
    margin: 5px 0px;
  }

  .contact .submitbtn {
    margin-top: 30px;
  }

  .mainvisual {
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding-bottom: 50px;
    min-height: 700px;
  }

  .mainvisual-scroll {
    display: none;
  }

  .mainvisual-fv-sp-hide {
    display: none;
  }

  .mainvisual-fv-pc-hide {
    display: block;
  }

  .mainvisual-txt {
    padding-left: 30px;
  }

  .mainvisual-txt_tlt {
    font-size: 45px;
  }

  .mainvisual-txt_tlt_sub {
    font-size: 20px;
  }

  .mainvisual-txt_tlt_x {
    width: 35px;
    height: 35px;
    margin: 0px 10px;
  }

  .mainvisual-txt_sub {
    margin-top: 30px;
  }

  .mainvisual-txt_sub_tlt {
    font-size: 20px;
    margin-bottom: 20px;
  }

  .mainvisual-txt_sub_paragram {
    font-size: 14px;
    letter-spacing: 0px;
    padding-right: 30px;
  }

  .home-sec_mission {
    padding-bottom: 55px;
  }

  .home-sec_mission_container {
    display: block;
  }

  .home-sec_mission_container_img {
    width: 100%;
  }

  .home-sec_mission_container_info {
    width: 100%;
    margin-left: 0px;
    margin-top: 50px;
  }

  .home-sec_mission_container_info_tlt {
    font-size: 18px;
    margin: 20px 0px 30px 0px;
    line-height: 30px;
  }

  .home-sec_mission_container_info_txt {
    margin-bottom: 35px;
  }

  .home-sec_mission_container_info_link {
    width: 190px;
    margin: auto;
  }

  .home-sec_mission_container_info_link .btn {
    display: block;
    margin: auto;
  }

  .home-sec_mission_container_info_link .btn:first-child {
    margin-right: 0px;
    margin-bottom: 35px;
  }
  
  .home-sec_mission_container-movie{
    display: flex;
    flex-direction: column-reverse;
  }

  .home-sec_mission_container-movie .home-sec_mission_container_info{

  }

  .home-sec_mission_container-movie .home-sec_mission_container_info_tlt{
    margin-bottom: 30px;
  }

  .home-sec_mission_container-movie .home-sec_mission_container_img{

  }

  .home-sec_business {
    padding-top: 40px;
    padding-bottom: 40px;
    overflow: hidden;
  }

  .home-sec_business_container_header {
    margin-bottom: 30px;
  }

  .home-sec_business_container_header_white_tlt {
    font-size: 20vw;
    line-height: 16vw;
    padding-left: 0px;
  }

  .home-sec_business_container_header_description_txt {
    width: 100%;
  }

  .home-sec_business_container_menu_col_dotbg {
    display: none;
  }

  .home-sec_business_container_menu_col_desc {
    width: calc(100% - 60px);
    margin: -60px auto 0px auto;
    padding: 40px 23px;
  }

  .home-sec_business_container_menu_col_desc:before {
    content: "";
    width: calc(100% - 20px);
    height: 20px;
    display: block;
    position: absolute;
    top: -20px;
    right: 0px;
    background-image: url(../images/common/dot_bg.svg);
    background-position: right top;
  }

  .home-sec_business_container_menu_col_desc:after {
    content: "";
    width: 20px;
    height: calc(100% - 20px);
    display: block;
    position: absolute;
    top: -20px;
    right: -20px;
    background-image: url(../images/common/dot_bg.svg);
    background-position: left top;
  }

  .home-sec_business_container_menu_col_desc .inner_tlt_semibold {
    font-size: 15px;
    margin: 30px 0px 20px 0px;
    padding-bottom: 20px;
    letter-spacing: 0px;
  }

  .home-sec_business_container_menu_col_desc_tlt {
    font-size: 18px;
    letter-spacing: 0px;
  }

  .home-sec_business_container_menu_col_desc .btn {
    margin: auto;
    display: block;
    max-width: 110px;
  }

  .home-sec_business_container_menu_col_img {
    position: static;
    width: 100%;
    height: 310px !important;
  }

  .home-sec_business_container_menu_col_img_02 {
    background-image: url(../images/home/solution_02@2x.png);
    margin-top: -60px;
  }

  .home-sec_business_container_menu_col:nth-of-type(1) .inner_tlt_v {
    left: auto;
    right: -30px;
    top: 50px;
  }

  .home-sec_business_container_menu_col:nth-of-type(2) .inner_tlt_v {
    right: -20px;
    top: 50px;
  }

  .home-sec_business_container_menu_col:nth-of-type(2) .home-sec_business_container_menu_col_desc {
    float: none;
  }

  .home-sec_products {
    padding-top: 30px;
  }

  .home-sec_products_container {
    display: block;
  }

  .home-sec_products_container_menu_list_lists_link {
    padding: 15px 0px;
  }

  .home-sec_products_container_menu_list_lists_link:after {
    display: none;
  }

  .home-sec_ir_news {
    padding-top: 50px;
    padding-bottom: 105px;
  }

  .home-sec_ir_news_container {
    display: block;
  }

  .home-sec_ir_news_container_column {
    width: 100%;
    max-width: 100%;
  }

  .home-sec_ir_news_container_column .inner_tlt {
    margin-bottom: 20px;
  }

  .home-sec_ir_news_container_column .inner_tlt:before {
    right: 0px;
  }

  .home-sec_ir_news_container_column:first-child {
    margin-bottom: 50px;
  }

  .home-sec_recruit {
    padding-bottom: 30px;
  }

  .home-sec_recruit_container_desc {
    padding: 0px !important;
  }

  .home-sec_recruit_container_desc_tlt {
    font-size: 17px;
    margin-top: 16px;
  }

  .home-sec_recruit_container_desc_tlt_sub {
    font-size: 15px;
    margin-top: 47px;
  }

  .home-sec_recruit_container_desc_txt {
    margin-top: 19px;
  }

  .ir-governance-sec section {
    margin-bottom: 60px;
  }

  .ir-governance-sec_report_list_lists_date {
    margin-bottom: 10px;
  }

  .ir-irnews-sec_select {
    width: 100%;
  }

  .ir-irnews-sec_select select {
    padding: 9px 8px 10px 8px;
  }

  .ir-irnews-sec_tab {
    width: 100%;
    display: block;
    border-top: 1px solid #E2E5E8;
    border-right: 1px solid #E2E5E8;
  }

  .ir-irnews-sec_tab_lists {
    padding: 4px 0 6px;
    border-top: none;
    border-right: none;
  }

  .ir-stock-sec_info_list {
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .ir-stock-sec_info_list_df {
    width: 34%;
  }

  .ir-stock-sec_info_list_dsc {
    width: 60%;
    margin-left: 6%;
    padding-left: 7px;
  }

  .ir-menu {
    display: block;
    border-right: solid 1px #D4D4D4;
    border-left: solid 1px #D4D4D4;
  }

  .ir-menu_list {
    border-left: none;
    border-bottom: solid 1px #D4D4D4;
  }

  .ir-menu_list_link {
    width: 100%;
    display: block;
    padding: 15px 0;
  }

  .ir-menu_list_link:hover,
  .ir-menu_list_link.u-active {
    background-color: #f18e2c;
    color: #ffffff;
  }

  .ir main .page-sec_title {
    font-size: 25px;
    margin-bottom: 50px;
  }

  .ir-sec_heading {
    font-size: 22px;
    margin-bottom: 35px;
  }

  .ir-sec_heading:before {
    height: 95%;
  }

  .ir-sec_financial_about_container_column {
    margin-bottom: 60px;
  }

  .ir-sec_financial_about_container_column:first-child {
    padding-right: 0px;
  }

  .ir-sec_financial_about_container_column .btn {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .ir-sec_financial_about_list {
    margin-bottom: 40px;
  }

  .ir-sec_financial_about_text {
    margin-bottom: 40px;
  }

  .ir-sec_links_list:after {
    display: none;
  }

  .ir-sec_links_list_item {
    width: 100%;
  }

  .ir-sec_links_list_item a {
    border-bottom: none;
    padding: 20px 0;
  }

  .ir-top .page-mainvisual {
    margin-bottom: 50px;
  }

  .en-US .ir-sec_financial_about_container_column .btn {
    margin-top: 0px;
  }

  .news .page-mainvisual {
    margin-bottom: 50px;
  }

  .news-sec_select {
    width: 100%;
  }

  .news-sec_select select {
    padding: 9px 8px 10px 8px;
  }

  .news-sec_tab {
    width: 100%;
    display: block;
    border-top: 1px solid #E2E5E8;
    border-right: 1px solid #E2E5E8;
  }

  .news-sec_tab_lists {
    padding: 4px 0 6px;
    border-top: none;
    border-right: none;
  }

  .news-sec_single .page-mainvisual {
    margin-bottom: 50px;
  }

  .news-sec_single_column_header {
    margin-bottom: 40px;
  }

  .news-sec_single_column_header_tlt {
    font-size: 22px;
    margin-bottom: 20px;
  }

  .news-sec_single_column_contents img {
    width: 100% !important;
    height: auto !important;
  }

  .news_links_list_item a {
    border-bottom: none;
    padding: 20px 0;
  }

  .news-top_list_lists:after {
    width: 100%;
  }

  .policy .page-mainvisual {
    margin-bottom: 50px;
  }

  .privacy .page-mainvisual,
  .page-template-page-privacy .page-mainvisual {
    margin-bottom: 50px;
  }

  .privacy-sec,
  .page-template-page-privacy-sec {
    margin-bottom: 100px;
  }

  .privacy-sec_tlt,
  .page-template-page-privacy-sec_tlt {
    margin-bottom: 30px;
  }

  .privacy-sec_col_list dl,
  .page-template-page-privacy-sec_col_list dl {
    display: block;
  }

  .privacy-sec_col_list dl dt,
  .page-template-page-privacy-sec_col_list dl dt {
    width: 100%;
    margin-bottom: 10px;
  }

  .privacy-sec_col_list dl dd,
  .page-template-page-privacy-sec_col_list dl dd {
    width: 100%;
  }

  .privacy-sec_contact,
  .page-template-page-privacy-sec_contact {
    display: block;
    padding: 20px;
  }

  .privacy-sec_contact_tlt,
  .page-template-page-privacy-sec_contact_tlt {
    text-align: center;
    margin-right: 0px;
    margin-bottom: 20px;
  }

  .recruit .sec-content {
    padding-left: 20px;
    padding-right: 20px;
  }

  .recruit .sec-recruit_overview table tr th,
  .recruit .sec-recruit_company table tr th {
    display: block;
    border: none;
    width: 100%;
    text-align: left;
    padding-left: 25px;
  }

  .recruit .sec-recruit_overview table tr td,
  .recruit .sec-recruit_company table tr td {
    display: block;
    border: none;
    margin-bottom: 15px;
  }

  .sustainability .page-mainvisual {
    margin-bottom: 50px;
  }

  .sustainability .page-mainvisual_title {
    font-size: 35px;
    margin-top: 30px;
  }

  .sustainability-first-sec__contents {
    height: 357px;
    padding: 0px;
    margin-top: calc(180 / 375 * 100vw);
  }

  .sustainability-first-sec__contents--inner {
    top: calc(-45 / 375 * 100vw);
  }

  .sustainability-first-sec__contents--title span {
    font-size: calc(20 / 375 * 100vw);
    line-height: calc(39 / 375 * 100vw);
    background-color: unset;
    padding: 0px;
  }

  .sustainability-first-sec__contents--title {
    background-color: #ffffff;
    text-align: center;
    padding: calc(30 / 375 * 100vw) calc(20 / 375 * 100vw);
    max-width: calc(295 / 375 * 100vw);
    margin: auto;
    position: relative;
    letter-spacing: calc(1 / 375 * 100vw);
  }

  .sustainability-first-sec__contents__slide__list {
    height: 340px;
  }

  .sustainability-post-sec {
    margin-top: 75px;
  }

  .sustainability-post-sec__carousel {
    margin-top: 10px;
  }

  .sustainability-what-sec {
    margin-top: 120px;
    padding: 83px 0px 130px 0px;
  }

  .sustainability-what-sec:after {
    top: 90%;
    height: 180px;
  }

  .sustainability-what-sec__contents {
    -webkit-flex-wrap: wrap-reverse;
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
  }

  .sustainability-what-sec__info {
    width: 100%;
    padding-right: 0px;
  }

  .sustainability-what-sec__info .c-title {
    font-size: 18px;
    line-height: 30px;
    text-align: center;
  }

  .sustainability-what-sec__info .c-title__sub--top {
    margin-bottom: 35px;
  }

  .sustainability-what-sec__img {
    width: 100%;
    margin-top: 47px;
  }

  .sustainability-what-sec__txt {
    margin-top: 43px;
    padding: 0px 1px;
    line-height: 27px !important;
  }

  .sustainability-guidelines-sec {
    margin-top: 100px;
  }

  .sustainability-guidelines-sec .c-title__sub {
    margin-bottom: 21px;
  }

  .sustainability-guidelines-sec__txt {
    text-align: left;
    margin-top: 29px;
    padding: 0px 1px;
    line-height: 27px !important;
  }

  .sustainability-guidelines-sec__img {
    margin-top: 53px;
    height: 300px;
    width: auto;
  }

  .sustainability-guidelines-sec__img-box {
    overflow-y: scroll;
  }

  .sustainability-project-sec__item__menu--outer-link {
    padding-left: 30px;
  }

  .sustainability_single__contents h2 {
    font-size: 20px;
    letter-spacing: 0px;
  }

  .sustainability_single__contents .wp-block-columns {
    margin-top: 50px;
  }

  .sustainability_single__contents .wp-flex_static {
    display: block;
    margin-top: 50px;
  }

  .sustainability_single__contents .wp-flex_static .wp-flex_static__col {
    width: 100%;
  }

  .sustainability_single__share__tlt:before {
    bottom: calc(100% + 30px);
  }

  .sustainability_single__share__link {
    display: block;
  }

  .sustainability_single__share__link .btn {
    height: 38px;
    width: 100%;
    max-width: 250px;
  }

  .sustainability_single__share__link .btn:not(:first-child) {
    margin-top: 20px;
  }

  .sustainability_single__other {
    max-width: 100%;
  }

  .sustainability_single__other__tlt {
    font-size: 20px;
    letter-spacing: 4.5px;
    padding: 2px 0px 5px 19px;
    margin-left: 20px;
  }

  .sustainability_single__other__carousel .c-slide--dots li {
    margin: 0px 4px !important;
  }

  .sustainability_single__other__item {
    width: 100%;
  }

  .c-box__flex {
    display: block;
  }

  .c-box__flex .c-box__col {
    width: 100%;
  }

  .c-box__2-col {
    display: block;
  }

  .c-box__2-col .c-box__col {
    width: 100%;
  }

  .c-box__3-col {
    display: block;
  }

  .c-box__3-col .c-box__col {
    width: 100%;
  }

  .c-box__4-col {
    display: block;
  }

  .c-box__4-col .c-box__col {
    width: 100%;
  }

  .c-form__submit--btn--outer:not(:first-child) {
    margin-top: 20px;
  }

  .c-side-cv__btn {
    display: none;
  }

  .c-slide--dots .slick-dots li {
    margin: 0px 7px;
  }

  .c-slide--arrows {
    bottom: -50px;
  }

  .c-table .c-table__th {
    display: block;
    border-bottom: none;
  }

  .c-table .c-table__td {
    display: block;
  }

  .c-table--horizontal th {
    display: table-cell !important;
  }

  .c-table--horizontal td {
    display: table-cell !important;
  }

  .c-table__dl__wrap .c-table__dd {
    padding-top: 19px !important;
  }

  .c-table--d--style-01 {
    margin-bottom: 20px;
  }

  .c-table--d--style-01 .c-table__dl {
    -webkit-flex-wrap: wrap !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }

  .c-text--style-01 {
    line-height: 28.5px;
    letter-spacing: 0px;
  }
}

@media (max-width: 650px) {
  .contact input[type="radio"] + span {
    padding: 10px 11px 8px 36px;
  }

  .contact input[type="checkbox"] + span {
    padding: 10px 11px 8px 36px;
  }
}