/* common */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300&display=swap");

progress,
sub,
sup {
  vertical-align: baseline;
}
button,
hr,
input {
  overflow: visible;
}
[aria-disabled],
html {
  cursor: default;
}
#menu_panel .inner,
*,
[type="checkbox"],
[type="radio"],
legend {
  padding: 0;
}
nav ol,
nav ul,
ol,
ul {
  list-style: none;
}
svg,
svg path,
svg.icon {
  fill: currentColor;
}
*,
.home #sec_corporateinfo ul.table li,
.inner,
.nav-toggle,
::after,
::before,
html {
  box-sizing: border-box;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
*,
::after,
::before {
  background-repeat: no-repeat;
}
::after,
::before {
  vertical-align: inherit;
  text-decoration: inherit;
}
html {
  font-family: sans-serif;
  line-height: 1.5;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
small,
sub,
sup {
  font-size: 83.3333%;
}
hr {
  height: 0;
}
abbr[title] {
  text-decoration: none;
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bolder;
}
dfn {
  font-style: italic;
}
mark {
  color: #000;
  background-color: #ff0;
}
sub,
sup {
  line-height: 0;
  position: relative;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
::-moz-selection {
  color: #000;
  background-color: #b3d4fc;
  text-shadow: none;
}
::selection {
  color: #000;
  background-color: #b3d4fc;
  text-shadow: none;
}
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
  width: 100%;
}
img {
  border-style: none;
}
svg:not(:root) {
  overflow: hidden;
}
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
a:hover {
  outline-width: 0;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
button,
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  font-size: 1em;
  margin: 0;
  color: inherit;
  background-color: transparent;
}
button,
select {
  text-transform: none;
}
[type="reset"],
[type="submit"],
button,
html [type="button"] {
  -webkit-appearance: button;
}
::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
:-moz-focusring {
  outline: ButtonText dotted 1px;
}
fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
  border: 1px solid silver;
}
legend {
  display: table;
  max-width: 100%;
  white-space: normal;
}
textarea {
  overflow: auto;
  resize: vertical;
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
}
::-webkit-search-cancel-button,
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-input-placeholder {
  opacity: 0.54;
  color: inherit;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
[aria-busy="true"] {
  cursor: progress;
}
[aria-controls] {
  cursor: pointer;
}
[tabindex],
a,
area,
button,
input,
label,
select,
textarea {
  touch-action: manipulation;
}
[hidden][aria-hidden="false"] {
  position: absolute;
  display: inherit;
  clip: rect(0, 0, 0, 0);
}
[hidden][aria-hidden="false"]:focus {
  clip: auto;
}
* {
  margin: 0;
}
picture,
source {
  display: block;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.8;
  color: #000;
  background: #fff;
}
#footer,
#header nav ul,
#menu_panel .inner .items ul,
.home main #sec_message .inner .desc dl dt,
h1,
h2,
h3,
h4,
h5 {
  font-family: "Noto Sans JP", sans-serif;
}
#wrap {
  position: relative;
  width: 100%;
  z-index: 0;
}
.inner {
  width: 100%;
  padding: 0 6.8%;
  margin: 10px 0;
}
.pc {
  display: none;
}
a,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="image"] {
  transition: all 0.3s linear;
  text-decoration: none;
  color: #000;
}
a:active,
a:focus,
a:hover,
button:active,
button:focus,
button:hover,
input[type="button"]:active,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
input[type="submit"]:hover,
input[type="image"]:active,
input[type="image"]:focus,
input[type="image"]:hover {
  color: #000;
}
a:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
input[type="image"]:hover {
  opacity: 0.8;
  filter: alpha(Opacity=$opacityIE);
}
.truncation {
  visibility: hidden;
  transition: all 0.6s linear;
  opacity: 0;
  filter: alpha(Opacity=$opacityIE);
}
.truncation.ready {
  visibility: visible;
  opacity: 1;
  filter: alpha(enabled=false);
}
/* animation */
.animate {
  transition: all 1.2s ease-out 0.2s;
  transform: translate3d(0, 20px, 0);
  opacity: 0;
  filter: alpha(Opacity=$opacityIE);
}
.animate.animate-done {
  transform: translate3d(0, 0, 0);
  opacity: 1;
  filter: alpha(enabled=false);
}
[data-bgset],
[data-src],
[data-srcset] {
  transition: opacity 1.2s linear 0.1s;
  opacity: 0;
  filter: alpha(Opacity=$opacityIE);
}
[data-bgset].lazyloaded,
[data-bgset].loaded,
[data-src].lazyloaded,
[data-src].loaded,
[data-srcset].lazyloaded,
[data-srcset].loaded {
  opacity: 1;
  filter: alpha(enabled=false);
}
[data-sizes="auto"] {
  display: block;
  width: 100%;
}

