@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@100..900&family=M+PLUS+1p&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");

@import url("https://fonts.googleapis.com/css2?family=Unbounded:wght@200..900&display=swap");



.f_unbounded {

  font-family: "Unbounded", sans-serif;

}



html {

  font-size: 0.520832vw;

}



@media (max-width: 960px) {

  html {

    font-size: 2.666666vw;

  }

}



*,

:after,

:before {

  box-sizing: border-box;

  margin: 0;

  padding: 0;

}



body {

  font-size: 1.6rem;

  letter-spacing: 0;

  line-height: 175%;

  font-weight: 500;

  font-family: "M PLUS 1p", "Noto Sans JP", sans-serif;

}



.anchor_fixtop_1,

.anchor_fixtop {

  display: block;

  position: relative;

  top: -15rem;

  width: 100%;

  visibility: hidden;

}



@media (max-width: 960px) {



  .anchor_fixtop_1,

  .anchor_fixtop {

    top: -9rem;

  }

}



.anchor_fixtop_1 {

  top: -25rem;

}



#page_top {

  position: fixed;

  bottom: 3.7rem;

  right: 7.3rem;

  width: 7.4rem;

  height: 7.4rem;

  opacity: 0;

  border: 0;

  border-radius: 100%;

  z-index: 99 !important;

  background: #2579f7 url(../img/common/page-top.png) no-repeat center;

  border: #FFFFFF solid 1px;

  background-size: 2.1rem;

  transition: all 0.35s;

  cursor: pointer;

  outline: none;

  z-index: 50;

}



#page_top.show {

  opacity: 1;

}



#page_top.show:hover {

  opacity: 0.8;

}



@media (max-width: 1200px) and (min-width: 960.5px) {

  #page_top {

    right: 2.3rem;

  }

}



@media (max-width: 960px) {

  #page_top {

    right: 1.5rem;

    bottom: 1.5rem;

    font-size: 1rem;

    padding-top: 1.5rem;

    height: 6rem;

    width: 6rem;

    position: fixed;

  }



  #page_top::before {

    width: .8rem;

    height: 3rem;

  }

}



.wow_custom {

  opacity: 0;

  -webkit-transform: translate(0, 35px);

  transform: translate(0, 35px);

  transition: all 0.5s ease;

}



.wow_custom.right_to_left {

  -webkit-transform: translate(35px, 0);

  transform: translate(35px, 0);

}



.wow_custom.show {

  opacity: 1;

  -webkit-transform: none;

  transform: none;

}



p {

  color: #333333;

  font-size: 1.6rem;

  font-weight: 500;

  line-height: 175%;

  letter-spacing: 0.06rem;

  font-feature-settings: 'palt';

}



@media (max-width: 960px) {

  p {

    font-size: 1.4rem;

  }

}



[class*="dflex"] {

  display: flex;

  flex-wrap: wrap;

}



[class*="aic"] {

  align-items: center;

}



[class*="aie"] {

  align-items: flex-end;

}



[class*="ais"] {

  align-items: flex-start;

}



[class*="jcc"] {

  justify-content: center;

}



[class*="jcsb"] {

  justify-content: space-between;

}



[class*="jcfe"] {

  justify-content: flex-end;

}



[class*="fcolumn"] {

  flex-flow: column;

}



a[href^="tel:"] {

  cursor: default;

  pointer-events: none;

}



@media (max-width: 1024px) {

  a[href^="tel:"] {

    cursor: pointer;

    pointer-events: all;

  }

}



[class*="grid"] {

  padding-left: 1.5rem;

  padding-right: 1.5rem;

  margin-left: auto;

  margin-right: auto;

  width: 100%;

}



.grid-1600 {

  max-width: 163rem;

}



.grid-1400 {

  max-width: 143rem;

}



.grid-1200 {

  max-width: 123rem;

}



.grid-1180 {

  max-width: 121rem;

}



.grid-1000 {

  max-width: 103rem;

}



.txt-center {

  text-align: center;

}



.txt-right {

  text-align: right;

}



body,

html {

  height: 100%;

}



img {

  max-width: 100%;

  height: auto;

  vertical-align: top;

  overflow-clip-margin: inherit;

}



a,

button {

  color: inherit;

  text-decoration: none;

}



input,

textarea,

button,

select {

  outline: none;

  resize: none;

}



.hv-o {

  transition: ease all 0.5s;

}



.hv-o:hover {

  opacity: 0.8;

}



.ho-main,

.os-main {

  overflow: hidden;

}



.os-y-hidden {

  overflow-y: hidden;

}



.os-section {

  position: relative;

}



.os-align-center {

  text-align: center;

}



.u-sp {

  display: none;

}



ul,

ol {

  list-style: none;

}



.is_hidden {

  display: none !important;

}



.no_scroll {

  overflow: hidden;

}



@media (max-width: 960px) {

  .u-pc {

    display: none;

  }



  .u-sp {

    display: block;

  }

}



/* Slider */

.slick-slider {

  position: relative;

  display: block;

  box-sizing: border-box;

  -webkit-user-select: none;

  -moz-user-select: none;

  -ms-user-select: none;

  user-select: none;

  -webkit-touch-callout: none;

  -khtml-user-select: none;

  -ms-touch-action: pan-y;

  touch-action: pan-y;

  -webkit-tap-highlight-color: transparent;

}



.slick-list {

  position: relative;

  display: block;

  overflow: hidden;

  margin: 0;

  padding: 0;

}



.slick-list:focus {

  outline: none;

}



.slick-list.dragging {

  cursor: pointer;

  cursor: hand;

}



.slick-slider .slick-track,

.slick-slider .slick-list {

  -webkit-transform: translate3d(0, 0, 0);

  -moz-transform: translate3d(0, 0, 0);

  -ms-transform: translate3d(0, 0, 0);

  -o-transform: translate3d(0, 0, 0);

  transform: translate3d(0, 0, 0);

}



.slick-track {

  position: relative;

  top: 0;

  left: 0;

  display: block;

  margin-left: auto;

  margin-right: auto;

}



.slick-track:before,

.slick-track:after {

  display: table;

  content: '';

}



.slick-track:after {

  clear: both;

}



.slick-loading .slick-track {

  visibility: hidden;

}



.slick-slide {

  display: none;

  float: left;

  height: 100%;

  min-height: 1px;

}



[dir='rtl'] .slick-slide {

  float: right;

}



.slick-slide img {

  display: block;

  margin-left: auto;

  margin-right: 0;

}



.slick-slide.slick-loading img {

  display: none;

}



.slick-slide.dragging img {

  pointer-events: none;

}



.slick-initialized .slick-slide {

  display: block;

}



.slick-loading .slick-slide {

  visibility: hidden;

}



.slick-vertical .slick-slide {

  display: block;

  height: auto;

  border: 1px solid transparent;

}



.slick-arrow.slick-hidden {

  display: none;

}



.wp_header {

  width: 100%;

  position: fixed;

  left: 0;

  top: 0;

  z-index: 9990;

  align-items: flex-start;

  background-color: transparent;

  transition: ease all 0.35s;

}



.wp_header::before {

  content: "";

  width: 100%;

  height: 10rem;

  background-color: #ffffff;

  position: absolute;

  left: 0;

  top: 0;

  z-index: -1;

  transition: ease all 0.35s;

}



@media (min-width: 960.5px) {

  .wp_header-item {

    transition: ease all 0.35s;

  }

}



.wp_header-item:first-child {

  width: 57.001rem;

  transition: ease all 0.15s;

}



.wp_header-item:last-child {

  width: 77.001rem;

}



.wp_header-item:nth-child(2) {

  width: 100%;

}



.wp_header-1 {

  order: 0;

  background-image: url(../img/top/top-5.png);

  background-size: cover;

  background-position: center bottom;

  background-repeat: no-repeat;

  padding-left: 11rem;

  padding-top: 2.5rem;

  position: relative;

  height: 25.4rem;

}



.wp_header-1::before {

  content: "";

  position: absolute;

  left: 6rem;

  top: 0;

  width: .6rem;

  height: 18rem;

  background-color: #ffffff;

  transition: ease all 0.35s;

}



.wp_header-1 h1 {

  transition: ease all 0.35s;

  color: #ffffff;

  font-size: 1.60001rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0;

}



.wp_header-1 .logo {

  opacity: 0;

  transition: ease all 0.35s;

  position: relative;

  left: -8.5rem;

}



.wp_header-1 .logo img {

  width: 38.2rem !important;

}



.wp_header-1 .logo img.child {

  display: none;

}



.wp_header-2 {

  order: 2;

  width: 50% !important;

  text-align: center;

  margin-top: 0;

  position: fixed;

  left: 50%;

  top: 7rem;

  transform: translateX(-50%);

}



.wp_header-3 {

  order: 1;

  display: flex;

  align-items: center;

  justify-content: flex-end;

}



.wp_header-3 .wp_menu {

  opacity: 0;

  margin-top: 0;

  width: calc(100% - 32.001rem);

  padding-right: 4.4rem;

  transition: ease all 0.35s;

}



.wp_header-3 .wp_menu a {

  font-size: 1.5rem;

}



.wp_header-3 ul.wp_menu-02 {

  width: 32.009rem;

}



.wp_header-3 ul.wp_menu-02>li>a {

  width: 16.001rem;

  height: 11.001rem;

  display: flex;

  align-items: center;

  justify-content: center;

  background-color: #2b2425;

  color: #ffffff;

  font-size: 2.0001rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0.02rem;

  transition: ease all 0.35s;

}



.wp_header-3 ul.wp_menu-02>li>a:hover {

  background-color: #ffd10c !important;

}



.wp_header-3 ul.wp_menu-02>li>a.vs-01 {

  background-color: #52a715;

  border-bottom-left-radius: 2rem;

}



.wp_header-3 ul.wp_menu-02>li.contact a:hover {

  background-color: #e9f2fe !important;

  color: #2579f7;

}



.wp_header-3 ul.wp_menu-02>li.active a {

  background: #e9f2fe;

  color: #2579f7;

}



.wp_header-3 ul.wp_menu-02>li.active a.vs-01 {

  color: #FFFFFF;

  background-color: #ffd10c !important;

}



.wp_header .logo img {

  vertical-align: top;

  width: 49.401rem;

}



.wp_header.active {

  align-items: center;

  animation: showBgWhite 0.4s 0.2s linear forwards;

}



.wp_header.active .wp_header-1 {

  padding-top: 0;

  background: #ffffff;

  height: auto;

}



.wp_header.active .wp_header-1 h1 {

  font-size: 0;

}



@media (min-width: 960.5px) {

  .wp_header.active .wp_header-1 h1 {

    animation: hideOpTitle 0.3s 0.4s linear forwards;

  }

}



.wp_header.active .wp_header-1::before {

  animation: showBefore 0.3s 0.3s linear forwards;

}



.wp_header.active .wp_header-1 .logo {

  animation: showOp 0.3s 0.5s linear forwards;

}



.wp_header.active .wp_header-2 {

  opacity: 0;

  pointer-events: none;

  cursor: default;

}



.wp_header.active .wp_header-2 * {

  pointer-events: none;

  cursor: default;

}



.wp_header.active .wp_header-3 .wp_menu {

  position: relative;

  animation: showOp 0.3s 0.5s linear forwards;

}



.wp_header.active .wp_header-3 ul.wp_menu-02>li>a {

  height: 10rem;

}



.wp_menu {

  width: 100%;

  margin-top: 1.8rem;

}



.wp_menu ul {

  width: 100%;

  max-width: 54rem;

  margin-left: auto;

  margin-right: auto;

  display: flex;

  align-items: center;

  justify-content: space-between;

}



.wp_menu ul>li {

  position: relative;

}



.wp_menu ul>li>a {

  padding-top: 1.3rem;

  padding-bottom: 1.3rem;

  display: inline-block;

  position: relative;

  color: #2b2425;

  font-size: 1.80001rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0;

}



.wp_menu ul>li>a::before {

  content: "";

  position: absolute;

  width: 5.4rem;

  height: 5.4rem;

  background-color: transparent;

  border-radius: 100%;

  transform: translate(-50%, -50%) scale(0);

  left: 50%;

  top: 50%;

  transition: ease all 0.35s;

}



.wp_menu ul>li>a span {

  position: relative;

  z-index: 2;

}



.wp_menu ul>li>a:hover::before {

  background-color: #fff1b6;

  transform: translate(-50%, -50%) scale(1);

}



.wp_menu ul>li.active a::before {

  background-color: #fff1b6;

  transform: translate(-50%, -50%) scale(1);

}



.wp_menu ul>li ul {

  position: absolute;

  width: 20rem;

  left: 50%;

  transform: translateX(-50%);

  top: 100%;

  opacity: 0;

  padding-top: 1.2rem;

  pointer-events: none;

}



.wp_menu ul>li ul li a {

  background: #1d64f0;

  border: #1d64f0 solid 1px;

  border-radius: .3rem;

  width: 20rem;

  text-align: center;

  color: #FFFFFF;

  transition: all 0.35s;

}



.wp_menu ul>li ul li a::before {

  content: none;

}



.wp_menu ul>li ul li a:hover {

  background: #FFFFFF;

  color: #1d64f0 !important;

}



@media (min-width: 960.5px) {

  .wp_menu ul>li ul {

    transition: all 0.35s;

  }



  .wp_menu ul>li:hover ul {

    opacity: 1;

    pointer-events: all;

  }

}



.is-home .wp_menu ul>li ul li a {

  background: #fff1b6;

  border-color: #fff1b6;

  color: #2b2425;

}



@media (max-width: 1200px) and (min-width: 960.5px) {

  .wp_header-1 h1 {

    font-size: 11px;

  }



  .wp_menu>ul {

    max-width: 60rem;

  }



  .wp_header-3 .wp_menu a,

  .wp_menu ul>li>a {

    font-size: 12px;

  }



  .wp_header-item:last-child {

    width: 90rem;

  }

}



@media (min-width: 960.5px) {

  .is-page-child .wp_header::before {

    content: none;

  }



  .is-page-child .wp_header.store {

    align-items: center;

    background-color: transparent !important;

  }



  .is-page-child .wp_header.store.active {

    background-color: #ffffff !important;

  }



  .is-page-child .wp_header.store.active .wp_header-1 .logo img.top {

    display: inline-block !important;

  }



  .is-page-child .wp_header.store.active .wp_header-1 .logo img.child {

    display: none !important;

  }



  .is-page-child .wp_header.store.active .wp_header-3 .wp_menu ul>li:hover>a::before,

  .is-page-child .wp_header.store.active .wp_header-3 .wp_menu ul>li.active>a::before {

    background-color: #fff1b6;

  }



  .is-page-child .wp_header.store.active .wp_header-3 .wp_menu ul>li>a {

    color: #2b2425;

  }



  .is-page-child .wp_header.store.active .wp_header-3 .wp_menu ul>li ul li a {

    background: #fff1b6;

    border-color: #fff1b6;

  }



  .is-page-child .wp_header.store.active .wp_header-3 .wp_menu ul>li ul li a:hover {

    color: #FFFFFF;

  }



  .is-page-child .wp_header.store .wp_header-1 {

    padding-top: 0;

    background-color: transparent !important;

    height: auto;

    background-image: inherit !important;

  }



  .is-page-child .wp_header.store .wp_header-1 h1 {

    font-size: 0;

  }



  .is-page-child .wp_header.store .wp_header-1::before {

    content: none;

  }



  .is-page-child .wp_header.store .wp_header-1 .logo {

    opacity: 1 !important;

    top: 0 !important;

  }



  .is-page-child .wp_header.store .wp_header-1 .logo img.top {

    display: none !important;

  }



  .is-page-child .wp_header.store .wp_header-1 .logo img.child {

    display: inline-block;

  }



  .is-page-child .wp_header.store .wp_header-2 {

    opacity: 0;

    pointer-events: none;

    cursor: default;

  }



  .is-page-child .wp_header.store .wp_header-2 * {

    pointer-events: none;

    cursor: default;

  }



  .is-page-child .wp_header.store .wp_header-3 .wp_menu {

    opacity: 1 !important;

    top: 0 !important;

  }



  .is-page-child .wp_header.store .wp_header-3 .wp_menu ul>li:hover>a::before,

  .is-page-child .wp_header.store .wp_header-3 .wp_menu ul>li.active>a::before {

    background-color: #1d64f0;

  }



  .is-page-child .wp_header.store .wp_header-3 .wp_menu ul>li>a {

    color: #ffffff;

  }



  .is-page-child .wp_header.store .wp_header-3 ul.wp_menu-02>li>a {

    height: 10rem;

  }

}



@keyframes hideLogoCenter {

  0% {

    opacity: 1;

  }



  100% {

    opacity: 0;

  }

}



@keyframes showBgWhite {

  0% {

    background: transparent;

  }



  100% {

    background: #ffffff;

  }

}



@keyframes hideOp {

  0% {

    opacity: 1;

  }



  100% {

    opacity: 0;

  }

}



@keyframes hideOpTitle {

  0% {

    opacity: 1;

  }



  50% {

    opacity: 0;

  }



  60% {

    opacity: 0;

    font-size: 1.60001rem;

  }



  100% {

    opacity: 0;

    font-size: 0;

  }

}



@keyframes showBefore {

  0% {

    height: 18rem;

  }



  60% {

    height: 10rem;

  }



  65% {

    opacity: 1;

  }



  100% {

    opacity: 0;

  }

}



@keyframes showOp {

  0% {

    opacity: 0;

    top: -2rem;

  }



  100% {

    opacity: 1;

    top: 0px;

  }

}



@media (max-width: 960px) {

  main {

    overflow: hidden;

  }



  .wp_header-item:nth-child(2) {

    display: none !important;

  }



  .wp_header::before,

  .wp_header-1::before {

    content: none;

  }



  .wp_header-1 {

    background-image: inherit;

  }



  .wp_header-1 h1 {

    display: block !important;

    opacity: 1 !important;

    padding: 0.8rem 1.5rem;

    font-size: 1.1rem !important;

    letter-spacing: .2rem;

    line-height: 100%;

    background-color: #1d64f0;

  }



  .wp_header-1 .logo {

    left: 0 !important;

    opacity: 1 !important;

    top: 0 !important;

    opacity: 1 !important;

  }



  .wp_header-item:first-child {

    height: auto !important;

    padding-left: 0 !important;

    padding-top: 0 !important;

  }



  .wp_header-1 .logo img {

    width: 25rem !important;

  }



  .wp_header-1 .logo {

    padding: 1rem 1.5rem;

    display: flex;

    align-items: center;

    justify-content: space-between;

  }



  .is-page-child .wp_header.store,

  .wp_header {

    background-color: #ffffff !important;

  }



  .wp_menu ul>li.active a {

    color: #3F51B5;

  }



  .wp_menu ul>li>a::before {

    content: none;

  }



  .wp_header-3 {

    display: none;

  }



  .wp_header-3 .wp_menu li {

    border-top: 1px dashed #eee;

  }



  .wp_header-3 .wp_menu li .menu-sub {

    position: absolute;

    background: #3F51B5;

    width: 3rem;

    height: 3rem;

    top: 1.4rem;

    z-index: 1;

    right: 0;

    border-radius: 100%;

  }



  .wp_header-3 .wp_menu li .menu-sub::before {

    content: "";

    position: absolute;

    width: 1.3rem;

    height: 0.9rem;

    top: 50%;

    left: 50%;

    transform: rotate(180deg) translate(50%, 50%);

    background: url(../img/common/page-top.png) no-repeat center;

    background-size: contain;

    transition: all 0.35s;

  }



  .wp_header-3 .wp_menu li .menu-sub.active::before {

    transform: translate(-50%, -50%);

  }



  .wp_header-3 .wp_menu li ul {

    display: none;

    opacity: 1;

    pointer-events: all;

    position: relative;

    width: 100%;

    padding-left: 0;

    padding-right: 0;

  }



  .wp_header-3 .wp_menu li ul li a {

    width: 100%;

    background: transparent;

    border: 0;

    color: #2b2425;

  }



  #menu {

    display: block;

    position: relative;

  }



  #menu>div {

    width: 3.93rem;

    height: 3.93rem;

    position: relative;

    display: flex;

  }



  #menu span {

    background: #0143be;

    left: 0.7rem;

    -webkit-transform: translateY(-50%) rotate(0deg);

    transform: translateY(-50%) rotate(0deg);

    position: absolute;

    width: 2.41rem;

    height: 4px;

    -webkit-transition: top 0.1s ease 0.3s, background 0.1s ease 0.3s, -webkit-transform 0.3s ease;

    transition: top 0.1s ease 0.3s, background 0.1s ease 0.3s, -webkit-transform 0.3s ease;

    transition: top 0.1s ease 0.3s, transform 0.3s ease, background 0.1s ease 0.3s;

    transition: top 0.1s ease 0.3s, transform 0.3s ease, background 0.1s ease 0.3s, -webkit-transform 0.3s ease;

  }



  #menu span:nth-child(1) {

    top: 1.5rem;

  }



  #menu span:nth-child(2) {

    bottom: 1.1rem;

  }



  #menu .change span {

    -webkit-transition: top 0.1s ease, background 0.1s ease, -webkit-transform 0.3s ease 0.1s;

    transition: top 0.1s ease, background 0.1s ease, -webkit-transform 0.3s ease 0.1s;

    transition: top 0.1s ease, transform 0.3s ease 0.1s, background 0.1s ease;

    transition: top 0.1s ease, transform 0.3s ease 0.1s, background 0.1s ease, -webkit-transform 0.3s ease 0.1s;

  }



  #menu .change span:nth-child(1) {

    top: 50%;

    -webkit-transform: translateY(-50%) rotate(315deg);

    transform: translateY(-50%) rotate(315deg);

  }



  #menu .change span:nth-child(2) {

    top: 50%;

    -webkit-transform: translateY(-50%) rotate(405deg);

    transform: translateY(-50%) rotate(405deg);

  }



  .chane-x {

    display: inline-block;

    position: relative;

    cursor: pointer;

  }



  .wp_header-item:last-child {

    width: 100% !important;

    flex-wrap: wrap;

    padding-bottom: 1.5rem;

  }



  .wp_header-3 ul.wp_menu-02 {

    width: 100%;

    padding-left: 2rem;

    padding-right: 2rem;

  }



  .wp_header-3 .wp_menu {

    opacity: 1 !important;

    width: 100%;

    padding-right: 0;

    top: 0 !important;

  }



  .wp_header-3 .wp_menu ul {

    flex-wrap: wrap;

    padding-left: 2rem;

    padding-right: 2rem;

    padding-top: 0;

  }



  .wp_header-3 .wp_menu li {

    width: 100%;

  }



  .wp_header-3 ul.wp_menu-02 {

    flex-wrap: nowrap;

    padding-top: 2rem;

  }



  .wp_header-3 ul.wp_menu-02>li {

    width: 50%;

  }



  .wp_header-3 ul.wp_menu-02>li:not(:last-child) {

    margin-right: 1rem;

  }



  .wp_header-3 ul.wp_menu-02>li>a {

    width: 100%;

    height: 6.5rem !important;

    font-size: 1.6rem;

  }



  .wp_header-3 ul.wp_menu-02>li>a.vs-01 {

    border-bottom-left-radius: 0rem;

  }

}



