@charset "UTF-8";

@font-face {
  font-family: "din1451alt_G";
  src: url("../fonts//din1451alt_G.eot") format("din1451alt_G");
  src: url("../fonts//din1451alt_G.woff") format("woff");
}

p, a {
  transform: rotate(0.05deg);
}

/*-------------------------------
  midashi
-------------------------------*/
.c-midashi__1 {
  line-height: 1;
  font-size: 3.8rem;
  font-weight: 700;
  overflow: hidden;
  position: relative;
}

.c-midashi__1__up {
  display: block;
  line-height: 1;
  position: relative;
  font-size: 13rem;
  font-family: galano;
  color: #efefef;
}

.c-midashi__1__bottom {
  display: block;
  font-size: 3.4rem;
  color: #ba1b29;
  position: absolute;
  bottom: 10px;
  left: 0;
}

.c-midashi__1.active .midashi_1_up>span:nth-of-type(1) {
  animation: midashi_1_up 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.1s;
}

.c-midashi__1.active .midashi_1_up>span:nth-of-type(2) {
  animation: midashi_1_up 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.15s;
}

.c-midashi__1.active .midashi_1_up>span:nth-of-type(3) {
  animation: midashi_1_up 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.2s;
}

.c-midashi__1.active .midashi_1_up>span:nth-of-type(4) {
  animation: midashi_1_up 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.25s;
}

.c-midashi__1.active .midashi_1_up>span:nth-of-type(5) {
  animation: midashi_1_up 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.3s;
}

.c-midashi__1.active .midashi_1_up>span:nth-of-type(6) {
  animation: midashi_1_up 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.35s;
}

.c-midashi__1.active .midashi_1_up>span:nth-of-type(7) {
  animation: midashi_1_up 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.4s;
}

.c-midashi__1.active .midashi_1_up>span:nth-of-type(8) {
  animation: midashi_1_up 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.45s;
}

.c-midashi__1.active .midashi_1_up>span:nth-of-type(9) {
  animation: midashi_1_up 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.5s;
}

@media all and (-ms-high-contrast: none) {
  .c-midashi__1.active .midashi_1_up>span {
    animation: none !important;
  }
}

@keyframes midashi_1_up {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.4);
  }

  100% {
    transform: scale(1);
  }
}

.c-midashi__2 {
  font-size: 3.6rem;
  font-weight: 700;
}

.c-midashi__2__blue {
  color: #1f913b;
}

.c-midashi__3 {
  font-size: 4rem;
  line-height: 1.2;
  font-weight: 500;
}

.c-midashi__3 span {
  display: block;
  font-size: 1.9rem;
}

.c-midashi__3__blue {
  color: #1f913b;
}

.c-midashi__3__white {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .c-midashi__3 {
    font-size: 3.2rem;
  }

  .c-midashi__3 span {
    font-size: 1.6rem;
  }
}

.c-midashi__4 {
  display: block;
  text-align: center;
  line-height: 1;
  margin-bottom: 80px;
}

.c-midashi__4 span {
  display: inline-block;
  margin: auto;
  font-size: 4rem;
  font-weight: 800;
  padding: 10px 0;
}

.c-midashi__4__blue {
  color: #036eb8;
}

.c-midashi__4__blue span {
  border-top: 1px solid #036eb8;
  border-bottom: 1px solid #036eb8;
}

.c-midashi__4__white {
  color: #fff;
}

.c-midashi__4__white span {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

@media screen and (max-width: 767px) {
  .c-midashi__4 {
    margin-bottom: 10vh;
  }

  .c-midashi__4 span {
    font-size: 2.8rem;
  }
}

.c-midashi__5 {
  display: block;
  text-align: center;
  line-height: 1;
  margin-bottom: 60px;
  font-weight: 400;
}

.c-midashi__5 span {
  display: block;
  margin: auto;
  line-height: 1;
  font-size: 4.8rem;
  font-weight: 500;
  padding: 5px 0;
}

/*-------------------------------
  1-main
-------------------------------*/
#main {
  position: relative;
}

/*-------------------------------
  -cotnact お問い合わせ
-------------------------------*/
.mw_wp_form {
  padding: 0 0 20px 0;
}

.mw_wp_form .confirm_txt {
  display: block;
  color: #d51520;
  font-size: 1.4rem;
  text-align: center;
}

.mw_wp_form .p-support__form__kojin {
  width: 720px;
  max-width: 100%;
  font-weight: 600;
  margin: 40px auto 10px auto;
}

.mw_wp_form .p-support__form__privacy {
  width: 720px;
  height: 300px;
  overflow: auto;
  max-width: 100%;
  font-weight: 600;
  overflow-y: scroll;
  margin: auto;
  padding: 20px;
  font-weight: 600;
  border: 1px solid #dcdddd;
  font-size: 1.4rem;
  margin-bottom: 15px;
}

.mw_wp_form .p-support__form__privacy img {
  display: block;
  width: 100%;
  height: auto;
}

.mw_wp_form .p-support__form__doi {
  width: 720px;
  padding: 15px;
  text-align: center;
  background: #dcdddd;
  max-width: 100%;
  font-weight: 600;
  margin: auto auto 60px auto;
}

.mw_wp_form .form_joho {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  width: 720px;
  max-width: 100%;
  margin: auto;
}

.mw_wp_form .form_joho div:nth-of-type(1) {
  width: 200px;
  width: 28%;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  font-weight: 600;
  transform: rotate(0.05deg);
  font-size: 1.4rem;
}

.mw_wp_form .form_joho div:nth-of-type(1) span {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20px;
  font-size: 1rem;
  padding: 2px 6px;
  background: #036eb8;
  border-radius: 5px;
  color: #fff;
  margin-right: 10px;
}

.mw_wp_form .form_joho div:nth-of-type(2) {
  transform: rotate(0.05deg);
  width: 72%;
  font-size: 1.4rem;
}

.mw_wp_form dl {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: 50px auto 50px auto;
  width: 720px;
  max-width: 100%;
  border-bottom: 1px solid #dcdddd;
}

.mw_wp_form dl dt {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  font-size: 1.4rem;
  width: 200px;
  width: 28%;
  letter-spacing: -0.5px;
  transform: rotate(0.05deg);
  height: 100%;
  font-weight: 600;
  padding: 20px 0;
  border-top: 1px solid #dcdddd;
}

.mw_wp_form dl dt.noborder {
  border: 0;
}

.mw_wp_form dl dd {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  padding: 20px;
  width: 72%;
  border-left: 1px dashed #dcdddd;
  border-top: 1px solid #dcdddd;
}

.mw_wp_form dl dd.noborder {
  border: 0;
}

.mw_wp_form dl dd input, .mw_wp_form dl dd textarea, .mw_wp_form dl dd select {
  padding: 10px;
  max-width: 100%;
  border: 1px solid #efefef;
  border-radius: 3px;
}

.mw_wp_form .hissu {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  height: 20px;
  padding: 2px 6px;
  background: #036eb8;
  border-radius: 5px;
  white-space: nowrap;
  color: #fff;
  margin-right: 10px;
  font-size: 1.1rem;
  transform: translateY(-4px);
  margin-left: 2px;
  margin-top: 6px;
  height: 21px;
  width: 3em;
}

.mw_wp_form .nini {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  white-space: nowrap;
  height: 20px;
  padding: 2px 6px;
  border-radius: 5px;
  color: #fff;
  margin-right: 10px;
  font-size: 1.1rem;
  transform: translateY(-4px);
  margin-left: 2px;
  margin-top: 6px;
  height: 21px;
  width: 3em;
  background: #999899;
}

.mw_wp_form .form_table {
  padding-bottom: 100px;
  width: 768px;
  max-width: 100%;
  margin: auto;
}

.mw_wp_form .form_thanks {
  padding-bottom: 200px;
}

.mw_wp_form .form_thanks h2 {
  text-align: center;
  font-size: 4.3rem;
  letter-spacing: 3px;
  margin-bottom: 60px;
}

.mw_wp_form .form_thanks p {
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: center;
}

.mw_wp_form .form_send_box {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 0 20px;
  margin-top: 70px;
}

.mw_wp_form .form_send_box input[type=submit] {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1.8rem;
  transition: all 0.25s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  height: 60px;
  background: #036eb8;
  border-radius: 100px;
  width: 400px;
  max-width: 100%;
  margin: auto;
  transition: all 0.6s ease;
}

.mw_wp_form .form_send_box input[type=submit]:hover {
  background: #036eb8;
  color: #fff;
  opacity: 0.8;
}

.mw_wp_form .mwform-radio-field {
  margin: 0.5rem;
}

.mw_wp_form .mwform-radio-field input[type=radio] {
  position: absolute;
  opacity: 0;
}

.mw_wp_form .mwform-radio-field input[type=radio]+.mwform-radio-field-text {
  position: relative;
}

.mw_wp_form .mwform-radio-field input[type=radio]+.mwform-radio-field-text:before {
  content: "";
  background: rgba(239, 239, 239, 0.11);
  border-radius: 100%;
  border: 1px solid rgba(175, 175, 175, 0.11);
  display: inline-block;
  width: 28px;
  height: 28px;
  position: relative;
  top: -0.2em;
  margin-right: 1em;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease;
  z-index: 1;
}

.mw_wp_form .mwform-radio-field input[type=radio]+.mwform-radio-field-text:after {
  transition: all 250ms ease;
}

.mw_wp_form .mwform-radio-field input[type=radio]:checked+.mwform-radio-field-text:before {
  box-shadow: inset 0 0 0 4px rgba(239, 239, 239, 0.11);
}

.mw_wp_form .mwform-radio-field input[type=radio]:checked+.mwform-radio-field-text:after {
  background-color: #036eb8;
  display: block;
  width: 10px;
  height: 10px;
  content: "";
  border-radius: 10px;
  position: absolute;
  top: 6px;
  left: 9px;
  z-index: 2;
}

.mw_wp_form .mwform-radio-field input[type=radio]:focus+.mwform-radio-field-text:before {
  outline: none;
  border-color: rgba(239, 239, 239, 0.11);
}

.mw_wp_form .mwform-radio-field input[type=radio]:disabled+.mwform-radio-field-text:before {
  box-shadow: inset 0 0 0 4px rgba(239, 239, 239, 0.11);
  border-color: rgba(175, 175, 175, 0.11);
  background: rgba(175, 175, 175, 0.11);
}

.mw_wp_form .mwform-radio-field input[type=radio]+.mwform-radio-field-text:empty:before {
  margin-right: 0;
}

.mw_wp_form .mwform-checkbox-field {
  margin: 0.5rem;
  white-space: nowrap;
}

.mw_wp_form .mwform-checkbox-field input[type=checkbox] {
  position: absolute;
  opacity: 0;
}

.mw_wp_form .mwform-checkbox-field input[type=checkbox]+.mwform-checkbox-field-text {
  position: relative;
}

.mw_wp_form .mwform-checkbox-field input[type=checkbox]+.mwform-checkbox-field-text:before {
  content: "";
  background: white;
  border: 1px solid rgba(191, 191, 191, 1);
  display: inline-block;
  width: 28px;
  height: 28px;
  position: relative;
  top: 0;
  margin-right: 1em;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease;
  z-index: 1;
}

.mw_wp_form .mwform-checkbox-field input[type=checkbox]:checked+.mwform-checkbox-field-text:before {
  box-shadow: inset 0 0 0 4px rgba(239, 239, 239, 0.11);
}

.mw_wp_form .mwform-checkbox-field input[type=checkbox]:checked+.mwform-checkbox-field-text:after {
  background-color: #036eb8;
  display: block;
  width: 12px;
  height: 12px;
  content: "";
  position: absolute;
  top: 4px;
  left: 8px;
  z-index: 2;
}

.mw_wp_form .mwform-checkbox-field input[type=checkbox]:focus+.mwform-checkbox-field-text:before {
  outline: none;
  border-color: rgba(239, 239, 239, 1);
}

.mw_wp_form .mwform-checkbox-field input[type=checkbox]:disabled+.mwform-checkbox-field-text:before {
  box-shadow: inset 0 0 0 4px rgba(239, 239, 239, 0.11);
  border-color: rgba(175, 175, 175, 0.11);
  background: rgba(175, 175, 175, 0.11);
}

.mw_wp_form .mwform-checkbox-field input[type=checkbox]+.mwform-checkbox-field-text:empty:before {
  margin-right: 0;
}

.mw_wp_form .kakunin_box {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  font-size: 1.8rem;
}

.mw_wp_form .kakunin_box br {
  display: none;
}

.mw_wp_form .kakunin_box .kakunin_box_txt {
  font-size: 1.8rem;
  color: #036eb8;
  white-space: normal;
}

.mw_wp_form .kakunin_box .mwform-checkbox-field-text:before {
  top: -0.3em !important;
}

.mw_wp_form .horizontal-item {
  margin-left: 0;
  margin-right: 0.5em;
}

.mw_wp_form .horizontal-item+.horizontal-item {
  margin-left: 0;
  margin-right: 0.5em;
}

@media screen and (max-width: 767px) {
  .mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0;
  }

  .mw_wp_form dl dt {
    font-size: 1.4rem;
    width: 100%;
    width: 100%;
    padding: 20px 0 0 0;
    border-top: 1px solid #dcdddd;
  }

  .mw_wp_form dl dd {
    padding: 10px 0 20px 0;
    width: 100%;
    border: none;
  }

  .mw_wp_form dl dd input, .mw_wp_form dl dd textarea, .mw_wp_form dl dd select {
    padding: 8px;
    max-width: 100%;
    border: 1px solid #efefef;
    border-radius: 3px;
  }

  .mw_wp_form dl dd textarea {
    height: 30vh;
  }

  .mw_wp_form .form_joho {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }

  .mw_wp_form .form_joho div:nth-of-type(1) {
    width: 100%;
    max-width: 100%;
    padding-bottom: 10px;
  }

  .mw_wp_form .form_joho div:nth-of-type(1) br {
    display: none;
  }

  .mw_wp_form .form_joho div:nth-of-type(2) {
    width: 100%;
    font-size: 1.4rem;
  }

  .mw_wp_form .form_send_box {
    margin-top: 40px;
  }

  .mw_wp_form .form_send_box input[type=submit] {
    font-size: 1.6rem;
    height: 50px;
  }

  .form_type_box {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }

  .form_type_box>span {
    display: block;
    width: 40%;
    margin-left: 0;
    font-size: 1.3rem;
  }

  .form_type_box>span:nth-of-type(1), .form_type_box>span:nth-of-type(3) {
    display: block;
    width: 53%;
  }

  .kakunin_box {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    white-space: normal;
  }

  .kakunin_box br {
    display: block !important;
  }

  .kakunin_box .kakunin_box_txt {
    font-size: 1.8rem;
    color: #036eb8;
    white-space: normal;
  }

  .kakunin_box .mwform-checkbox-field-text:before {
    top: 0.2em !important;
  }
}