/* nav */
.nav-toggle {
  position: fixed;
  z-index: 10000;
  top: 25px;
  left: 25px;
  display: block;
  visibility: hidden;
  width: 45px;
  height: 40px;
  margin: -10px 0 0 -10px;
  padding: 10px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: transform 0.3s linear;
  transform: translate(0, -30px);
  transform: translate3d(0, -30px, 0);
  opacity: 0;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  filter: alpha(Opacity=$opacityIE);
}
.nav-toggle span,
.nav-toggle:after,
.nav-toggle:before {
  font-size: 0;
  position: absolute;
  top: 50%;
  left: 10px;
  display: block;
  width: 25px;
  height: 4px;
  margin-top: -2px;
  content: "";
  transition: all 0.33s linear, background 0.33s linear;
  background: #191970;
}
.nav-toggle:before {
  transform: translateY(-8px);
}
.nav-toggle:after {
  transform: translateY(8px);
}
#menu_panel {
  position: fixed;
  z-index: 9000;
  top: 0;
  right: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  transition: transform 0.33s cubic-bezier(0.47, 0, 0.745, 0.715),
    z-index 0.33s cubic-bezier(0.47, 0, 0.745, 0.715);
  transform: translate(-100%, 0);
  transform: translate3d(-100%, 0, 0);
  background: #fff;
}
#menu_panel .inner {
  display: table;
  width: 100%;
  height: 100%;
}
#menu_panel .inner .items {
  display: table-cell;
  vertical-align: middle;
}
#menu_panel .inner .items .logo {
  margin-bottom: 90px;
  text-align: center;
}
#menu_panel .inner .items .logo img {
  width: 75.6%;
  max-width: 283px;
  height: auto;
}
#menu_panel .inner .items ul {
  font-size: 16px;
  font-size: 1rem;
  width: 235px;
  margin: 0 auto;
}
#menu_panel .inner .items ul li {
  margin-top: 10px;
}
#menu_panel .inner .items ul li dl {
  display: table;
  width: 100%;
}
#menu_panel .inner .items ul li dl dd,
#menu_panel .inner .items ul li dl dt {
  display: table-cell;
  vertical-align: top;
}
#menu_panel .inner .items ul li dl dd {
  padding-left: 65px;
}
#menu_panel .inner .items ul li dl dd ul {
  width: auto;
  margin: 0;
}
#menu_panel .inner .items ul li dl dd ul li {
  margin: 3px 0 0;
}
#menu_panel .inner .items ul li dl dd ul li a {
  display: inline-block;
}
#menu_panel .inner .items ul li dl dd ul li:first-child {
  margin-top: 0;
}
.collapsed-menu .nav-toggle {
  visibility: visible;
  transform: translate(0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
  filter: alpha(enabled=false);
}
.collapsed-menu #header nav {
  visibility: hidden;
  transform: translate(0, -30px);
  transform: translate3d(0, -30px, 0);
  opacity: 0;
  filter: alpha(Opacity=$opacityIE);
}
.active-panel .nav-toggle {
  visibility: visible;
  opacity: 1;
  filter: alpha(enabled=false);
}
.active-panel .nav-toggle span,
.active-panel .nav-toggle:after,
.active-panel .nav-toggle:before {
  background: #000;
}
.active-panel #menu_panel {
  transform: translate(0, 0);
  transform: translate3d(0, 0, 0);
}

