@charset "UTF-8";
/* Google Fonts */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700;800&display=swap");
/*!
 * ress.css • v2.0.1
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: break-word;
  -moz-tab-size: 4;
  tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
hr {
  overflow: visible; /* Show the overflow in Edge and IE */
  height: 0; /* Add the correct box sizing in Firefox */
}

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

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

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none; /* Add the correct display in IE */
}

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

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

pre {
  font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

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

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

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

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
}

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

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

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

svg:not([fill]) {
  fill: currentColor;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* CSS Document */
/*=================================
	global style
===================================*/
html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  color: #222;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-weight: 500;
  font-weight: normal;
  font-size: 0.9em;
  line-height: 150%;
  width: 100%;
  -webkit-font-smoothing: antialiased;
}

a:link,
a:visited {
  text-decoration: underline;
  color: #303030;
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  outline: none;
}

a:hover,
a:active {
  text-decoration: none;
  color: #303030;
}

::before,
::after {
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, form, figure, article, section, header, footer {
  margin: 0;
  padding: 0;
  font-weight: 400;
}

img, a img {
  border: none;
  vertical-align: bottom;
}

h1, h2, h3, h4 {
  font-size: 1em;
}

a img {
  -webkit-transition: 0.1s ease-in-out;
  -moz-transition: 0.1s ease-in-out;
  -o-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
}

a:hover,
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
}

hr {
  content: ".";
  display: block;
  height: 0;
  margin: 0;
  clear: both;
  visibility: hidden;
}

ul, ol, li {
  list-style: none;
}

table {
  width: 100%;
}

.anm,
.anm p,
.anm h2,
.anm h3,
.anm h4,
.anm h5,
.anm ul,
.anm li,
.anm span,
.anm b,
.anm div {
  -moz-transition: all 0.7s;
  -o-transition: all 0.7s;
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
}

.del2 {
  animation-delay: 0.2s !important;
}

.del3 {
  animation-delay: 0.3s !important;
}

.del4 {
  animation-delay: 0.4s !important;
}

.del5 {
  animation-delay: 0.5s !important;
}

.del6 {
  animation-delay: 0.6s !important;
}

.del7 {
  animation-delay: 0.7s !important;
}

.mot {
  font-family: "Montserrat", sans-serif;
}

.sp-only {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .sp-only {
    display: block !important;
  }
}
/*=============================
	Layout-Base
===============================*/
@media screen and (min-width: 768px) {
  html {
    font-size: 62.5%;
  }
  .wrapper {
    overflow: hidden;
  }
}
@media screen and (min-width: 980px) {
  html {
    font-size: 62.5%;
  }
  /* header
  -------------------------*/
  header {
    margin: 0 auto;
    z-index: 100;
    position: absolute;
    width: 100%;
    height: 100px;
    background: #FFF;
  }
  header .inner {
    max-width: auto;
    width: 100%;
  }
  header h1 {
    display: block;
    float: left;
    margin-left: 1%;
    padding-top: 19px;
  }
  header h1 img {
    width: 190px;
  }
  header .refs {
    display: block;
    float: right;
  }
  .pc-none {
    display: none !important;
  }
  .spnav-bt {
    display: none;
  }
  .spnav {
    display: none !important;
  }
  .mebt {
    display: none;
  }
  .downs {
    display: none;
  }
  .header.hidden {
    position: fixed;
    top: -100px;
    left: 0;
    z-index: 9999;
    transition: all 1s;
  }
  .header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    transition: all 1s;
  }
}
.animated {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-120px);
  }
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-120px);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
  display: block;
}