/*TOP*/
.scroll_up {
  position: absolute;
  bottom: 0px;
  right: -50px;
  height: 180px;
}

.scroll_up a {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.scroll_up a picture:nth-of-type(1) {
  animation-name: scrollup_noactive;
  animation-duration: 1.5s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-fill-mode: forwards;
  animation-play-state: running;
  margin-bottom: 20px;
}

@media all and (-ms-high-contrast: none) {
  .scroll_up a picture:nth-of-type(1) {
    animation: none !important;
  }
}

.scroll_up a:hover picture:nth-of-type(1) {
  animation-name: scrollup_active;
  animation-duration: 1s;
  animation-timing-function: ease;
  animation-iteration-count: 1;
  animation-direction: alternate;
  animation-fill-mode: forwards;
  animation-play-state: running;
}

@media all and (-ms-high-contrast: none) {
  .scroll_up a:hover picture:nth-of-type(1) {
    animation: none !important;
  }
}

.scroll_up a picture:nth-of-type(2) {
  display: block;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .scroll_up {
    right: -35px;
  }
}

@media screen and (max-width: 767px) {
  .scroll_up {
    bottom: -25px;
    right: -25px;
    height: 110px;
  }

  .scroll_up picture:nth-of-type(1) {
    margin-bottom: 20px;
    height: 45px;
    width: 6px;
  }

  .scroll_up picture:nth-of-type(1) img {
    max-width: 100%;
    height: auto;
  }

  .scroll_up picture:nth-of-type(2) {
    display: block;
    height: 55px;
    width: 7px;
  }

  .scroll_up picture:nth-of-type(2) img {
    width: 7px;
    height: 55px;
    max-width: 100%;
    height: auto;
  }
}

@keyframes scrollup_noactive {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-20px);
  }
}

@keyframes scrollup_active {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-20px);
  }
}

/*
01 top
*/
.p-hero {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  background-size: cover;
  height: 56.4529558701%;
  overflow: hidden;
  width: 100%;
  margin-top: 50px;
}

.p-hero__inner {
  width: 100%;
  max-width: 100%;
  display: block;
  overflow: hidden;
  max-width: 100%;
  position: relative;
  height: 100%;
}

.p-hero__inner__txt {
  margin-bottom: -120px;
  position: relative;
  z-index: 2;
  letter-spacing: 1px;
  padding-left: 30px;
}

.p-hero__inner__tit {
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 700;
  position: relative;
  font-size: 6.5rem;
  line-height: 1.2;
  padding-bottom: 10px;
  margin-bottom: 0px;
  padding-left: 5px;
}

.p-hero__inner__tit__mask {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  position: relative;
  overflow: hidden;
}

.p-hero__inner__tit__mask span {
  display: block;
  transform: translateY(100%);
}

.p-hero__inner__tit__mask span:nth-of-type(1) {
  animation: hero_tit 1s 0.1s ease-out forwards;
}

.p-hero__inner__tit__mask span:nth-of-type(2) {
  animation: hero_tit 0.98s 0.17s ease-out forwards;
}

.p-hero__inner__tit__mask span:nth-of-type(3) {
  animation: hero_tit 0.96s 0.24s ease-out forwards;
}

.p-hero__inner__tit__mask span:nth-of-type(4) {
  animation: hero_tit 0.94s 0.31s ease-out forwards;
}

.p-hero__inner__tit__mask span:nth-of-type(5) {
  animation: hero_tit 0.92s 0.38s ease-out forwards;
}

.p-hero__inner__tit__mask span:nth-of-type(6) {
  animation: hero_tit 0.9s 0.45s ease-out forwards;
}

.p-hero__inner__tit__mask span:nth-of-type(7) {
  animation: hero_tit 0.88s 0.52s ease-out forwards;
}

.p-hero__inner__tit__mask span:nth-of-type(8) {
  animation: hero_tit 0.86s 0.59s ease-out forwards;
}

.p-hero__inner__tit__mask span:nth-of-type(9) {
  animation: hero_tit 0.84s 0.66s ease-out forwards;
}

.p-hero__inner__tit__mask span:nth-of-type(10) {
  animation: hero_tit 0.82s 0.73s ease-out forwards;
}

.p-hero__inner__tit__mask span:nth-of-type(11) {
  animation: hero_tit 0.8s 0.8s ease-out forwards;
}

.p-hero__inner__tit:after {
  display: block;
  width: 0;
  height: 2px;
  background: #464342;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  animation: hero_tit_line 0.7s 0.85s ease-out forwards;
}

.p-hero__inner__catch {
  display: block;
  font-family: "Calibri", serif;
  font-style: normal;
  padding-left: 5px;
  font-size: 3.2rem;
  line-height: 1;
  margin-top: 10px;
  overflow: hidden;
}

.p-hero__inner__catch span {
  display: block;
  transform: translateY(-100%);
  animation: hero_catch 0.5s 1.3s ease-out forwards;
}

.p-hero__inner__item {
  width: 100%;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  padding-left: 8%;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  max-height: 800px;
}

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

.p-hero__inner__item__movie {
  width: 100%;
}

.p-hero__inner__item__movie>div {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.p-hero__inner__item__movie>div video {
  width: 100%;
  min-height: 100%;
}

/*animation*/
@keyframes hero_tit {
  0% {
    transform: translateY(100%);
    opacity: 0;
  }

  100% {
    transform: translateY(0%);
    opacity: 1;
  }
}

@keyframes hero_catch {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }

  100% {
    transform: translateY(0%);
    opacity: 1;
  }
}

@keyframes hero_tit_line {
  0% {
    width: 0;
    opacity: 0;
  }

  100% {
    width: 4em;
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
  .p-hero {
    margin-top: -12%;
  }

  .p-hero__inner {
    padding-bottom: 20%;
  }

  .p-hero__inner__txt {
    transform: translateY(220%);
    margin-bottom: 0;
    padding-left: 10px;
  }

  .p-hero__inner__tit {
    font-size: 3.5rem;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.15), 0 -1px 2px rgba(255, 255, 255, 0.15), 1px 0 2px rgba(255, 255, 255, 0.15), -1px 0 2px rgba(255, 255, 255, 0.15), 0 2px 4px rgba(255, 255, 255, 0.2), 0 2px 4px rgba(255, 255, 255, 0.2), 2px 0 4px rgba(255, 255, 255, 0.2), -2px 0px 4px rgba(255, 255, 255, 0.2);
  }

  .p-hero__inner__catch {
    font-size: 1.4rem;
  }

  .p-hero__inner__item {
    padding-left: 10%;
  }

  .p-hero__inner__item__movie {
    width: 100%;
  }

  .p-hero__inner__item__movie>div {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .p-hero__inner__item__movie>div video {
    width: 100%;
    height: auto;
    min-width: inherit;
    min-height: v;
  }
}

.topmenu {
  padding: 35px 20px;
}

.topmenu__list {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}

.topmenu__list__item {
  border: 2px solid #036eb8;
  width: 365px;
  max-width: 49%;
  height: 180px;
  position: relative;
}

.topmenu__list__item__link {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 20px;
  flex-direction: column;
  overflow: hidden;
  line-height: 1;
  height: 100%;
  color: #036eb8;
  position: relative;
}

.topmenu__list__item__link:after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #2e87bb 0%, #2c5994 100%);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  transition: transform 0.3s;
  transform: scale(0, 1);
  transform-origin: right top;
}

.topmenu__list__item__link:hover span {
  color: #fff;
}

.topmenu__list__item__link:hover:after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.topmenu__list__item__link:hover .topmenu__list__item__txt3:before {
  background: #fff;
}

.topmenu__list__item__link:hover .topmenu__list__item__txt3:before {
  animation: view_more 1.8s -0.3s ease-in-out infinite forwards;
}

.topmenu__list__item__txt1 {
  font-size: 2.6rem;
  display: block;
  text-align: center;
  position: relative;
  z-index: 2;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  margin-bottom: 10px;
}

.topmenu__list__item__txt2 {
  font-size: 4.4rem;
  display: block;
  text-align: center;
  position: relative;
  z-index: 2;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  font-family: "Arial", "メイリオ", sans-serif;
}

.topmenu__list__item__txt3 {
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 1.3rem;
  display: block;
  text-align: right;
  font-weight: 600;
  font-family: "Arial", "メイリオ", sans-serif;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  z-index: 2;
  overflow: hidden;
}

.topmenu__list__item__txt3:before {
  display: inline-block;
  width: 70px;
  height: 1px;
  content: "";
  background: #036eb8;
  background: linear-gradient(90deg, #036eb8 0%, #036eb8 100%);
  margin-right: 8px;
  transform: translateY(-2px);
  transition: all 0.8s ease;
}

.topnews {
  background: #efefef;
  padding: 10vh 0 8vh 0;
  position: relative;
  overflow: hidden;
  max-height: 100vh;
}

.topnews__inner {
  z-index: 3;
}

.topnews>div {
  position: relative;
  z-index: 2;
}

.topnews__l {
  width: 220px;
  max-width: 25%;
}

.topnews:before {
  width: 100%;
  height: calc(100% - 200px);
  max-height: 80%;
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #efefef;
  z-index: 0;
}

.topnews__list {
  width: 100%;
  max-width: 100%;
  position: relative;
}

.topnews__list__item {
  width: 365px;
  max-width: 33%;
  position: relative;
  margin-bottom: 0;
  padding: 0 8px;
}

.topnews__list__item__img {
  display: block;
  overflow: hidden;
  height: clamp(185px, 24vw, 290px);
  position: relative;
  background: #fff;
  box-shadow: 0 2px 6px 1px rgba(0, 0, 0, 0.1);
}

.topnews__list__item__img picture {
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.topnews__list__item__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}

.topnews__list__item__tit {
  font-size: 1.7rem;
  font-weight: 500;
  padding: 10px 5px 5px 5px;
  border-bottom: 0.2px solid #b5b5b6;
  margin-bottom: 5px;
}

.topnews__list__item__time {
  display: block;
  font-size: 1.4rem;
  padding: 0 5px;
  letter-spacing: -0.5px;
}

.topnews__list__item:hover .topnews__list__item__img img {
  transform: scale(1.05);
}

.topnews__list .slick-next {
  right: 0;
  width: 47px;
  top: -60px;
}

.topnews__list .slick-next:before {
  opacity: 0.5;
  width: 47px;
  height: 12px;
  content: "";
  display: block;
  background: url("../images/top/ico_point_r.svg") 50% 50% no-repeat;
  background-size: contain;
  transition: all 0.4s ease-out;
}

.topnews__list .slick-next:hover:before {
  opacity: 1;
}

.topnews__list .slick-prev {
  left: auto;
  width: 47px;
  right: 80px;
  top: -60px;
}

.topnews__list .slick-prev:before {
  opacity: 0.5;
  width: 47px;
  height: 12px;
  content: "";
  display: block;
  background: url("../images/top/ico_point_l.svg") 50% 50% no-repeat;
  background-size: contain;
  transition: all 0.4s ease-out;
}

.topnews__list .slick-prev:hover:before {
  opacity: 1;
}

.topnews__link {
  width: 310px;
  max-width: 100%;
  height: 60px;
  position: relative;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  overflow: hidden;
  margin-top: 60px;
  margin-left: auto;
  margin-right: auto;
  align-items: center;
}

.topnews__link__sp {
  display: none;
  opacity: 0;
  visibility: hidden;
}

.topnews__link span {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 20px;
  flex-direction: column;
  overflow: hidden;
  line-height: 1;
  height: 100%;
  margin: auto;
  color: #fff;
  position: relative;
  z-index: 2;
  font-size: 1.4rem;
}

.topnews__link:after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #2e87bb 0%, #2c5994 100%);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  transition: transform 0.3s;
  transform: scale(1, 1);
  transform-origin: left top;
}

.topnews__link:hover {
  border: 2px solid #036eb8;
}

.topnews__link:hover span {
  color: #036eb8;
}

.topnews__link:hover:after {
  transform-origin: right top;
  transform: scale(0, 1);
}