.wp-footer_contact {

  padding-top: 5rem;

  padding-bottom: 8rem;

}



.wp-footer_contact-content {

  margin-top: 3.1rem;

}



.wp-footer_globalmenu {

  width: 100%;

  padding-top: 11.2rem;

  padding-bottom: 8.5rem;

  background-color: #2579f7;

}



.wp-footer_globalmenu--item {

  width: 100%;

}



.wp-footer_globalmenu--item:not(:last-child) {

  margin-bottom: 22.6rem;

}



.wp-footer_globalmenu--item:last-child {

  display: flex;

  align-items: center;

  justify-content: flex-end;

}



.wp-footer_globalmenu p {

  left: -0.5rem;

  position: relative;

  color: #ffffff;

  font-size: 2.00001rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0;

}



.wp-footer_info {

  width: 100%;

  height: 38rem;

  position: relative;

  padding-top: 4.2rem;

  background-color: #f4f4f4;

  background-image: url(../img/common/bg-01.png);

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

}



.wp-footer_info .logo_fo,

.wp-footer_info .info_box {

  text-align: center;

}



.wp-footer_info .logo_fo {

  margin-bottom: 1.6rem;

}



.wp-footer_info .logo_fo img {

  width: 49.601rem;

}



.wp-footer_info p {

  font-weight: 600;

  line-height: 160%;

}



.wp-footer_bottom {

  width: 100%;

  height: 18rem;

  position: relative;

  padding-bottom: 5.3rem;

  background-color: #ffffff;

}



.wp-footer_bottom p,

.wp-footer_bottom a {

  color: #959192;

  font-weight: 600;

  font-size: 1.3rem;

  letter-spacing: .025rem;

}



.wp-footer_bottom a {

  letter-spacing: 0.35rem;

}



.menu-fo {

  width: 100%;

  max-width: 92rem;

  margin-left: auto;

  margin-right: auto;

  align-items: flex-start;

  justify-content: space-between;

}



.menu-fo>li>a {

  color: #ffffff;

  font-size: 2.00001rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0;

}



.sub-menu-fo {

  margin-top: 2.1rem;

}



.sub-menu-fo>li>a {

  color: #ffffff;

  font-size: 1.50001rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0;

}



.globalmenu-affiliated {

  margin-top: 1.6rem;

}



.globalmenu-affiliated a {

  width: 34.001rem;

  text-align: center;

  height: 6.4rem;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: .3rem;

  background-color: #ffffff;

}



.globalmenu-affiliated a img {

  height: 2.901rem;

}



.wrap-header-title-01 {

  position: relative;

  padding-top: 14rem;

  padding-bottom: .6rem;

}



.wrap-header-title-01::before,

.wrap-header-title-01::after {

  content: "";

  width: 14.6rem;

  height: 14.6rem;

  position: absolute;

  background: #2579f7;

  background: linear-gradient(180deg, rgba(37, 121, 247, 0.2) 0%, rgba(37, 121, 247, 0) 85%);

  border-radius: 100%;

  left: 50%;

  transform: translateX(-50%);

}



.wrap-header-title-01::before {

  top: 0;

}



.wrap-header-title-01::after {

  top: 14.6rem;

}



.wrap-header-title-01 .txt {

  z-index: 1;

  position: relative;

  text-align: center;

  margin-bottom: 4.8rem;

}



.wrap-header-title-01 span {

  color: #2579f7;

  font-size: 7.00001rem;

  font-weight: 500;

  line-height: 120%;

  letter-spacing: 0;

  display: block;

}



.wrap-header-title-01 .en {

  margin-bottom: .4rem;

}



.wrap-header-title-01 .ja {

  min-width: 11rem;

  text-align: center;

  text-align: center;

  padding: .6rem .5rem;

  font-size: 1.5rem;

  display: inline-block;

  background-color: #2579f7;

  color: #ffffff;

  font-weight: 600;

}



.wrap-header-title-01 p {

  text-align: center;

  color: #2579f7;

  font-size: 1.50001rem;

  font-weight: 600;

  line-height: 120%;

  letter-spacing: 0;

}



.wrap_button-01 {

  width: 100%;

}



.wrap_button-01 a {

  display: block;

  width: 100%;

  position: relative;

  background-color: #2579f7;

  border-radius: .3rem;

  padding: 4.6rem 4rem 7.3rem;

  transition: ease all 0.35s;

  border: 1px solid #2579f7;

}



.wrap_button-01 a .line-icon::before {

  content: "";

  width: 2rem;

  height: 1.4rem;

  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%);

  -webkit-mask: url(../img/common/line.png) center/100% no-repeat;

  mask: url(../img/common/line.png) center/100% no-repeat;

  background-color: #ffffff;

  transition: ease all 0.35s;

  z-index: 3;

}



.wrap_button-01 a .line-icon::after {

  content: "";

  position: absolute;

  left: 50%;

  top: 50%;

  width: 100%;

  height: 100%;

  background-color: #2579f7;

  border-radius: 100%;

  transition: ease all 0.35s;

  transform: translate(-50%, -50%) scale(0);

}



.wrap_button-01 a:hover {

  background-color: #ffffff;

}



.wrap_button-01 a:hover .web-contact,

.wrap_button-01 a:hover .mail-form {

  color: #2579f7;

}



.wrap_button-01 a:hover .line-icon {

  border: .201rem solid #2579f7;

}



.wrap_button-01 a:hover .line-icon::after {

  transform: translate(-50%, -50%) scale(1.05);

}



.wrap_button-01 .web-contact,

.wrap_button-01 .mail-form {

  display: block;

  color: #ffffff;

  font-size: 1.60001rem;

  font-weight: 500;

  line-height: 120%;

  letter-spacing: 0;

}



.wrap_button-01 .web-contact {

  margin-top: .7rem;

  font-size: 3.2rem;

  font-weight: 600;

  text-align: center;

}



.wrap_button-01 .line-icon {

  width: 8rem;

  height: 8rem;

  border-radius: 100%;

  border: .201rem solid #ffffff;

  display: block;

  background-image: url(../img/common/line.png);

  background-repeat: no-repeat;

  background-position: center;

  background-size: 2.25rem;

  position: absolute;

  right: 3rem;

  top: 50%;

  transform: translateY(-50%);

}



.wrap_telfax {

  width: 100%;

  margin-top: 2.5rem;

}



.wrap_telfax--item {

  width: calc((100% - 2.502rem) / 2);

  margin-right: 2.5rem;

}



.wrap_telfax--item:nth-child(2n),

.wrap_telfax--item:last-child {

  margin-right: 0;

}



.wrap_telfax--item .button--tel,

.wrap_telfax--item .button--fax {

  width: 100%;

  height: 18rem;

  border-radius: .3rem;

  display: flex;

  align-items: center;

  justify-content: center;

  background-color: #eae9e7;

}



.wrap_telfax--item .button--tel img,

.wrap_telfax--item .button--fax img {

  height: 9.801rem;

}



.title_contact {

  width: 100%;

  height: 12.7rem;

  position: relative;

  overflow: hidden;

  text-align: center;

}



.title_contact img {

  width: 23.001rem;

}



@media (max-width: 1200px) and (min-width: 960.5px) {

  .wp-footer_info {

    height: 40rem;

  }



  .wp-footer_info p {

    font-size: 12px;

  }



  .wp-footer_bottom p,

  .wp-footer_bottom a {

    font-size: 11px;

  }

}



@media (max-width: 960px) {

  .wp-footer_contact-content {

    margin-top: 2.7rem;

  }



  .wp-footer_info p {

    letter-spacing: normal;

  }



  .wrap-header-title-01 {

    padding-top: 3rem;

    padding-bottom: .6rem;

  }



  .wrap-header-title-01::before,

  .wrap-header-title-01::after {

    width: 9.6rem;

    height: 9.6rem;

  }



  .wrap-header-title-01::after {

    top: 9.6rem;

  }



  .wrap-header-title-01 .txt {

    margin-bottom: 3.4rem;

  }



  .wrap-header-title-01 span {

    font-size: 5rem;

  }



  .wrap-header-title-01 .en {

    margin-bottom: .4rem;

  }



  .wrap-header-title-01 .ja {

    padding-top: 0.8rem;

    font-size: 1.4rem;

  }



  .wrap-header-title-01 p {

    line-height: 175%;

  }



  .wp-footer_contact {

    padding-top: 5rem;

    padding-bottom: 5rem;

  }



  .wrap_button-01 a {

    padding: 2rem 2rem 11rem;

  }



  .wrap_button-01 a:hover {

    background-color: #ffffff;

  }



  .wrap_button-01 a:hover .web-contact,

  .wrap_button-01 a:hover .mail-form {

    color: #2579f7;

  }



  .wrap_button-01 a:hover .line-icon {

    border: .201rem solid #2579f7;

    background-color: #2579f7;

  }



  .wrap_button-01 .web-contact,

  .wrap_button-01 .mail-form {

    font-size: 1.2rem;

  }



  .wrap_button-01 .web-contact {

    margin-top: 2rem;

    font-size: 2.5rem;

  }



  .wrap_button-01 .line-icon {

    width: 6rem;

    height: 6rem;

    border: 1px solid #ffffff;

    background-size: 2.25rem;

    position: absolute;

    right: inherit;

    left: 50%;

    top: inherit;

    bottom: 2rem;

    transform: translate(-50%, 0%);

  }



  .title_contact {

    height: 11rem;

  }



  .title_contact img {

    width: 20rem;

  }



  .wrap_telfax {

    margin-top: 1.5rem;

  }



  .wrap_telfax--item {

    margin-right: 0 !important;

    width: 100%;

  }



  .wrap_telfax--item:not(:last-child) {

    margin-bottom: 1.5rem;

  }



  .wrap_telfax--item .button--tel,

  .wrap_telfax--item .button--fax {

    height: auto !important;

    padding: 2rem !important;

  }



  .wrap_telfax--item .button--tel img,

  .wrap_telfax--item .button--fax img {

    height: 7.201rem;

  }



  .wp-footer_globalmenu {

    padding-top: 5rem;

    padding-bottom: 5rem;

  }



  .wp-footer_globalmenu--item:not(:last-child) {

    margin-bottom: 6.6rem;

  }



  .wp-footer_globalmenu p {

    font-size: 1.6rem;

  }



  .globalmenu-affiliated {

    margin-top: 1rem;

  }



  .globalmenu-affiliated a img {

    height: 2.201rem;

  }



  .menu-fo {

    max-width: 99%;

    flex-wrap: wrap;

  }



  .menu-fo>li {

    width: 49%;

    margin-bottom: 2%;

    border: 1px dashed #ffffff;

  }



  .menu-fo>li:nth-child(1) {

    order: 0;

  }



  .menu-fo>li:nth-child(2) {

    order: 1;

  }



  .menu-fo>li:nth-child(3) {

    order: 2;

  }



  .menu-fo>li:nth-child(4) {

    order: 6;

    width: 100%;

  }



  .menu-fo>li:nth-child(5) {

    order: 3;

  }



  .menu-fo>li:nth-child(6) {

    order: 4;

  }



  .menu-fo>li:nth-child(7) {

    order: 5;

  }



  .menu-fo>li a {

    display: block;

    padding: 1rem;

    font-size: 1.6rem;

  }



  .sub-menu-fo {

    margin-top: 0rem;

  }



  .sub-menu-fo>li>a {

    padding-top: 0;

    position: relative;

    font-size: 1.4rem;

  }



  .sub-menu-fo>li>a::before {

    content: "・";

  }



  .wp-footer_info {

    height: 25rem;

    padding-top: 0;

  }



  .wp-footer_info .grid-1200 {

    padding-left: 0;

    padding-right: 0;

  }



  .wp-footer_info .logo_fo {

    margin-bottom: 1rem;

  }



  .wp-footer_info .logo_fo img {

    width: 30rem;

  }



  .wp-footer_bottom {

    height: auto;

    padding-top: 2.5rem;

    padding-bottom: 2rem;

    text-align: center;

  }



  .wp-footer_bottom .grid-1200 {

    padding-left: 0;

    padding-right: 0;

  }



  .wp-footer_bottom--item {

    width: 100%;

  }



  .wp-footer_bottom p,

  .wp-footer_bottom a {

    font-size: 1.3rem;

    letter-spacing: -0.05rem;

    line-height: 185%;

  }

}



.wrap_top-1 {

  height: 107.901rem;

  background-color: #ffffff;

  display: flex;

  align-items: flex-start;

  justify-content: center;

  padding-top: 26.6rem;

}



.wrap_top-1 .wp_hci {

  position: absolute;

  left: 9.1rem;

  bottom: .3rem;

  z-index: 2;

}



.wrap_top-1 .wp_hci img {

  width: 98.301rem;

}



.wrap_top-1 .wp_square {

  position: absolute;

  right: 9rem;

  top: 16rem;

  z-index: 1;

}



.wrap_top-1 .wp_square img {

  width: 77.601rem;

}



.wrap_top-1 .wp_sway {

  width: 104.801rem;

  position: absolute;

  right: 2rem;

  top: 16.7rem;

  z-index: 1;

}



.wrap_top-1 .wp_sway-default {

  opacity: 0;

  pointer-events: none;

}



.wrap_top-1 .wp_sway-default img {

  width: 104.801rem;

}



.wrap_top-1 .wp_circle {

  width: 58rem;

  height: 58rem;

  border-radius: 100%;

  margin-left: auto;

  margin-right: auto;

  position: relative;

}



.wrap_top-1 .wp_circle::before {

  content: "";

  width: 100%;

  height: 100%;

  background-color: #ffd10c;

  position: absolute;

  left: 0;

  top: 0;

  z-index: 1;

  border-radius: 100%;

}



.wrap_top-1 .wp_circle-item {

  position: absolute;

  left: 0;

  top: 0;

  width: 58rem;

  height: 58rem;

  border-radius: 100%;

  overflow: hidden;

  display: flex;

  align-items: flex-end;

  justify-content: flex-start;

  background-color: transparent;

}



.wrap_top-1 .wp_circle-item img {

  width: 41.301rem;

  left: -5.2rem;

  top: 3.9rem;

  z-index: 3;

  position: relative;

}



.wrap_top-1 .wp_circle .wp_sway-6 {

  position: absolute;

  right: -5.8rem;

  top: 38.3rem;

  width: 10.4rem;

  z-index: 1;

}



.wrap_top-1 .wp_circle .wp_sway-6 img {

  width: 10.4rem;

}



.wrap_top-1 .wp_sway-img {

  position: absolute;

}



.wrap_top-1 .wp_sway-img.wp_sway-1 {

  right: 0;

  top: 0;

}