@media screen and (min-width: 980px) and (max-width: 1450px) {
  header h1 {
    display: block;
    float: left;
    margin-left: 1%;
    padding-top: 30px;
  }
  header h1 img {
    width: 130px;
  }
}
/* MEGA MENU
-------------------------*/
@media screen and (min-width: 980px) {
  .gr-nv {
    position: relative;
    z-index: 100;
  }
  .menu-container {
    margin: 0 auto;
    float: left;
    padding-top: 4px;
  }
  .hcont {
    display: block;
    float: right;
    margin-left: 15px;
  }
  .hcont a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #FFF;
    text-decoration: none;
    font-size: 1.2rem;
    line-height: 1.3;
    font-weight: 700;
    background: #006400;
    width: 90px;
    height: 100px;
  }
  .hcont a:hover {
    background: #4ACECE;
  }
  .menu-mobile {
    display: none;
  }
  .menu > ul {
    margin: 0 auto;
    width: 100%;
    list-style: none;
    padding: 0;
    /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
    box-sizing: border-box;
  }
  .menu > ul:before,
  .menu > ul:after {
    content: "";
    display: table;
  }
  .menu > ul:after {
    clear: both;
  }
  .menu > ul > li {
    float: left;
    margin: 0;
    position: relative;
    word-break: normal;
  }
  .menu > ul > li a {
    text-decoration: none;
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    color: #006400;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: 1px;
    padding: 41px 10px;
    position: relative;
  }
  .menu > ul > li a:hover {
    opacity: 1;
  }
  .menu > ul > li a:hover::after,
  .menu > ul > li.current a::after {
    position: absolute;
    left: 35px;
    bottom: 0;
    content: "";
    width: 50%;
    height: 5px;
    background: #006400;
    z-index: 10;
  }
  .menu > ul > li.gnv1 a:hover::after {
    display: none;
  }
  .menu > ul > li.gnv2 a:hover::after {
    width: 30%;
  }
  .menu > ul > li > ul {
    display: none;
    width: 90%;
    background: #FFF;
    padding: 20px 25px 10px 25px;
    position: absolute;
    z-index: 1;
    left: 35px;
    top: 96px;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
  }
  .menu > ul > li > ul.nv1 {
    min-width: 340px;
  }
  .menu > ul > li > ul.nv2 {
    min-width: 220px;
  }
  .menu > ul > li > ul.nv3 {
    min-width: 250px;
  }
  .menu > ul > li > ul.nv4 {
    min-width: 230px;
  }
  .menu > ul > li > ul.nv5 {
    min-width: 280px;
  }
  .menu > ul > li > ul.nv1.en {
    min-width: 480px;
  }
  .menu > ul > li > ul.nv2.en {
    min-width: 240px;
  }
  .menu > ul > li > ul.nv3.en {
    min-width: 380px;
  }
  .menu > ul > li > ul.nv4.en {
    min-width: 270px;
  }
  .menu > ul > li > ul:before,
  .menu > ul > li > ul:after {
    content: "";
    display: table;
  }
  .menu > ul > li > ul::before {
    position: absolute;
    left: 0px;
    top: -5px;
    content: "";
    width: 52%;
    height: 5px;
    background: #006400;
    z-index: 10;
  }
  .menu > ul > li > ul:after {
    clear: both;
  }
  .menu .inner .ref {
    display: block;
    position: relative;
    z-index: 30;
    width: 100%;
  }
  .menu .inner .ref p {
    display: block;
    margin-bottom: 9px;
  }
  .menu .inner .ref a {
    display: block;
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: normal;
    color: #879899 !important;
    width: 100%;
    padding: 0px !important;
  }
  .menu .inner .ref a:hover {
    color: #006400 !important;
  }
  .menu .inner .ref a::after {
    display: none !important;
  }
}
@media screen and (min-width: 1080px) and (max-width: 1380px) {
  .menu > ul > li a {
    text-decoration: none;
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    color: #006400;
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: 1px;
    padding: 41px 10px;
    position: relative;
  }
  .hcont {
    display: block;
    float: right;
    margin-left: 8px;
  }
  .hcont a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #FFF;
    text-decoration: none;
    font-size: 1.3rem;
    line-height: 1.3;
    font-weight: 700;
    background: #006400;
    width: 120px;
    height: 100px;
  }
}
@media screen and (min-width: 1380px) {
  .menu > ul > li a {
    text-decoration: none;
    display: inline-block;
    font-family: "Montserrat", "Noto Sans JP", sans-serif;
    color: #006400;
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: 1px;
    padding: 41px 26px;
    position: relative;
  }
  .hcont {
    display: block;
    float: right;
    margin-left: 8px;
  }
  .hcont a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #FFF;
    text-decoration: none;
    font-size: 1.5rem;
    line-height: 1.3;
    font-weight: 700;
    background: #006400;
    width: 130px;
    height: 100px;
  }
}
/* TOPMAINIMG
-------------------------*/
@media screen and (min-width: 768px) {
  .topmain-wrap {
    display: block;
    width: 100%;
    overflow: hidden;
    position: relative;
    top: 100px;
    height: 828px;
    background-image: url(../images/top_image.png);
    background-position: center;
    background-size: cover;
  }
  .topmain-wrap::after {
    bottom: 0;
    content: "";
  }
  .topmain-wrap .inner {
    position: relative;
    background: url(../images/mainimg.jpg) top center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
  }
  .topmain-wrap .maintxt {
    position: absolute;
    top: 30%;
    left: 0;
    width: 100%;
    z-index: 20;
  }
  .topmain-wrap .maintxt figure {
    display: block;
    text-align: center;
    margin-bottom: 20px;
  }
  .topmain-wrap .maintxt figure img {
    max-width: 637px;
    width: auto;
    display: inline-block;
  }
  .topmain-wrap .maintxt h2 {
    display: block;
    text-align: center;
    color: #879899;
    font-size: 4.4rem;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 1px;
  }
  .topmain-wrap .maintxt h2 strong {
    color: #006400;
    font-size: 6.2rem;
    font-weight: 700;
  }
  .topmain-wrap p {
    display: block;
    width: 100%;
    text-align: center;
  }
  .topmain-wrap p a {
    display: block;
    overflow: hidden;
    text-indent: -9999px;
    position: relative;
    width: 90px;
    height: 57px;
    margin-left: auto;
    margin-right: auto;
  }
  .topmain-wrap p a::after {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    content: "";
    width: 44px;
    height: 44px;
    border-bottom: 3px solid #FFF;
    border-right: 3px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .topmain-wrap .maintxt figure img {
    max-width: 430px;
  }
  .topmain-wrap .maintxt h2 {
    font-size: 3.2rem;
  }
  .topmain-wrap .maintxt h2 strong {
    font-size: 5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 979px) {
  .topmain-wrap {
    top: 60px;
  }
}
.slow01 {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

/* TOP-CATCH
-------------------------*/
@media screen and (min-width: 768px) {
  .top-catch {
    position: absolute;
    display: block;
    z-index: 1000;
    top: 270px;
    width: 100%;
    text-align: left;
  }
  .top-catch h2 {
    display: block;
    text-align: center;
    color: #006400;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 30px;
  }
  .top-catch p {
    display: block;
    text-align: left;
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 600;
    line-height: 1.9;
    color: #ffffff;
    margin: 0 auto;
    padding-bottom: 40px;
  }
  .top-catch .black {
    font-size: clamp(20px, 2.2vw, 33px);
    color: #333;
    padding-bottom: 10px;
    border-bottom: 1px solid #fff;
  }
  .top-catch .center {
    text-align: center;
  }
  .top-catch p b {
    font-size: clamp(20px, 2.2vw, 33px);
    color: #ffffff;
  }
  .top-catch-en p b {
    font-size: clamp(20px, 2.2vw, 30px);
  }
  .top-catch p strong {
    color: #006400;
    font-weight: 600;
  }
  .btn01 {
    display: block;
  }
  .btn01 a {
    display: block;
    text-align: center;
    position: relative;
    color: #0e9598;
    font-weight: bold;
    text-decoration: none;
    font-size: 1.8rem;
    line-height: 1;
    background: #fff;
    padding: 18px 0;
  }
  .btn01 a:hover {
    color: #fff;
    background: #0e9598;
    opacity: 1;
  }
  .btn01 a b {
    display: inline-block;
    position: relative;
    z-index: 5;
  }
  .btn01 a::before {
    top: 0;
    bottom: 0;
    position: absolute;
    margin: auto;
    content: "";
    right: 14px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #0e9598;
    border-right: 2px solid #0e9598;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .btn01 a:hover::before {
    top: 0;
    bottom: 0;
    position: absolute;
    margin: auto;
    content: "";
    right: 14px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .mbtn {
    padding-top: 20px;
    width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
  .top-catch .btn01 {
    margin-left: auto;
    margin-right: auto;
    width: 240px;
  }
  .topmain-border {
    position: absolute;
    display: flex;
    width: 100%;
    height: 160px;
    top: 100px;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.7098039216);
    animation: topmain-border 3s;
  }
  @keyframes topmain-border {
    0% {
      transform: translateY(-30px);
    }
    100% {
      transform: translateY(0);
    }
  }
  .topmain-logo {
    margin: 0 auto;
  }
  .topmain-logo img {
    width: 320px;
    opacity: 0;
    animation-name: fadeIn;
    animation-duration: 2s;
    animation-fill-mode: both;
    animation-delay: 2s;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .top-catch {
    display: block;
    text-align: center;
  }
}
/* TOP-BOX01
-------------------------*/
@media screen and (min-width: 768px) {
  .topbox01 {
    display: block;
    position: relative;
    padding: 50px 0 80px 0;
  }
  .topbox01::after {
    position: absolute;
    right: 0;
    top: 0;
    width: 90%;
    height: 94.16%;
    content: "";
    z-index: -1;
    background: #F2F2F2;
  }
  .fix-1000 {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
  .topbox01 .fix-1000 {
    position: relative;
    z-index: 5;
  }
  .tibox01 {
    display: block;
    margin-bottom: 40px;
  }
  .tibox01 h2 {
    display: block;
    position: relative;
    font-size: 3.6rem;
    line-height: 1.2;
    color: #006400;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    padding: 20px 0 10px 0;
    letter-spacing: 1px;
  }
  .tibox01 h2::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 70px;
    height: 2px;
    background: #006400;
  }
  .tibox01 p {
    display: block;
    font-weight: bold;
    line-height: 1.2;
    color: #5B6770;
    font-size: 2.4rem;
  }
  .info-list {
    display: block;
  }
  .info-list li {
    display: block;
    float: left;
    margin-left: 10px;
    width: calc((100% - 20px) / 3 - 0.01px);
    margin-bottom: 20px;
  }
  .info-list li:nth-child(3n+1) {
    margin-left: 0px;
  }
  .info-list figure {
    display: block;
    border: #CCCCCC solid 1px;
    margin-bottom: 20px;
  }
  .info-list figure img {
    width: 100%;
  }
  .info-list .txt {
    display: block;
  }
  .info-list dl {
    display: block;
  }
  .info-list dt {
    display: inline-block;
    font-size: 1.4rem;
    line-height: 1;
    color: #FFF;
    background: #006400;
    padding: 6px 10px;
    margin-bottom: 14px;
    margin-right: 10px;
  }
  .info-list dd {
    display: block;
    font-size: 1.6rem;
    line-height: 1;
    color: #006400;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    margin-bottom: 16px;
  }
  .info-list p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .info-list p a {
    text-decoration: none;
    color: #5B6770;
  }
  .info-list p a:hover {
    text-decoration: underline;
  }
  .topbox01 .btn01 {
    max-width: 330px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 55px;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .fix-1000 {
    margin-left: 4%;
    margin-right: 4%;
  }
}
/* TOP-BOX02
-------------------------*/
@media screen and (min-width: 768px) {
  .topbox02 {
    display: block;
    background: #F2F2F2;
    padding: 85px 0;
  }
  .fix-1100 {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
  .topbox02 .fix-1100 {
    position: relative;
    background: #FFF;
    padding-bottom: 85px;
  }
  .topbox02 .fix-1100 .inn {
    position: absolute;
  }
  .topbox02 .fix-1100 .flex {
    display: flex;
    background-color: #0e9598;
  }
  .topbox02 .fix-1100 .flex .lef {
    width: 80%;
  }
  .topbox02 .fix-1100 .flex .lef .inner-top {
    display: flex;
  }
  .topbox02 .fix-1100 .flex .lef .inner-top .fl-r {
    width: 50%;
    object-fit: cover;
  }
  .topbox02 .fix-1100 .flex .lef .inner-top .fl-r img {
    object-fit: cover;
    width: 100%;
    opacity: 0.2;
  }
  .topbox02 .fix-1100 .flex .ref {
    width: 30%;
    object-fit: cover;
  }
  .topbox02 .fix-1100 .flex .ref img {
    opacity: 0.2;
    max-width: 100%;
  }
  .topbox02 .fix-1100 .flex2 {
    position: absolute;
    z-index: 14;
    color: #fff;
    font-size: 16px;
    padding: 10px 15px;
    bottom: 85px;
    left: 0;
  }
  .topbox02 .fix-1100 .flex2.subl {
    display: flex;
    width: 69%;
  }
  .topbox02 .fix-1100 .flex2.subr {
    display: flex;
    width: 30%;
    right: 0;
    left: unset;
    justify-content: end;
    font-size: 16px;
  }
  .topbox02 .box01 {
    display: block;
    padding: 90px 0 100px 0;
  }
  /* TOP-BOX05 サステナビリティページ用
      --------------------------------*/
  .topbox05 {
    display: block;
    max-width: 85%;
    margin-left: auto;
    max-height: 70vw;
    padding: unset;
  }
  .topbox05 .fix-1100 {
    position: relative;
    background: #FFF;
    padding-bottom: 85px;
  }
  .topbox05 .fix-1100 .inn {
    position: absolute;
  }
  .topbox05 .fix-1100 .inn2 {
    z-index: 10;
    position: absolute;
    max-width: unset;
    margin-left: unset;
  }
  .topbox05 .fix-1100 .flex {
    display: flex;
    background-color: #0e9598;
  }
  .topbox05 .fix-1100 .flex .lef {
    width: 80%;
  }
  .topbox05 .fix-1100 .flex .lef .inner-top {
    display: flex;
  }
  .topbox05 .fix-1100 .flex .lef .inner-top .fl-r {
    width: 50%;
    object-fit: cover;
  }
  .topbox05 .fix-1100 .flex .lef .inner-top .fl-r img {
    object-fit: cover;
    width: 100%;
    opacity: 0.2;
  }
  .topbox05 .fix-1100 .flex .ref {
    width: 30%;
    object-fit: cover;
  }
  .topbox05 .fix-1100 .flex .ref img {
    opacity: 0.2;
  }
  .topbox05 .box01 {
    display: block;
    padding: 6vw 0 6vw 0;
    position: relative;
    z-index: 999;
  }
  .topbox05 .fix-1100 .flex2 {
    position: absolute;
    z-index: 14;
    color: #fff;
    font-size: 16px;
    padding: 10px 15px;
    bottom: 0;
    left: 0;
  }
  .topbox05 .fix-1100 .flex2.subl {
    display: flex;
    width: 69%;
  }
  .topbox05 .fix-1100 .flex2.subr {
    display: flex;
    width: 30%;
    right: 0;
    left: unset;
    justify-content: end;
    font-size: 16px;
  }
  .abt-ti {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
  }
  .abt_img {
    width: 1.7rem;
    margin-right: 7px;
    vertical-align: text-bottom;
  }
  .topbox05 .abt_img {
    width: 1.3vw;
  }
  .ti2 {
    max-width: 48%;
  }
  .abt-ti .tibox01 {
    padding: 55px 0 0 30px;
  }
  .abt-ti .tibox01 h2 {
    color: #FFF;
    padding-bottom: 80px;
  }
  .topbox05 .abt-ti .tibox01 h2 {
    font-size: 3vw;
  }
  .abt-ti .tibox01 h2::before {
    background: #FFF;
  }
  .abt-ti .tibox01 p {
    color: #FFF;
    font-size: 2.5rem;
    padding-bottom: 10px;
  }
  .topbox05 .abt-ti .tibox01 p {
    font-size: 2vw;
  }
  .abt-ti .tibox01 .ti {
    font-size: 3vw;
    padding-bottom: 20px;
  }
  .abt-ti .tibox01 .ti-sub {
    font-size: 3.5rem;
    padding-bottom: 20px;
  }
  .topbox05 .abt-ti .tibox01 .ti-sub {
    font-size: 3vw;
  }
  .topbox02 .box01 figure {
    display: block;
    text-align: center;
  }
  .topbox02 .box01 figure img {
    display: inline-block;
    max-width: 100%;
  }
  .topbox02 .box01 {
    background: #006400;
    padding-left: 46px;
    padding-right: 46px;
  }
  .topbox02 .box01 .tibox01.cl3 {
    width: fit-content;
    margin: 0 auto;
    color: #fff;
  }
  .topbox02 .box01 .tibox01.cl3 .subttl {
    font-size: 1.6rem;
    line-height: 1.6rem;
    color: #fff !important;
    font-weight: normal !important;
    margin-bottom: 20px;
  }
  .topbox02 .box01 .tibox01.cl3 .content {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .topbox02 .box01 .tibox01.cl3 .ttl {
    font-size: 4.5rem !important;
    line-height: 4.5rem !important;
    font-weight: bold !important;
    margin-left: 20px;
    margin-bottom: 20px;
    color: #fff !important;
  }
  .topbox02 .box01 .tibox01.cl3 .ttl.right {
    margin-left: 0px;
  }
  .topbox02 .box01 .tibox01.cl3 .ttl span {
    font-size: 1.8rem !important;
    line-height: 1.8rem !important;
    font-weight: bold !important;
  }
  .topbox02 .box01 .tibox01.cl3 .date {
    font-size: 1.4rem !important;
    line-height: 1.4rem !important;
    color: #fff !important;
    font-weight: normal !important;
    margin-left: 20px;
  }
  .topbox02 .box01 .tibox01.cl3 .date.right {
    text-align: right;
  }
  .topbox02 .box01 .tibox01.cl2 h2 {
    color: #fff;
    display: block;
    position: relative;
    font-size: 3.6rem;
    line-height: 1.2;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    padding: 20px 0 10px 0;
    letter-spacing: 1px;
  }
  .topbox02 .box01 .tibox01.cl2 h2:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 70px;
    height: 2px;
    background: #fff;
  }
  .topbox02 .box01 .tibox01.cl2 p {
    color: #fff;
    display: block;
    font-weight: bold;
    line-height: 1.2;
    font-size: 2.4rem;
  }
  .tp2-ex.m99 {
    background: #006400;
  }
  .tp2-in .box01.m99 {
    background: #006400;
    padding-left: 46px;
    padding-right: 46px;
  }
  .tp2-in .box01.m99 .tibox01.cl3 {
    width: fit-content;
    margin: 0 auto;
    color: #fff;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .subttl {
    font-size: 1.6rem;
    line-height: 1.6rem;
    color: #fff !important;
    font-weight: normal !important;
    margin-bottom: 20px;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .content {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .ttl {
    font-size: 4.5rem !important;
    line-height: 4.5rem !important;
    font-weight: bold !important;
    margin-left: 20px;
    margin-bottom: 20px;
    color: #fff !important;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .ttl.right {
    margin-left: 0px;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .ttl span {
    font-size: 1.8rem !important;
    line-height: 1.8rem !important;
    font-weight: bold !important;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .date {
    font-size: 1.4rem !important;
    line-height: 1.4rem !important;
    color: #fff !important;
    font-weight: normal !important;
    margin-left: 20px;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .date.right {
    text-align: right;
  }
  .tp2-in .box01.m99 .tibox01.cl2 h2 {
    color: #fff;
    display: block;
    position: relative;
    font-size: 3.6rem;
    line-height: 1.2;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    padding: 20px 0 10px 0;
    letter-spacing: 1px;
  }
  .tp2-in .box01.m99 .tibox01.cl2 h2:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 70px;
    height: 2px;
    background: #fff;
  }
  .tp2-in .box01.m99 .tibox01.cl2 p {
    color: #fff;
    display: block;
    font-weight: bold;
    line-height: 1.2;
    font-size: 2.4rem;
  }
  .topbox02 .box02 {
    padding-left: 46px;
    padding-right: 46px;
    padding-top: 80px;
  }
  .tibox01.cl2 h2,
  .tibox01.cl2 p {
    color: #006400;
  }
  .topbox02 .box02 table {
    display: block;
    width: 90%;
    margin-left: 5%;
    margin-right: 5%;
    border-collapse: collapse;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 70px;
    overflow: scroll;
  }
  .topbox02 .box02 table th {
    width: 20%;
    min-width: 160px;
    text-align: center;
    vertical-align: middle;
    color: #006400;
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: 700;
    background: #E5F5F5;
    padding: 12px 0;
  }
  .topbox02 .box02 table td {
    text-align: center;
    vertical-align: middle;
    color: #006400;
    font-size: 2.1rem;
    line-height: 1;
    padding: 12px 0;
    border-bottom: #E5F5F5 solid 1px;
  }
  .topbox02 .box02 table td.ch {
    font-weight: bold;
  }
  .topbox02 .box02 table td small {
    font-size: 1.8rem;
    margin-left: 10px;
  }
  .topbox02 .box02 table td.mya {
    position: relative;
  }
  .topbox02 .box02 table td.mya::after {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #006400;
    border-right: 2px solid #006400;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .topbox02 .box02 .list {
    display: block;
    padding-left: 3%;
    padding-right: 3%;
    padding-bottom: 15px;
  }
  .topbox02 .box02 .list li {
    display: block;
    float: left;
    width: 48%;
  }
  .topbox02 .box02 .list li:nth-child(2) {
    float: right;
    width: 43%;
  }
  .topbox02 .box02 .list li figure {
    display: flex;
    width: 100%;
    height: 290px;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding-bottom: 20px;
  }
  .topbox02 .box02 .list li figure img {
    display: block;
    width: 100%;
  }
  .topbox02 .box02 .list li h3 {
    display: block;
    font-weight: 700;
    line-height: 1;
    font-size: 2.4rem;
    color: #006400;
    margin-bottom: 9px;
    margin-top: 13px;
  }
  .topbox02 .box02 .list li p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.9;
  }
  /* TOP-BOX05 サステナビリティページ用
      --------------------------------*/
  .topbox05 .box01 figure {
    display: block;
    text-align: center;
  }
  .topbox05 .box01 figure img {
    display: inline-block;
    max-width: 100%;
  }
  .topbox05 .box02 {
    padding-left: 46px;
    padding-right: 46px;
    padding-top: 80px;
  }
  .tibox01.cl2 h2,
  .tibox01.cl2 p {
    color: #006400;
  }
  .topbox05 .box02 table {
    width: 90%;
    margin-left: 5%;
    margin-right: 5%;
    border-collapse: collapse;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 70px;
  }
  .topbox05 .box02 table th {
    text-align: center;
    vertical-align: middle;
    color: #006400;
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: 700;
    background: #E5F5F5;
    padding: 12px 0;
    width: 25%;
  }
  .topbox05 .box02 table td {
    text-align: center;
    vertical-align: middle;
    color: #006400;
    font-size: 2.1rem;
    line-height: 1;
    padding: 12px 0;
    border-bottom: #E5F5F5 solid 1px;
  }
  .topbox05 .box02 table td.ch {
    font-weight: bold;
  }
  .topbox05 .box02 table td small {
    font-size: 1.8rem;
    margin-left: 10px;
  }
  .topbox05 .box02 table td.mya {
    position: relative;
  }
  .topbox05 .box02 table td.mya::after {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #006400;
    border-right: 2px solid #006400;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .topbox05 .box02 .list {
    display: block;
    padding-left: 3%;
    padding-right: 3%;
    padding-bottom: 15px;
  }
  .topbox05 .box02 .list li {
    display: block;
    float: left;
    width: 48%;
  }
  .topbox05 .box02 .list li:nth-child(2) {
    float: right;
    width: 43%;
  }
  .topbox05 .box02 .list li figure {
    display: flex;
    width: 100%;
    height: 290px;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  .topbox05 .box02 .list li figure img {
    display: block;
    width: 100%;
  }
  .topbox05 .box02 .list li h3 {
    display: block;
    font-weight: 700;
    line-height: 1;
    font-size: 2.4rem;
    color: #006400;
    margin-bottom: 9px;
    margin-top: 13px;
  }
  .topbox05 .box02 .list li p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.9;
  }
}
@media screen and (min-width: 768px) and (max-width: 1099px) {
  .fix-1100 {
    margin-left: 4%;
    margin-right: 4%;
  }
  .fix-1100 .inn {
    margin-left: unset;
    margin-right: unset;
  }
}
/* TOP-BOX03
-------------------------*/
@media screen and (min-width: 768px) {
  .topbox03 {
    display: block;
    position: relative;
    padding: 50px 0 80px 0;
    margin: 80px 0 0 0;
  }
  .topbox03::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 94.16%;
    height: 100%;
    content: "";
    z-index: -1;
    background: rgb(13, 151, 153);
    background: linear-gradient(94deg, rgb(13, 151, 153) 0%, rgb(48, 178, 177) 100%);
  }
  .topbox03 .fix-1000 {
    position: relative;
    z-index: 5;
  }
  .topbox03 .tibox01 h2,
  .topbox03 .tibox01 p {
    color: #FFF;
  }
  .topbox03 .tibox01 h2::before {
    background: #FFF;
  }
  .topbox03 .list {
    display: block;
  }
  .topbox03 .list li {
    display: block;
    float: left;
    width: 50%;
  }
  .topbox03 .list li a {
    display: block;
    position: relative;
    background: url(../images/bnimg1.jpg) top center no-repeat;
    background-size: cover;
    color: #FFF;
    padding: 30px;
    text-decoration: none;
  }
  .topbox03 .list li:nth-child(2) a {
    background: url(../images/bnimg2.jpg) top center no-repeat;
    background-size: cover;
  }
  .topbox03 .list li:nth-child(3) a {
    background: url(../images/bnimg3.jpg) top center no-repeat;
    background-size: cover;
  }
  .topbox03 .list li:nth-child(4) a {
    background: url(../images/bnimg4.jpg) top center no-repeat;
    background-size: cover;
  }
  .topbox03 .list li b {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 4px;
    font-size: 5rem;
    padding-bottom: 7px;
    margin-bottom: 16px;
    border-bottom: #FFF solid 2px;
  }
  .topbox03 .list li h3 {
    display: block;
    font-size: 2.4rem;
    line-height: 1.2;
    font-weight: bold;
    margin-bottom: 15px;
  }
  .topbox03 .list li p {
    display: block;
    font-size: 1.8rem;
    line-height: 1.8;
    margin-bottom: 25px;
  }
  .topbox03 .list li .btn {
    text-align: right;
  }
  .topbox03 .list li .btn span {
    display: inline-block;
    position: relative;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: bold;
    border: #FFF solid 2px;
    padding: 14px 29px;
    background: rgba(0, 0, 0, 0.7);
  }
  .topbox03 .list li .btn span::after {
    position: absolute;
    right: 14px;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
@media screen and (min-width: 768px) and (max-width: 1099px) {
  .topbox03 .list li b {
    font-size: 3rem;
  }
  .topbox03 .list li h3 {
    font-size: 2rem;
  }
  .topbox03 .list li p {
    font-size: 1.4rem;
  }
}
/* TOP-BOX04
-------------------------*/
@media screen and (min-width: 768px) {
  .topbox04 {
    display: block;
    margin: 80px 0 0 0;
    padding: 80px 0;
    background: url(../images/bg1.jpg) bottom center no-repeat;
    background-size: cover;
  }
  .topbox04 .fix-1100 {
    background: rgba(255, 255, 255, 0.8);
    margin-bottom: 17px;
  }
  .topbox04 .inner {
    display: block;
    padding: 45px 50px;
  }
  .topbox04 .one {
    display: block;
    background: #FFF;
    padding: 35px 85px;
  }
  .topbox04 .one figure {
    display: block;
    float: left;
    width: 26%;
  }
  .topbox04 .one figure img {
    width: 100%;
  }
  .topbox04 .one .txt {
    display: block;
    float: right;
    width: 65%;
    padding: 20px 0;
  }
  .topbox04 h3 {
    display: block;
    color: #0B9698;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 15px;
  }
  .topbox04 .one p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.9;
    color: #5B6770;
  }
  .topbox04 .btn01 {
    max-width: 200px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 50px;
  }
  .topbox04 .one2 {
    display: block;
    background: #FFF;
    padding: 35px 45px;
  }
  .topbox04 .one2 li {
    display: block;
    float: left;
    width: 100%;
    margin: 14px 0;
  }
  .topbox04 .one2 li:nth-child(2n) {
    float: right;
  }
  .topbox04 .one2 .ins {
    display: flex;
    align-items: center;
  }
  .topbox04 .one2 figure {
    display: block;
    width: 130px !important;
    min-width: 130px !important;
  }
  .topbox04 .one2 figure img {
    width: 130px !important;
  }
  .topbox04 .one2 .txt {
    font-size: 1.4rem;
    line-height: 1.9;
    color: #5B6770;
    margin-left: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1099px) {
  .topbox04 .one figure {
    width: 36%;
  }
  .topbox04 .one .txt {
    width: 55%;
    padding: 20px 0;
  }
  .topbox04 h3 {
    font-size: 2rem;
  }
  .topbox04 .one p {
    font-size: 1.4rem;
  }
  .topbox04 .one2 .txt {
    font-size: 1.4rem;
    line-height: 1.9;
    color: #5B6770;
    margin-left: 20px;
  }
}
/* footer
-------------------------*/
@media screen and (min-width: 768px) {
  .pc_none {
    display: none !important;
  }
  footer {
    display: block;
    margin: 120px 0 0 0;
    position: relative;
  }
  .foot-top {
    display: block;
  }
  .foot-top li {
    display: block;
    float: left;
    width: 50%;
    height: 200px;
  }
  .foot-top li a {
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    height: 200px;
    color: #FFF;
    text-decoration: none;
    font-size: 2.4rem;
    line-height: 1.2;
    letter-spacing: 2px;
  }
  .foot-top li a::before {
    position: absolute;
    right: 6%;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 12px;
    height: 12px;
    border-top: 5px solid #FFF;
    border-right: 5px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .foot-top li a b {
    display: inline-block;
    position: relative;
    z-index: 5;
  }
  .foot-top li:nth-child(1) a {
    background: #006400;
  }
  .foot-top li:nth-child(1) a::after {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    height: 200px;
    content: "CONTACT";
    font-family: "Montserrat", sans-serif;
    font-size: 7.2rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 7px;
    color: #FFF;
    z-index: 1;
    opacity: 0.2;
  }
  .foot-top li:nth-child(2) a {
    background: #33ABAD;
  }
  .foot-top li:nth-child(2) a::after {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    height: 200px;
    content: "CAREER";
    font-family: "Montserrat", sans-serif;
    font-size: 7.2rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 2px;
    color: #FFF;
    z-index: 1;
    opacity: 0.2;
  }
  .foot-middle {
    display: block;
    background: #879899;
    padding-top: 45px;
  }
  .foot-middle a {
    color: #FFF;
    text-decoration: none;
  }
  .foot-middle a:hover {
    text-decoration: underline;
  }
  .fix-1200 {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .foot-middle .fix-1200 {
    border-bottom: #FFF solid 1px;
    padding-bottom: 40px;
  }
  .foot-middle .lef {
    display: block;
    float: left;
    margin-left: 55px;
  }
  .foot-middle .lef:nth-child(1) {
    margin-left: 0px;
  }
  .foot-middle .lef p {
    font-size: 1.4rem;
    line-height: 1.4;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 7px;
  }
  .foot-middle .lef li {
    display: block;
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 7px;
  }
  .foot-bottom {
    display: block;
    background: #879899;
    padding: 15px 0;
  }
  .foot-bottom a {
    color: #FFF;
    text-decoration: none;
  }
  .foot-bottom .lef {
    display: block;
    float: left;
  }
  .foot-bottom .lef li {
    display: block;
    float: left;
    position: relative;
    font-size: 1.4rem;
    line-height: 1.3;
    padding-left: 45px;
    margin-right: 20px;
  }
  .foot-bottom .lef li::before {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    content: "";
    margin: auto;
    width: 42px;
    height: 30px;
    background: url(../images/ico1.png) left center no-repeat;
  }
  .foot-bottom .lef li:nth-child(2)::before {
    background: url(../images/ico2.png) left center no-repeat;
  }
  .foot-bottom .lef li:nth-child(3)::before {
    background: url(../images/ico3.png) left center no-repeat;
  }
  .foot-bottom .ref {
    display: block;
    float: right;
  }
  .foot-bottom li {
    display: block;
    float: left;
    font-size: 1.4rem;
    line-height: 1.4;
    margin-right: 25px;
  }
  .copy {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 0;
    background-color: rgba(64, 93, 64, 0.1);
    color: #000;
    font-size: 18px;
  }
  .copy figure {
    max-width: 230px;
    margin-bottom: 0px;
  }
  .copy img {
    width: 100%;
  }
  .copy small {
    font-size: 14px;
    color: #333;
    display: block;
    text-align: right;
  }
  .pcs-none2 {
    display: none !important;
  }
  #page-top {
    position: absolute;
    right: 4%;
    top: -30px;
    width: 60px;
    height: 60px;
    z-index: 20;
  }
  #page-top a {
    display: block;
    width: 60px;
    height: 60px;
    background: #FFF;
    text-indent: -9999px;
    position: relative;
    box-shadow: 0px 0px 16px -6px rgba(0, 0, 0, 0.6);
  }
  #page-top a::before {
    position: absolute;
    top: 8px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 20px;
    height: 20px;
    text-align: center;
    content: "";
    border-top: 4px solid #839999;
    border-left: 4px solid #839999;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .footer__left {
    display: flex;
    gap: 20px;
    align-items: center;
  }
  .footer__left__logo {
    max-width: 230px;
    margin-bottom: 20px;
  }
  .footer__left__list {
    display: flex;
    flex-flow: column;
    gap: 5px;
  }
  .footer__left__list__item__link {
    display: block;
    text-decoration: none !important;
    color: #333;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .footer__left__list__item__icon {
    width: 20px;
    display: inline-block;
    vertical-align: bottom;
  }
  .footer__left__list__item__icon__img {
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .fix-1200 {
    margin-left: 4%;
    margin-right: 4%;
  }
}
@media print, screen and (min-width: 640px) {
  .img-wr {
    overflow: hidden; /*拡大時にはみ出た部分を隠す*/
  }
  .img-wr img {
    display: block;
    transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
  }
  .img-wr img:hover {
    transform: scale(1.1);
    transition-duration: 0.3s;
    -ms-transform: scale(1.1);
    -ms-transition-duration: 0.3s;
  }
  a.h-by:hover {
    background: #000 !important;
    color: #FFFF01 !important;
  }
}
/*=============================
	ClearFix
===============================*/
.cf:before, .cf:after {
  content: " ";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  *zoom: 1;
}

/*=============================
	sub-page
===============================*/
/* SUB MAINIMG
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg {
    display: block;
    padding-top: 100px;
  }
  .submainimg .inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 230px;
    padding: 0 4%;
    background: url(../images/mv.jpg) top center no-repeat;
    background-size: cover;
    color: #FFF;
  }
  .submainimg h2 {
    display: block;
    text-align: right;
    font-weight: 700;
    letter-spacing: 4px;
    font-family: "Montserrat", sans-serif;
    font-size: 6rem;
    line-height: 1.1;
    margin-bottom: 10px;
  }
  .submainimg.break h2 {
    display: block;
    text-align: right;
    font-weight: 700;
    letter-spacing: 4px;
    font-family: "Montserrat", sans-serif;
    font-size: 6rem;
    line-height: 1.1;
    margin-bottom: 10px;
    padding: 200px 10% 0 0;
  }
  .submainimg p {
    display: block;
    text-align: right;
    font-weight: bold;
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 768px) {
  .note-sp {
    display: none;
  }
  .note {
    display: block;
    padding-top: 100px;
  }
  .note .inner {
    display: block;
    height: 370px;
    padding: 0 4%;
    background: url(../images/note/GPSS_Journal_banner.png) top center no-repeat;
    background-size: cover;
    color: #FFF;
    position: relative;
  }
  .note h2 {
    position: absolute;
    display: block;
    text-align: center;
    font-weight: 700;
    letter-spacing: 2px;
    font-family: "Montserrat", sans-serif;
    font-size: 5rem;
    line-height: 1.1;
    bottom: 50px;
    right: 0px;
    padding: 20px 50px 20px 80px;
    background-color: #006400;
  }
  .note h2.normal {
    position: absolute;
    display: block;
    text-align: right;
    font-weight: 700;
    letter-spacing: 2px;
    font-family: "Montserrat", sans-serif;
    font-size: 5rem;
    line-height: 1.1;
    bottom: 50px;
    right: 0px;
    padding: 20px 50px 20px 80px;
    background-color: #006400;
  }
  .note h2.wide {
    position: absolute;
    display: block;
    text-align: right;
    font-weight: 700;
    letter-spacing: 2px;
    font-family: "Montserrat", sans-serif;
    font-size: 5rem;
    line-height: 1.1;
    bottom: 50px;
    right: 0px;
    padding: 20px 50px 20px 80px;
    background-color: #006400;
  }
  .note h2 span {
    display: block;
    text-align: right;
    font-weight: bold;
    font-size: 2.4rem;
  }
  .note p {
    display: block;
    text-align: right;
    font-weight: bold;
    font-size: 2.4rem;
  }
  .note-read-text {
    color: #006400;
    font-size: 2.4rem;
    text-align: center;
    font-weight: 700;
    line-height: 1.2;
    margin: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .note-read-text {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .note-category {
    width: 100%;
  }
  .note-category > p {
    padding-top: 20px;
    display: block;
    position: relative;
    line-height: 1;
    font-weight: bold;
    color: #006400;
    font-size: 3.6rem;
    letter-spacing: 4px;
    padding-bottom: 10px;
    margin-bottom: 100px;
    font-family: "Montserrat", sans-serif;
  }
  .note-category > p::after {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 95px;
    height: 2px;
    background: #0B9698;
  }
  .note-category ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .note-category ul::after {
    content: "";
    width: 30%;
    display: block;
  }
  .note-category li {
    width: 30%;
    margin-bottom: 80px;
    border: 1px solid #F2F2F2;
    font-family: "Montserrat", sans-serif;
    min-height: 450px;
  }
  .note-category li a {
    display: block;
    text-decoration: none;
  }
  .note-category li img {
    display: block;
  }
  .note-category li a h3 {
    font-size: 2.6rem;
    line-height: 3.4rem;
    padding: 0 20px;
    margin: 20px 0;
    font-weight: bold;
  }
  .note-category li p {
    font-size: 1.6rem;
    line-height: 2.4rem;
    padding: 0 20px;
    margin: 0 0 20px 0;
  }
  .notecard {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: -60px 0 60px 0;
  }
  .notecard a {
    text-decoration: none;
  }
  .notecard__article {
    position: relative;
    width: 20%;
    margin: 0 2% 50px 2%;
    padding-bottom: 10px;
    border-radius: 2px;
    background: #fff;
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.12), 0 2px 3px 0 rgba(0, 0, 0, 0.22);
    cursor: pointer;
    transition: 0.2s ease-in-out;
  }
  .notecard__article-info {
    margin: 0 2%;
  }
  .notecard__article:hover {
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
  }
  .notecard_time {
    display: block;
    margin: 13px 9px 8px;
    color: #b5b5b5;
    font-size: 15px;
    font-weight: bold;
  }
  .notecard_time:before {
    content: "\f017";
    padding-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    opacity: 0.6;
  }
  .notecard__link {
    display: block;
    color: #555;
    text-decoration: none;
    cursor: pointer;
  }
  .notecard__link:hover {
    text-decoration: none;
  }
  .notecat-name {
    display: inline-block;
    overflow: hidden;
    position: absolute;
    top: 13px;
    left: 13px;
    height: 22px;
    margin: 0;
    padding: 0 10px;
    border-radius: 14px;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    vertical-align: middle;
    line-height: 22px;
  }
  .notecardtype__img {
    margin: 0;
    overflow: hidden;
    position: relative;
    height: 0;
    padding-bottom: 53%;
  }
  .notecardtype__img img {
    border-radius: 2px 2px 0 0;
    max-width: 100%;
    height: auto;
  }
  .notecat-name {
    display: inline-block;
    overflow: hidden;
    position: absolute;
    top: 13px;
    left: 13px;
    height: 22px;
    margin: 0;
    padding: 2px 10px;
    border-radius: 14px;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    vertical-align: middle;
    line-height: 22px;
    background: #FFF;
    text-decoration: none;
  }
  .notecat-name img {
    height: 20px;
    padding: 1px 0 6px;
  }
  .entry-time.notepubdate {
    padding: 0 10px 0 0;
    margin-top: -1em;
  }
  .cf {
    zoom: 1;
  }
  .notecardtitle {
    margin: 8px 9px 0;
    font-weight: bold;
    line-height: 1.56;
    font-size: 1.8rem;
  }
  p.notecardtext {
    font-size: 0.7em;
    margin: 8px 9px 0;
  }
  .note-more-text {
    text-align: center;
  }
  .note-more-button {
    display: inline-block;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #FFF !important;
    text-decoration: none;
    font-size: 2.4rem;
    line-height: 1.2;
    letter-spacing: 2px;
    padding: 20px 40px;
    background-color: #006400;
    border-radius: 50px;
    text-decoration: none !important;
  }
}
@media only screen and (min-width: 1030px) {
  .notecardtype__article {
    width: 48%;
    margin: 0 4% 25px 0;
  }
  .notecardtype__article:nth-child(even) {
    margin-right: 0;
  }
  .notecardtype__link {
    padding-bottom: 25px;
  }
}
@media only screen and (min-width: 481px) {
  .notecardtype__article time {
    margin: 13px 13px 8px;
  }
  .notecardtype {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-box;
    display: flex;
    flex-direction: row;
    -webkit-flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 1em;
  }
}
@media only screen and (max-width: 481px) {
  p.notedescription {
    font-size: 0.7em;
    padding: 0px 15px 20px;
    margin-top: -1.3em;
  }
}
/* NEWS
-------------------------*/
@media screen and (min-width: 768px) {
  .wrapper#news {
    background: #F2F2F2;
  }
  .branch {
    display: block;
    font-size: 1.4rem;
    line-height: 1;
    padding: 30px 0 65px 0;
  }
  .branch li {
    display: inline-block;
    position: relative;
    color: #0B9698;
    margin-left: 22px;
  }
  .branch li::before {
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    position: absolute;
    display: block;
    right: auto;
    left: -15px;
    width: 4px;
    height: 4px;
    border-top: 1px solid #111;
    border-right: 1px solid #111;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .branch li:nth-child(1) {
    margin-left: 0;
  }
  .branch li:nth-child(1)::before {
    display: none;
  }
  .branch a {
    color: #111;
    text-decoration: none;
  }
  .branch.intro {
    background-color: white;
  }
  .newslist-box {
    display: block;
  }
  .newslist-box .fix-1200 {
    background: #FFF;
  }
  .newslist-box .info-list {
    padding: 90px 95px;
  }
  .newslist-box .info-list li {
    margin-bottom: 40px;
  }
  .branch a:hover {
    text-decoration: underline;
  }
  .page-n-ri {
    display: block;
    padding: 10px 0 60px 0;
    position: relative;
    overflow: hidden;
  }
  .wp-pagenavi {
    display: block;
    float: right;
  }
  .wp-pagenavi li {
    display: inline;
    font-size: 2.1rem;
  }
  .wp-pagenavi span {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 60px;
    height: 30px;
    border: none;
    /* 		border-radius: 50%; */
    float: left;
    position: relative;
    font-size: 1.4rem;
    margin: 0px;
    line-height: 100%;
  }
  .wp-pagenavi span.current {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    float: left;
    font-size: 1.4rem;
    background-color: #11114c;
    color: #FFF;
    line-height: 100%;
    margin: 0 3px !important;
  }
  .wp-pagenavi a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    float: left;
    position: relative;
    background: #dcdcdc;
    color: #222;
    font-size: 1.4rem;
    line-height: 100%;
    text-decoration: none;
    margin: 0 3px !important;
  }
  .wp-pagenavi a:hover,
  .wp-pagenavi a.prevpostslink:hover,
  .wp-pagenavi a.nextpostslink:hover {
    background-color: #11114c;
    color: #FFF;
  }
  .wp-pagenavi span.extend {
    display: block;
    float: left;
    padding-top: 12px;
    padding-left: 10px;
    padding-right: 10px;
  }
  a.prevpostslink,
  a.nextpostslink {
    color: #222;
    line-height: 100%;
    background: none;
  }
  a.previouspostslink,
  a.nextpostslink {
    color: #222;
    line-height: 100%;
    background: none;
  }
}
/* NEWS-DETAIL
-------------------------*/
@media screen and (min-width: 768px) {
  .news-detail {
    display: block;
    background: #FFF;
    padding: 75px 95px;
    background-color: #F2F2F2;
    margin-top: 120px;
  }
  .news-detail .tit {
    display: block;
    margin-bottom: 35px;
  }
  .news-detail .tit dt {
    display: block;
    float: left;
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
    color: #006400;
    font-size: 1.8rem;
    line-height: 1;
  }
  .news-detail .tit dd {
    display: block;
    float: right;
    padding: 4px 0 0 0;
  }
  .news-detail .tit dd a {
    display: inline-block;
    color: #FFF;
    line-height: 1;
    text-decoration: none;
    background: #006400;
    padding: 5px 15px;
    margin-left: 10px;
    font-size: 1.2rem;
    line-height: 1;
  }
  .news-detail .title {
    display: block;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.4;
    padding-bottom: 30px;
    margin-bottom: 30px;
    color: #5B6770;
  }
  .deta-main {
    display: block;
    color: #5B6770;
    font-size: 1.6rem;
    line-height: 1.9;
    margin-bottom: 85px;
  }
  .deta-main img {
    display: inline-block;
    max-width: 100%;
    margin: 20px 0;
  }
  .deta-main p {
    margin-bottom: 25px;
  }
  .deta-main a {
    text-decoration: none;
    color: #006400;
  }
  .deta-main a:hover {
    text-decoration: underline;
  }
  .deta-main .alignright {
    float: right;
    margin-left: 5%;
  }
  .deta-main .alignleft {
    float: left;
    margin-right: 5%;
  }
  .news-detail .btn01 {
    margin-left: auto;
    margin-right: auto;
    max-width: 330px;
  }
}
/* CONTACT
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#cont-bg .inner {
    background: url(../images/contact/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#cont-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .contact-box {
    display: block;
    color: #5B6770;
  }
  .contact-box .inner {
    display: block;
    background: #FFF;
    padding: 65px;
  }
  .cont-txt {
    display: block;
    color: #5B6770;
    font-size: 1.8rem;
    line-height: 1.5;
    margin-bottom: 30px;
  }
  .contact-box table {
    width: 100%;
    border-collapse: collapse;
  }
  .contact-box td {
    padding: 10px 2%;
    width: 46%;
  }
  .contact-box table select {
    padding: 17px 1%;
    width: 102%;
    border: #cccccc solid 1px;
    color: #0B9698;
    font-size: 1.4rem;
  }
  .n001 {
    width: 100%;
    height: 60px;
    padding: 0 10px;
    border: #cccccc solid 1px;
    font-size: 1.4rem;
  }
  .txer {
    width: 100%;
    height: 180px;
    padding: 10px;
    border: #cccccc solid 1px;
    font-size: 1.4rem;
  }
  .privs-check {
    display: block;
    text-align: center;
    padding: 50px 0 0 0;
  }
  .privs-check label {
    font-size: 1.4rem;
  }
  .cbtn {
    display: block;
    text-align: center;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 40px;
    margin-top: 50px;
    position: relative;
  }
  .cbtn::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    right: 23px;
    width: 7px;
    height: 7px;
    border-top: 4px solid #FFF;
    border-right: 4px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .sbt {
    width: 460px;
    height: 80px;
    color: #FFF;
    border: none;
    font-size: 2.4rem;
    background: #006400;
    line-height: 1.3;
    cursor: pointer;
  }
  .sbt2 {
    width: 460px;
    margin-left: 10px;
    margin-right: 10px;
    height: 80px;
    color: #FFF;
    border: none;
    font-size: 2.4rem;
    background: #006400;
    line-height: 1.3;
    cursor: pointer;
    display: inline-block;
  }
  .mw_wp_form .error {
    display: block;
    padding: 10px 0;
  }
  .mw_wp_form_confirm .priv-t {
    display: none !important;
  }
  .mb20 {
    margin-bottom: 20px;
  }
  .mw_wp_form_confirm .cont-tab td,
  .mw_wp_form_confirm .cont-tab th {
    line-height: 1.7 !important;
  }
  .mw_wp_form_confirm .cbtn .sbt:nth-child(2) {
    color: #FFF;
    background: #11114c;
    border: #282828 solid 1px;
  }
  .pc_none {
    display: none !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 900px) {
  .lab-lf2 div {
    width: 20%;
  }
  .lab-lf2 p {
    width: 81%;
  }
  .lab-lf2 .n002 {
    width: 100%;
  }
}
/* RECRUITING
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#rec-bg .inner {
    background: url(../images/recruiting/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#rec-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .recruting01 {
    display: block;
    padding: 35px 0;
  }
  .recruting01 .btn01 {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
  .recruting01 .btn01 a {
    font-size: 2.8rem;
    padding: 38px 0;
  }
  .recruting01 p {
    display: block;
    text-align: center;
    line-height: 1.5;
    font-size: 1.9rem;
    color: #5B6770;
    margin: 0 75px 20px 75px;
  }
  .recruting02 {
    display: block;
    padding: 20px 0 80px 0;
  }
  .recruting02 .one {
    display: block;
    background: url(../images/recruiting/bg1.jpg) center center no-repeat;
    background-size: cover;
    padding: 85px 90px;
    color: #FFF;
    margin-bottom: 30px;
  }
  .recruting02 .one:nth-child(2) {
    background: url(../images/recruiting/bg2.jpg) center center no-repeat;
    background-size: cover;
  }
  .recruting02 .one:nth-child(3) {
    background: url(../images/recruiting/bg3.jpg) center center no-repeat;
    background-size: cover;
  }
  .recruting02 .one h3 {
    display: block;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 1px;
    margin-bottom: 27px;
  }
  .recruting02 ul {
    display: block;
    margin-bottom: 20px;
  }
  .recruting02 li {
    display: block;
    position: relative;
    font-size: 2.1rem;
    line-height: 1.3;
    margin-bottom: 12px;
    padding-left: 45px;
  }
  .recruting02 li small {
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .recruting02 li::before {
    position: absolute;
    left: 0;
    top: 11px;
    content: "";
    background: #FFF;
    height: 2px;
    width: 35px;
  }
  .recruting02 .one .btn {
    display: block;
    max-width: 200px;
  }
  .recruting02 .one .btn a {
    display: block;
    position: relative;
    background: #FFF;
    text-decoration: none;
    font-weight: bold;
    color: #006400;
    font-size: 1.8rem;
    line-height: 1;
    padding: 17px 0;
    text-align: center;
  }
  .recruting02 .one .btn a:hover {
    opacity: 1;
    color: #FFF;
    background: #006400;
  }
  .recruting02 .one .btn a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    right: 15px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #006400;
    border-right: 2px solid #006400;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .recruting02 .one .btn a b {
    display: inline-block;
    position: relative;
    z-index: 5;
  }
}
/* INTERVIEW
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#inter-bg .inner {
    background: url(../images/recruiting/interview/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#inter-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .fix-1000 {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
  .int-deta01 {
    display: block;
    padding: 20px 0 50px 0;
  }
  .int-deta01 img {
    width: 100%;
  }
  .int-deta01 figure {
    display: block;
    float: left;
    width: 53%;
  }
  .int-deta01 ul {
    display: block;
    float: right;
    width: 45.3%;
  }
  .int-deta01 li {
    display: block;
    margin-bottom: 20px;
  }
  .int-deta02 {
    display: block;
    color: #5B6770;
    padding-bottom: 40px;
  }
  .int-deta02 .prof {
    display: flex;
    align-items: center;
    position: relative;
    border: #879899 solid 2px;
    padding: 20px 40px 20px 80px;
    margin-bottom: 50px;
  }
  .int-deta02 .prof::before {
    position: absolute;
    left: 5%;
    top: -10px;
    width: 90%;
    height: 20px;
    background: #FFF;
    content: "";
  }
  .int-deta02 .prof::after {
    position: absolute;
    left: 5%;
    bottom: -10px;
    width: 90%;
    height: 20px;
    background: #FFF;
    content: "";
  }
  .int-deta02 .prof .ti h3 {
    font-size: 2.3rem;
    color: #0B9698;
    font-weight: bold;
    line-height: 1;
  }
  .int-deta02 .prof .ti p {
    font-size: 1.8rem;
    line-height: 1.1;
    font-weight: bold;
    margin: 10px 0 0 0;
  }
  .int-deta02 .prof .txt {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-left: 60px;
  }
  .qone {
    display: flex;
    position: relative;
    background: #F2F2F2;
    padding: 30px 85px 60px 50px;
    margin-bottom: 15px;
  }
  .qone h3 {
    position: relative;
    color: #006400;
    font-size: 4.8rem;
    font-weight: bold;
    line-height: 1;
  }
  .qone h3 b {
    display: inline-block;
    position: relative;
  }
  .qone h3 b::after {
    position: absolute;
    left: 0;
    bottom: -16px;
    content: "";
    width: 100%;
    height: 3px;
    background: #006400;
  }
  .qone .txt {
    display: block;
    margin-left: 55px;
    padding-top: 20px;
  }
  .qone .txt h4 {
    display: block;
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 30px;
  }
  .qone .txt p {
    display: block;
    font-size: 1.6rem;
    line-height: 2;
  }
  .inter-btn {
    display: block;
  }
  .inter-btn .btn01 {
    max-width: 100%;
    padding-top: 25px;
  }
  .inter-btn .btn01 a {
    font-size: 2.8rem;
    padding: 38px 0;
  }
}
/* INTERVIEW-LIST
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#interlist-bg .inner {
    background: url(../images/recruiting/interview/list/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#interlist-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .interlist01 {
    display: block;
    position: relative;
    padding: 40px 0 60px 0;
    margin-bottom: 30px;
  }
  .interlist01::after {
    position: absolute;
    left: 0;
    top: 0;
    width: 90.11%;
    height: 100%;
    content: "";
    background: #F4F4F4;
    z-index: 1;
  }
  .interlist01 .fix-1000 {
    position: relative;
    z-index: 5;
  }
  .interlist01 .list {
    display: block;
    color: #879899;
  }
  .interlist01 .list li {
    display: block;
    float: left;
    width: 48%;
    margin-bottom: 30px;
  }
  .interlist01 .list li:nth-child(2n) {
    float: right;
  }
  .interlist01 .list li figure {
    display: block;
  }
  .interlist01 .list li figure img {
    width: 100%;
  }
  .interlist01 .list li h3 {
    display: block;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.2;
    padding-top: 17px;
    padding-bottom: 17px;
    margin-bottom: 17px;
    border-bottom: #879899 solid 1px;
  }
  .interlist01 .list li p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .interlist01 .list li .btn {
    display: block;
    text-align: right;
  }
  .interlist01 .list li .btn a {
    display: inline-block;
    color: #FFF;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
    position: relative;
    background: #879899;
    padding: 10px 30px;
  }
  .interlist01 .list li .btn a:hover {
    background: #333;
    opacity: 1;
  }
  .interlist01 .list li .btn a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 8px;
    content: "";
    margin: auto;
    width: 4px;
    height: 4px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
/* ENTRY
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#entry-bg .inner {
    background: url(../images/recruiting/entry/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#entry-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .entry-box {
    display: block;
    background: #F4F4F4;
    padding: 85px 0;
    color: #5B6770;
  }
  .entry-box .fix-1200 {
    background: #FFF;
    padding: 65px 0;
  }
  .entry-box .e-mt {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 30px;
  }
  .entry-box .e-mt small {
    color: #006400;
    font-size: 1.6rem;
  }
  .entry-box .e-mt.small {
    font-size: 1.6rem;
  }
  .entry-box dl {
    display: block;
  }
  .entry-box dt {
    display: block;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 12px;
  }
  .entry-box dt b {
    color: #006400;
    font-size: 1.4rem;
    margin-left: 9px;
  }
  .entry-box dt small {
    font-size: 1.4rem;
    font-weight: normal;
    margin-left: 15px;
  }
  .entry-box dd {
    display: block;
    margin-bottom: 20px;
    font-size: 1.6rem;
    line-height: 1.2;
  }
  .n003 {
    width: 15%;
    height: 60px;
    padding: 0 10px;
    border: #cccccc solid 1px;
    font-size: 1.4rem;
  }
  .n002 {
    width: 60%;
    height: 60px;
    padding: 0 10px;
    border: #cccccc solid 1px;
    font-size: 1.4rem;
  }
  .n004 {
    width: 10%;
    height: 60px;
    padding: 0 10px;
    border: #cccccc solid 1px;
    font-size: 1.4rem;
  }
  .entry-box dd .adds {
    margin-top: 12px;
  }
  .txer2 {
    width: 100%;
    height: 120px;
    padding: 10px;
    border: #cccccc solid 1px;
    font-size: 1.4rem;
  }
  .en-btn {
    display: block;
    text-align: center;
  }
  .en-btn .cbtn {
    display: inline-block;
  }
}
/* MESSAGE
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#message-bg .inner {
    background: url(../images/recruiting/message/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#message-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .tibox02 {
    display: block;
    text-align: center;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 50px;
  }
  .tibox02 h2 {
    display: block;
    position: relative;
    font-size: 4.8rem;
    line-height: 1.2;
    color: #006400;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    padding: 0px 0 10px 0;
    letter-spacing: 1px;
  }
  .tibox02::before {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0;
    content: "";
    width: 400px;
    height: 2px;
    background: #006400;
  }
  .tibox02 p {
    display: block;
    font-weight: bold;
    line-height: 1.2;
    color: #5B6770;
    font-size: 2.4rem;
  }
  .message01 {
    display: block;
    padding: 80px 0 30px 0;
    color: #5B6770;
  }
  .message01 h2 {
    text-align: center;
  }
  .message01 .tit {
    display: block;
    color: #006400;
    font-size: 3rem;
    line-height: 1.2;
    font-weight: bold;
    margin-bottom: 2em;
  }
  .message01 .names {
    display: block;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 45px;
  }
  .message01 .names b {
    font-size: 2.4rem;
    margin-left: 20px;
  }
  .message01 .one {
    display: block;
    margin-bottom: 100px;
  }
  .message01 .one figure {
    display: block;
    float: right;
    width: 39%;
  }
  .message01 .one.ri figure {
    float: left;
  }
  .message01 .one figure img {
    width: 100%;
    box-shadow: 10px 10px 0px 0px #006400;
    border-radius: 0px;
  }
  .message01 .one .txt {
    display: block;
    float: left;
    width: 57%;
  }
  .message01 .one.ri .txt {
    display: block;
    float: right;
  }
  .message01 .one .txt h3 {
    display: block;
    font-weight: bold;
    color: #006400;
    font-size: 2.8rem;
    line-height: 1.2;
    margin-bottom: 35px;
  }
  .message01 .one .txt p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 24px;
    padding-left: 3.5em;
  }
  .w100p {
    width: 100% !important;
    padding-bottom: 50px;
  }
  .w100p p {
    padding-left: 7% !important;
  }
  .max800 {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
  .message-btn {
    display: block;
  }
  .message-btn .btn03 {
    float: right;
  }
  .btn03 {
    display: block;
  }
  .btn03 a {
    display: inline-block;
    color: #FFF;
    text-decoration: none;
    line-height: 1;
    font-size: 1.8rem;
    font-weight: bold;
    border-radius: 30px;
    padding: 20px 60px;
    background: rgb(71, 196, 193);
    background: linear-gradient(94deg, rgb(71, 196, 193) 0%, rgb(12, 151, 153) 100%);
  }
}
/* RECRUIT
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#recruit-bg .inner {
    background: url(../images/recruiting/recruit/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#recruit-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .recruit-top01 {
    display: block;
    background: #F4F4F4;
    padding: 80px 0;
  }
  .recruit-top01 li {
    display: block;
    margin-bottom: 10px;
  }
  .recruit-top01 li a {
    display: block;
    position: relative;
    background: #FFF;
    text-decoration: none;
    color: #0B9698;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: bold;
    padding: 28px 50px;
  }
  .recruit-top01 li a:hover {
    background: #0B9698;
    color: #FFF;
  }
  .recruit-top01 li a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 45px;
    content: "";
    margin: auto;
    width: 10px;
    height: 10px;
    border-top: 4px solid #0B9698;
    border-right: 4px solid #0B9698;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
/* RECRUIT-DETAIL
-------------------------*/
@media screen and (min-width: 768px) {
  .rec-deta {
    display: block;
    background: #FFF;
    color: #5B6770;
  }
  .rec-deta .pad {
    display: block;
    padding: 80px 95px;
  }
  .rec-deta h3 {
    display: block;
    line-height: 1;
    font-weight: bold;
    color: #0B9698;
    font-size: 2.4rem;
    margin-bottom: 45px;
  }
  .rec-deta table {
    width: 100%;
    border-collapse: collapse;
    border-top: #B4B4B4 solid 1px;
  }
  .rec-deta table th {
    text-align: left;
    vertical-align: middle;
    border-bottom: #B4B4B4 solid 1px;
    padding: 35px 60px;
    width: 35%;
    font-size: 1.8rem;
    color: #0B9698;
    font-weight: bold;
    line-height: 1.4;
  }
  .rec-deta table td {
    text-align: left;
    vertical-align: middle;
    border-bottom: #B4B4B4 solid 1px;
    padding: 35px 0px;
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .rec-deta table td dl {
    display: flex;
  }
  .rec-deta table td dl dd {
    margin-left: 30px;
  }
  .rec-deta .btn01 {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 60px;
  }
}
/* EVENT
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#event-bg .inner {
    background: url(../images/recruiting/event/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#event-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .event01 {
    display: block;
    padding: 80px 0;
  }
  .working01 .event01 .fix-1200 {
    position: relative;
    z-index: 2;
  }
  .event01 img {
    width: 100%;
  }
  .event01 .flex {
    display: flex;
  }
  .working01 .event01 .fix-1200 .flex {
    padding-bottom: 20px;
  }
  .working01 .event01 .fix-1200 .flex .lef {
    width: 100%;
  }
  .working01 .event01 .fix-1200 .flex .lef .inner-top {
    height: 20vw;
    max-height: 200px;
    object-fit: cover;
  }
  .working01 .event01 .fix-1200 .flex .lef .inner-top .figure img {
    height: 20vw;
    max-height: 200px;
    object-fit: cover;
  }
  .event01 .flex .inner-top {
    display: flex;
  }
  .event01 .flex .inner-top .tit {
    width: 50%;
    background-color: #006400;
  }
  .working01 .event01 .fix-1200 .flex .lef .inner-top .tit {
    display: block;
    position: relative;
    height: 20vw;
    max-height: 200px;
    background-size: cover;
    background-position: center;
    padding: unset;
    margin-bottom: unset;
    background-image: url(../images/recruiting/event/img7.jpg);
  }
  .event01 .flex .inner-top .tit .pa {
    display: block;
    padding-top: 18%;
    padding-left: 15%;
  }
  .working01 .event01 .fix-1200 .flex .lef .inner-top .tit .pa {
    height: 20vw;
    padding-top: 10%;
    padding-left: 10%;
    background-color: rgba(0, 0, 0, 0.2196078431);
    max-height: 200px;
  }
  .event01 .flex .inner-top .tit h2 {
    display: block;
    position: relative;
    font-weight: 700;
    line-height: 1;
    color: #FFF;
    font-size: 3.6rem;
    margin-bottom: 12px;
    padding-top: 14px;
    letter-spacing: 1px;
  }
  .working01 .event01 .fix-1200 .flex .inner-top .tit h2 {
    font-size: 4.2rem;
  }
  .event01 .flex .inner-top .tit h2::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    height: 2px;
    width: 70px;
    background: #FFF;
  }
  .event01 .flex .inner-top .tit p {
    display: block;
    font-weight: bold;
    line-height: 1;
    color: #FFF;
    font-size: 2.4rem;
    letter-spacing: 1px;
  }
  .working01 .event01 .fix-1200 .flex .inner-top .tit p {
    width: 100%;
    font-size: 2.2rem;
    line-height: 1.6;
  }
  .event01 .flex .inner-top figure {
    width: 50%;
  }
  .working01 .event01 .flex .inner-top figure img {
    height: 20vw;
    max-height: 200px;
    object-fit: cover;
    filter: brightness(0.9);
  }
  .event01 .flex .lef {
    width: 49.9%;
  }
  .event01 .flex .ref {
    width: 49.9%;
  }
  .working01 .event01 .fix-1200 .view3d {
    margin: 0 auto;
    background-color: #fff;
    padding: 50px 0;
  }
  .working01 .event01 .fix-1200 .view3d .inner {
    width: 90%;
    margin: 0 auto;
  }
  .working01 .event01 .fix-1200 .view3d .inner h3 {
    font-size: 2.8rem;
    font-weight: 700;
    color: #006400;
    padding-bottom: 4rem;
  }
  .working01 .event01 .fix-1200 .view3d .inner p {
    font-size: 1.8rem;
    line-height: 1.5;
    color: #333;
  }
  .working01 .event01 .fix-1200 .view3d .vr {
    padding: 20px;
    max-width: 894px;
    margin: 0 auto;
  }
  .bottom-flex ul {
    display: flex;
  }
  .bottom-flex img {
    width: 100%;
  }
  .bottom-flex li {
    width: 25%;
  }
  .event-mov {
    display: block;
    margin-top: 150px;
    padding: 50px 0;
    background: #f4f4f4 url(../images/recruiting/event/bg1.png) top right no-repeat;
    background-size: auto 100%;
  }
  .event-mov li {
    display: block;
    float: left;
    width: 48%;
  }
  .event-mov li:nth-child(2n) {
    float: right;
  }
  .event-mov iframe {
    width: 100%;
    height: 330px;
  }
  .mb95 {
    margin-bottom: 85px;
  }
}
/* introduction-movie
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#intro-bg .inner {
    background: url(../images/recruiting/introduction-movie/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .top-catch.intro {
    display: block;
    text-align: center;
    padding: 80px 0;
    background-color: white;
  }
  .fix-1100.intro {
    padding-bottom: 10px;
  }
  .intro-p b {
    font-size: 2.4rem;
    color: #006400;
    line-height: 0;
  }
  .intro-p {
    display: block;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.9;
    color: #5B6770;
    margin-bottom: 50px;
  }
  .topbox01.intro {
    background-color: white;
  }
  .topbox01.intro::after {
    position: absolute;
    right: 0;
    top: 0;
    width: 90%;
    height: 94.16%;
    content: "";
    z-index: 0;
    background: #F2F2F2;
  }
  .movie-main.intro {
    position: relative;
    z-index: 3;
    padding: 50px 0;
  }
}
/* WORKING
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#working-bg .inner {
    background: url(../images/recruiting/working/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#working-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .working01 {
    display: block;
    position: relative;
    margin-top: 120px;
    color: #5B6770;
  }
  .working01.v2 {
    display: block;
    position: relative;
    margin-top: 120px;
    color: #5B6770;
  }
  .working01.v2.vtop {
    margin-top: unset;
  }
  .working01::after {
    position: absolute;
    right: 0;
    top: 60px;
    width: 90.11%;
    height: 100%;
    content: "";
    background: #F4F4F4;
    z-index: 1;
  }
  .working01.v2::after {
    position: absolute;
    right: auto;
    left: 0;
    top: 60px;
    width: 90.11%;
    height: 100%;
    content: "";
    background: #F4F4F4;
    z-index: 1;
  }
  .working01 .fix-1000 {
    position: relative;
    z-index: 5;
    max-width: 1200px;
  }
  .working01 .tit {
    background: url(../images/recruiting/working/img1.jpg) top center no-repeat;
    background-size: cover;
    padding: 15% 5% 1% 5%;
    color: #FFF;
    margin-bottom: 15px;
  }
  .working01.v2 .tit {
    background: url(../images/recruiting/working/img5.jpg) top center no-repeat;
    background-size: cover;
    padding: 85px 50px;
  }
  .working01 .tit h2 {
    display: block;
    font-size: 4.2rem;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 20px;
  }
  .working01 .tit p {
    display: block;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.6;
    width: 70%;
  }
  .working01 .white01 {
    display: block;
    background: #FFF;
    padding: 50px;
    margin-bottom: 15px;
  }
  .working01 .white01 h3 {
    display: block;
    font-weight: bold;
    line-height: 1.3;
    color: #006400;
    font-size: 2.8rem;
    margin-bottom: 30px;
  }
  .working01 .white01 p {
    display: block;
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .working01 .white01 .pfw {
    font-weight: 700;
    font-size: 4em;
    padding-left: 10px;
  }
  .working01 .white01 figure {
    display: block;
  }
  .working01 .white01 figure img {
    width: 100%;
  }
  .working01 .white01 .lef {
    display: block;
    float: left;
    width: 58%;
  }
  .working01 .white01 .ref {
    display: block;
    float: right;
    width: 35%;
    margin-top: 3%;
  }
  .working01 .white01 .lef3 {
    display: block;
    float: left;
    width: 45%;
    padding-top: 2%;
  }
  .working01 .white01 .ref3 {
    display: block;
    float: right;
    width: 48%;
  }
  .working01 .list {
    display: block;
  }
  .working01 .list li {
    display: block;
    float: left;
    width: 49%;
  }
  .working01 .list li:nth-child(2n) {
    float: right;
  }
  .working01 .list li:nth-child(3) {
    width: 100%;
  }
  .working01 .list li p {
    margin-bottom: 30px;
    min-height: 120px;
  }
  .working01.v3 {
    margin-top: 120px;
  }
  .working01.v3::after {
    display: none;
  }
  .working01.v3 .tit {
    background: url(../images/recruiting/working/img8.jpg) top center no-repeat;
    background-size: cover;
    padding: 85px 50px;
  }
  .working01.v3 .white01 {
    background: #E5F4F5;
  }
  .working01.v3 .white01 h2 {
    display: block;
    position: relative;
    font-weight: bold;
    line-height: 1.3;
    font-size: 2.8rem;
    color: #5B6770;
    padding-bottom: 15px;
    margin-bottom: 25px;
  }
  .working01.v3 .white01 h2::after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 70px;
    height: 2px;
    background: #5B6770;
  }
  .working01.v3 .graf {
    display: block;
    text-align: center;
  }
  .working01.v3 .graf img {
    max-width: 100%;
    display: inline-block;
  }
  .working01.v3 .lef2 {
    float: left;
    width: 58%;
  }
  .working01.v3 .lef2 h3 {
    font-size: 2.4rem;
    margin-bottom: 24px;
    padding-top: 45px;
  }
  .working01.v3 .lef2 p {
    margin-bottom: 30px;
  }
  .working01.v3 .ref2 {
    float: right;
    width: 38%;
    padding-top: 10%;
  }
}
/* ABOUT US
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#about-bg .inner {
    background: url(../images/aboutus/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#about-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .about01 {
    display: block;
    position: relative;
    color: #5B6770;
    padding-bottom: 30px;
    margin-bottom: 90px;
  }
  .about01::after {
    position: absolute;
    top: 35px;
    right: 0;
    content: "";
    background: #FFF;
    width: 86.81%;
    height: 100%;
  }
  .about01.r2::after {
    position: absolute;
    top: 35px;
    right: auto;
    left: 0;
    content: "";
    background: #FFF;
    width: 86.81%;
    height: 100%;
  }
  .about01.r4 {
    padding-top: 30px;
  }
  .about01.r4::after {
    position: absolute;
    top: 0;
    right: auto;
    left: 0;
    content: "";
    background: #FFF;
    width: 86.81%;
    height: 100%;
  }
  .about01.r3::after {
    display: none;
  }
  .about01 .fix-1100 {
    position: relative;
    z-index: 10;
  }
  .about01 .fi-t1 {
    max-width: 100%;
    margin-left: auto;
    position: relative;
  }
  .about01 .tit {
    display: block;
    margin-bottom: 60px;
  }
  .about01 .tit b {
    display: block;
    position: relative;
    line-height: 1;
    font-weight: 700;
    color: #006400;
    font-size: 8.4rem;
    letter-spacing: 4px;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }
  .about01 .tit b::after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 95px;
    height: 2px;
    background: #0B9698;
  }
  .about01 .tit h2 {
    display: block;
    font-size: 3.6rem;
    line-height: 1.2;
    font-weight: bold;
  }
  .about01 .tit h2 strong {
    font-weight: bold;
    color: #006400;
  }
  .about01 .inner {
    display: block;
    padding-left: 70px;
  }
  .about01 .mimg {
    display: block;
    margin-bottom: 60px;
  }
  .about01 .mimg img {
    width: 100%;
  }
  .about01 .dl-list {
    display: block;
    margin-bottom: 60px;
  }
  .about01 .dl-list dl {
    display: flex;
    margin-left: 30px;
  }
  .about01 .dl-list dt {
    color: #0B9698;
    font-size: 2.2rem;
    line-height: 1.3;
    font-weight: bold;
    width: 260px;
  }
  .about01 .dl-list dt.n2 {
    color: #0B9698;
    font-size: 2.2rem;
    line-height: 1.3;
    font-weight: bold;
    width: 130px;
  }
  .about01 .dl-list dt img {
    max-width: 158px;
  }
  .about01 .dl-list dd {
    margin-left: 70px;
  }
  .about01 .dl-list dd li {
    list-style-type: decimal;
    font-size: 1.8rem;
    line-height: 1.5;
    margin-bottom: 12px;
  }
  .about01 .dl-list dl dd dl {
    margin-left: 0px;
    margin-bottom: 20px;
  }
  .about01 .dl-list dl dd dl dt {
    font-size: 1.8rem;
    width: 220px;
  }
  .about01 .dl-list dl dd dl dd {
    margin-left: 40px;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .about01 .fix-1200 {
    background: #FFF;
    box-shadow: 0px 0px 16px -6px rgba(0, 0, 0, 0.6);
    position: relative;
    z-index: 10;
    margin-bottom: 30px;
  }
  .about01 .fix-1200 .wrap-pad {
    display: block;
    padding: 45px;
  }
  .about01 .fix-1200 h3 {
    display: block;
    font-weight: bold;
    line-height: 1;
    color: #006400;
    font-size: 2.4rem;
    margin-bottom: 35px;
  }
  .y-list1 {
    display: block;
  }
  .y-list1 li {
    display: block;
    float: left;
    width: 42%;
    padding-bottom: 55px;
    margin-bottom: 60px;
  }
  .y-list1 li:nth-child(2n) {
    float: right;
    position: relative;
  }
  .y-list1 li:nth-child(2n)::before {
    position: absolute;
    left: -12%;
    top: 0;
    content: "";
    width: 1px;
    height: 100%;
    border-left: #ccc dashed 2px;
  }
  .y-list1 .top-flex {
    display: flex;
    margin-bottom: 40px;
  }
  .y-list1 .top-flex figure {
    width: 64%;
  }
  .y-list1 .top-flex figure img {
    width: 100%;
  }
  .y-list1 .top-flex .ref {
    display: block;
    color: #0B9698;
    width: 36%;
    padding-top: 33%;
  }
  .y-list1 .top-flex small {
    display: block;
    text-align: right;
    border-bottom: #0B9698 solid 2px;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.4;
    padding-bottom: 13px;
    margin-bottom: 13px;
  }
  .y-list1 .top-flex h4 {
    display: block;
    font-weight: bold;
    text-align: right;
    line-height: 1;
    font-size: 3rem;
  }
  .y-list1 .mh2 {
    color: #0B9698;
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 35px;
    min-height: 275px;
  }
  .y-list1 .mh3 {
    font-size: 1.6rem;
    line-height: 1.7;
    margin-bottom: 25px;
  }
  .y-ul-2 {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
  }
  .y-list2 {
    display: block;
  }
  .y-list2 li {
    display: block;
    float: left;
    margin-left: 37px;
    width: calc((100% - 111px) / 4 - 0.01px);
  }
  .y-list2 li:nth-child(4n+1) {
    margin-left: 0px;
  }
  .y-list2.y-list2--col3 li {
    display: block;
    float: left;
    margin-top: 37px;
    margin-left: 37px;
    width: calc((100% - 74px) / 3 - 0.01px);
  }
  .y-list2.y-list2--col3 li:nth-child(1),
  .y-list2.y-list2--col3 li:nth-child(2),
  .y-list2.y-list2--col3 li:nth-child(3) {
    margin-top: 0px;
  }
  /* .y-list2.y-list2--col3 li:nth-child(4n) {
  	margin-left: 37px;
  } */
  .y-list2.y-list2--col3 li:nth-child(3n+1) {
    margin-left: 0px;
  }
  .y-list2 li figure {
    display: block;
    margin-bottom: 30px;
  }
  .y-list2 li figure img {
    width: 100%;
  }
  .y-list2 li small {
    display: block;
    font-size: 1.6rem;
    line-height: 1;
    color: #0B9698;
    font-weight: 500;
    border-bottom: #0B9698 solid 2px;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
  .y-list2 li h4 {
    display: block;
    color: #0B9698;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 25px;
  }
  .y-list2 li .mh2 {
    display: block;
    color: #0B9698;
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 30px;
  }
  .y-list2 li .mh3 {
    margin: auto;
  }
  .y-list2 li .btn {
    display: block;
  }
  .y-list2 li .btn a {
    display: block;
    text-align: center;
    position: relative;
    color: #0B9698;
    text-decoration: none;
    line-height: 1;
    border: #0B9698 solid 1px;
    font-weight: 500;
    font-size: 1.8rem;
    padding: 18px 0;
  }
  .y-list2 li .btn a:hover {
    color: #FFF;
    background: #0B9698;
  }
  .y-list2 li .btn a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    right: 13px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #0B9698;
    border-right: 2px solid #0B9698;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
/* HISTORY
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#history-bg .inner {
    background: url(../images/aboutus/history/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#history-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .history01 {
    display: block;
    position: relative;
    color: #5B6770;
    padding: 50px 0;
    margin-bottom: 110px;
  }
  .history01::after {
    position: absolute;
    top: 0;
    right: 0;
    content: "";
    background: #FFF;
    width: 86.81%;
    height: 100%;
  }
  .history01.v2 {
    padding: 50px 0 330px 0;
    margin-bottom: 110px;
  }
  .history01.v2::after {
    position: absolute;
    top: 0;
    right: auto;
    left: 0;
    content: "";
    background: #FFF url(../images/aboutus/history/bg.jpg) left bottom no-repeat;
    background-size: 100% auto;
    width: 86.81%;
    height: 100%;
  }
  .history01 .fix-1200 {
    position: relative;
    z-index: 10;
  }
  .history01 h2 {
    display: block;
    font-weight: bold;
    line-height: 1.1;
    font-size: 4.8rem;
    margin-bottom: 30px;
  }
  .history01 h2 strong {
    font-weight: bold;
    color: #0B9698;
  }
  .history01 .mt {
    display: block;
    font-size: 1.6rem;
    line-height: 1.9;
    margin-bottom: 60px;
    max-width: 830px;
  }
  .history01 .lf-box {
    display: block;
    padding-bottom: 35px;
  }
  .history01 .lf-box .txt {
    display: block;
    float: left;
    width: 62%;
  }
  .history01 .lf-box.ri .txt {
    float: right;
  }
  .history01 .lf-box .txt h3 {
    display: inline-block;
    color: #FFF;
    line-height: 1.1;
    font-size: 2.4rem;
    font-weight: bold;
    background: #0B9698;
    padding: 12px 24px 9px 24px;
    margin-bottom: 30px;
  }
  .history01 .lf-box .txt h4 {
    display: block;
    font-size: 2rem;
    line-height: 1.4;
    color: #006400;
    font-weight: 800;
  }
  .history01 .lf-box .txt p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 30px;
  }
  .history01 .lf-box .txt b {
    display: block;
    text-align: right;
    font-size: 2.4rem;
    line-height: 1.2;
  }
  .history01 .lf-box figure {
    display: block;
    float: right;
    position: relative;
    width: 32%;
  }
  .history01 .lf-box.ri figure {
    float: left;
  }
  .history01 .lf-box figure::after {
    position: absolute;
    left: 15px;
    top: 15px;
    width: 100%;
    height: 100%;
    content: "";
    background: #CCEAEA;
  }
  .history01 .lf-box figure img {
    display: block;
    width: 100%;
    position: relative;
    z-index: 5;
  }
  .his-main {
    display: block;
    border-left: #efefef solid 5px;
    padding-left: 40px;
    margin-right: 90px;
  }
  .his-main table {
    width: 100%;
    border-collapse: collapse;
  }
  .his-main th {
    width: 18%;
    position: relative;
    font-family: "Montserrat", sans-serif;
    color: #006400;
    font-size: 2.8rem;
    line-height: 1;
    font-weight: 700;
    padding-bottom: 35px;
    text-align: left;
    vertical-align: top;
  }
  .his-main th strong {
    position: relative;
    background: #FFF;
    z-index: 5;
    font-weight: 700;
    letter-spacing: 2px;
  }
  .his-main th::after {
    position: absolute;
    right: 20px;
    top: 14px;
    content: "";
    width: 50%;
    height: 2px;
    background: #006400;
  }
  .his-main td {
    padding-bottom: 35px;
    border: none !important;
  }
  .his-main td dl {
    display: flex;
    margin-bottom: 9px;
    border: none !important;
  }
  .his-main td dt {
    font-size: 2.8rem;
    text-align: right;
    width: 65px;
    min-width: 65px;
    font-weight: 500;
    color: #006400;
    line-height: 1.2;
    letter-spacing: 2px;
    font-family: "Montserrat", sans-serif;
  }
  .his-main td dd {
    margin-left: 35px;
    font-size: 1.8rem;
    line-height: 1.9;
  }
  .his-main td dd .links {
    display: block;
    padding: 15px 0 0 0;
  }
  .his-main td dd .links b {
    color: #006400;
    font-size: 2rem;
    line-height: 1;
  }
  .his-main td dd .links p {
    font-size: 1.8rem;
    line-height: 1.9;
    color: #006400;
  }
  .his-main td dd .links a {
    color: #006400;
    text-decoration: underline;
  }
}
/* OURBUSINESS
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#our-bg .inner {
    background: url(../images/ourbusiness/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#our-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .our-inner {
    display: block;
    margin-right: 50px;
  }
  .our-mt {
    display: block;
    font-size: 1.6rem;
    line-height: 1.9;
    max-width: 830px;
    margin-bottom: 75px;
  }
  .ourbox1 {
    display: block;
    margin-bottom: 65px;
  }
  .ourbox1 .imgbox {
    display: block;
    position: relative;
    padding: 43px 0 !important;
  }
  .ourbox1 .imgbox::after {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    clear: both;
  }
  .ourbox1 .imgbox::before {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 70%;
    height: 100%;
    background: url(../images/ourbusiness/img1.jpg) center center no-repeat;
    background-size: cover;
  }
  .ourbox1.ri .imgbox::before {
    position: absolute;
    right: auto;
    left: 0;
  }
  .ourbox1.v2 .imgbox::before {
    background: url(../images/ourbusiness/img2.jpg) center center no-repeat;
    background-size: cover;
  }
  .ourbox1.v3 .imgbox::before {
    background: url(../images/ourbusiness/img3.jpg) center center no-repeat;
    background-size: cover;
  }
  .ourbox1.v4 .imgbox::before {
    background: url(../images/ourbusiness/img4.jpg) center center no-repeat;
    background-size: cover;
  }
  .ourbox1 .imgbox .tit {
    display: flex;
    align-items: center;
    width: 380px;
    height: 240px;
    background: rgb(71, 196, 193);
    background: linear-gradient(94deg, rgb(71, 196, 193) 0%, rgb(12, 151, 153) 100%);
    position: relative;
    z-index: 10;
    margin: 0px !important;
  }
  .ourbox1.ri .imgbox .tit {
    float: right;
  }
  .ourbox1 .imgbox .tit div {
    padding-left: 45px;
    padding-right: 20px;
  }
  .ourbox1 .imgbox .tit small {
    display: block;
    color: #FFF;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 2px;
  }
  .ourbox1 .imgbox .tit b {
    display: inline-block;
    color: #FFF;
    font-size: 4.8rem;
    line-height: 1;
    font-weight: 700;
  }
  .ourbox1 .imgbox .tit b::after {
    background: #FFF;
    width: 60px;
  }
  .ourbox1 .imgbox .tit h2 {
    display: block;
    color: #FFF;
    font-size: 2.4rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .ourbox1 .txt {
    display: block;
    padding: 30px 55px;
    text-align: right;
  }
  .ourbox1.ri .txt {
    text-align: left;
  }
  .ourbox1 .txt p {
    vertical-align: top;
    display: inline-block;
    max-width: 50%;
    font-size: 1.6rem;
    line-height: 1.9;
    text-align: left;
  }
  .our-ex {
    padding-bottom: 110px;
  }
  .our-ex .lef {
    display: block;
    float: left;
    width: 65%;
  }
  .our-ex .lef .tit {
    margin-bottom: 30px;
  }
  .our-ex .lef p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.9;
  }
  .our-ex .ref {
    display: block;
    float: right;
    width: 27%;
  }
  .our-ex .ref img {
    width: 100%;
  }
  .mtxt {
    width: 100%;
    text-align: center;
    padding-top: 20px;
  }
  .txtp {
    max-width: 100%;
    font-weight: 700;
  }
  .cmt {
    display: block;
    font-size: 1.6rem;
    line-height: 1.9;
    margin-top: 30px;
    max-width: 830px;
  }
  .teikei {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
  .teikei h4 {
    display: block;
    font-weight: 700;
    color: #0B9698;
    font-size: 1.8rem;
    line-height: 1.2;
    margin-bottom: 20px;
    margin-left: 40px;
  }
  .teikei .list {
    display: block;
    text-align: left;
    margin: 20px;
  }
  .teikei .list li {
    display: inline-block;
    margin: 8px;
  }
  .teikei li img {
    max-width: 100%;
  }
}
/* subliminal
-------------------------*/
@media screen and (min-width: 768px) {
  .submainimg#subm-bg .inner {
    background: url(../images/ourbusiness/subliminal/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .note#subm-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .subml01 {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 45px;
  }
  .subml01 h2 {
    display: block;
    text-align: center;
    font-weight: 700;
    line-height: 1.3;
    font-size: 4.8rem;
    letter-spacing: 2px;
    margin-bottom: 24px;
    padding-top: 30px;
  }
  .subml01 h2 strong {
    color: #006400;
    font-weight: 700;
  }
  .subml01 .mmt {
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 2.4rem;
    color: #006400;
    line-height: 1.4;
    margin-bottom: 60px;
  }
  .subml01 .list {
    display: block;
  }
  .subml01 dl {
    display: flex;
    align-items: center;
  }
  .subml01 dt {
    width: 375px !important;
    border-right: #006400 solid 2px;
    padding: 15px 0;
    min-width: 375px;
  }
  .subml01 dt img {
    width: 324px;
  }
  .subml01 dd {
    position: relative;
    font-size: 1.8rem;
    font-weight: bold;
    color: #006400;
    line-height: 1.4;
    padding-left: 35px;
  }
  .subml01 dd::before {
    position: absolute;
    left: -9px;
    top: 0;
    bottom: 0;
    content: "";
    margin: auto;
    width: 14px;
    height: 14px;
    background: #FFF;
    border-radius: 50%;
    border: #006400 solid 1px;
  }
  .subm-list2 {
    display: block;
  }
  .subm-list2 .one {
    display: block;
    position: relative;
    margin-bottom: 100px;
  }
  .subm-list2 .txt {
    display: block;
    background: rgb(71, 196, 193);
    background: linear-gradient(94deg, rgb(71, 196, 193) 0%, rgb(12, 151, 153) 100%);
    margin-right: 22%;
    padding: 50px 95px 50px 75px;
  }
  .subm-list2 .ri .txt {
    margin-right: 0%;
    margin-left: 22%;
    padding: 50px 75px 50px 95px;
  }
  .subm-list2 .txt h3 {
    color: #FFF;
    font-weight: bold;
    line-height: 1.2;
    font-size: 2.4rem;
    margin-bottom: 30px;
  }
  .subm-list2 .txt p {
    display: block;
    color: #FFF;
    font-size: 1.6rem;
    line-height: 1.9;
  }
  .subm-list2 .txt ul {
    display: block;
    text-align: right;
    margin-top: 30px;
  }
  .subm-list2 .txt li {
    display: inline-block;
    margin-left: 25px;
    color: #FFF;
    font-size: 1.6rem;
    line-height: 1.4;
  }
  .subm-list2 .txt li a {
    color: #FFF;
    text-decoration: underline;
  }
  .subm-list2 .txt li a:hover {
    text-decoration: none;
  }
  .subm-list2 figure {
    position: absolute;
    right: 0;
    top: 30px;
    width: 26%;
    z-index: 5;
  }
  .subm-list2 .ri figure {
    position: absolute;
    right: auto;
    left: 0;
    top: 30px;
    width: 26%;
    z-index: 5;
  }
  .subm-list2 figure img {
    width: 100%;
  }
  .tp2-in {
    display: block;
  }
  .tp2-in ul {
    max-width: 80%;
    margin: 0 auto;
  }
  .tp2-ex {
    margin-left: auto;
    z-index: 26;
    position: relative;
    max-width: 85.5%;
    padding: 4vw 0;
  }
  .tp2-in .box01 figure {
    display: block;
    text-align: center;
  }
  .tp2-in .box01 figure img {
    display: inline-block;
    max-width: 100%;
  }
  .tp2-in .box02 {
    margin-top: 50px;
    padding-left: 46px;
    padding-right: 46px;
  }
  .tp2-in.cl2 h2,
  .tp2-in.cl2 p {
    color: #006400;
  }
  .tp2-in .box02 table {
    display: block;
    width: 90%;
    border-collapse: collapse;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 70px;
    overflow: scroll;
  }
  .tp2-in .box02 table th {
    width: 20%;
    min-width: 160px;
    text-align: center;
    vertical-align: middle;
    color: #006400;
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: 700;
    background: #E5F5F5;
    padding: 12px 0;
  }
  .tp2-in .box02 table td {
    text-align: center;
    vertical-align: middle;
    color: #006400;
    font-size: 2.1rem;
    line-height: 1;
    padding: 12px;
    border-bottom: #E5F5F5 solid 1px;
  }
  .tp2-in .box02 table td.ch {
    font-weight: bold;
  }
  .tp2-in .box02 table td small {
    font-size: 1.8rem;
    margin-left: 10px;
  }
  .tp2-in .box02 table td.mya {
    position: relative;
  }
  .tp2-in .box02 table td.mya::after {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #006400;
    border-right: 2px solid #006400;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .tp2-in .box02 .list {
    display: block;
    padding-left: 3%;
    padding-right: 3%;
    padding-bottom: 15px;
  }
  .tp2-in .box02 .list li {
    display: block;
    float: left;
    width: 48%;
  }
  .tp2-in .box02 .list li:nth-child(2) {
    float: right;
    width: 43%;
  }
  .tp2-in .box02 .list li figure {
    display: flex;
    width: 100%;
    height: 21vw;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  .tp2-in .box02 .list li figure img {
    display: block;
    width: 100%;
  }
  .tp2-in .box02 .list li h3 {
    display: block;
    font-weight: 700;
    line-height: 1;
    font-size: 2.4rem;
    color: #006400;
    margin-bottom: 9px;
    margin-top: 13px;
  }
  .tp2-in .box02 .list li p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.9;
  }
}
/* SUSTAINABILITY / ESG
-------------------------*/
.sustainability-link {
  display: block;
  width: 100%;
  height: 100%;
  background-size: 100% auto !important;
}

.sustainability__li--01 {
  background: url(../images/sustainability/mt_pic.png) center center no-repeat;
}

.sustainability__li--02 {
  background: url(../images/sustainability/sus_pic.png) center center no-repeat;
}

.sustainability-step--01 {
  background: #054647;
}

.sustainability-step--01:after {
  border-color: #054647 transparent transparent transparent;
}

.sustainability-step--02 {
  background: #008B8D;
}

.sustainability-step--02:after {
  border-color: #008B8D transparent transparent transparent;
}

.sustainability-step--03 {
  background: #74C4C5;
}

.sustainability-step--03:after {
  border-color: #74C4C5 transparent transparent transparent;
}

.sustainability-step--04 {
  background: #A6DADB;
}

.sustainability-step--04:after {
  border-color: #A6DADB transparent transparent transparent;
}

.sustainability-step h5 strong {
  font-weight: bold;
}

.sustainability-icon01 {
  background: url(../images/sustainability/icon1.png) left center no-repeat;
}

.sustainability-icon02 {
  background: url(../images/sustainability/icon2.png) left center no-repeat;
}

.sustainability-icon03 {
  background: url(../images/sustainability/icon3.png) left center no-repeat;
}

.sustainability-icon04 {
  background: url(../images/sustainability/icon4.png) left center no-repeat;
}

.sustainability-icon05 {
  background: url(../images/sustainability/icon5.png) left center no-repeat;
}

.sustainability-icon06 {
  background: url(../images/sustainability/icon6.png) left center no-repeat;
}

.sustainability-icon07 {
  background: url(../images/sustainability/icon7.png) left center no-repeat;
}

.sustainability-icon08 {
  background: url(../images/sustainability/icon8.png) left center no-repeat;
}

.sustainability-icon09 {
  background: url(../images/sustainability/icon9.png) left center no-repeat;
}

.sustainability-step--01__text {
  font-size: 3rem;
}

.sustainability-step--02__text {
  font-size: 2.2rem;
}

.sustainability-step--03__text {
  font-size: 2.2rem;
}

.sustainability-step--04__text {
  font-size: 2.1rem;
}

.contents--sustainability {
  border-bottom: 2px solid #f0f0f1;
  padding: 0 0 0 0;
  margin: 0 auto 20px 0;
  position: relative;
  z-index: 10;
}

.about01-container {
  padding-left: 40px;
  display: none;
}

.sustainability-icon {
  margin-bottom: 10px;
  cursor: pointer;
}

.about01-table {
  width: 100%;
  font-size: 1.4rem;
  margin: 0 0 5px 0;
}

.about01-table-th {
  background-color: #006400;
  border: 1px solid #fff;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 10px 0;
}

.about01-table-th--gray {
  background-color: #7D8D8E;
}

.about01-table-td {
  padding: 10px !important;
  background: #EEF1F1;
  border: 1px solid #fff;
  font-weight: bold;
}

.about01-table-td span {
  font-weight: normal !important;
}

.about01-table-td--number {
  font-weight: bold;
  text-align: center;
}

.sustainability-icon::after,
.sustainability-icon::before {
  content: "";
  position: absolute;
  right: 20px;
  width: 4px;
  height: 1em;
  background-color: #006400;
  transition: all 0.3s;
  cursor: pointer;
  top: 30px;
}

.sustainability-icon::after {
  transform: rotate(90deg);
}

.sustainability-icon.sustainability-open.sustainability-icon::before {
  transform: rotate(90deg) !important;
}

@media screen and (min-width: 1380px) {
  .contents--sustainability {
    max-width: 900px;
  }
}
@media screen and (min-width: 1180px) and (max-width: 1380px) {
  .contents--sustainability {
    max-width: 700px;
  }
}
@media screen and (min-width: 975px) and (max-width: 1180px) {
  .contents--sustainability {
    max-width: 600px;
  }
}
@media screen and (min-width: 768px) and (max-width: 975px) {
  .contents--sustainability {
    max-width: 400px;
  }
}
.sustainability-certification {
  display: flex;
  align-items: center;
}

.sustainability-flow {
  width: 80%;
  margin: 0 auto;
}

.sustainability-flow__item {
  text-align: center;
  position: relative;
  color: #FFF;
  text-decoration: none;
  font-size: 1.8rem;
  line-height: 1;
  background: #006400;
  padding: 18px 0;
}

.sustainability-flow__arrow {
  text-align: center;
  padding: 30px 0;
  display: flex;
  justify-content: center;
}

.sustainability-flow__arrow__item,
.sustainability-flow__arrow__item--up,
.sustainability-flow__arrow__item--down {
  position: relative;
  padding: 0 15px;
}

.sustainability-flow__arrow__item span,
.sustainability-flow__arrow__item--up span,
.sustainability-flow__arrow__item--down span {
  display: block;
  position: relative;
}

.sustainability-flow__arrow__item span::before,
.sustainability-flow__arrow__item--up span::before,
.sustainability-flow__arrow__item--down span::before {
  position: absolute;
  display: block;
  content: "";
  left: -23px;
  width: 46px;
  height: 3pt;
  background: #5b6770;
  transform: rotate(-90deg);
}

.sustainability-flow__arrow__item--up span::after {
  position: absolute;
  display: block;
  content: "";
  top: -22px;
  left: -6px;
  width: 13px;
  height: 13px;
  border-right: 3pt solid #5b6770;
  border-top: 3pt solid #5b6770;
  transform: rotate(-45deg) translate(-0.5px);
}

.sustainability-flow__arrow__item--down span::after {
  position: absolute;
  display: block;
  content: "";
  top: 13px;
  left: -7px;
  width: 13px;
  height: 13px;
  border-right: 3pt solid #5b6770;
  border-top: 3pt solid #5b6770;
  transform: rotate(135deg) translate(-0.5px);
}

.sustainability-flow__desc {
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.6;
  box-sizing: border-box;
  padding-left: 3%;
  margin-top: 30px;
}

.sustainability-flow__desc strong {
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .sustainability-flow__item {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1380px) {
  .fix--sustainability {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 10;
  }
  .sustainability-step p {
    max-width: 700px;
    min-width: 400px;
    font-size: 1.6rem;
    line-height: 1.6;
    float: left;
    box-sizing: border-box;
    padding: 0 30px;
  }
}
@media screen and (min-width: 1180px) and (max-width: 1380px) {
  .fix--sustainability {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 10;
  }
  .sustainability-step p {
    max-width: 500px;
    min-width: 400px;
    font-size: 1.6rem;
    line-height: 1.6;
    float: left;
    box-sizing: border-box;
    padding: 0 30px;
  }
}
@media screen and (min-width: 975px) and (max-width: 1180px) {
  .fix--sustainability {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 10;
  }
  .sustainability-step p {
    max-width: 400px;
    min-width: 300px;
    font-size: 1.6rem;
    line-height: 1.6;
    float: left;
    box-sizing: border-box;
    padding: 0 30px;
  }
}
.sustainability-step {
  display: flex;
}

@media screen and (min-width: 768px) {
  .sustainability-catch {
    display: block;
    text-align: center;
    padding: 40px 0 10px 0;
    background: #fff;
  }
  .sustainability-catch h2 {
    display: block;
    text-align: center;
    color: #006400;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 30px;
  }
  .sustainability-catch p {
    display: block;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.9;
    color: #5B6770;
    margin-bottom: 50px;
  }
  .sustainability-catch p b {
    font-size: 2.4rem;
    color: #006400;
  }
  .sustainability-catch p strong {
    color: #006400;
    font-weight: 600;
  }
  .sustainability-catch .btn01 {
    margin-left: auto;
    margin-right: auto;
    width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .sustainability-catch {
    display: block;
    text-align: center;
    padding: 35px 4%;
    background: #fff;
  }
  .sustainability-catch h2 {
    display: block;
    text-align: center;
    color: #006400;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 17px;
  }
  .sustainability-catch p {
    display: block;
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.9;
    color: #5B6770;
    margin-bottom: 20px;
  }
  .sustainability-catch p b {
    font-size: 2.4rem;
    color: #006400;
  }
  .sustainability-catch p strong {
    color: #006400;
    font-weight: 600;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .sustainability-catch {
    display: block;
    text-align: center;
    padding: 40px 4% 10px 4%;
    background: #fff;
  }
}
.contents--non-border {
  border: none;
  padding: 0;
  margin-bottom: 0;
}

.sustainability-step h5 {
  width: 180px;
  height: 100px;
  font-size: 2rem;
  line-height: 1.4;
  text-align: center;
  position: relative;
  color: #fff;
  padding: 10px 10px 0 10px;
  box-sizing: border-box;
  margin: 0 auto;
  display: flex;
  flex-flow: column;
  justify-content: center;
}

.sustainability-step h5:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 90px 0 90px;
  position: absolute;
  bottom: -30px;
  left: 0;
  right: 0;
}

@media screen and (min-width: 768px) and (max-width: 975px) {
  .fix--sustainability {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 10;
  }
  .sustainability-step {
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    margin-bottom: 65px;
    display: block;
  }
  .sustainability-step h5 {
    width: 180px;
    height: 100px;
    font-size: 2rem;
    line-height: 1.4;
    text-align: center;
    position: relative;
    color: #fff;
    padding: 10px 10px 0 10px;
    box-sizing: border-box;
    margin: 0 auto;
    display: flex;
    flex-flow: column;
    justify-content: center;
  }
  .sustainability-step h5:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 90px 0 90px;
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
  }
  .sustainability-step p {
    font-size: 1.6rem;
    line-height: 1.6;
    box-sizing: border-box;
    margin-top: 50px;
  }
}
@media screen and (min-width: 768px) {
  .sub-title {
    display: block;
    margin: 20px 0 0 20px;
    font-size: 2.4rem;
    line-height: 1.2;
    font-weight: bold;
    color: #8c9296;
  }
  .sustainability__ul {
    width: 100%;
    margin-bottom: 100px;
    display: flex;
  }
  .sustainability__li {
    width: 50%;
  }
  .sustainability-link {
    display: block;
    width: 100%;
    background-size: 100% auto !important;
    color: #fff;
    text-align: center;
    font-weight: bold;
    letter-spacing: 4px;
    font-family: "Montserrat", sans-serif;
    font-size: 3.5rem;
    padding: 50px 0;
    text-decoration: none;
  }
  .sustainability-link:link,
  .sustainability-link:visited,
  .sustainability-link:hover {
    text-decoration: none;
    color: #fff;
  }
  .about01 .tit--mbs {
    margin-bottom: 30px;
  }
  .about01 .tit--mts {
    margin-top: 30px;
  }
  .about01.r--sustainability::after {
    position: absolute;
    top: -20%;
    right: auto;
    right: 0;
    content: "";
    background: #FFF;
    width: 86.81%;
    height: 120%;
  }
  .about01.rs--sustainability::after {
    position: absolute;
    top: -5%;
    right: auto;
    right: 0;
    content: "";
    background: #FFF;
    width: 86.81%;
    height: 105%;
  }
  .about01.rm--sustainability::after {
    position: absolute;
    top: 0;
    right: auto;
    right: 0;
    content: "";
    background: #FFF;
    width: 86.81%;
    height: 97%;
  }
  .about01.l--sustainability::after {
    position: absolute;
    top: -20%;
    right: auto;
    left: 0;
    content: "";
    background: #FFF;
    width: 86.81%;
    height: 115%;
  }
  .about01.l2--sustainability {
    margin-bottom: 30px !important;
  }
  .about01.l2--sustainability::after {
    position: absolute;
    top: -10px;
    right: auto;
    left: 0;
    content: "";
    background: #FFF;
    width: 86.81%;
    height: 100%;
  }
  .about01 .tit--sustainability h2 {
    display: block;
    font-size: 2.4rem;
    line-height: 1.2;
    font-weight: bold;
    color: #006400;
  }
  .about01 .txt--sustainability {
    padding: 10px 20px;
    float: left;
  }
  .about01 .txt--sustainability p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .about01 .txt--sustainability p.mb {
    margin-bottom: 20px;
  }
  .about01 .txt--sustainability small {
    display: block;
    font-size: 1.4rem;
    line-height: 1.8;
    color: #8c9296;
  }
  .about01 .txt--sustainability ul {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
    padding-left: 20px;
  }
  .about01 .txt--sustainability ul li {
    list-style: disc;
    margin-bottom: 10px;
  }
  .sustainability-step {
    width: 100%;
    padding: 0 5%;
    box-sizing: border-box;
    margin-bottom: 65px;
  }
  .sustainability-step--mbl {
    margin-bottom: 60px;
  }
  /* .sustainability-step p {
  	max-width: 700px;
  	min-width: 400px;
  	font-size: 1.6rem;
  	line-height: 1.6;
  	float: left;
  	box-sizing: border-box;
  	padding: 0 30px;
  } */
  .sustainability-icon {
    display: block;
    font-size: 2.4rem;
    line-height: 1;
    font-weight: bold;
    padding: 30px 50px 30px 80px;
    color: #006400;
    background-size: auto 90px !important;
  }
  .right--sustainability {
    margin-right: calc(13.19% + 20px);
    margin-left: auto;
  }
  .about01-contents {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
  }
  .about01-row {
    width: 100%;
    margin-bottom: 20px;
  }
  .about01-row h5 {
    font-size: 2rem;
    line-height: 1.2;
    font-weight: bold;
    color: #006400;
    margin-bottom: 10px;
  }
  .about01-row p {
    font-size: 1.6rem;
    line-height: 1.4;
  }
  .about01-row h6 {
    font-size: 1.8rem;
    line-height: 1.2;
    padding: 10px;
    font-weight: bold;
    background-color: #006400;
    color: #fff;
    margin-bottom: 10px;
  }
  .about01-row ul {
    font-size: 1.6rem;
    line-height: 1.4;
    padding-left: 20px;
  }
  .about01-row li {
    list-style-type: disc;
  }
  .icon-ul {
    display: flex !important;
    justify-content: end !important;
    align-items: center;
    height: 100%;
    padding: 20px 0 0 0 !important;
  }
  .icon-ul li {
    width: 80px;
    margin: 0 0 0 10px !important;
    list-style: none;
  }
  .sut-float .txt p.mb {
    margin-bottom: 20px !important;
    padding-bottom: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .contents--non-border {
    border: none;
    padding: 0;
    margin-bottom: 0;
    padding-top: 20px;
  }
  .sustainability-step {
    display: block;
  }
  .fix--sustainability {
    position: relative;
    z-index: 10;
    margin-left: 5%;
    margin-right: 5%;
  }
  .sub-title {
    display: block;
    margin: 20px 0;
    font-size: 2.4rem;
    line-height: 1.2;
    font-weight: bold;
    color: #8c9296;
  }
  .sustainability__ul {
    width: 100%;
    display: flex;
    flex-flow: column;
    margin: 40px 0 80px 0;
  }
  .sustainability__li {
    width: 100%;
  }
  .sustainability-link {
    display: block;
    width: 100%;
    background-size: cover !important;
    color: #fff;
    text-align: center;
    font-weight: bold;
    letter-spacing: 4px;
    font-family: "Montserrat", sans-serif;
    font-size: 2.8rem;
    padding: 20px 0;
  }
  .sustainability-link:link,
  .sustainability-link:visited,
  .sustainability-link:hover {
    text-decoration: none;
    color: #fff;
  }
  .about01 .tit--mbs {
    margin-bottom: 30px;
  }
  .about01 .tit--mts {
    margin-top: 30px;
  }
  .about01.r--sustainability::after {
    position: absolute;
    top: 25px;
    right: auto;
    right: 0;
    content: "";
    background: #FFF;
    width: 96.81%;
    height: 100%;
  }
  .about01.rs--sustainability::after {
    position: absolute;
    top: 0;
    right: auto;
    right: 0;
    content: "";
    background: #FFF;
    width: 96.81%;
    height: 100%;
  }
  .about01.rm--sustainability::after {
    position: absolute;
    top: 0;
    right: auto;
    right: 0;
    content: "";
    background: #FFF;
    width: 96.81%;
    height: 97%;
  }
  .about01.l--sustainability::after {
    position: absolute;
    top: -25px;
    right: auto;
    left: 0;
    content: "";
    background: #FFF;
    width: 96.81%;
    height: calc(100% + 25px);
  }
  .about01.l2--sustainability {
    margin-bottom: 30px !important;
  }
  .about01.l2--sustainability::after {
    position: absolute;
    top: 0;
    right: auto;
    left: 0;
    content: "";
    background: #FFF;
    width: 100%;
    height: 100%;
  }
  .about01 .tit--sustainability h2 {
    display: block;
    font-size: 2.4rem;
    line-height: 1.2;
    font-weight: bold;
    color: #006400;
  }
  .about01 .txt--sustainability {
    padding: 10px 0;
    float: left;
  }
  .about01 .txt--sustainability p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .about01 .txt--sustainability p.mb {
    margin-bottom: 20px;
  }
  .about01 .txt--sustainability small {
    display: block;
    font-size: 1.4rem;
    line-height: 1.8;
    color: #8c9296;
  }
  .about01 .txt--sustainability ul {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
    padding-left: 20px;
  }
  .about01 .txt--sustainability ul li {
    list-style: disc;
    margin-bottom: 10px;
  }
  .sustainability-step {
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    margin-bottom: 30px;
  }
  .sustainability-step--mbl {
    margin-bottom: 60px;
  }
  .sustainability-step h5 {
    width: 180px;
    height: 100px;
    font-size: 2rem;
    line-height: 1.4;
    text-align: center;
    position: relative;
    color: #fff;
    padding: 10px 10px 0 10px;
    box-sizing: border-box;
    margin: 0 auto;
    display: flex;
    flex-flow: column;
    justify-content: center;
  }
  .sustainability-step h5:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 90px 0 90px;
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
  }
  .sustainability-step p {
    font-size: 1.6rem;
    line-height: 1.6;
    box-sizing: border-box;
    margin-top: 50px;
  }
  .sustainability-icon {
    display: block;
    font-size: 2rem;
    line-height: 1;
    font-weight: bold;
    padding: 12px 35px 12px 70px;
    color: #006400;
    background-size: auto 70px !important;
    margin: 15px 0;
  }
  .sustainability-icon::after,
  .sustainability-icon::before {
    content: "";
    position: absolute;
    right: 20px;
    width: 4px;
    height: 1em;
    background-color: #006400;
    transition: all 0.3s;
    cursor: pointer;
    top: 27px;
  }
  .about01--sustainability {
    padding-top: 20px;
  }
  .about01-contents {
    width: 100%;
  }
  .about01-row {
    width: 100%;
    margin-bottom: 20px;
  }
  .about01-row h5 {
    font-size: 2rem;
    line-height: 1.2;
    font-weight: bold;
    color: #006400;
    margin-bottom: 10px;
  }
  .about01-row p {
    font-size: 1.6rem;
    line-height: 1.4;
  }
  .about01-row h6 {
    font-size: 1.8rem;
    line-height: 1.2;
    padding: 10px;
    font-weight: bold;
    background-color: #006400;
    color: #fff;
    margin-bottom: 10px;
  }
  .about01-row ul {
    font-size: 1.6rem;
    line-height: 1.4;
    padding-left: 20px;
  }
  .about01-row li {
    list-style-type: disc;
  }
  .icon-ul {
    display: flex !important;
    justify-content: center !important;
    align-items: center;
    height: 100%;
    padding-left: 0 !important;
  }
  .icon-ul li {
    width: 80px;
    margin: 0 5px !important;
    list-style: none;
  }
  .sut-float .txt p.mb {
    margin-bottom: 20px !important;
    padding-bottom: 0 !important;
  }
}
@media screen and (min-width: 768px) {
  .submainimg#sust-bg .inner {
    background: url(../images/sustainability/sus_top.png) top center no-repeat;
    background-size: cover;
  }
  .note#sust-bg .inner {
    background: url(../images/note/header.jpg) top center no-repeat;
    background-size: cover;
  }
  .sust-ex {
    display: block;
    margin-top: 40px;
  }
  .sust-ex .bh {
    display: block;
    color: #0B9698;
    font-size: 2.4rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 15px;
  }
  .sust-ex .sh {
    display: block;
    font-size: 1.6rem;
    line-height: 1.4;
    max-width: 910px;
    margin-bottom: 40px;
  }
  .bt-list {
    display: block;
    text-align: right;
  }
  .bt-list li {
    display: inline-block;
    margin-left: 15px;
  }
  .bt-list li a {
    display: block;
    text-align: center;
    padding: 20px 60px;
    border-radius: 30px;
    color: #0B9698;
    font-size: 1.6rem;
    text-decoration: none;
    font-weight: 700;
    line-height: 1;
    border: #0B9698 solid 2px;
    position: relative;
  }
  .bt-list li a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #0B9698;
    border-right: 2px solid #0B9698;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .bt-list li a:hover {
    background: #0B9698;
    color: #FFF;
  }
  .sus-btn {
    display: block;
    position: relative;
    background: url(../images/sustainability/bg1.jpg) right center no-repeat;
    background-size: cover;
  }
  .sus-btn.bg2 {
    background: url(../images/sustainability/bg2.jpg) right center no-repeat;
    background-size: cover;
  }
  .sus-btn.bg3 {
    background: url(../images/sustainability/bg3.jpg) right top no-repeat;
    background-size: cover;
  }
  .sus-btn .txt {
    display: block;
    position: relative;
    color: #FFF;
    background: #32A0A2;
    padding: 70px 0;
    width: 450px;
  }
  .sus-btn .txt::before {
    position: absolute;
    left: 30px;
    top: 0;
    bottom: 0;
    content: "";
    background: url(../images/sustainability/ico1.svg) center left no-repeat;
    background-size: 69px auto;
    height: 100%;
    width: 80px;
  }
  .sus-btn .txt.ic2::before {
    background: url(../images/sustainability/ico2.svg) center left no-repeat;
    background-size: 53px auto;
  }
  .sus-btn .txt.ic3::before {
    background: url(../images/sustainability/ico3.svg) center left no-repeat;
    background-size: 60px auto;
  }
  .sus-btn .txt h3 {
    display: block;
    margin-left: 110px;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 8px;
  }
  .sus-btn .txt small {
    display: block;
    margin-left: 110px;
    font-size: 2rem;
    line-height: 1.4;
  }
  .sus-btn .btn {
    display: block;
    position: absolute;
    right: 48px;
    bottom: 25px;
    width: 240px;
  }
  .sus-btn .btn a {
    display: block;
    background: #FFF;
    text-decoration: none;
    line-height: 1;
    color: #32A0A2;
    padding: 20px 0;
    border: #32A0A2 solid 1px;
    position: relative;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
  }
  .sus-btn .btn a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 13px;
    margin: auto;
    content: "";
    width: 5px;
    height: 5px;
    border-bottom: 2px solid #32A0A2;
    border-right: 2px solid #32A0A2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .sus-inner {
    margin-left: 50px;
    padding-bottom: 120px;
  }
  .sus-inner .tops {
    display: block;
    padding: 30px 100px;
  }
  .sus-inner .tops h2 {
    display: block;
    color: #006400;
    font-size: 3.6rem;
    line-height: 1.2;
    font-weight: 700;
    padding-left: 50px;
    padding-top: 7px;
    padding-bottom: 55px;
    background: url(../images/sustainability/ico1-gr.svg) left top no-repeat;
    background-size: 43px auto;
  }
  .sus-inner .tops h2.ic2 {
    background: url(../images/sustainability/ico2-gr.svg) left top no-repeat;
    background-size: 35px auto;
  }
  .sus-inner .tops h2.ic3 {
    background: url(../images/sustainability/ico3-gr.svg) left top no-repeat;
    background-size: 35px auto;
  }
  .sus-inner .tops h3 {
    display: block;
    font-weight: bold;
    line-height: 1.5;
    color: #006400;
    font-size: 2.4rem;
    margin-bottom: 2px;
  }
  .sus-inner .tops p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.9;
    margin-bottom: 40px;
  }
  .sup-blue1 {
    display: block;
    background: #CCEAEA;
    padding: 40px 0;
    margin-bottom: 25px;
  }
  /*.sup-blue1 h3 {
  	display: block;
  	text-align: center;
  	font-weight: bold;
  	line-height: 1.4;
  	font-size: 3.2rem;
  	margin-bottom: 50px;
  }*/
  .sup-blue1 .lfs {
    display: block;
  }
  .sup-blue1 .lfs figure {
    display: block;
    float: left;
    width: 100%;
    height: 400px;
    margin-bottom: 40px;
  }
  .sup-blue1 .lfs figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .sup-blue1 .lfs .read {
    display: block;
    float: left;
    width: 100%;
    padding: 0 50px 20px 50px;
  }
  .sup-blue1 .lfs .read h3 {
    display: block;
    font-size: 3.2rem;
    line-height: 1.3;
    color: #0B9698;
    font-weight: bold;
    margin-bottom: 20px;
  }
  .sup-blue1 .lfs .txt {
    display: block;
    float: left;
    width: 100%;
    padding: 0 50px 40px 50px;
  }
  /*.sup-blue1 .lfs .txt h4 {
  	display: block;
  	font-size: 2.4rem;
  	line-height: 1.3;
  	color: #0B9698;
  	font-weight: bold;
  	margin-bottom: 20px;
  }*/
  .sup-blue1 .lfs .txt h3 {
    display: block;
    font-size: 3.2rem;
    line-height: 1.3;
    color: #0B9698;
    font-weight: bold;
    margin-bottom: 20px;
  }
  .sup-blue1 .lfs .txt b {
    display: block;
    color: #0B9698;
    font-size: 2.4rem;
    line-height: 1.7;
  }
  .sup-blue1 .lfs .txt p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.9;
    padding-bottom: 24px;
    word-break: normal;
  }
  .sup-blue1 .lfs .box {
    width: 100%;
    padding: 0 50px;
    float: left;
    display: block;
    position: relative;
  }
  .sup-blue1 .lfs .box .target {
    width: 100%;
    padding: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    border: solid 5px #0B9698;
    -moz-border-radius: 1em;
    -webkit-border-radius: 1em;
    -o-border-radius: 1em;
    -ms-border-radius: 1em;
  }
  .sup-blue1 .lfs .box .target .title {
    top: -1.2rem;
    left: 48px;
    display: block;
    padding: 0 24px;
    position: absolute;
    color: #0B9698;
    font-size: 2.4rem;
    background-color: #CCEAEA;
    font-family: "Montserrat", sans-serif;
  }
  .sup-blue1 .lfs .box .target .mot {
    max-width: 65%;
    float: left;
    display: block;
    font-size: 1.6rem;
    line-height: 1.9;
    word-break: normal;
  }
  .sup-blue1 .lfs .box .target .sdgsbnr {
    max-width: 270px;
    float: right;
    display: block;
  }
  .sup-blue1 .lfs .box .target .sdgsbnr img:last-child {
    margin-right: 0;
  }
  .sup-blue1 .lfs .box .target .sdgsbnr img:nth-child(3) {
    margin-top: 15px;
  }
  .sut-float {
    display: block;
    max-width: 1000px;
  }
  .sut-float .txt {
    display: block;
    float: left;
    width: 70%;
  }
  .sut-float-center .txt {
    display: block;
    float: inherit;
    width: 80%;
    margin: 60px auto 0 auto;
  }
  .sut-float-text-right .txt {
    display: block;
    float: right;
    width: 70%;
  }
  .sut-float .txt h3 {
    display: block;
    color: #0B9698;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 5px;
  }
  .sut-float .txt p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
    padding-bottom: 75px;
  }
  .sut-float-center .txt p {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
    padding-bottom: 40px;
  }
  .sut-float .txt ul {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
    padding-bottom: 75px;
  }
  .sut-float-center .txt ul {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
    padding-bottom: 0px;
  }
  .sut-float .txt p.no {
    color: #000;
    padding-bottom: 20px;
  }
  .sut-float figure {
    display: block;
    float: right;
    width: 25%;
  }
  .sut-float figure img {
    width: 100%;
  }
  .sut-float-left figure {
    display: block;
    float: left;
    width: 25%;
  }
  .sut-float-left figure img {
    width: 100%;
  }
  .sut-float-center figure {
    display: block;
    width: 45%;
    float: inherit;
    margin: 0 auto;
  }
  .sut-float-center figure img {
    width: 100%;
  }
  .ml-150 {
    margin-left: 150px;
  }
  .sut-bnr {
    display: block;
    padding: 0 40px;
  }
  .sut-bnr .one2 {
    display: block;
    margin-bottom: 50px;
  }
  .sut-bnr .one2 figure {
    display: block;
    float: left;
    width: 11%;
  }
  .sut-bnr .one2.ri figure {
    float: right;
  }
  .sut-bnr .one2 figure img {
    width: 100%;
  }
  .sut-bnr .one2 p {
    display: block;
    float: right;
    width: 84%;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .sut-bnr .one2.ri p {
    float: left;
  }
  #acMenu dt {
    display: block;
    cursor: pointer;
  }
  #acMenu dd {
    display: none;
  }
}
@media screen and (max-width: 979px) {
  .sup-blue1 .lfs .box .target .mot {
    max-width: 60%;
  }
  .sup-blue1 .lfs .box .target .sdgsbnr {
    max-width: 180px;
    float: right;
    display: block;
  }
  .sup-blue1 .lfs .box .target .sdgsbnr img {
    width: 80px;
    height: 80px;
    margin-right: 10px;
  }
  .sup-blue1 .lfs .box .target .title {
    top: -1.2rem;
    left: 12px;
    display: block;
    padding: 0 12px;
    position: absolute;
    color: #0B9698;
    font-size: 1.9rem;
    background-color: #CCEAEA;
    font-family: "Montserrat", sans-serif;
  }
  .sup-blue1 .lfs .box .target .title.en {
    top: -0.9rem;
  }
}
@media screen and (max-width: 767px) {
  .sup-blue1 .lfs .box {
    width: 100%;
    float: left;
    display: block;
    position: relative;
  }
  .sup-blue1 .lfs .box .target {
    width: 100%;
    padding: 30px 15px 15px 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    border: solid 3px #0B9698;
    -moz-border-radius: 1em;
    -webkit-border-radius: 1em;
    -o-border-radius: 1em;
    -ms-border-radius: 1em;
  }
  .sup-blue1 .lfs .box .target .title {
    top: -2rem;
    left: 5px;
    display: block;
    padding: 0 5px;
    position: absolute;
    color: #0B9698;
    font-size: 1.6rem;
    line-height: 2rem;
    background-color: #CCEAEA;
    font-family: "Montserrat", sans-serif;
  }
  .sup-blue1 .lfs .box .target .title.en {
    top: -1.1rem;
  }
  .sup-blue1 .lfs .box .target .mot {
    width: 70%;
    float: left;
    display: block;
    font-size: 1.4rem;
    line-height: 1.9;
    word-break: normal;
  }
  .sup-blue1 .lfs .box .target .sdgsbnr {
    width: 25%;
    float: right;
    display: block;
  }
  .sup-blue1 .lfs .box .target .sdgsbnr img {
    width: 100%;
    height: 100%;
    display: block;
    margin-bottom: 10px;
  }
  .sup-blue1 .lfs .box .target .sdgsbnr img:last-child {
    margin-top: 0;
  }
  .sup-blue1 .lfs .read h3 {
    display: block;
    font-weight: bold;
    line-height: 1.5;
    color: #006400;
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
/* FAQ
-------------------------*/
@media screen and (min-width: 768px) {
  .faq-base {
    display: block;
    padding-bottom: 60px;
  }
  .faq-base dl {
    display: block;
  }
  .faq-base dt {
    display: block;
    position: relative;
    font-size: 1.9rem;
    line-height: 1.4;
    font-weight: bold;
    padding-left: 95px;
    padding-top: 12px;
    padding-bottom: 12px;
    margin-bottom: 35px;
  }
  .faq-base dt::before {
    position: absolute;
    left: 0px;
    top: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.2;
    width: 70px;
    height: 50px;
    content: "Q.";
    font-family: Verdana;
    color: #c0ab8a;
    border-bottom: #c0ab8a solid 1px;
    border-right: #c0ab8a solid 1px;
  }
  .faq-base dd {
    display: block;
    position: relative;
    font-size: 1.6rem;
    line-height: 2;
    padding-left: 95px;
    margin-bottom: 65px;
  }
  .faq-base dd a {
    text-decoration: underline;
    color: #2372b5;
  }
  .faq-base dd a:hover {
    text-decoration: none;
  }
  .faq-base dd::before {
    position: absolute;
    left: 0px;
    top: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.2;
    width: 70px;
    height: 50px;
    content: "Q.";
    font-family: Verdana;
    background: #c0ab8a;
    color: #FFF;
    border-bottom: #c0ab8a solid 1px;
    border-right: #c0ab8a solid 1px;
  }
  .btn-ce {
    max-width: 450px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 70px;
  }
  .mwform_errors {
    display: block;
  }
  .mwform_errors .error {
    display: block !important;
    font-size: 1.5rem !important;
    margin: 9px !important;
    padding: 0px !important;
  }
  .contact-box .mw_wp_form_confirm td {
    font-size: 1.8rem !important;
    line-height: 1.5 !important;
  }
  .contact-box .mw_wp_form_confirm .privs-check .andpriv {
    display: none !important;
  }
}
/* modal
-------------------------*/
@media screen and (min-width: 768px) {
  #lean_overlay {
    position: fixed;
    z-index: 100;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    background: #000;
    display: none;
  }
  .modbase {
    background: none repeat scroll 0 0 #FFFFFF;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
    display: none;
    padding: 55px 45px;
    width: 760px;
  }
  .modbase .wr {
    display: block;
    font-weight: bold;
  }
  .modbase .wr .lef {
    display: block;
    float: left;
    width: 27%;
  }
  .modbase .wr .lef figure {
    display: block;
    margin-bottom: 30px;
  }
  .modbase .wr .lef figure img {
    width: 100%;
  }
  .modbase .wr .lef small {
    display: block;
    font-size: 1.6rem;
    line-height: 1;
    color: #0B9698;
    font-weight: 500;
    border-bottom: #0B9698 solid 2px;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
  .modbase .wr .lef h4 {
    display: block;
    color: #0B9698;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 25px;
  }
  .modbase .wr .lef p {
    display: block;
    color: #0B9698;
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 30px;
  }
  .modbase .wr .ref {
    display: block;
    float: right;
    width: 68%;
    overflow-y: auto;
    max-height: 440px;
  }
  .modbase .wr .ref p {
    display: block;
    font-size: 1.5rem;
    line-height: 1.7;
    margin-bottom: 30px;
  }
  .modbase .wr .ref ul {
    display: block;
    margin-left: 14px;
  }
  .modbase .wr .ref li {
    margin-bottom: 3px;
    list-style-type: disc;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .modal_close {
    position: absolute;
    top: -22px;
    right: -22px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #0B9698;
    border: #0B9698 solid 2px;
    width: 60px;
    height: 60px;
    font-size: 2.6rem;
    line-height: 1;
    background: #FFF;
    overflow: hidden;
    z-index: 2;
    cursor: pointer;
  }
  .privs {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .privs h3 {
    font-size: 2.1rem;
    display: block;
    border-bottom: #ccc solid 1px;
    padding-bottom: 15px;
    margin-bottom: 15px;
    font-weight: bold;
  }
  .privs p {
    margin-bottom: 35px;
  }
  .privs table {
    border-left: #ccc solid 1px;
    border-top: #ccc solid 1px;
    margin-bottom: 35px;
  }
  .privs table th,
  .privs table td {
    border-right: #ccc solid 1px;
    border-bottom: #ccc solid 1px;
    padding: 16px 24px;
  }
}
/* 20201127
-------------------------*/
@media screen and (min-width: 768px) and (max-width: 1500px) {
  .evv {
    width: 95% !important;
  }
  .evv2 {
    margin-left: 6%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1350px) {
  .evv {
    width: 85% !important;
  }
  .evv2 {
    margin-left: 9%;
  }
}
@media screen and (min-width: 768px) {
  .fls-img {
    display: flex;
    justify-content: center;
    padding: 30px 0;
    position: relative;
    margin-left: 150px;
  }
  .fls-img::before {
    position: absolute;
    left: 14.9%;
    right: 6%;
    top: 0;
    content: "";
    width: 82%;
    height: 4px;
    background: #109092;
    z-index: 1;
  }
  .fls-img::after {
    position: absolute;
    left: 14.9%;
    right: 6%;
    bottom: 0;
    content: "";
    width: 82%;
    height: 4px;
    background: #109092;
  }
  .fls-img .lef {
    display: block;
    width: 70%;
    flex-direction: column;
    text-align: left;
    position: relative;
  }
  .fls-img .lef::before {
    position: absolute;
    left: 20%;
    top: -26px;
    content: "";
    background: url(../images/sustainability/ya-down.svg) bottom center no-repeat #FFF;
    background-size: 28px auto !important;
    width: 30px;
    height: 23px;
    z-index: 20;
  }
  .fls-img .lef h3::before {
    position: absolute;
    left: 0;
    top: -40px;
    content: "";
    background: #FFF;
    z-index: 5;
    width: 48.5%;
    height: 40px;
  }
  .fls-img .lef .one.ya-up h4::after {
    position: absolute;
    left: 0;
    bottom: -40px;
    content: "";
    background: #FFF;
    z-index: 5;
    width: 48.5%;
    height: 40px;
  }
  .fls-img .lef::after {
    position: absolute;
    left: 20%;
    bottom: -26px;
    content: "";
    background: url(../images/sustainability/ya-up.svg) top center no-repeat #FFF;
    background-size: 28px auto !important;
    width: 30px;
    height: 24px;
    z-index: 20;
  }
  .fls-img .ref {
    display: flex;
    position: relative;
    border-radius: 7px;
    background: #E0EFED;
    padding: 40px 25px;
    width: 21%;
    flex-direction: column;
    text-align: left;
    justify-content: center;
    margin-left: 60px;
  }
  .fls-img .ref::before {
    position: absolute;
    right: 45%;
    top: -26px;
    content: "";
    background: url(../images/sustainability/ya-down.svg) bottom center no-repeat #FFF;
    background-size: 28px auto !important;
    width: 30px;
    height: 23px;
    z-index: 20;
  }
  .fls-img .ref h4::before {
    position: absolute;
    top: -40px;
    right: 0%;
    content: "";
    width: 50.4%;
    height: 40px;
    background: #FFF;
    z-index: 5;
  }
  .fls-img .ref h4::after {
    position: absolute;
    bottom: -40px;
    right: 0%;
    content: "";
    width: 50.4%;
    height: 40px;
    background: #FFF;
    z-index: 5;
  }
  .fls-img .ref::after {
    position: absolute;
    right: 45%;
    bottom: -26px;
    content: "";
    background: url(../images/sustainability/ya-up.svg) top center no-repeat #FFF;
    background-size: 28px auto !important;
    width: 30px;
    height: 23px;
    z-index: 20;
  }
  .fls-sub {
    display: flex;
  }
  .fls-sub.mb {
    margin-bottom: 60px;
  }
  .fls-sub .one {
    display: flex;
    position: relative;
    border-radius: 7px;
    background: #E0EFED;
    padding: 40px 25px;
    width: 46%;
    flex-direction: column;
    justify-content: center;
  }
  .fls-sub .one::after {
    position: absolute;
    right: -58px;
    top: 0;
    content: "";
    width: 58px;
    height: 100%;
    background: url(../images/sustainability/ya-lr.svg) right center no-repeat;
    background-size: 54px auto;
  }
  .fls-sub .one.ya-up::before {
    position: absolute;
    left: 0;
    top: -57px;
    content: "";
    width: 100%;
    height: 57px;
    background: url(../images/sustainability/ya-up.svg) top center no-repeat;
    background-size: 28px auto;
  }
  .fls-sub .one.ri {
    margin-left: 60px;
  }
  .fls-img h3 {
    display: block;
    text-align: center;
    font-weight: bold;
    line-height: 1.1;
    font-size: 2.4rem;
    color: #109092;
  }
  .fls-img h4 {
    display: block;
    font-weight: bold;
    line-height: 1.1;
    font-size: 1.7rem;
    color: #109092;
    margin-bottom: 7px;
  }
  .fls-img p {
    display: block;
    line-height: 1.8;
    font-size: 1.3rem;
    color: #717070;
  }
  .fls-img p a {
    text-decoration: underline;
    color: #717070;
  }
  .fls-img p a:hover {
    text-decoration: none;
  }
  .tacks01 {
    position: relative;
    display: block;
  }
  .tacks01 figure {
    display: block;
    width: 58%;
    margin: 0 auto;
  }
  .tacks01 .pad-r {
    padding-right: 3%;
  }
  .tacks01 figure img {
    max-width: 100%;
  }
  .tacks01 .txt {
    display: block;
    float: left;
    margin-left: 4%;
    width: 31%;
  }
  .tacks01 .txt h3 {
    display: block;
    font-weight: bold;
    line-height: 1.2;
    font-size: 2.4rem;
    color: #0E9598;
    margin-bottom: 18px;
  }
  .tacks01 .txt small {
    display: block;
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 40px;
  }
  .tacks01 .txt dl {
    display: flex;
    color: #0E9598;
    margin-bottom: 42px;
  }
  .tacks01 .txt dt {
    width: 150px;
    font-weight: bold;
    line-height: 1;
    font-size: 2.4rem;
  }
  .tacks01 .txt dd {
    font-size: 2rem;
    font-weight: bold;
  }
  .tacks01 .txt dd b {
    font-size: 5rem;
    margin-right: 15px;
  }
  .tacks02 {
    display: block;
    text-align: center;
    margin-top: 40px;
  }
  .tacks02 li {
    display: inline-block;
    color: #0E9598;
    font-weight: bold;
    line-height: 1;
    font-size: 2.1rem;
    margin-left: 24px;
    margin-right: 24px;
  }
  .tacks02 li b {
    font-size: 5.5rem;
  }
  .dg-map {
    display: block;
    text-align: center;
    position: relative;
  }
  .dg-map figure {
    max-width: 830px !important;
    margin-left: auto;
    margin-right: auto;
  }
  .dg-map figure img {
    width: 100%;
  }
  .dg-map .ones {
    display: block;
    border: #85CBCB solid 1px;
    padding: 15px 20px;
    text-align: left;
    background: #FFF;
    z-index: 20;
  }
  .dg-map .ones h3 {
    display: block;
    color: #0B9698;
    font-size: 1.6rem;
    line-height: 1.1;
    font-weight: bold;
  }
  .dg-map .ones p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .dg-map .ones a {
    color: #0B9698;
    text-decoration: none;
    font-weight: bold;
  }
  .dg-map .ones a:hover {
    text-decoration: underline;
  }
  .dg-map .ones .mslink {
    position: absolute;
    right: 20px;
    top: 15px;
    font-size: 1.4rem;
    line-height: 1;
  }
  .dg-map .ones.abt1 {
    position: absolute;
    left: 403px;
    top: 0;
    width: 265px;
  }
  .dg-map .ones.abt2 {
    position: absolute;
    left: 165px;
    top: 147px;
    width: 375px;
  }
  .dg-map .ones.abt3 {
    position: absolute;
    right: 0px;
    top: 502px;
    width: 255px;
  }
  .dg-map .ones.abt4 {
    position: absolute;
    left: 100px;
    top: 365px;
    width: 375px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .dg-map {
    width: 660px;
    margin-left: auto;
    margin-right: auto;
  }
  .dg-map figure {
    width: 660px !important;
    margin-left: auto;
    margin-right: auto;
  }
  .dg-map .ones.abt1 {
    position: absolute;
    left: 203px;
    top: 0;
    width: 245px;
  }
  .dg-map .ones.abt2 {
    position: absolute;
    left: 85px;
    top: 147px;
    width: 275px;
  }
  .dg-map .ones.abt3 {
    position: absolute;
    right: -120px;
    top: 332px;
    width: 235px;
  }
  .dg-map .ones.abt4 {
    position: absolute;
    left: 0px;
    top: 365px;
    width: 255px;
  }
}
@media screen and (max-width: 767px) {
  .ev2 {
    margin: 5%;
  }
  .tacks01 {
    display: block;
    margin-left: 5%;
    margin-right: 5%;
  }
  .tacks01 figure {
    display: block;
    margin-bottom: 25px;
  }
  .tacks01 figure img {
    width: 90%;
    padding-bottom: 9vw;
  }
  .tacks01 .txt {
    display: block;
  }
  .tacks01 .txt h3 {
    display: block;
    font-weight: bold;
    line-height: 1.2;
    font-size: 2.2rem;
    color: #0E9598;
    margin-bottom: 14px;
  }
  .tacks01 .txt small {
    display: block;
    font-size: 1.2rem;
    line-height: 1.7;
    margin-bottom: 20px;
  }
  .tacks01 .txt dl {
    display: flex;
    color: #0E9598;
    margin-bottom: 32px;
  }
  .tacks01 .txt dt {
    width: 150px;
    font-weight: bold;
    line-height: 1;
    font-size: 2rem;
  }
  .tacks01 .txt dd {
    font-size: 2rem;
    font-weight: bold;
  }
  .tacks01 .txt dd b {
    font-size: 5rem;
    margin-right: 15px;
  }
  .tacks02 {
    display: block;
    text-align: center;
    margin-top: 14px;
    border: #ccc dotted 1px;
    padding: 20px 5%;
    margin-left: 5%;
    margin-right: 5%;
  }
  .tacks02 li {
    display: inline-block;
    color: #0E9598;
    font-weight: bold;
    line-height: 1;
    font-size: 1.7rem;
    margin: 10px 0;
  }
  .tacks02 li b {
    font-size: 4.5rem;
  }
  .dg-map {
    display: block;
    text-align: center;
    position: relative;
  }
  .dg-map figure {
    display: none;
  }
  .dg-map figure img {
    width: 100%;
  }
  .dg-map .ones {
    display: block;
    border: #85CBCB solid 1px;
    padding: 15px 20px;
    text-align: left;
    background: #FFF;
    z-index: 20;
    position: relative;
    margin-bottom: 20px;
  }
  .dg-map .ones h3 {
    display: block;
    color: #0B9698;
    font-size: 1.6rem;
    line-height: 1.1;
    font-weight: bold;
  }
  .dg-map .ones p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .dg-map .ones a {
    color: #0B9698;
    text-decoration: none;
    font-weight: bold;
  }
  .dg-map .ones a:hover {
    text-decoration: underline;
  }
  .dg-map .ones .mslink {
    position: absolute;
    right: 20px;
    top: 15px;
    font-size: 1.4rem;
    line-height: 1;
  }
}
.font-c {
  font-family: "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
}

@media screen and (min-width: 768px) {
  .ce-small {
    display: block;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.8;
  }
  .ce-small--normal {
    display: block;
    font-size: 1.8rem;
    line-height: 1.8;
  }
  .ce-xsmall--normal {
    display: block;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .video-abt {
    width: 100%;
    background-image: url(../images/images/top_image.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    z-index: 1;
  }
  video {
    width: 100%;
  }
  .abt-btn {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 5;
    bottom: 13%;
    width: 200px;
    height: 100px;
  }
  .abt-btn a {
    display: block;
    width: 70px;
    height: 70px;
    margin-left: auto;
    margin-right: auto;
    text-indent: -9999px;
    background: #FFF;
    border-radius: 50%;
    position: relative;
  }
  .abt-btn a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    left: 21px;
    right: 0;
    box-sizing: border-box;
    width: 16px;
    height: 16px;
    border: 16px solid transparent;
    border-left: 16px solid #0E9598;
  }
  .abt-btn small {
    display: block;
    text-align: center;
    color: #FFF;
    font-size: 1.4rem;
    margin-top: 20px;
  }
  .sdgsbnr {
    display: block;
  }
  .sdgsbnr img {
    width: 120px;
    display: inline-block;
    margin-right: 15px;
  }
  .grafs-box {
    display: block;
  }
  .grafs-box li {
    display: block;
    float: left;
    width: 33%;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
  }
  .grafs-box li:nth-child(1),
  .grafs-box li:nth-child(2) {
    padding-bottom: 40px;
  }
  .grafs-box li:nth-child(3) {
    /* padding-top: 40px; */
  }
  .grafs-box li:nth-child(4) {
    padding: 40px;
    width: 100%;
  }
  .grafs-box li:nth-child(2)::before {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 1px;
    height: 90%;
    background: #006400;
  }
  .grafs-box li:nth-child(3)::before {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 1px;
    height: 90%;
    background: #006400;
  }
  .grafs-box li:nth-child(1)::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 90%;
    /* height: 1px; */
    background: #006400;
  }
  .grafs-box li:nth-child(2)::after {
    position: absolute;
    bottom: 0;
    right: 0;
    content: "";
    width: 90%;
    /* height: 1px; */
    background: #006400;
  }
  .grafs-box li h3 {
    display: block;
    font-size: 2.4rem !important;
    line-height: 1.2;
    margin-bottom: 16px;
  }
  .grafs-box li h3 small {
    margin-left: 6px;
    font-size: 1.4rem;
  }
  .grafs-box li figure {
    display: block;
    text-align: center;
  }
  .grafs-box li figure img {
    display: inline-block;
    max-width: 100%;
  }
  .grafs-box li p {
    display: block;
    font-size: 1.8rem;
    line-height: 1.8;
    margin-top: 20px;
  }
  .grafs-box .lih3 {
    min-height: 125px;
  }
  .subtx {
    display: flex;
    align-items: baseline;
    justify-content: center;
    font-weight: bold;
    color: #006400;
    font-size: 11rem;
    line-height: 1;
    font-family: "Montserrat", sans-serif;
  }
  .subtx small {
    font-weight: bold;
    font-size: 3rem;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    margin-top: 27px;
    margin-left: 5%;
    margin-right: 5%;
  }
  .subtx small.c2 {
    color: #006400;
    margin-right: 15px;
    margin-left: 15px;
  }
  .subtx small.c3 {
    font-weight: bold;
    font-size: 1.5rem;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    margin-top: 50px;
    margin-right: 5%;
    margin-left: 5%;
  }
  .subtx2 {
    margin-top: 6%;
    margin-bottom: 26%;
  }
  .subtx3 {
    display: flex;
    align-items: center;
    font-weight: bold;
    color: #006400;
    font-size: 11rem;
    line-height: 1;
    font-family: "Montserrat", sans-serif;
    /*margin-top: 14%;*/
  }
}
@media screen and (max-width: 767px) {
  .ce-small {
    display: block;
    text-align: center;
    font-size: 1.3rem;
    line-height: 1.8;
  }
  .ce-small--normal {
    display: block;
    font-size: 1.3rem;
    line-height: 1.8;
  }
  .video-abt {
    width: 100%;
    height: 100%;
    padding-top: 55px;
  }
  video {
    width: 100%;
  }
  .abt-btn {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 5;
    bottom: 17px;
    width: 200px;
  }
  .abt-btn a {
    display: block;
    width: 30px;
    height: 30px;
    margin-left: auto;
    margin-right: auto;
    text-indent: -9999px;
    background: #FFF;
    border-radius: 50%;
    position: relative;
  }
  .abt-btn a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    left: 11px;
    right: 0;
    box-sizing: border-box;
    width: 7px;
    height: 7px;
    border: 7px solid transparent;
    border-left: 7px solid #0E9598;
  }
  .abt-btn small {
    text-align: center;
    color: #FFF;
    font-size: 1.4rem;
    margin-top: 20px;
    display: none !important;
  }
  .sdgsbnr {
    display: block;
  }
  .sdgsbnr img {
    width: 60px;
    display: inline-block;
    margin-right: 5px;
  }
  .grafs-box {
    display: block;
  }
  .grafs-box li {
    display: block;
    padding: 20px 4%;
    border-bottom: #006400 solid 1px;
  }
  .grafs-box li:nth-child(4) {
    border-bottom: #006400 solid 0px;
  }
  .grafs-box li h3 {
    display: block;
    font-size: 2.4rem !important;
    line-height: 1.2;
    margin-bottom: 16px;
  }
  .grafs-box li h3 small {
    margin-left: 6px;
    font-size: 1.4rem;
  }
  .grafs-box li figure {
    display: block;
    text-align: center;
  }
  .grafs-box li figure img {
    display: inline-block;
    max-width: 100%;
  }
  .grafs-box li p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.9;
    margin-top: 14px;
  }
  .subtx {
    display: flex;
    align-items: baseline;
    justify-content: center;
    font-weight: bold;
    color: #006400;
    font-size: 12rem;
    line-height: 1;
    font-family: "Montserrat", sans-serif;
  }
  .subtx2 {
    margin-top: 6%;
    margin-bottom: 10%;
  }
  .subtx3 {
    margin-top: 16%;
    margin-bottom: 20%;
    align-items: center;
  }
  .subtx small {
    font-weight: bold;
    font-size: 3.5rem;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    margin-top: 27px;
    margin-right: 5%;
    margin-left: 5%;
  }
  .subtx small.c2 {
    color: #006400;
    margin-right: 0px;
    margin-left: 15px;
    font-size: 0.3em;
  }
  .subtx small.c3 {
    font-weight: bold;
    font-size: 2rem;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    margin-top: 27px;
    margin-right: 5%;
    margin-left: 5%;
  }
  .working01 .white01 .pfw {
    font-weight: 700;
    font-size: 2.8em;
    padding-left: 10px;
  }
}
/*--  20201206追加   ------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  .movie-main {
    display: block;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 140px;
  }
  .movie-main iframe {
    width: 100%;
    height: 450px;
  }
  .sut-bnr .one2.nikkei figure {
    width: 18%;
  }
  .sut-bnr .one2.nikkei p {
    width: 76%;
  }
  .sus-inner.esg {
    margin-left: 50px;
    padding-bottom: 0px;
  }
}
@media screen and (max-width: 767px) {
  .movie-main {
    display: block;
    margin-left: 4%;
    margin-right: 4%;
    padding-top: 70px;
  }
  .movie-main iframe {
    width: 100%;
    height: 260px;
  }
}
/*--  BLOG  ------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  .deta-main table {
    border-left: #ccc solid 1px;
    border-top: #ccc solid 1px;
  }
  .deta-main table th,
  .deta-main table td {
    border-bottom: #ccc solid 1px;
    border-right: #ccc solid 1px;
    padding: 20px;
  }
}
/*------------------------------------------------------------------------
wp-pagenavi
------------------------------------------------------------------------*/
.paging {
  display: block !important;
  clear: both !important;
  float: none !important;
  width: 100% !important;
  text-align: center !important;
  color: #006400;
}

.wp-pagenavi {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

.wp-pagenavi a {
  display: inline-block !important;
  text-decoration: none;
  color: #006400 !important;
  border: none;
  background: none !important;
  float: none !important;
  clear: both !important;
}

.wp-pagenavi span {
  display: inline-block !important;
  float: none !important;
  clear: both !important;
}

.wp-pagenavi a:hover {
  background: #006400 !important;
  color: #FFF;
}

.wp-pagenavi a.page {
  width: 40px;
  height: 40px;
  display: inline-block !important;
  line-height: 40px;
  margin: 0 2%;
  border-radius: 0px !important;
}

.wp-pagenavi span.current {
  width: 40px;
  height: 40px;
  display: inline-block !important;
  background: #006400 !important;
  color: #FFF;
  line-height: 40px !important;
  margin: 0 2%;
  border-radius: 0px !important;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi span.current {
    line-height: 30px !important;
  }
}
.wp-pagenavi span.pages {
  display: none;
}

.wp-pagenavi .list-top a.page {
  width: auto;
  padding: 0 10px;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  display: inline-block !important;
  width: 100px !important;
  line-height: 1;
  padding: 13px 0;
  height: auto;
  border-radius: 0px !important;
  border: #006400 solid 1px;
  color: #006400;
}

.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
  background: #006400 !important;
  color: #FFF;
  border: #006400 solid 1px;
}

/*-------------------------------------------------------------------------------------------------------*/
/*--  EN   --*/
/*-------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  .ensite .y-list2 h4 {
    font-size: 2.2rem;
  }
  .ensite .modbase .ref p {
    line-height: 1.5;
    font-size: 1.3rem;
  }
  .ensite .dg-map p {
    font-size: 1.2rem;
  }
  .ensite .dg-map .ones.abt3 {
    position: absolute;
    right: 0px;
    top: 502px;
    width: 345px;
  }
  .ensite .his-main table,
  .ensite .his-main table dt,
  .ensite .his-main table dd {
    word-break: normal;
  }
  .ensite .his-main td dt {
    min-width: 120px !important;
    width: 120px !important;
    margin-top: 0.8%;
    font-size: 1.6rem;
  }
}
/*------------------------------------------------------------------------
 * Sustainability modal
/*------------------------------------------------------------------------ */
/* 見出し */
.sus-title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 120px;
  color: #32A0A2;
  padding-left: 110px;
}

.sus-title__icon {
  position: absolute;
  display: inline-block;
  height: 200%;
  top: -50%;
  left: 0;
}

.sus-title__icon--small {
  position: absolute;
  display: inline-block;
  height: 180%;
  top: -50%;
  left: -1%;
}

.sus-title__icon img,
.sus-title__icon--small img {
  width: auto;
  height: 100%;
}

@media screen and (max-width: 936px) {
  .sus-title__icon {
    position: absolute;
    display: inline-block;
    height: 250%;
    top: -90%;
    left: 0;
  }
}
.sus-title__img {
  position: absolute;
  left: 0;
  top: 0;
  width: 80px;
  height: 100%;
}

.sus-title__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.sus-title__en {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 8px;
}

.sus-title__jp {
  font-size: 2rem;
  line-height: 1.4;
}

/* ボタン */
.tile-btns {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: -7px;
  margin-bottom: 60px;
  margin-top: 10px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.tile-btns--environment {
  background-image: url(../images/sustainability/bg-environment.jpeg);
}

.tile-btns--society {
  background-image: url(../images/sustainability/bg-society.jpg);
}

.tile-btns--governance {
  max-width: 846px;
  margin-left: auto;
  margin-right: auto;
  background-image: url(../images/sustainability/box3img4.jpg);
}

.tile-btns .tile-btns__item {
  position: relative;
  font-size: 1.3rem;
  line-height: 1.6;
  border: 7px solid #fff;
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
}

.tile-btns--en .tile-btns__item {
  font-size: 1.8rem;
  line-height: 2;
}

.tile-btns--governance .tile-btns__item {
  min-width: 282px;
}

.tile-btns .tile-btns__item:before {
  content: "";
  display: block;
  padding-top: 100%;
}

.tile-btns .tile-btns__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 2.25rem;
  color: #fff;
  text-decoration: none;
  text-align: center;
  letter-spacing: 2px;
  background-color: rgba(0, 0, 0, 0.3);
}

.tile-btns--society .tile-btns__link {
  background-color: rgba(0, 0, 0, 0.5);
}

.tile-btns--governance .tile-btns__link {
  background-color: rgba(0, 0, 0, 0.4);
}

.tile-btns .tile-btns__link:hover {
  background-color: rgba(0, 0, 0, 0);
}

/* modal */
.mod-sus__inner {
  max-height: 65vh;
  overflow-y: auto;
}

.mod-sus__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mod-sus__img {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 30%;
}

.mod-sus__ttl {
  padding-left: 2rem;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.4;
  color: #0B9698;
  font-family: "Montserrat", sans-serif;
}

.mod-sus__desc {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 1.9;
}

.mod-sus__table {
  margin-top: 2rem;
  border-collapse: collapse;
  font-family: "Montserrat", sans-serif;
}

.mod-sus__table th {
  text-align: center;
  vertical-align: middle;
  color: #006400;
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: 700;
  background: #E5F5F5;
  padding: 12px 0.8rem;
  width: 25%;
}

.mod-sus__table thead th {
  border-bottom-color: #fff;
}

.mod-sus__table td {
  text-align: center;
  vertical-align: middle;
  color: #006400;
  font-size: 2.1rem;
  line-height: 1;
  padding: 12px 0;
  border-bottom: #E5F5F5 solid 1px;
}

.mod-sus__table td.ch {
  font-weight: bold;
}

.mod-sus__table td small {
  font-size: 1.8rem;
  margin-left: 10px;
}

.mod-sus__table td small.smaller {
  display: inline-block;
  margin-top: 0.5em;
  font-size: 1.1rem;
  line-height: 1.3;
  margin-bottom: 0;
}

.mod-sus__table td.mya {
  position: relative;
}

.mod-sus__table td.mya::after {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #006400;
  border-right: 2px solid #006400;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mod-sus__icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 20px;
  text-align: right;
}

.mod-sus__icons img {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 80px;
  margin-left: 10px;
}

@media screen and (max-width: 936px) {
  .tile-btns--governance .tile-btns__item {
    -ms-flex-preferred-size: 33.33%;
    flex-basis: 33.33%;
    min-width: 0;
  }
}
/* SP */
@media screen and (max-width: 767px) {
  .tile-btns .tile-btns__item {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    /* font-size: 1.6rem; */
    min-width: 0;
  }
  .tile-btns--en .tile-btns__item {
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .mod-sus__header {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
  .mod-sus__img {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    height: 100%;
  }
  .mod-sus__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .mod-sus__ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 2rem;
  }
  .ensite .mod-sus__ttl {
    font-size: 1.5rem;
  }
  .ensite .mod-sus__desc {
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .mod-sus__ttl br {
    display: none;
  }
  .mod-sus__table {
    width: 100%;
    border-collapse: collapse;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 20px;
  }
  .mod-sus__table th {
    text-align: center;
    vertical-align: middle;
    color: #006400;
    font-size: 1.1rem;
    line-height: 1.5;
    font-weight: 700;
    background: #E5F5F5;
    padding: 12px 0.8rem;
    width: 25%;
  }
  .mod-sus__table td {
    text-align: center;
    vertical-align: middle;
    color: #006400;
    font-size: 1.2rem;
    line-height: 1;
    padding: 12px 0;
    border-bottom: #E5F5F5 solid 1px;
  }
  .mod-sus__table td.ch {
    font-weight: bold;
  }
  .mod-sus__table td small {
    font-size: 1.2rem;
    margin-left: 10px;
  }
  .mod-sus__table td.mya {
    position: relative;
  }
}
/* large */
@media screen and (min-width: 1110px) {
  .tile-btns:not(.tile-btns--en) .tile-btns__item {
    font-size: 2.25rem;
  }
}
.submainimg#sustainable-inance-bg .inner {
  background: url(../images/sustainable_finance/SustainableFinance.png) top center no-repeat;
  background-size: cover;
}

.submainimg#diversity-inclusion-bg .inner {
  background: url(../images/sustainable_finance/D&I.png) top center no-repeat;
  background-size: cover;
}

.mot--icon {
  padding-left: 90px;
  position: relative;
}

.sus-table {
  width: 100%;
}

.sus-table--large {
  width: 80%;
  margin: 60px auto 0 auto;
}

.sus-table table {
  width: 100%;
}

.sus-table table th,
.sus-table table td {
  text-align: center;
  vertical-align: middle;
  border: 1px solid #fff;
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: 700;
  background: #EEF1F1;
  padding: 5px;
  word-break: normal;
}

.sus-table table .thgreen {
  background-color: #006400;
  color: #fff;
}

.sus-table table .thgray {
  background-color: #7D8D8E;
  color: #fff;
}

.sus-table--large table th,
.sus-table--large table td {
  padding: 20px 5px !important;
}

.sus-table--large br {
  content: "";
  margin-bottom: 10px;
  display: block;
}

.sus-table-blue {
  width: 100%;
}

.sus-table-blue table {
  width: 100%;
}

.sus-table-blue table th {
  text-align: left;
  padding: 12px;
  font-weight: bold;
  background-color: #D7E5F3;
  vertical-align: middle;
  font-size: 1.4rem;
  line-height: 1.2;
  border: 1px solid #333;
}

.sus-table-blue table td {
  text-align: center;
  vertical-align: middle;
  border: 1px solid #333;
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: 700;
  background: #fff;
  padding: 5px;
  word-break: break-all;
}

.sus-table-blue--normal {
  width: 75%;
  margin: 0 auto;
}

.sus-table-blue--small {
  width: 80%;
  margin: 0 auto;
}

.sus-table-blue--small table,
.sus-table-blue--normal table {
  width: 100%;
}

.sus-table-blue--small table th,
.sus-table-blue--normal table th {
  text-align: left;
  padding: 12px;
  font-weight: bold;
  background-color: #D7E5F3;
  vertical-align: middle;
  font-size: 1.4rem;
  line-height: 1.2;
  border: 1px solid #333;
}

.sus-table-blue--small table td,
.sus-table-blue--normal table td {
  text-align: center;
  vertical-align: middle;
  border: 1px solid #333;
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: 700;
  background: #fff;
  padding: 5px;
  word-break: break-all;
}

.sus-both {
  width: 100%;
  display: flex;
}

.sus-both .txt {
  width: 40%;
  padding-right: 5%;
  font-size: 1.6rem;
  line-height: 1.8;
}

.sus-both .sus-table {
  width: 60%;
}

@media screen and (max-width: 767px) {
  .sus-table {
    width: 100%;
    overflow: auto;
  }
  .sus-table table {
    width: 990px !important;
  }
  .sus-table table th,
  .sus-table table td {
    text-align: center;
    vertical-align: middle;
    border: 1px solid #333;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: 700;
    background: #fff;
    padding: 5px;
    word-break: break-all;
  }
  .sus-both {
    width: 100%;
    display: flex;
    flex-flow: column;
  }
  .sus-both .txt {
    width: 100%;
    padding-right: 0%;
    padding-bottom: 5vh;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .sus-both .sus-table {
    width: 100%;
  }
  .sus-table-blue--small,
  .sus-table-blue--normal {
    width: 100%;
  }
  .sus-table-blue table,
  .sus-table-blue--small table,
  .sus-table-blue--normal table {
    width: 590px !important;
  }
}
.diversity-txt {
  display: block;
  font-size: 1.8rem;
  line-height: 1.8;
}

.diversity-txt figure {
  width: 25%;
  float: right;
  padding: 0 0 3% 3%;
  box-sizing: content-box;
}

.diversity-txt span {
  font-weight: bold;
  text-decoration: underline;
}

.diversity-txt br {
  margin-bottom: 15px;
  content: "";
  display: block;
}

.tacks01-total {
  border-bottom: solid;
  padding-bottom: 3px;
}

.underbox02 {
  display: block;
  padding: 0;
}

.abt-map {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  background: #006400;
  color: #fff;
  padding: 20px 30px 20px 20px;
}

.tibox-map {
  display: block;
  border-left: 3px solid #fff;
  padding: 10px 0 10px 20px;
}

.tibox-map h2 {
  display: block;
  font-size: 2.6rem;
  line-height: 1.2;
  color: #FFF;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  margin-bottom: 30px;
  letter-spacing: 1px;
}

.tibox-map-title {
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 30px;
  letter-spacing: 0.3rem;
}

.tibox-map-title span {
  font-size: 4.2rem;
  font-weight: bold;
  padding-left: 40px;
}

.tibox-map-desc {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: -0.1rem;
}

.tibox-map h2::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 70px;
  height: 2px;
  background: #006400;
}

.box-map {
  position: relative;
}

.type-box {
  display: block;
  position: absolute;
  left: 0;
  bottom: 70px;
  z-index: 5;
  background: #d0e2e1;
  color: #879899;
  padding: 20px 30px 20px 20px;
}

.type-box p {
  margin-bottom: 30px;
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: -0.1rem;
  text-align: center;
}

.type-box dl {
  width: 100%;
  margin-top: 20px;
  font-size: 1.8rem;
  display: flex;
  justify-content: space-between;
}

.tacks-map {
  position: relative;
  padding: 50px 0;
}

.tacks-map figure {
  float: right;
  width: 38%;
}

.tacks-map-dl {
  float: right;
  margin-top: -40px;
  padding-right: 20px;
  width: 38%;
}

.tacks-map-dl-desc {
  text-align: right;
  margin-bottom: 30px;
}

.tacks-map-dl dl {
  display: flex;
  margin-bottom: 40px;
  width: 100%;
}

.tacks-map-dl dl dt {
  width: 14%;
  color: #b3bdbe;
  font-size: 1.4rem;
  text-align: center;
  letter-spacing: -0.1rem;
}

.tacks-map-dl dl dd {
  width: 43%;
  color: #20a3a4;
  font-size: 2.8rem;
  margin-left: 20px;
  text-align: right;
}

.tacks-map-dl .small-dd {
  color: #20a3a4;
  font-size: 1.4rem;
}

.tacks-map-dl .xsmall-dd {
  color: #20a3a4;
  font-size: 1.2rem;
  letter-spacing: -0.1rem;
}

@media screen and (max-width: 1080px) {
  .abt-map {
    padding: 15px 20px 15px 15px;
  }
  .tibox-map {
    display: block;
    border-left: 3px solid #fff;
    padding: 10px 0 10px 10px;
  }
  .tibox-map h2 {
    font-size: 2.2rem;
    margin-bottom: 15px;
    letter-spacing: 1px;
  }
  .tibox-map-title {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 20px;
    letter-spacing: 0.3rem;
  }
  .tibox-map-title span {
    font-size: 3rem;
    font-weight: bold;
    padding-left: 20px;
  }
  .tibox-map-desc {
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: -0.1rem;
  }
  .type-box {
    bottom: 70px;
    padding: 20px;
  }
  .type-box p {
    margin-bottom: 30px;
    font-size: 2rem;
  }
  .type-box dl {
    margin-top: 10px;
    font-size: 1.4rem;
  }
  .tacks-map {
    position: relative;
    padding: 30px 0;
  }
  .tacks-map figure {
    float: right;
    width: 38%;
  }
  .tacks-map-dl {
    float: right;
    margin-top: -20px;
    padding-right: 10px;
    width: 40%;
  }
  .tacks-map-dl-desc {
    margin-bottom: 20px;
  }
  .tacks-map-dl dl {
    margin-bottom: 30px;
  }
  .tacks-map-dl dl dt {
    width: 14%;
    font-size: 1.2rem;
  }
  .tacks-map-dl dl dd {
    width: 43%;
    color: #20a3a4;
    font-size: 2.4rem;
    margin-left: 15px;
  }
  .tacks-map-dl .small-dd {
    font-size: 1.4rem;
  }
  .tacks-map-dl .xsmall-dd {
    font-size: 1.2rem;
    letter-spacing: -0.2rem;
  }
}
@media screen and (max-width: 980px) {
  .abt-map {
    padding: 10px;
  }
  .tibox-map {
    display: block;
    border-left: 2px solid #fff;
    padding: 5px 0 5px 5px;
  }
  .tibox-map h2 {
    font-size: 1.8rem;
    margin-bottom: 10px;
    letter-spacing: 1px;
  }
  .tibox-map-title {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 10px;
    letter-spacing: 0.2rem;
  }
  .tibox-map-title span {
    font-size: 2rem;
    font-weight: bold;
    padding-left: 10px;
  }
  .tibox-map-desc {
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: -0.1rem;
  }
  .tacks-map {
    position: relative;
    padding: 30px 0;
  }
  .tacks-map figure {
    float: right;
    width: 38%;
  }
  .tacks-map-dl {
    float: right;
    margin-top: -20px;
    padding-right: 10px;
    width: 40%;
  }
  .tacks-map-dl-desc {
    margin-bottom: 20px;
  }
  .tacks-map-dl dl {
    margin-bottom: 30px;
  }
  .tacks-map-dl dl dt {
    width: 15%;
    font-size: 1rem;
  }
  .tacks-map-dl dl dd {
    width: 46%;
    color: #20a3a4;
    font-size: 1.8rem;
    margin-left: 15px;
  }
  .tacks-map-dl .small-dd {
    font-size: 1.2rem;
  }
  .tacks-map-dl .xsmall-dd {
    font-size: 1rem;
    letter-spacing: -0.1rem;
  }
}
@media screen and (max-width: 768px) {
  .abt-map {
    padding: 10px;
  }
  .tibox-map {
    display: block;
    border-left: 2px solid #fff;
    padding: 5px 0 5px 5px;
  }
  .tibox-map h2 {
    font-size: 1.8rem;
    margin-bottom: 10px;
    letter-spacing: 1px;
  }
  .tibox-map-title {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 10px;
    letter-spacing: 0.2rem;
  }
  .tibox-map-title span {
    font-size: 2rem;
    font-weight: bold;
    padding-left: 10px;
  }
  .tibox-map-desc {
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: -0.1rem;
  }
  .tacks-map {
    position: relative;
    padding: 30px 0;
  }
  .tacks-map figure {
    float: right;
    width: 38%;
  }
  .tacks-map-dl {
    float: right;
    margin-top: -20px;
    padding-right: 10px;
    width: 40%;
  }
  .tacks-map-dl-desc {
    margin-bottom: 20px;
  }
  .tacks-map-dl dl {
    margin-bottom: 30px;
  }
  .tacks-map-dl dl dt {
    width: 15%;
    font-size: 1rem;
  }
  .tacks-map-dl dl dd {
    width: 46%;
    color: #20a3a4;
    font-size: 1.8rem;
    margin-left: 15px;
  }
  .tacks-map-dl .small-dd {
    font-size: 1.2rem;
  }
  .tacks-map-dl .xsmall-dd {
    font-size: 1rem;
    letter-spacing: -0.1rem;
  }
}
.file-upload-btn[type=file] {
  display: none !important;
}

.entry-form-flex-dd {
  display: flex !important;
  align-items: flex-start;
}

.entry-form-flex-dd .mwform-file-delete {
  display: none;
}

.entry-form-flex-dd p {
  margin-bottom: 10px;
}

.entry-form-flex-dd .mw_wp_form .error {
  padding: 3px 0 0 0 !important;
}

.entry-form-flex-dd .mw-wp-form_file {
  margin-bottom: 10px;
}

.js-upload-btn {
  padding: 15px 55px;
  margin: 0 30px 0 0;
  color: #FFF;
  border: none;
  font-size: 2rem;
  background: #006400;
  line-height: 1.3;
  cursor: pointer;
  display: inline-block;
  border-radius: 10px;
}

.js-upload-filename {
  padding: 15px 25px;
  margin: 0 20px 10px 0;
  min-width: 250px;
  border: none;
  line-height: 1.3;
  display: inline-block;
  border: 1px solid #333;
  text-align: left;
}

.mw_wp_form_confirm .entry-form-flex-dd p,
.mw_wp_form_confirm .entry-form-flex-dd .js-upload-btn,
.mw_wp_form_confirm .entry-form-flex-dd .js-upload-filename {
  display: none;
}

.entry-form-flex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.entry-form-flex dl {
  width: 45%;
}

.entry-form-flex dl dd {
  margin-bottom: 0;
}

.entry-form-flex-small {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.entry-form-flex-small--mt {
  margin-top: 20px;
}

.entry-form-flex-small dl {
  width: 30%;
}

.entry-form-flex-small dl dd {
  margin-bottom: 0;
}

.non-ml {
  margin-left: 0 !important;
}

@media screen and (max-width: 768px) {
  .entry-form-flex {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    margin-bottom: 0px;
  }
  .entry-form-flex dl {
    width: 100%;
    margin-bottom: 20px;
  }
  .entry-form-flex-dd {
    display: flex !important;
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 0px !important;
  }
  .entry-form-flex-dd .mwform-file-delete {
    display: none;
  }
  .entry-form-flex-dd p {
    margin-bottom: 20px;
  }
  .entry-form-flex-dd p.none {
    display: none;
  }
  .entry-form-flex-dd div {
    margin-bottom: 0px;
  }
  .entry-form-flex-dd .mw_wp_form .error {
    padding: 3px 0 0 0 !important;
  }
  .entry-form-flex-dd .mw-wp-form_file {
    margin-bottom: 10px;
  }
  .entry-form-flex-small {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    margin-bottom: 0px;
  }
  .entry-form-flex-small--mt {
    margin-top: 20px;
  }
  .entry-form-flex-small dl {
    width: 100%;
    margin-bottom: 20px;
  }
  .entry-form-flex-small dl dd {
    margin-bottom: 0;
  }
}
.bold {
  font-weight: bold;
}

.mgt50 {
  margin-top: 50px;
}

.susp {
  font-size: 1.3em;
}

.susp_ex {
  width: 100%;
  padding-left: 2vw;
}

/*------------------------------------------------------------------------
 * GPSSの働き方
/*------------------------------------------------------------------------ */
@media screen and (min-width: 768px) {
  .grafs-box-mh-p {
    font-size: 3em;
    font-weight: 600;
    color: #006400;
    text-align: right;
  }
}
@media screen and (max-width: 768px) {
  .grafs-box-mh-p {
    font-size: 2em;
    font-weight: 600;
    color: #006400;
    text-align: right;
  }
}
/*------------------------------------------------------------------------
 * Careerページ
/*------------------------------------------------------------------------ */
@media screen and (min-width: 768px) {
  .cr-icn {
    content: "";
    background-repeat: no-repeat;
    background-size: 2em;
    display: flex !important;
    align-items: center;
    height: 2em;
    padding-left: 7%;
  }
}
.cr-icn01 {
  background-image: url(../images/recruiting/icon_01.png);
}

.cr-icn02 {
  background-image: url(../images/recruiting/icon_02.png);
}

.cr-icn03 {
  background-image: url(../images/recruiting/icon_03.png);
}

.cr-icn04 {
  background-image: url(../images/recruiting/icon_04.png);
}

.cr-icn05 {
  background-image: url(../images/recruiting/icon_05.png);
}

/*------------------------------------------------------------------------
 * 様々なワークスタイル
/*------------------------------------------------------------------------ */
@media screen and (min-width: 768px) {
  .top-text {
    display: block;
    text-align: center;
    padding: 20px 0 20px 0;
  }
  .top-text .fix-1200 {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
  .top-text p {
    display: block;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.9;
    color: #5B6770;
    margin-bottom: 50px;
  }
  .sc-list {
    display: block;
  }
  .sc-list ul {
    width: 100%;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
  }
  .sc-list li {
    width: 24%;
    margin-bottom: 50px;
    font-family: "Montserrat", sans-serif;
  }
  .sc-list li img {
    max-width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (min-width: 768px) {
  .sc-list2 {
    display: block;
  }
  .sc-list2 ul {
    width: 100%;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
  }
  .sc-list2 li {
    display: flex;
    justify-content: center;
    width: 20%;
    margin-bottom: 50px;
    font-family: "Montserrat", sans-serif;
  }
  .sc-list2 li img {
    max-width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (min-width: 768px) {
  .sc-list3 {
    display: block;
  }
  .sc-list3 ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
  }
  .sc-list3 li {
    display: flex;
    justify-content: center;
    width: 33%;
    margin-bottom: 50px;
    font-family: "Montserrat", sans-serif;
  }
  .sc-list3 li img {
    max-width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (min-width: 880px) {
  .modbase2 {
    background: none repeat scroll 0 0 #FFFFFF;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
    /* display: none; */
    padding: 45px 0px 0px 0px;
    max-width: 880px;
    width: 100%;
    background-color: #006400;
  }
  .modbase2 .wr {
    overflow: scroll;
    height: 480px;
    padding-bottom: 100px;
  }
  .modbase2 .wr .lef {
    display: block;
    float: left;
    width: 100%;
  }
  .modbase2 .wr .lef p {
    color: #fff;
  }
  .modbase2 .wr .lef figure {
    margin-bottom: 0px;
  }
  .ca-icn {
    content: "";
    background-repeat: no-repeat;
    background-size: 110px;
    display: flex !important;
    align-items: center;
    height: 110px;
    padding-left: 13%;
    border-radius: 50%;
    max-width: 110px;
  }
  .ca-li {
    display: flex;
    list-style: none;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 10px;
  }
  .ca-li p {
    text-align: left;
    font-size: 1.7em !important;
    font-weight: 600;
    margin: 0 75px 20px 25px;
  }
}
.ca-icn01 {
  background-image: url(../images/recruiting/working/icon1.jpg);
}

.ca-icn02 {
  background-image: url(../images/recruiting/working/icon2.jpg);
}

.ca-icn03 {
  background-image: url(../images/recruiting/working/icon3.jpg);
}

.ca-icn04 {
  background-image: url(../images/recruiting/working/icon4.jpg);
}

.ca-icn05 {
  background-image: url(../images/recruiting/working/icon5.jpg);
}

.ca-icn06 {
  background-image: url(../images/recruiting/working/icon6.jpg);
}

.ca-icn07 {
  background-image: url(../images/recruiting/working/icon7.jpg);
}

.ca-icn08 {
  background-image: url(../images/recruiting/working/icon8.jpg);
}

@media screen and (min-width: 768px) {
  .modbase3 {
    background: none repeat scroll 0 0 #FFFFFF;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
    display: none;
    padding: 55px 45px;
    width: 760px;
  }
  .modbase3 .wr {
    display: block;
    font-weight: bold;
  }
  .modbase3 .wr .lef {
    display: block;
    float: left;
    width: 27%;
  }
  .modbase3 .wr .lef figure {
    display: block;
    margin-bottom: 30px;
  }
  .modbase3 .wr .lef figure img {
    width: 100%;
  }
  .modbase3 .wr .lef small {
    display: block;
    font-size: 1.6rem;
    line-height: 1;
    color: #0B9698;
    font-weight: 500;
    border-bottom: #0B9698 solid 2px;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
  .modbase3 .wr .lef h4 {
    display: block;
    color: #0B9698;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 25px;
  }
  .modbase3 .wr .lef p {
    display: block;
    color: #0B9698;
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 30px;
  }
  .modbase3 .wr .ref {
    display: block;
    float: right;
    width: 68%;
    overflow-y: auto;
    max-height: 440px;
  }
  .modbase3 .wr .ref h4 {
    display: block;
    color: #0B9698;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 25px;
  }
  .modbase3 .wr .ref p {
    display: block;
    font-size: 1.5rem;
    line-height: 1.7;
    margin-bottom: 30px;
  }
  .modbase3 .wr .ref ul {
    display: block;
    margin-left: 14px;
  }
  .modbase3 .wr .ref li {
    margin-bottom: 3px;
    list-style-type: disc;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .sus-tr {
    height: 100px;
    line-height: 20px;
  }
  .sus-p {
    font-size: 1.2em;
  }
  .sus-ri {
    display: inline-block;
    text-align: right;
    font-weight: bold;
  }
}
@media screen and (min-width: 768px) {
  .soc {
    padding-top: 30px;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .soc2 {
    margin-left: 10px;
  }
  .soc-cf {
    display: flex;
    width: 100%;
  }
  .soc-ul {
    display: flex;
    width: 100%;
    justify-content: space-between;
  }
  .soc3 {
    width: 30%;
    padding-left: 10px;
  }
  .soc4 {
    font-weight: 600;
    font-size: 1.6rem;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .soc5 {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.8;
  }
  .soc-a {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.8;
  }
  .content-padding {
    padding-top: 200px;
  }
  .top-catch-movie {
    width: 100%;
    display: block;
    position: unset;
    text-align: center;
    padding: 80px 0;
    background-color: #0b9698;
  }
  .top-catch-movie p {
    display: block;
    text-align: center;
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 600;
    line-height: 1.9;
    color: #ffffff;
    margin: 0 auto;
    padding-bottom: 40px;
  }
  .top-catch-movie p b {
    font-size: clamp(20px, 2.2vw, 33px);
    color: #ffffff;
  }
}
/*サステナブルファイナンスレポート用*/
.spt {
  padding-top: 30px;
}

.fix-1100 .fin-tit {
  color: #5B6770;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.9;
}

.fix-1100 .fin-tb col {
  width: 33%;
}

.fix-1100 .fin-tb tbody {
  height: 150px;
}

.fix-1100 .fin-tb th {
  background-color: #D7E5F3;
  border: 1px solid #000;
}

.fix-1100 .fin-tb td {
  background-color: #fff;
  border: 1px solid #000;
}

.spt p {
  font-size: 1.3rem;
}

/*グループ情報ページ用*/
.top-catch2 {
  position: unset;
}

.top-catch2 p {
  color: #0e9598;
}

/*地球に与えるポジティブな影響用*/
.global-posi {
  max-width: 1000px;
  margin: 40px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.card {
  flex: 1;
  min-width: 340px;
  display: flex;
  flex-direction: column;
  border: 3px solid #e0f2f1;
  border-radius: 30px;
  margin: 10px;
}

/* 上部のコンテンツエリア：下側の角も丸く設定 */
.card-content {
  background-color: #e0f2f1;
  padding: 20px 30px 0;
  border-radius: 24px; /* 全ての角を丸く */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  flex-grow: 1;
  z-index: 999;
}

.card-content_en {
  background-color: #e0f2f1;
  padding: 20px 30px 0;
  border-radius: 24px; /* 全ての角を丸く */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  flex-grow: 1;
  z-index: 999;
}

.card-content h3 {
  font-family: "Montserrat", sans-serif;
  color: #006400;
  font-size: 2.8rem;
  font-weight: 700;
  margin: 20px 0 40px 0;
  line-height: 1;
}

.card-content_en h3 {
  font-family: "Montserrat", sans-serif;
  color: #006400;
  font-size: 2.8rem;
  font-weight: 700;
  margin: 20px 0 10px 0;
  line-height: 1;
  height: 90px;
}

.stat-group {
  padding-bottom: 15px;
  margin-bottom: 30px;
}

.stat-group_b {
  border-bottom: 1px solid #333;
}

.label {
  display: flex;
  flex-direction: column;
  margin-bottom: 5px;
  line-height: 1.2;
}

.main-label {
  font-weight: bold;
  font-size: 1.8rem;
  color: #5B6770;
}

.sub-text {
  font-size: 1.8rem;
  color: #5B6770;
  font-weight: 600;
}

.value-row {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
}

.value {
  font-family: "Montserrat", sans-serif;
  font-size: 3.4rem;
  font-weight: 800;
  color: #006400;
  margin-right: 8px;
  padding-top: 10px;
  height: 40px;
}

/* 下部の比較エリア：こちらも独立した角丸ボックスにする */
.comparison-box {
  background-color: #ffffff;
  padding: 30px 20px;
  border-radius: 0 0 30px 30px;
  display: flex;
  align-items: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  min-height: 150px;
}

.comparison-box img {
  height: 150px;
}

.icon {
  width: 55px;
  height: 55px;
  flex-shrink: 0;
  fill: var(--accent-color);
}

.comparison-text {
  font-size: 1.8rem;
  font-weight: bold;
  color: #006400;
  line-height: 1.6;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .card {
    min-width: 100%;
  }
  .card-content {
    padding: 30px 25px;
  }
  .comparison-box {
    padding: 25px;
  }
}
@media screen and (min-width: 768px) {
  .pt100 {
    padding-top: 100px;
  }
  .dev-top {
    width: 100%;
    display: flex;
    flex-flow: column;
    align-items: center;
    background: url(../images/mv.jpg) no-repeat center;
    background-size: cover;
    padding: 160px 0;
    margin-bottom: 100px;
  }
  .dev-top__title {
    font-size: 3.8rem;
    line-height: 3.8rem;
    color: #fff;
    margin-bottom: 40px;
    font-weight: 700;
  }
  .dev-top__text {
    font-size: 1.8rem;
    line-height: 2.4rem;
    color: #006400;
    margin-bottom: 20px;
    font-weight: 700;
    text-align: center;
  }
  .dev-top__text--small {
    font-size: 1.4rem;
    line-height: 1.4rem;
  }
  .dev-top__text--white {
    color: #fff;
  }
  .dev-top__link {
    width: 460px;
    height: 80px;
    color: #FFF;
    border: none;
    font-size: 1.8rem;
    line-height: 1.8;
    cursor: pointer;
    color: #fff !important;
    border: 5px solid #fff;
    text-decoration: none !important;
    padding: 20px 40px;
    text-align: center;
    display: inline-block;
    margin: 40px 0;
    border-radius: 50px;
  }
  .dev_news {
    background-color: #F2F2F2;
    padding: 60px;
    margin-bottom: 100px;
  }
  .dev_news__title {
    font-size: 3.8rem;
    line-height: 3.8rem;
    color: #006400;
    margin-bottom: 40px;
    font-weight: 700;
  }
  .dev_news__list {
    width: 100%;
    display: flex;
    gap: 20px;
    flex-flow: column;
    margin-left: 20px;
    max-height: 150px;
    overflow-y: auto;
  }
  .dev_news__list__item {
    display: block;
    width: 100%;
  }
  .dev_news__list__item a {
    font-size: 1.6rem;
    line-height: 1.6rem;
    text-decoration: none !important;
  }
  .dev_news__list__item a:hover {
    text-decoration: none !important;
    color: #006400 !important;
  }
  .dev_business {
    background-color: #F2F2F2;
    padding: 60px;
    margin-bottom: 100px;
  }
  .dev_business__title {
    font-size: 3.8rem;
    line-height: 3.8rem;
    color: #006400;
    margin-bottom: 40px;
    font-weight: 700;
  }
  .dev_business__content {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  .dev_business__text {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .dev_business__text__string {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-bottom: 60px;
  }
  .dev_business__text__btn {
    display: flex;
  }
  .dev_business__text__btn a {
    color: #FFF;
    border: none;
    font-size: 1.8rem;
    line-height: 1.8;
    font-weight: bold;
    background: #006400;
    cursor: pointer;
    color: #fff !important;
    text-decoration: none !important;
    padding: 20px 40px;
    text-align: center;
    display: inline-block;
  }
  .dev_business__images {
    display: flex;
    flex-wrap: wrap;
    width: 45%;
  }
  .dev_business__images {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 38%;
    min-width: 280px;
    height: 100%;
  }
  .dev_business__images__img {
    width: 48%;
  }
  .dev_business__images__img img {
    max-width: 100%;
  }
  .dev_company {
    background-color: #F2F2F2;
    padding: 60px;
  }
  .dev_company__title {
    font-size: 3.8rem;
    line-height: 3.8rem;
    color: #006400;
    margin-bottom: 40px;
    font-weight: 700;
  }
  .dev_company__content {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  .dev_company__text {
    width: 50%;
    display: flex;
    flex-direction: column;
    border-top: 1px solid #ccc;
  }
  .dev_company__item {
    font-size: 1.6rem;
    line-height: 2.4rem;
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex;
    border-bottom: 1px solid #ccc;
  }
  .dev_company__term {
    width: 20%;
    color: #006400;
  }
  .dev_company__images {
    display: flex;
    flex-wrap: wrap;
    width: 45%;
  }
  .dev_company__images {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 38%;
    min-width: 280px;
    height: 100%;
  }
  .dev_company__images__img {
    width: 100%;
  }
  .dev_company__images__img img {
    max-width: 100%;
  }
}
.card--normal {
  border-radius: 0 !important;
}

/*=================================
	media screen
===================================*/
@media screen and (max-width: 549px) {
  img {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 56.5%;
  }
  body {
    width: 100%;
    min-width: 100%;
    position: relative;
  }
  .sp-none {
    display: none !important;
  }
}
@media screen and (max-width: 979px) {
  /* HEADER
  -------------------------*/
  header {
    margin: 0 auto;
    z-index: 2100;
    width: 100%;
    height: 60px;
    position: fixed;
    left: 0;
    top: 0px;
    background: #FFF;
    font-size: 56.5%;
  }
  header h1 {
    display: block;
    z-index: 500;
    float: left;
    width: 130px;
    padding: 0 0 0 0;
  }
  header h1 img {
    width: 100%;
  }
  header h1 a {
    text-decoration: none !important;
    color: #FFF !important;
  }
  .fix-nav {
    display: none;
  }
  header .ref {
    display: none;
  }
}
/*  SP-NAV
-------------------------*/
@media screen and (max-width: 979px) {
  .menu-container {
    margin: 0 auto;
    float: right;
  }
  .menu > ul {
    margin: 0 auto;
    width: 100%;
    list-style: none;
    padding: 0;
    gap: 20px;
    display: flex;
    justify-content: space-between;
    /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
    box-sizing: border-box;
  }
  .menu > ul:before,
  .menu > ul:after {
    display: none;
  }
  .menu > ul:after {
    clear: both;
  }
  .menu > ul > li {
    float: left;
    margin: 0;
    position: relative;
    word-break: normal;
  }
  .menu > ul > li a {
    text-decoration: none;
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    color: #006400;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: 1px;
  }
  .menu > ul > li a:hover {
    opacity: 1;
  }
  .menu > ul > li a:hover::after,
  .menu > ul > li.current a::after {
    position: absolute;
    left: 35px;
    bottom: 0;
    content: "";
    width: 50%;
    height: 5px;
    background: #006400;
    z-index: 10;
  }
  .menu > ul > li.gnv1 a:hover::after {
    display: none;
  }
  .menu > ul > li.gnv2 a:hover::after {
    width: 30%;
  }
  .menu > ul > li > ul {
    display: none;
    width: 90%;
    background: #FFF;
    padding: 20px 25px 10px 25px;
    position: absolute;
    z-index: 1;
    left: 35px;
    top: 96px;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
  }
  .menu > ul > li > ul.nv1 {
    min-width: 340px;
  }
  .menu > ul > li > ul.nv2 {
    min-width: 220px;
  }
  .menu > ul > li > ul.nv3 {
    min-width: 250px;
  }
  .menu > ul > li > ul.nv4 {
    min-width: 230px;
  }
  .menu > ul > li > ul.nv5 {
    min-width: 280px;
  }
  .menu > ul > li > ul.nv1.en {
    min-width: 480px;
  }
  .menu > ul > li > ul.nv2.en {
    min-width: 240px;
  }
  .menu > ul > li > ul.nv3.en {
    min-width: 380px;
  }
  .menu > ul > li > ul.nv4.en {
    min-width: 270px;
  }
  .menu > ul > li > ul:before,
  .menu > ul > li > ul:after {
    content: "";
    display: table;
  }
  .menu > ul > li > ul::before {
    position: absolute;
    left: 0px;
    top: -5px;
    content: "";
    width: 52%;
    height: 5px;
    background: #006400;
    z-index: 10;
  }
  .menu > ul > li > ul:after {
    clear: both;
  }
  .mebt {
    position: fixed;
    right: 10px;
    top: 5px;
    z-index: 2000;
    width: 45px;
    height: 45px;
  }
  .menu-trigger,
  .menu-trigger.active,
  .menu-trigger:hover {
    position: relative;
    width: 45px;
    height: 50px;
    z-index: 2000;
    display: block;
    cursor: pointer;
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  .menu-trigger span {
    position: absolute;
    background: #006400;
    width: 20px;
    height: 2px;
    left: 0;
    right: 0;
    padding: 0 !important;
    margin: auto;
    z-index: 2000;
    border-radius: 4px;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 14px;
  }
  .menu-trigger span:nth-of-type(2) {
    top: -4px;
    bottom: 0;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 18px;
  }
  .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
    background: #006400;
    top: 11px;
  }
  .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
    background: #006400;
  }
  .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
    background: #006400;
    bottom: 19px;
  }
  .menu-trigger.active span:nth-of-type(3)::after {
    display: none;
  }
  nav.downs {
    display: none;
    position: fixed;
    top: 0px;
    background: #006400;
    width: 100vw;
    height: 100vh;
    font-family: "Noto Serif JP", sans-serif;
    z-index: 99999;
  }
  nav.downs .inner {
    height: 90vh;
    overflow: auto;
  }
  nav.downs .lef {
    width: 100%;
    margin: 0 auto;
    padding-top: 60px;
  }
  nav.downs li {
    display: block;
  }
  nav.downs li a {
    display: block;
    text-align: left;
    padding: 15px 6% 15px 6%;
    cursor: pointer;
    text-decoration: none;
    border-bottom: #525374 solid 1px;
    color: #FFF;
    font-size: 1.6rem;
    position: relative;
    z-index: 2000;
    letter-spacing: 2px;
  }
  nav.downs p {
    display: block;
    margin-left: 4%;
    margin-right: 4%;
    margin-top: 14px;
  }
  nav.downs p a {
    display: block;
    text-align: center;
    color: #FFF;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 1px;
    font-size: 14px;
    padding: 13px 23px 13px 23px;
    background: #1A1A2C;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  nav.downs p span {
    display: inline-block;
    position: relative;
    background: url(../images/mainico.svg) left top 3px no-repeat;
    background-size: 16px auto;
    line-height: 100%;
    padding: 0 0 0 0px;
  }
  .fix-nav {
    display: none;
  }
  .clb {
    display: block;
    height: 70vh;
    overflow: auto;
  }
  .clb a {
    position: absolute;
    right: 30px;
    bottom: 16%;
    font-size: 40px;
    color: #FFF;
    text-decoration: none;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  }
  .langssp {
    display: block;
    padding: 20 0;
  }
  .langssp ul {
    display: flex;
  }
  .langssp li {
    display: block;
    /* float: left; */
    width: 50%;
  }
  .langssp li a {
    display: block;
    background: #FFF;
    font-size: 1.5rem;
    line-height: 1;
    text-decoration: none;
    padding: 20px 0;
  }
  .langssp li:nth-child(1) a {
    border-radius: 3px 0 0 3px;
    text-align: center;
    color: #bcbcbc;
  }
  .langssp li:nth-child(2) a {
    border-radius: 0 3px 3px 0;
    text-align: center;
    color: #bcbcbc;
  }
  .langssp a.current_language {
    color: #FFF;
    background: #08082d;
  }
  .acd-check {
    display: none;
  }
  .acd-label {
    display: block;
    text-align: left;
    padding: 15px 6% 15px 6%;
    cursor: pointer;
    text-decoration: none;
    border-bottom: #525374 solid 1px;
    color: #FFF;
    font-size: 1.6rem;
    position: relative;
    z-index: 2000;
    letter-spacing: 2px;
  }
  .acd-label::after {
    position: absolute;
    right: 23px;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 3px;
    height: 15px;
    background: #FFF;
  }
  .acd-label::before {
    position: absolute;
    right: 17px;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 15px;
    height: 3px;
    background: #FFF;
  }
  .acd-content {
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: 0.5s;
    visibility: hidden;
  }
  .acd-check:checked + .acd-label::after {
    display: none;
  }
  .acd-check:checked + .acd-label + .acd-content {
    height: auto;
    opacity: 1;
    padding: 10px;
    visibility: visible;
  }
}
/*=============================
	HEADEr-FIX
===============================*/
@media screen and (max-width: 767px) {
  .header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header .inner {
    width: 100%;
    padding: 0 4% 0 3%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header .inner:before,
  .header .inner:after {
    display: none;
  }
  .header-fix {
    display: none !important;
  }
  .header-fix.fix-h {
    display: none !important;
  }
}
/* TOPMAINIMG
-------------------------*/
@media screen and (max-width: 767px) {
  .topmain-wrap {
    display: block;
    width: 100%;
    overflow: hidden;
    position: relative;
    z-index: 10;
    top: 60px;
    height: 828px;
    background-image: url(../images/top_image.png);
    background-position: center;
    background-size: cover;
  }
  .topmain-wrap .inner {
    position: relative;
    background: url(../images/mainimg.jpg) top center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
  }
  .topmain-wrap .maintxt {
    position: absolute;
    top: 23%;
    left: 0;
    width: 100%;
    z-index: 20;
  }
  .topmain-wrap .maintxt figure {
    display: block;
    text-align: center;
    margin-bottom: 45px;
  }
  .topmain-wrap .maintxt figure img {
    max-width: 220px;
    display: inline-block;
  }
  .topmain-wrap .maintxt h2 {
    display: block;
    text-align: center;
    color: #879899;
    font-size: 1.6rem;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 1px;
  }
  .topmain-wrap .maintxt h2 strong {
    color: #006400;
    font-size: 2.4rem;
    font-weight: 700;
  }
  .topmain-wrap p {
    display: block;
    width: 100%;
    text-align: center;
  }
  .topmain-wrap p a {
    display: block;
    overflow: hidden;
    text-indent: -9999px;
    position: relative;
    width: 40px;
    height: 57px;
    margin-left: auto;
    margin-right: auto;
  }
  .topmain-wrap p a::after {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    content: "";
    width: 24px;
    height: 24px;
    border-bottom: 3px solid #FFF;
    border-right: 3px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
/* TOP-CATCH
-------------------------*/
@media screen and (max-width: 767px) {
  .sp_none {
    display: none !important;
  }
  .top-catch {
    display: block;
    position: absolute;
    z-index: 1000;
    bottom: 100px;
    width: 100%;
    text-align: center;
  }
  .top-catch-en {
    bottom: 30px;
  }
  .top-catch h2 {
    display: block;
    text-align: center;
    color: #006400;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 17px;
  }
  .top-catch p {
    display: block;
    text-align: center;
    font-size: clamp(11px, 1.2vw, 18px);
    font-weight: 600;
    line-height: 1.9;
    color: #ffffff;
    margin: 0 auto;
    padding-bottom: 40px;
  }
  .top-catch p b {
    font-size: clamp(16px, 1.5vw, 22px);
    color: #ffffff;
  }
  .top-catch p b.black {
    font-size: clamp(18px, 1.7vw, 24px);
    color: #333;
    padding-bottom: 10px;
    border-bottom: 1px solid #fff;
  }
  .top-catch p strong {
    color: #006400;
    font-weight: 600;
  }
  .btn01 {
    display: block;
  }
  .btn01 a {
    display: block;
    text-align: center;
    position: relative;
    color: #0e9598;
    font-weight: bold;
    text-decoration: none;
    font-size: 1.4rem;
    line-height: 1;
    background: #fff;
    padding: 14px 0;
  }
  .btn01 a b {
    display: inline-block;
    position: relative;
    z-index: 5;
  }
  .btn01 a::before {
    top: 0;
    bottom: 0;
    position: absolute;
    margin: auto;
    content: "";
    right: 14px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #0e9598;
    border-right: 2px solid #0e9598;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .top-catch .btn01 {
    margin-left: auto;
    margin-right: auto;
    width: 200px;
  }
  .topmain-border {
    position: absolute;
    display: flex;
    width: 100%;
    height: 100px;
    top: 100px;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.7098039216);
    animation: topmain-border 3s;
  }
  @keyframes topmain-border {
    0% {
      transform: translateY(-30px);
    }
    100% {
      transform: translateY(0);
    }
  }
  .topmain-logo {
    margin: 0 auto;
  }
  .topmain-logo img {
    width: 240px;
    opacity: 0;
    animation-name: fadeIn;
    animation-duration: 2s;
    animation-fill-mode: both;
    animation-delay: 2s;
  }
}
/* TOP-BOX01
-------------------------*/
@media screen and (max-width: 767px) {
  .topbox01 {
    display: block;
    position: relative;
    padding: 35px 0 40px 0;
  }
  .topbox01::after {
    position: absolute;
    right: 0;
    top: 0;
    width: 90%;
    height: 94.16%;
    content: "";
    z-index: -1;
    background: #F2F2F2;
  }
  .fix-1000 {
    margin-left: 4%;
    margin-right: 4%;
  }
  .topbox01 .fix-1000 {
    position: relative;
    z-index: 5;
  }
  .tibox01 {
    display: block;
    margin-bottom: 25px;
  }
  .tibox01 h2 {
    display: block;
    position: relative;
    font-size: 3rem;
    line-height: 1.2;
    color: #006400;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    padding: 14px 0 7px 0;
    letter-spacing: 1px;
  }
  .tibox01 h2::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 70px;
    height: 2px;
    background: #006400;
  }
  .tibox01 p {
    display: block;
    font-weight: bold;
    line-height: 1.2;
    color: #5B6770;
    font-size: 2rem;
  }
  .info-list {
    display: block;
  }
  .info-list li {
    display: block;
    margin-bottom: 20px;
  }
  .info-list figure {
    display: block;
    border: #CCCCCC solid 1px;
    margin-bottom: 14px;
  }
  .info-list figure img {
    width: 100%;
  }
  .info-list .txt {
    display: block;
  }
  .info-list dl {
    display: block;
  }
  .info-list dt {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1;
    color: #FFF;
    background: #006400;
    padding: 6px 10px;
    margin-bottom: 14px;
    margin-right: 10px;
  }
  .info-list dd {
    display: block;
    font-size: 1.4rem;
    line-height: 1;
    color: #006400;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    margin-bottom: 10px;
  }
  .info-list p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .info-list p a {
    text-decoration: none;
    color: #5B6770;
  }
  .info-list p a:hover {
    text-decoration: underline;
  }
  .topbox01 .btn01 {
    max-width: 220px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
  }
}
/* TOP-BOX02
-------------------------*/
@media screen and (max-width: 767px) {
  .topbox02 {
    position: relative;
    display: block;
    background: #F2F2F2;
    padding: 35px 0;
  }
  .topbox02 img {
    max-width: 100%;
  }
  .fix-1100 {
    margin-left: 4%;
    margin-right: 4%;
  }
  .fix-1100 .inner-top {
    display: flex;
  }
  .fix-1100 .inner-top .fl-r {
    width: 50%;
    object-fit: cover;
  }
  .topbox02 .fix-1100 {
    position: relative;
    background: #FFF;
    padding-bottom: 30px;
    margin-left: 0;
    margin-right: 0;
  }
  .topbox02 .box01 {
    display: block;
    position: relative;
    margin-bottom: 10%;
    padding: 30px 0 100px 0;
  }
  .topbox02 .inn {
    position: absolute;
  }
  .abt-ti {
    display: block;
    z-index: 5;
    background: #006400;
    padding: 20px 20px;
  }
  .abt_img {
    width: 1.2rem;
    margin-right: 7px;
    vertical-align: text-bottom;
  }
  .abt-ti .tibox01 {
    max-width: 55%;
  }
  .abt-ti .tibox01 h2 {
    color: #FFF;
    padding-bottom: 35px;
  }
  .abt-ti .tibox01 h2::before {
    background: #FFF;
  }
  .abt-ti .tibox01 p {
    color: #FFF;
  }
  .topbox02 .box01 figure {
    display: block;
    text-align: center;
  }
  .topbox02 .box01 figure img {
    display: block;
    max-width: 80%;
    padding-bottom: 7%;
    margin: 0 auto;
  }
  .topbox02 .box01 {
    background: #006400;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 30px;
  }
  .topbox02 .box01 .tibox01.cl3 {
    width: fit-content;
    margin: 0 auto;
    color: #fff;
  }
  .topbox02 .box01 .tibox01.cl3 .subttl {
    font-size: 1.6rem;
    line-height: 1.6rem;
    color: #fff !important;
    font-weight: normal !important;
    margin-bottom: 20px;
  }
  .topbox02 .box01 .tibox01.cl3 .content {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .topbox02 .box01 .tibox01.cl3 .ttl {
    font-size: 4.5rem !important;
    line-height: 4.5rem !important;
    font-weight: bold !important;
    margin-left: 20px;
    margin-bottom: 20px;
    color: #fff !important;
  }
  .topbox02 .box01 .tibox01.cl3 .ttl.right {
    margin-left: 0px;
  }
  .topbox02 .box01 .tibox01.cl3 .ttl span {
    font-size: 1.8rem !important;
    line-height: 1.8rem !important;
    font-weight: bold !important;
  }
  .topbox02 .box01 .tibox01.cl3 .date {
    font-size: 1.4rem !important;
    line-height: 1.4rem !important;
    color: #fff !important;
    font-weight: normal !important;
    margin-left: 20px;
  }
  .topbox02 .box01 .tibox01.cl3 .date.right {
    text-align: right;
  }
  .topbox02 .box01 .tibox01.cl2 h2 {
    color: #fff;
    display: block;
    position: relative;
    font-size: 3.6rem;
    line-height: 1.2;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    padding: 20px 0 10px 0;
    letter-spacing: 1px;
  }
  .topbox02 .box01 .tibox01.cl2 h2:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 70px;
    height: 2px;
    background: #fff;
  }
  .topbox02 .box01 .tibox01.cl2 p {
    color: #fff;
    display: block;
    font-weight: bold;
    line-height: 1.2;
    font-size: 2.4rem;
  }
  .tp2-ex.m99 {
    background: #006400;
  }
  .tp2-in .box01.m99 {
    background: #006400;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 30px;
  }
  .tp2-in .box01.m99 .tibox01.cl3 {
    width: fit-content;
    margin: 0 auto;
    color: #fff;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .subttl {
    font-size: 1.6rem;
    line-height: 1.6rem;
    color: #fff !important;
    font-weight: normal !important;
    margin-bottom: 20px;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .content {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .ttl {
    font-size: 4.5rem !important;
    line-height: 4.5rem !important;
    font-weight: bold !important;
    margin-left: 20px;
    margin-bottom: 20px;
    color: #fff !important;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .ttl.right {
    margin-left: 0px;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .ttl span {
    font-size: 1.8rem !important;
    line-height: 1.8rem !important;
    font-weight: bold !important;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .date {
    font-size: 1.4rem !important;
    line-height: 1.4rem !important;
    color: #fff !important;
    font-weight: normal !important;
    margin-left: 20px;
  }
  .tp2-in .box01.m99 .tibox01.cl3 .date.right {
    text-align: right;
  }
  .tp2-in .box01.m99 .tibox01.cl2 h2 {
    color: #fff;
    display: block;
    position: relative;
    font-size: 3.6rem;
    line-height: 1.2;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    padding: 20px 0 10px 0;
    letter-spacing: 1px;
  }
  .tp2-in .box01.m99 .tibox01.cl2 h2:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 70px;
    height: 2px;
    background: #fff;
  }
  .tp2-in .box01.m99 .tibox01.cl2 p {
    color: #fff;
    display: block;
    font-weight: bold;
    line-height: 1.2;
    font-size: 2.4rem;
  }
  .topbox02 .box02 {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .tibox01.cl2 h2,
  .tibox01.cl2 p {
    color: #006400;
  }
  .topbox02 .box02 table {
    display: block;
    width: 100%;
    border-collapse: collapse;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 20px;
    overflow: scroll;
  }
  .topbox02 .box02 table th {
    width: 20%;
    min-width: 135px;
    text-align: center;
    vertical-align: middle;
    color: #006400;
    font-size: 1.1rem;
    line-height: 1.5;
    font-weight: 700;
    background: #E5F5F5;
    padding: 12px 0;
    width: 25%;
  }
  .topbox02 .box02 table td {
    text-align: center;
    vertical-align: middle;
    color: #006400;
    font-size: 1.2rem;
    line-height: 1;
    padding: 12px 0;
    border-bottom: #E5F5F5 solid 1px;
  }
  .topbox02 .box02 table td.ch {
    font-weight: bold;
  }
  .topbox02 .box02 table td small {
    font-size: 1.2rem;
    margin-left: 10px;
  }
  .topbox02 .box02 table td.mya {
    position: relative;
  }
  .topbox02 .box02 .list {
    display: block;
    padding-left: 3%;
    padding-right: 3%;
  }
  .topbox02 .box02 .list li {
    display: block;
    margin: 10px 0;
  }
  .topbox02 .box02 .list li figure {
    display: block;
  }
  .topbox02 .box02 .list li figure img {
    display: block;
    width: 100%;
  }
  .topbox02 .box02 .list li h3 {
    display: block;
    font-weight: 700;
    line-height: 1;
    font-size: 2rem;
    color: #006400;
    margin-bottom: 9px;
    margin-top: 13px;
  }
  .topbox02 .box02 .list li p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.9;
  }
}
/* TOP-BOX03
-------------------------*/
@media screen and (max-width: 767px) {
  .topbox03 {
    display: block;
    position: relative;
    padding: 30px 0 35px 0;
    margin: 30px 0 0 0;
  }
  .topbox03::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 94.16%;
    height: 100%;
    content: "";
    z-index: -1;
    background: rgb(13, 151, 153);
    background: linear-gradient(94deg, rgb(13, 151, 153) 0%, rgb(48, 178, 177) 100%);
  }
  .topbox03 .fix-1000 {
    position: relative;
    z-index: 5;
  }
  .topbox03 .tibox01 h2,
  .topbox03 .tibox01 p {
    color: #FFF;
  }
  .topbox03 .tibox01 h2::before {
    background: #FFF;
  }
  .topbox03 .list {
    display: block;
  }
  .topbox03 .list li {
    display: block;
  }
  .topbox03 .list li a {
    display: block;
    position: relative;
    background: url(../images/bnimg1.jpg) top center no-repeat;
    background-size: cover;
    color: #FFF;
    padding: 20px 15px;
    text-decoration: none;
  }
  .topbox03 .list li:nth-child(2) a {
    background: url(../images/bnimg2.jpg) top center no-repeat;
    background-size: cover;
  }
  .topbox03 .list li:nth-child(3) a {
    background: url(../images/bnimg3.jpg) top center no-repeat;
    background-size: cover;
  }
  .topbox03 .list li:nth-child(4) a {
    background: url(../images/bnimg4.jpg) top center no-repeat;
    background-size: cover;
  }
  .topbox03 .list li b {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 4px;
    font-size: 3rem;
    padding-bottom: 4px;
    margin-bottom: 10px;
    border-bottom: #FFF solid 2px;
  }
  .topbox03 .list li h3 {
    display: block;
    font-size: 2rem;
    line-height: 1.2;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .topbox03 .list li p {
    display: block;
    font-size: 1.3rem;
    line-height: 1.8;
    margin-bottom: 15px;
  }
  .topbox03 .list li .btn {
    text-align: right;
  }
  .topbox03 .list li .btn span {
    display: inline-block;
    position: relative;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: bold;
    border: #FFF solid 2px;
    padding: 10px 19px;
    background: rgba(0, 0, 0, 0.7);
  }
  .topbox03 .list li .btn span::after {
    position: absolute;
    right: 6px;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
/* TOP-BOX04
-------------------------*/
@media screen and (max-width: 767px) {
  .topbox04 {
    display: block;
    margin: 30px 0 0 0;
    padding: 30px 0;
    background: url(../images/bg1.jpg) bottom center no-repeat;
    background-size: cover;
  }
  .topbox04 .fix-1100 {
    background: rgba(255, 255, 255, 0.8);
    margin-bottom: 17px;
  }
  .topbox04 .inner {
    display: block;
    padding: 25px 15px;
  }
  .topbox04 .one {
    display: block;
    background: #FFF;
    padding: 35px 15px;
  }
  .topbox04 .one figure {
    display: block;
    text-align: center;
    margin-bottom: 5px;
  }
  .topbox04 .one figure img {
    width: 140px;
    display: inline-block;
  }
  .topbox04 .one .txt {
    display: block;
    padding: 15px 0;
  }
  .topbox04 h3 {
    display: block;
    color: #0B9698;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 15px;
  }
  .topbox04 .one p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.9;
    color: #5B6770;
  }
  .topbox04 .btn01 {
    max-width: 220px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 15px;
  }
  .topbox04 .one2 {
    display: block;
    background: #FFF;
    padding: 20px 15px;
  }
  .topbox04 .one2 li {
    display: block;
    margin-top: 5px;
    margin-bottom: 10px;
  }
  .topbox04 .one2 .ins {
    display: block;
  }
  .topbox04 .one2 figure {
    display: block;
    text-align: center;
    margin-bottom: 15px;
  }
  .topbox04 .one2 figure img {
    width: 110px;
    display: inline-block;
  }
  .topbox04 .one2 .txt {
    font-size: 1.4rem;
    line-height: 1.9;
    color: #5B6770;
  }
}
/* footer
-------------------------*/
@media screen and (max-width: 767px) {
  footer {
    display: block;
    margin: 30px 0 0 0;
    position: relative;
  }
  .foot-top {
    display: block;
  }
  .foot-top li {
    display: block;
  }
  .foot-top li a {
    display: block;
    text-align: center;
    width: 100%;
    padding: 30px 0;
    color: #FFF;
    text-decoration: none;
    font-size: 1.7rem;
    line-height: 1.2;
    letter-spacing: 2px;
  }
  .foot-top li a::before {
    position: absolute;
    right: 6%;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 12px;
    height: 12px;
    border-top: 5px solid #FFF;
    border-right: 5px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .foot-top li a b {
    display: inline-block;
    position: relative;
    z-index: 5;
  }
  .foot-top li:nth-child(1) a {
    background: #006400;
  }
  .foot-top li:nth-child(2) a {
    background: #33ABAD;
  }
  .foot-middle {
    display: none;
  }
  .fix-1200 {
    margin-left: 4%;
    margin-right: 4%;
  }
  .foot-bottom {
    display: block;
    background: #879899;
    padding: 15px 0;
  }
  .foot-bottom a {
    color: #FFF;
    text-decoration: none;
  }
  .foot-bottom .lef {
    display: block;
    margin-bottom: 15px;
  }
  .foot-bottom .lef li {
    display: block;
    width: 180px;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    font-size: 1.4rem;
    line-height: 1.3;
    padding-left: 45px;
    margin-top: 15px;
    margin-bottom: 15px;
  }
  .foot-bottom .lef li::before {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    content: "";
    margin: auto;
    width: 42px;
    height: 30px;
    background: url(../images/ico1.png) left center no-repeat;
  }
  .foot-bottom .lef li:nth-child(2)::before {
    background: url(../images/ico2.png) left center no-repeat;
  }
  .foot-bottom .lef li:nth-child(3)::before {
    background: url(../images/ico3.png) left center no-repeat;
  }
  .foot-bottom .ref {
    display: block;
  }
  .foot-bottom li {
    display: block;
    text-align: center;
    padding: 4px;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .copy {
    display: block;
    text-align: center;
    padding: 30px 0;
    background: #FFF;
    background-color: rgba(64, 93, 64, 0.1);
    color: #000;
    font-size: 14px;
  }
  .copy figure {
    max-width: 140px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }
  .copy img {
    width: 100%;
  }
  .copy small {
    font-size: 14px;
    color: #333;
  }
  .pcs-none2 {
    display: none !important;
  }
  #page-top {
    position: absolute;
    right: 2%;
    top: -15px;
    width: 35px;
    height: 35px;
    z-index: 20;
  }
  #page-top a {
    display: block;
    width: 35px;
    height: 35px;
    background: #FFF;
    text-indent: -9999px;
    position: relative;
    box-shadow: 0px 0px 16px -6px rgba(0, 0, 0, 0.6);
  }
  #page-top a::before {
    position: absolute;
    top: 8px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 14px;
    height: 14px;
    text-align: center;
    content: "";
    border-top: 4px solid #839999;
    border-left: 4px solid #839999;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .footer__left__list {
    display: flex;
    flex-flow: column;
    gap: 5px;
    margin-bottom: 20px;
  }
  .footer__left__list__item__link {
    display: block;
    text-decoration: none !important;
    color: #333;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .footer__left__list__item__icon {
    width: 14px;
    display: inline-block;
    vertical-align: bottom;
  }
  .footer__left__list__item__icon__img {
    width: 100%;
  }
  .pcs-none2 {
    display: none !important;
  }
  .sp-fnav {
    display: block;
    text-align: center;
    padding: 20px 0 5px 0;
  }
  .sp-fnav li {
    display: inline-block;
    padding: 7px;
  }
  .sp-fnav li a {
    color: #FFF;
    text-decoration: none;
    font-size: 1.2rem;
  }
}
/*=============================
	sub-page
===============================*/
/* SUB MAINIMG
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg {
    display: block;
    padding-top: 50px;
  }
  .submainimg .inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 90px;
    padding: 0 2%;
    background: url(../images/mv.jpg) top center no-repeat;
    background-size: cover;
    color: #FFF;
  }
  .submainimg h2 {
    display: block;
    text-align: right;
    font-weight: 700;
    letter-spacing: 4px;
    font-family: "Montserrat", sans-serif;
    font-size: 3rem;
    line-height: 1.1;
    margin-bottom: 10px;
    padding: 10px 0 0 0;
  }
  .submainimg p {
    display: block;
    text-align: right;
    font-weight: bold;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .note {
    display: block;
    padding-top: 50px;
  }
  .note .inner {
    display: block;
    height: 120px;
    padding: 0 2%;
    background: url(../images/note/GPSS_Journal_banner.png) top center no-repeat;
    background-size: cover;
    color: #FFF;
    position: relative;
  }
  .note h2 {
    position: absolute;
    display: block;
    text-align: center;
    font-weight: 700;
    letter-spacing: 1px;
    font-family: "Montserrat", sans-serif;
    font-size: 2.8rem;
    line-height: 1.1;
    bottom: 5vw;
    right: 0;
    padding: 2vh 2vh 2vh 8vw;
    background-color: #006400;
  }
  .note h2 span {
    display: block;
    text-align: right;
    font-weight: bold;
    font-size: 1.4rem;
  }
  .note p {
    display: block;
    text-align: right;
    font-weight: bold;
    font-size: 1.8rem;
  }
  .note-read-text {
    color: #006400;
    font-size: 1.8rem;
    text-align: center;
    font-weight: 700;
    line-height: 1.2;
    margin: 6vh 0;
  }
}
@media screen and (max-width: 767px) {
  .note-category {
    width: 100%;
    margin-bottom: 5vh;
  }
  .note-category > p {
    padding-top: 20px;
    display: block;
    position: relative;
    line-height: 1;
    font-weight: bold;
    color: #006400;
    font-size: 3.6rem;
    letter-spacing: 4px;
    padding-bottom: 10px;
    margin-bottom: 6vh;
    font-family: "Montserrat", sans-serif;
  }
  .note-category > p::after {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 95px;
    height: 2px;
    background: #0B9698;
  }
  .note-category ul {
    width: 100%;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    flex-direction: column;
  }
  .note-category ul::after {
    content: "";
    width: 30%;
    display: block;
  }
  .note-category li {
    width: 100%;
    margin-bottom: 5vh;
    border: 1px solid #F2F2F2;
    font-family: "Montserrat", sans-serif;
    min-height: inherit;
  }
  .note-category li a {
    display: block;
    text-decoration: none;
  }
  .note-category li img {
    display: block;
  }
  .note-category li a h3 {
    font-size: 2.4rem;
    line-height: 3.2rem;
    padding: 0 20px;
    margin: 20px 0;
    font-weight: bold;
  }
  .note-category li p {
    font-size: 1.6rem;
    line-height: 2.4rem;
    padding: 0 20px;
    margin: 0 0 20px 0;
  }
  .note-category li:not(:last-child) {
    content: "";
  }
  .notecard {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 5vh 0 0 0;
  }
  .notecard a {
    text-decoration: none;
  }
  .notecard__article {
    position: relative;
    width: 100%;
    margin: 0 0 10vh 0;
    padding-bottom: 10px;
    border-radius: 2px;
    background: #fff;
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.12), 0 2px 3px 0 rgba(0, 0, 0, 0.22);
    cursor: pointer;
    transition: 0.2s ease-in-out;
  }
  .notecard__article-info {
    margin: 0 2%;
  }
  .notecard__article:hover {
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
  }
  .notecard_time {
    display: block;
    margin: 13px 9px 8px;
    color: #b5b5b5;
    font-size: 15px;
    font-weight: bold;
  }
  .notecard_time:before {
    content: "\f017";
    padding-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    opacity: 0.6;
  }
  .notecard__link {
    display: block;
    color: #555;
    text-decoration: none;
    cursor: pointer;
  }
  .notecard__link:hover {
    text-decoration: none;
  }
  .notecat-name {
    display: inline-block;
    overflow: hidden;
    position: absolute;
    top: 13px;
    left: 13px;
    height: 22px;
    margin: 0;
    padding: 0 10px;
    border-radius: 14px;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    vertical-align: middle;
    line-height: 22px;
  }
  .notecardtype__img {
    margin: 0;
    overflow: hidden;
    position: relative;
    height: 0;
    padding-bottom: 53%;
  }
  .notecardtype__img img {
    border-radius: 2px 2px 0 0;
    max-width: 100%;
    height: auto;
  }
  .notecat-name {
    display: inline-block;
    overflow: hidden;
    position: absolute;
    top: 13px;
    left: 13px;
    height: 22px;
    margin: 0;
    padding: 2px 10px;
    border-radius: 14px;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    vertical-align: middle;
    line-height: 22px;
    background: #FFF;
    text-decoration: none;
  }
  .notecat-name img {
    width: auto;
    height: 20px;
    padding: 1px 0 6px;
  }
  .entry-time.notepubdate {
    padding: 0 10px 0 0;
    margin-top: -1em;
  }
  .cf {
    zoom: 1;
  }
  .notecardtitle {
    margin: 8px 9px 0;
    font-weight: bold;
    line-height: 1.56;
    font-size: 1.8rem;
  }
  p.notecardtext {
    font-size: 0.7em;
    margin: 8px 9px 0;
  }
  .note-more-text {
    text-align: center;
    margin-bottom: 10vh;
  }
  .note-more-button {
    display: inline-block;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #FFF !important;
    text-decoration: none;
    font-size: 2.4rem;
    line-height: 1.2;
    letter-spacing: 2px;
    padding: 20px 40px;
    background-color: #006400;
    border-radius: 50px;
    text-decoration: none !important;
  }
}
/* NEWS
-------------------------*/
@media screen and (max-width: 767px) {
  .wrapper#news {
    background: #F2F2F2;
  }
  .branch {
    padding: 10px 0 15px 0;
  }
  .branch li {
    display: none;
  }
  .branch li::before {
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    position: absolute;
    display: block;
    right: auto;
    left: -15px;
    width: 4px;
    height: 4px;
    border-top: 1px solid #111;
    border-right: 1px solid #111;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .branch li:nth-child(1) {
    margin-left: 0;
  }
  .branch li:nth-child(1)::before {
    display: none;
  }
  .branch a {
    color: #111;
    text-decoration: none;
  }
  .branch.intro {
    background-color: white;
  }
  .newslist-box {
    display: block;
  }
  .newslist-box .fix-1200 {
    background: #FFF;
  }
  .newslist-box .info-list {
    padding: 20px 15px;
  }
  .newslist-box .info-list li {
    margin-bottom: 25px;
  }
  .branch a:hover {
    text-decoration: underline;
  }
  .page-n-ri {
    display: block;
    padding: 10px 0 60px 0;
    position: relative;
    overflow: hidden;
  }
  .wp-pagenavi {
    display: block;
    float: right;
  }
  .wp-pagenavi li {
    display: inline;
    font-size: 2.1rem;
  }
  .wp-pagenavi span {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 60px;
    height: 30px;
    border: none;
    /* 		border-radius: 50%; */
    float: left;
    position: relative;
    font-size: 1.4rem;
    margin: 0px;
    line-height: 100%;
  }
  .wp-pagenavi span.current {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    float: left;
    font-size: 1.4rem;
    background-color: #11114c;
    color: #FFF;
    line-height: 100%;
    margin: 0 3px !important;
  }
  .wp-pagenavi a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    float: left;
    position: relative;
    background: #dcdcdc;
    color: #222;
    font-size: 1.4rem;
    line-height: 100%;
    text-decoration: none;
    margin: 0 3px !important;
  }
  .wp-pagenavi a:hover,
  .wp-pagenavi a.prevpostslink:hover,
  .wp-pagenavi a.nextpostslink:hover {
    background-color: #11114c;
    color: #FFF;
  }
  .wp-pagenavi span.extend {
    display: block;
    float: left;
    padding-top: 12px;
    padding-left: 10px;
    padding-right: 10px;
  }
  a.prevpostslink,
  a.nextpostslink {
    color: #222;
    line-height: 100%;
    background: none;
  }
  a.previouspostslink,
  a.nextpostslink {
    color: #222;
    line-height: 100%;
    background: none;
  }
}
/* NEWS-DETAIL
-------------------------*/
@media screen and (max-width: 767px) {
  .news-detail {
    display: block;
    background-color: #F2F2F2;
    padding: 25px 15px;
    margin-top: 30px;
  }
  .news-detail .tit {
    display: block;
    margin-bottom: 20px;
  }
  .news-detail .tit dt {
    display: block;
    float: left;
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
    color: #006400;
    font-size: 1.8rem;
    line-height: 1;
  }
  .news-detail .tit dd {
    display: block;
    float: right;
    padding: 4px 0 0 0;
  }
  .news-detail .tit dd a {
    display: inline-block;
    color: #FFF;
    line-height: 1;
    text-decoration: none;
    background: #006400;
    padding: 5px 15px;
    margin-left: 10px;
    font-size: 1.2rem;
    line-height: 1;
  }
  .news-detail .title {
    display: block;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
    padding-bottom: 15px;
    margin-bottom: 15px;
    color: #5B6770;
  }
  .deta-main {
    display: block;
    color: #5B6770;
    font-size: 1.4rem;
    line-height: 1.9;
    margin-bottom: 35px;
  }
  .deta-main img {
    display: inline-block;
    max-width: 100%;
    margin: 20px 0;
  }
  .deta-main p {
    margin-bottom: 15px;
  }
  .deta-main a {
    text-decoration: none;
    color: #006400;
  }
  .deta-main a:hover {
    text-decoration: underline;
  }
  .deta-main .alignright {
    float: right;
    margin-left: 5%;
  }
  .deta-main .alignleft {
    float: left;
    margin-right: 5%;
  }
  .news-detail .btn01 {
    margin-left: auto;
    margin-right: auto;
    max-width: 230px;
  }
}
/* CONTACT
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#cont-bg .inner {
    background: url(../images/contact/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .contact-box {
    display: block;
    color: #5B6770;
  }
  .contact-box .inner {
    display: block;
    background: #FFF;
    padding: 25px 15px;
  }
  .cont-txt {
    display: block;
    color: #5B6770;
    font-size: 1.4rem;
    line-height: 1.5;
    margin-bottom: 20px;
  }
  .contact-box table {
    width: 100%;
    border-collapse: collapse;
  }
  .contact-box td {
    padding: 10px 2%;
    display: block;
  }
  .contact-box table select {
    padding: 17px 1%;
    width: 102%;
    border: #cccccc solid 1px;
    color: #0B9698;
    font-size: 1.4rem;
  }
  .n001 {
    width: 98%;
    height: 60px;
    padding: 0 1%;
    border: #cccccc solid 1px;
    font-size: 1.4rem;
  }
  .txer {
    width: 98%;
    height: 180px;
    padding: 1%;
    border: #cccccc solid 1px;
    font-size: 1.4rem;
  }
  .privs-check {
    display: block;
    text-align: center;
    padding: 20px 0 0 0;
  }
  .privs-check label {
    font-size: 1.2rem;
  }
  .cbtn {
    display: inline-block;
    text-align: center;
    width: 220px;
    margin-bottom: 0px;
    margin-top: 20px;
    position: relative;
  }
  .cbtn::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    right: 23px;
    width: 7px;
    height: 7px;
    border-top: 4px solid #FFF;
    border-right: 4px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .sbt {
    width: 100%;
    height: 40px;
    color: #FFF;
    border: none;
    font-size: 1.4rem;
    background: #006400;
    line-height: 1.3;
    cursor: pointer;
  }
  .mw_wp_form_confirm .priv-t {
    display: none !important;
  }
  .rad01 .mwform-radio-field {
    display: inline-block;
    margin: 0 !important;
    padding-bottom: 4px;
    padding-right: 7px;
    padding-left: 0px !important;
  }
  .rad01 small {
    font-size: 1.2rem;
    display: block;
    margin-top: 3px;
  }
  .lab-lf2 {
    padding-top: 10px;
  }
  .lab-lf2 div {
    display: flex;
    align-items: center;
    float: left;
    width: 26%;
    height: 40px;
  }
  .lab-lf2 p {
    display: block;
    float: right;
    width: 71%;
  }
  .lab-lf2 .n002 {
    width: 100%;
    height: 40px;
    border: #cccccc solid 1px;
  }
  .lih-1 p {
    line-height: 1.6;
  }
  .mw_wp_form_confirm .cont-tab td,
  .mw_wp_form_confirm .cont-tab th {
    line-height: 1.8 !important;
  }
  .mw_wp_form_confirm .cbtn .sbt:nth-child(2) {
    color: #FFF;
    background: #11114c;
    border: #282828 solid 1px;
  }
  .mb20 {
    margin-bottom: 15px;
  }
}
/* RECRUITING
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#rec-bg .inner {
    background: url(../images/recruiting/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .recruting01 {
    display: block;
    padding: 30px 0 10px 0;
  }
  .recruting01 .btn01 {
    display: block;
    text-align: center;
  }
  .recruting01 .btn01 a {
    font-size: 1.5rem;
    padding: 28px 0;
  }
  .recruting01 p {
    display: block;
    text-align: center;
    line-height: 1.5;
    font-size: 1.4rem;
    color: #5B6770;
    margin: 0 30px 20px 30px;
  }
  .recruting02 {
    display: block;
    padding: 15px 0 40px 0;
  }
  .recruting02 .one {
    display: block;
    background: url(../images/recruiting/bg1.jpg) center center no-repeat;
    background-size: cover;
    padding: 25px 15px;
    color: #FFF;
    margin-bottom: 30px;
  }
  .recruting02 .one:nth-child(2) {
    background: url(../images/recruiting/bg2.jpg) center center no-repeat;
    background-size: cover;
  }
  .recruting02 .one:nth-child(3) {
    background: url(../images/recruiting/bg3.jpg) center center no-repeat;
    background-size: cover;
  }
  .recruting02 .one h3 {
    display: block;
    font-size: 2.1rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 1px;
    margin-bottom: 17px;
  }
  .recruting02 ul {
    display: block;
    margin-bottom: 20px;
  }
  .recruting02 li {
    display: block;
    position: relative;
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 12px;
    padding-left: 25px;
  }
  .recruting02 li small {
    font-size: 1.3rem;
    line-height: 1.4;
  }
  .recruting02 li::before {
    position: absolute;
    left: 0;
    top: 11px;
    content: "";
    background: #FFF;
    height: 2px;
    width: 20px;
  }
  .recruting02 .one .btn {
    display: block;
    max-width: 200px;
  }
  .recruting02 .one .btn a {
    display: block;
    position: relative;
    background: #FFF;
    text-decoration: none;
    font-weight: bold;
    color: #006400;
    font-size: 1.8rem;
    line-height: 1;
    padding: 17px 0;
    text-align: center;
  }
  .recruting02 .one .btn a:hover {
    opacity: 1;
    color: #FFF;
    background: #006400;
  }
  .recruting02 .one .btn a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    right: 15px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #006400;
    border-right: 2px solid #006400;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .recruting02 .one .btn a b {
    display: inline-block;
    position: relative;
    z-index: 5;
  }
}
/* INTERVIEW
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#inter-bg .inner {
    background: url(../images/recruiting/interview/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .fix-1000 {
    margin-left: 4%;
    margin-right: 4%;
  }
  .int-deta01 {
    display: block;
    padding: 20px 0 20px 0;
  }
  .int-deta01 img {
    width: 100%;
  }
  .int-deta01 figure {
    display: block;
    margin-bottom: 10px;
  }
  .int-deta01 ul {
    display: block;
    position: relative;
  }
  .int-deta01 ul::after {
    content: "";
    width: 100%;
    height: 1px;
    clear: both;
  }
  .int-deta01 li {
    display: block;
    width: 48%;
    float: left;
  }
  .int-deta01 li:nth-child(2) {
    float: right;
  }
  .int-deta02 {
    display: block;
    color: #5B6770;
    padding-bottom: 20px;
  }
  .int-deta02 .prof {
    display: block;
    position: relative;
    border: #879899 solid 2px;
    padding: 25px 15px 25px 15px;
    margin-bottom: 20px;
  }
  .int-deta02 .prof::before {
    position: absolute;
    left: 5%;
    top: -10px;
    width: 90%;
    height: 20px;
    background: #FFF;
    content: "";
  }
  .int-deta02 .prof::after {
    position: absolute;
    left: 5%;
    bottom: -10px;
    width: 90%;
    height: 20px;
    background: #FFF;
    content: "";
  }
  .int-deta02 .prof .ti h3 {
    font-size: 2.3rem;
    color: #0B9698;
    font-weight: bold;
    line-height: 1;
  }
  .int-deta02 .prof .ti p {
    font-size: 1.5rem;
    line-height: 1.1;
    font-weight: bold;
    margin: 7px 0 0 0;
  }
  .int-deta02 .prof .txt {
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .qone {
    position: relative;
    background: #F2F2F2;
    padding: 25px 15px 25px 15px;
    margin-bottom: 15px;
  }
  .qone h3 {
    display: block;
    text-align: center;
    position: relative;
    color: #006400;
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 14px;
  }
  .qone h3 b {
    display: inline-block;
    position: relative;
  }
  .qone h3 b::after {
    position: absolute;
    left: 0;
    bottom: -8px;
    content: "";
    width: 100%;
    height: 3px;
    background: #006400;
  }
  .qone .txt {
    display: block;
    padding-top: 20px;
  }
  .qone .txt h4 {
    display: block;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 14px;
  }
  .qone .txt p {
    display: block;
    font-size: 1.4rem;
    line-height: 2;
  }
  .inter-btn {
    display: block;
  }
  .inter-btn .btn01 {
    max-width: 100%;
  }
  .inter-btn .btn01 a {
    font-size: 1.5rem;
    padding: 28px 0;
  }
}
/* INTERVIEW-LIST
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#interlist-bg .inner {
    background: url(../images/recruiting/interview/list/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .interlist01 {
    display: block;
    position: relative;
    padding: 25px 0 35px 0;
    margin-bottom: 15px;
  }
  .interlist01::after {
    position: absolute;
    left: 0;
    top: 0;
    width: 90.11%;
    height: 100%;
    content: "";
    background: #F4F4F4;
    z-index: 1;
  }
  .interlist01 .fix-1000 {
    position: relative;
    z-index: 5;
  }
  .interlist01 .list {
    display: block;
    color: #879899;
  }
  .interlist01 .list li {
    display: block;
    margin-bottom: 25px;
  }
  .interlist01 .list li figure {
    display: block;
  }
  .interlist01 .list li figure img {
    width: 100%;
  }
  .interlist01 .list li h3 {
    display: block;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
    padding-top: 13px;
    padding-bottom: 13px;
    margin-bottom: 15px;
    border-bottom: #879899 solid 1px;
  }
  .interlist01 .list li p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .interlist01 .list li .btn {
    display: block;
    text-align: right;
  }
  .interlist01 .list li .btn a {
    display: inline-block;
    color: #FFF;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
    position: relative;
    background: #879899;
    padding: 10px 30px;
  }
  .interlist01 .list li .btn a:hover {
    background: #333;
    opacity: 1;
  }
  .interlist01 .list li .btn a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 8px;
    content: "";
    margin: auto;
    width: 4px;
    height: 4px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
/* ENTRY
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#entry-bg .inner {
    background: url(../images/recruiting/entry/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .entry-box {
    display: block;
    background: #F4F4F4;
    padding: 35px 0;
    color: #5B6770;
  }
  .entry-box .fix-1200 {
    background: #FFF;
    padding: 25px 0;
  }
  .entry-box .e-mt {
    display: block;
    font-size: 1.4rem;
    line-height: 1.8;
    margin-bottom: 20px;
  }
  .entry-box .e-mt small {
    color: #006400;
    font-size: 1.2rem;
  }
  .entry-box dl {
    display: block;
  }
  .entry-box dt {
    display: block;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 12px;
  }
  .entry-box dt b {
    color: #006400;
    font-size: 1.2rem;
    margin-left: 5px;
  }
  .entry-box dt small {
    font-size: 1.2rem;
    font-weight: normal;
    margin-left: 5px;
  }
  .entry-box dd {
    display: block;
    margin-bottom: 20px;
    font-size: 1.4rem;
    line-height: 1.2;
  }
  .n003 {
    width: 25%;
    height: 60px;
    padding: 0 1%;
    border: #cccccc solid 1px;
    font-size: 1.4rem;
  }
  .n002 {
    width: 98%;
    height: 60px;
    padding: 0 1%;
    border: #cccccc solid 1px;
    font-size: 1.4rem;
  }
  .n004 {
    width: 10%;
    height: 60px;
    padding: 0 1%;
    border: #cccccc solid 1px;
    font-size: 1.4rem;
  }
  .entry-box dd .adds {
    margin-top: 12px;
  }
  .txer2 {
    width: 98%;
    height: 120px;
    padding: 1% px;
    border: #cccccc solid 1px;
    font-size: 1.4rem;
  }
  .en-btn {
    display: block;
    text-align: center;
  }
  .en-btn .cbtn {
    display: inline-block;
  }
}
/* MESSAGE
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#message-bg .inner {
    background: url(../images/recruiting/message/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .tibox02 {
    display: block;
    text-align: center;
    position: relative;
    padding-bottom: 13px;
    margin-bottom: 25px;
  }
  .tibox02 h2 {
    display: block;
    position: relative;
    font-size: 3.1rem;
    line-height: 1.2;
    color: #006400;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    padding: 0px 0 10px 0;
    letter-spacing: 1px;
  }
  .tibox02::before {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0;
    content: "";
    width: 70px;
    height: 2px;
    background: #006400;
  }
  .tibox02 p {
    display: block;
    font-weight: bold;
    line-height: 1.2;
    color: #5B6770;
    font-size: 1.7rem;
  }
  .message01 {
    display: block;
    padding: 25px 0 30px 0;
    color: #5B6770;
  }
  .message01 h2 {
    text-align: center;
  }
  .message01 .tit {
    display: block;
    color: #006400;
    font-size: 2.2rem;
    line-height: 1.2;
    font-weight: bold;
    margin-bottom: 2em;
  }
  .message01 .names {
    display: block;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 25px;
  }
  .message01 .names b {
    font-size: 2.6rem;
    margin-left: 10px;
  }
  .message01 .one {
    display: block;
    margin-bottom: 30px;
  }
  .message01 .one figure {
    display: block;
    margin-bottom: 20px;
  }
  .message01 .one figure img {
    width: 100%;
    box-shadow: 10px 10px 0px 0px #006400;
    border-radius: 0px;
  }
  .message01 .one .txt {
    display: block;
    padding-bottom: 30px;
  }
  .message01 .one .txt h3 {
    display: block;
    font-weight: bold;
    color: #006400;
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: 15px;
  }
  .message01 .one .txt p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.8;
    margin-bottom: 14px;
    padding-left: 1em;
    padding-right: 1em;
  }
  .w100p {
    width: 100% !important;
    padding-bottom: 30px;
  }
  .w100p p {
    padding-left: 7% !important;
  }
  .max800 {
    max-width: 800px;
  }
  .message-btn {
    display: block;
  }
  .btn03 {
    display: block;
    max-width: 220px;
    margin-left: auto;
    margin-right: auto;
  }
  .btn03 a {
    display: block;
    text-align: center;
    color: #FFF;
    text-decoration: none;
    line-height: 1;
    font-size: 1.4rem;
    font-weight: bold;
    border-radius: 30px;
    padding: 16px 15px;
    background: rgb(71, 196, 193);
    background: linear-gradient(94deg, rgb(71, 196, 193) 0%, rgb(12, 151, 153) 100%);
  }
}
/* RECRUIT
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#recruit-bg .inner {
    background: url(../images/recruiting/recruit/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .recruit-top01 {
    display: block;
    background: #F4F4F4;
    padding: 35px 0;
  }
  .recruit-top01 li {
    display: block;
    margin-bottom: 10px;
  }
  .recruit-top01 li a {
    display: block;
    position: relative;
    background: #FFF;
    text-decoration: none;
    color: #0B9698;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: bold;
    padding: 18px 24px;
  }
  .recruit-top01 li a:hover {
    background: #0B9698;
    color: #FFF;
  }
  .recruit-top01 li a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    content: "";
    margin: auto;
    width: 6px;
    height: 6px;
    border-top: 2px solid #0B9698;
    border-right: 2px solid #0B9698;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
/* RECRUIT-DETAIL
-------------------------*/
@media screen and (max-width: 767px) {
  .rec-deta {
    display: block;
    background: #FFF;
    color: #5B6770;
  }
  .rec-deta .pad {
    display: block;
    padding: 25px 15px;
  }
  .rec-deta h3 {
    display: block;
    line-height: 1;
    font-weight: bold;
    color: #0B9698;
    font-size: 2rem;
    margin-bottom: 20px;
  }
  .rec-deta table {
    width: 100%;
    border-collapse: collapse;
    border-top: #B4B4B4 solid 1px;
  }
  .rec-deta table th {
    text-align: left;
    vertical-align: middle;
    padding: 15px 0px;
    display: block;
    font-size: 1.5rem;
    color: #0B9698;
    font-weight: bold;
    line-height: 1.4;
  }
  .rec-deta table td {
    text-align: left;
    vertical-align: middle;
    border-bottom: #B4B4B4 solid 1px;
    padding: 0px 2% 15px 2%;
    font-size: 1.4rem;
    display: block;
    line-height: 1.4;
  }
  .rec-deta table td dl {
    display: flex;
  }
  .rec-deta table td dl dt {
    width: 70px;
  }
  .rec-deta table td dl dd {
    margin-left: 30px;
  }
  .rec-deta .btn01 {
    max-width: 220px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 25px;
  }
}
/* EVENT
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#event-bg .inner {
    background: url(../images/recruiting/event/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .event01 {
    display: block;
    padding: 35px 0;
  }
  .event01 img {
    width: 100%;
  }
  .event01 .flex {
    display: block;
  }
  .event01 .flex .inner-top {
    display: flex;
  }
  .event01 .flex .inner-top .tit {
    width: 50%;
    background-color: #006400;
  }
  .event01 .flex .inner-top .tit .pa {
    display: block;
    padding-top: 18%;
    padding-left: 14%;
  }
  .event01 .flex .inner-top .tit h2 {
    display: block;
    position: relative;
    font-weight: 700;
    line-height: 1;
    color: #FFF;
    font-size: 2.1rem;
    margin-bottom: 12px;
    padding-top: 14px;
    letter-spacing: 1px;
  }
  .event01 .flex .inner-top .tit h2::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    height: 2px;
    width: 70px;
    background: #FFF;
  }
  .event01 .flex .inner-top .tit p {
    display: block;
    font-weight: bold;
    line-height: 1;
    color: #FFF;
    font-size: 1.4rem;
    letter-spacing: 1px;
  }
  .event01 .flex .inner-top figure {
    width: 50%;
  }
  .event01 .flex .lef {
    display: block;
  }
  .event01 .flex .ref {
    display: block;
  }
  .bottom-flex ul {
    display: block;
  }
  .bottom-flex ul::after {
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    clear: both;
  }
  .bottom-flex img {
    width: 100%;
  }
  .bottom-flex li {
    width: 50%;
    float: left;
  }
  .event-mov {
    display: block;
    padding: 35px 0;
    background: #f4f4f4 url(../images/recruiting/event/bg1.png) top right no-repeat;
    background-size: auto 100%;
  }
  .event-mov li {
    display: block;
    margin: 8px 0;
  }
  .event-mov iframe {
    width: 100%;
    height: 220px;
  }
  .mb95 {
    margin-bottom: 35px;
  }
}
/* introduction-movie
-------------------------*/
@media screen and (max-width: 767px) {
  .movie-main.intro {
    text-align: center;
  }
  .top-catch.intro {
    background-color: white;
  }
}
/* WORKING
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#working-bg .inner {
    background: url(../images/recruiting/working/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .submainimg#intro-bg .inner {
    background: url(../images/recruiting/introduction-movie/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .working01 {
    display: block;
    position: relative;
    margin-top: 40px;
    color: #5B6770;
  }
  .working01.v2 {
    display: block;
    position: relative;
    margin-top: 80px;
    color: #5B6770;
  }
  .working01.v2.vtop {
    margin-top: unset;
  }
  .working01::after {
    position: absolute;
    right: 0;
    top: 30px;
    width: 90.11%;
    height: 100%;
    content: "";
    background: #F4F4F4;
    z-index: 1;
  }
  .working01.v2::after {
    position: absolute;
    right: auto;
    left: 0;
    top: 30px;
    width: 90.11%;
    height: 100%;
    content: "";
    background: #F4F4F4;
    z-index: 1;
  }
  .working01 .fix-1000 {
    position: relative;
    z-index: 5;
  }
  .working01 .tit {
    background: url(../images/recruiting/working/img1.jpg) top center no-repeat;
    background-size: cover;
    padding: 20px 15px;
    color: #FFF;
    margin-bottom: 15px;
  }
  .working01.v2 .tit {
    background: url(../images/recruiting/working/img5.jpg) top center no-repeat;
    background-size: cover;
  }
  .working01 .tit h2 {
    display: block;
    font-size: 2.5rem;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 14px;
  }
  .working01 .tit p {
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.6;
  }
  .working01 .white01 {
    display: block;
    background: #FFF;
    padding: 20px 15px;
    margin-bottom: 15px;
  }
  .working01 .white01 h3 {
    display: block;
    font-weight: bold;
    line-height: 1.3;
    color: #006400;
    font-size: 2.2rem;
    margin-bottom: 15px;
  }
  .working01 .white01 p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .working01 .white01 figure {
    display: block;
  }
  .working01 .white01 figure img {
    width: 100%;
  }
  .working01 .white01 .lef {
    display: block;
    margin-bottom: 20px;
  }
  .working01 .white01 .ref {
    display: block;
  }
  .working01 .white01 .lef3 {
    display: block;
  }
  .working01 .white01 .ref3 {
    display: block;
    margin-bottom: 20px;
  }
  .working01 .list {
    display: block;
  }
  .working01 .list li {
    display: block;
    margin-bottom: 15px;
  }
  .working01 .list li p {
    margin-bottom: 15px;
  }
  .working01.v3 {
    margin-top: 80px;
  }
  .working01.v3::after {
    display: none;
  }
  .working01.v3 .tit {
    background: url(../images/recruiting/working/img8.jpg) top center no-repeat;
    background-size: cover;
  }
  .working01.v3 .white01 {
    background: #E5F4F5;
  }
  .working01.v3 .white01 h2 {
    display: block;
    position: relative;
    font-weight: bold;
    line-height: 1.3;
    font-size: 2.3rem;
    color: #5B6770;
    padding-bottom: 15px;
    margin-bottom: 25px;
  }
  .working01.v3 .white01 h2::after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 70px;
    height: 2px;
    background: #5B6770;
  }
  .working01.v3 .graf {
    display: block;
    text-align: center;
  }
  .working01.v3 .graf img {
    max-width: 100%;
    display: inline-block;
  }
  .working01.v3 .lef2 h3 {
    font-size: 1.7rem;
    margin-bottom: 14px;
  }
  .working01.v3 .lef2 p {
    margin-bottom: 20px;
  }
  .working01 .event01 .fix-1200 {
    position: relative;
    z-index: 2;
  }
  .working01 .event01 .fix-1200 .flex {
    padding-bottom: 20px;
  }
  .working01 .event01 .fix-1200 .flex .lef {
    width: 100%;
  }
  .working01 .event01 .fix-1200 .flex .lef .inner-top {
    height: 20vw;
    max-height: 200px;
    object-fit: cover;
  }
  .working01 .event01 .fix-1200 .flex .lef .inner-top .figure img {
    height: 20vw;
    max-height: 200px;
    object-fit: cover;
  }
  .working01 .event01 .fix-1200 .flex .lef .inner-top .tit {
    display: block;
    position: relative;
    height: 20vw;
    max-height: 200px;
    background-size: cover;
    background-position: center;
    padding: unset;
    margin-bottom: unset;
    background-image: url(../images/recruiting/event/img7.jpg);
  }
  .working01 .event01 .fix-1200 .flex .lef .inner-top .tit .pa {
    height: 20vw;
    padding-top: 1%;
    padding-left: 10%;
    background-color: rgba(0, 0, 0, 0.2196078431);
    max-height: 200px;
  }
  .working01 .event01 .fix-1200 .flex .inner-top .tit h2 {
    font-size: 2.5rem;
  }
  .working01 .event01 .fix-1200 .flex .inner-top .tit p {
    position: relative;
    z-index: 3;
    font-size: 1.5rem;
    line-height: 1.6;
    white-space: nowrap;
  }
  .working01 .event01 .flex .inner-top figure img {
    height: 20vw;
    max-height: 200px;
    object-fit: cover;
    filter: brightness(0.9);
  }
  .working01 .event01 .fix-1200 .view3d {
    margin: 0 auto;
    background-color: #fff;
    padding: 50px 0;
  }
  .working01 .event01 .fix-1200 .view3d .inner {
    width: 90%;
    margin: 0 auto;
  }
  .working01 .event01 .fix-1200 .view3d .inner h3 {
    font-size: 2.2rem;
    font-weight: 700;
    color: #006400;
    margin-bottom: 15px;
    line-height: 1.3;
  }
  .working01 .event01 .fix-1200 .view3d .inner p {
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .working01 .event01 .fix-1200 .view3d .vr {
    padding: 20px;
    max-width: 894px;
    margin: 0 auto;
  }
}
/* ABOUT US
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#about-bg .inner {
    background: url(../images/aboutus/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .about01 {
    display: block;
    position: relative;
    color: #5B6770;
    padding-bottom: 20px;
    margin-bottom: 40px;
  }
  .about01::after {
    position: absolute;
    top: 25px;
    right: 0;
    content: "";
    background: #FFF;
    width: 96.81%;
    height: 100%;
  }
  .about01.r2::after {
    position: absolute;
    top: 25px;
    right: auto;
    left: 0;
    content: "";
    background: #FFF;
    width: 96.81%;
    height: 100%;
  }
  .about01.r3::after {
    display: none;
  }
  .about01 .fix-1100 {
    position: relative;
    z-index: 10;
  }
  .about01 .inn2 {
    position: absolute;
    z-index: unset;
    margin-left: 0;
    margin-right: 0;
  }
  .about01 .tit {
    display: block;
    margin-bottom: 24px;
  }
  .about01 .tit b {
    display: block;
    position: relative;
    line-height: 1;
    font-weight: 700;
    color: #006400;
    font-size: 4.4rem;
    letter-spacing: 4px;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
  .about01 .tit b::after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 95px;
    height: 2px;
    background: #0B9698;
  }
  .about01 .tit h2 {
    display: block;
    font-size: 2.6rem;
    line-height: 1.2;
    font-weight: bold;
  }
  .about01 .tit .mot--small {
    display: block;
    font-size: 2.1rem !important;
    line-height: 1.2;
    font-weight: bold;
  }
  .about01 .tit h2 strong {
    font-weight: bold;
    color: #006400;
  }
  .about01 .inner {
    display: block;
    padding-left: 5px;
  }
  .about01 .mimg {
    display: block;
    margin-bottom: 20px;
  }
  .about01 .mimg img {
    width: 100%;
  }
  .about01 .dl-list {
    display: block;
    margin-bottom: 25px;
  }
  .about01 .dl-list dl {
    display: block;
  }
  .about01 .dl-list dt {
    display: block;
    color: #0B9698;
    width: 100%;
    font-size: 1.7rem;
    line-height: 1.3;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .about01 .dl-list dt.n2 {
    color: #0B9698;
    font-size: 1.7rem;
    line-height: 1.3;
    font-weight: bold;
  }
  .about01 .dl-list dt img {
    max-width: 108px;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .about01 .dl-list dd {
    margin-left: 0px;
    margin-bottom: 15px;
  }
  .about01 .dl-list dd ul {
    margin-left: 20px;
  }
  .about01 .dl-list dd li {
    list-style-type: decimal;
    font-size: 1.4rem;
    line-height: 1.5;
    margin-bottom: 8px;
  }
  .about01 .dl-list dl dd dl {
    margin-left: 0px;
    margin-bottom: 20px;
  }
  .about01 .dl-list dl dd dl dt {
    font-size: 1.7rem;
  }
  .about01 .dl-list dl dd dl dd {
    margin-left: 20px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .about01 .fix-1200 {
    background: #FFF;
    box-shadow: 0px 0px 16px -6px rgba(0, 0, 0, 0.6);
    position: relative;
    z-index: 10;
    margin-bottom: 30px;
  }
  .about01 .fix-1200 .wrap-pad {
    display: block;
    padding: 25px 14px;
  }
  .about01 .fix-1200 h3 {
    display: block;
    font-weight: bold;
    line-height: 1;
    color: #006400;
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
  .y-list1 {
    display: block;
  }
  .y-list1 li {
    display: block;
    padding-bottom: 15px;
    margin-bottom: 20px;
    border-bottom: #ccc dashed 2px;
  }
  .y-list1 .top-flex {
    display: flex;
    margin-bottom: 20px;
  }
  .y-list1 .top-flex figure {
    width: 44%;
  }
  .y-list1 .top-flex figure img {
    width: 100%;
  }
  .y-list1 .top-flex .ref {
    display: block;
    color: #0B9698;
    width: 56%;
    padding-top: 13%;
  }
  .y-list1 .top-flex small {
    display: block;
    text-align: right;
    border-bottom: #0B9698 solid 2px;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.4;
    padding-bottom: 8px;
    margin-bottom: 8px;
  }
  .y-list1 .top-flex h4 {
    display: block;
    font-weight: bold;
    text-align: right;
    line-height: 1;
    font-size: 2.4rem;
  }
  .y-list1 .mh2 {
    color: #0B9698;
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 20px;
  }
  .y-list1 .mh3 {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 25px;
  }
  .y-list2 {
    display: block;
  }
  .y-list2 li {
    display: block;
    margin-bottom: 35px;
  }
  .y-list2 li figure {
    display: block;
    float: left;
    width: 44%;
    margin-bottom: 15px;
  }
  .y-list2 li figure img {
    width: 100%;
  }
  .y-list2 li small {
    display: block;
    font-size: 1.2rem;
    line-height: 1;
    color: #0B9698;
    font-weight: 500;
    border-bottom: #0B9698 solid 2px;
    padding-bottom: 5px;
    margin-bottom: 10px;
    text-align: right;
  }
  .y-list2 li h4 {
    display: block;
    text-align: right;
    color: #0B9698;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 15px;
  }
  .y-list2 li .mh2 {
    display: block;
    color: #0B9698;
    font-size: 1.1rem;
    line-height: 1.7;
    margin-bottom: 20px;
    text-align: right;
    margin-left: 14px;
  }
  .y-list2 li .btn {
    display: block;
    padding-top: 26px !important;
  }
  .y-list2 li .btn a {
    display: block;
    text-align: center;
    position: relative;
    color: #0B9698;
    text-decoration: none;
    line-height: 1;
    border: #0B9698 solid 1px;
    font-weight: 500;
    font-size: 1.8rem;
    padding: 18px 0;
  }
  .y-list2 li .btn a:hover {
    color: #FFF;
    background: #0B9698;
  }
  .y-list2 li .btn a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    right: 13px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #0B9698;
    border-right: 2px solid #0B9698;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
/* HISTORY
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#history-bg .inner {
    background: url(../images/aboutus/history/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .history01 {
    display: block;
    position: relative;
    color: #5B6770;
    padding: 25px 0;
    margin-bottom: 45px;
  }
  .history01::after {
    position: absolute;
    top: 0;
    right: 0;
    content: "";
    background: #FFF;
    width: 96.81%;
    height: 100%;
  }
  .history01.v2 {
    padding: 25px 0 60px 0;
    margin-bottom: 45px;
  }
  .history01.v2::after {
    position: absolute;
    top: 0;
    right: auto;
    left: 0;
    content: "";
    background: #FFF url(../images/aboutus/history/bg.jpg) left bottom no-repeat;
    background-size: 100% auto;
    width: 96.81%;
    height: 100%;
  }
  .history01 .fix-1200 {
    position: relative;
    z-index: 10;
  }
  .history01 h2 {
    display: block;
    font-weight: bold;
    line-height: 1.1;
    font-size: 2.6rem;
    margin-bottom: 20px;
  }
  .history01 h2 strong {
    font-weight: bold;
    color: #0B9698;
  }
  .history01 .mt {
    display: block;
    font-size: 1.5rem;
    line-height: 1.9;
    margin-bottom: 25px;
  }
  .history01 .lf-box {
    display: block;
    padding-bottom: 25px;
  }
  .history01 .lf-box .txt {
    display: block;
    margin-bottom: 20px;
  }
  .history01 .lf-box .txt h3 {
    display: inline-block;
    color: #FFF;
    line-height: 1.1;
    font-size: 2.1rem;
    font-weight: bold;
    background: #0B9698;
    padding: 12px 24px 9px 24px;
    margin-bottom: 20px;
  }
  .history01 .lf-box .txt h4 {
    display: block;
    font-size: 1.7rem;
    line-height: 1.4;
    color: #006400;
    font-weight: 800;
  }
  .history01 .lf-box .txt p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.8;
    margin-bottom: 20px;
  }
  .history01 .lf-box .txt b {
    display: block;
    text-align: right;
    font-size: 2rem;
    line-height: 1.2;
  }
  .history01 .lf-box figure {
    display: block;
    position: relative;
  }
  .history01 .lf-box figure::after {
    position: absolute;
    left: 5px;
    top: 5px;
    width: 100%;
    height: 100%;
    content: "";
    background: #CCEAEA;
  }
  .history01 .lf-box figure img {
    display: block;
    width: 100%;
    position: relative;
    z-index: 5;
  }
  .his-main {
    display: block;
    border-left: #efefef solid 5px;
    padding-left: 15px;
  }
  .his-main table {
    width: 100%;
  }
  .his-main th {
    display: block;
    position: relative;
    font-family: "Montserrat", sans-serif;
    color: #006400;
    font-size: 2.2rem;
    line-height: 1;
    font-weight: 700;
    padding-bottom: 15px;
    text-align: left;
    vertical-align: top;
  }
  .his-main th strong {
    position: relative;
    background: #FFF;
    z-index: 5;
    font-weight: 700;
    letter-spacing: 2px;
  }
  .his-main th::after {
    position: absolute;
    left: 0px;
    bottom: 7px;
    content: "";
    width: 50%;
    height: 2px;
    background: #006400;
  }
  .his-main td {
    display: block;
    margin-left: 15px;
  }
  .his-main td dl {
    margin-bottom: 13px;
  }
  .his-main td dt {
    font-size: 1.5rem;
    width: 45px;
    font-weight: 500;
    color: #006400;
    line-height: 1.2;
    letter-spacing: 2px;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 6px;
  }
  .his-main td dd {
    margin-left: 15px;
    font-size: 1.4rem;
    line-height: 1.9;
    margin-bottom: 10px;
  }
  .his-main td dd .links {
    display: block;
    padding: 15px 0 0 0;
  }
  .his-main td dd .links b {
    color: #006400;
    font-size: 1.6rem;
    line-height: 1;
  }
  .his-main td dd .links p {
    font-size: 1.4rem;
    line-height: 1.9;
    color: #006400;
  }
  .his-main td dd .links a {
    color: #006400;
    text-decoration: underline;
  }
}
/* OURBUSINESS
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#our-bg .inner {
    background: url(../images/ourbusiness/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .our-inner {
    display: block;
    margin-right: 0px;
  }
  .our-mt {
    display: block;
    font-size: 1.5rem;
    line-height: 1.9;
    margin-bottom: 25px;
  }
  .ourbox1 {
    display: block;
    margin-bottom: 25px;
  }
  .ourbox1 .imgbox {
    display: block;
    position: relative;
    padding: 150px 0 15px 0 !important;
  }
  .ourbox1 .imgbox::after {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    clear: both;
  }
  .ourbox1 .imgbox::before {
    position: absolute;
    right: 0;
    top: 0;
    margin: auto;
    content: "";
    width: 100%;
    height: 140px;
    background: url(../images/ourbusiness/img1.jpg) center center no-repeat;
    background-size: cover;
  }
  .ourbox1.v2 .imgbox::before {
    background: url(../images/ourbusiness/img2.jpg) center center no-repeat;
    background-size: cover;
  }
  .ourbox1.v3 .imgbox::before {
    background: url(../images/ourbusiness/img3.jpg) center center no-repeat;
    background-size: cover;
  }
  .ourbox1.v4 .imgbox::before {
    background: url(../images/ourbusiness/img4.jpg) center center no-repeat;
    background-size: cover;
  }
  .ourbox1 .imgbox .tit {
    display: flex;
    align-items: center;
    width: 100%;
    height: 140px;
    background: rgb(71, 196, 193);
    background: linear-gradient(94deg, rgb(71, 196, 193) 0%, rgb(12, 151, 153) 100%);
    position: relative;
    z-index: 10;
    margin: 0px !important;
  }
  .ourbox1 .imgbox .tit div {
    padding-left: 15px;
    padding-right: 10px;
  }
  .ourbox1 .imgbox .tit small {
    display: block;
    color: #FFF;
    font-size: 1.3rem;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 2px;
  }
  .ourbox1 .imgbox .tit b {
    display: inline-block;
    color: #FFF;
    font-size: 3.3rem;
    line-height: 1;
    font-weight: 700;
  }
  .ourbox1 .imgbox .tit b::after {
    background: #FFF;
    width: 60px;
  }
  .ourbox1 .imgbox .tit h2 {
    display: block;
    color: #FFF;
    font-size: 1.8rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .ourbox1 .txt {
    display: block;
    padding: 15px 15px;
  }
  .ourbox1.ri .txt {
    text-align: left;
  }
  .ourbox1 .txt p {
    display: inline-block;
    vertical-align: top;
    max-width: 50%;
    font-size: 1.4rem;
    line-height: 1.9;
    text-align: left;
  }
  .our-ex {
    padding-bottom: 30px;
  }
  .our-ex .lef {
    display: block;
  }
  .our-ex .lef .tit {
    margin-bottom: 15px;
  }
  .our-ex .lef p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .our-ex .ref {
    display: none;
  }
  .our-ex .ref img {
    width: 100%;
  }
  .cmt {
    display: block;
    font-size: 1.6rem;
    line-height: 1.9;
    margin-top: 30px;
    max-width: 830px;
  }
  .teikei {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
  .teikei h4 {
    display: block;
    font-weight: 700;
    color: #0B9698;
    font-size: 1.8rem;
    line-height: 1.2;
    margin-bottom: 20px;
    margin-left: 40px;
  }
  .teikei .list {
    display: block;
    text-align: center;
  }
  .teikei .list li {
    display: inline-block;
    margin: 8px;
  }
  .teikei li img {
    max-width: 100%;
  }
}
/* subliminal
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#subm-bg .inner {
    background: url(../images/ourbusiness/subliminal/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .subml01 {
    margin-left: 3%;
    margin-right: 3%;
  }
  .subml01 h2 {
    display: block;
    text-align: center;
    font-weight: 700;
    line-height: 1.3;
    font-size: 2.4rem;
    letter-spacing: 2px;
    margin-bottom: 14px;
    padding-top: 19px;
  }
  .subml01 h2 strong {
    color: #006400;
    font-weight: 700;
  }
  .subml01 .mmt {
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 1.8rem;
    color: #006400;
    line-height: 1.4;
    margin-bottom: 25px;
  }
  .subml01 .list {
    display: block;
  }
  .subml01 dl {
    display: block;
    border: #EFEFEF solid 2px;
    margin-bottom: 16px;
  }
  .subml01 dt {
    padding: 15px 5%;
  }
  .subml01 dt img {
    width: 100%;
  }
  .subml01 dd {
    position: relative;
    font-size: 1.5rem;
    font-weight: bold;
    color: #006400;
    line-height: 1.4;
    padding: 20px 3%;
    text-align: center;
  }
  .subm-list2 {
    display: block;
  }
  .subm-list2 .one {
    display: block;
    position: relative;
    margin-bottom: 25px;
  }
  .subm-list2 .txt {
    display: block;
    background: rgb(71, 196, 193);
    background: linear-gradient(94deg, rgb(71, 196, 193) 0%, rgb(12, 151, 153) 100%);
    padding: 25px 15px 25px 15px;
  }
  .subm-list2 .txt h3 {
    color: #FFF;
    font-weight: bold;
    line-height: 1.2;
    font-size: 2rem;
    margin-bottom: 17px;
  }
  .subm-list2 .txt p {
    display: block;
    color: #FFF;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .subm-list2 .txt ul {
    display: block;
    text-align: right;
    margin-top: 15px;
  }
  .subm-list2 .txt li {
    display: inline-block;
    margin-left: 15px;
    color: #FFF;
    font-size: 1.5rem;
    line-height: 1.4;
  }
  .subm-list2 .txt li a {
    color: #FFF;
    text-decoration: underline;
  }
  .subm-list2 figure {
    width: 100%;
    z-index: 5;
  }
  .subm-list2 figure img {
    width: 100%;
  }
  .tp2-in {
    display: block;
  }
  .tp2-in .box01 figure {
    display: block;
    text-align: center;
  }
  .tp2-in .box01 figure img {
    display: inline-block;
    max-width: 100%;
  }
  .tp2-in .box02 {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .tp2-in.cl2 h2,
  .tp2-in.cl2 p {
    color: #006400;
  }
  .tp2-in .box02 table {
    display: block;
    width: 100%;
    border-collapse: collapse;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 20px;
    overflow: scroll;
  }
  .tp2-in .box02 table th {
    width: 20%;
    min-width: 135px;
    text-align: center;
    vertical-align: middle;
    color: #006400;
    font-size: 1.1rem;
    line-height: 1.5;
    font-weight: 700;
    background: #E5F5F5;
    padding: 12px 0;
  }
  .tp2-in .box02 table td {
    text-align: center;
    vertical-align: middle;
    color: #006400;
    font-size: 1.2rem;
    line-height: 1;
    padding: 12px 0;
    border-bottom: #E5F5F5 solid 1px;
  }
  .tp2-in .box02 table td.ch {
    font-weight: bold;
  }
  .tp2-in .box02 table td small {
    font-size: 1rem;
    margin-right: 2px;
  }
  .tp2-in .box02 table td.mya {
    position: relative;
  }
  .tp2-in .box02 .list {
    display: block;
    padding-left: 3%;
    padding-right: 3%;
  }
  .tp2-in .box02 .list li {
    display: block;
    margin: 10px 0;
  }
  .tp2-in .box02 .list li figure {
    display: block;
  }
  .tp2-in .box02 .list li figure img {
    display: block;
    width: 100%;
  }
  .tp2-in .box02 .list li h3 {
    display: block;
    font-weight: 700;
    line-height: 1;
    font-size: 2rem;
    color: #006400;
    margin-bottom: 9px;
    margin-top: 13px;
  }
  .tp2-in .box02 .list li p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.9;
  }
}
/* SUSTAINABILITY / ESG
-------------------------*/
@media screen and (max-width: 767px) {
  .submainimg#sust-bg .inner {
    background: url(../images/sustainability/main.jpg) top center no-repeat;
    background-size: cover;
  }
  .submainimg#sust-bg h2 {
    font-size: 2rem;
  }
  .submainimg#sust-bg p {
    font-size: 1.8rem;
  }
  .sust-ex {
    display: block;
    margin-top: 20px;
  }
  .sust-ex .bh {
    display: block;
    color: #0B9698;
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 15px;
  }
  .sust-ex .bh br {
    display: none;
  }
  .sust-ex .sh {
    display: block;
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 25px;
  }
  .bt-list {
    display: block;
    text-align: center;
  }
  .bt-list li {
    display: block;
    margin: 7px 0;
  }
  .bt-list li a {
    display: block;
    text-align: center;
    padding: 14px 20px;
    border-radius: 30px;
    color: #0B9698;
    font-size: 1.3rem;
    text-decoration: none;
    font-weight: 700;
    line-height: 1;
    border: #0B9698 solid 2px;
    position: relative;
  }
  .bt-list li a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #0B9698;
    border-right: 2px solid #0B9698;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .bt-list li a:hover {
    background: #0B9698;
    color: #FFF;
  }
  .sus-btn {
    display: block;
    position: relative;
  }
  .sus-btn.bg2 {
    background: url(../images/sustainability/bg2.jpg) right center no-repeat;
    background-size: cover;
  }
  .sus-btn.bg3 {
    background: url(../images/sustainability/bg3.jpg) right top no-repeat;
    background-size: cover;
  }
  .sus-btn .txt {
    display: block;
    position: relative;
    color: #FFF;
    background: #32A0A2;
    padding: 25px 0 80px 0;
  }
  .sus-btn .txt::before {
    position: absolute;
    left: 30px;
    top: 0;
    bottom: 0;
    content: "";
    background: url(../images/sustainability/ico1.svg) top 10px left no-repeat;
    background-size: 49px auto;
    height: 100%;
    width: 80px;
  }
  .sus-btn .txt.ic2::before {
    background: url(../images/sustainability/ico2.svg) center left no-repeat;
    background-size: 33px auto;
  }
  .sus-btn .txt.ic3::before {
    background: url(../images/sustainability/ico3.svg) center left no-repeat;
    background-size: 40px auto;
  }
  .sus-btn .txt h3 {
    display: block;
    margin-left: 110px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 8px;
  }
  .sus-btn .txt small {
    display: block;
    margin-left: 110px;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .sus-btn .btn {
    display: block;
    position: absolute;
    right: 14px;
    bottom: 14px;
    width: 200px;
  }
  .sus-btn .btn a {
    display: block;
    background: #FFF;
    text-decoration: none;
    line-height: 1;
    color: #32A0A2;
    padding: 15px 0;
    border: #32A0A2 solid 1px;
    position: relative;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
  }
  .sus-btn .btn a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 13px;
    margin: auto;
    content: "";
    width: 5px;
    height: 5px;
    border-bottom: 2px solid #32A0A2;
    border-right: 2px solid #32A0A2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .sus-inner {
    padding-bottom: 40px;
  }
  .sus-inner .tops {
    display: block;
    padding: 25px 10px 30px 10px;
  }
  .sus-inner .tops h2 {
    display: block;
    color: #006400;
    font-size: 2.6rem;
    line-height: 1.2;
    font-weight: 700;
    padding-left: 40px;
    padding-top: 7px;
    padding-bottom: 55px;
    background: url(../images/sustainability/ico1-gr.svg) left top no-repeat;
    background-size: 43px auto;
  }
  .sus-inner .tops h2.ic2 {
    background: url(../images/sustainability/ico2-gr.svg) left top no-repeat;
    background-size: 35px auto;
  }
  .sus-inner .tops h2.ic3 {
    background: url(../images/sustainability/ico3-gr.svg) left top no-repeat;
    background-size: 35px auto;
  }
  .sus-inner .tops h3 {
    display: block;
    font-weight: bold;
    line-height: 1.5;
    color: #006400;
    font-size: 2rem;
    margin-bottom: 2px;
  }
  .sus-inner .tops p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.8;
    margin-bottom: 20px;
  }
  .sup-blue1 {
    display: block;
    background: #CCEAEA;
    padding: 20px 15px 20px 15px;
    margin-bottom: 25px;
  }
  /*.sup-blue1 h3 {
  	display: block;
  	text-align: center;
  	font-weight: bold;
  	line-height: 1.4;
  	font-size: 2.2rem;
  	margin-bottom: 20px;
  }*/
  .sup-blue1 .lfs {
    display: block;
  }
  .sup-blue1 .lfs figure {
    display: block;
    margin-bottom: 15px;
  }
  .sup-blue1 .lfs figure img {
    width: 100%;
  }
  .sup-blue1 .lfs .txt {
    display: block;
  }
  .sup-blue1 .lfs .txt h4 {
    display: block;
    font-size: 1.7rem;
    line-height: 1.3;
    color: #0B9698;
    font-weight: bold;
    margin-bottom: 15px;
  }
  .sup-blue1 .lfs .txt h3 {
    display: block;
    font-size: 1.9rem;
    line-height: 1.3;
    color: #0B9698;
    font-weight: bold;
    margin-bottom: 15px;
  }
  .sup-blue1 .lfs .txt b {
    display: block;
    color: #0B9698;
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .sup-blue1 .lfs .txt p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.8;
    padding-bottom: 14px;
    word-break: break-all;
  }
  .sut-float {
    display: block;
  }
  .sut-float .txt {
    display: block;
    margin-bottom: 20px;
  }
  .sut-float .txt h3 {
    display: block;
    color: #0B9698;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 5px;
  }
  .sut-float .txt p {
    display: block;
    font-size: 1.4rem;
    line-height: 1.8;
    padding-bottom: 25px;
  }
  .sut-float .txt p.no {
    color: #000;
    padding-bottom: 20px;
  }
  .sut-float figure {
    display: block;
    max-width: 50%;
    margin: auto;
    padding-bottom: 80px;
  }
  .sut-float figure img {
    width: 100%;
  }
  .sut-float-center figure {
    display: block;
    width: 80%;
    margin: 0 auto 30px auto;
  }
  .sut-float-center ul li {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
  .ml-150 {
    margin-left: 10px;
  }
  .sut-bnr {
    display: block;
  }
  .sut-bnr .one2 {
    display: block;
    margin-bottom: 50px;
    margin-top: 10px;
  }
  .sut-bnr .one2 figure {
    display: block;
    text-align: center;
  }
  .sut-bnr .one2 figure img {
    display: inline-block;
    max-width: 120px;
  }
  .sut-bnr .one2 p {
    display: block;
    margin-top: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  #acMenu dt {
    display: block;
    cursor: pointer;
  }
  #acMenu dd {
    display: none;
  }
}
/* FAQ
-------------------------*/
@media screen and (max-width: 767px) {
  .faq-base {
    display: block;
    padding-bottom: 30px;
  }
  .faq-base dl {
    display: block;
  }
  .faq-base dt {
    display: block;
    position: relative;
    font-size: 1.6rem;
    line-height: 1.4;
    font-weight: bold;
    padding-left: 50px;
    padding-top: 12px;
    padding-bottom: 12px;
    margin-bottom: 25px;
  }
  .faq-base dt::before {
    position: absolute;
    left: 0px;
    top: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 1.9rem;
    font-weight: bold;
    line-height: 1.2;
    width: 40px;
    height: 40px;
    content: "Q.";
    font-family: Verdana;
    color: #c0ab8a;
    border-bottom: #c0ab8a solid 1px;
    border-right: #c0ab8a solid 1px;
  }
  .faq-base dd {
    display: block;
    position: relative;
    font-size: 1.6rem;
    line-height: 2;
    padding-left: 50px;
    margin-bottom: 35px;
  }
  .faq-base dd a {
    text-decoration: underline;
    color: #2372b5;
  }
  .faq-base dd a:hover {
    text-decoration: none;
  }
  .faq-base dd::before {
    position: absolute;
    left: 0px;
    top: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 1.9rem;
    font-weight: bold;
    line-height: 1.2;
    width: 40px;
    height: 40px;
    content: "Q.";
    font-family: Verdana;
    background: #c0ab8a;
    color: #FFF;
    border-bottom: #c0ab8a solid 1px;
    border-right: #c0ab8a solid 1px;
  }
  .contact-box .mw_wp_form_confirm td {
    font-size: 1.5rem;
    line-height: 1.5;
  }
  .contact-box .mw_wp_form_confirm .privs-check {
    display: none !important;
  }
}
/* modal
-------------------------*/
@media screen and (max-width: 767px) {
  #lean_overlay {
    position: fixed;
    z-index: 100;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    background: #000;
    display: none;
  }
  .modbase {
    background: none repeat scroll 0 0 #FFFFFF;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
    display: none;
    padding: 25px 2%;
    width: 90%;
    margin-left: 4%;
    margin-right: 4% ；;
  }
  .modbase .wr {
    display: block;
    font-weight: bold;
    max-height: 340px;
    overflow: auto;
  }
  .modbase .wr .lef {
    display: block;
    margin-bottom: 20px;
  }
  .modbase .wr .lef figure {
    display: none;
    margin-left: 17%;
    margin-right: 17%;
    margin-bottom: 15px;
  }
  .modbase .wr .lef figure img {
    width: 100%;
  }
  .modbase .wr .lef small {
    display: block;
    font-size: 1.3rem;
    line-height: 1;
    color: #0B9698;
    font-weight: 500;
    border-bottom: #0B9698 solid 2px;
    padding-bottom: 7px;
    margin-bottom: 10px;
  }
  .modbase .wr .lef h4 {
    display: block;
    color: #0B9698;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 15px;
  }
  .modbase .wr .lef p {
    display: block;
    color: #0B9698;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .modbase .wr .ref {
    display: block;
  }
  .modbase .wr .ref h4 {
    display: block;
    color: #0B9698;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 15px;
  }
  .modbase .wr .ref p {
    display: block;
    font-size: 1.3rem;
    line-height: 1.7;
    margin-bottom: 15px;
  }
  .modbase .wr .ref ul {
    display: block;
    margin-left: 14px;
  }
  .modbase .wr .ref li {
    margin-bottom: 3px;
    list-style-type: disc;
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .modal_close {
    position: absolute;
    top: -22px;
    right: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #0B9698;
    border: #0B9698 solid 2px;
    width: 30px;
    height: 30px;
    font-size: 1.6rem;
    line-height: 1;
    background: #FFF;
    overflow: hidden;
    z-index: 2;
    cursor: pointer;
  }
  .privs {
    display: block;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .privs h3 {
    font-size: 1.7rem;
    display: block;
    border-bottom: #ccc solid 1px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-weight: bold;
  }
  .privs p {
    margin-bottom: 18px;
  }
  .privs table {
    border-left: #ccc solid 1px;
    border-top: #ccc solid 1px;
    margin-bottom: 18px;
    width: 99% !important;
    margin-left: 0 !important;
  }
  .privs table th,
  .privs table td {
    border-right: #ccc solid 1px;
    border-bottom: #ccc solid 1px;
    padding: 6px 14px;
    font-size: 1.2rem;
    width: auto !important;
  }
  .diversity-txt p {
    font-size: 1.4rem;
  }
  /*====== 縦線が動いてスクロールを促す =======*/
  /*スクロールダウン全体の場所*/
  .scrolldown1 {
    /*描画位置※位置は適宜調整してください*/
    position: absolute;
    left: 50%;
    bottom: 10px;
    /*全体の高さ*/
    height: 50px;
  }
  /*Scrollテキストの描写*/
  .scrolldown1 span {
    /*描画位置*/
    position: absolute;
    left: -15px;
    top: -15px;
    /*テキストの形状*/
    color: #000000;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
  }
  /* 線の描写 */
  .scrolldown1::before {
    content: "";
    /*描画位置*/
    position: absolute;
    top: 0;
    /*線の形状*/
    width: 1px;
    height: 30px;
    background: #000000;
    /*線の動き1.4秒かけて動く。永遠にループ*/
    animation: pathmove 1.4s ease-in-out infinite;
    opacity: 0;
  }
  /*高さ・位置・透過が変化して線が上から下に動く*/
  @keyframes pathmove {
    0% {
      height: 0;
      top: 0;
      opacity: 0;
    }
    30% {
      height: 30px;
      opacity: 1;
    }
    100% {
      height: 0;
      top: 50px;
      opacity: 0;
    }
  }
  /*モーダル右下のGIF表示用*/
  .lefg {
    position: relative;
  }
  .lefg ::after {
    position: absolute;
    content: "";
    top: 260px;
    right: 3%;
    width: 4%;
    height: 9%;
    background-image: url(https://test.gpssgroup.jp/_cms/wp-content/themes/gpss-new/images/aboutus/iconarrow.gif);
    background-size: contain;
    background-repeat: no-repeat;
  }
  /*Careerページ用*/
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .cr-icn {
    content: "";
    background-repeat: no-repeat;
    background-size: 2em;
    display: flex !important;
    align-items: center;
    height: 2em;
    padding-left: 2.7em;
  }
}
/*------------------------------------------------------------------------
 * 様々なワークスタイル
/*------------------------------------------------------------------------ */
@media screen and (max-width: 767px) {
  .top-text {
    display: block;
    text-align: center;
    padding: 20px 0;
  }
  .top-text .fix-1200 {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
  .top-text p {
    display: block;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.9;
    color: #5B6770;
    margin-bottom: 20px;
  }
  .sc-list {
    display: block;
  }
  .sc-list ul {
    width: 100%;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
  }
  .sc-list li {
    width: 49%;
    margin-bottom: 50px;
    font-family: "Montserrat", sans-serif;
  }
  .sc-list li img {
    max-width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
  .sc-list2 {
    display: block;
  }
  .sc-list2 ul {
    width: 100%;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
  }
  .sc-list2 li {
    display: flex;
    justify-content: center;
    width: 49%;
    margin-bottom: 50px;
    font-family: "Montserrat", sans-serif;
  }
  .sc-list2 li img {
    max-width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
  .sc-list3 {
    display: block;
  }
  .sc-list3 ul {
    width: 100%;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
  }
  .sc-list3 li {
    display: flex;
    justify-content: center;
    width: 49%;
    margin-bottom: 50px;
    font-family: "Montserrat", sans-serif;
  }
  .sc-list3 li img {
    max-width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }
}
/*------------------------------------------------------------------------
 * 様々なワークスタイル
/*------------------------------------------------------------------------ */
@media screen and (max-width: 879px) {
  .modbase2 {
    background: none repeat scroll 0 0 #FFFFFF;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
    padding: 25px 0px 0px 0px;
    max-width: 480px;
    width: 95%;
    background-color: #006400;
    top: 82px !important;
  }
  .modbase2 .wr .lef {
    display: block;
    float: left;
    width: 100%;
    margin-bottom: 0;
  }
  .modbase2 .wr .lef p {
    color: #fff;
  }
  .modbase2 .wr .lef figure {
    display: block;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0px;
  }
  .modbase2 .wr {
    max-height: 270px;
    overflow: scroll;
    padding-bottom: 80px;
  }
  .ca-icn {
    content: "";
    background-repeat: no-repeat;
    background-size: 80px;
    display: flex !important;
    align-items: center;
    height: 80px;
    padding-left: 80px;
    border-radius: 50%;
    max-width: 80px;
  }
  .ca-li {
    display: flex;
    list-style: none;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .ca-li p {
    text-align: left;
    font-size: 1em !important;
    font-weight: 600;
    margin: 0 10px 20px 25px;
  }
}
@media screen and (max-width: 767px) {
  .modbase3 {
    background: none repeat scroll 0 0 #FFFFFF;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
    display: none;
    padding: 25px 2%;
    width: 90%;
    margin-left: 4%;
    margin-right: 4%;
  }
  .modbase3 .wr {
    display: flex;
    font-weight: bold;
    max-height: 340px;
    overflow: auto;
  }
  .modbase3 .wr .lef {
    display: block;
    width: 20%;
    margin-bottom: 20px;
  }
  .modbase3 .wr .lef figure {
    display: block;
    margin-left: 17%;
    margin-right: 17%;
    margin-bottom: 15px;
  }
  .modbase3 .wr .lef figure img {
    width: 100%;
  }
  .modbase3 .wr .lef small {
    display: block;
    font-size: 1.3rem;
    line-height: 1;
    color: #0B9698;
    font-weight: 500;
    border-bottom: #0B9698 solid 2px;
    padding-bottom: 7px;
    margin-bottom: 10px;
  }
  .modbase3 .wr .lef h4 {
    display: block;
    color: #0B9698;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 15px;
  }
  .modbase3 .wr .lef p {
    display: block;
    color: #0B9698;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .modbase3 .wr .ref {
    display: block;
    width: 70%;
  }
  .modbase3 .wr .ref p {
    display: block;
    font-size: 1.3rem;
    line-height: 1.7;
    margin-bottom: 15px;
  }
  .modbase3 .wr .ref ul {
    display: block;
    margin-left: 14px;
  }
  .modbase3 .wr .ref li {
    margin-bottom: 3px;
    list-style-type: disc;
    font-size: 1.2rem;
    line-height: 1.5;
  }
  /*=============================
  	トップページ日本地図
  ===============================*/
  .flex .ref2 {
    display: none;
  }
  .topbox02 .fix-1100 .flex2 {
    position: absolute;
    z-index: 14;
    color: #fff;
    font-size: 13px;
    padding: 10px 15px;
    bottom: 30px;
    left: 0;
  }
  .topbox02 .fix-1100 .flex2.subl {
    display: flex;
    width: 60%;
  }
  .topbox02 .fix-1100 .flex2.subr {
    display: flex;
    width: 39%;
    right: 0;
    left: unset;
    justify-content: end;
    font-size: 13px;
  }
  .ti_sp {
    position: absolute;
    height: 115vw;
    width: 100%;
    background: rgba(0, 100, 0, 0.8392156863);
  }
  .tacks_sp {
    position: relative;
    z-index: 10;
  }
  .topbox05 .box01 {
    display: block;
    position: relative;
    padding: 30px 0 10px 0;
    z-index: 10;
  }
  .topbox05 .fi-t1 {
    z-index: 1;
    margin-left: 4%;
  }
  .topbox05 .ti2 {
    z-index: 10;
  }
  .topbox05 .ti_sp {
    height: 104vw;
  }
  .topbox05 .fix-1100 .flex {
    position: relative;
    z-index: 1;
  }
  .topbox05 .fix-1100 .flex2 {
    position: absolute;
    z-index: 14;
    color: #fff;
    font-size: 13px;
    padding: 10px 15px;
    bottom: 30px;
    left: 0;
  }
  .topbox05 .fix-1100 .flex2.subl {
    display: flex;
    width: 60%;
  }
  .topbox05 .fix-1100 .flex2.subr {
    display: flex;
    width: 39%;
    right: 0;
    left: unset;
    justify-content: end;
    font-size: 13px;
  }
  .box01 .ex {
    content: "";
  }
  .tp2-ex {
    position: relative;
    z-index: 1;
  }
  .tp2-ex .m4 {
    margin-left: 4%;
  }
  .sus-table {
    width: 100%;
  }
  .sus-table--large {
    width: 80%;
    margin: 60px auto 0 auto;
  }
  .sus-table table {
    width: 100%;
  }
  .sus-table table th,
  .sus-table table td {
    text-align: center;
    vertical-align: middle;
    border: 1px solid #fff;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: 700;
    background: #EEF1F1;
    padding: 5px;
    word-break: normal;
  }
  .sus-table table .thgreen {
    background-color: #006400;
    color: #fff;
  }
  .sus-table table .thgray {
    background-color: #7D8D8E;
    color: #fff;
  }
  .sus-table--large table th,
  .sus-table--large table td {
    padding: 20px 5px !important;
  }
  .sus-table--large br {
    content: "";
    margin-bottom: 10px;
    display: block;
  }
  .sus-table-blue {
    width: 100%;
  }
  .sus-table-blue table {
    width: 100%;
  }
  .sus-table-blue table th {
    text-align: left;
    padding: 12px;
    font-weight: bold;
    background-color: #D7E5F3;
    vertical-align: middle;
    font-size: 1.4rem;
    line-height: 1.2;
    border: 1px solid #333;
  }
  .sus-table-blue table td {
    text-align: center;
    vertical-align: middle;
    border: 1px solid #333;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: 700;
    background: #fff;
    padding: 5px;
    word-break: break-all;
  }
  .sus-table-blue--normal {
    overflow: auto;
  }
  .sus-table-blue--small {
    width: 80%;
    margin: 0 auto;
  }
  .sus-table-blue--small table,
  .sus-table-blue--normal table {
    width: 100%;
  }
  .sus-table-blue--small table th,
  .sus-table-blue--normal table th {
    text-align: left;
    padding: 12px;
    font-weight: bold;
    background-color: #D7E5F3;
    vertical-align: middle;
    font-size: 1.4rem;
    line-height: 1.2;
    border: 1px solid #333;
  }
  .sus-table-blue--small table td,
  .sus-table-blue--normal table td {
    text-align: center;
    vertical-align: middle;
    border: 1px solid #333;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: 700;
    background: #fff;
    padding: 5px;
    word-break: break-all;
  }
  .diversity-txt {
    display: block;
    font-size: 1.8rem;
    line-height: 1.8;
  }
  .diversity-txt figure {
    width: 50%;
    margin: auto;
    padding: 0 0 3% 3%;
    box-sizing: content-box;
  }
  .diversity-txt span {
    font-weight: bold;
    text-decoration: underline;
  }
  .diversity-txt br {
    margin-bottom: 15px;
    content: "";
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .soc {
    padding-top: 30px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .soc2 {
    margin-left: 10px;
  }
  .soc-cf {
    display: flex;
    width: 100%;
  }
  .soc-ul {
    display: block;
    width: 100%;
    justify-content: space-between;
  }
  .soc3 {
    width: 100%;
    padding-left: 0;
    padding-bottom: 30px;
  }
  .soc4 {
    font-weight: 600;
    font-size: 1.5rem;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .soc5 {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.8;
  }
  .soc-a {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.8;
  }
  .content-padding {
    padding-top: 200px;
  }
  /*グループ情報ページ用*/
  .top-catch2 {
    position: unset;
  }
  .top-catch2 p {
    color: #0e9598;
  }
  .top-catch-movie {
    display: block;
    background-color: #006400;
    position: unset;
    width: 100%;
    text-align: center;
  }
  .top-catch-movie p {
    display: block;
    text-align: center;
    font-size: clamp(11px, 1.2vw, 18px);
    font-weight: 600;
    line-height: 1.9;
    color: #ffffff;
    margin: 0 auto;
    padding-bottom: 40px;
  }
  .top-catch-movie p b {
    font-size: clamp(16px, 1.5vw, 22px);
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) {
  .pt100 {
    padding-top: 100px;
  }
  .dev-top {
    width: 100%;
    display: flex;
    flex-flow: column;
    align-items: center;
    background: url(../images/mv.jpg) no-repeat center;
    background-size: cover;
    padding: 80px 20px;
    margin-bottom: 100px;
  }
  .dev-top__title {
    font-size: 2.8rem;
    line-height: 3.8rem;
    color: #fff;
    margin-bottom: 40px;
    font-weight: 700;
    text-align: center;
  }
  .dev-top__text {
    font-size: 1.8rem;
    line-height: 2.4rem;
    color: #fff;
    margin-bottom: 20px;
    font-weight: 700;
    text-align: center;
    width: 70%;
  }
  .dev-top__text--small {
    font-size: 1.4rem;
    line-height: 1.4rem;
  }
  .dev-top__text--white {
    color: #fff;
  }
  .dev-top__link {
    width: 100%;
    color: #FFF;
    border: none;
    font-size: 1.8rem;
    line-height: 1.8;
    cursor: pointer;
    color: #fff !important;
    border: 5px solid #fff;
    text-decoration: none !important;
    padding: 20px 40px;
    text-align: center;
    display: inline-block;
    margin: 20px 0 40px 0;
    border-radius: 40px;
  }
  .dev_news {
    background-color: #F2F2F2;
    padding: 40px 20px;
    margin-bottom: 100px;
  }
  .dev_news__title {
    font-size: 3.8rem;
    line-height: 3.8rem;
    color: #006400;
    margin-bottom: 40px;
    font-weight: 700;
  }
  .dev_news__list {
    width: 100%;
    display: flex;
    gap: 20px;
    flex-flow: column;
    max-height: 150px;
    overflow-y: auto;
  }
  .dev_news__list__item {
    display: block;
    width: 100%;
  }
  .dev_news__list__item a {
    font-size: 1.6rem;
    line-height: 1.6rem;
    text-decoration: none !important;
  }
  .dev_business {
    background-color: #F2F2F2;
    padding: 40px 20px;
    margin-bottom: 100px;
  }
  .dev_business__title {
    font-size: 3.8rem;
    line-height: 3.8rem;
    color: #006400;
    margin-bottom: 40px;
    font-weight: 700;
  }
  .dev_business__content {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    width: 100%;
  }
  .dev_business__text {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
  }
  .dev_business__text__string {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-bottom: 10px;
  }
  .dev_business__text__btn {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .dev_business__text__btn a {
    color: #FFF;
    border: none;
    font-size: 1.8rem;
    line-height: 1.8;
    font-weight: bold;
    background: #006400;
    cursor: pointer;
    color: #fff !important;
    text-decoration: none !important;
    padding: 20px 40px;
    text-align: center;
    display: inline-block;
  }
  .dev_business__images {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
  .dev_business__images {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .dev_business__images__img {
    width: 48%;
  }
  .dev_business__images__img img {
    max-width: 100%;
  }
  .dev_company {
    background-color: #F2F2F2;
    padding: 40px 20px;
  }
  .dev_company__title {
    font-size: 3.8rem;
    line-height: 3.8rem;
    color: #006400;
    margin-bottom: 40px;
    font-weight: 700;
  }
  .dev_company__content {
    display: flex;
    justify-content: space-between;
    flex-flow: column;
    width: 100%;
  }
  .dev_company__text {
    width: 100%;
    display: flex;
    flex-direction: column;
    border-top: 1px solid #ccc;
  }
  .dev_company__item {
    font-size: 1.6rem;
    line-height: 2.4rem;
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex;
    border-bottom: 1px solid #ccc;
  }
  .dev_company__term {
    width: 25%;
    color: #006400;
  }
  .dev_company__description {
    text-align: left;
    width: 75%;
  }
  .dev_company__images {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
  .dev_company__images {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .dev_company__images__img {
    width: 100%;
  }
  .dev_company__images__img img {
    max-width: 100%;
  }
}

/*# sourceMappingURL=app.css.map */