@media screen and (max-width: 767px) {
  .topnews {
    padding: 10vh 0 4vh 0;
    background-size: cover;
  }

  .topnews__inner {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .topnews__l {
    width: 100%;
    max-width: 100%;
  }

  .topnews__list {
    max-width: 100%;
  }

  .topnews__list__item {
    width: 210px;
    max-width: 100%;
    padding: 0 8px;
  }

  .topnews__list__item__tit {
    font-size: 1.6rem;
    font-weight: 600;
    padding: 10px 5px 5px 5px;
    border-bottom: 0.2px solid #b5b5b6;
    margin-bottom: 5px;
  }

  .topnews__list__item__time {
    font-size: 1.3rem;
    padding: 0 5px;
  }

  .topnews__list__item__img {
    height: clamp(210px, 75vw, 300px);
  }

  .topnews__link {
    width: 100%;
    height: 50px;
    margin-top: 20px;
  }

  .topnews__link__pc {
    display: none;
    opacity: 0;
    visibility: hidden;
  }

  .topnews__link__sp {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    visibility: visible;
    opacity: 1;
  }
}

.topother {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 3;
}

.topother__1 {
  margin-bottom: 190px;
}

.topother__1:before {
  display: block;
  position: absolute;
  width: 800px;
  max-width: 100%;
  height: 1em;
  content: "ALLIANCE";
  display: block;
  background-size: contain;
  transition: all 0.4s ease-out;
  right: 0;
  top: 0;
  z-index: 0;
  font-weight: 600;
  transform: translate(0, -85%);
  text-align: center;
  background: #ffffff;
  /* fallback for old browsers */
  background: linear-gradient(to top, #ededed, #f3f3f3, #ffffff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 16rem;
  line-height: 1em;
}

.topother__2 {
  margin-bottom: 200px;
}

.topother__2:before {
  display: block;
  position: absolute;
  width: 750px;
  max-width: 100%;
  height: 1em;
  content: "RECRUIT";
  display: block;
  transition: all 0.4s ease-out;
  left: 0;
  top: 0;
  z-index: 0;
  font-weight: 600;
  transform: translate(0, -80%);
  background: #ffffff;
  /* fallback for old browsers */
  background: linear-gradient(to top, #ededed, #f3f3f3, #ffffff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 16rem;
  line-height: 1em;
}

.topother__3 {
  margin-bottom: 100px;
  align-items: flex-end;
  padding-bottom: 60px;
}

.topother__3__messe {
  overflow: hidden;
  display: block;
  position: absolute;
  width: 100vw;
  max-width: 100vw;
  height: 190px;
  position: absolute;
  top: 20px;
  left: 0;
  z-index: 1;
}

.topother__3__messe__anime {
  position: relative;
  left: 0;
  display: block;
  top: 0;
  width: 100%;
}

.topother__3__messe span {
  display: block;
  width: auto;
  height: 100%;
  animation: topmessage 30s linear infinite forwards;
  position: absolute;
  overflow: visible;
  left: 0;
  top: 0;
  z-index: 0;
}

.topother__3__messe span:before {
  display: block;
  width: auto;
  max-width: inherit;
  height: 1em;
  content: "TOP MESSAGE TOP MESSAGE  ";
  display: block;
  overflow: visible;
  transition: all 0.4s ease-out;
  white-space: nowrap;
  opacity: 0.85;
  font-weight: 600;
  background: #272727;
  /* fallback for old browsers */
  background: linear-gradient(to top, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.25));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 16rem;
  line-height: 1em;
}

.topother__4 {
  margin-bottom: 190px;
}

.topother__4:before {
  display: block;
  position: absolute;
  width: 1200px;
  max-width: 100%;
  height: 1em;
  content: "CONSULTING";
  display: block;
  background-size: contain;
  transition: all 0.4s ease-out;
  right: 0;
  top: 0;
  z-index: 0;
  font-weight: 600;
  transform: translate(0, -85%);
  text-align: center;
  background: #ffffff;
  /* fallback for old browsers */
  background: linear-gradient(to top, #ededed, #f3f3f3, #ffffff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 16rem;
  line-height: 1em;
  text-align: right;
  letter-spacing: -0.05em;
}

.topother__link {
  position: relative;
  padding: 0 20px;
  z-index: 3;
  display: block;
}

.topother__link:hover .topother__tit__view:before {
  animation: view_menu 1.8s -0.3s ease-in-out infinite forwards;
}

.topother__link:hover .topother__tit__view__2:before {
  animation: view_menu_2 1.8s -0.3s ease-in-out infinite forwards;
}

.topother__pare {
  padding-top: 180px;
  position: relative;
  background: #fff;
  overflow: hidden;
}

.topother__pare__2 {
  padding-top: 90px;
  background: #c9c9ca;
}

.topother__l {
  width: 700px;
  max-width: 70%;
  position: relative;
  z-index: 2;
  opacity: 0;
}

.topother__l img {
  position: relative;
  z-index: 2;
}

.topother__l:after {
  display: block;
  background: #c9c9ca;
  content: "";
  width: 430px;
  max-width: 100%;
  height: 290px;
  position: absolute;
  z-index: 0;
}

.topother__l__1 {
  order: 1;
  padding-right: 25px;
  padding-right: 5px;
}

.topother__l__1:after {
  left: -20px;
  bottom: -20px;
}

.topother__l__2 {
  order: 2;
}

.topother__l__2:after {
  right: -20px;
  bottom: -20px;
}

.topother__l__3 {
  width: 1330px;
  max-width: 80%;
  order: 1;
  padding-right: 5px;
}

.topother__l__3 img {
  display: block;
  max-width: 100%;
  height: auto;
}

.topother__l__3:after {
  display: none;
}

.topother__r {
  width: 270px;
  max-width: 30%;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  z-index: 21;
  position: relative;
  opacity: 0;
}

.topother__r__1 {
  order: 2;
}

.topother__r__2 {
  order: 1;
  transform: translateY(-45px);
  justify-content: center;
}

.topother__r__3 {
  width: 770px;
  max-width: 40%;
  white-space: nowrap;
  order: 2;
  padding: 4%;
  margin-left: -25vw;
  margin-bottom: -8%;
  justify-content: center;
  background: rgba(255, 255, 255, 0.76);
}

.topother__tit {
  font-size: 4.2rem;
  font-weight: 500;
  line-height: 1;
  font-family: "Arial", "メイリオ", sans-serif;
  white-space: nowrap;
  width: 100%;
  color: #595656;
}

.topother__tit__up {
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0;
  font-family: "M PLUS 1p", "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.topother__tit__view {
  width: 330px;
  max-width: 100%;
  height: 60px;
  position: relative;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  overflow: hidden;
  margin-top: 60px;
  align-items: center;
}

.topother__tit__view span {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 20px;
  flex-direction: column;
  overflow: hidden;
  line-height: 1;
  height: 100%;
  margin: auto;
  color: #fff;
  position: relative;
  z-index: 2;
  font-size: 1.3rem;
}

.topother__tit__view:before {
  position: absolute;
  display: block;
  width: 30px;
  height: 1px;
  background: #fff;
  content: "";
  top: 50%;
  left: -2px;
  z-index: 2;
  background: #fff;
}

.topother__tit__view__2:before {
  left: auto;
  right: -2px;
}

.topother__tit__view__3 {
  margin-top: 40px;
}

.topother__tit__view:after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #2e87bb 0%, #2c5994 100%);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  transition: transform 0.3s;
  transform: scale(1, 1);
  transform-origin: left top;
}

.topother__tit__view:hover {
  border: 2px solid #036eb8;
}

.topother__tit__view:hover span {
  color: #036eb8;
}

.topother__tit__view:hover:after {
  transform-origin: right top;
  transform: scale(0, 1);
}

.topother__tit__view:hover .topother__tit__view:before {
  background: #fff;
}

@keyframes topmessage {
  0% {
    left: 50%;
  }

  100% {
    left: -100%;
  }
}

@media screen and (max-width: 767px) {
  .topother {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }

  .topother__1 {
    margin-bottom: 40%;
  }

  .topother__1:before {
    max-width: 100%;
    height: 17vw;
    transition: all 0.4s ease-out;
    top: 4px;
    right: 0;
    font-size: 6rem;
    letter-spacing: -0.05em;
  }

  .topother__2 {
    margin-bottom: 80px;
  }

  .topother__2:before {
    max-width: 100%;
    height: 17vw;
    top: 4px;
    left: 0;
    font-size: 6rem;
    letter-spacing: -0.05em;
  }

  .topother__3 {
    margin-bottom: 40%;
  }

  .topother__3:before {
    max-width: 82%;
    height: 17vw;
    top: 27px;
    right: -6%;
  }

  .topother__3__messe {
    height: 1em;
    font-size: 8rem;
    top: 15px;
  }

  .topother__3__messe span:before {
    font-size: 8rem;
  }

  .topother__4 {
    margin-bottom: 10%;
  }

  .topother__4:before {
    max-width: 100%;
    height: 17vw;
    transition: all 0.4s ease-out;
    top: 4px;
    right: 0;
    font-size: 6rem;
    letter-spacing: -0.12em;
  }

  .topother__link {
    padding: 0 0;
  }

  .topother__pare {
    padding-top: 25%;
  }

  .topother__pare__2 {
    padding-top: 13%;
  }

  .topother__l {
    max-width: 100%;
  }

  .topother__l:after {
    width: 100%;
    max-width: 100%;
    height: calc(100% - 20px);
  }

  .topother__l__1 {
    padding-right: 20px;
    order: 1;
  }

  .topother__l__1:after {
    left: -20px;
    bottom: -20px;
  }

  .topother__l__2 {
    order: 1;
  }

  .topother__l__2:after {
    right: -20px;
    bottom: -20px;
  }

  .topother__l__3 {
    order: 1;
    padding-right: 0;
  }

  .topother__l__3:after {
    display: none;
  }

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

  .topother__r {
    width: 100%;
    max-width: 100%;
  }

  .topother__r__1 {
    order: 2;
  }

  .topother__r__2 {
    order: 2;
    transform: translateY(0);
  }

  .topother__r__3 {
    order: 2;
    width: 100%;
    margin-left: 0;
    transform: translateY(0);
  }

  .topother__tit {
    padding-top: 5px;
    font-size: 3.2rem;
  }

  .topother__tit__up {
    display: block;
    font-size: 1.6rem;
  }

  .topother__tit__view {
    margin-top: 30px;
  }

  .topother__tit__view__2:before {
    left: auto;
    right: -2px;
  }

  .topother__tit__view__3 {
    margin-top: 20px;
  }
}

/*animation*/
@keyframes view_menu {
  0% {
    transform: translate(0, 0);
  }

  100% {
    transform: translate(-100%, 0);
  }
}

@keyframes view_menu_2 {
  0% {
    transform: translate(0, 0);
  }

  100% {
    transform: translate(100%, 0);
  }
}

.top-company {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  background: url("../images/top/img_company.png") 0 0 no-repeat;
  background-size: cover;
  height: 600px;
  width: 100%;
  position: relative;
}

.top-company:hover .top-company__tit__view:before {
  animation: view_menu_2 1.8s -0.3s ease-in-out infinite forwards;
}

.top-company__inner {
  width: 100%;
  height: 100%;
  padding: 50px 0;
  background: rgba(255, 255, 255, 0.5);
}

.top-company__inner>div {
  width: 100%;
  height: 100%;
}

.top-company__inner .top-company__link {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
  height: 100%;
}

.top-company__tit {
  font-size: 4.2rem;
  font-weight: 500;
  line-height: 1.1;
  text-align: center;
  font-family: "Arial", "メイリオ", sans-serif;
  color: #595656;
  color: #fff;
  text-shadow: 0 0 14px rgba(0, 0, 0, 0.35)
}

.top-company__tit__up {
  display: block;
  font-size: 2.2rem;
  font-weight: 400;
  font-family: "M PLUS 1p", "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.top-company__tit__view {
  width: 280px;
  max-width: 100%;
  height: 60px;
  position: relative;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  overflow: hidden;
  margin-top: 20px;
  align-items: center;
}

.top-company__tit__view span {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 20px;
  flex-direction: column;
  overflow: hidden;
  line-height: 1;
  height: 100%;
  margin: auto;
  color: #fff;
  position: relative;
  z-index: 2;
  font-size: 1.3rem;
}

.top-company__tit__view:before {
  position: absolute;
  display: block;
  width: 30px;
  height: 1px;
  background: #fff;
  content: "";
  top: 50%;
  right: -2px;
  z-index: 2;
  background: #fff;
}

.top-company__tit__view:after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #2e87bb 0%, #2c5994 100%);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  transition: transform 0.3s;
  transform: scale(1, 1);
  transform-origin: left top;
}

.top-company__tit__view:hover {
  border: 2px solid #036eb8;
}

.top-company__tit__view:hover span {
  color: #036eb8;
}

.top-company__tit__view:hover:after {
  transform-origin: right top;
  transform: scale(0, 1);
}

.top-company__tit__view:hover .topother__tit__view:before {
  background: #fff;
}

@media screen and (max-width: 767px) {
  .top-company {
    height: 40vh;
  }

  .top-company__inner {
    padding: 40px 0;
  }

  .top-company__tit {
    font-size: 3.2rem;
  }

  .top-company__tit__up {
    font-size: 1.6rem;
  }

  .top-company__tit__view {
    height: 60px;
    margin-top: 20px;
  }
}

.topgroup {
  width: 100%;
  max-width: 100%;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 3;
  padding-bottom: 0;
}

.topgroup__l {
  width: 50%;
}

.topgroup__r {
  width: 50%;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

.topgroup__pare {
  padding: 130px 0 25px 0;
  position: relative;
}

.topgroup__pare:before {
  display: block;
  position: absolute;
  width: 780px;
  height: 1em;
  max-width: 100%;
  content: "GROUP";
  display: block;
  transition: all 0.4s ease-out;
  left: 50%;
  top: 80px;
  z-index: 0;
  font-weight: 600;
  text-align: center;
  transform: translate(-50%, 0);
  background: #ffffff;
  /* fallback for old browsers */
  background: linear-gradient(to top, #ededed, #f3f3f3, #ffffff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 16rem;
  line-height: 1em;
}

.topgroup__item {
  display: block;
  color: #fff;
  text-align: center;
  position: relative;
  transform: rotate(0);
}

.topgroup__item__img {
  display: block;
  overflow: hidden;
  position: relative;
}

.topgroup__item__img img {
  display: block;
  max-width: 100%;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  height: auto;
}

.topgroup__item__img:before {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: rgba(255, 255, 255, 0);
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}

.topgroup__item__tit {
  font-size: 1.4rem;
  font-weight: 400;
  position: absolute;
  top: 15px;
  left: 15px;
  -moz-text-shadow: 0px 2px 6px rgb(0, 0, 0), 0px -2px 6px rgb(0, 0, 0), 2px 0px 6px rgb(0, 0, 0), -2px 0px 6px rgb(0, 0, 0);
  -webkit-text-shadow: 0px 2px 6px rgb(0, 0, 0), 0px -2px 6px rgb(0, 0, 0), 2px 0px 6px rgb(0, 0, 0), -2px 0px 6px rgb(0, 0, 0);
  -ms-text-shadow: 0px 2px 6px rgb(0, 0, 0), 0px -2px 6px rgb(0, 0, 0), 2px 0px 6px rgb(0, 0, 0), -2px 0px 6px rgb(0, 0, 0);
  text-shadow: 0px 2px 6px rgb(0, 0, 0), 0px -2px 6px rgb(0, 0, 0), 2px 0px 6px rgb(0, 0, 0), -2px 0px 6px rgb(0, 0, 0);
}

.topgroup__item:hover .topgroup__item__img img {
  transform: scale(1.1);
}

.topgroup__item:hover .topgroup__item__img:before {
  background: rgba(255, 255, 255, 0.25);
}

@media screen and (max-width: 767px) {
  .topgroup {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 10vw;
    max-width: 92%;
    margin: auto;
  }

  .topgroup__l {
    width: 100%;
  }

  .topgroup__r {
    width: 100%;
  }

  .topgroup__pare {
    padding: 50px 0 20px 0;
  }

  .topgroup__pare:before {
    font-size: 8rem;
    max-width: calc(100% - 40px);
    transform: translate(-50%, -30%);
  }

  .topgroup__item {
    width: 100%;
  }

  .topgroup__item__img {
    width: 100%;
    margin-bottom: 15px;
  }

  .topgroup__item__img img {
    width: 100%;
    height: auto;
  }

  .topgroup__item__tit {
    font-size: 1.4rem;
    top: 10px;
    left: 10px;
  }
}

.sns__pare {
  padding: 80px 0;
  position: relative;
}

.sns__pare:before {
  display: block;
  position: absolute;
  width: 780px;
  height: 1em;
  max-width: 100%;
  content: "SNS";
  display: block;
  transition: all 0.4s ease-out;
  left: 50%;
  top: 40px;
  z-index: 0;
  font-weight: 600;
  text-align: center;
  transform: translate(-50%, 0);
  background: #ffffff;
  /* fallback for old browsers */
  background: linear-gradient(to top, #ededed, #f3f3f3, #ffffff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 16rem;
  line-height: 1em;
}

.sns__pare .sns__list {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 1150px;
  max-width: 100%;
  margin: 100px auto auto auto;
}

.sns__pare .sns__list .sns__list__item {
  display: block;
  text-align: center;
  max-width: 20%;
  color: #595757;
  font-weight: 600;
  font-size: 2.2rem;
}

.sns__pare .sns__list .sns__list__item picture {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #595757;
  width: 215px;
  max-width: 100%;
  height: 135px;
  margin-bottom: 15px;
  transition: all 0.25s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}

.sns__pare .sns__list .sns__list__item picture, .sns__pare .sns__list .sns__list__item picture img {
  transition: all 0.25s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}

.sns__pare .sns__list .sns__list__item:hover picture {
  -webkit-box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);
}

.sns__pare .sns__list .sns__list__item:hover picture img {
  transform: scale(1.1);
}

@media screen and (max-width: 767px) {
  .sns__pare {
    padding: 50px 0;
    position: relative;
  }

  .sns__pare:before {
    font-size: 8rem;
    max-width: calc(100% - 40px);
    transform: translate(-50%, -30%);
    top: 80px;
  }

  .sns__pare .sns__list {
    margin: 50px auto auto auto;
    gap: 2%;
  }

  .sns__pare .sns__list .sns__list__item {
    max-width: 48%;
    font-size: 1.6rem;
    margin-bottom: 15px;
  }

  .sns__pare .sns__list .sns__list__item picture {
    max-width: 100%;
    height: 100px;
    margin-bottom: 5px;
  }

  .sns__pare .sns__list .sns__list__item picture img {
    width: 55px;
  }
}

/*--
下層ページ

--*/
.p-subpage__main {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 42.1666666667vh;
  background-size: cover !important;
  position: relative;
}

.p-subpage__main:before {
  width: 100%;
  height: 100%;
  position: absolute;
  content: '';
  background: #036eb8;
  z-index: 1;
  opacity: 0.2;
  display: block;
}

.p-subpage__title {
  font-size: 4.4rem;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 2;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.35);
  transform: rotate(0.05deg);
}

.p-subpage__title__up {
  display: block;
  font-size: 2.8rem;
  font-weight: 500;
  margin-bottom: -5px;
}

/*
01　会社概要
*/
.p-company__menu {
  position: fixed;
  padding: 10px 10px 10px 40px;
  right: 20px;
  width: 200px;
  top: 60%;
  z-index: 3;
  border-radius: 10px;
  background: #595757;
  transition: all 0.25s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}

.p-company__menu.hidden {
  opacity: 0;
  visibility: hidden;
}

.p-company__menu ul {
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  display: block;
}

.p-company__menu ul li {
  display: block;
  margin-bottom: 0;
}

.p-company__menu ul li a {
  display: block;
  color: #9fa0a0;
  font-size: 1.4rem;
  padding: 8px 10px;
  transition: all 0.25s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}

.p-company__menu ul li a span {
  display: inline-block;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(255, 255, 255, 0);
  transition: all 0.25s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}

.p-company__menu ul li a:hover {
  color: #fff;
}

.p-company__menu ul li a:hover span {
  border-bottom: 1px solid white;
}

@media screen and (max-width: 767px) {
  .p-company__menu {
    display: none;
  }
}

.p-company__gaiyo {
  background: #f7f8f8;
  padding: 200px 0 120px 0;
}

.p-company__gaiyo__table {
  width: 780px;
  max-width: calc(100% - 40px);
  margin: auto;
}

.p-company__gaiyo__table tr {
  border-top: 1px solid #9fa0a0;
}

.p-company__gaiyo__table tr th {
  transform: rotate(0.05deg);
  width: 145px;
  max-width: 20%;
  padding: 15px 5px;
  text-align: left;
  vertical-align: top;
}

.p-company__gaiyo__table tr td {
  transform: rotate(0.05deg);
  padding: 15px 5px;
  max-width: 80%;
}

@media screen and (max-width: 767px) {
  .p-company__gaiyo {
    padding: 23% 0 10% 0;
  }

  .p-company__gaiyo__table {
    display: block;
  }

  .p-company__gaiyo__table tr {
    display: block;
  }

  .p-company__gaiyo__table tr th {
    display: block;
    width: 100%;
    padding: 10px 5px 0 5px;
    max-width: 100%;
  }

  .p-company__gaiyo__table tr td {
    display: block;
    width: 100%;
    padding: 8px 5px 10px 5px;
    max-width: 100%;
  }
}

.p-company__tree {
  padding: 120px 20px;
  text-align: center;
  /* background: #000; */
}

.p-company__tree img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .p-company__tree {
    padding: 15% 10px;
  }
}

.p-company__map {
  padding: 120px 20px;
  background: #f7f8f8;
}

.p-company__map__iframe {
  margin-bottom: 10px;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  /*比率をお好みで*/
  z-index: 2;
}

.p-company__map__iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-company__map__iframe a {
  position: absolute;
  bottom: -45px;
  right: 0;
}

.p-company__map__txt1 {
  font-size: 1.8rem;
  line-height: 1.8;
  padding-bottom: 5px;
  border-bottom: 1px solid #dcdddd;
  margin-bottom: 5px;
  position: relative;
  z-index: 1;
}

.p-company__map__txt2 {
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .p-company__map {
    padding: 15% 20px;
  }

  .p-company__map__iframe {
    margin-bottom: 45px;
  }

  .p-company__map__iframe a {
    position: absolute;
    bottom: -30px;
    right: 0;
  }

  .p-company__map__txt1 {
    font-size: 1.4rem;
  }

  .p-company__map__txt2 {
    font-size: 1.4rem;
  }
}

.p-company__link {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
}

.p-company__link__item {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 33.3333333333%;
  position: relative;
  padding-bottom: 25px;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  color: #fff;
  height: 544px;
}

.p-company__link__item__1 {
  background: url("../images/company/img_company_link_message.png") 50% 0 no-repeat;
  background-size: cover;
}

.p-company__link__item__2 {
  background: url("../images/company/img_company_link_business.png") 50% 0 no-repeat;
  background-size: cover;
}

.p-company__link__item__3 {
  background: url("../images/company/img_company_link_csr.png") 50% 0 no-repeat;
  background-size: cover;
}

.p-company__link__item:before {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}

.p-company__link__item__txt {
  display: block;
  text-align: center;
  position: relative;
  z-index: 2;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  font-size: 1.3rem;
  line-height: 1.3;
}

.p-company__link__item__txt span {
  display: block;
  text-align: center;
  font-size: 2.6rem;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}

.p-company__link__item:hover {
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.45), 0 0 12px rgba(0, 0, 0, 0.85);
}