/* header */
#header nav {
  font-size: 20px;
  font-size: 1.25rem;
  position: absolute;
  z-index: 1000;
  left: 0;
  box-sizing: border-box;
  border-bottom: 1px solid #eee;
  background: #fff;
}
#header {
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  #header #main_visual {
    height: 40vh;
  }

  #header #main_visual h1 {
    text-align: center;
  }

  #header #main_visual h1 img {
    width: 70%;
  }
}

@media only screen and (min-width: 769px) {
  /* #header #main_visual {
    height: 50vh;
  } */

  #header nav ul {
    line-height: 2;
    padding-bottom: 24px;
  }

  #header #main_visual .inner {
    display: table;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 0;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
  }
  #header #main_visual .inner h1 {
    text-align: center;
    vertical-align: middle;
  }
  #header #main_visual .inner h1 a {
    display: inline-block;
    width: 75.6%;
    max-width: 283px;
  }
  /* #header #main_visual .inner h1 a img {
    width: 80%;
    height: auto;
    padding-right: 100px;
    transition: all 1.2s ease-out;
    transform: translate3d(0, 40px, 0);
    opacity: 0;
    filter: alpha(Opacity=$opacityIE);
  } */

  #header #main_visual .inner.lazyloaded h1 a img,
  #header nav {
    transform: translate3d(0, 0, 0);
    opacity: 1;
    filter: alpha(enabled=false);
  }
  #header nav {
    font-size: 17px;
    font-size: 1.0625rem;
    position: absolute;
    z-index: 10000;
    bottom: 0;
    left: 0;
    visibility: visible;
    width: 100%;
    transition: all 0.3s linear;
  }
  #header nav ul {
    font-size: 14px;
  }
}

video {
  background-color: #fff;
}

/* footer */
#footer {
  padding: 20px;
  text-align: center;
}
#footer .inner nav {
  font-size: 18px;
  font-size: 1.125rem;
}
#footer .inner nav ul li a {
  display: inline-block;
}
#footer .inner dl {
  margin-top: 50px;
}
#footer .inner dl dt figure {
  display: inline-block;
  width: 110px;
}
#footer .inner dl dt figure img {
  width: 100%;
  height: auto;
}
#footer .inner dl dd {
  font-size: 12px;
  font-size: 0.75rem;
  margin-top: 25px;
}

/* section */
.home main .sec {
  padding: 50px 0;
}
.home main .sec h2 {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 400;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
}
.home main .sec .lead {
  font-size: 13px;
  font-size: 0.8125rem;
}
.home main #sec_message,
.home main #sec_contents,
.home main #sec_works,
.home main #volunteer_works,
.home main #sec_corporateinfo,
.home main #sec_news {
  text-align: center;
}

/* news */
.home main #sec_news .inner ul {
  text-align: left;
}
.home main #sec_news .inner ul li {
  margin-bottom: 1em;
}
.home main #sec_news .inner ul li dl dt {
  font-size: 9px;
  font-size: 0.5625rem;
}
.home main #sec_news .inner ul li dl dt .cat {
  margin-left: 8px;
}
.home main #sec_news .inner ul li dl dd {
  font-size: 11px;
  font-size: 0.6875rem;
}
.home main #sec_news .inner ul li dl dd a {
  text-decoration: underline;
  color: #e00000;
}
.home main #sec_news .inner ul li dl dd a:hover {
  text-decoration: none;
}

