@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@500;900&display=swap");
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

audio[controls],
canvas,
video {
  display: inline-block;
  *display: inline;
  zoom: 1;
}

html {
  font-size: 100%; /* 1 */
  overflow-y: scroll; /* 2 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /* 3 */
  -webkit-text-size-adjust: 100%; /* 4 */
  -ms-text-size-adjust: 100%; /* 4 */
}

body {
  margin: 0;
}

body,
button,
input,
select,
textarea {
  font-family: sans-serif;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}

q:before,
q:after {
  content: "";
  content: none;
}

small {
  font-size: 75%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

ul,
ol {
  margin: 1em 0;
  padding: 0 0 0 40px;
}

dd {
  margin: 0 0 0 40px;
}

nav ul,
nav ol {
  /*list-style: none;*/
}

img {
  border: 0; /* 1 */
  -ms-interpolation-mode: bicubic; /* 2 */
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

form {
  margin: 0;
}

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0; /* 1 */
  *margin-left: -7px; /* 2 */
}

button,
input,
select,
textarea {
  font-size: 100%; /* 1 */
  margin: 0; /* 2 */
  vertical-align: baseline; /* 3 */
  *vertical-align: middle; /* 3 */
}

button,
input {
  line-height: normal; /* 1 */
  *overflow: visible; /* 2 */
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer; /* 1 */
  -webkit-appearance: button; /* 2 */
}

input[type=checkbox],
input[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

html, body {
  width: 100%;
  height: 100%;
}

body {
  margin: 0px;
  padding: 0px;
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", "Meiryo", sans-serif;
  font-size: 20px;
  text-align: left;
  font-weight: normal;
}
@media screen and (max-width: 1080px) {
  body {
    font-size: 1.85vw;
  }
}
@media screen and (max-width: 750px) {
  body {
    font-size: 4.7vw;
  }
}

h1, h2, h3, h4, h5, h6 {
  margin: 0px;
  padding: 0px;
  color: #000;
  font-size: 24px;
  line-height: 1.8em;
  letter-spacing: 0.02em;
  font-weight: normal;
}
@media screen and (max-width: 1080px) {
  h1, h2, h3, h4, h5, h6 {
    font-size: 2.22vw;
  }
}
@media screen and (max-width: 750px) {
  h1, h2, h3, h4, h5, h6 {
    font-size: 5.7vw;
  }
}

hr {
  display: none;
}

ul {
  margin: 0;
  padding: 0;
}
ul li {
  margin: 0;
  padding: 0;
}

p, li, dt, dd, th, td, figcaption, time, address {
  margin: 0px;
  padding: 0px;
  font-size: 20px;
  line-height: 1.75em;
  text-align: justify;
  color: #000;
}
@media screen and (max-width: 1080px) {
  p, li, dt, dd, th, td, figcaption, time, address {
    font-size: 1.85vw;
  }
}
@media screen and (max-width: 750px) {
  p, li, dt, dd, th, td, figcaption, time, address {
    font-size: 4.7vw;
  }
}

th p, td p {
  font-size: 100%;
}

p {
  margin-bottom: 2em;
}

a {
  color: #000;
  text-decoration: underline;
  outline: none;
}

a:hover {
  text-decoration: none;
}

a.outline:focus {
  outline: none;
}

a:focus {
  outline: none;
}

a img {
  margin: 0px;
  padding: 0px;
  border: none;
}

button {
  outline: none;
}

ol li p,
ul li p,
ol li table tr th,
ol li table tr td,
table tr td p,
table tr td ol li,
table tr td ul li,
table tr td ol li p,
table tr td ul li p {
  font-size: 100%;
}

ol.lmnone,
ul.lmnone {
  margin: 0;
  padding: 0;
  list-style: none;
}

ol.fllist li,
ul.fllist li {
  float: left;
  list-style: none;
}

/* dl table */
dl.table1 dt,
dl.table2 dt {
  margin: 0;
  margin-right: -110px;
  float: left;
  clear: both;
  display: inline;
  width: 110px;
}

dl.table1 dd {
  margin-left: 110px;
}

dl.table1 {
  /*\*/
  min-height: 1px;
  _height: 1%;
  /* */
  /*\*/ /*/
overflow: hidden;
/**/
}

dl.table1::after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
}

dl.table2 dt {
  width: 120px;
  margin-right: -120px;
}

dl.table2 dd {
  margin-left: 120px;
}

form {
  margin: 0;
  padding: 0;
}

.cf:before,
.cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  zoom: 1;
}