.p-company__link__item:hover:before {
  mix-blend-mode: overlay;
  background: rgba(0, 0, 0, 0.05);
}

@media screen and (max-width: 767px) {
  .p-company__link {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }

  .p-company__link__item {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    width: 100%;
    padding-bottom: 25px;
    height: 56vh;
  }

  .p-company__link__item__1 {
    background: url("../images/company/img_company_link_message@2x.png") 50% 0 no-repeat;
    background-size: cover;
  }

  .p-company__link__item__2 {
    background: url("../images/company/img_company_link_business@2x.png") 50% 0 no-repeat;
    background-size: cover;
  }

  .p-company__link__item__3 {
    background: url("../images/company/img_company_link_csr@2x.png") 50% 0 no-repeat;
    background-size: cover;
  }

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

  .p-company__link__item__txt span {
    display: block;
    text-align: center;
    font-size: 2.6rem;
    transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  }
}

/*
02　事業内容
*/
.p-business__menu {
  position: relative;
  z-index: 1;
}

.p-business__menu__item {
  position: relative;
}

.p-business__menu__item__img {
  width: 100%;
}

.p-business__menu__item__img img {
  width: 100%;
  height: auto;
}

.p-business__menu__item__link {
  display: block;
  width: 600px;
  max-width: 50%;
  font-size: 1.6rem;
  color: #fff;
  position: absolute;
  bottom: 20px;
  right: 20px;
  padding-top: 40px;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  background: rgba(255, 255, 255, 0.9);
  transform: rotate(0);
}

.p-business__menu__item__link>span {
  display: block;
  position: relative;
  font-size: 3.2rem;
  color: #036eb8;
  margin-bottom: 20px;
  font-weight: 700;
  padding-left: 40px;
  line-height: 1;
}

.p-business__menu__item__link>p {
  font-size: 5.3rem;
  color: #036eb8;
  line-height: 1;
  padding-left: 40px;
  font-weight: 600;
  margin-bottom: 20px;
}

.p-business__menu__item__link__view {
  position: relative;
  z-index: 2;
  transform: rotate(0.05deg);
  width: 100%;
  max-width: 100%;
  height: 60px;
  position: relative;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  overflow: hidden;
  align-items: center;
}

.p-business__menu__item__link__view>span {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 20px;
  flex-direction: column;
  overflow: hidden;
  line-height: 1;
  height: 100%;
  margin: auto;
  color: #fff;
  position: relative;
  z-index: 2;
  font-size: 1.3rem;
}

.p-business__menu__item__link__view:after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #2e87bb 0%, #2c5994 100%);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  transition: transform 0.3s;
  transform: scale(1, 1);
  transform-origin: left top;
}

.p-business__menu__item__link__view:hover {
  border: 2px solid #036eb8;
}

.p-business__menu__item__link__view:hover span {
  color: #036eb8;
}

.p-business__menu__item__link__view:hover:after {
  transform-origin: right top;
  transform: scale(0, 1);
}

.p-business__menu__item__link__view:hover .p-business__menu__item__view:before {
  background: #fff;
}

.p-business__menu__item__link:hover:before {
  animation: view_menu 1.8s -0.3s ease-in-out infinite forwards;
}

.p-business__menu__item__link:hover:after {
  transform: scale(1, 1);
  transform-origin: left top;
}