/* sec_message */
.home main #sec_message {
  background-image: repeating-linear-gradient(
      to bottom,
      transparent 25px,
      rgba(0, 0, 0, 0.04) 26px,
      rgba(0, 0, 0, 0.04) 26px,
      transparent 27px,
      transparent 51px,
      rgba(0, 0, 0, 0.04) 52px,
      rgba(0, 0, 0, 0.04) 52px,
      transparent 53px,
      transparent 77px,
      rgba(0, 0, 0, 0.04) 78px,
      rgba(0, 0, 0, 0.04) 78px,
      transparent 79px,
      transparent 103px,
      rgba(0, 0, 0, 0.04) 104px,
      rgba(0, 0, 0, 0.04) 104px,
      transparent 105px,
      transparent 129px,
      rgba(0, 0, 0, 0.04) 130px,
      rgba(0, 0, 0, 0.04) 130px
    ),
    repeating-linear-gradient(
      to right,
      transparent 25px,
      rgba(0, 0, 0, 0.04) 26px,
      rgba(0, 0, 0, 0.04) 26px,
      transparent 27px,
      transparent 51px,
      rgba(0, 0, 0, 0.04) 52px,
      rgba(0, 0, 0, 0.04) 52px,
      transparent 53px,
      transparent 77px,
      rgba(0, 0, 0, 0.04) 78px,
      rgba(0, 0, 0, 0.04) 78px,
      transparent 79px,
      transparent 103px,
      rgba(0, 0, 0, 0.04) 104px,
      rgba(0, 0, 0, 0.04) 104px,
      transparent 105px,
      transparent 129px,
      rgba(0, 0, 0, 0.04) 130px,
      rgba(0, 0, 0, 0.04) 130px
    );
}
.home main #sec_message .inner .desc dl {
  margin-top: 100px;
}
.home main #sec_message .inner .desc dl dd {
  font-size: 18px;
  font-size: 1.125rem;
  margin-top: 20px;
}
.home main #sec_message .inner .desc .vision dd ul {
  display: flex;
  width: 100%;
  max-width: 341px;
  margin: 10px auto 0;
  justify-content: space-between;
}
.home main #sec_message .inner .desc .vision dd ul:first-child {
  margin-top: 0;
}
.home main #sec_message .inner .items {
  padding-top: 20px;
}
.home main #sec_message .inner .items dl {
  margin-top: 20px;
}
.home main #sec_message .inner .items dl dt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
}
.home main #sec_message .inner .items dl dd {
  font-size: 11px;
  font-size: 0.6875rem;
  margin-top: 5px;
}

/* sec_contents */
.home main #sec_contents {
  background-color: #f5f5f5;
}
.home main #sec_contents .inner {
  margin-top: 30px;
}
.home main #sec_contents .inner img {
  width: 100%;
  max-width: 327px;
  height: auto;
}
.home main #sec_contents .inner ul {
  display: flex;
  width: 100%;
  margin-top: 40px;
  text-align: left;
  flex-wrap: wrap;
}
.home main #sec_contents .inner ul li {
  margin: 30px 6.2% 0 0;
  flex: 0 1 46.9%;
}
.home main #sec_contents .inner ul li .name {
  height: 60px;
  text-align: center;
  line-height: 1.5;
}
.home main #sec_contents .inner ul li figure img {
  width: 100%;
  height: auto;
}
.home main #sec_contents .inner ul li figure figcaption {
  font-size: 11px;
  font-size: 0.6875rem;
  line-height: 1.55;
  margin-top: 22px;
  text-align: justify;
  text-justify: inter-ideograph;
}
.home main #sec_contents .inner ul li figure figcaption span {
  font-size: 42px;
  font-size: 2.625rem;
  line-height: 1;
  float: left;
  margin-right: 5px;
}
.home main #sec_contents .inner ul li:nth-child(even) {
  margin-right: 0;
}

/* sec_works */
.home main #sec_works {
  background-color: #fff;
}
.home main #sec_works .inner {
  margin-top: 30px;
}
.home main #sec_works .inner img {
  width: 100%;
  max-width: 327px;
  height: auto;
}
.home main #sec_works .inner ul {
  display: flex;
  width: 100%;
  margin: 20px 0 40px;
  text-align: left;
  flex-wrap: wrap;
}
.home main #sec_works .inner ul li {
  margin: 30px 6.2% 0 0;
  flex: 0 1 46.9%;
}
.home main #sec_works .inner ul li .name {
  height: 40px;
  text-align: center;
}
.home main #sec_works .inner ul li figure img {
  width: 100%;
  height: auto;
}
.home main #sec_works .inner ul li figure figcaption {
  font-size: 11px;
  font-size: 0.6875rem;
  line-height: 1.55;
  margin-top: 22px;
  text-align: justify;
  text-justify: inter-ideograph;
}
.home main #sec_works .inner ul li figure figcaption span {
  font-size: 42px;
  font-size: 2.625rem;
  line-height: 1;
  float: left;
  margin-right: 5px;
}
.home main #sec_works .inner ul li:nth-child(even) {
  margin-right: 0;
}