#layout {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.dwrap {
  position: relative;
  clear: both;
}

.dleft {
  float: left;
}

.dright {
  float: right;
}

/* スペースの調整用 */
.pt-15 {
  padding-top: -15px;
}

.pt0 {
  padding-top: 0;
}

.pt1em {
  padding-top: 1em;
}

.pt2em {
  padding-top: 2em;
}

.pt3em {
  padding-top: 3em;
}

.pt5 {
  padding-top: 5px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt25 {
  padding-top: 25px;
}

.pt30 {
  padding-top: 30px;
}

.pt35 {
  padding-top: 35px;
}

.pt40 {
  padding-top: 40px;
}

.pt45 {
  padding-top: 45px;
}

.pt50 {
  padding-top: 50px;
}

.pt55 {
  padding-top: 55px;
}

.pt60 {
  padding-top: 60px;
}

.pt65 {
  padding-top: 65px;
}

.pt70 {
  padding-top: 70px;
}

.pt75 {
  padding-top: 75px;
}

.pt80 {
  padding-top: 80px;
}

.pt85 {
  padding-top: 85px;
}

.pt124 {
  padding-top: 124px;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pb1em {
  padding-bottom: 1em;
}

.pb2em {
  padding-bottom: 2em;
}

.pb3em {
  padding-bottom: 3em;
}

.pb4em {
  padding-bottom: 4em;
}

.pb5em {
  padding-bottom: 5em;
}

.pb6em {
  padding-bottom: 6em;
}

.pb5 {
  padding-bottom: 5px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 25px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb45 {
  padding-bottom: 45px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb55 {
  padding-bottom: 55px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb65 {
  padding-bottom: 65px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb75 {
  padding-bottom: 75px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb85 {
  padding-bottom: 85px;
}

.pb120 {
  padding-bottom: 120px;
}

.mt0 {
  margin-top: 0;
}

.mt1em {
  margin-top: 1em;
}

.mt2em {
  margin-top: 2em;
}

.mt3em {
  margin-top: 3em;
}

.mt4em {
  margin-top: 4em;
}

.mt5em {
  margin-top: 5em;
}

.mt6em {
  margin-top: 6em;
}

.mt7em {
  margin-top: 7em;
}

.mt8em {
  margin-top: 8em;
}

.mt9em {
  margin-top: 9em;
}

.mt5 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mt120 {
  margin-top: 120px !important;
}

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

.mb1em {
  margin-bottom: 1em;
}

.mb2em {
  margin-bottom: 2em;
}

.mb3em {
  margin-bottom: 3em;
}

.mb4em {
  margin-bottom: 4em;
}

.mb5em {
  margin-bottom: 5em;
}

.mb6em {
  margin-bottom: 6em;
}

.mb7em {
  margin-bottom: 7em;
}

.mb8em {
  margin-bottom: 8em;
}

.mb9em {
  margin-bottom: 9em;
}

.mb7 {
  margin-bottom: 7px;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb95 {
  margin-bottom: 95px;
}

.mb120 {
  margin-bottom: 120px;
}

.pl1em {
  padding-left: 1em;
}

.ml1em {
  margin-left: 1em;
}

.rp0 {
  padding-right: 0;
}

.rm0 {
  margin-right: 0;
}

.pr10 {
  padding-right: 10px;
}

.pr20 {
  padding-right: 20px;
}

.pr35 {
  padding-right: 35px;
}

.pr50 {
  padding-right: 50px;
}

.pl15 {
  padding-left: 15px;
}

.pl20 {
  padding-left: 20px;
}

.pl25 {
  padding-left: 25px;
}

.pl30 {
  padding-left: 30px;
}

.pl340 {
  padding-left: 340px;
}

.bb5 {
  border-bottom: 5px solid #78BE00;
}

.bt5 {
  border-top: 5px solid #78BE00;
  padding-top: 70px;
}

.f11 {
  font-size: 11px !important;
}

.f12 {
  font-size: 12px !important;
}

.red {
  color: red;
}

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

.text-rightb {
  font-weight: bold;
  text-align: right;
}

.tcenter {
  text-align: center;
}

body {
  _zoom: 0.7;
}

.pcv {
  display: block;
}
@media screen and (max-width: 750px) {
  .pcv {
    display: none !important;
  }
}

.pcvin {
  display: inline-block;
}
@media screen and (max-width: 750px) {
  .pcvin {
    display: none;
  }
}

.spv {
  display: none;
}
@media screen and (max-width: 750px) {
  .spv {
    display: block;
  }
}

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

.inview.fade {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.inview.fade.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.inview.fade2 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.fade2.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.fade3 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

.inview.fade3.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.inview.fade4 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.9s;
  transition: 0.9s;
}

.inview.fade4.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.inview.left {
  opacity: 0;
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.left.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.right {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.right.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.right2 {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

.inview.right2.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.inview.right3 {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 0.9s;
  transition: 0.9s;
}

.inview.right3.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.inview.d1.show {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.d2.show {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.inview.d3.show {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.inview.top::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  z-index: 2;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  /* background-color: transparent; */
  z-index: 2;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top.show::after, .inview.top.show::before {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.image.inview.top.show::after, .image.inview.top.show::before {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

header,
main,
footer {
  position: relative;
  clear: both;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

main {
  overflow: hidden;
}

@media screen and (max-width: 750px) {
  body {
    height: 100vh;
  }
}

footer,
header {
  position: relative;
  width: 100%;
  overflow: hidden;
}
footer .kv_inner,
header .kv_inner {
  position: relative;
  width: 1557px;
  margin: 0 auto;
}
footer .kv_inner figure,
header .kv_inner figure {
  position: relative;
  line-height: 0;
  font-size: 0;
  top: -95px;
  margin-bottom: -95px;
  z-index: -1;
}
footer .kv_inner figure img,
header .kv_inner figure img {
  width: 100%;
}
footer .kv_inner h1,
footer .kv_inner h2,
header .kv_inner h1,
header .kv_inner h2 {
  position: absolute;
  width: 296px;
  left: 320px;
  top: 130px;
  line-height: 0;
  font-size: 0;
  z-index: 2;
}
footer .kv_inner .kv_tel,
header .kv_inner .kv_tel {
  position: absolute;
  bottom: 245px;
  right: 220px;
  width: 717px;
  line-height: 0;
  font-size: 0;
  z-index: 2;
}
@media screen and (max-width: 1620px) {
  footer .kv_inner,
  header .kv_inner {
    left: calc(50% - 810px);
  }
}
@media screen and (max-width: 1080px) {
  footer .kv_inner,
  header .kv_inner {
    width: 144.17vw;
    left: calc(50% - 75vw);
  }
  footer .kv_inner figure,
  header .kv_inner figure {
    top: -8.8vw;
    margin-bottom: -8.8vw;
  }
  footer .kv_inner h1,
  footer .kv_inner h2,
  header .kv_inner h1,
  header .kv_inner h2 {
    width: 27.41vw;
    left: 29.63vw;
    top: 12.04vw;
  }
  footer .kv_inner .kv_tel,
  header .kv_inner .kv_tel {
    bottom: 22.69vw;
    right: 20.37vw;
    width: 66.39vw;
  }
}
@media screen and (max-width: 750px) {
  footer,
  header {
    width: 100%;
  }
  footer .kv_inner,
  header .kv_inner {
    position: absolute;
    width: 298.67vw;
    left: calc(50% - 151vw);
  }
  footer .kv_inner figure,
  header .kv_inner figure {
    top: 18vw;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  footer .kv_tel,
  header .kv_tel {
    position: relative;
    margin: 10vw 0 0 3.5vw;
    width: 55vw;
  }
  footer h1,
  footer h2,
  header h1,
  header h2 {
    position: relative;
    width: 61.5vw;
    margin: 40vw 0 0 4vw;
  }
  footer .kv_ka,
  header .kv_ka {
    position: relative;
    width: 36vw;
    margin: 25vw 0 0 3.8vw;
    padding-bottom: 20vw;
  }
}

.side_res {
  position: fixed;
  right: 20px;
  top: calc(50% - 70px);
  width: 50px;
  margin: 0;
  z-index: 40;
}
@media screen and (max-width: 1080px) {
  .side_res {
    right: 1.85vw;
    top: calc(50% - 6.4vw);
    width: 4.63vw;
  }
}
@media screen and (max-width: 750px) {
  .side_res {
    right: 3vw;
    top: calc(50% - 6.4vw);
    width: 14vw;
  }
}

.home_news {
  position: relative;
  width: 980px;
  margin: 0 auto;
  padding: 30px 0 310px 0;
}
.home_news h2 {
  font-size: 20px;
}
.home_news ul {
  list-style: none;
}
.home_news ul li {
  font-size: 20px;
}
@media screen and (max-width: 1080px) {
  .home_news {
    width: 90.74vw;
    padding: 2.78vw 0 28.7vw 0;
  }
  .home_news h2 {
    font-size: 1.85vw;
  }
  .home_news ul li {
    font-size: 1.85vw;
  }
}
@media screen and (max-width: 750px) {
  .home_news {
    width: 88vw;
    padding: 34vw 0 47vw 0;
  }
  .home_news h2 {
    font-size: 4.7vw;
  }
  .home_news ul li {
    font-size: 4.7vw;
  }
}

.home_about {
  position: relative;
  width: 1080px;
  margin: 0 auto 300px auto;
}
.home_about time {
  width: 620px;
  margin: 0 auto 95px auto;
  display: block;
}
.home_about time img {
  width: 100%;
}
.home_about figure {
  width: 368px;
  margin: 0 auto;
}
.home_about figure img {
  position: relative;
  left: -10px;
}
.home_about .about_wrap {
  position: absolute;
  bottom: 100px;
  left: calc(50% + 210px);
}
.home_about .about_wrap address {
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 1080px) {
  .home_about {
    width: 100%;
    margin: 0 auto 27.78vw auto;
  }
  .home_about time {
    width: 57.41vw;
    margin: 0 auto 8.8vw auto;
    display: block;
  }
  .home_about figure {
    width: 34.07vw;
  }
  .home_about figure img {
    left: -0.93vw;
  }
  .home_about .about_wrap {
    bottom: 9.26vw;
    left: calc(50% + 19.4vw);
  }
  .home_about .about_wrap address {
    font-size: 1.85vw;
  }
}
@media screen and (max-width: 750px) {
  .home_about {
    width: 88vw;
    margin-bottom: 52.5vw;
  }
  .home_about time {
    width: 100%;
    margin: 0 auto 15vw auto;
  }
  .home_about figure {
    width: 56vw;
    margin-bottom: 5vw;
  }
  .home_about figure img {
    left: -0.93vw;
  }
  .home_about .about_wrap {
    position: relative;
    bottom: auto;
    left: auto;
    width: 55vw;
    margin: 0 auto;
  }
  .home_about .about_wrap address {
    font-size: 4.7vw;
  }
}

.home_midimage {
  position: relative;
  width: 100%;
  margin: 0 auto 270px auto;
}
.home_midimage ul {
  list-style: none;
}
.home_midimage ul .jarallax {
  height: 900px;
  position: relative;
  line-height: 0;
  font-size: 0;
  z-index: 0;
}
.home_midimage ul .jarallax > .jarallax-img {
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 750px) {
  .home_midimage ul .jarallax {
    height: 80vh;
  }
}

.home_message {
  width: 620px;
  margin: 0 auto 290px auto;
}
.home_message h2 {
  font-size: 40px;
  line-height: 1.8em;
  margin-bottom: 1em;
}
.home_message h2.news_title {
  font-size: 28px;
}
.home_message p {
  text-align: justify;
}
.home_message p:last-child {
  margin: 0;
}
@media screen and (max-width: 1080px) {
  .home_message {
    width: 57.41vw;
    margin: 0 auto 26.85vw auto;
  }
  .home_message h2 {
    font-size: 3.7vw;
  }
  .home_message h2.news_title {
    font-size: 2.59vw;
  }
}
@media screen and (max-width: 750px) {
  .home_message {
    width: 88vw;
    margin: 0 auto 40vw auto;
  }
  .home_message h2 {
    font-size: 7.2vw;
  }
  .home_message h2.news_title {
    font-size: 6vw;
  }
}

.home_ashi {
  position: relative;
  width: 620px;
  margin: 0 auto 290px auto;
}
.home_ashi h2 {
  font-size: 40px;
  line-height: 1.8em;
  margin-bottom: 1em;
}
.home_ashi p {
  text-align: justify;
}
.home_ashi p:last-child {
  margin: 0;
}
@media screen and (max-width: 1080px) {
  .home_ashi {
    width: 57.41vw;
    margin: 0 auto 26.85vw auto;
  }
  .home_ashi h2 {
    font-size: 3.7vw;
  }
}
@media screen and (max-width: 750px) {
  .home_ashi {
    width: 88vw;
    margin: 0 auto 40vw auto;
  }
  .home_ashi h2 {
    font-size: 7.2vw;
  }
}

.home_prof {
  position: relative;
  width: 500px;
  margin: 0 auto 300px auto;
  padding-left: 420px;
}
.home_prof h2 {
  font-size: 20px;
  margin-bottom: 1.5em;
  line-height: 1.75em;
}
.home_prof dl {
  position: relative;
  margin: 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}
.home_prof dl dt {
  font-size: 16px;
  padding-right: 1.5em;
}
.home_prof dl dd {
  font-size: 16px;
}
.home_prof figure {
  position: absolute;
  width: 392px;
  left: 50px;
  top: -40px;
}
@media screen and (max-width: 1080px) {
  .home_prof {
    width: 46.3vw;
    margin: 0 auto 27.78vw auto;
    padding-left: 38.89vw;
  }
  .home_prof h2 {
    font-size: 1.85vw;
  }
  .home_prof dl dt {
    font-size: 1.48vw;
  }
  .home_prof dl dd {
    font-size: 1.48vw;
  }
  .home_prof figure {
    width: 36.3vw;
    left: 4.63vw;
    top: -3.7vw;
  }
}
@media screen and (max-width: 750px) {
  .home_prof {
    width: 88vw;
    margin: 0 auto 40vw auto;
    padding-left: 0;
  }
  .home_prof h2 {
    font-size: 4.7vw;
  }
  .home_prof dl dt {
    font-size: 3.7vw;
    padding-right: 0;
    width: 4.5em;
  }
  .home_prof dl dd {
    font-size: 3.7vw;
    width: calc(100% - 4.5em);
  }
  .home_prof figure {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    position: relative;
    width: 55vw;
    left: auto;
    top: auto;
    margin: 0 auto 0 auto;
  }
}

.news header {
  padding-top: 130px;
  width: 626px;
}
.news header h1,
.news header h2 {
  position: relative;
  left: auto;
  top: auto;
  font-size: 40px;
  line-height: 1.75em;
  margin-bottom: 110px;
}
.news header h1 a,
.news header h2 a {
  text-decoration: none;
}
.news main {
  width: 626px;
}
@media screen and (max-width: 1080px) {
  .news header {
    padding-top: 12.04vw;
    width: 57.96vw;
  }
  .news header h1,
  .news header h2 {
    font-size: 3.7vw;
    margin-bottom: 10.19vw;
  }
  .news main {
    width: 57.96vw;
  }
}
@media screen and (max-width: 750px) {
  .news header {
    width: 88vw;
    margin: 19.5vw auto 0 auto;
    height: auto;
  }
  .news header h1,
  .news header h2 {
    font-size: 7vw;
    margin: 0 0 22vw 0;
  }
  .news main {
    width: 88vw;
  }
}

.news_entry {
  position: relative;
}
.news_entry article {
  padding-bottom: 180px;
  border-bottom: 1px solid #000;
  margin-bottom: 140px;
}
.news_entry article:last-of-type {
  border-bottom: none;
}
@media screen and (max-width: 1080px) {
  .news_entry article {
    padding-bottom: 16.67vw;
    margin-bottom: 12.96vw;
  }
}
@media screen and (max-width: 750px) {
  .news_entry article {
    padding-bottom: 32vw;
    margin-bottom: 40vw;
  }
}

.news_title {
  margin-bottom: 50px;
}
.news_title time {
  font-style: normal;
  font-size: 28px;
}
.news_title h2,
.news_title h1 {
  font-size: 28px;
}
@media screen and (max-width: 1080px) {
  .news_title {
    margin-bottom: 4.63vw;
  }
  .news_title time {
    font-size: 2.59vw;
  }
  .news_title h2,
  .news_title h1 {
    font-size: 2.59vw;
  }
}
@media screen and (max-width: 750px) {
  .news_title {
    margin-bottom: 15vw;
  }
  .news_title time {
    font-size: 6vw;
  }
  .news_title h2,
  .news_title h1 {
    font-size: 6vw;
  }
}

.news_contents {
  position: relative;
}
.news_contents figure {
  margin-bottom: 50px;
}
.news_contents p:last-child {
  margin: 0;
}
.news_contents ul {
  padding-left: 1.7em;
}
@media screen and (max-width: 1080px) {
  .news_contents figure {
    margin-bottom: 4.63vw;
  }
}
#teaser main {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}

.kv {
  width: 34.91vw;
}
.kv h1 {
  position: relative;
  width: 100%;
  line-height: 0;
  font-size: 0;
}
.kv time {
  display: block;
  font-size: 2.59vw;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .kv {
    width: 76vw;
  }
  .kv h1 img {
    width: 100%;
  }
  .kv time {
    font-size: 5.6vw;
  }
}