.wrap_top-1 .wp_sway-img.wp_sway-1 img {

  width: 12.6rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-2 {

  right: 20.1rem;

  top: 16.4rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-2 img {

  width: 10.1rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-3 {

  right: 7rem;

  top: 35.8rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-3 img {

  width: 12.9rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-4 {

  right: 32.9rem;

  top: 37.9rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-4 img {

  width: 13rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-5 {

  right: 39.4rem;

  top: 17rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-5 img {

  width: 14.2rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-7 {

  left: 30.5rem;

  top: 26.6rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-7 img {

  width: 10rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-8 {

  left: 16.3rem;

  top: 15.1rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-8 img {

  width: 12rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-9 {

  left: 0;

  top: 11.3rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-9 img {

  width: 13.6rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-10 {

  left: 1.9rem;

  top: 25.3rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-10 img {

  width: 14.9rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-11 img,

.wrap_top-1 .wp_sway-img.wp_sway-12 img,

.wrap_top-1 .wp_sway-img.wp_sway-13 img {

  width: 9.6rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-11 {

  left: 55.1rem;

  top: 2.5rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-12 {

  left: 41.1rem;

  top: 12.5rem;

}



.wrap_top-1 .wp_sway-img.wp_sway-13 {

  left: 69.5rem;

  top: 27rem;

}



.wrap_top-2 {

  margin-top: -26.3rem;

  padding-top: 32.7rem;

  background-image: url(../img/top/top-6.png);

  background-position: top center;

  background-repeat: no-repeat;

  background-size: contain;

}



.wrap_top-3 {

  margin-top: -76rem;

  z-index: 3;

}



.wrap_top-3__header {

  position: relative;

  text-align: center;

}



.wrap_top-3__header .wp_title-01 {

  color: #2579f7;

  margin-top: 3.9rem;

  margin-bottom: 3.1rem;

  position: relative;

  letter-spacing: .4rem;

}



.wrap_top-3__header p {

  color: #2b2425;

  font-size: 2.001rem;

  font-weight: 600;

  line-height: 150%;

  letter-spacing: .15rem;

}



.wrap_top-3__header p.button-555051 {

  width: 100%;

  max-width: 32rem;

  margin-left: auto;

  margin-right: auto;

  border-radius: 5.6rem;

  color: #ffffff;

  background-color: #555051;

  height: 5.6rem;

  display: flex;

  align-items: center;

  justify-content: center;

  margin-bottom: 1.5rem;

}



.wrap_top-3__header p.color-555051 {

  color: #555051;

}



.wrap_top-3__service {

  padding-top: 24rem;

}



.wrap_top-3__service--header {

  background-color: #5194f9;

  padding-left: 5rem;

  padding-right: 5rem;

}



.wrap_top-3__service--header_bg {

  width: 100%;

  height: 74rem;

  background-image: url(../img/top/top-9.jpg?v=1);

  background-position: center;

  background-repeat: no-repeat;

  background-size: cover;

  position: relative;

  top: -5rem;

  margin-bottom: -5rem;

}



.wrap_top-3__service--header .wp_title-02 {

  position: relative;

  top: -8.3rem;

}



.wrap_top-3__service--header p {

  font-size: 1.5rem;

  max-width: 38.5rem;

  margin-left: auto;

  margin-right: auto;

  color: #2b2425;

  font-weight: 600;

  letter-spacing: 0;

  line-height: 195%;

  text-align: justify;

  margin-top: 1.6rem;

}



.wrap_top-3__service--header .wrap_button-01 {

  margin-top: 8.6rem;

}



.wrap_top-3__service--list {

  position: relative;

  display: flex;

  flex-wrap: wrap;

}



.wrap_top-3__service--list--item {

  width: calc((100% - 4.002rem) / 2);

  margin-right: 4rem;

  background-color: #ffffff;

  padding: 6rem;

  padding-bottom: 0;

  border-radius: .3rem;

}



.wrap_top-3__service--list--item.pt-16 {

  padding-top: 1.6rem;

}



.wrap_top-3__service--list--item.plr-0 {

  padding-left: 0;

  padding-right: 0;

}



.wrap_top-3__service--list--item.mt-0 {

  padding-top: 5rem;

  margin-top: 0 !important;

}



.wrap_top-3__service--list--item:nth-child(2n),

.wrap_top-3__service--list--item:last-child {

  margin-right: 0;

}



.wrap_top-3__service--list--item:nth-child(2n) {

  margin-top: 7rem;

}



.wrap_top-3__service--list--item img {

  border-radius: .3rem;

  margin-bottom: 4rem;

  transition: ease all 0.35s;

}



.wrap_top-3__service--list--item a {

  display: inline-block;

}



.wrap_top-3__service--list--item a:hover img {

  opacity: 0.8;

}



.wrap_top-3__service--list--item a:hover .line-icon {

  background-color: #ffffff;

}



.wrap_top-3__service--list--item a:hover .line-icon::before {

  background-color: #2579f7 !important;

}



.wrap_top-3__service--list--item a:hover .line-icon::after {

  transform: translate(-50%, -50%) scale(1.05) !important;

}



.wrap_top-3__service--box {

  padding-top: 11rem;

  background-image: url(../img/top/top-13.png);

  background-position: center top;

  background-repeat: no-repeat;

  background-size: contain;

}



.wrap_top-4 {

  margin-top: 17.5rem;

  margin-bottom: 19.3rem;

}



.wrap_top-4 .wp-title-link {

  margin-bottom: 9.5rem;

}



.wrap_top-4 p {

  width: 100%;

  max-width: 37.5rem;

  color: #2b2425;

  font-size: 1.5001rem;

  font-weight: 600;

  line-height: 195%;

  letter-spacing: 0;

}



.wrap_top-4--item:first-child {

  width: 71rem;

  min-height: 42.001rem;

}



.wrap_top-4--item:last-child {

  width: calc(100% - 71rem);

}



.wrap_top-4--item:last-child img {

  width: 100.001rem;

  position: absolute;

  border-radius: .6rem;

  overflow: hidden;

}



.wrap_top-5 {

  margin-bottom: 19rem;

}



.wrap_top-5 .dflex {

  flex-wrap: wrap;

}



.wrap_top-5--item {

  width: 100%;

}



.wrap_top-6 {

  width: 100%;

  height: 120rem;

  position: relative;

  overflow: hidden;

  margin-bottom: 5rem;

}

.wrap_top-6 .block_logo{
  position: absolute;
    z-index: -1;
    opacity: 0.05;
    width: 72.6rem;
    left: 16rem;
    bottom: 12rem;
    height: 71.4rem;
    background: url(../img/recruit/recruit-img-08.png) no-repeat center;
    background-size: contain;
}

.wrap_top-1 {

  width: 100%;

  position: relative;

}



.wrap_top-2 {

  width: 100%;

  position: relative;

}



.wrap_top-3 {

  width: 100%;

  position: relative;

}



.wrap_top-4 {

  width: 100%;

  position: relative;

}



.wrap_top-5 {

  width: 100%;

  position: relative;

}



.wrap_top-6 {
  width: 100%;
  position: relative;
  background: #1d64f0;
  z-index: 0;
}

.wrap_top-6::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.5;
  background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
}

.wrap_top-7 {

  width: 100%;

  position: relative;

}



.wrap_top-8 {

  width: 100%;

  position: relative;

}



.wrap_top-9 {

  width: 100%;

  position: relative;

}



.wrap_top-10 {

  width: 100%;

  position: relative;

}



.wrap_contact-tel {

  width: 32.001rem;

  position: absolute;

  right: 0;

  bottom: 20rem;

  z-index: 4;

  background-color: #403a3b;

  border-top-left-radius: .6rem;

  border-bottom-left-radius: .6rem;

  overflow: hidden;

}



.wrap_contact-tel--item:first-child a {

  padding-top: 1.6rem;

  padding-bottom: 1.6rem;

  background-color: #2b2425;

}



.wrap_contact-tel--item:last-child a {

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 1.8rem;

  padding-top: 1.9rem;

  padding-bottom: 2.7rem;

}



.wrap_contact-tel a {

  display: block;

  text-align: center;

  color: #ffffff;

  font-size: 2.8rem;

  font-weight: 700;

  line-height: 120%;

  letter-spacing: 0.04rem;

}



.wrap_contact-tel a .tel {

  font-size: 2rem;

  font-weight: 400;

}



.wrap_contact-tel a .hotline {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 9.001rem;

  height: 3.401rem;

  font-size: 1.5rem;

  background-color: #2b2425;

  border-radius: .3rem;

  margin-right: 1rem;

  font-weight: 400;

}



.wp_title-01 {

  color: #ffffff;

  font-size: 5.40001rem;

  font-weight: 600;

  line-height: 120%;

  letter-spacing: 0;

}



.wp_title-02 {

  width: 100%;

  max-width: 18rem;

  margin-left: auto;

  margin-right: auto;

  background-color: #2579f7;

  text-align: center;

  padding-bottom: 10.5rem;

  color: #ffffff;

  font-size: 3.20001rem;

  font-weight: 600;

  line-height: 100%;

  letter-spacing: 0;

  position: relative;

}



.wp_title-02::before {

  width: 10rem;

  height: 10rem;

  content: "";

  position: absolute;

  left: 50%;

  bottom: -2.7rem;

  transform: translateX(-50%);

  background-color: #5194f9;

  border-radius: .3rem;

}



.wp_title-02 .en {

  line-height: 100%;

  margin-top: -3.2rem;

  writing-mode: vertical-rl;

}



.wp_title-02 .en span {

  line-height: 100%;

  display: inline-block;

  transform: rotate(270deg);

  margin-bottom: 0px;

}



.wp_title-02 .en span:first-child {

  color: #2579f7;

  margin-bottom: .3rem;

}



.wp_title-02 .en span.m--3-7 {

  margin-top: -0.3rem;

  margin-bottom: .7rem;

}



.wp_title-02 .en span.m-6 {

  margin-top: .6rem;

}



.clean_water {

  width: 100%;

  height: 151.4rem;

  display: flex;

  align-items: flex-start;

  justify-content: space-between;

}



.clean_water .wp_title-01 {

  margin-bottom: 4.1rem;

}



.clean_water--item:first-child {

  width: 61.8rem;

  padding-top: 13rem;

}



.clean_water--item:last-child {

  width: calc(100% - 61.8rem);

}



.clean_water--img {

  width: 78.5rem;

  position: relative;

}



.clean_water--img li {

  width: calc((100% - 2.002rem) / 2);

  margin-right: 2rem;

}



.clean_water--img li:nth-child(2n),

.clean_water--img li:last-child {

  margin-right: 0;

}



.clean_water--img li img {

  border-radius: 1rem;

  vertical-align: top;

  overflow: hidden;

}



.clean_water p {

  font-size: 2rem;

  color: #ffffff;

  font-weight: 600;

}



.wrap_button-01.vs-01 {

  text-align: center;

}



.wrap_button-01.vs-01 a {

  width: 8rem;

  margin-left: auto;

  margin-right: auto;

  padding: 0 !important;

  border: 0 !important;

  background-color: transparent !important;

}



.wrap_button-01.vs-01 a:hover .line-icon {

  border: 2px solid #2579f7;

}



.wrap_button-01.vs-01 a:hover .line-icon::before {

  background-color: #ffffff;

}



.wrap_button-01.vs-01 a:hover .line-icon::after {

  transform: translate(-50%, -50%) scale(1.05) !important;

}



.wrap_button-01.vs-01 .line-icon {

  position: relative !important;

  border: .201rem solid #959192;

  background-image: inherit;

  right: 0;

  top: 0;

  transform: inherit;

  transition: ease all 0.35s;

  border-radius: 100%;

}



.wrap_button-01.vs-01 .line-icon::before {

  content: "";

  width: 2rem;

  height: 1.4rem;

  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%);

  -webkit-mask: url(../img/common/line.png) center/100% no-repeat;

  mask: url(../img/common/line.png) center/100% no-repeat;

  background-color: #959192;

  transition: ease all 0.35s;

  z-index: 2;

}



.wrap_button-01.vs-01 .line-icon::after {

  content: "";

  position: absolute;

  left: 50%;

  top: 50%;

  width: 100%;

  height: 100%;

  background-color: #2579f7;

  border-radius: 100%;

  transition: ease all 0.35s;

  transform: translate(-50%, -50%) scale(0);

}



.wrap_box_list {

  width: 100%;

  display: flex;

  align-items: flex-start;

  justify-content: space-between;

}



.wrap_box_list--item {

  width: 14rem;

}



.wrap_box_list--item:first-child {

  width: calc(100% - 14rem);

  padding-top: .6rem;

}



.wrap_box_list--item:last-child {

  position: relative;

  right: -6rem;

}



.wrap_box_list--item:last-child .wrap_button-01 {

  height: 12rem;

  background-color: #2579f7;

  display: block;

  position: relative;

}



.wrap_box_list--item:last-child .wrap_button-01 .line-icon {

  position: relative;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%);

  background-image: inherit;

  transition: ease all 0.35s;

}



.wrap_box_list--item:last-child .wrap_button-01 .line-icon::before {

  content: "";

  width: 2rem;

  height: 1.4rem;

  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%);

  -webkit-mask: url(../img/common/line.png) center/100% no-repeat;

  mask: url(../img/common/line.png) center/100% no-repeat;

  background-color: #ffffff;

  transition: ease all 0.35s;

  z-index: 2;

}



.wrap_box_list--item:last-child .wrap_button-01 .line-icon::after {

  content: "";

  width: 100%;

  height: 100%;

  background-color: #ffffff;

  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%) scale(0);

  border-radius: 100%;

  transition: ease all 0.35s;

}



.wrap_box_list .title-01 span {

  display: block;

}



.wrap_box_list .title-01 .en {

  margin-bottom: .7rem;

  color: #555051;

  font-size: 2.0001rem;

  font-weight: 600;

  line-height: 120%;

  letter-spacing: 0;

}



.wrap_box_list .title-01 .ja {

  color: #2579f7;

  font-size: 3.60001rem;

  font-weight: 600;

  line-height: 120%;

  letter-spacing: 0;

}



.list_menu_ser {

  width: 100%;

  position: relative;

  display: flex;

  align-items: center;

}



.list_menu_ser li {

  width: calc((100% - 2.202rem) / 2);

  margin-right: 2.2rem;

}



.list_menu_ser li:nth-child(2n),

.list_menu_ser li:last-child {

  margin-right: 0;

}



.wrap_button-02 {

  width: 100%;

  background-color: #f4f4f4;

  height: 6.4001rem;

  border-radius: 6.4001rem;

  display: flex !important;

  align-items: center;

  justify-content: flex-start;

  padding-left: 3rem;

  color: #2b2425;

  font-size: 1.60001rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0;

  position: relative;

  overflow: hidden;

  transition: ease all 0.35s;

}



.wrap_button-02 span {

  position: relative;

  z-index: 2;

}



.wrap_button-02:hover {

  color: #ffffff;

}



.wrap_button-02:hover:after {

  transform: translate(-50%, -50%) scale(5);

}



.wrap_button-02:hover::before {

  background-color: #ffffff;

}



.wrap_button-02::before {

  content: "";

  width: 2rem;

  height: 1.4rem;

  position: absolute;

  right: 2.3rem;

  top: 50%;

  transform: translateY(-50%);

  -webkit-mask: url(../img/common/line.png) center/100% no-repeat;

  mask: url(../img/common/line.png) center/100% no-repeat;

  background-color: #959192;

  transition: ease all 0.35s;

  z-index: 3;

}



.wrap_button-02::after {

  content: "";

  position: absolute;

  width: 6.4rem;

  height: 6.4rem;

  background-color: #2579f7;

  border-radius: 50%;

  transform: scale(0);

  transition: 0.6s ease all;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%) scale(0);

}



.img-link--box {

  width: 100%;

  height: 23.2001rem;

  border-radius: 23.2001rem;

  background-color: #ffdf55;

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding-left: 7rem;

  padding-right: 6rem;

  position: relative;

}



.img-link--box::before {

  content: "";

  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%);

  background-color: #ffd10c;

  width: calc(100% - 5rem);

  height: calc(100% - 5rem);

  border-radius: 18.4rem;

  z-index: 2;

}



.img-link--box::after {

  content: "";

  width: 23rem;

  height: 23rem;

  background-color: #ffdf55;

  border-radius: 100%;

  position: absolute;

  left: 1.5rem;

  top: -7.5rem;

  z-index: 0;

}



.img-link--box--item:first-child {

  display: flex;

  align-items: center;

  width: calc(100% - 8.001rem);

  color: #2b2425;

  font-size: 4.0001rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0;

}



.img-link--box--item:first-child span {

  position: relative;

  z-index: 4;

}



.img-link--box--item:first-child span:first-child {

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 2.5001rem;

  color: #ffffff;

  background-color: #555051;

  width: 12rem;

  height: 4.4rem;

  border-radius: 4.4rem;

  font-weight: 400;

  letter-spacing: .2rem;

}



.img-link--box--item:first-child span:last-child {

  width: calc(100% - 12rem);

  padding-left: 1.5rem;

}



.img-link--box--item:last-child {

  width: 8.001rem;

}



.img-link--box .wrap_button-01 {

  position: relative;

  width: 100%;

  height: 8.001rem;

}



.img-link--box .wrap_button-01 .line-icon {

  position: relative;

  right: 0;

  top: 0;

  transform: inherit;

  border: .201rem solid #2b2425;

  background-image: inherit;

  z-index: 4;

}



.img-link--box .wrap_button-01 .line-icon::before {

  content: "";

  width: 2rem;

  height: 1.4rem;

  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%);

  -webkit-mask: url(../img/common/line.png) center/100% no-repeat;

  mask: url(../img/common/line.png) center/100% no-repeat;

  background-color: #2b2425;

  transition: ease all 0.35s;

  z-index: 3;

}



.img-link--box .wrap_button-01 .line-icon::after {

  content: "";

  position: absolute;

  left: 50%;

  top: 50%;

  width: 100%;

  height: 100%;

  background-color: #2b2425;

  border-radius: 100%;

  transition: ease all 0.35s;

  transform: translate(-50%, -50%) scale(0);

}



.emergency_response {

  margin-bottom: 3rem;

}



.emergency_response>a {

  width: 100%;

  position: relative;

  padding-top: 23rem;

  transition: ease all 0.35s;

}



.emergency_response>a img {

  margin-bottom: 0;

  border-radius: 0;

}



.emergency_response>a:hover img {

  opacity: 1;

}



.emergency_response>a:hover .line-icon {

  background-color: #ffd10c !important;

}



.emergency_response>a:hover .line-icon::before {

  background-color: #ffffff !important;

}



.emergency_response>a:hover .line-icon::after {

  transform: translate(-50%, -50%) scale(1.05) !important;

}



.emergency_response .img-txt--1,

.emergency_response .img-txt--2,

.emergency_response .img-txt--3 {

  position: absolute;

  top: 0;

  right: 0;

}



.emergency_response .img-txt--1 {

  right: 1.5rem;

}



.emergency_response .img-txt--1 img {

  width: 36rem;

}



.emergency_response .img-txt--2 {

  right: inherit;

  left: 1.5rem;

  top: 15.5rem;

  z-index: 3;

  width: 23rem;

  height: 23rem;

  display: flex;

  align-items: center;

  justify-content: center;

}



.emergency_response .img-txt--2 img {

  position: relative;

  left: -0.6rem;

  width: 19.3001rem;

}



.emergency_response .img-txt--3 {

  right: inherit;

  left: 19.0rem;

  top: 10.0rem;

  z-index: 3;

}



.emergency_response .img-txt--3 img {

  width: 22.6rem;

  z-index: 2;

  animation: bgFloating 3.5s 0s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate, bgAppear 3.5s 0s cubic-bezier(0.39, 0.575, 0.565, 1) 1;

}



.wp-title-link {

  width: 100%;

  position: relative;

}



.wp-title-link a {

  display: inline-block;

}



.wp-title-link a:hover .line-icon {

  border: .201rem solid #2579f7;

  background-color: #2579f7;

}



.wp-title-link a:hover .line-icon::before {

  background-color: #ffffff;

}



.wp-title-link a:hover .line-icon::after {

  transform: translate(-50%, -50%) scale(1.05) !important;

}



.wp-title-link--item {

  position: relative;

}



.wp-title-link--item:first-child {

  padding-right: 7rem;

}



.wp-title-link--item:last-child {

  top: .7rem;

}



.wp-title-link .box {

  display: flex;

  align-items: flex-start;

}



.wp-title-link .en {

  display: block;

  color: #2579f7;

  font-size: 7.0001rem;

  font-weight: 600;

  line-height: 120%;

  letter-spacing: 0;

}



.wp-title-link .ja {

  margin-left: .5rem;

  margin-top: .6rem;

  background-color: #2b2425;

  display: inline-block;

  padding-left: 1rem;

  padding-right: 2rem;

  padding-top: .6rem;

  padding-bottom: .6rem;

  color: #ffffff;

  font-size: 1.5001rem;

  font-weight: 600;

  line-height: 120%;

  letter-spacing: 0.08rem;

}



.list_about {

  width: 100%;

  display: flex;

  max-width: 108rem;

  margin-left: auto;

  margin-right: auto;

  margin-top: 9.5rem;

}



.list_about li {

  width: calc((100% - 6rem) / 2);

  margin-right: 3rem;

  background-color: #f4f4f4;

  text-align: center;

  transition: ease all 0.35s;

  border-radius: .3rem;

}



.list_about li:nth-child(3n),

.list_about li:last-child {

  margin-right: 0;

}



.list_about li span {

  display: block;

  width: 100%;

}



.list_about li:hover {

  background-color: #ffffff;

}



.list_about a {

  width: 100%;

  height: 46rem;

  padding-top: 7rem;

  padding-left: 4rem;

  padding-right: 4rem;

  padding-bottom: 5.5rem;

  display: flex;

  align-items: flex-end;

  justify-content: center;

  position: relative;

  transition: ease all 0.35s;

}



.list_about a::before {

  content: "";

  position: absolute;

  left: 3rem;

  top: 3.3rem;

  background-color: #2579f7;

  border-radius: 100%;

  width: 1.4001rem;

  height: 1.4001rem;

}



.list_about img {

  padding-bottom: 2.2rem;

  vertical-align: top;

}



.list_about .title {

  text-align: left;

  margin-top: 5rem;

  position: relative;

  color: #2b2425;

  font-size: 2.0001rem;

  font-weight: 600;

  line-height: 120%;

  letter-spacing: 0;

}



.list_about .title::before {

  content: "";

  width: 2rem;

  height: 1.4rem;

  position: absolute;

  right: 2rem;

  top: 50%;

  transform: translateY(-50%);

  -webkit-mask: url(../img/common/line.png) center/100% no-repeat;

  mask: url(../img/common/line.png) center/100% no-repeat;

  background-color: #959192;

  transition: ease all 0.35s;

}



.list_about .desc {

  color: #2b2425;

  font-size: 1.5001rem;

  font-weight: 600;

  line-height: 195%;

  letter-spacing: 0;

}



.wrap_4slider_box {

  position: relative;

  left: -7.001rem;

  width: calc(100% + 14.001rem);

  height: 100%;

  display: flex;

  align-items: flex-start;

  justify-content: space-between;

}



.wrap_4slider_box::before {

  content: "";

  position: absolute;

  width: 100%;

  height: 100%;

  background-color: #2b2425;

  z-index: 1;

  opacity: 0.5;

}



.wrap_4slider_box .slider-item {

  width: 50rem;

  height: 100%;

  margin-right: 1.5rem;

  background-color: #ffffff;

  background-size: 50rem;

  background-position: center top;

  background-repeat: repeat-y;

  animation: slideAnimation 50s linear infinite;

}



.wrap_4slider_box .slider-item:last-child {

  margin-right: 0;

}



.wrap_4slider_box .slider-item.vs-01 {

  background-image: url(../img/top/top-24.png);

}



.wrap_4slider_box .slider-item.vs-02 {

  animation-name: slideAnimationX;

  background-image: url(../img/top/top-23.png);

}



.wrap_4slider_box .slider-item.vs-03 {

  animation-name: slideAnimation_02;

  background-image: url(../img/top/top-25.png);

}



.wrap_4slider_box .slider-item.vs-04 {

  animation-name: slideAnimationX_02;

  background-image: url(../img/top/top-22.png);

}



.wrap_recruit--center {

  position: absolute;

  width: 100%;

  left: 0;

  top: 50%;

  transform: translateY(-50%);

  z-index: 2;

}



.wrap_recruit--img-link {

  position: relative;

  z-index: 3;

  width: 58.001rem;

  height: 58.001rem;

  border-radius: 100%;

  text-align: center;

  margin-left: auto;

  margin-right: auto;

}



.wrap_recruit--img-link img {

  width: 58.001rem;

}



.wrap_recruit--img-link .list_menu_ser {

  position: absolute;

  right: 0;

  bottom: 15rem;

  z-index: 3;

  justify-content: flex-end;

  padding-right: 7rem;

}



.wrap_recruit--img-link .wrap_button-02 {

  background-color: transparent;

  border: .2001rem solid #ffffff;

  height: 8.001rem;

  border-radius: 8.001rem;

  width: 24.001rem;

  color: #ffffff;

  margin-left: auto;

  margin-right: 0;

}



.wrap_recruit--img-link .wrap_button-02::before {

  right: 3rem;

  background-color: #ffffff;

}



.wrap_recruit--img-link .wrap_button-02::after {

  width: 8rem;

  height: 8rem;

}



.wrap_recruit--img-link .wrap_button-02:hover {

  color: #2579f7;

  border: .2001rem solid transparent;

}



.wrap_recruit--img-link .wrap_button-02:hover::before {

  right: 3rem;

  background-color: #2579f7;

}



.wrap_recruit--img-link .wrap_button-02:hover::after {

  background-color: #ffffff;

}



.slider-item-txt {

  position: absolute;

  width: 100%;

  left: 0;

  top: 50%;

  transform: translateY(-50%);

  height: 10rem;

  z-index: 1;

  background-image: url(../img/top/top-26.png);

  background-repeat: repeat-x;

  background-position: center;

  background-size: 248rem;

  animation: slideAnimationY 50s linear infinite;

}



.wrap_recruit--top {

  position: absolute;

  width: 100%;

  left: 0;

  top: 10.4rem;

  z-index: 3;

}



.wrap_recruit--top .grid-1600 {

  position: relative;

}



.wrap_recruit--top--item {

  width: 50%;

}



.wrap_recruit--top--item:last-child {

  padding-right: 15rem;

}



.wrap_recruit--top .wp-title-link {

  position: static;

}



.wrap_recruit--top .wp-title-link--item:last-child {

  position: absolute;

  right: 4.5rem;

  top: .7rem;

}



@media (min-width: 960.5px) {

  .wrap_recruit--top .wp-title-link .en {

    color: #ffffff;

  }



  .wrap_recruit--top .wp-title-link .ja {

    background-color: #2579f7;

  }



  .wrap_recruit--top .wrap_button-01.vs-01 .line-icon {

    border: .201rem solid #ffffff;

  }



  .wrap_recruit--top .wrap_button-01.vs-01 .line-icon:hover {

    border-color: #2579f7;

  }



  .wrap_recruit--top .wrap_button-01.vs-01 .line-icon::before {

    background-color: #ffffff;

  }



  .wrap_recruit--top p {

    width: 54rem;

    color: #ffffff;

    font-size: 1.50001rem;

    font-weight: 600;

    line-height: 195%;

    letter-spacing: 0;

  }

}



@keyframes slideAnimation {

  0% {

    background-position: center 0;

  }



  100% {

    background-position: center 183.5rem;

  }

}



@keyframes slideAnimation_02 {

  0% {

    background-position: center 0;

  }



  100% {

    background-position: center 150rem;

  }

}



@keyframes slideAnimationX {

  0% {

    background-position: center 178.8rem;

  }



  100% {

    background-position: center 0%;

  }

}



@keyframes slideAnimationX_02 {

  0% {

    background-position: center 176.4rem;

  }



  100% {

    background-position: center 0%;

  }

}



@keyframes slideAnimationY {

  0% {

    background-position: 248rem center;

  }



  100% {

    background-position: 0 center;

  }

}



@media (max-width: 1200px) and (min-width: 960.5px) {



  .wrap_top-4 p,

  .wrap_top-3__service--header p {

    max-width: 44.5rem;

  }



  .wrap_recruit--top p {

    width: 60rem;

    font-weight: 500;

  }



  .wrap_top-4 p,

  .list_about .desc,

  .wrap_recruit--top p,

  .wrap-header-title-01 p,

  .wrap_top-3__service--header p {

    font-size: 12px;

    text-align: justify;

    line-height: 180%;

  }



  .menu-fo>li>a {

    font-size: 14px;

  }



  .wrap-header-title-01 p {

    text-align: center;

  }



  .list_about .title {

    font-size: 13px;

  }



  .list_about img {

    width: 16rem;

  }



  .list_about {

    max-width: 119rem;

  }



  .list_about a {

    height: 50rem;

  }



  .menu-fo {

    max-width: 100rem;

  }



  .sub-menu-fo>li>a {

    font-size: 10px;

  }

}



@media (max-width: 960px) {



  .wrap_button-01.vs-01 .line-icon {

    left: inherit;

  }



  .wrap_recruit--top .wp-title-link--item:last-child {

    right: 1.5rem;

  }



  .wrap_top-1 {

    height: 66.7rem;

    padding-top: 28.6rem;

    overflow: hidden;

    margin-top: 4.5rem;

  }



  .wrap_top-1 .wp_hci {

    left: -5.5rem;

    top: 41rem;

    bottom: inherit;

  }



  .wrap_top-1 .wp_hci img {

    width: 32rem;

  }



  .wrap_top-1 .wp_circle-item,

  .wrap_top-1 .wp_circle {

    width: 24rem;

    height: 24rem;

  }



  .wrap_top-1 .wp_circle {

    margin-right: -11.4rem;

  }



  .wrap_top-1 .wp_circle .wp_sway-6 {

    right: 0;

    top: 19rem;

    width: 3.4rem;

  }



  .wrap_top-1 .wp_circle .wp_sway-6 img {

    width: 3.4rem;

  }



  .wrap_contact-tel {

    width: 23.001rem;

    bottom: 0;

    border-top-left-radius: 1rem;

    border-bottom-left-radius: 1rem;

  }



  .wrap_contact-tel a {

    font-size: 1.7rem;

  }



  .wrap_contact-tel--item:first-child a {

    padding-top: 1rem;

    padding-bottom: 1rem;

  }



  .wrap_contact-tel--item:last-child a {

    font-size: 1.2rem;

    padding-top: 1rem;

    padding-bottom: 1rem;

  }



  .wrap_contact-tel a .tel {

    font-size: 1.2rem;

  }



  .wrap_contact-tel a .hotline {

    width: 8.001rem;

    height: 3.01rem;

    font-size: 1.2rem;

    border-radius: .6rem;

    margin-right: 0.8rem;

  }



  .wrap_top-1 .wp_square {

    right: 0;

    top: 11.5rem;

    transform: rotate(-114deg);

  }



  .wrap_top-1 .wp_sway {

    width: 100%;

    right: 0;

    top: 7rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-1 {

    right: inherit;

    left: .5rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-1 img {

    width: 6.6rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-2 {

    right: inherit;

    top: 12.4rem;

    left: 8rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-2 img {

    width: 5.5rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-3 {

    right: inherit;

    top: 23.8rem;

    left: 2rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-3 img {

    width: 7.9rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-4 {

    right: inherit;

    top: 8.9rem;

    left: 18.9rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-4 img {

    width: 7rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-5 {

    right: 1.5rem;

    top: -2rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-5 img {

    width: 9.2rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-7 {

    left: inherit;

    top: 31.6rem;

    right: 0rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-7 img {

    width: 4rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-8 {

    left: 25.3rem;

    top: 25.1rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-8 img {

    width: 7rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-9 {

    left: 20rem;

    top: 20.3rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-9 img {

    width: 6.6rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-10 {

    left: 28.9rem;

    top: 15.3rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-10 img {

    width: 6.9rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-11 {

    left: 19rem;

    top: 0.5rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-12 {

    left: 10rem;

    top: 5rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-13 {

    left: 2rem;

    top: 16rem;

  }



  .wrap_top-1 .wp_sway-img.wp_sway-11 img,

  .wrap_top-1 .wp_sway-img.wp_sway-12 img,

  .wrap_top-1 .wp_sway-img.wp_sway-13 img {

    width: 4.6rem;

  }



  .wrap_top-2 {

    margin-top: -4rem;

    padding-top: 6.7rem;

    padding-bottom: 4rem;

    background-position: top -10.9rem center;

    background-size: 144%;

    background: linear-gradient(180deg, #2579f7 0%, rgba(255, 255, 255, 0) 100%);

  }



  .clean_water--item:last-child,

  .clean_water--item:first-child {

    width: 100%;

  }



  .clean_water--item:first-child {

    padding-top: 0;

    margin-bottom: 2rem;

  }



  .wp_title-01 {

    font-size: 2.40001rem;

    line-height: 140%;

    letter-spacing: .1rem;

  }



  .clean_water {

    flex-wrap: wrap;

    height: auto;

  }



  .clean_water--img {

    width: 100%;

  }



  .clean_water .wp_title-01 {

    margin-bottom: 3rem;

  }



  .clean_water p {

    font-size: 1.5rem;

    line-height: 185%;

    text-align: justify;

  }



  .clean_water p br {

    display: none;

  }



  .clean_water--img li {

    width: calc((100% - 1.5002rem) / 2);

    margin-right: 1.5rem;

  }



  .wrap_top-3 {

    margin-top: 0;

    padding-top: 3rem;

  }



  .wrap_top-3__header {

    padding-left: 1.5rem;

    padding-right: 1.5rem;

  }



  .wrap_top-3__header p {

    font-size: 1.4001rem;

    letter-spacing: 0;

  }



  .wrap_top-3__header .wp_title-01 {

    margin-top: 3rem;

    margin-bottom: 2rem;

    letter-spacing: .0rem;

  }



  .wrap_top-3__header p.button-555051 {

    margin-bottom: 2.1rem;

  }



  .wrap_top-3__service--header {

    padding-left: 1.5rem;

    padding-right: 1.5rem;

  }



  .wp_title-02 {

    max-width: 14rem;

    padding-bottom: 5.5rem;

    font-size: 2.5rem;

  }



  .wp_title-02 .en {

    margin-top: -2.4rem;

  }



  .wp_title-02::before {

    width: 6rem;

    height: 6rem;

    bottom: -2.7rem;

  }



  .wrap_top-3__service--header_bg {

    height: 57rem;

    padding-left: 2rem;

    padding-right: 2rem;

  }



  .wrap_top-3__service--header p {

    margin-top: 1rem;

    line-height: 220%;

    text-align: justify;

  }



  .wrap_top-3__service--header .wrap_button-01 {

    margin-top: 1.5rem;

  }



  .wrap_button-01.vs-01 a {

    width: 6rem;

  }



  .wrap_top-3__service--box {

    padding-top: 5rem;

    background-size: 87.5rem;

  }



  .wrap_top-3__service--list--item {

    width: 100%;

    margin-right: 0;

    padding: 1.5rem;

    box-shadow: 0.6rem 0.4rem 1rem 0.2rem rgba(0, 0, 0, 0.2);

  }



  .wrap_box_list--item:last-child {

    right: 0;

  }



  .wrap_box_list--item:last-child .wrap_button-01 {

    height: 9rem;

    width: 9rem;

    margin: 0 0 0 auto;

  }



  .wrap_top-3__service--list--item:not(:last-child) img {

    margin-bottom: 2rem;

    height: 25rem;

    object-fit: cover;

  }



  .wrap_box_list .title-01 .en {

    margin-bottom: .7rem;

    font-size: 1.40001rem;

  }



  .wrap_box_list .title-01 .ja {

    font-size: 3.0001rem;

  }



  .wrap_top-3__service--list--item {

    margin-top: 0 !important;

  }



  .wrap_top-3__service--list--item:not(:last-child) {

    margin-bottom: 3rem !important;

  }



  .wrap_top-3__service--list--item.mt-0 {

    padding-top: 0 !important;

    box-shadow: inherit !important;

  }



  .emergency_response .img-txt--1 img {

    width: 25rem;

  }



  .emergency_response .img-txt--1 {

    right: 0;

  }



  .wrap_top-4--item:first-child {

    width: 100%;

    min-height: auto;

  }



  .wrap_top-4--item:last-child img,

  .wrap_top-4--item:last-child {

    width: 100%;

    position: relative;

    display: none;

  }



  .wrap_top-4 p {

    max-width: 100%;

    line-height: 185%;

    text-align: justify;

  }



  .wrap_top-4 p img {

    margin-bottom: 2rem;

    border-radius: 1rem;

  }



  .wrap_top-4 .wp-title-link {

    margin-bottom: 3.4rem;

  }



  .list_menu_ser {

    flex-wrap: wrap;

  }



  .list_menu_ser li {

    width: 100%;

    margin-right: 0;

  }



  .list_menu_ser li:not(:last-child) {

    margin-bottom: 1.5rem;

  }



  .wrap_button-02:hover:after {

    transform: translate(-50%, -50%) scale(7);

  }



  .img-link--box {

    height: 11.5rem;

    border-radius: 23.2001rem;

    padding-right: 6rem;

    padding: 1.5rem;

    padding-left: 3rem;

  }



  .img-link--box--item:first-child {

    font-size: 2.001rem;

  }



  .img-link--box--item:first-child span:last-child {

    width: calc(100% - 8rem);

  }



  .img-link--box--item:first-child span:first-child {

    font-size: 1.3001rem;

    width: 8rem;

    height: 3rem;

    border-radius: 3rem;

    letter-spacing: .1rem;

  }



  .img-link--box::before {

    width: calc(100% - 2.2rem);

    height: calc(100% - 2.2rem);

    border-radius: 18.4rem;

  }



  .emergency_response .img-txt--2 {

    left: 0;

    top: 9.5rem;

    width: 16.3001rem;

    height: 16.3001rem;

  }



  .emergency_response .img-txt--2 img {

    left: 0;

    width: 15.3001rem;

  }



  .img-link--box .wrap_button-01 .line-icon {

    left: inherit;

    margin-left: auto;

    margin-right: 1.5rem;

  }



  .img-link--box::after {

    width: 16.3001rem;

    height: 16.3001rem;

    left: .4rem;

    top: -7.6rem;

  }



  .emergency_response .img-txt--3 {

    left: 16rem;

    top: 11rem;

  }



  .emergency_response .img-txt--3 img {

    width: 10rem;

  }



  .emergency_response a {

    padding-top: 17rem;

  }



  .wrap_top-1 .wp_square img {

    width: 49rem;

  }



  .wp-title-link .en {

    font-size: 4.4rem;

  }



  .wp-title-link .ja {

    font-size: 1.4rem;

    padding-top: 0.8rem;

  }



  .list_about {

    flex-wrap: wrap;

    max-width: 90%;

    margin-top: 4.5rem;

  }



  .list_about li {

    width: 100%;

    margin-right: 0;

  }



  .list_about li:not(:last-child) {

    margin-bottom: 1.5rem;

  }



  .list_about a {

    height: 40rem;

    padding: 0rem 2rem 5rem;

  }



  .list_about .title::before {

    right: 0;

  }



  .list_about .desc {

    font-size: 1.4rem;

  }



  .list_about .title {

    margin-top: 3rem;

    font-size: 1.8001rem;

  }



  .list_about img {

    width: 15rem;

  }



  .wrap_top-4 {

    margin-top: 7.4rem;

    margin-bottom: 8.1rem;

  }



  .wp-title-link a {

    display: block;

  }



  .wp-title-link--item:first-child {

    padding-right: 1.5rem;

    width: calc(100% - 6rem);

  }



  .wrap_top-5 {

    margin-bottom: 10rem;

  }



  .wrap_top-5 .wrap_button-01.vs-01 .line-icon {

    left: inherit;

  }



  .wp-title-link .box {

    justify-content: space-between;

  }



  .wrap_recruit--img-link {

    width: 32rem;

    height: 32rem;

  }



  .wrap_recruit--img-link img {

    width: 32rem;

  }



  .wrap_recruit--img-link .list_menu_ser {

    bottom: 6rem;

    padding-right: 0;

    justify-content: center;

  }



  .wrap_recruit--img-link .wrap_button-02 {

    border: .1001rem solid #ffffff;

    height: 6.001rem;

    border-radius: 6.001rem;

    width: 20.001rem;

    font-size: 1.4rem;

    margin-right: auto;

    background-color: transparent;

    padding-left: 1.5rem;

  }



  .wrap_recruit--img-link .wrap_button-02::before {

    right: 1.5rem;

    width: 1.5rem;

    height: 1.0rem;

  }



  .wrap_recruit--top--item {

    width: 100%;

  }



  .wrap_recruit--top {

    position: relative;

    top: 0;

  }



  .slider-item-txt {

    height: 6rem;

    animation-duration: 30s;

    background-size: 120rem;

  }



  @keyframes slideAnimationY {

    0% {

      background-position: 120rem center;

    }



    100% {

      background-position: 0 center;

    }

  }



  .wrap_recruit--top--item:last-child {

    margin-top: 2.5rem;

    margin-bottom: 4rem;

    padding-right: 0;

  }



  .wrap_recruit--top--item:last-child p {

    line-height: 185%;

    font-size: 1.5rem;

    font-weight: 600;

    text-align: justify;

  }



  .wrap_4slider_box {

    flex-wrap: wrap;

    width: 100%;

    left: 0;

    height: auto;

  }



  .wrap_4slider_box .slider-item {

    width: calc((100% - 0.702rem) / 2);

    height: 25rem;

    margin-bottom: 1.0rem;

    background-size: 25rem;

    margin-right: 0.7rem;

  }



  .wrap_4slider_box .slider-item:nth-child(2n),

  .wrap_4slider_box .slider-item:last-child {

    margin-right: 0;

  }



  .wrap_4slider_box .slider-item.vs-03,

  .wrap_4slider_box .slider-item:last-child {

    margin-bottom: 0;

  }



  .wrap_recruit--center {

    top: calc(50% + 15.6rem);

  }



  .wrap_top-6 {
    height: 80.35rem;
    margin-bottom: 2rem;

  }

  .wrap_top-6::before{
    top: 29.3rem;
  }

  .wrap_top-6::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: #FFFFFF;
    width: 100%;
    height: 29.3rem;
  }

  .wrap_top-6 .block_logo{
    width: 17.6rem;
    left: 1rem;
    bottom: -2rem;
    height: 17.2rem;
  }

  .globalmenu-affiliated a {

    width: 25rem;

    height: 5.6rem;

  }

}



.wp_hci,

.wrap_top-1 .wp_circle::before,

.wrap_top-2,

.wp_square,

.wp_sway,

.wp_sway-img,

.wrap_top-1 .wp_circle-item img,

.wrap_top-1 .wp_circle .wp_sway-6,

.wrap_contact-tel {

  opacity: 0;

}



.wp_hci,

.wp_square,

.wrap_top-2,

.wrap_contact-tel,

.wrap_top-1 .wp_circle::before {

  animation: face_up 0.4s 0.5s linear forwards;

}



.wrap_top-1 .wp_circle-item {

  border-radius: 100%;

  overflow: hidden;

}



.wrap_top-1 .wp_circle-item img {

  z-index: 2;

  animation: face_up_left 0.5s 0.7s linear forwards;

}



.wp_sway {

  animation: face_up 0.2s 0.9s linear forwards;

}



.wp_sway-1 img {

  animation: bgFloating 3s 2.1s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate, bgAppear 3s 0s cubic-bezier(0.39, 0.575, 0.565, 1) 1;

}



.wp_sway-5 img {

  animation: bgFloating 2.5s 2.1s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate, bgAppear 2.5s 0s cubic-bezier(0.39, 0.575, 0.565, 1) 1;

}



.wp_sway-10 img {

  animation: bgFloating 1.5s 2.1s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate, bgAppear 1.5s 0s cubic-bezier(0.39, 0.575, 0.565, 1) 1;

}



.wp_sway-3 img {

  animation: bgFloating 2.5s 2.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate, bgAppear 2.5s 0s cubic-bezier(0.39, 0.575, 0.565, 1) 1;

}



.wp_sway-8 img {

  animation: bgFloating 3s 2.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate, bgAppear 3s 0s cubic-bezier(0.39, 0.575, 0.565, 1) 1;

}



.wp_sway-4 img {

  animation: bgFloating 1.5s 2.2s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate, bgAppear 1.5s 0s cubic-bezier(0.39, 0.575, 0.565, 1) 1;

}



.wp_sway-7 img {

  animation: bgFloating 1.5s 2.3s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate, bgAppear 1.5s 0s cubic-bezier(0.39, 0.575, 0.565, 1) 1;

}



.wp_sway-2 img {

  animation: bgFloating 1.5s 2.3s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate, bgAppear 1.5s 0s cubic-bezier(0.39, 0.575, 0.565, 1) 1;

}



.wp_sway-6 img {

  animation: bgFloating 3s 2.3s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate, bgAppear 3s 0s cubic-bezier(0.39, 0.575, 0.565, 1) 1;

}



.wp_sway-9 img {

  animation: bgFloating 2.5s 2.3s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate, bgAppear 2.5s 0s cubic-bezier(0.39, 0.575, 0.565, 1) 1;

}



.wp_sway-1,

.wp_sway-2,

.wp_sway-3,

.wp_sway-4,

.wp_sway-5,

.wp_sway-6,

.wp_sway-7,

.wp_sway-8,

.wp_sway-9,

.wp_sway-10 {

  animation: face_up_top 0.6s 1.1s ease-in-out forwards;

}



.wp_sway-13,

.wp_sway-12,

.wp_sway-11 {

  animation: face_up_top 0.45s 1.7s linear forwards;

}



@keyframes face_up {

  0% {

    opacity: 0;

  }



  100% {

    opacity: 1;

  }

}



@keyframes face_up_top {

  0% {

    opacity: 0;

    transform: translateY(4rem);

  }



  100% {

    opacity: 1;

    transform: translateY(0px);

  }

}



@keyframes face_up_left {

  0% {

    opacity: 0;

    transform: translateY(19rem);

  }



  100% {

    opacity: 1;

    transform: translateY(0rem);

  }

}



@keyframes bgFloating {

  0% {

    -webkit-transform: translate3d(0, 0, 0);

    transform: translate3d(0, 0, 0);

  }



  to {

    -webkit-transform: translate3d(0, 8%, 0);

    transform: translate3d(0, 8%, 0);

  }

}



@keyframes bgAppear {

  0% {

    opacity: 0;

    -webkit-transform: translate3d(0, 25%, 0);

    transform: translate3d(0, 25%, 0);

  }



  to {

    -webkit-transform: translate3d(0, 0, 0);

    transform: translate3d(0, 0, 0);

    opacity: 1;

  }

}



.wp-banner {

  height: 53rem;

  background: #2579f7 url(../img/common/banner_bg.png) top left no-repeat;

  background-size: 156.3rem;

  overflow: hidden;

}



.wp-banner-title {

  height: 100%;

  flex-flow: column;

  padding-top: 12rem;

}



.wp-banner-title span {

  color: #ffffff;

  font-size: 5.6rem;

  font-weight: 600;

  line-height: 165%;

  letter-spacing: 0;

}



.wp-banner-title span:first-child {

  font-family: "Unbounded", sans-serif;

  font-size: 1.6rem;

  position: relative;

  color: #92bcfb;

  padding-left: 2rem;

}



.wp-banner-title span:first-child::before {

  content: "";

  position: absolute;

  width: 1.4rem;

  height: 1.4rem;

  top: 50%;

  left: 0;

  transform: translateY(-50%);

  background: #92bcfb;

  border-radius: 100%;

}



.wp-banner-title-02 {

  margin-bottom: 8.6rem;

}



.wp-banner-title-02 span {

  color: #FFFFFF;

  font-size: 5rem;

  font-weight: 600;

  line-height: 215%;

  letter-spacing: 0;

  display: block;

}



.wp-banner-title-02 span:first-child {

  font-size: 2.4rem;

  position: relative;

}



.wp-banner-title-02 span:first-child::before {

  content: "";

  position: absolute;

  width: 1.4rem;

  height: 1.4rem;

  bottom: -2.1rem;

  left: 50%;

  transform: translateX(-50%);

  background: #FFFFFF;

  border-radius: 100%;

}



.wp-banner-title-02 span:last-child {

  font-family: "Unbounded", sans-serif;

}



.wp-banner-title-03 {

  color: #FFFFFF;

  font-size: 4.8rem;

  font-weight: 600;

  line-height: 215%;

  letter-spacing: 0;

  margin-bottom: 3.5rem;

}



.wp-banner-gp {

  position: relative;

  height: 100%;

}



.wp-banner-breadcum {

  position: absolute;

  bottom: 5.8rem;

  z-index: 1;

}



.wp-banner-breadcum li {

  margin-right: 2.4rem;

}



.wp-banner-breadcum li:last-child {

  margin-right: 0;

}



@media (min-width: 960.5px) {

  .wp-banner-breadcum li:last-child a::before {

    content: none;

  }

}



.wp-banner-breadcum li a {

  color: #ffffff;

  font-size: 1.6rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  display: block;

  padding-right: 4rem;

  position: relative;

}



.wp-banner-breadcum li a::before {

  content: "";

  position: absolute;

  width: 0.16rem;

  height: calc(100% - 1.1rem);

  top: 50%;

  right: 0;

  transform: translateY(-50%);

  background: #92bcfb;

}



.wp-banner-breadcum li a::after {

  content: "";

  position: absolute;

  width: 1.3rem;

  height: 0.7rem;

  right: 1.6rem;

  top: 50%;

  transform: translateY(-50%);

  background: url(../img/common/arrow-down-01.png) no-repeat center;

  background-size: contain;

}



.wp-banner-desc {

  color: #3b86f8;

  font-size: 16rem;

  font-weight: 600;

  line-height: 85%;

  letter-spacing: 0;

  position: absolute;

  bottom: -1.5rem;

  right: -7.5rem;

  font-family: "Unbounded", sans-serif;

  text-align: right;

}



.wp-banner .grid-1600 {

  height: 100%;

}



.wp-service {

  padding-top: 11rem;

  padding-bottom: 20rem;

}



.wp-service-title-01 {

  padding: 1.7rem 3rem;

  background: #2579f7;

  border-radius: .3rem;

  margin-bottom: 15rem;

  color: #ffffff;

  font-size: 2.6rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

}



.wp-service-title-02 {

  border-left: #2579f7 solid .6rem;

  padding-top: 1.5rem;

  padding-left: 3.5rem;

  padding-bottom: 3.8rem;

  margin-bottom: 2.5rem;

  color: #2b2425;

  font-size: 2.8rem;

  font-weight: 600;

  line-height: 150%;

  letter-spacing: 0.08rem;

}



.wp-service-title-03 {

  color: #2579f7;

  font-size: 3rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0.05rem;

  margin-bottom: 2.2rem;

}



.wp-service-title-04 {

  color: #555051;

  font-size: 2.4rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  background: #f4f4f4;

  padding: 1.9rem 3rem;

  border-radius: .3rem .3rem 0 0;

  border-bottom: #d5d3d3 solid 1px;

  margin-bottom: 1.4rem;

}



.wp-service-title-04.vs-02 {

  font-size: 2.6rem;

  color: #2579f7;

  line-height: 158%;

  background: #f4f8ff;

  border-bottom-color: #d3e4fd;

}



.wp-service-title-05 {

  color: #2b2425;

  font-size: 2rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  position: relative;

  padding-left: 2rem;

  border-bottom: #d5d3d3 solid 1px;

  padding-bottom: 1.4rem;

  margin-bottom: 2.5rem;

}



.wp-service-title-05::before {

  content: "";

  position: absolute;

  width: 1.4rem;

  height: 1.4rem;

  border-radius: 100%;

  background: #2579f7;

  top: 1.1rem;

  left: 0;

}



.wp-service-title-05.vs-02 {

  border-bottom: 0;

  margin-bottom: 0;

}



.wp-service-box {

  margin-bottom: -2rem;

}



.wp-service-box .item:first-child {

  width: calc(100% - 56rem);

  padding-top: 1.8rem;

  padding-right: 5rem;

}



.wp-service-box .item:last-child {

  width: 56rem;

}



.wp-service-box .item p {

  padding-left: 4rem;

  color: #555051;

  line-height: 187%;

  font-weight: 600;

}



.wp-service-gp {

  margin-bottom: 4.5rem;

}



.wp-service-gp .box:first-child {

  width: 60rem;

  padding-top: .6rem;

}



.wp-service-gp .box:last-child {

  padding-left: 4rem;

  width: calc(100% - 60rem);

}



.wp-service-gp .box img {

  border-radius: .3rem;

}



.wp-service-gp .box p {

  line-height: 185%;

  color: #555051;

  margin-bottom: 3rem;

  font-weight: 600;

}



.wp-service-gp .box p:last-child {

  margin-bottom: 0;

}



.wp-service-list-01 {

  margin-bottom: 4.2rem;

}



.wp-service-list-01 li {

  color: #555051;

  font-size: 1.8rem;

  font-weight: 600;

  line-height: 165%;

  letter-spacing: 0;

  position: relative;

}



.wp-service-list-01 li::before {

  content: "・";

  position: relative;

  top: 50%;

  transform: translateY(-50%);

  left: 0;

}



.wp-service-list-02 {

  max-width: 95rem;

  margin-bottom: 6.8rem;

}



.wp-service-list-02 li {

  width: calc((100% - 5.001rem) / 3);

  margin-right: 2.5rem;

}



.wp-service-list-02 li:nth-child(3n) {

  margin-right: 0;

}



.wp-service-list-02 li img {

  border-radius: .3rem;

  margin-bottom: .9rem;

  width: 100%;

}



.wp-service-list-02 li p {

  text-align: center;

  font-size: 1.8rem;

  color: #2b2425;

  font-weight: 600;

}



.wp-service-table-01 {

  width: 100%;

  border-spacing: 0;

  border-collapse: collapse;

  margin-bottom: 2rem;

}



.wp-service-table-01 td {

  color: #555051;

  font-size: 1.6rem;

  font-weight: 600;

  line-height: 182%;

  letter-spacing: 0;

  border: #d5d3d3 solid 1px;

  padding: 1.5rem 3rem;

  vertical-align: text-top;

  width: 38rem;

}



@media (min-width: 960.5px) {

  .wp-service-table-01 td:first-child {

    width: calc(100% - 76rem);

  }

}



.wp-service-table-01 tr:first-child td {

  background: #eae9e9;

  color: #2b2425;

  text-align: center;

  font-size: 1.8rem;

  line-height: 162%;

}



.wp-service-btn-gp {

  margin-bottom: 6rem;

}



.wp-service-btn-gp .desc {

  width: calc(100% - 50rem);

  padding-left: 7rem;

  padding-top: 5.5rem;

}



.wp-service-btn-gp .desc p {

  font-size: 1.8rem;

  font-weight: 600;

  color: #2b2425;

}



.wp-service-btn-01 {

  color: #FFFFFF;

  font-size: 1.6rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  background: #563bc7;

  border-radius: .3rem;

  text-align: center;

  padding: .9rem;

  margin-bottom: .4rem;

}



.wp-service-btn-01.vs-02 {

  background: #369fe2;

}



.wp-service-btn-02 a {

  display: block;

  border: #2579f7 solid .3rem;

  width: 50rem;

  height: 24rem;

  border-radius: .3rem;

  padding: 2.3rem 2.6rem;

  position: relative;

}



.wp-service-btn-02 a span.en,

.wp-service-btn-02 a span.jp {

  color: #2579f7;

  font-size: 7rem;

  font-weight: 600;

  line-height: 136%;

  letter-spacing: 0;

}



.wp-service-btn-02 a span.en {

  display: block;

  font-family: "Unbounded", sans-serif;

  margin-bottom: .2rem;

  position: relative;

}



.wp-service-btn-02 a span.jp {

  color: #FFFFFF;

  background: #2b2425;

  font-size: 1.5rem;

  padding: 0.45rem 2rem 0.45rem 1rem;

}



.wp-service-btn-02 a span.icon {

  width: 8rem;

  height: 8rem;

  top: 3.7rem;

  right: 3.7rem;

  border: #959192 solid .201rem;

  border-radius: 100%;

  position: absolute;

  transition: ease all 0.35s;

}



.wp-service-btn-02 a span.icon::before {

  content: "";

  width: 2rem;

  height: 1.4rem;

  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%);

  background-color: #959192;

  mask: url(../img/common/line.png) center center/100% no-repeat;

  transition: 0.35s;

}



.wp-service-btn-02 a span.icon::after {

  content: "";

  position: absolute;

  width: 100%;

  height: 100%;

  left: 50%;

  top: 50%;

  transition: ease all 0.35s;

  transform: translate(-50%, -50%) scale(0);

  background-color: #2579f7;

  border-radius: 100%;

}



.wp-service-btn-02 a .wrap_button-01 {

  text-align: left;

}



.wp-service-btn-02 a:hover .icon {

  border-color: #2579f7;

  background: #2579f7;

}



.wp-service-btn-02 a:hover .icon::before {

  background: #FFFFFF;

  z-index: 1;

}



.wp-service-btn-02 a:hover .icon::after {

  transform: translate(-50%, -50%) scale(1) !important;

}



.wp-service-item.vs-02 {

  margin-bottom: 7.5rem;

}



.wp-service-item.vs-03 {

  margin-bottom: 6rem;

}



.wp-service-item.vs-03 .wp-service-title-05 {

  margin-bottom: 1.2rem;

}



.wp-service-item.vs-02 p,

.wp-service-item.vs-03 p {

  color: #555051;

  font-weight: 600;

}



.wp-service-block {

  background: #e9f2fe;

  border-radius: .3rem;

}



.wp-service-block .item {

  border-bottom: #92bcfb solid 1px;

  padding: 4rem 6rem 3.2rem;

}



.wp-service-block .item p {

  font-size: 1.8rem;

  color: #555051;

  font-weight: 600;

}



.wp-service-block .item:first-child p {

  color: #2579f7;

  font-size: 2rem;

}



.wp-service-block .item:last-child {

  padding-top: 3rem;

  padding-bottom: 8rem;

  border-bottom: 0;

}



.wp-service-block .item:last-child p {

  display: flex;

}



.wp-service-block .item:last-child p span:first-child {

  color: #2b2425;

}



.wp-service-block .item:last-child p span:last-child {

  padding-left: 5rem;

}



.wp-service-wrap {

  margin-bottom: 17.5rem;

}



.wp-service-wrap:last-child {

  margin-bottom: 0;

}



.wp-breadcum {

  padding: 0 5rem;

}



.wp-breadcum-wrap {

  border-top: #d5d3d3 solid 1px;

  border-bottom: #d5d3d3 solid 1px;

  padding: 2.5rem 0;

}



.wp-breadcum-wrap ul {

  width: calc(100% - 3rem);

  margin-left: auto;

  margin-right: auto;

  max-width: 160rem;

}



.wp-breadcum-wrap ul li * {

  color: #959192;

  font-size: 1.6rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0;

}



.wp-breadcum-wrap ul li a {

  position: relative;

  padding-right: 3.2rem;

  margin-right: 1.5rem;

  transition: all 0.35s;

}



.wp-breadcum-wrap ul li a:hover {

  opacity: 0.8;

}



.wp-breadcum-wrap ul li a::before {

  content: "｜";

  position: absolute;

  top: 50%;

  right: 0;

  transform: translateY(-50%);

}

  .wp-banner-recruit .wrap_top-6::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.5;
    background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
  }

  .wp-banner-recruit .wrap_top-6::after{
    content: "";
    position: absolute;
    z-index: -1;
    opacity: 0.05;
    width: 72.6rem;
    left: 50%;
    bottom: 14.5rem;
    transform: translateX(-50%);
    height: 71.4rem;
    background: url(../img/recruit/recruit-img-08.png) no-repeat center;
    background-size: contain;
  }

  


@media (max-width: 1200px) and (min-width: 960.5px) {

  .wp-banner-breadcum li a {

    font-size: 10px;

  }



  .wp-breadcum-wrap ul li * {

    font-size: 12px;

  }

}



@media (max-width: 960px) {

  .wp-service {

    padding: 6rem 0;

  }



  .wp-service-box {

    margin-bottom: 0;

  }



  .wp-service-box .item:first-child {

    width: 100%;

    padding-top: 0;

    padding-right: 0;

  }



  .wp-service-box .item:last-child {

    width: 100%;

  }



  .wp-service-box .item p {

    padding-left: 0;

    font-size: 1.4rem;

    line-height: 175%;

  }



  .wp-service-title-01 {

    font-size: 2rem;

    margin-bottom: 3rem;

    padding: 1.5rem;

  }



  .wp-service-title-02 {

    padding-left: 2rem;

    padding-top: 1rem;

    padding-bottom: 1rem;

    font-size: 2rem;

  }



  .wp-service-title-03 {

    font-size: 2rem;

    margin-bottom: 1rem;

  }



  .wp-service-title-04 {

    font-size: 1.8rem;

    padding: 1.5rem;

  }



  .wp-service-title-04.vs-02 {

    font-size: 1.8rem;

  }



  .wp-service-title-05 {

    font-size: 1.8rem;

  }



  .wp-service-title-05::before {

    width: 1rem;

    height: 1rem;

  }



  .wp-service-btn-gp .desc {

    width: 100%;

    padding-left: 0;

    padding-top: 3.5rem;

  }



  .wp-service-btn-gp .desc p {

    font-size: 1.5rem;

  }



  .wp-service-btn-02 {

    width: 100%;

  }



  .wp-service-btn-02 a {

    width: 100%;

    height: 18rem;

    padding: 2.5rem;

  }



  .wp-service-btn-02 a span.en {

    font-size: 4rem;

  }



  .wp-service-btn-02 a span.jp {

    font-size: 1.4rem;

    padding: .5rem 1rem;

  }



  .wp-service-btn-02 a span.icon {

    width: 5rem;

    height: 5rem;

    right: 2.5rem;

  }



  .wp-service-gp .box:first-child {

    width: 100%;

    margin-bottom: 1.5rem;

  }



  .wp-service-gp .box:last-child {

    width: 100%;

    padding-left: 0;

  }



  .wp-service-item.vs-02,

  .wp-service-item.vs-03 {

    margin-bottom: 4.5rem;

  }



  .wp-service-list-01 li {

    font-size: 1.4rem;

  }



  .wp-service-list-02 {

    margin-bottom: 5.5rem;

  }



  .wp-service-list-02 li {

    width: 100%;

    margin-right: 0;

    margin-bottom: 2rem;

  }



  .wp-service-list-02 li:last-child {

    margin-bottom: 0;

  }



  .wp-service-list-02 li p {

    font-size: 1.4rem;

  }



  .wp-service-table-01 td {

    font-size: 1.4rem;

    padding: .5rem;

  }



  .wp-service-table-01 tr:first-child td {

    font-size: 1.5rem;

  }



  .wp-service-block .item {

    padding: 1.5rem;

  }



  .wp-service-block .item p {

    font-size: 1.4rem;

  }



  .wp-service-block .item:first-child p {

    font-size: 1.6rem;

  }



  .wp-service-block .item:last-child {

    padding: 1.5rem;

  }



  .wp-service-block .item:last-child p {

    flex-wrap: wrap;

  }



  .wp-service-block .item:last-child p span:first-child {

    width: 100%;

    margin-bottom: 1rem;

  }



  .wp-service-block .item:last-child p span:last-child {

    width: 100%;

    padding-left: 0;

  }



  .wp-service-wrap {

    margin-bottom: 5rem;

  }



  .wp-breadcum {

    padding: 0 1.5rem;

  }



  .wp-breadcum-wrap {

    padding: 1.5rem 0;

  }



  .wp-breadcum-wrap ul li * {

    font-size: 1.4rem;

  }



  .wp-banner {

    height: 40rem;

    background-position: top 11.5rem left;

    background-size: 65rem;

  }



  .wp-banner-title {

    padding-top: 3.5rem;

  }



  .wp-banner-title span {

    font-size: 3rem;

  }



  .wp-banner-title-02 {

    margin-bottom: 1rem;

  }



  .wp-banner-title-02 span {

    font-size: 3rem;

    line-height: 175%;

  }



  .wp-banner-title-02 span:first-child::before {

    bottom: -1.4rem;

  }



  .wp-banner-title-03 {

    font-size: 2.1rem;

    line-height: 175%;

    letter-spacing: 0;

    margin-bottom: 1.5rem;

  }



  .wp-banner-recruit-cont .wp-banner-title-03 {

    line-height: 135%;

    margin-bottom: 1rem;

    font-weight: 900;

    font-family: "Noto Sans JP", sans-serif;

  }



  .wp-banner-recruit-cont .desc p {

    font-weight: 800 !important;

    font-size: 1.4rem !important;

    margin-bottom: 1.5rem !important;

    font-family: "Noto Sans JP", sans-serif;

  }



  .wp-banner-recruit-cont .cont p {

    font-size: 1.2rem !important;

    max-width: 31rem !important;

  }

 


  .wp-banner-breadcum {

    bottom: 5rem;

  }



  .wp-banner-breadcum li a {

    font-size: 1.4rem;

  }



  .wp-banner-desc {

    right: 0;

    font-size: 6rem;

    bottom: -0.7rem;

  }

}



.wrap_company {

  width: 100%;

  position: relative;

  padding-top: 10rem;

}



.wrap_company-box {

  display: flex;

  align-items: flex-start;

}



.wrap_company-box:not(:last-child) {

  margin-bottom: 7.2rem;

}



.wrap_company-box--item {

  width: 42rem;

}



.wrap_company-box--item:first-child {

  padding-top: .7rem;

}



.wrap_company-box--item:last-child {

  width: calc(100% - 42rem);

}



.wrap_company-box .wrap_desc * {

  color: #555051;

  line-height: 200%;

}



.wrap_company .box {

  display: flex;

  align-items: center;

  width: 100%;

  margin-top: 5.2rem;

}



.wrap_company .box-item {

  width: 42rem;

}



.wrap_company .box-item:last-child {

  width: calc(100% - 42rem);

  padding-left: 5rem;

}



.wrap_company .box img {

  border-radius: 1rem;

}



.wrap_company .box p {

  color: #000000;

  font-size: 2.20001rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0.1rem;

}



.wrap_company .box p span {

  line-height: 170%;

  font-size: 1.501rem;

}



.wrap_company .box span {

  display: block;

}



.wrap_company-1 .wrap_desc {

  max-width: 98rem;

}



@media (min-width: 960.5px) {

  .wrap_company-2 {

    margin-bottom: 16.2rem !important;

  }

}



.wrap_company-2 p {

  margin-top: 1.7rem;

  color: #555051;

  font-size: 2.40001rem;

  font-weight: 600;

  line-height: 195%;

  letter-spacing: 0;

}



.wrap_company-3 {

  margin-bottom: 13.3rem !important;

}



.wrap_company-4 {

  margin-bottom: 19rem !important;

}



.wp-title-01 span {

  display: block;

  color: #d3e4fd;

  font-size: 4.20001rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0;

}



.wp-title-01 .en {

  margin-bottom: .5rem;

}



.wp-title-01 .ja {

  font-size: 1.8001rem;

  color: #2b2425;

}



.wrap_desc * {

  color: #2b2425;

  font-size: 1.50001rem;

  font-weight: 600;

  line-height: 195%;

  letter-spacing: 0;

  font-weight: 600;

}



.wp-table-01 {

  border-spacing: 0;

  width: 100%;

}



.wp-table-01 td {

  padding-top: 2.5rem;

  padding-bottom: 2.5rem;

  font-feature-settings: 'palt';

  border-top: 1px solid #d5d3d3;

  vertical-align: top;

  color: #555051;

  font-size: 1.51rem;

  font-weight: 600;

  line-height: 195%;

  letter-spacing: 0;

}



.wp-table-01 td:first-child {

  width: 18rem;

  color: #2b2425;

}



.wp-table-01 td span {

  position: relative;

  left: -0.6rem;

}



.wp-table-01 tr:last-child td {

  border-bottom: 1px solid #d5d3d3;

}



.wrap__access {

  width: 100%;

  padding-top: 3.3rem;

}



.wrap__access iframe {

  width: 100%;

  height: 40rem;

  vertical-align: top;

  border: 0;

}



.box_info {

  width: 100%;

  display: flex;

  margin-top: 3rem;

  margin-bottom: 5rem;

}



.box_info--item {

  width: 32rem;

}



.box_info--item:first-child {

  width: calc(100% - 32rem);

}



.box_info table {

  width: 100%;

}



.box_info table td {

  border: 0 !important;

  padding-top: 0.8rem;

}



.box_info table td:first-child {

  font-size: 2.001rem;

  width: 14rem;

  height: 20.001rem;

  border-right: 1px solid #d5d3d3 !important;

}



.box_info table td:last-child {

  padding-left: 2rem;

}



.box_info img {

  border-radius: .6rem;

}



@media (max-width: 1200px) and (min-width: 960.5px) {

  .wrap_company-box .wrap_desc * {

    font-size: 12px;

    line-height: 185%;

    text-align: justify;

  }



  .wrap_company-2 p,

  .wrap_company .box p {

    font-size: 15px;

  }



  .wp-other-list li a span.jp,

  .wrap_company .box p span {

    font-size: 10px !important;

  }



  .wrap_company-1 .wrap_desc {

    max-width: 100%;

  }



  .wp-table-01 td {

    font-size: 12px;

  }



  .wp-table-01 td img {

    width: 20px;

  }

}



@media (max-width: 960px) {

  .wrap_company {

    padding-top: 3.7rem;

  }



  .wrap_company-box {

    flex-wrap: wrap;

  }



  .wrap_company-box--item {

    width: 100% !important;

  }



  .wrap_company-box--item:last-child {

    display: flex;

    flex-direction: column-reverse;

  }



  .wrap_company-box .wrap_desc {

    margin-top: 2.6rem;

  }



  .wrap_company-box .wrap_desc * {

    line-height: 185%;

    text-align: justify;

  }



  .wrap_company-box:not(:last-child) {

    margin-bottom: 5.3rem;

  }



  .wrap_company .box {

    flex-direction: column;

    margin-top: 3.4rem;

  }



  .wrap_company .box-item {

    width: 100% !important;

    padding-left: 0 !important;

  }



  .wrap_company .box-item p {

    margin-top: 1.6rem;

    text-align: right;

  }



  .wrap_company .box-item p span {

    display: inline-block;

    margin-right: 2rem;

  }



  .wrap_company-2 p {

    font-size: 1.7rem;

    line-height: 185%;

  }



  .wrap_company-3 {

    margin-bottom: 5.7rem !important;

  }



  .wrap_company-4 {

    margin-bottom: 10rem !important;

  }



  .wp-title-01 {

    text-align: center;

  }



  .wp-title-01 span {

    font-size: 3.2rem;

  }



  .wp-title-01 .en {

    margin-bottom: 0;

  }



  .wp-title-01 .ja {

    font-size: 1.4001rem;

  }



  .wp-table-01 {

    margin-top: 3.5rem;

  }



  .wp-table-01 td {

    width: 100% !important;

    float: left;

    padding-top: 1.5rem;

    padding-bottom: 1.5rem;

    border-top: 0px solid #d5d3d3;

    line-height: 185%;

  }



  .wp-table-01 td:first-child {

    padding-left: 1.5rem;

    padding-right: 1.5rem;

    background-color: #d3e4fd;

  }



  .wp-table-01 td:last-child {

    padding-bottom: 3rem;

  }



  .wp-table-01 td span {

    left: 0;

  }



  .wp-table-01 tr:last-child td {

    border-bottom: 0 solid #d5d3d3;

  }



  .wp-table-01 tr:last-child td:last-child {

    border-bottom: 1px solid #d5d3d3;

  }



  .wrap__access {

    padding-top: 3.3rem;

  }



  .wrap__access iframe {

    height: 25rem;

  }



  .wrap__access--item {

    display: flex;

    flex-direction: column-reverse;

  }



  .wrap__access--item:not(:last-child) {

    margin-bottom: 5rem;

  }



  .box_info {

    flex-wrap: wrap;

    margin-top: 0;

    margin-bottom: 3rem;

  }



  .box_info--item {

    width: 100% !important;

  }



  .box_info table.wp-table-01 {

    margin-top: 0;

  }



  .box_info table td {

    border: 0 !important;

    padding-top: 0.8rem;

  }



  .box_info table td:first-child {

    font-size: 2.001rem;

    width: 100%;

    height: auto;

    padding: 0;

    background-color: transparent;

    border-right: 0px solid #d5d3d3 !important;

  }



  .box_info table td:last-child {

    padding-left: 0;

    padding-bottom: 1.5rem;

  }



  .box_info img {

    border-radius: 0;

    width: 100%;

  }

}



.wp-banner-recruit-cont {

  position: absolute;

  top: 48%;

  transform: translateY(-50%);

  z-index: 2;

  width: 100%;

}



.wp-banner-recruit-cont p {

  font-weight: 600;

  color: #FFFFFF;

}



.wp-banner-recruit-cont .desc p {

  font-size: 1.8rem;

  line-height: 223%;

  margin-bottom: 9rem;

}



.wp-banner-recruit-cont .cont p {

  font-size: 1.5rem;

  max-width: 56rem;

  margin-left: auto;

  margin-right: auto;

  letter-spacing: 0;

  line-height: 200%;

}



.wp-recruit {

  padding-top: 5rem;

}



.wp-recruit-list-01 {

  margin-bottom: 15rem;

}



.wp-recruit-list-01 li {

  background: #ffd10c;

  border: #ffd10c solid 1px;

  width: 58rem;

  height: 58rem;

  border-radius: 100%;

  margin-right: -6rem;

  position: relative;

  z-index: 0;

  padding: 4.5rem 10rem 0;

  display: flex;

  flex-flow: column;

  align-items: center;

  justify-content: center;

}



.wp-recruit-list-01 li::before {

  content: "";

  position: absolute;

  width: 31rem;

  height: 31rem;

  top: 5rem;

  right: -9.2rem;

  z-index: -1;

  background: url(../img/recruit/recruit-bg-01.png) no-repeat center;

  background-size: contain;

}



.wp-recruit-list-01 li:nth-child(1) {

  z-index: 1;

}



.wp-recruit-list-01 li:nth-child(2n) {

  background: transparent;

  margin-right: 0;

}



.wp-recruit-list-01 li:nth-child(2n)::before {

  background-image: url(../img/recruit/recruit-bg-02.png);

  top: auto;

  bottom: -5rem;

  right: -10rem;

}



.wp-recruit-list-01 li p {

  color: #555051;

  font-weight: 600;

  line-height: 185%;

}



.wp-recruit-list-02 {

  margin-bottom: 10rem;

}



.wp-recruit-list-02 li {

  color: #2b2425;

  font-size: 2rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  position: relative;

  padding-left: 6.3rem;

  margin-bottom: 4.5rem;

}



.wp-recruit-list-02 li:last-child {

  margin-bottom: 0;

}



.wp-recruit-list-02 li::before {

  content: "";

  position: absolute;

  width: 1rem;

  height: 1rem;

  top: 50%;

  left: 3rem;

  transform: translateY(-50%);

  background: #2579f7;

  border-radius: 100%;

}



.wp-recruit-list-02 li span {

  font-size: 1.6rem;

}



.wp-recruit-list-02.vs-02 li {

  background: #e9f2fe;

  padding: 1.45rem 1.5rem 1.45rem 6.3rem;

  border-radius: .3rem;

  margin-bottom: 1.5rem;

}



.wp-recruit-list-02.vs-02 li:last-child {

  margin-bottom: 0;

}



.wp-recruit-list-03 {

  margin-bottom: 12rem;

}



.wp-recruit-list-03 li {

  width: calc((100% - 4.001rem) / 2);

  margin-right: 4rem;

  margin-bottom: 2rem;

  border: #d3e4fd solid 1px;

  border-radius: 2rem;

  overflow: hidden;

  position: relative;

  padding: 4.3rem 7.5rem 6rem;

}



.wp-recruit-list-03 li:nth-child(2n) {

  margin-right: 0;

}



.wp-recruit-list-03 li .number {

  position: absolute;

  top: 0;

  left: 0;

}



.wp-recruit-list-03 li .number img {

  width: 11rem;

}



.wp-recruit-list-03 li .img img {

  border-radius: 1rem;

}



.wp-recruit-list-03 li p {

  font-weight: 600;

  color: #555051;

  letter-spacing: 0;

  margin-top: 2.2rem;

  line-height: 185%;

}



.wp-recruit-list-04 {

  margin-bottom: 18.5rem;

}



.wp-recruit-list-04 li {

  width: calc((100% - 6.001rem) / 3);

  margin-right: 3rem;

}



.wp-recruit-list-04 li:nth-child(3n) {

  margin-right: 0;

}



.wp-recruit-list-04 li img {

  width: 100%;

  border-radius: 1rem;

}



.wp-recruit-list-04 li p {

  color: #555051;

  font-size: 1.6rem;

  font-weight: 600;

  letter-spacing: .17rem;

  line-height: 190%;

  margin-top: 2.2rem;

  padding: 0 3rem;

}



.wp-recruit-list-05 {

  counter-reset: section;

  margin-bottom: 6rem;

}



.wp-recruit-list-05 li {

  width: calc((100% - 6.001rem) / 4);

  margin-right: 2rem;

}



.wp-recruit-list-05 li:nth-child(4n) {

  margin-right: 0;

}



.wp-recruit-list-05 li .title {

  padding: 1.5rem 1.5rem 1.5rem 10rem;

  position: relative;

  background: rgba(233, 242, 254, 0.8);

  border-radius: .3rem;

  overflow: hidden;

  margin-bottom: 2rem;

  color: #555051;

  font-size: 2.8rem;

  font-weight: 600;

  line-height: 180%;

  letter-spacing: 0;

}



.wp-recruit-list-05 li .title::before {

  counter-increment: section;

  content: "0" counter(section);

  position: absolute;

  left: 0;

  top: 0;

  width: 8rem;

  height: 100%;

  background: #d3e4fd;

  font-size: 2.6rem;

  color: #2579f7;

  display: flex;

  align-items: center;

  justify-content: center;

}



.wp-recruit-list-05 li p {

  font-weight: 600;

  letter-spacing: .15rem;

  line-height: 185%;

  color: #555051;

  background: rgba(233, 242, 254, 0.8);

  min-height: 23rem;

  border-radius: .3rem;

  padding: 3.3rem 2.5rem;

}



.wp-recruit-title-01 {

  color: #2b2425;

  font-size: 3.8rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  margin-bottom: 2rem;

}



.wp-recruit-title-02 {

  color: #2b2425;

  font-size: 2.6rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  padding-left: 5rem;

  margin-bottom: 2rem;

}



.wp-recruit-title-03 {

  color: #2b2425;

  font-size: 2.2rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  margin-bottom: 1.6rem;

}



.wp-recruit-layout.vs-02 {

  background: #f4f4f4;

  padding: 15rem 0 11rem;

}



.wp-recruit-layout.vs-03 {

  padding: 10rem 0 7rem;

}



.wp-recruit-layout.vs-frow {

  position: relative;

  z-index: 0;

  margin-bottom: 16.2rem;

}



.wp-recruit-layout.vs-frow::before {

  content: "";

  position: absolute;

  width: 156.3rem;

  height: 41.7rem;

  top: 0;

  left: 0;

  z-index: -1;

  background: url(../img/recruit/recruit-bg-03.png) no-repeat center;

  background-size: contain;

}



.wp-recruit-layout.vs-frow::after {

  content: "";

  position: absolute;

  width: 14.6rem;

  height: 14.6rem;

  top: 0;

  right: 24.2rem;

  background: linear-gradient(180deg, rgba(37, 121, 247, 0.2) 0%, rgba(37, 121, 247, 0) 85%);

  border-radius: 100%;

}



.wp-recruit-layout.vs-frow .wp-emergency-main {

  padding-top: 19rem;

}



.wp-recruit-layout.vs-frow .txt-detail p {

  font-weight: 600;

  color: #555051;

  line-height: 190%;

  margin-bottom: 8rem;

}



.wp-recruit-layout.vs-frow .txt-detail p:last-child {

  margin-bottom: 0;

}



.wp-recruit-layout .wp-table-01 td:last-child {

  font-size: 1.6rem;

}



@media (min-width: 960.5px) {

  .wp-recruit-layout .wp-table-01 td {

    line-height: 125%;

    padding: 2.95rem 0;

  }

}



.wp-faq-list li {

  margin-bottom: 4rem;

}



.wp-faq-list li:last-child {

  margin-bottom: 0;

}



.wp-faq-list li:first-child .wp-faq-desc {

  display: block;

}



.wp-faq-title {

  color: #ffffff;

  font-size: 2.4rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  background: #2579f7;

  padding: 1.9rem 8rem 1.9rem 12rem;

  position: relative;

  border-radius: .3rem;

  margin-bottom: 2rem;

  cursor: pointer;

}



.wp-faq-title::before {

  content: "";

  position: absolute;

  width: 8rem;

  height: 100%;

  content: "Q";

  font-family: "Unbounded", sans-serif;

  text-align: center;

  top: 0;

  left: 0;

  border-right: #FFFFFF solid 1px;

  display: flex;

  align-items: center;

  justify-content: center;

}



.wp-faq-title::after {

  content: "＋";

  position: absolute;

  top: 50%;

  right: 3.3rem;

  transform: translateY(-50%);

}



.wp-faq-title.active::after {

  content: "－";

}



.wp-faq-desc {

  background: #FFFFFF;

  margin-left: 8rem;

  margin-bottom: 6rem;

  border-radius: .3rem;

  position: relative;

  display: none;

  padding: 8rem 4rem 8rem 24rem;

}



.wp-faq-desc::before {

  content: "";

  position: absolute;

  width: 16rem;

  height: 16rem;

  top: 50%;

  transform: translateY(-50%);

  left: 4rem;

  background: url(../img/recruit/faq_a.png) no-repeat center;

  background-size: contain;

}



.wp-faq-desc p {

  color: #555051;

  font-size: 1.8rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  margin-bottom: 5.3rem;

}



.wp-faq-desc p:last-child {

  margin-bottom: 0;

}



.wp-frow-box {

  border: #2579f7 solid 1px;

  max-width: 60rem;

  border-radius: .35rem;

  padding: 2.7rem 0 2.2rem;

  margin-bottom: 3.8rem;

}



.wp-frow-box .title {

  color: #2b2425;

  font-size: 2rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  margin-bottom: 1.3rem;

}



.wp-frow-box a {

  display: inline-block;

}



.wp-frow-box a.tel span {

  font-size: 3.2rem;

  color: #2579f7;

  font-weight: 600;

}



.wp-frow-box a.tel span:last-child {

  font-size: 1.6rem;

}



.wp-frow-box a.mail {

  color: #555051;

  font-weight: 600;

  text-decoration: underline;

  transition: all 0.35s;

  margin-top: .3rem;

}



.wp-frow-box a.mail:hover {

  text-decoration: none;

}



.wp-more {

  background: #f4f4f4;

  padding: 10rem 0;

}



.wp-more-gp-box {

  width: calc((100% - 2.201rem) / 2);

  margin-right: 2.2rem;

}



.wp-more-gp-box:nth-child(2n) {

  margin-right: 0;

}



.wp-more-gp-box a {

  background: #ffffff;

  display: block;

  border-radius: .3rem;

  border: #d5d3d3 solid 1px;

  padding: 4rem 4rem 10.2rem;

  position: relative;

}



.wp-more-gp-box a span {

  color: #2b2425;

  font-size: 3.2rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  display: block;

}



.wp-more-gp-box a span:first-child {

  font-size: 1.6rem;

  color: #d5d3d3;

  font-family: "Unbounded", sans-serif;

  margin-bottom: 5.4rem;

}



.wp-more-gp-box a span.icon {

  background: #2b2425;

  position: absolute;

  width: 14rem;

  height: 12rem;

  top: 50%;

  right: 0;

  transform: translateY(-50%);

  transition: all 0.35s;

}



.wp-more-gp-box a span.icon span {

  border: #FFFFFF solid .2rem;

  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%);

  transition: all 0.35s;

  width: 8rem;

  height: 8rem;

  border-radius: 100%;

  background: #2b2425;

  margin-bottom: 0;

}



.wp-more-gp-box a span.icon span::before {

  background: #2579f7;

  content: "";

  position: absolute;

  width: 100%;

  height: 100%;

  border-radius: 100%;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%) scale(0);

  transition: all 0.35s;

}



.wp-more-gp-box a span.icon span::after {

  content: "";

  width: 2rem;

  height: 1.4rem;

  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%);

  -webkit-mask: url(../img/common/line.png) center/100% no-repeat;

  mask: url(../img/common/line.png) center/100% no-repeat;

  background-color: #FFFFFF;

  transition: ease all 0.35s;

}



.wp-more-gp-box a:hover .icon {

  background: #2579f7;

}



.wp-more-gp-box a:hover .icon span {

  background: #2579f7;

}



.wp-more-gp-box a:hover .icon span::before {

  transform: translate(-50%, -50%) scale(1);

}



@media (max-width: 960px) {

  .wp-banner-recruit {

    margin-top: 8.6rem;

  }



  .wp-banner-recruit-cont .desc p {

    font-size: 1.4rem;

    letter-spacing: 0;

    line-height: 175%;

    margin-bottom: 2rem;

  }



  .wp-recruit-layout.vs-02 {

    padding: 4.5rem 0 4rem;

  }



  .wp-recruit-layout.vs-03 {

    padding: 4.5rem 0;

  }



  .wp-recruit-layout.vs-03 .wp-table-01 {

    margin-top: 0;

  }



  .wp-recruit-layout.vs-frow {

    margin-bottom: 5.2rem;

  }



  .wp-recruit-layout.vs-frow::before {

    width: 100%;

    height: 16rem;

  }



  .wp-recruit-layout.vs-frow::after {

    width: 8rem;

    height: 8rem;

    right: 1.5rem;

  }



  .wp-recruit-layout.vs-frow .wp-emergency-main {

    padding-top: 7rem;

  }



  .wp-recruit-layout.vs-frow .txt-detail p {

    margin-bottom: 5.3rem;

  }



  .wp-recruit-list-01 {

    margin-bottom: 10rem;

  }



  .wp-recruit-list-01 li {

    width: 34.5rem;

    height: 34.5rem;

    margin-right: 0;

    padding: 0 6rem;

    margin-bottom: 1.5rem;

  }



  .wp-recruit-list-01 li:last-child {

    margin-bottom: 0;

  }



  .wp-recruit-list-01 li::before {

    width: 15rem;

    height: 15rem;

  }



  .wp-recruit-list-02 {

    margin-bottom: 5.5rem;

  }



  .wp-recruit-list-02 li {

    font-size: 1.5rem;

    padding-left: 4rem;

    margin-bottom: 1.5rem;

  }



  .wp-recruit-list-02 li::before {

    left: 1.5rem;

  }



  .wp-recruit-list-02.vs-02 li {

    padding-left: 3.6rem;

  }



  .wp-recruit-list-03 {

    margin-bottom: 6rem;

  }



  .wp-recruit-list-03 li {

    width: 100%;

    margin-right: 0;

    padding: 1.5rem;

  }



  .wp-recruit-list-03 li:last-child {

    margin-bottom: 0;

  }



  .wp-recruit-list-03 li .number img {

    width: 8rem;

  }



  .wp-recruit-list-04 {

    margin-bottom: 5.5rem;

  }



  .wp-recruit-list-04 li {

    width: 100%;

    margin-right: 0;

    margin-bottom: 2rem;

  }



  .wp-recruit-list-04 li:last-child {

    margin-bottom: 0;

  }



  .wp-recruit-list-04 li p {

    padding: 0;

    font-size: 1.4rem;

  }



  .wp-recruit-list-05 li {

    width: 100%;

    margin-right: 0;

    margin-bottom: 1.5rem;

  }



  .wp-recruit-list-05 li:last-child {

    margin-bottom: 0;

  }



  .wp-recruit-list-05 li .title {

    font-size: 1.8rem;

    padding: .9rem 1.5rem 0.9rem 6rem;

  }



  .wp-recruit-list-05 li .title::before {

    font-size: 1.8rem;

    width: 5rem;

  }



  .wp-recruit-list-05 li p {

    min-height: auto;

    padding: 1.5rem;

  }



  .wp-recruit-title-01 {

    font-size: 2.5rem;

  }



  .wp-recruit-title-02 {

    font-size: 1.8rem;

    padding-left: 8rem;

  }



  .wp-faq-list li {

    margin-bottom: 2rem;

  }



  .wp-faq-title {

    font-size: 1.8rem;

    padding: .9rem 4rem 0.9rem 6.5rem;

  }



  .wp-faq-title::before {

    width: 5rem;

  }



  .wp-faq-title::after {

    right: 1rem;

  }



  .wp-faq-desc {

    margin-left: 0;

    padding: 2rem 1.5rem 2rem 9rem;

    margin-bottom: 4rem;

  }



  .wp-faq-desc::before {

    width: 6rem;

    height: 6rem;

    transform: inherit;

    top: 1.5rem;

    left: 1.5rem;

  }



  .wp-faq-desc p {

    font-size: 1.4rem;

    margin-bottom: 2rem;

  }



  .wp-frow-box .title {

    font-size: 1.6rem;

  }



  .wp-frow-box a.tel span {

    font-size: 2.4rem;

  }



  .wp-frow-box a.tel span:last-child {

    font-size: 1.4rem;

    display: block;

  }



  .wp-frow-box a.mail {

    font-size: 1.4rem;

  }



  .wp-banner-recruit-cont .cont p {

    line-height: 185%;

  }



  .wp-more {

    padding: 6rem 0;

  }



  .wp-more-gp-box {

    width: 100%;

    margin-right: 0;

    margin-bottom: 1.5rem;

  }



  .wp-more-gp-box:last-child {

    margin-bottom: 0;

  }



  .wp-more-gp-box a {

    padding: 1.5rem 1.5rem 5rem;

  }



  .wp-more-gp-box a span {

    font-size: 2.4rem;

  }



  .wp-more-gp-box a span:first-child {

    margin-bottom: 2.4rem;

    font-size: 1.4rem;

  }



  .wp-more-gp-box a span.icon {

    width: 8rem;

    height: 8rem;

  }



  .wp-more-gp-box a span.icon span {

    width: 5rem;

    height: 5rem;

  }

  .wp-banner-recruit .wrap_top-6{
    height: 51rem;
  }
  .wp-banner-recruit .wrap_top-6::after{
    width: 30rem;
    height: 29rem;
    bottom: 11.5rem;
  }
}



.wp-works {

  padding: 11rem 0;

}



.wp-works-main {

  width: 118rem;

}



.wp-works-right {

  width: 28rem;

}



.wp-works-title-01 {

  background: #d3e4fd;

  position: relative;

  padding: 2.5rem 3rem 2rem;

  border-radius: .3rem .3rem 0 0;

}



.wp-works-title-01 span {

  color: #2579f7;

  font-size: 2rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

}



.wp-works-title-01 span.en {

  position: absolute;

  top: .7rem;

  right: 1.4rem;

  font-size: 1.2rem;

  color: #e9f2fe;

  font-family: "Unbounded", sans-serif;

}



.wp-works-title-02 {

  color: #555051;

  font-size: 2.5rem;

  font-weight: 600;

  line-height: 172%;

  letter-spacing: 0;

  background: #f4f4f4;

  border-bottom: #d5d3d3 solid 1px;

  padding: .8rem 2.5rem;

  border-radius: .3rem .3rem 0 0;

  margin-bottom: 2rem;

  word-break: break-all;

}



.wp-works-list-01 {

  background: #e9f2fe;

  padding-bottom: 0rem;

  border-radius: 0 0 .3rem .3rem;

}



.wp-works-list-01 li a {

  padding: 1.6rem 3rem;

  display: block;

  border-bottom: #d3e4fd solid 1px;

  color: #555051;

  font-size: 1.6rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0;

  position: relative;

  transition: all 0.35s;

}



.wp-works-list-01 li:last-child a {

  border-bottom: #d3e4fd solid 0px;

}



.wp-works-list-01 li a::before {

  content: "";

  position: absolute;

  width: 2.2rem;

  height: 1.6rem;

  top: 50%;

  right: 2.5rem;

  transition: all 0.35s;

  transform: translateY(-50%);

  -webkit-mask: url(../img/common/line.png) center/100% no-repeat;

  mask: url(../img/common/line.png) center/100% no-repeat;

  background-color: #959192;

}



.wp-works-list-01 li a.active,

.wp-works-list-01 li a:hover {

  background: #f4f8ff;

  color: #2579f7;

}



.wp-works-list-01 li a.active::before,

.wp-works-list-01 li a:hover::before {

  background: #2579f7;

  right: 1.2rem;

}



.wp-works-gp .box:first-child {

  width: 34rem;

}



.wp-works-gp .box:last-child {

  width: calc(100% - 34rem);

  padding-left: 12rem;

}



.wp-works-box {

  margin-bottom: 5.2rem;

}



.wp-works-box:last-child {

  margin-bottom: 0;

}



.wp-works-table-01 {

  width: 100%;

  border-spacing: 0;

  border-collapse: collapse;

}



.wp-works-table-01 td {

  border-bottom: #d5d3d3 solid 1px;

  color: #555051;

  font-size: 1.6rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0;

  padding: .6rem 0;

  word-break: break-all;

}



.wp-works-table-01 td:first-child {

  color: #2b2425;

  width: 11rem;

}



.wp-works-slide li img {

  border-radius: 1rem;

  width: 100%;

}



.wp-works-slide .slick-dots {

  display: flex;

  justify-content: center;

  margin-top: 2rem;

}



.wp-works-slide .slick-dots li {

  margin-right: 1.2rem;

  line-height: 0;

}



.wp-works-slide .slick-dots li:last-child {

  margin-right: 0;

}



.wp-works-slide .slick-dots li button {

  font-size: 0;

  border: 0;

  cursor: pointer;

  width: .8rem;

  height: .8rem;

  border-radius: 100%;

  background: #d5d3d3;

  line-height: 0;

}



.wp-works-slide .slick-dots li.slick-active button {

  background: #555051;

}



.wp-other-content {

  background: #f9f8f8;

  padding: 7.3rem 0 11rem;

}



.wp-other-title {

  color: #2579f7;

  font-size: 3.6rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0;

  text-align: center;

  font-family: "Unbounded", sans-serif;

  margin-bottom: 5.5rem;

}



.wp-other-list li {

  width: calc((100% - 1.001rem) / 3);

  margin-right: .5rem;

}



.wp-other-list li:nth-child(3n) {

  margin-right: 0;

}



.wp-other-list li a {

  background: #ffffff;

  display: flex;

  align-items: center;

  flex-flow: column;

  justify-content: center;

  width: 100%;

  height: 30rem;

  transition: all 0.35s;

}



.wp-other-list li a span {

  color: #959192;

  font-size: 5rem;

  font-weight: 600;

  line-height: 185%;

  letter-spacing: 0;

  transition: all 0.35s;

}



.wp-other-list li a span.en {

  font-family: "Unbounded", sans-serif;

}



.wp-other-list li a span.jp {

  color: #2b2425;

  font-size: 1.6rem;

}



.wp-other-list li a:hover {

  background: #2579f7;

}



.wp-other-list li a:hover span {

  color: #FFFFFF;

}



.wp-other-list li a:hover span.jp {

  color: #FFFFFF;

}



@media (max-width: 960px) {

  .wp-works {

    padding: 6rem 0;

  }



  .wp-works-title-01 {

    font-size: 1.8rem;

    padding: 1.5rem;

  }



  .wp-works-title-02 {

    font-size: 2rem;

    padding: 1.5rem;

  }



  .wp-works-main {

    width: 100%;

    order: 2;

  }



  .wp-works-right {

    width: 100%;

    margin-bottom: 6rem;

    order: 1;

  }



  .wp-works-gp .box:first-child {

    width: 100%;

    margin-bottom: 1.5rem;

  }



  .wp-works-gp .box:last-child {

    width: 100%;

    padding-left: 0;

  }



  .wp-works-table-01 td {

    font-size: 1.4rem;

  }



  .wp-works-list-01 li a {

    font-size: 1.4rem;

    padding: 1rem 1.5rem;

  }



  .wp-works-list-01 li a::before {

    width: 1.7rem;

    height: 1rem;

  }



  .wp-other-content {

    padding: 5rem 0 6rem;

  }



  .wp-other-title {

    font-size: 2.4rem;

    margin-bottom: 3rem;

  }



  .wp-other-list li {

    width: 100%;

    margin-right: 0;

    margin-bottom: 1.5rem;

  }



  .wp-other-list li:last-child {

    margin-bottom: 0;

  }



  .wp-other-list li a {

    height: 24rem;

  }



  .wp-other-list li a span {

    font-size: 3rem;

  }



  .wp-other-list li a span.jp {

    font-size: 1.4rem;

  }

}



.wp-emergency {

  padding-top: 6rem;

}



.wp-emergency-list-01 {

  margin-bottom: 2rem;

}



.wp-emergency-list-01 li {

  margin-right: 2rem;

}



.wp-emergency-list-01 li:nth-child(1) {

  margin-right: .3rem;

}



.wp-emergency-list-01 li:last-child {

  margin-right: 0;

}



.wp-emergency-list-01 li img {

  width: 21.1rem;

}



.wp-emergency-list-01 li:nth-child(2) img {

  width: 21.9rem;

}



.wp-emergency-list-01 li:nth-child(3) img {

  width: 21.3rem;

}



.wp-emergency-list-02 {

  margin-bottom: 4rem;

}



.wp-emergency-list-02 li {

  width: calc((100% - 2rem) / 2);

  margin-right: 2rem;

  margin-bottom: 2rem;

}



.wp-emergency-list-02 li:nth-child(2n) {

  margin-right: 0;

}



.wp-emergency-list-02 li .item:first-child {

  width: 20rem;

}



.wp-emergency-list-02 li .item:last-child {

  width: calc(100% - 20rem);

  padding-left: 1.5rem;

}



.wp-emergency-list-02 li .item p {

  font-size: 1.8rem;

  font-weight: 600;

  color: #555051;

}



.wp-emergency-list-02 li .item img {

  border-radius: .3rem;

  width: 100%;

}



.wp-emergency-list-03 {

  max-width: 88rem;

}



.wp-emergency-list-03 li {

  background: #a8d38a;

  border-radius: 2rem;

  position: relative;

  min-height: 16rem;

  padding: 3.7rem 4rem 1.5rem 12.5rem;

  margin-bottom: 3rem;

  z-index: 0;

}



.wp-emergency-list-03 li::before {

  content: "";

  position: absolute;

  width: calc(100% - 1.4rem);

  height: calc(100% - 1.4rem);

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%);

  background: #dcedd0;

  z-index: -1;

  border-radius: 1.3rem;

}



.wp-emergency-list-03 li:last-child {

  margin-bottom: 0;

}



.wp-emergency-list-03 li .number {

  position: absolute;

  top: 0;

  left: 0;

}



.wp-emergency-list-03 li .number img {

  height: 11rem;

}



.wp-emergency-list-03 li .wp-emergency-title-01 {

  color: #52a715;

  text-decoration: underline;

}



.wp-emergency-list-03 li .item:first-child {

  width: 29rem;

}



.wp-emergency-list-03 li .item:last-child {

  width: calc(100% - 29rem);

}



.wp-emergency-list-03 li .item p {

  font-size: 1.8rem;

  font-weight: 600;

  color: #555051;

}



.wp-emergency-list-04 {

  max-width: 80rem;

  margin-bottom: 2rem;

}



.wp-emergency-list-04 li {

  border: #2579f7 solid 1px;

  border-radius: .36rem;

  margin-right: 4rem;

  width: calc((100% - 8.001rem) / 3);

  position: relative;

  text-align: center;

  padding: 1rem 0 .7rem;

  display: flex;

  flex-flow: column;

  align-items: center;

  justify-content: center;

}



.wp-emergency-list-04 li:first-child {

  padding-top: 2.7rem;

}



.wp-emergency-list-04 li:last-child::before {

  content: none;

}



.wp-emergency-list-04 li::before {

  content: "";

  position: absolute;

  width: 1.7rem;

  height: 1.6rem;

  top: 50%;

  right: -3rem;

  transform: translateY(-50%);

  background: url(../img/common/icon_add.png) no-repeat center;

  background-size: contain;

}



.wp-emergency-list-04 li:nth-child(3n) {

  margin-right: 0;

}



.wp-emergency-list-04 li .title span {

  color: #2b2425;

  font-size: 3.2rem;

  font-weight: 600;

  line-height: 120%;

  letter-spacing: 0;

}



.wp-emergency-list-04 li .title.vs-02 span {

  color: #2579f7;

}



.wp-emergency-list-04 li .title.vs-02 span:last-child {

  font-size: 1.8rem;

}



.wp-emergency-list-04 li p {

  font-size: 1.5rem;

  color: #555051;

  font-weight: 600;

  line-height: 125%;

  margin-top: .8rem;

}



.wp-emergency-title-01 {

  color: #2579f7;

  font-size: 2.6rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

}



.wp-emergency-title-02 span {

  color: #d3e4fd;

  font-size: 4.2rem;

  font-weight: 600;

  line-height: 185%;

  letter-spacing: 0;

  display: block;

}



.wp-emergency-title-02 span.en {

  font-family: "Unbounded", sans-serif;

}



.wp-emergency-title-02 span.en span {

  font-size: 2.3rem;

  line-height: 100%;

  margin-bottom: -1.4rem;

}



.wp-emergency-title-02 span.jp {

  font-size: 1.8rem;

  color: #2b2425;

}



.wp-emergency-title-03 {

  color: #2579f7;

  font-size: 2.5rem;

  font-weight: 600;

  line-height: 176%;

  letter-spacing: 0;

  background: #e9f2fe;

  border-radius: .3rem;

  margin-bottom: 2rem;

  padding: .8rem;

  text-align: center;

}



.wp-emergency-title-04 {

  display: flex;

  border-radius: .42rem;

  overflow: hidden;

}



.wp-emergency-title-04>span {

  color: #2579f7;

  font-size: 2.6rem;

  font-weight: 600;

  line-height: 176%;

  letter-spacing: 0;

  background: #2579f7;

  height: 8rem;

}



.wp-emergency-title-04>span.number {

  background: #d3e4fd;

  width: 8rem;

  display: flex;

  align-items: center;

  justify-content: center;

}



.wp-emergency-title-04>span.txt {

  width: calc(100% - 8rem);

  color: #FFFFFF;

  display: flex;

  align-items: center;

  padding: 0 2.5rem;

}



.wp-emergency-title-04>span.txt .vs-02 {

  color: #ffdf55;

  font-size: 2rem;

  margin-right: 1rem;

}



.wp-emergency-tel {

  margin-bottom: 6rem;

}



.wp-emergency-tel a span {

  color: #2b2425;

  font-size: 5.8rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  font-family: "Unbounded", sans-serif;

}



.wp-emergency-tel a span:first-child {

  font-size: 3.2rem;

  color: #555051;

  display: inline-block;

  margin-right: 2.4rem;

  position: relative;

  padding-left: 5rem;

}



.wp-emergency-tel a span:first-child::before {

  content: "";

  position: absolute;

  width: 4rem;

  height: 4rem;

  border-radius: 100%;

  background: url(../img/common/icon-tel.png) no-repeat center;

  background-size: contain;

  top: 50%;

  left: 0;

  transform: translateY(-50%);

}



.wp-emergency-tel-box {

  max-width: 68rem;

  margin-left: auto;

  margin-right: auto;

  text-align: center;

  border-radius: .3rem;

  overflow: hidden;

  margin-bottom: 16rem;

}



.wp-emergency-tel-box .item {

  background: #e9f2fe;

}



.wp-emergency-tel-box .item p {

  font-weight: 600;

  color: #2579f7 !important;

}



.wp-emergency-tel-box .item a span {

  color: #2b2425;

  font-size: 3.6rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

}



.wp-emergency-tel-box .item a span:first-child {

  font-size: 1.5rem;

  color: #FFFFFF;

  background: #2b2425;

  padding: .4rem .8rem;

  margin-right: 2.2rem;

  border-radius: .3rem;

}



.wp-emergency-tel-box .item a span:last-child {

  font-family: "Unbounded", sans-serif;

}



.wp-emergency-tel-box .item:first-child {

  background: #d3e4fd;

  padding: 1.8rem;

}



.wp-emergency-tel-box .item:last-child {

  padding: 2.6rem;

}



.wp-emergency-left {

  width: 42rem;

}



.wp-emergency-main {

  width: calc(100% - 42rem);

}



.wp-emergency-main .wp-service-title-04 {

  margin-bottom: 3rem;

}



.wp-emergency-layout {

  padding-bottom: 16rem;

}



.wp-emergency-wrap {

  margin-bottom: 9rem;

}



.wp-emergency-wrap:last-child {

  margin-bottom: 0;

}



.wp-emergency-table {

  width: 100%;

  border-spacing: 0;

  border-collapse: collapse;

  margin-bottom: 2rem;

}



.wp-emergency-table td {

  color: #555051;

  font-size: 1.5rem;

  font-weight: 600;

  line-height: 180%;

  letter-spacing: 0;

  border: #d5d3d3 solid 1px;

  padding: 1.6rem 2.5rem;

}



.wp-emergency-table td:first-child {

  width: 60rem;

}



.wp-emergency-table tr:first-child td {

  text-align: center;

  font-size: 1.8rem;

  line-height: 151%;

  background: #eae9e9;

}



.wp-emergency .desc p {

  font-size: 1.5rem;

  font-weight: 600;

  line-height: 200%;

  color: #555051;

}



.wp-emergency-block .field:first-child {

  width: calc(100% - 20rem);

  padding-top: 3.5rem;

}



.wp-emergency-block .field:last-child {

  width: 20rem;

}



.wp-emergency-block .field p {

  font-size: 1.5rem;

  color: #555051;

  font-weight: 600;

  letter-spacing: 0;

}



.wp-emergency-block .field .wp-emergency-tel {

  margin-top: 2.7rem;

  margin-bottom: 3.8rem;

}



.wp-emergency-block .field .wp-emergency-tel-box {

  margin-left: 0;

  margin-bottom: 7.2rem;

}



@media (max-width: 960px) {

  .wp-emergency-list-01 li {

    margin-bottom: 3rem;

  }



  .wp-emergency-list-01 li:last-child {

    margin-bottom: 0;

  }



  .wp-emergency-list-01 li:nth-child(1) {

    margin-right: 0;

  }



  .wp-emergency-list-02 li {

    width: 100%;

    margin-right: 0;

    margin-bottom: 3.5rem;

  }



  .wp-emergency-list-02 li:last-child {

    margin-bottom: 0;

  }



  .wp-emergency-list-02 li .item:first-child {

    width: 100%;

    margin-bottom: 1.2rem;

  }



  .wp-emergency-list-02 li .item:last-child {

    width: 100%;

    padding-left: 0;

  }



  .wp-emergency-list-02 li .item p {

    font-size: 1.4rem;

  }



  .wp-emergency-list-03 li {

    padding: 2rem;

  }



  .wp-emergency-list-03 li .item:first-child {

    width: 100%;

    padding-left: 6.5rem;

    padding-top: 1rem;

    margin-bottom: 2rem;

  }



  .wp-emergency-list-03 li .item:last-child {

    width: 100%;

  }



  .wp-emergency-list-03 li .item p {

    font-size: 1.4rem;

  }



  .wp-emergency-list-03 li .number img {

    height: 8rem;

  }



  .wp-emergency-list-04 li {

    width: 100%;

    margin-right: 0;

    margin-bottom: 4rem;

    padding: 2rem;

  }



  .wp-emergency-list-04 li::before {

    right: 50%;

    bottom: -2.9rem;

    top: auto;

    transform: translateX(50%);

  }



  .wp-emergency-list-04 li:first-child {

    padding-top: 2rem;

  }



  .wp-emergency-list-04 li:last-child {

    margin-bottom: 0;

  }



  .wp-emergency-list-04 li .title span {

    font-size: 2.4rem;

  }



  .wp-emergency-list-04 li .title.vs-02 span:last-child {

    font-size: 1.5rem;

  }



  .wp-emergency-list-04 li p {

    font-size: 1.4rem;

    line-height: 175%;

  }



  .wp-emergency-title-01 {

    font-size: 1.6rem;

  }



  .wp-emergency-title-02 span {

    font-size: 3rem;

  }



  .wp-emergency-title-02 span:last-child {

    font-size: 1.5rem;

  }



  .wp-emergency-title-02 span.en span {

    font-size: 1.6rem;

  }



  .wp-emergency-title-03 {

    font-size: 1.8rem;

  }



  .wp-emergency-title-04>span {

    height: auto;

  }



  .wp-emergency-title-04>span.number {

    width: 5rem;

    font-size: 1.8rem;

  }



  .wp-emergency-title-04>span.txt {

    font-size: 1.8rem;

    width: calc(100% - 5rem);

    padding: .9rem 1.5rem;

    display: block;

  }



  .wp-emergency-title-04>span.txt .vs-02 {

    font-size: 1.6rem;

    display: block;

    line-height: 130%;

  }



  .wp-emergency-tel {

    margin-bottom: 4.7rem;

  }



  .wp-emergency-tel a span {

    font-size: 2.5rem;

  }



  .wp-emergency-tel a span:first-child {

    font-size: 2rem;

    padding-left: 4rem;

    margin-right: 1.5rem;

  }



  .wp-emergency-tel a span:first-child::before {

    width: 3rem;

    height: 3rem;

  }



  .wp-emergency-tel-box {

    margin-bottom: 4.5rem;

  }



  .wp-emergency-tel-box .item a span {

    font-size: 2.2rem;

  }



  .wp-emergency-tel-box .item a span:first-child {

    margin-right: 1.5rem;

    font-size: 1.3rem;

    padding: .4rem;

  }



  .wp-emergency-layout {

    padding-bottom: 5.5rem;

  }



  .wp-emergency-wrap {

    margin-bottom: 4.5rem;

  }



  .wp-emergency-left {

    width: 100%;

    margin-bottom: 3.2rem;

  }



  .wp-emergency-main {

    width: 100%;

  }



  .wp-emergency-table td {

    font-size: 1.4rem;

    padding: 1.5rem;

  }



  .wp-emergency-table td:first-child {

    width: 23rem;

  }



  .wp-emergency-table tr:first-child td {

    font-size: 1.5rem;

  }



  .wp-emergency .desc p {

    font-size: 1.4rem;

  }



  .wp-emergency-block {

    margin-bottom: 3.3rem;

  }



  .wp-emergency-block:last-child {

    margin-bottom: 0;

  }



  .wp-emergency-block .field:first-child {

    width: 100%;

    order: 1;

    padding-top: 0;

  }



  .wp-emergency-block .field:last-child {

    width: 100%;

  }



  .wp-emergency-block .field .wp-emergency-tel-box {

    margin-bottom: 0;

  }

}



.wp-privacy {

  width: 100%;

  position: relative;

  padding-top: 10.2rem;

  padding-bottom: 17.6rem;

}



.wp-privacy h3,

.wp-privacy p,

.wp-privacy a {

  color: #555051;

  font-size: 1.50001rem;

  font-weight: 600;

  line-height: 195%;

  letter-spacing: 0;

}



.wp-privacy h3 {

  margin-bottom: .2rem;

}



.wp-privacy>div>p {

  margin-bottom: 5.8rem !important;

}



.wp-privacy p:not(:last-child) {

  margin-bottom: 3rem;

}



.wp-privacy a.line {

  text-decoration: underline;

}



.wp-privacy--item:not(:last-child) {

  margin-bottom: 5.8rem;

}



.wp-privacy--item:last-child {

  padding-top: 2.2rem;

  margin-top: -2rem;

  border-top: 1px solid #d5d3d3;

}



.wp-privacy--item:last-child p {

  margin-bottom: 0;

}



@media (max-width: 1200px) and (min-width: 960.5px) {

  .wp-privacy .grid-1000 {

    max-width: 125rem;

  }



  .wp-privacy h3,

  .wp-privacy p,

  .wp-privacy a {

    font-size: 12px;

  }

}



@media (max-width: 960px) {

  .wp-privacy {

    padding-top: 5.3rem;

    padding-bottom: 11.3rem;

  }



  .wp-privacy>div>p {

    margin-bottom: 3.5rem !important;

  }



  .wp-privacy p {

    line-height: 185%;

    font-weight: 500;

    text-align: justify;

  }



  .wp-privacy p:not(:last-child) {

    margin-bottom: 1.8rem;

  }



  .wp-privacy a,

  .wp-privacy a.line {

    font-weight: 500;

  }



  .wp-privacy--item:not(:last-child) {

    margin-bottom: 3.5rem;

  }



  .wp-privacy--item:last-child {

    margin-top: 0;

  }



  .wp-privacy--item:last-child p {

    margin-bottom: 0;

  }

}



.wp-contact {

  padding-top: 11rem;

}



.wp-contact-left {

  width: 30rem;

}



.wp-contact-main {

  width: calc(100% - 30rem);

}



.wp-contact-form {

  background: #f4f4f4;

  border-radius: .3rem;

  margin-bottom: 4.7rem;

}



.wp-contact-form .head {

  border-bottom: #d5d3d3 solid 1px;

  padding: 5.4rem 12rem 4.8rem;

}



.wp-contact-form .head.vs-02 {

  border-bottom: 0;

}



.wp-contact-form .head p {

  font-size: 1.5rem;

  font-weight: 600;

  color: #555051;

  line-height: 190%;

}



.wp-contact-form .main {

  padding: 3rem 12rem 3.7rem;

  max-width: 112rem;

}



.wp-contact-form .form-input {

  width: 100%;

  height: 4rem;

  border: #d5d3d3 solid 1px;

  padding: 0 1.5rem;

  font-size: 1.6rem;

  font-family: "Noto Sans JP", serif;

  word-break: break-all;

  color: #2b2425;

}



.wp-contact-form .form-input::placeholder {

  color: #d5d3d3;

}



.wp-contact-form .form-input.vs-02 {

  max-width: 28rem;

}



.wp-contact-form .form-input-gp .item {

  width: calc((100% - 4.001rem) / 2);

  margin-right: 4rem;

}



.wp-contact-form .form-input-gp .item:nth-child(2n) {

  margin-right: 0;

}



.wp-contact-form .form-input.error {

  border: 1px solid #f00;

}



.wp-contact-form textarea.form-input {

  height: 20rem;

  padding-top: 1rem;

  padding-bottom: 1rem;

}



.wp-contact-table {

  width: 100%;

  border-spacing: 0;

  border-collapse: collapse;

}



.wp-contact-table td {

  color: #2b2425;

  font-size: 1.5rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  padding: 1rem 0;

  position: relative;

  vertical-align: text-top;

  word-break: break-all;

}



.wp-contact-table td:first-child {

  width: 25rem;

}



.wp-contact-table td:last-child {

  padding-left: 3rem;

}



.wp-contact-table td .required {

  color: #ff811e;

  font-size: 1.4rem;

  position: absolute;

  right: 0;

  top: 1.7rem;

}



.wp-contact-table td .checkbox {

  position: relative;

  cursor: pointer;

  margin-bottom: 2.4rem;

}



.wp-contact-table td .checkbox span {

  display: inline-block;

  padding-left: 6rem;

}



.wp-contact-table td .checkbox span::before {

  content: "";

  position: absolute;

  width: 3.4rem;

  height: 3.4rem;

  top: -0.6rem;

  left: 0;

  background: #FFFFFF;

  border: #d5d3d3 solid 1px;

}



.wp-contact-table td .checkbox span::after {

  content: "";

  position: absolute;

  width: 2rem;

  height: 2rem;

  top: 1px;

  left: .7rem;

  background: #2b2425;

  transition: all 0.35s;

  opacity: 0;

}



.wp-contact-table td .checkbox input {

  position: absolute;

  width: 3.4rem;

  opacity: 0;

  z-index: 1;

}



.wp-contact-table td .checkbox input:checked~span::after {

  opacity: 1;

}



.wp-contact-table tr.vs-02 td {

  vertical-align: top;

}



.wp-contact-table tr.vs-02 td:first-child {

  padding-top: 1.8rem;

}



.wp-contact-table tr.vs-03 td {

  padding-top: 2.7rem;

}



.wp-contact-table tr.vs-03 td .required {

  top: 2.7rem;

}



.wp-contact-table tr.vs-03 td p {

  font-weight: 600;

  font-size: 1.5rem;

  color: #555051;

  margin-top: 2.4rem;

  margin-bottom: 3.3rem;

}



.wp-contact-table tr.vs-03 td p a {

  color: #5194f9;

  text-decoration: underline;

  transition: all 0.35s;

}



.wp-contact-table tr.vs-03 td p a:hover {

  text-decoration: none;

}



.wp-contact-table.confirm {

  margin-bottom: 3.5rem;

}



.wp-contact-table.confirm td:last-child span {

  background: #FFFFFF;

  display: block;

  padding: .7rem 1.5rem;

  min-height: 4rem;

}



.wp-contact-btn {

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  margin-top: 30px;

}



.wp-contact-btn * {

  width: 100%;

  max-width: 28rem;

  border: 0;

  height: 6.4rem;

  background: #FFFFFF;

  margin-right: 1.5rem;

  font-size: 1.6rem;

  font-family: "M PLUS 1p", "Noto Sans JP", sans-serif;

  font-weight: 600;

  text-align: left;

  padding: 0 3rem;

  border-radius: 6.4rem;

  color: #2b2425;

  position: relative;

  transition: all 0.35s;

  cursor: pointer;

  display: flex;

  align-items: center;

  overflow: hidden;

  z-index: 0;

}



.wp-contact-btn *::before {

  content: "";

  position: absolute;

  width: 2rem;

  height: 1.4rem;

  transform: translate(-50%, -50%);

  -webkit-mask: url(../img/common/line.png) center/100% no-repeat;

  mask: url(../img/common/line.png) center/100% no-repeat;

  background-color: #959192;

  transition: ease all 0.35s;

  top: 50%;

  right: 2.2rem;

  transform: translateY(-50%);

}



.wp-contact-btn *::after {

  content: "";

  position: absolute;

  width: 6.4rem;

  height: 6.4rem;

  top: 50%;

  left: 50%;

  transition: all 0.35s;

  background: #5194f9;

  transform: translate(-50%, -50%) scale(0);

  border-radius: 100%;

  z-index: -1;

}



.wp-contact-btn *:last-child {

  margin-right: 0;

}



.wp-contact-btn *:hover {

  color: #FFFFFF;

}



.wp-contact-btn *:hover::before {

  background: #FFFFFF;

}



.wp-contact-btn *:hover::after {

  transform: translate(-50%, -50%) scale(5);

}



.wp-contact-btn.vs-02 {

  margin-bottom: 1rem;

}



.wp-contact .desc p {

  max-width: 110rem;

  font-weight: 600;

  font-size: 1.5rem;

  color: #555051;

  letter-spacing: 0;

  letter-spacing: .005rem;

  line-height: 200%;

}



.wp-contact-layout {

  margin-bottom: 6.7rem;

}



.wp-contact-layout:last-child {

  margin-bottom: 0;

}



.wp-contact-layout.vs-02 .wp-emergency-tel {

  margin-bottom: 1.2rem;

}



.wp-contact-layout.vs-02 .wp-emergency-tel-box {

  margin-left: 0;

  margin-bottom: 12rem;

}



.wp-contact-layout.vs-02 .wp-contact-main {

  border-top: #d5d3d3 solid 1px;

  padding-top: 4.2rem;

}



.wp-contact-layout.vs-02 .info p {

  font-size: 1.8rem;

  color: #555051;

  font-weight: 600;

  line-height: 140%;

  margin-bottom: 3.8rem;

}



@media (max-width: 960px) {

  .wp-contact {

    padding-top: 4.5rem;

  }



  .wp-contact-left {

    width: 100%;

    margin-bottom: 3.2rem;

  }



  .wp-contact-main {

    width: 100%;

  }



  .wp-contact-layout {

    margin-bottom: 3.7rem;

  }



  .wp-contact-layout.vs-02 .wp-contact-main {

    padding-top: 3rem;

  }



  .wp-contact-layout.vs-02 .info p {

    font-size: 1.4rem;

    line-height: 175%;

  }



  .wp-contact-layout.vs-02 .wp-emergency-tel-box {

    margin-bottom: 6rem;

  }



  .wp-contact-form .head {

    padding: 1.5rem;

  }



  .wp-contact-form .head p {

    font-size: 1.4rem;

  }



  .wp-contact-form .main {

    padding: 1.5rem;

  }



  .wp-contact-form .form-input-gp .item {

    width: calc((100% - 1.501rem) / 2);

    margin-right: 1.5rem;

  }



  .wp-contact-form .form-input.vs-02 {

    max-width: 100%;

  }



  .wp-contact-form textarea.form-input {

    height: 15rem;

  }



  .wp-contact-table td {

    float: left;

    width: 100%;

    font-size: 1.4rem;

  }



  .wp-contact-table td:first-child {

    width: 100%;

    padding-bottom: .5rem;

  }



  .wp-contact-table td:last-child {

    padding-left: 0;

    padding-top: 0;

  }



  .wp-contact-table td .required {

    top: 1rem;

  }



  .wp-contact-table td .checkbox span {

    padding-left: 3.5rem;

  }



  .wp-contact-table td .checkbox span::before {

    width: 2.6rem;

    height: 2.6rem;

    top: -0.3rem;

  }



  .wp-contact-table td .checkbox span::after {

    width: 1.6rem;

    height: 1.6rem;

    top: .2rem;

    left: .5rem;

  }



  .wp-contact-table tr.vs-03 td {

    padding-top: 0;

  }



  .wp-contact-table tr.vs-03 td .required {

    top: 0;

  }



  .wp-contact-table tr.vs-03 td p {

    font-size: 1.4rem;

  }



  .wp-contact .desc p {

    font-size: 1.4rem;

    max-width: 100%;

  }



  .wp-contact-btn * {

    max-width: 100%;

    font-size: 1.4rem;

    margin-right: 0;

    margin-bottom: 1.5rem;

  }



  .wp-contact-btn *:last-child {

    margin-bottom: 0;

  }

}



.message {

  padding: 1rem 5rem 16rem;

}



.message-head {

  max-width: 70rem;

  margin-left: auto;

  margin-right: auto;

  width: calc(100% - 3rem);

  display: flex;

  align-items: center;

  position: relative;

  margin-bottom: 5rem;

}



.message-head::before {

  content: "";

  position: absolute;

  width: 14.6rem;

  height: 14.6rem;

  top: 2.2rem;

  right: 0;

  background: linear-gradient(180deg, rgba(37, 121, 247, 0.2) 0%, rgba(37, 121, 247, 0) 85%);

  border-radius: 100%;

}



.message-head .box:first-child {

  width: calc(100% - 32.5rem);

}



.message-head .box:last-child {

  width: 32.5rem;

}



.message-head .box .img {

  width: 24rem;

}



.message-head .box .img img {

  width: 100%;

}


.message-head .box .cont p {

  font-weight: 600;

  color: #555051;

  font-size: 1.5rem;

  line-height: 190%;

}



.message-title-01 {

  color: #92bcfb;

  font-size: 3.1rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

  margin-bottom: 1.4rem;

  font-family: "Unbounded", sans-serif;

}



.message-title-02 {

  color: #555051;

  font-size: 3.6rem;

  font-weight: 600;

  line-height: 175%;

  letter-spacing: 0;

}



.message-title-02.vs-02 {

  color: #2579f7;

  margin-bottom: 6.5rem;

}



.message-title-03 {

  color: #2579f7;

  font-size: 2.8rem;

  font-weight: 600;

  line-height: 140%;

  letter-spacing: 0;

}



.message-list-01 {

  background: #92bcfb;

  padding: 6rem 0 3.5rem;

}



.message-list-01 ul {

  max-width: 120rem;

  margin-left: auto;

  margin-right: auto;

  width: calc(100% - 3rem);

}



.message-list-01 ul li {

  width: calc((100% - 4.001rem) / 5);

  margin-right: 1rem;

}



.message-list-01 ul li:nth-child(5n) {

  margin-right: 0;

}



.message-list-01 ul li a {

  background: #66a1f9;

  display: block;

  padding: 1.8rem 2.5rem;

  color: #FFFFFF;

  font-size: 1.8rem;

  font-weight: 600;

  line-height: 140%;

  letter-spacing: 0;

  transition: all 0.35s;

}



.message-list-01 ul li a:hover {

  background: #2579f7;

}



.message-list-01 ul li.active a {

  background: #2579f7;

}



.message-list-arrow {

  position: absolute;

  bottom: 0;

  left: 0;

  border-radius: .3rem;

  overflow: hidden;

}



.message-list-arrow li {

  border-right: #FFFFFF solid 1px;

}



.message-list-arrow li:last-child {

  border-right: 0;

}



.message-list-arrow li button {

  font-size: 0;

  width: 14rem;

  height: 12rem;

  border: 0;

  border-radius: 0;

  background: #2579f7;

  position: relative;

  cursor: pointer;

  vertical-align: top;

}



.message-list-arrow li button span {

  width: 8rem;

  height: 8rem;

  top: 50%;

  left: 50%;

  border-radius: 100%;

  position: absolute;

  border: #FFFFFF solid .2rem;

  transform: translate(-50%, -50%);

  transition: all 0.35s;

  z-index: 0;

}



.message-list-arrow li button span::before {

  content: "";

  position: absolute;

  width: 100%;

  height: 100%;

  top: 50%;

  left: 50%;

  border-radius: 100%;

  transform: translate(-50%, -50%) scale(0);

  transition: all 0.35s;

  background: #FFFFFF;

}



.message-list-arrow li button span::after {

  content: "";

  width: 2rem;

  height: 1.4rem;

  position: absolute;

  left: 50%;

  top: 50%;

  z-index: 1;

  transform: translate(-50%, -50%);

  -webkit-mask: url(../img/common/line.png) center/100% no-repeat;

  mask: url(../img/common/line.png) center/100% no-repeat;

  background-color: #FFFFFF;

  transition: ease all 0.35s;

}



.message-list-arrow li button:hover span {

  background: #FFFFFF;

}



.message-list-arrow li button:hover span::before {

  transform: translate(-50%, -50%) scale(1);

}



.message-list-arrow li button:hover span::after {

  background: #2579f7;

}



.message-list-arrow li:first-child button span::after {

  transform: translate(-50%, -50%) scale(-1);

}



.message-wrap {

  padding-top: 9rem;

}



.message-cont {

  background: #e9f2fe;

  padding: 5rem 6rem 5rem 11rem;

  position: relative;

}



.message-box {

  display: none;

}



.message-box .item {

  opacity: 0;

}



.message-box .item:first-child {

  padding-top: 3.5rem;

  padding-right: 17rem;

  width: calc(100% - 78rem);

  -webkit-transform: translate(0, 100px);

  transform: translate(0, 100px);

  transition: all 0.5s ease;

}



.message-box .item:last-child {

  width: 78rem;

  transform: translate(100px, 0);

  opacity: 0;

}



.message-box .item:last-child img {

  width: 100%;

  border-radius: .3rem;

}



.message-box .item p {

  color: #2b2425;

  font-weight: 600;

  line-height: 190%;

  letter-spacing: 0;

}



.message-box.active {

  display: flex;

}



.message-box.active .item {

  animation: fade_in_0 500ms 500ms ease-in-out;

  animation-fill-mode: forwards;

}



@keyframes fade_in_0 {

  0% {

    opacity: 0;

    transform: translate(0, 100px);

  }



  100% {

    opacity: 1;

    transform: translate(0, 0);

  }

}



@keyframes fade_in_1 {

  0% {

    opacity: 0;

    transform: translate(100px, 0);

  }



  100% {

    opacity: 1;

    transform: translate(0, 0);

  }

}



@media (max-width: 960px) {

  .message {

    padding: 1rem 1.5rem 6rem;

  }



  .message-head {

    flex-wrap: wrap;

    width: 100%;

    margin-bottom: 2.5rem;

  }



  .message-head::before {

    width: 8rem;

    height: 8rem;

  }



  .message-head .box:first-child {

    width: 100%;

  }



  .message-head .box:last-child {

    width: 100%;

  }



  .message-head .box .img {

    width: 12rem;

  }


  .message-head .box .cont p {

    font-size: 1.4rem;

  }



  .message-title-01 {

    font-size: 2.4rem;

  }



  .message-title-02 {

    font-size: 2.6rem;

  }



  .message-title-02.vs-02 {

    margin-bottom: .5rem;

  }



  .message-title-03 {

    font-size: 2rem;

  }



  .message-list-01 {

    padding: 2rem 0 1rem;

  }



  .message-list-01 ul li {

    width: calc((100% - 1.001rem) / 2);

    margin-bottom: 1rem;

  }



  .message-list-01 ul li:nth-child(2n) {

    margin-right: 0;

  }



  .message-list-01 ul li a {

    font-size: 1.4rem;

    padding: 0.7rem;

  }



  .message-list-arrow li button {

    width: 7rem;

    height: 6rem;

  }



  .message-list-arrow li button span {

    width: 4rem;

    height: 4rem;

  }



  .message-list-arrow li button span::after {

    width: 1.2rem;

    height: .8rem;

  }



  .message-wrap {

    padding-top: 5rem;

  }



  .message-cont {

    padding: 1.5rem 1.5rem 7.5rem;

  }



  .message-box .item:first-child {

    width: 100%;

    padding-right: 0;

    padding-top: 1rem;

    order: 1;

  }



  .message-box .item:last-child {

    width: 100%;

  }

}



.stoc-greeting {

  color: #000000 !important;

  font-size: 2.20001rem;

  font-weight: 600;

  line-height: 170%;

  letter-spacing: 0.1rem;

  width: max-content;

  margin-left: auto;

  margin-top: 2.5rem;

}



.stoc-greeting span {

  line-height: 170%;

  font-size: 1.501rem;

  display: block;

  color: #000000 !important;

}



@media screen and (max-width:960px) {

  .stoc-greeting span {

    display: inline-block;

    padding-right: 1.5rem;

  }



  .stoc-greeting {

    margin-top: 1.5rem;

  }

}



@media screen and (min-width:961px) {

  .wp-table-01-20251015 td:first-child {

    height: auto !important;

  }



  .wp-table-01-20251015 td:last-child {

    padding-bottom: 0.8rem !important;

  }



  .message-main-link-arow {

    justify-content: center;

  }

}



.message-cont.vs-02 {

  padding-top: 5.5rem;

  padding-bottom: 31rem;

  position: relative;

  min-height: 74.2rem;

}



.message-cont.vs-02::before {

  content: "";

  position: absolute;

  width: 100%;

  height: 35rem;

  max-width: 98.7rem;

  margin: 0 auto;

  left: 50%;

  background-image: url(../img/top/top-01.png);

  background-position: bottom right;

  background-repeat: no-repeat;

  background-size: 21.9rem;

  transform: translateX(-50%);

  bottom: 10rem;

}



.message-cont.vs-03::before {

  background-image: url(../img/message/icon.png);

  background-size: 21.4rem;

}



.message-gp-custom {

  width: 100%;

  max-width: 102rem;

  margin: 0 auto;

}



.message-gp-custom .message-box .item:first-child {

  width: 100%;

  padding-right: 0;

  max-width: 73rem;

}



.message-gp-custom+.message-list-arrow {

  width: 100%;

  max-width: 96.9rem;

  margin: 0 auto;

  left: 50%;

  transform: translateX(-50%);

  bottom: 10rem;

}



@media (max-width: 960px) {

  .message-cont.vs-02 {

    padding-top: 1.5rem;

    padding-bottom: 15rem;

    min-height: 59.1rem;

  }



  .message-cont.vs-02.vs-03 {

    min-height: 52.1rem;

  }



  .message-gp-custom+.message-list-arrow {

    bottom: 3rem;

  }



  .message-cont.vs-02::before {

    background-size: 10rem;

    bottom: 3rem;

    width: 95%;

  }



  .wrap_top-3__service--header_bg {

    background-image: url(../img/top/top-9-sp.jpg);

  }

}