@media screen and (max-width: 767px) {
  .p-business__menu__item {
    position: relative;
  }

  .p-business__menu__item__link {
    max-width: 44%;
    font-size: 1.2rem;
    bottom: 0;
    right: 0;
    height: 100%;
    padding-top: 25px;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .p-business__menu__item__link>span {
    font-size: 1.2rem;
    padding-left: 10px;
    margin-bottom: 15px;
  }

  .p-business__menu__item__link>p {
    font-size: 2.2rem;
    padding-left: 10px;
    margin-bottom: 0;
    letter-spacing: -0.05em;
  }

  .p-business__menu__item__link__view {
    margin-top: auto;
  }
}

.p-business__bottom {
  padding: 100px 0;
  position: relative;
}

.p-business__bottom:before {
  display: block;
  background: rgba(255, 255, 255, 0.4);
  position: absolute;
  z-index: 1;
  width: 100%;
  content: "";
  height: 100%;
  top: 0;
  left: 0;
}

.p-business__bottom:after {
  display: block;
  background: #E3EFF6 url("../images/business/business_bg.png") 50% 50% no-repeat;
  background-size: cover;
  overflow: hidden;
  width: 100%;
  content: "";
  height: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.p-business__bottom__inner {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  width: 900px;
  max-width: 100%;
  margin: auto;
  position: relative;
  z-index: 2;
  justify-content: space-between;
}

.p-business__bottom__item {
  background: #fff;
  width: 284px;
  max-width: 33%;
  margin-bottom: 20px;
}

.p-business__bottom__item:nth-of-type(4) {
  margin-left: auto;
  margin-right: 1%;
}

.p-business__bottom__item:nth-of-type(5) {
  margin-right: auto;
  margin-left: 1%;
}

.p-business__bottom__img img {
  display: block;
  max-width: 100%;
  height: auto;
}

.p-business__bottom__l {
  padding: 15px 10px;
}

.p-business__bottom__tit {
  position: relative;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 5px;
  text-align: center;
  color: #2c5994;
}

.p-business__bottom__txt {
  font-size: 1.5rem;
}

@media screen and (max-width: 767px) {
  .p-business__bottom {
    padding: 10vh 20px;
    overflow: hidden;
    position: relative;
  }

  .p-business__bottom:after {
    background: #E3EFF6 url("../images/business/business_bg@2x.png") 50% 50% no-repeat;
    background-size: cover;
  }

  .p-business__bottom__inner {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    max-width: 92%;
  }

  .p-business__bottom__item {
    width: 284px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .p-business__bottom__item:nth-of-type(4), .p-business__bottom__item:nth-of-type(5) {
    margin-left: auto;
    margin-right: auto;
  }

  .p-business__bottom__l {
    max-width: 100%;
    margin-bottom: 20px;
    padding: 4vw;
  }

  .p-business__bottom__r {
    max-width: 100%;
  }

  .p-business__bottom__tit {
    font-size: 2rem;
    margin-bottom: 10px;
  }

  .p-business__bottom__tit:before {
    left: calc(-100% - 20px);
  }

  .p-business__bottom__tit span {
    font-size: 1.2rem;
  }

  .p-business__bottom__txt {
    font-size: 1.4rem;
  }
}

/*
03グループ企業*/
.p-group {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  z-index: 3;
}

.p-group__pare {
  padding: 40px 20px 25px 20px;
  position: relative;
}

.p-group__item {
  margin-bottom: 0px;
  width: 495px;
  max-width: 48.5%;
}

.p-group__item:nth-of-type(2n) {
  margin-top: 100px;
}

.p-group__item__img {
  display: block;
  box-shadow: 0 2px 8px 0px rgba(0, 0, 0, 0.25);
  margin-bottom: 20px;
}

.p-group__item__img img {
  display: block;
  max-width: 100%;
  height: auto;
}

.p-group__item__bottom {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  padding-right: 25px;
}

.p-group__item__bottom__l {
  width: 315px;
  max-width: 70%;
  margin-bottom: 30px;
}

.p-group__item__bottom__r {
  width: 105px;
}

.p-group__item__bottom__r a {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  width: 105px;
  height: 105px;
  justify-content: center;
  align-items: center;
  border: 1px solid rgba(114, 113, 113, 0.5);
  color: #727171;
  font-size: 1.2rem;
  letter-spacing: -0.2px;
  position: relative;
  transition: all 0.25s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  border-radius: 100px;
  overflow: hidden;
  font-weight: 700;
}

.p-group__item__bottom__r a:before {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100px;
  content: "";
  background: #727171;
  position: absolute;
  top: 50%;
  left: 50%;
  transition: all 0.25s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  transform: translate(-50%, -50%) scale(0);
  z-index: 0;
}

.p-group__item__bottom__r a span {
  position: relative;
  z-index: 2;
}

.p-group__item__bottom__r a:hover {
  color: #fff;
  border: 1px solid rgba(114, 113, 113, 0);
}

.p-group__item__bottom__r a:hover:before {
  transform: translate(-50%, -50%) scale(1);
}

.p-group__item__logo {
  display: block;
  margin-bottom: 30px;
}

.p-group__item__logo img {
  display: block;
  max-width: 100%;
  height: auto;
}

.p-group__item__tit {
  font-size: 1.7rem;
  font-weight: 500;
  color: #727171;
  padding-bottom: 5px;
  border-bottom: 1px solid #dbdcdc;
  margin-bottom: 5px;
  transform: rotate(0.05deg);
}

.p-group__item__list {
  padding-bottom: 5px;
  padding-left: 4px;
  border-bottom: 1px solid #dbdcdc;
}

.p-group__item__list li {
  display: block;
  margin-bottom: 2px;
  font-size: 1.9rem;
  transform: rotate(0.05deg);
}

@media screen and (max-width: 767px) {
  .p-group__pare {
    padding: 4vh 20px 2vh 20px;
  }

  .p-group__item {
    max-width: 100%;
  }

  .p-group__item:nth-of-type(2n) {
    margin-top: 10vh;
  }

  .p-group__item__img {
    margin-bottom: 20px;
  }

  .p-group__item__img img {
    display: block;
    max-width: 100%;
    height: auto;
  }

  .p-group__item__bottom {
    padding-right: 15px;
  }

  .p-group__item__bottom__l {
    max-width: 72%;
    margin-bottom: 20px;
  }

  .p-group__item__bottom__r {
    width: 52px;
  }

  .p-group__item__bottom__r a {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    width: 52px;
    height: 52px;
    justify-content: center;
    align-items: center;
    border: 1px solid rgba(114, 113, 113, 0.5);
    color: #727171;
    font-size: 0.78rem;
    letter-spacing: -0.2px;
    position: relative;
    transition: all 0.25s cubic-bezier(0.51, 0.11, 0.4, 0.9);
    border-radius: 100px;
    overflow: hidden;
    font-weight: 700;
  }

  .p-group__item__bottom__r a:before {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 100px;
    content: "";
    background: #727171;
    position: absolute;
    top: 50%;
    left: 50%;
    transition: all 0.25s cubic-bezier(0.51, 0.11, 0.4, 0.9);
    transform: translate(-50%, -50%) scale(0);
    z-index: 0;
  }

  .p-group__item__bottom__r a span {
    position: relative;
    z-index: 2;
  }

  .p-group__item__bottom__r a:hover {
    color: #fff;
    border: 1px solid rgba(114, 113, 113, 0);
  }

  .p-group__item__bottom__r a:hover:before {
    transform: translate(-50%, -50%) scale(1);
  }

  .p-group__item__logo {
    display: block;
    margin-bottom: 20px;
  }

  .p-group__item__tit {
    font-size: 1rem;
  }

  .p-group__item__list li {
    font-size: 1.2rem;
  }
}

/*

05採用情報

*/
.p-recruit__main {
  text-align: center;
  margin-bottom: 140px;
}

.p-recruit__main__img {
  display: block;
  text-align: center;
  margin-bottom: 135px;
  position: relative;
}

.p-recruit__main__img figcaption {
  position: absolute;
  top: 0;
  left: 50%;
  font-size: 4.4rem;
  font-weight: 700;
  transform: translate(-50%, -50%);
  padding-top: 13%;
}

.p-recruit__main__img figcaption>span {
  display: block;
  position: relative;
  overflow: hidden;
}

.p-recruit__main__img figcaption>span:first-child {
  margin-bottom: 10px;
}

.p-recruit__main__img figcaption>span>span {
  display: block;
  transform: translateY(100%);
  padding: 5px 8px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", " メイリオ", " Meiryo", serif;
  white-space: nowrap;
  opacity: 0;
  line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
}

.p-recruit__main__img picture {
  display: block;
}

.p-recruit__main__img picture img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: auto;
}

.p-recruit__main__img.active figcaption span span {
  animation: recruit_main 1.8s -0.3s ease-in-out 1 forwards;
}

.p-recruit__main__txt {
  font-size: 3.9rem;
  line-height: 1.9;
  font-weight: 400;
  background: url("../images/recruit/img_recruit_bg.svg") 50% 50% no-repeat;
  background-size: contain;
}

.p-recruit__main__txt:before {
  display: block;
  content: "";
  margin: auto auto 50px auto;
  background: #595757;
  width: 1px;
  height: 135px;
}

.p-recruit__main__txt:after {
  display: block;
  content: "";
  margin: 50px auto auto auto;
  background: #595757;
  width: 1px;
  height: 135px;
}

@media screen and (max-width: 767px) {
  .p-recruit__main {
    margin-bottom: 10vh;
  }

  .p-recruit__main__img {
    margin-bottom: 10vh;
  }

  .p-recruit__main__img figcaption {
    font-size: 2rem;
  }

  .p-recruit__main__img picture {
    display: block;
  }

  .p-recruit__main__img picture img {
    display: block;
    max-width: 100%;
    height: auto;
  }

  .p-recruit__main__txt {
    font-size: 1.8rem;
  }

  .p-recruit__main__txt:before {
    height: 45px;
    margin-bottom: 20px;
  }

  .p-recruit__main__txt:after {
    height: 45px;
    margin-top: 20px;
  }
}

.p-recruit__link__item {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  margin-bottom: 60px;
  justify-content: space-between;
}

.p-recruit__link__item:hover .p-recruit__link__tit__view:before {
  animation: view_more 1.8s -0.3s ease-in-out infinite forwards;
}

.p-recruit__link__l {
  width: 460px;
  max-width: 48%;
}

.p-recruit__link__l img {
  display: block;
  min-width: 100%;
  height: auto;
}

.p-recruit__link__r {
  width: 460px;
  padding-left: 8%;
  max-width: 48%;
}

.p-recruit__link__tit {
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.3;
  font-family: "Arial", "メイリオ", sans-serif;
}

.p-recruit__link__tit__up {
  display: block;
  font-size: 1.9rem;
  font-weight: 400;
  font-family: "M PLUS 1p", "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.p-recruit__link__tit__view {
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  font-family: "Arial", "メイリオ", sans-serif;
  margin-top: 50px;
  position: relative;
  overflow: hidden;
}

.p-recruit__link__tit__view:before {
  display: inline-block;
  width: 70px;
  height: 1px;
  content: "";
  background: #352f2d;
  margin-right: 8px;
  transform: translateY(-2px);
  transition: all 0.8s ease;
}

@media screen and (max-width: 767px) {
  .p-recruit__link__item {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15vh;
    width: 100%;
  }

  .p-recruit__link__item figure {
    display: block;
    width: 100%;
  }

  .p-recruit__link__l {
    display: block;
    max-width: 100%;
    margin-bottom: 20px;
  }

  .p-recruit__link__l img {
    display: block;
    max-width: 100%;
    height: auto;
  }

  .p-recruit__link__r {
    max-width: 100%;
    padding-left: 5px;
  }

  .p-recruit__link__tit {
    font-size: 2.4rem;
  }

  .p-recruit__link__tit__up {
    display: block;
    font-size: 1.2rem;
  }

  .p-recruit__link__tit__view {
    font-size: 1.4rem;
    margin-top: 30px;
  }
}

/*animation*/
@keyframes view_more {
  0% {
    transform: translate(0, -2px);
  }

  100% {
    transform: translate(-100%, -2px);
  }
}

/*

06アフターメンテナンス

*/
.p-support__main {
  position: relative;
  margin: auto;
}

.p-support__main__txt {
  font-size: 4.4rem;
  color: #036eb8;
  margin-bottom: 100px;
  font-weight: 600;
  padding-top: 50px;
}

.p-support__main__txt span {
  display: inline-block;
  font-size: 5.2rem;
  font-weight: 900;
  position: relative;
  padding: 0px 5px;
  line-height: 1;
}

.p-support__main__txt span:after {
  display: block;
  content: "";
  background: #fff100;
  width: 100%;
  height: 18px;
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: -1;
}

.p-support__main__img {
  width: 1280px;
  max-width: 100%;
  margin: auto;
}

.p-support__main__img picture {
  display: block;
}

.p-support__main__img img {
  display: block;
  margin: auto;
  height: auto;
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .p-support__main__txt {
    font-size: 1.8rem;
    margin-bottom: 6vh;
  }

  .p-support__main__txt span {
    font-size: 2.2rem;
  }

  .p-support__main__txt span:after {
    height: 12px;
  }
}

.p-support__komari {
  padding: 100px 20px;
  background: #efefef;
  text-align: center;
}

.p-support__komari__tit {
  font-size: 3.4rem;
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
}

.p-support__komari__tit span {
  display: inline-block;
  padding: 4px;
  border-bottom: 1px solid #464342;
}

.p-support__komari__img {
  display: block;
  text-align: center;
}

.p-support__komari__img img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .p-support__komari {
    padding: 80px 10px;
  }

  .p-support__komari__tit {
    font-size: 2.8rem;
    margin-bottom: 35px;
  }

  .p-support__komari__tit span {
    display: inline;
  }
}

/*animation*/
@keyframes recruit_main {
  0% {
    transform: translateY(100%);
    opacity: 0;
  }

  100% {
    transform: translateY(0%);
    opacity: 1;
  }
}

.p-support__media {
  width: 640px;
  max-width: 100%;
  margin:clamp(50px, 15%, 120px) auto clamp(40px, 10%, 60px) auto;
}

.p-support__media .p-support__media__tit {
  font-size: 2.8rem;
  font-weight: 600;
  position: relative;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 30px;
}

.p-support__media .p-support__media__tit:before {
  content: '';
  display: block;
  width: 30px;
  height: 34px;
  background-size: contain;
  background: url("../images/support/img_after_media1.svg") 0 0 no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(100%, -30%);
}

.p-support__media .p-support__media__tit:after {
  content: '';
  display: block;
  width: 30px;
  height: 34px;
  background-size: contain;
  background: url("../images/support/img_after_media2.svg") 0 0 no-repeat;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(-100%, -30%);
}

.p-support__media .p-support__media__movie {
  /* width: 600px;
    max-width: 100%;
    height: 320px;
 */
  width: 100%;
  aspect-ratio: 16 / 9;
}

.p-support__media .p-support__media__movie iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .p-support__media {
    margin: clamp(40px, 8%, 100px) auto 0 auto;
    padding:0 5%;
  }

  .p-support__media .p-support__media__tit {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }

  .p-support__media .p-support__media__tit:before {
    width: 15px;
    height: 17px;
    transform: translate(20%, -30%);
  }
.p-support__media .p-support__media__tit:after {
    width: 15px;
    height: 17px;
    transform: translate(-20%, -30%);
  }



}

.p-support__merit {
  padding: 120px 20px;
}

.p-support__merit__midashi {
  text-align: center;
  display: block;
  margin-bottom: 120px;
}

.p-support__merit__midashi img {
  display: block;
  margin: auto;
  max-width: 100%;
  height: auto;
}

.p-support__merit__inner {
  width: 980px;
  max-width: 100%;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin: auto auto 50px auto;
  justify-content: space-between;
}

.p-support__merit__l {
  width: 410px;
  max-width: 43%;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.p-support__merit__l__1 {
  order: 1;
}

.p-support__merit__l__2 {
  order: 2;
}

.p-support__merit__r {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  width: 520px;
  max-width: 55%;
  font-size: 1.8rem;
}

.p-support__merit__r__1 {
  order: 2;
  justify-content: flex-start;
}

.p-support__merit__r__2 {
  order: 1;
  justify-content: flex-end;
}

.p-support__merit__r img {
  display: block;
  max-width: 100%;
  height: auto;
}

.p-support__merit__tit {
  position: relative;
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.7;
  margin-bottom: 20px;
  color: #036eb8;
}

.p-support__merit__tit span {
  display: block;
  position: relative;
  z-index: 1;
}

.p-support__merit__tit:before {
  display: block;
  line-height: 1;
  content: "";
  width: 134px;
  height: 118px;
  font-family: "din1451alt_G", sans-serif;
  font-size: 16rem;
  position: absolute;
  color: rgba(3, 110, 184, 0.1);
  top: 0;
  left: 0;
  letter-spacing: -0.05em;
  transform: translate(-25%, -50%);
  z-index: 1;
  font-style: italic;
}

.p-support__merit__tit__1:before {
  background: url("../images/support/img_merit_num1.svg") 94% 50% no-repeat;
  background-size: 134px 118px;
}

.p-support__merit__tit__2:before {
  background: url("../images/support/img_merit_num2.svg") 94% 50% no-repeat;
  background-size: 134px 118px;
}

.p-support__merit__tit__3:before {
  background: url("../images/support/img_merit_num3.svg") 94% 50% no-repeat;
  background-size: 134px 118px;
}

.p-support__merit__tit__4:before {
  background: url("../images/support/img_merit_num4.svg") 94% 50% no-repeat;
  background-size: 134px 118px;
}

@media screen and (max-width: 767px) {
  .p-support__merit {
    padding: 15vh 20px 0 20px;
  }

  .p-support__merit__midashi {
    margin-bottom: 15vh;
  }

  .p-support__merit__inner {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    width: 84%;
    margin: auto auto 13vh auto;
  }

  .p-support__merit__l {
    max-width: 100%;
    margin-bottom: 30px;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
  }

  .p-support__merit__l__1 {
    order: 1;
  }

  .p-support__merit__l__2 {
    order: 1;
  }

  .p-support__merit__r {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    max-width: 100%;
    font-size: 1.6rem;
  }

  .p-support__merit__r__1 {
    order: 2;
    justify-content: center;
  }

  .p-support__merit__r__2 {
    order: 2;
    justify-content: center;
  }

  .p-support__merit__tit {
    font-size: 2.3rem;
  }

  .p-support__merit__tit:before {
    display: block;
    line-height: 1;
    content: "";
    width: 86px;
    height: 68px;
    font-family: "din1451alt_G", sans-serif;
    font-size: 8rem;
    position: absolute;
    color: rgba(3, 110, 184, 0.1);
    top: 0;
    left: 0;
    letter-spacing: -0.05em;
    transform: translate(-25%, -50%);
    z-index: 1;
    font-style: italic;
  }

  .p-support__merit__tit__1:before, .p-support__merit__tit__2:before, .p-support__merit__tit__3:before, .p-support__merit__tit__4:before {
    background-size: contain;
  }
}

.p-support__chosa {
  width: 1080px;
  max-width: 100%;
  margin: 100px auto 40px auto;
  border: 4px solid #036eb8;
  padding: 180px 30px 30px 30px;
  border-radius: 15px;
  position: relative;
}

.p-support__chosa__tit {
  position: absolute;
  top: 30px;
  left: -40px;
  text-align: left;
}

.p-support__chosa__tit img {
  display: block;
  max-width: 100%;
  height: auto;
}

.p-support__chosa__graf1 {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  margin-bottom: 100px;
}

.p-support__chosa__graf1 figure {
  width: 48%;
  text-align: center;
}

.p-support__chosa__graf1 figcaption {
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
  display: block;
  color: #036eb8;
  margin-bottom: 10px;
}

.p-support__chosa__graf1 img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: auto;
}

.p-support__chosa__graf2 img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: auto;
}