/* volunteer_works */
.home main #volunteer_works {
  background-color: #fff;
}
.home main #volunteer_works .inner {
  margin-top: 30px;
}
.home main #volunteer_works .inner img {
  width: 100%;
  max-width: 327px;
  height: auto;
}
.home main #volunteer_works .inner ul {
  display: flex;
  width: 100%;
  margin: 20px 0 40px;
  text-align: left;
  flex-wrap: wrap;
}
.home main #volunteer_works .inner ul li {
  margin: 30px 6.2% 0 0;
  flex: 0 1 46.9%;
}
.home main #volunteer_works .inner ul li .name {
  height: 40px;
  text-align: center;
}
.home main #volunteer_works .inner ul li figure img {
  width: 100%;
  height: auto;
}
.home main #volunteer_works .inner ul li figure figcaption {
  font-size: 11px;
  font-size: 0.6875rem;
  line-height: 1.55;
  margin-top: 22px;
  text-align: justify;
  text-justify: inter-ideograph;
}
.home main #volunteer_works .inner ul li figure figcaption span {
  font-size: 42px;
  font-size: 2.625rem;
  line-height: 1;
  float: left;
  margin-right: 5px;
}
.home main #volunteer_works .inner ul li:nth-child(even) {
  margin-right: 0;
}

.home main .sec h3 {
  font-size: 15px;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 10px;
  letter-spacing: 0.1em;
  color: #e00000;
}

p.explanation {
  font-size: 12px;
  text-align: left;
}

/* sec_corporateinfo */
.home main #sec_corporateinfo {
  background-color: #f5f5f5;
  padding-bottom: 60px;
}
.home #sec_corporateinfo {
  padding-bottom: 0;
}
.home #sec_corporateinfo ul.table li dl dt {
  font-weight: 700;
}
.home #sec_corporateinfo ul.table {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 2.2;
  width: 100%;
  text-align: left;
  border-bottom: 1px solid #e5e5e5;
}
.home #sec_corporateinfo ul.table li {
  width: 100%;
  padding: 0 6.8%;
  border-top: 1px solid #e5e5e5;
}
.home #sec_corporateinfo ul.table li dl {
  padding: 15px 0;
  line-height: 1.7;
}
.home #sec_corporateinfo ul.table li.officer dl dd ul li {
  margin-top: 30px;
  padding: 0;
  border: none;
}
.home #sec_corporateinfo ul.table li.officer dl dd ul li ul {
  line-height: 1.3;
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: 16px;
}
.home #sec_corporateinfo ul.table li.officer dl dd ul li ul li {
  width: auto;
  margin-top: 0;
  padding: 0;
  border: none;
}
.home #sec_corporateinfo ul.table li.officer dl dd ul li ul li:first-child {
  padding-right: 95px;
}
.home #sec_corporateinfo ul.table li.officer dl dd ul li ul li:nth-child(2) {
  font-size: 10px;
  font-size: 0.625rem;
  padding: 2px 95px 0 0;
}
.home #sec_corporateinfo ul.table li.officer dl dd ul li ul li:last-child {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 75px;
}
.home #sec_corporateinfo ul.table li.skill_list dl dd ul li {
  padding: 0;
  border-top: none;
}

/* */
@media screen and (orientation: landscape) {
  #menu_panel .inner .items .logo {
    margin-bottom: 20px;
  }
  #header nav ul {
    padding-bottom: 14px;
  }
}