.p-support__chosa__txt {
  text-align: center;
  color: #036eb8;
  margin-top: 20px;
  font-size: 2.2rem;
}

@media screen and (max-width: 767px) {
  .p-support__chosa {
    margin: 100px auto 40px auto;
    padding: 40vw 20px 30px 20px;
    border-radius: 20px;
  }

  .p-support__chosa__tit {
    position: absolute;
    top: 30px;
    left: -4vw;
    text-align: left;
  }

  .p-support__chosa__tit img {
    display: block;
    max-width: 94%;
    height: auto;
  }

  .p-support__chosa__graf1 {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 4vh;
  }

  .p-support__chosa__graf1 figure {
    width: 100%;
    margin-bottom: 40px;
  }

  .p-support__chosa__graf1 figcaption {
    font-size: 2rem;
    margin-bottom: 20px;
  }

  .p-support__chosa__txt {
    font-size: 1rem;
  }
}

.p-support__voice {
  padding: 60px 20px 100px 20px;
  border-top: 1px solid #352f2d;
}

.p-support__voice__inner {
  width: 1000px;
  max-width: 100%;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: auto auto 60px auto;
  justify-content: space-between;
}

.p-support__voice__time {
  display: block;
  width: 100%;
  margin-bottom: 30px;
}

.p-support__voice__time span {
  display: block;
  width: 360px;
  max-width: 100%;
  position: relative;
  font-size: 2.8rem;
  text-align: right;
  color: #036eb8;
  padding-right: 10px;
  padding-bottom: 0px;
}

.p-support__voice__time span:after {
  position: absolute;
  display: block;
  width: 200%;
  height: 1px;
  content: "";
  background: #036eb8;
  right: 0;
  bottom: 0;
}

.p-support__voice__l {
  width: 232px;
  height: 232px;
  max-width: 28%;
  border-radius: 200px;
  position: relative;
  background: linear-gradient(180deg, #2e87bb 0%, #2c5994 100%);
}

.p-support__voice__l:after {
  display: block;
  width: 58px;
  height: 64px;
  content: "";
  background: url("../images/support/ico_man.svg") 0 0 no-repeat;
  background-size: contain;
  margin: auto;
}

.p-support__voice__tit {
  padding-top: 35px;
  text-align: center;
  font-size: 2.8rem;
  font-weight: 500;
  color: #fff;
  margin-bottom: 5px;
  line-height: 1.3;
}

.p-support__voice__r {
  width: 710px;
  max-width: 73%;
}

.p-support__voice__r p {
  font-size: 2.7rem;
  color: #036eb8;
  line-height: 1.5;
  font-family: "Hannari", serif;
  font-style: normal;
}

.p-support__voice__r p span {
  display: inline-block;
  line-height: 1;
  position: relative;
}

.p-support__voice__r p span:after {
  display: block;
  content: "";
  background: #fff100;
  width: 100%;
  height: 10px;
  position: absolute;
  bottom: -8px;
  left: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-support__voice {
    padding: 60px 20px 1vh 20px;
    border-top: none;
  }

  .p-support__voice__inner {
    margin: auto auto 60px auto;
  }

  .p-support__voice__time {
    margin-bottom: 30px;
  }

  .p-support__voice__time span {
    display: block;
    padding-right: 6px;
    max-width: 60%;
    margin-right: 40%;
    font-size: 2rem;
    white-space: nowrap;
  }

  .p-support__voice__l {
    width: 116px;
    height: 116px;
    max-width: 100%;
    font-size: 1.4rem;
    margin: auto auto 20px auto;
  }

  .p-support__voice__l:after {
    width: 29px;
    height: 32px;
  }

  .p-support__voice__tit {
    padding-top: 20px;
    font-size: 1.4rem;
  }

  .p-support__voice__r {
    width: 710px;
    max-width: 100%;
  }

  .p-support__voice__r p {
    font-size: 1.45rem;
  }
}

.p-support__teikei {
  padding: 100px 20px;
  background: linear-gradient(60deg, #2e87bb 0%, #2c5994 100%);
  color: #fff;
  text-align: center;
}

.p-support__teikei__inner {
  width: 1080px;
  max-width: 100%;
  margin: auto;
}

.p-support__teikei picture {
  display: block;
  text-align: center;
  margin-bottom: 30px;
}

.p-support__teikei picture img {
  display: block;
  max-width: 100%;
  height: auto;
}

.p-support__teikei p {
  font-size: 2.6rem;
}

@media screen and (max-width: 767px) {
  .p-support__teikei {
    padding: 40px 10px;
  }

  .p-support__teikei p {
    font-size: 1.4rem;
  }
}

.p-support__flow {
  background: #f5fbfe;
  padding: 120px 20px;
}

.p-support__flow__inner {
  width: 1080px;
  max-width: 100%;
  margin: auto;
  justify-content: space-between;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  padding-bottom: 70px;
  margin-bottom: 80px;
  border-bottom: 1px solid rgba(3, 110, 184, 0.2);
}

.p-support__flow__inner__last {
  border-bottom: 0;
}

.p-support__flow__tit {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  color: #036eb8;
  font-size: 4.4rem;
  margin-bottom: 30px;
}

.p-support__flow__tit span {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 200px;
  border-radius: 100px;
  font-size: 9rem;
  font-family: "Arial", "メイリオ", sans-serif;
  margin-right: 20px;
  border: 1px solid #036eb8;
}

.p-support__flow__txt {
  font-size: 2.4rem;
  color: #036eb8;
  text-align: left;
  transform: rotate(0.05deg);
  letter-spacing: -1px;
}

.p-support__flow__l {
  width: 450px;
  max-width: 45%;
}

.p-support__flow__r {
  width: 560px;
  max-width: 53%;
}

.p-support__flow__r figure {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}

.p-support__flow__r figure img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .p-support__flow {
    padding: 10vh 20px 0 20px;
  }

  .p-support__flow__inner {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 9vh;
    margin-bottom: 7vh;
  }

  .p-support__flow__tit {
    font-size: 2rem;
    margin-bottom: 15px;
  }

  .p-support__flow__tit span {
    width: 60px;
    height: 60px;
    font-size: 3.6rem;
  }

  .p-support__flow__txt {
    font-size: 1.4rem;
    padding-left: 80px;
  }

  .p-support__flow__l {
    max-width: 100%;
    margin-bottom: 20px;
  }

  .p-support__flow__r {
    max-width: 100%;
  }
}

.p-support__soudan {
  padding: 120px 20px;
  background: linear-gradient(180deg, #2e87bb 0%, #2c5994 100%);
}

.p-support__soudan span {
  font-size: 3.8rem;
  color: #fff;
  transform: rotate(0.05deg);
  font-weight: 700;
  text-align: center;
  display: block;
}

@media screen and (max-width: 767px) {
  .p-support__soudan {
    padding: 10vh 20px;
  }

  .p-support__soudan span {
    font-size: 1.9rem;
  }
}

.p-support__form {
  padding: 100px 20px;
}

@media screen and (max-width: 767px) {
  .p-support__form {
    padding: 10vh 20px 0 20px;
  }
}

.error_messe {
  color: #ba1b29 !important;
}

/*

07消費者志向自主宣言

*/
.p-dec__top {
  display: block;
  padding: 50px 0;
  max-width: 100%;
}

.p-dec__top__inner {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  width: 900px;
  max-width: calc(100% - 40px);
  justify-content: center;
  margin: auto;
}

.p-dec__top__gray {
  background: #f7f8f8;
}

.p-dec__top__l {
  width: 585px;
  max-width: 64%;
}

.p-dec__top__l img {
  display: block;
  max-width: 100%;
  height: auto;
}

.p-dec__top__l__1 {
  order: 1;
}

.p-dec__top__l__2 {
  order: 2;
}

.p-dec__top__r {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  max-width: 36%;
}

.p-dec__top__r__1 {
  order: 2;
  padding-left: 4%;
}

.p-dec__top__r__2 {
  order: 1;
  padding-right: 4%;
}

.p-dec__top__tit {
  font-size: 2.9rem;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  font-family: "Arial", "メイリオ", sans-serif;
}

.p-dec__top__tit__txt {
  display: block;
  padding-top: 20px;
  font-size: 1.3rem;
  line-height: 1.8;
  transform: rotate(0.05deg);
}

.p-dec__top__tit__view {
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  font-family: "Arial", "メイリオ", sans-serif;
  margin-top: 45px;
  position: relative;
}

.p-dec__top__tit__view:before {
  display: inline-block;
  width: 70px;
  height: 1px;
  content: "";
  background: #352f2d;
  margin-right: 8px;
  transform: translateY(-2px);
  transition: all 0.8s ease;
}

@media screen and (max-width: 767px) {
  .p-dec__top {
    padding: 5vh 0;
  }

  .p-dec__top__inner {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }

  .p-dec__top__l {
    max-width: 100%;
    margin-bottom: 20px;
  }

  .p-dec__top__l__1 {
    order: 1;
  }

  .p-dec__top__l__2 {
    order: 1;
  }

  .p-dec__top__r {
    max-width: 100%;
    width: 100%;
    display: block;
    position: relative;
  }

  .p-dec__top__r__1 {
    order: 2;
    padding-left: 0;
  }

  .p-dec__top__r__2 {
    order: 2s;
    padding-right: 0;
  }

  .p-dec__top__tit {
    font-size: 2rem;
  }

  .p-dec__top__tit__txt {
    padding-top: 20px;
    font-size: 1.3rem;
  }

  .p-dec__top__tit__view {
    font-size: 1.2rem;
    margin-top: 5px;
    position: absolute;
    top: 0;
    right: 0;
  }

  .p-dec__top__tit__view:before {
    width: 40px;
  }
}

/*

08CSR

*/
.p-csr_top {
  padding: 80px 0 80px 0;
  text-align: center;
  font-size: 3rem;
  color: #036eb8;
}

@media screen and (max-width: 767px) {
  .p-csr_top {
    padding: 6vh 0 6vh 0;
    font-size: 1.8rem;
  }
}

.p-csr_gray {
  padding: 50px 20px;
  text-align: center;
  background: #f7f8f8;
}

.p-csr_gray__menu {
  width: 720px;
  max-width: 100%;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: auto;
}

.p-csr_gray__menu__item {
  width: 180px;
  height: 180px;
  max-width: 23%;
  margin-bottom: 1%;
}

.p-csr_gray__menu__item picture {
  display: block;
}

.p-csr_gray__menu__item img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .p-csr_gray {
    padding: 40px 20px;
  }

  .p-csr_gray__menu__item {
    height: auto;
    max-width: 23%;
    margin-bottom: 2%;
  }
}

.p-csr_kinen {
  padding: 80px 0 100px 0;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: auto;
  max-width: 100%;
}

.p-csr_kinen .slick-list {
  margin: auto;
  height: 100%;
}

.p-csr_kinen__item {
  width: auto;
  max-width: 100%;
  border: 1px solid #c9c9ca;
  border-radius: 10px;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  transform: scale(0.5) translateY(50%);
  padding: 30px 30px;
}

.p-csr_kinen__item.slick-current+.slick-active {
  transform: scale(1) translateY(0%);
}

.p-csr_kinen__item.slick-current+.slick-active .p-csr_kinen__txt, .p-csr_kinen__item.slick-current+.slick-active .p-csr_kinen__tit {
  visibility: visible;
  opacity: 1;
  display: block;
  height: auto;
}

.p-csr_kinen__item.slick-current+.slick-active .p-csr_kinen__img {
  height: auto;
}

.p-csr_kinen__item.slick-current+.slick-active .p-csr_kinen__img img {
  width: auto;
  transform: scale(1) translateY(0%);
}

.p-csr_kinen__tit {
  display: block;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  height: 0;
  text-align: center;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  margin-bottom: 20px;
}

.p-csr_kinen__tit span {
  display: inline-block;
  border-bottom: 1px solid #352f2d;
  font-size: 2.1rem;
  padding: 0 10px;
  padding-bottom: 5px;
}

.p-csr_kinen__img {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  max-width: 100%;
  height: 200px;
  margin: auto auto 20px auto;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}

.p-csr_kinen__img img {
  display: block;
  margin: auto;
  height: auto;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  transform: scale(0.9) translateY(-20%);
}

.p-csr_kinen__txt {
  visibility: hidden;
  opacity: 0;
  height: 0;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  width: 100%;
  max-width: 100%;
}

.p-csr_kinen__txt p {
  font-size: 1.4rem;
  line-height: 1.7;
}

.p-csr_kinen__txt p a {
  display: inline-block;
  margin-top: 5px;
  position: relative;
}

.p-csr_kinen__txt p a::before {
  position: absolute;
  right: -18px;
  top: 50%;
  width: 10px;
  opacity: 0;
  height: 10px;
  border-radius: 2px;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  transform: rotate(45deg) translateY(-7px);
  border-top: 3px solid #352f2d;
  border-right: 3px solid #352f2d;
  content: "";
  display: block;
}

.p-csr_kinen__txt p a::after {
  position: absolute;
  right: -28px;
  top: 50%;
  width: 0;
  height: 2px;
  transform-origin: left center;
  border-radius: 2px;
  transform: translateY(-50%);
  background: #352f2d;
  content: "";
  display: block;
}

.p-csr_kinen__txt p a:hover::after {
  animation-name: csr_link;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-fill-mode: forwards;
  animation-play-state: running;
  animation-delay: 0.2s;
}

.p-csr_kinen__txt p a:hover::before {
  opacity: 1;
  right: -24px;
}

.p-csr_kinen .slick-next {
  right: 26%;
  width: 70px;
  height: 70px;
}

.p-csr_kinen .slick-next:before {
  display: block;
  background: url("../images/csr/img_slide_next.svg") 0 0 no-repeat;
  width: 70px;
  height: 70px;
}

.p-csr_kinen .slick-prev {
  left: 26%;
  width: 70px;
  height: 70px;
  z-index: 2;
}

.p-csr_kinen .slick-prev:before {
  display: block;
  background: url("../images/csr/img_slide_prev.svg") 0 0 no-repeat;
  width: 70px;
  height: 70px;
}

@media screen and (max-width: 767px) {
  .p-csr_kinen {
    padding: 8vh 0 10vh 0;
  }

  .p-csr_kinen__item {
    transform: scale(1) translateY(0%);
    padding: 20px 20px;
    margin: 0 5px;
  }

  .p-csr_kinen__tit {
    font-size: 1.8rem;
    margin-bottom: 40px;
  }

  .p-csr_kinen__img {
    width: 250px;
    max-width: 100%;
    margin: auto auto 20px auto;
    padding-right: 0;
    height: auto;
  }

  .p-csr_kinen__txt {
    visibility: visible;
    opacity: 1;
    height: auto;
    max-width: 100%;
  }

  .p-csr_kinen__txt p {
    font-size: 1.4rem;
    line-height: 1.7;
  }

  .p-csr_kinen .slick-next {
    right: 4%;
    top: 20%;
    z-index: 2;
    width: 50px;
    height: 50px;
  }

  .p-csr_kinen .slick-next:before {
    width: 50px;
    height: 50px;
  }

  .p-csr_kinen .slick-prev {
    left: 4%;
    top: 20%;
    z-index: 2;
    width: 50px;
    height: 50px;
  }

  .p-csr_kinen .slick-prev:before {
    width: 50px;
    height: 50px;
  }
}

.p-csr_item {
  border: 1px solid #000;
  padding: 120px 40px 20px 40px;
  margin-bottom: 20px;
  position: relative;
}

.p-csr_item:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 110px;
  height: 110px;
}