@media only screen and (min-width: 769px) {
  body {
    font-size: 16px;
    font-size: 1rem;
  }
  .inner {
    width: 1000px;
    margin: 0 auto;
    padding: 0;
  }
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  .animate {
    transform: translate3d(0, 40px, 0);
  }

  /* header_PC */
  #header {
    background: 0 0;
  }
  /*  #header #main_visual {
    padding-bottom: 200px;
  } */
  #header #main_visual .inner {
    height: 100%;
    table-layout: fixed;
    background-size: cover !important;
  }
  #header #main_visual .inner h1 {
    display: table-cell;
    vertical-align: middle;
  }
  #header #main_visual .inner h1 a {
    width: 567px;
    max-width: 567px;
  }
  #header nav ul {
    padding: 0;
    text-align: center;
    font-size: 16px;
  }
  #header nav ul li {
    display: inline-block;
    margin: 0 20px;
    vertical-align: middle;
  }
  #header nav ul li a {
    display: block;
    height: 99px;
    padding: 33px 30px 27px;
  }
  .fixed-menu #header nav {
    position: fixed;
    top: 0;
    bottom: auto;
  }

  /* footer_PC */
  #footer {
    padding: 30px 0;
    text-align: center;
  }
  #footer .inner {
    overflow: hidden;
  }
  #footer .inner nav {
    font-size: 20px;
    font-size: 1.25rem;
    float: left;
  }
  #footer .inner nav ul li {
    margin-top: 3px;
  }
  #footer .inner nav ul li:first-child {
    margin-top: 0;
  }
  #footer .inner dl {
    float: right;
    margin: 0 20px 0 0;
  }
  #footer .inner dl dt {
    overflow: hidden;
    width: 100%;
    text-align: right;
  }
  #footer .inner dl dt figure {
    float: right;
    width: 220px;
  }
  #footer .inner dl dd {
    font-size: 20px;
    font-size: 1.25rem;
    margin-top: 80px;
  }

  /* main_PC */
  .home main .sec {
    padding: 60px 0 80px;
  }
  .home main .sec h2 {
    font-size: 36px;
    font-size: 2.25rem;
    margin-bottom: 20px;
  }
  .home main .sec .lead {
    font-size: 24px;
    font-size: 1.5rem;
  }

  /* sec_news_PC */
  .home main #sec_news .inner ul li dl {
    display: table;
    width: 100%;
  }
  .home main #sec_news .inner ul li dl dd,
  .home main #sec_news .inner ul li dl dt {
    display: table-cell;
    vertical-align: top;
  }
  .home main #sec_news .inner ul li dl dt {
    font-size: 16px;
    font-size: 1rem;
    width: 308px;
  }
  .home main #sec_news .inner ul li dl dt .cat {
    margin-left: 20px;
  }
  .home main #sec_news .inner ul li dl dd {
    font-size: 16px;
    font-size: 1rem;
  }

  /* sec_message_PC */
  .home main #sec_message .inner .desc dl dt {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .home main #sec_message .inner .desc dl dd {
    font-size: 45px;
    font-size: 2.8125rem;
  }
  .home main #sec_message .inner .desc .vision dd ul {
    max-width: 812px;
    margin: 20px auto 0;
  }
  .home main #sec_message .inner .items {
    padding-top: 40px;
  }
  .home main #sec_message .inner .items dl {
    margin-top: 30px;
  }
  .home main #sec_message .inner .items dl dt {
    font-size: 26px;
    font-size: 1.625rem;
  }
  .home main #sec_message .inner .items dl dd {
    font-size: 18px;
    font-size: 1.125rem;
    margin-top: 5px;
  }

  /* sec_contents_PC */
  .home main #sec_contents .inner .logo {
    margin-top: 250px;
  }
  .home main #sec_contents .inner .logo img {
    max-width: 822px;
  }
  .home main #sec_contents .inner ul {
    margin-top: 80px;
  }
  .home main #sec_contents .inner ul li {
    margin: 0 0 0 30px;
    flex: 0 1 176px;
  }
  .home main #sec_contents .inner ul li .name {
    height: 80px;
    text-align: center;
    line-height: 1.5;
  }
  .home main #sec_contents .inner ul li figure figcaption {
    font-size: 12px;
    font-size: 0.75rem;
    margin-top: 32px;
  }
  .home main #sec_contents .inner ul li figure figcaption span {
    font-size: 48px;
    font-size: 3rem;
    margin-right: 12px;
  }
  .home main #sec_contents .inner ul li:nth-child(even) {
    margin-right: 0;
  }
  .home main #sec_contents .inner ul li:first-child {
    margin-left: 0;
  }
  .home main #sec_contents .inner ul li:first-child .name img {
    width: 157px;
    height: auto;
  }
  .home main #sec_contents .inner ul li:nth-child(2) .name img {
    width: 112px;
    height: auto;
  }
  .home main #sec_contents .inner ul li:nth-child(3) .name img {
    width: 162px;
    height: auto;
  }
  .home main #sec_contents .inner ul li:nth-child(4) .name img {
    width: 86px;
    height: auto;
  }
  .home main #sec_contents .inner ul li:nth-child(5) .name img {
    width: 81px;
    height: auto;
  }

  /* sec_works_PC */
  .home main #sec_works .inner .logo {
    margin-top: 250px;
  }
  .home main #sec_works .inner .logo img {
    max-width: 822px;
  }
  .home main #sec_works .inner ul {
    margin-top: 30px;
  }
  .home main #sec_works .inner ul li {
    margin: 0 0 0 30px;
    flex: 0 1 176px;
  }
  .home main #sec_works .inner ul li .name {
    height: 57px;
    text-align: center;
  }
  .home main #sec_works .inner ul li figure figcaption {
    font-size: 12px;
    font-size: 0.75rem;
    margin-top: 32px;
  }
  .home main #sec_works .inner ul li figure figcaption span {
    font-size: 48px;
    font-size: 3rem;
    margin-right: 12px;
  }
  .home main #sec_works .inner ul li:nth-child(even) {
    margin-right: 0;
  }
  .home main #sec_works .inner ul li:first-child {
    margin-left: 0;
  }
  .home main #sec_works .inner ul li:first-child .name img {
    width: 157px;
    height: auto;
  }
  .home main #sec_works .inner ul li:nth-child(2) .name img {
    width: 112px;
    height: auto;
  }
  .home main #sec_works .inner ul li:nth-child(3) .name img {
    width: 162px;
    height: auto;
  }
  .home main #sec_works .inner ul li:nth-child(4) .name img {
    width: 86px;
    height: auto;
  }
  .home main #sec_works .inner ul li:nth-child(5) .name img {
    width: 81px;
    height: auto;
  }

  /* volunteer_works_PC */
  .home main #volunteer_works .inner .logo {
    margin-top: 250px;
  }
  .home main #volunteer_works .inner .logo img {
    max-width: 822px;
  }
  .home main #volunteer_works .inner ul {
    margin-top: 30px;
  }
  .home main #volunteer_works .inner ul li {
    margin: 0 0 0 30px;
    flex: 0 1 176px;
  }
  .home main #volunteer_works .inner ul li .name {
    height: 57px;
    text-align: center;
  }
  .home main #volunteer_works .inner ul li figure figcaption {
    font-size: 12px;
    font-size: 0.75rem;
    margin-top: 32px;
  }
  .home main #volunteer_works .inner ul li figure figcaption span {
    font-size: 48px;
    font-size: 3rem;
    margin-right: 12px;
  }
  .home main #volunteer_works .inner ul li:nth-child(even) {
    margin-right: 0;
  }
  .home main #volunteer_works .inner ul li:first-child {
    margin-left: 0;
  }
  .home main #volunteer_works .inner ul li:first-child .name img {
    width: 157px;
    height: auto;
  }
  .home main #volunteer_works .inner ul li:nth-child(2) .name img {
    width: 112px;
    height: auto;
  }
  .home main #volunteer_works .inner ul li:nth-child(3) .name img {
    width: 162px;
    height: auto;
  }
  .home main #volunteer_works .inner ul li:nth-child(4) .name img {
    width: 86px;
    height: auto;
  }
  .home main #volunteer_works .inner ul li:nth-child(5) .name img {
    width: 81px;
    height: auto;
  }

  .home main .sec h3 {
    font-size: 24px;
    font-size: 1.5rem;
    margin-bottom: 10px;
    color: #e00000;
  }

  p.explanation {
    font-size: 14px;
    text-align: center;
  }

  /* sec_corporateinfo_PC */
  .home main #sec_corporateinfo {
    background-color: #f5f5f5;
    padding-bottom: 110px;
  }
  .home main #sec_corporateinfo ul.table {
    font-size: 16px;
    font-size: 1rem;
  }
  .home main #sec_corporateinfo ul.table li {
    padding: 0;
  }
  .home main #sec_corporateinfo ul.table li dl {
    display: table;
    width: 1000px;
    margin: 0 auto;
    padding: 0;
  }
  .home main #sec_corporateinfo ul.table li dl dd,
  .home main #sec_corporateinfo ul.table li dl dt {
    display: table-cell;
    padding: 5px 0;
    vertical-align: top;
  }
  .home main #sec_corporateinfo ul.table li dl dt {
    font-weight: 400;
    width: 137px;
  }
  .home main #sec_corporateinfo ul.table li.officer dl dd ul li {
    margin-top: 0;
    padding: 5px 0;
    border-top: 1px solid #e5e5e5;
  }
  .home main #sec_corporateinfo ul.table li.officer dl dd ul li ul {
    line-height: 2.2;
    display: table;
  }
  .home main #sec_corporateinfo ul.table li.officer dl dd ul li ul li {
    display: table-cell;
    vertical-align: top;
  }
  .home main #sec_corporateinfo .inner {
    margin-top: 30px;
  }
  .home
    main
    #sec_corporateinfo
    ul.table
    li.officer
    dl
    dd
    ul
    li
    ul
    li:first-child {
    width: 300px;
    padding-right: 0;
  }
  .home
    main
    #sec_corporateinfo
    ul.table
    li.officer
    dl
    dd
    ul
    li
    ul
    li:first-child:after {
    display: none;
  }
  .home
    main
    #sec_corporateinfo
    ul.table
    li.officer
    dl
    dd
    ul
    li
    ul
    li:nth-child(2) {
    font-size: 16px;
    font-size: 1rem;
    display: block;
    width: 465px;
    padding: 0;
  }
  .home
    main
    #sec_corporateinfo
    ul.table
    li.officer
    dl
    dd
    ul
    li
    ul
    li:last-child {
    position: relative;
    width: 95px;
  }
  .home main #sec_corporateinfo ul.table li.officer dl dd ul li:first-child {
    padding-top: 0;
    border-top: none;
  }
  .home main #sec_corporateinfo ul.table li.skill_list dl dd ul li {
    padding: 5px 0;
    border-top: 1px solid #e5e5e5;
  }
  .home main #sec_corporateinfo ul.table li.skill_list dl dd ul li:first-child {
    padding-top: 0;
    border-top: none;
  }
}