.p-csr_item__inner {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-bottom: 15px;
  justify-content: space-between;
}

.p-csr_item__l {
  width: 185px;
  max-width: 30%;
}

.p-csr_item__r {
  width: 425px;
  max-width: 70%;
  padding-left: 2%;
}

.p-csr_item__tit {
  font-size: 1.5rem;
  margin-bottom: 10px;
}

.p-csr_item__txt {
  font-size: 1.2rem;
}

.p-csr_item__1 {
  border-color: #d51520;
}

.p-csr_item__1:before {
  background: url("../images/csr/img_csr_1.png") 0 0 no-repeat;
}

.p-csr_item__1 .p-csr_item__tit {
  color: #d51520;
}

.p-csr_item__3 {
  border-color: #1f913b;
}

.p-csr_item__3:before {
  background: url("../images/csr/img_csr_3.png") 0 0 no-repeat;
}

.p-csr_item__3 .p-csr_item__tit {
  color: #1f913b;
}

.p-csr_item__4 {
  border-color: #ba1b29;
}

.p-csr_item__4:before {
  background: url("../images/csr/img_csr_4.png") 0 0 no-repeat;
}

.p-csr_item__4 .p-csr_item__tit {
  color: #ba1b29;
}

.p-csr_item__5 {
  border-color: #da371b;
}

.p-csr_item__5:before {
  background: url("../images/csr/img_csr_5.png") 0 0 no-repeat;
}

.p-csr_item__5 .p-csr_item__tit {
  color: #da371b;
}

.p-csr_item__6 {
  border-color: #189bca;
}

.p-csr_item__6:before {
  background: url("../images/csr/img_csr_6.png") 0 0 no-repeat;
}

.p-csr_item__6 .p-csr_item__tit {
  color: #189bca;
}

.p-csr_item__7 {
  border-color: #efb716;
}

.p-csr_item__7:before {
  background: url("../images/csr/img_csr_7.png") 0 0 no-repeat;
}

.p-csr_item__7 .p-csr_item__tit {
  color: #efb716;
}

.p-csr_item__8 {
  border-color: #901d31;
}

.p-csr_item__8:before {
  background: url("../images/csr/img_csr_8.png") 0 0 no-repeat;
}

.p-csr_item__8 .p-csr_item__tit {
  color: #901d31;
}

.p-csr_item__10 {
  border-color: #cc1673;
}

.p-csr_item__10:before {
  background: url("../images/csr/img_csr_10.png") 0 0 no-repeat;
}

.p-csr_item__10 .p-csr_item__tit {
  color: #cc1673;
}

.p-csr_item__11 {
  border-color: #ec9e1a;
}

.p-csr_item__11:before {
  background: url("../images/csr/img_csr_11.png") 0 0 no-repeat;
}

.p-csr_item__11 .p-csr_item__tit {
  color: #ec9e1a;
}

.p-csr_item__13 {
  border-color: #3e7636;
}

.p-csr_item__13:before {
  background: url("../images/csr/img_csr_13.png") 0 0 no-repeat;
}

.p-csr_item__13 .p-csr_item__tit {
  color: #3e7636;
}

.p-csr_item__16 {
  border-color: #004981;
}

.p-csr_item__16:before {
  background: url("../images/csr/img_csr_16.png") 0 0 no-repeat;
}

.p-csr_item__16 .p-csr_item__tit {
  color: #004981;
}

@media screen and (max-width: 767px) {
  .p-csr_item {
    padding: 11vh 40px 2vh 40px;
  }

  .p-csr_item:before {
    width: 70px;
    height: 70px;
  }

  .p-csr_item__inner {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
  }

  .p-csr_item__l {
    width: 100%;
    max-width: 100%;
  }

  .p-csr_item__l img {
    display: block;
    height: auto;
    width: 100%;
  }

  .p-csr_item__img {
    width: 100%;
    display: block;
    margin-bottom: 5px;
  }

  .p-csr_item__r {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
  }

  .p-csr_item__tit {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }

  .p-csr_item__txt {
    font-size: 1.2rem;
  }

  .p-csr_item__1:before {
    background: url("../images/csr/img_csr_1@2x.png") 0 0 no-repeat;
    background-size: contain;
  }

  .p-csr_item__3:before {
    background: url("../images/csr/img_csr_3@2x.png") 0 0 no-repeat;
    background-size: contain;
  }

  .p-csr_item__4:before {
    background: url("../images/csr/img_csr_4@2x.png") 0 0 no-repeat;
    background-size: contain;
  }

  .p-csr_item__5:before {
    background: url("../images/csr/img_csr_5@2x.png") 0 0 no-repeat;
    background-size: contain;
  }

  .p-csr_item__6:before {
    background: url("../images/csr/img_csr_6@2x.png") 0 0 no-repeat;
    background-size: contain;
  }

  .p-csr_item__7:before {
    background: url("../images/csr/img_csr_7@2x.png") 0 0 no-repeat;
    background-size: contain;
  }

  .p-csr_item__8:before {
    background: url("../images/csr/img_csr_8@2x.png") 0 0 no-repeat;
    background-size: contain;
  }

  .p-csr_item__10:before {
    background: url("../images/csr/img_csr_10@2x.png") 0 0 no-repeat;
    background-size: contain;
  }

  .p-csr_item__11:before {
    background: url("../images/csr/img_csr_11@2x.png") 0 0 no-repeat;
    background-size: contain;
  }

  .p-csr_item__13:before {
    background: url("../images/csr/img_csr_13@2x.png") 0 0 no-repeat;
    background-size: contain;
  }

  .p-csr_item__16:before {
    background: url("../images/csr/img_csr_16@2x.png") 0 0 no-repeat;
    background-size: contain;
  }
}

.p-csr_other {
  padding: 0 0 80px 0;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 680px;
  margin: auto;
  max-width: 100%;
}

.p-csr_other__tit {
  display: block;
  width: 100%;
  text-align: center;
  color: #036eb8;
  font-size: 2.9rem;
  padding-bottom: 5px;
  border-bottom: 1px solid #036eb8;
  margin-bottom: 30px;
}

.p-csr_other__img {
  width: 165px;
  max-width: 25%;
}

.p-csr_other__txt {
  width: 490px;
  max-width: 75%;
}

.p-csr_other__txt p {
  font-size: 1.5rem;
  line-height: 1.7;
  letter-spacing: -0.2px;
}

.p-csr_other__txt a {
  display: inline-block;
  margin-top: 5px;
  position: relative;
}

.p-csr_other__txt a::before {
  position: absolute;
  right: -18px;
  top: 50%;
  width: 10px;
  opacity: 0;
  height: 10px;
  border-radius: 2px;
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  transform: rotate(45deg) translateY(-7px);
  border-top: 3px solid #352f2d;
  border-right: 3px solid #352f2d;
  content: "";
  display: block;
}

.p-csr_other__txt a::after {
  position: absolute;
  right: -28px;
  top: 50%;
  width: 0;
  height: 2px;
  transform-origin: left center;
  border-radius: 2px;
  transform: translateY(-50%);
  background: #352f2d;
  content: "";
  display: block;
}

.p-csr_other__txt a:hover::after {
  animation-name: csr_link;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-fill-mode: forwards;
  animation-play-state: running;
  animation-delay: 0.2s;
}

.p-csr_other__txt a:hover::before {
  opacity: 1;
  right: -24px;
}

@media screen and (max-width: 767px) {
  .p-csr_other {
    padding: 0 0 8vh 0;
    align-items: center;
  }

  .p-csr_other__tit {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }

  .p-csr_other__img {
    width: 165px;
    max-width: 30%;
  }

  .p-csr_other__img img {
    display: block;
    width: 100%;
    height: auto;
  }

  .p-csr_other__txt {
    max-width: 66%;
  }

  .p-csr_other__txt p {
    font-size: 1.4rem;
  }
}

/*animation*/
@keyframes csr_link {
  0% {
    width: 0;
  }

  50% {
    width: 20px;
  }

  100% {
    width: 0;
  }
}

/*
09代表メッセージ
*/
.p-message__top {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.p-message__top__img {
  width: 1003px;
  max-width: 85%;
}

.p-message__top__img img {
  display: block;
  max-width: 100%;
  height: auto;
}

.p-message__top__r {
  width: 480px;
  max-width: 40%;
  background: rgba(53, 47, 45, 0.9);
  padding: 20px;
  margin-left: -25%;
  margin-bottom: -110px;
}

.p-message__top__sign {
  display: block;
  margin-bottom: 20px;
}

.p-message__top__sign img {
  display: block;
  max-width: 100%;
  height: auto;
}

.p-message__top__txt {
  font-size: 1.5rem;
  color: #fff;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", " メイリオ", " Meiryo", serif;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-message__top {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }

  .p-message__top__img {
    max-width: 100%;
    position: relative;
    z-index: 1;
  }

  .p-message__top__img img {
    display: block;
    transform: translateX(-5%);
  }

  .p-message__top__r {
    max-width: 80%;
    padding: 20px;
    margin-top: -15%;
    margin-left: auto;
    margin-bottom: -20%;
    position: relative;
    z-index: 2;
  }

  .p-message__top__sign {
    margin-bottom: 15px;
  }

  .p-message__top__txt {
    font-size: 1.15rem;
    line-height: 1.4;
  }
}

.p-message__rinen {
  background: #efefef;
  padding: 100px 20px;
}

.p-message__rinen__inner {
  width: 820px;
  max-width: 100%;
  margin: auto;
}

.p-message__rinen__tit {
  font-size: 2.3rem;
  color: #036eb8;
  position: relative;
  margin-bottom: 25px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", " メイリオ", " Meiryo", serif;
}

.p-message__rinen__tit:before {
  display: block;
  content: "";
  width: 100%;
  background: #036eb8;
  height: 1px;
  position: absolute;
  left: -102%;
  top: 50%;
}

.p-message__rinen__txt {
  font-size: 4.4rem;
  line-height: 1.9;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", " メイリオ", " Meiryo", serif;
}

@media screen and (max-width: 767px) {
  .p-message__rinen {
    padding: 52vh 20px 7vh 20px;
    margin-top: -37vh;
  }

  .p-message__rinen_tit {
    font-size: 2rem;
    margin-bottom: 20px;
  }

  .p-message__rinen__txt {
    font-size: 3rem;
  }
}

.p-message__content {
  padding: 180px 20px;
  background: url("../images/message/img_message_bg.png") 0 0 no-repeat;
  background-size: cover;
}

.p-message__content:before {
  display: block;
  background: rgba(0, 0, 0, 0.7);
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.p-message__content__txt {
  width: 740px;
  max-width: 100%;
  color: #fff;
  margin: auto;
  font-size: 2.3rem;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", " メイリオ", " Meiryo", serif;
  line-height: 2.1;
}

@media screen and (max-width: 767px) {
  .p-message__content {
    padding: 12vh 20px;
    background: url("../images/message/img_message_bg@2x.png") 0 0 no-repeat;
    background-size: cover;
  }

  .p-message__content__txt {
    font-size: 1.4rem;
    line-height: 2.2;
  }
}

/*
10 新着情報
*/
.p-news__layout {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}

.p-news__layout__l {
  width: 880px;
  max-width: 78%;
  padding-top: 40px;
}

.p-news__layout__r {
  width: 240px;
  max-width: 20%;
  border-left: 1px solid #464342;
}

@media screen and (max-width: 767px) {
  .p-news__layout {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }

  .p-news__layout__l {
    max-width: 100%;
    margin-bottom: 10vh;
  }

  .p-news__layout__r {
    width: 100%;
    max-width: 100%;
    border-left: none;
  }
}

.p-side__cal {
  padding: 20px;
}

.p-side__cal #wp-calendar {
  border-collapse: collapse;
  width: 100%;
}

.p-side__cal #wp-calendar th, .p-side__cal #wp-calendar td {
  text-align: center;
  border: solid 1px #464342;
  font-size: 1.2rem;
  padding: 2px 2px;
}

.p-side__cal #wp-calendar th a, .p-side__cal #wp-calendar td a {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  color: #fff;
  padding-top: 1px;
  background: #2e87bb;
}

.p-side__cal #wp-calendar tfoot td {
  border: none;
}

.p-side__cal #wp-calendar tfoot #prev {
  text-align: left;
}

.p-side__cal #wp-calendar tfoot #next {
  text-align: right;
}

.p-side__cal .wp-calendar-nav {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}

.p-side__cal .wp-calendar-nav a {
  display: block;
  padding: 5px 0;
  font-size: 1.4rem;
}

.p-side__archive {
  padding: 25px 20px;
}

.p-side__archive dt {
  font-weight: 500;
  font-size: 1.8rem;
  margin-bottom: 10px;
}

.p-side__archive dd {
  display: block;
}

.p-side__archive dd ul {
  display: block;
}

.p-side__archive dd ul li {
  display: block;
  margin-bottom: 2px;
}

.p-side__archive dd ul li a {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  font-size: 1.4rem;
  color: #464342;
}

.p-side__archive dd ul li a:before {
  display: block;
  content: ">";
  width: 1em;
  height: 1em;
  margin-right: 5px;
}

@media screen and (max-width: 767px) {
  .p-side__archive {
    padding: 20px 20px;
  }

  .p-side__archive dt {
    font-size: 1.6rem;
  }

  .p-side__archive dd ul li a {
    font-size: 1.3rem;
  }
}

.p-news__menu {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  padding-left: 40px;
  padding-top: 40px;
  margin-bottom: 50px;
}

.p-news__menu a {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  margin-right: 20px;
  border: 1px solid #464342;
  font-size: 1.8rem;
  text-align: center;
  padding: 10px 20px;
  line-height: 1;
  background: #fff;
}

.p-news__menu a:hover {
  background: #efefef;
}

@media screen and (max-width: 767px) {
  .p-news__menu {
    flex-wrap: wrap;
    justify-content: space-between;
    padding-left: 4vw;
    padding-left: 0;
    margin-bottom: 5vh;
  }

  .p-news__menu a {
    margin: 5px 0;
    width: 48%;
    font-size: 1.4rem;
  }

  .p-news__menu a:last-child {
    margin-left: 0;
  }
}

.p-news__list {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}

.p-news__list__item {
  width: 430px;
  max-width: 49%;
  border: 1px solid #dbdcdc;
  margin-right: 2%;
  margin-bottom: 45px;
}

.p-news__list__item:nth-of-type(2n) {
  margin-right: 0;
}

.p-news__list__item:hover .p-news__list__img img {
  transform: scale(1.1);
}

.p-news__list__item:hover .p-news__list__more:before {
  animation: view_more 1.8s -0.3s ease-in-out infinite forwards;
}

.p-news__list__img {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: cover;
  overflow: hidden;
}

.p-news__list__img img {
  display: block;
  width: 100%;
  height: auto;
  transition: all 0.4s ease-in;
}

.p-news__list__txt {
  display: block;
  padding: 20px;
  position: relative;
}

.p-news__list__txt__bottom {
  position: relative;
  z-index: 2;
}

.p-news__list__txt__bottom a {
  display: block;
  position: relative;
}

.p-news__list__time {
  display: inline-block;
  font-weight: 700;
  font-size: 1.2rem;
  margin-right: 20px;
}

.p-news__list__cat {
  display: inline-block;
  line-height: 1;
  padding: 6px 20px;
  background: #464342;
  color: #fff;
  border-radius: 20px;
  font-size: 1.2rem;
  text-align: center;
}

.p-news__list__pdf {
  content: " ";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 6px;
  transform: translateY(5px);
  background: url("../images/common/ico_pdf.png") 0% 0% no-repeat;
  background-size: cover;
}

.p-news__list__tit {
  margin-top: 20px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 500;
  padding-bottom: 50px;
}

.p-news__list__more {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  font-family: "Arial", "メイリオ", sans-serif;
  overflow: hidden;
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 100px;
  z-index: 1;
}

.p-news__list__more:before {
  display: inline-block;
  width: 20px;
  height: 1px;
  content: "";
  background: #352f2d;
  margin-right: 8px;
  transform: translateY(-2px);
  transition: all 0.8s ease;
}

@media screen and (max-width: 767px) {
  .p-news__list__item {
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 6vh;
  }

  .p-news__list__txt {
    padding: 20px;
  }

  .p-news__list__time {
    font-size: 1.2rem;
    margin-right: 15px;
  }

  .p-news__list__cat {
    padding: 6px 16px;
    font-size: 1rem;
  }

  .p-news__list__tit {
    margin-top: 20px;
    font-size: 1.6rem;
    padding-bottom: 5vh;
  }

  .p-news__list__more {
    font-size: 1.2rem;
    bottom: 20px;
    right: 20px;
    width: 100px;
  }

  .p-news__list__more:before {
    display: inline-block;
    width: 20px;
    height: 1px;
    content: "";
    background: #352f2d;
    margin-right: 8px;
    transform: translateY(-2px);
    transition: all 0.8s ease;
  }
}

.wp-pagenavi {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  width: 100%;
  margin-bottom: 60px;
}

.wp-pagenavi a, .wp-pagenavi span {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #595757;
  transition: all 0.25s cubic-bezier(0.51, 0.11, 0.4, 0.9);
  border-radius: 20px;
  margin: 0 6px;
}

.wp-pagenavi a:hover {
  background: #595757;
  color: #fff;
}

.wp-pagenavi span {
  background: #595757;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi {
    margin-bottom: 40px;
  }

  .wp-pagenavi a, .wp-pagenavi span {
    width: 30px;
    height: 30px;
    margin: 0 4px;
  }
}

.p-news__content img {
  margin-bottom: 2em;
}

.p-news__content p {
  margin-bottom: 2em;
}

.p-news__content__meta {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}

.p-news__content__time {
  display: inline-block;
  font-weight: 700;
  font-size: 1.2rem;
  margin-right: 20px;
}

.p-news__content__cat {
  display: inline-block;
  line-height: 1;
  padding: 6px 20px;
  background: #464342;
  color: #fff;
  border-radius: 20px;
  font-size: 1.2rem;
  text-align: center;
}

.p-news__content__tit {
  margin-top: 20px;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: 50px;
}

.p-news__content a[href$=".pdf"]:after {
  content: " ";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 10px;
  transform: translateY(5px);
  background: url("../images/common/ico_pdf.png") 0% 0% no-repeat;
  background-size: cover;
}

.p-press__list {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}

.p-press__list__item {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  width: 100%;
  border-bottom: 1px solid #dbdcdc;
  padding: 25px 35px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.02);
  transition: all 0.4s cubic-bezier(0.51, 0.11, 0.4, 0.9);
}

.p-press__list__item:hover {
  background: #f7f8f8;
}

.p-press__list__img {
  display: block;
  width: 280px;
  max-width: 30%;
  margin-right: 3%;
  height: auto;
}

.p-press__list__img img {
  display: block;
  width: 100%;
  height: auto;
}

.p-press__list__txt {
  display: block;
  padding: 20px;
  position: relative;
  max-width: 67%;
}

.p-press__list__time {
  display: inline-block;
  font-weight: 700;
  font-size: 1.2rem;
  color: #b5b5b6;
  margin-right: 20px;
}

.p-press__list__cat {
  display: inline-block;
  line-height: 1;
  padding: 6px 20px;
  background: #464342;
  color: #fff;
  border-radius: 20px;
  font-size: 1.2rem;
  text-align: center;
}

.p-press__list__tit {
  margin-top: 20px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .p-press__list {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }

  .p-press__list__item {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    padding: 25px 20px;
  }

  .p-press__list__img {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }

  .p-press__list__txt {
    padding: 20px 0 0 0;
    max-width: 100%;
  }

  .p-press__list__time {
    margin-right: 20px;
  }

  .p-press__list__cat {
    padding: 6px 20px;
  }

  .p-press__list__tit {
    margin-top: 15px;
    font-size: 1.6rem;
    margin-bottom: 0;
  }
}

/*--
p-policy プリバシーポリシー
--*/
.sns_plolicy_list {
  margin-left: 30px;
  list-style: none;
  margin-bottom: 2em;
}

.sns_plolicy_list li {
  padding-left: 20px;
  position: relative;
}

.sns_plolicy_list li:before {
  content: "◎";
  width: 1em;
  height: 1em;
  position: absolute;
  top: 0;
  left: 0;
}

.sns_midashi {
  font-weight: 600;
  margin-bottom: 0.5em !important;
}

.sns_midashi2 {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

.sns_midashi2 span {
  flex-shrink: 0;
  margin-right: 5px;
}

/*
12お問い合わせ

*/
.p-contact__privacy {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  padding: 10px 15px 30px 15px;
}

.p-contact__privacy__midashi {
  width: 200px;
  font-size: 1.5rem;
  font-weight: 600;
  flex-shrink: 0;
}

.p-contact__privacy__check {
  padding-left: 60px;
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .p-contact__privacy {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    padding: 10px 15px 30px 15px;
  }

  .p-contact__privacy__midashi {
    width: 100%;
    font-size: 1.5rem;
    font-weight: 600;
    flex-shrink: 0;
    margin-bottom: 20px;
  }

  .p-contact__privacy__check {
    padding-left: 0;
    font-size: 1.3rem;
  }
}

.p-contact__privacy__box {
  padding: 0 15px 20px 15px;
}

.p-contact__privacy__box__text {
  overflow-y: scroll;
  height: 280px;
  padding-right: 40px;
}

.p-contact__privacy__box h4 {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 5px;
}

.p-contact__privacy__box table {
  border: 1px solid #fefdfa;
  width: 100% !important;
  margin-bottom: 20px;
}

.p-contact__privacy__box table tbody {
  width: 100% !important;
  display: block;
}

.p-contact__privacy__box table tr {
  width: 100% !important;
  display: block;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

.p-contact__privacy__box table th {
  background: #fefdfa;
  padding: 10px;
  text-align: center;
  vertical-align: middle;
  text-align: center;
  border: 1px solid #dbdcdc;
  font-size: 1.3rem;
}

.p-contact__privacy__box table th.w30 {
  width: 30% !important;
}

.p-contact__privacy__box table th.w100 {
  width: 100% !important;
}

.p-contact__privacy__box table th:nth-of-type(2) {
  width: 70% !important;
  text-align: left;
}

.p-contact__privacy__box table td {
  border: 1px solid #dbdcdc;
  padding: 10px;
  font-size: 1.3rem;
  text-align: center;
  align-items: center;
}

.p-contact__privacy__box table td.w30 {
  width: 30% !important;
}

.p-contact__privacy__box table td.w100 {
  width: 100% !important;
}

.p-contact__privacy__box table td:nth-of-type(2) {
  width: 70% !important;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .p-contact__privacy__box {
    padding: 0 15px 20px 15px;
  }

  .p-contact__privacy__box__text {
    height: 200px;
    padding-right: 0;
  }

  .p-contact__privacy__box h4 {
    font-size: 1.6rem;
  }

  .p-contact__privacy__box table {
    border: 1px solid #dbdcdc;
  }

  .p-contact__privacy__box table tbody {
    width: 100% !important;
    display: block;
  }

  .p-contact__privacy__box table tr {
    width: 100% !important;
    display: block;
  }

  .p-contact__privacy__box table th {
    background: #fefdfa;
    padding: 10px;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 0;
    border-bottom: 1px solid #dbdcdc;
  }

  .p-contact__privacy__box table th.w30, .p-contact__privacy__box table th.w100, .p-contact__privacy__box table th:nth-of-type(2) {
    width: 100% !important;
  }

  .p-contact__privacy__box table td {
    border: 0;
    border-bottom: 1px solid #dbdcdc;
    padding: 10px !important;
    font-size: 1.2rem;
    text-align: center;
    border-left: 0 !important;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    align-items: center;
  }

  .p-contact__privacy__box table td.w30, .p-contact__privacy__box table td.w100, .p-contact__privacy__box table td:nth-of-type(2) {
    width: 100% !important;
    text-align: left;
  }

  .p-contact__privacy__box table td:nth-of-type(1) {
    font-weight: 600;
    text-align: center !important;
  }
}

.privacy_table {
  td:nth-of-type(1) {
    width: 40%;
  }
}

.p-support__form__cont {
  padding-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .p-support__form__cont {
    padding-bottom: 12vh;
  }
}

.p-sub__content {
  width: 860px;
  margin: auto;
  max-width: calc(100% - 40px);
}

.c-sub_content h2 {
  text-align: center;
  font-weight: 600;
  font-size: 2.5rem;
  margin-bottom: 1em;
}

.c-sub_content h3 {
  font-weight: 600;
  font-size: 2rem;
  padding-bottom: 5px;
  margin-bottom: 15px;
  border-bottom: 1px solid #9fa0a0;
}

.c-sub_content p {
  margin-bottom: 1.5em;
}

.c-sub_content a {
  color: #036eb8;
}

.c-sub_content .c-list__1 {
  margin-bottom: 40px;
}

.c-sub_content .c-list li {
  display: block;
  padding-left: 1.8em;
  position: relative;
}

.c-sub_content .c-list li:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 600;
  width: 1em;
  height: 1em;
}

.c-sub_content .c-list li:nth-of-type(1):before {
  content: "1.";
}

.c-sub_content .c-list li:nth-of-type(2):before {
  content: "2.";
}

.c-sub_content .c-list li:nth-of-type(3):before {
  content: "3.";
}

.c-sub_content .c-list li:nth-of-type(4):before {
  content: "4.";
}

.c-sub_content .c-list li:nth-of-type(5):before {
  content: "5.";
}

.c-sub_content .c-list li:nth-of-type(6):before {
  content: "6.";
}

.c-sub_content .c-list__2 {
  margin-bottom: 40px;
}

.c-sub_content .c-list__2 li:nth-of-type(1):before {
  content: "(1)";
}

.c-sub_content .c-list__2 li:nth-of-type(2):before {
  content: "(2)";
}

.c-sub_content .c-list__2 li:nth-of-type(3):before {
  content: "(3)";
}

.c-sub_content .c-list__3 {
  margin-bottom: 40px;
}

.c-sub_content .c-list__3 li:nth-of-type(1):before {
  content: "(4)";
}

.c-sub_content .c-list__3 li:nth-of-type(2):before {
  content: "(5)";
}

.c-sub_content .c-list__3 li:nth-of-type(3):before {
  content: "(6)";
}

.c-sub_content table {
  width: 100%;
}

.c-sub_content table tr td {
  border: 1px solid #dbdcdc;
  padding: 8px;
}

.c-sub_content table tr td:nth-of-type(1) {
  width: 25%;
}

.c-sub_content table tr:nth-of-type(1) {
  background: #FEFDFA;
}

.c-sub_content table tr:nth-of-type(1) td {
  text-align: center;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .c-sub_content h2 {
    font-size: 2.2rem;
    margin-bottom: 30px;
  }

  .c-sub_content h3 {
    font-size: 1.8rem;
  }

  .c-sub_content p {
    margin-bottom: 2.5em;
  }

  .c-sub_content .c-list__1 {
    margin-bottom: 40px;
  }

  .c-sub_content .c-list li {
    padding-left: 1.5em;
  }

  .c-sub_content .c-list li:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    font-weight: 600;
    width: 1em;
    height: 1em;
  }

  .c-sub_content .c-list__2 {
    margin-bottom: 30px;
  }

  .c-sub_content .c-list__3 {
    margin-bottom: 30px;
  }

  .c-sub_content table {
    width: 100%;
  }

  .c-sub_content table tr td {
    border: 1px solid #dbdcdc;
    padding: 8px;
    font-size: 1rem;
  }

  .c-sub_content table tr td:nth-of-type(1) {
    width: 28%;
  }

  .c-sub_content table tr:nth-of-type(1) {
    background: #FEFDFA;
  }

  .c-sub_content table tr:nth-of-type(1) td {
    text-align: center;
  }
}

/*--
c-
--*/
.c-linkbtn__1 {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  border: 2px solid #fff;
  width: 320px;
  height: 56px;
  background: url("../images/common/ico_sankaku1.svg") 94% 50% no-repeat;
  background-size: 12px 24px;
  color: #fff;
  padding-left: 20px;
}

.c-top__back {
  position: fixed;
  right: 20px;
  bottom: 5%;
  display: block;
  width: 60px;
  height: 60px;
  z-index: 2;
}

.c-top__back span {
  border-radius: 100px;
  background: #464342;
  color: #fff;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-size: 0.8rem;
  text-align: center;
  width: 100%;
  height: 100%;
  line-height: 1.8;
  letter-spacing: -0.5px;
  bottom: 5px;
  position: absolute;
}

.c-top__back span:before {
  display: block;
  width: 7px;
  height: 6px;
  content: "";
  background: url("../images/business/img_menu_w.svg") 0 0 no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%) rotateZ(180deg);
}

.c-txtlink {
  color: #036eb8;
}

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