@-webkit-keyframes spin {
  0% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* special_news_PC */
#modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}

.modal-mask {
  position: absolute;
  width: 100%;
  height: 100vh;
  opacity: 0.2;
  background: rgba(0, 0, 0, 1);
}

.modal-container {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  background: rgba(255, 255, 255, 1);
  transform: translate(-50%, -50%);
  box-shadow: 3px 3px 5px #888;
  z-index: 99999;
}

.modal-inner {
  position: relative;
  margin: 10px auto;
  width: 90%;
  height: auto;
  padding: 20px;
}

.modal-title {
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
  font-size: 40px;
  font-weight: 400;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
  text-align: center;
}

.modal-text {
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
  box-sizing: border-box;
  font-size: 20px;
  text-align: center;
}

.modal-text p {
  padding-bottom: 30px;
}

button {
  position: absolute;
  top: calc(-10% - 8px);
  right: calc(-5% - 8px);
  padding: 3px;
  width: 20px;
  height: 20px;
  border: 1px solid #fefefe;
  border-radius: 50%;
  background-color: #fefefe;
  font-size: 20px;
  box-shadow: 2px 2px 3px #888;
  line-height: 10px;
  color: #444;
  cursor: pointer;
}

@media only screen and (max-width: 768px) {
  /* special_news_SP */
  .modal-container {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80%;
    background: rgba(255, 255, 255, 1);
    transform: translate(-50%, -50%);
    box-shadow: 3px 3px 5px #888;
    z-index: 99999;
  }

  .modal-title {
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
    text-align: center;
  }

  .modal-text {
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    box-sizing: border-box;
    font-size: 12px;
    text-align: center;
  }
  .modal-text p {
    padding-bottom: 30px;
  }

  /* header nav_SP */
  #header nav {
    background: transparent;
  }
}

/* LOADING */
