@charset "utf-8";



@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;700&family=Zen+Maru+Gothic:wght@500;700;900&display=swap");



html {

  overflow-x: hidden;



  font-size: 16px;

}



body {

  line-height: 2;



  font-family: "Noto Sans JP", sans-serif;



  font-weight: 400;



  color: #4d4d4d;



  word-break: break-all;



  text-size-adjust: 100%;



  -webkit-text-size-adjust: 100%;



  -moz-text-size-adjust: 100%;



  -ms-text-size-adjust: 100%;



  -o-text-size-adjust: 100%;



  font-style: normal;

}



.ff2 {

  font-family: "Zen Maru Gothic", serif;



  font-weight: 500;



  font-style: normal;

}

.ff2_1 span:nth-child(5),

.ff2_1 span:nth-child(6),

.ff2_1 span:nth-child(8),

.ff2_1 span:nth-child(9),

.ff2_1 span:nth-child(10) {

  color: #3e63b5;

}

.ff2_3 span:nth-child(1),

.ff2_3 span:nth-child(2),

.ff2_3 span:nth-child(4),

.ff2_3 span:nth-child(5) {

  color: #ffc00f;

}



* {

  box-sizing: border-box;



  margin: 0;



  padding: 0;

}



*::after,

*::before {

  box-sizing: border-box;

}



img {

  max-width: 100%;



  height: auto;

}



main {

  display: block;

}



a:hover,

a:focus,

a:visited {

  outline: none;



  border: none;

}



a {

  text-decoration: none;



  color: inherit;

}



.clear {

  clear: both;

}



a[href^="tel:"] {

  cursor: default;

}



a[href^="tel:"]:hover {

  text-decoration: none;

}



br {

  font-size: 0;

}



.hv-o:hover {

  cursor: pointer;



  opacity: 0.7;

}



.u-mobile {

  display: none;

}



.inblock {

  display: inline-block;

}



.bold {

  font-weight: bold !important;

}



.sm-bold {

  font-weight: 600;

}



.fs20 {

  font-size: 20px;

}



.fs15 {

  font-size: 15px;

}



.fs26 {

  font-size: 26px;

}



.fs24 {

  font-size: 24px;

}



.fs18 {

  font-size: 18px;

}



/* menu */



.toggle {

  cursor: pointer;

}



.toggle {

  width: 60px;



  height: 60px;



  position: relative;



  top: 10px;



  right: 15px;



  background-color: #fff;



  padding: 8px;



  border-radius: 8px;

}



.toggle div {

  position: absolute;



  left: 0;



  top: 0;



  right: 0;



  bottom: 0;



  transition: transform 0.5s ease;

}



.toggle div span {

  display: block;



  position: absolute;



  left: 0;



  right: 0;

}



.toggle div span:first-child {

  top: 0;

}



.toggle div span:first-child:before,

.toggle div span:first-child:after {

  top: 10px;

}



.toggle div span:last-child {

  bottom: 10px;

}



.toggle div span:last-child:before,

.toggle div span:last-child:after {

  bottom: 0;

}



.toggle div span:before {

  border-radius: 99px 0 0 99px;

}



.toggle div span:after {

  border-radius: 0 99px 99px 0;

}



.toggle div span:before,

.toggle div span:after {

  content: "";



  display: block;



  width: 20px;



  height: 3px;



  background: #3eaba4;



  position: absolute;



  transition: transform 0.5s ease;

}



.toggle div span:before {

  left: 10px;



  transform-origin: 0 50%;

}



.toggle div span:after {

  right: 10px;



  transform-origin: 100% 50%;

}



.toggle .is-active {

  transform: rotate(90deg);

}



.toggle .is-active span:before,

.toggle .is-active span:after {

  background: #fff;

}



.toggle .is-active span:first-child:before {

  transform: rotate(45deg) translate(7.5px, -1px);

}



.toggle .is-active span:first-child:after {

  transform: rotate(-45deg) translate(-7.5px, -1px);

}



.toggle .is-active span:last-child:before {

  transform: rotate(-45deg) translate(7.5px, 1px);

}



.toggle .is-active span:last-child:after {

  transform: rotate(45deg) translate(-7.5px, 1px);

}



.toggle .line_m3 {

  top: 50%;



  transform: translateY(-50%);

}



.toggle .line_m3::after {

  top: -1.5px;



  left: 50%;



  transform: translateX(-50%);



  width: 40px;



  height: 3px;



  background: #3eaba4;



  border-radius: 999px;



  transition: width 0.5s ease !important;

}



.toggle .is-active .line_m3::after {

  width: 0;

}



.toggle .line_m3::before {

  content: none !important;

}



.row {

  flex-wrap: wrap;



  display: flex;

}



li {

  list-style: none;

}



.color__white {

  color: white;

}



.cont-1420 {

  max-width: 1420px;



  margin: 0 auto;



  width: calc(100% - 30px);

}



.footer {

  padding-top: 245px;



  padding-bottom: 170px;



  background-color: #3eaba4;



  background-repeat: repeat-x;



  background-position: left bottom;



  background-size: 1599px auto;



  background-image: url(../img/common/bg__footer_r.png);



  line-height: 1.75;

}



.footer__02 {

  width: calc(50% - 10px);

}



.fs7 {

  font-size: 7px;

}



.gap_20 {

  gap: 20px;

}



.fs14 {

  font-size: 14px;

}



.gap40 {

  gap: 40px;

}



.col__infor {

  min-width: 283px;

}



.mgt_3 {

  top: -3px;



  position: relative;

}



.copyright {

  margin-top: -11px;

}



.copyright__text {

  text-align: right;

}



.footer__menu {

  margin-top: 110px;

}



.footer__menu li a {

  padding: 0 21px;



  border-left: 1px solid #fff;

}



.footer__menu li:first-child a {

  padding-left: 0;



  border-left: 0px solid #fff;

}



.footer__menu li:last-child a {

  padding-right: 0;

}



.x__right {

  justify-content: right;

}



.footer__logo {

  margin-bottom: 15px;

}



.d-inline {

  display: inline-block;

}



.scrolltop {

  display: none;



  border: 0;



  cursor: pointer;



  position: fixed;



  z-index: 100;



  background: transparent;



  right: 20px;



  bottom: 20px;

}



.scrolltop img {

  width: 50px;

}



.contact__bottom {

  margin-bottom: -170px;



  position: relative;



  z-index: 1;

}

.contact__bottom.green_bg {

  z-index: auto;

}

.contact__bottom.green_bg::before {

  content: '';

  position: absolute;

  top: 0;

  bottom: 0;

  left: 0;

  right: 0;

  margin: auto;

  background-color: #dfeae8;

  z-index: -1;

}

.contact__bottom.green_bg .contact__all {

  background-color: white;

}



.title__lv2__en {

  font-size: 69px;



  letter-spacing: 0.625vw;



  line-height: 1;



  color: #3eaba4;



  margin-right: 45px;

}



.title__lv2__en::before {

  position: relative;



  top: -15px;



  padding-right: 15px;



  content: url(../img/common/i4.png);

}

.title__lv2__en.fade-in-element::before {

  opacity: 0;

  transform: translateY(50px); /* 初期状態は少し下に */

}

.title__lv2__en.fade-in-element.is-visible::before {

  animation: fadeIn 2.0s forwards;

}

@keyframes fadeIn {

  from {

    opacity: 0;

    transform: translateY(50px);

  }

  to {

    opacity: 1;

    transform: translateY(0);

  }

}









.title__lv2__ja {

  letter-spacing: 0.5px;



  font-size: 18px;



  color: #3e63b5;



  font-family: "Zen Maru Gothic", serif;



  font-weight: 500;



  font-style: normal;



  position: relative;



  bottom: 8px;

}



.link__phone {

  font-size: 59px;



  letter-spacing: 1px;



  color: #3eaba4;



  font-family: "Zen Maru Gothic", serif;



  font-weight: 500;



  font-style: normal;



  line-height: 1;

}



.contact__all {

  padding: 73px 150px 78px;



  background-color: #dfeae8;



  border-radius: 50px;

}



.link__mail {

  background-color: #3e63b5;



  border-radius: 999px;



  position: relative;



  color: #fff;



  display: block;



  width: calc(100% - 30px);



  margin-left: auto;



  text-align: center;



  padding: 17px;



  margin-top: 10px;

}



.link__mail img {

  margin-right: 5px;

}



.link__mail::after {

  position: absolute;



  top: -103px;



  right: 70px;



  content: url(../img/common/i14.png);

}



.col-02c {

  width: calc(50% - 10px);

}



.txt__center {

  text-align: center;

}



.lh15 {

  line-height: 1.5;

}



.max__505 {

  max-width: 505px;

}



.max__530 {

  max-width: 530px;

}



.xa__center {

  display: flex;



  justify-content: center;



  align-items: center;

}



.link__phone img {

  position: relative;



  top: 7px;



  margin-right: 13px;

}



.contact__text {

  margin-top: 20px;



  margin-bottom: 30px;

}



.color_7 {

  color: #777777;

}



.text_la,

.text_lb {

  display: block;



  text-align: center;



  line-height: 1.5;

}



.text_la {

  color: #3eaba4;



  font-size: 14px;

}



.text_lb {

  font-size: 18px;

}



.header__menu {

  background-color: #fff;



  border-radius: 999px 0 0 999px;



  padding: 26px 0 26px 60px;

}



.j_sp {

  justify-content: space-between;

}



.txt__right {

  text-align: right;

}



.header__fixop {

  position: relative;



  z-index: 100;

}



.header__cont {

  position: absolute;



  top: 0;



  left: 0;



  width: 100%;



  transition: all 0s 0.3s ease-in-out;

}



.banner__top {

  position: relative;



  background-image: url(../img/top/br__top.jpg);/*新年の挨拶バナーがない時*/

  /*background-image: url(../img/top/br__top2.jpg);*//*新年の挨拶バナーがある時*/



  background-position: left bottom;



  background-repeat: no-repeat;



  /*background-size: 1920px; */

  background-size: contain;



  padding-bottom: 60px; /*新年の挨拶バナーがない時*/

  /*padding-bottom: 130px;*//*新年の挨拶バナーがある時*/

  padding-bottom: 6.770833333333333vw;

}



.newyear {

  display: block;

  margin: auto;

  max-width: 90%;

  margin-top: 100px;

  margin-top: 5.208333333333334vw;

}



.rec_link {

  position: absolute;

  right: 20px;

  bottom: 30px;

  background-color: white;

  border-radius: 50%;

  z-index: 50;

}

.rec_link a {

  position: relative;

  display: block;

  width: 263px;

  height: 263px;

  border-radius: 50%;

  transition: 0.3s all;

}

.rec_link a:hover {

  opacity: 0.99;

}

.rec_link a::before {

  content: '';

  position: absolute;

  display: block;

  width: 354px;

  height: 248px;

  

  transition: all .2s cubic-bezier(0.2, 1, 0.66, 1);

  vertical-align: middle;

  background: url(../img/top/i2.png) center / 100% no-repeat;

  top: 0;

  right: -18%;

  margin: auto;

  opacity: 0;

  z-index: -1;

}

.rec_link a:hover::before {

  opacity: 1;

  top: -110px;

}



@media screen and (max-width: 1400px) {

  .rec_link {

    bottom: 20px;

  }

  .rec_link a {

    width: 184px;

    height: 184px;

  }

  .rec_link a::before {

    width: 212px;

    height: 149px;

  }

  .rec_link a:hover::before {

    top: -70px;

    right: -12%;

  }

}

@media screen and (max-width: 900px) {

  .rec_link {

    bottom: 10px;

  }

  .rec_link a {

    width: 132px;

    height: 132px;

  }

  .rec_link a::before {

    width: 177px;

    height: 124px;

  }

  .rec_link a:hover::before {

    top: -60px;

    right: -18%;

  }

}

@media screen and (max-width: 768px) {

  .rec_link {

    display: none;

  }

}

@media screen and (max-width: 520px) {

  .rec_link {

    top: 160px;

    bottom: auto;

  }

  .rec_link a {

    width: 100px;

    height: 100px;

  }

}



.banner__slider {

  width: 60%;



  animation: fadeIn 4s cubic-bezier(0.33, 1, 0.68, 1) forwards;

}



@keyframes fadeIn {

  0% {

    opacity: 0;

  }



  10% {

    opacity: 0;

  }



  70% {

    opacity: 1;

  }



  100% {

    opacity: 1;

  }

}



.banner__slider img {

  border-radius: 0 0 0 100px;

}



.banner__title {

  width: 40%;

}



.header__menu li {

  padding-right: 70px;

}



.header__bar_text {

  padding-top: 5px;



  padding-left: 15px;



  padding-right: 15px;



  font-size: 12px;



  color: #c1c1c1;

}



.link__mailr {

  position: absolute;



  top: 150px;



  right: 0;

}



.header__logo {

  padding-left: 40px;



  padding-top: 25px;

}



.banner__title_ja {

  font-size: 57px;



  width: calc(100% - 30px);



  max-width: 630px;



  color: #3eaba4;



  line-height: 1.5;



  margin: 0 auto;



  text-align: center;

}



.banner__title_en {

  font-size: 28px;



  /* font-weight: 900; */



  font-weight: 500;



  color: #fff;



  background-color: #3eaba4;



  text-align: center;



  border-radius: 99px;



  width: calc(100% - 30px);



  max-width: 612px;



  margin: 0 auto;



  padding-bottom: 2px;

}



.color_hb {

  color: #3e63b5;

}



.color_hy {

  color: #ffc00f;

}



.banner__title {

  background-image: url(../img/common/heart_header.png);



  background-repeat: no-repeat;



  background-position: center 140px;



  background-size: 453px auto;



  padding-top: 225px;

}



@media screen and (max-width: 1650px) {

  .banner__title_ja {

    font-size: max(3.434vw, 20px);

  }



  .banner__title_en {

    font-size: max(1.687vw, 16px);

  }

}



@media screen and (max-width: 1450px) {

  .copyright {

    margin-top: 10px;

  }



  .contact__all {

    padding: 70px 10.345vw 75px;

  }

}



@media screen and (max-width: 1350px) {

  .banner__title_ja {

    font-size: max(3.1vw, 25px);

  }



  .banner__title_en {

    max-width: 410px;

  }



  .banner__top {

    /* background-position: left calc(100% + 150px); */

  }

}



@media screen and (max-width: 1200px) {

  .header__menu li {

    padding-right: 40px;

  }



  .footer .row .footer__02:first-child {

    width: 300px;

  }



  .footer .row .footer__02:last-child {

    width: calc(100% - 320px);

  }



  .contact__all {

    padding: 70px 7.345vw 75px;

  }



  .link__mail::after {

    right: 30px;

  }



  .link__phone {

    font-size: 58px;

  }

}



@media screen and (max-width: 999px) {

  .text_lb {

    font-size: 15px;

  }



  .banner__title {

    background-position: center 80px;



    background-size: 295px auto;

  }



  .banner__title {

    padding-top: 130px;



    background-image: none;

  }



  .banner__title_ja {

    text-align: left;



    margin-left: 15px !important;

  }



  .banner__title_en {

    max-width: 280px;



    margin-left: 15px;

  }



  .title__lv2__en {

    font-size: 50px;

  }



  .col-02c {

    width: 100%;

  }



  .footer .row .footer__02 {

    width: 100% !important;

  }



  .footer__menu {

    margin-top: 30px;

  }



  .footer {

    background-size: 1000px;

  }



  .footer {

    padding-bottom: 100px;

  }



  .link__mail {

    max-width: 500px;



    margin: 50px auto 0;



    width: 100%;

  }



  .max__505,

  .max__530 {

    max-width: 100%;

  }



  .link__mail::after {

    transform: scale(0.7);



    top: -85px;

  }



  .title__lv2__en::before {

    top: -10px;



    padding-right: 5px;

  }



  .header__logo {

    padding-left: 15px;

  }



  .header__menu li {

    padding-right: 25px;

  }



  .header__menu {

    margin-top: 0;

    padding-left: 30px;

  }

}



@media screen and (max-width: 767px) {

  .text_lb {

    font-size: 18px;

  }



  .header__cont {

    height: 130px;

  }



  .is-active-mobile .header__cont {

    background-color: #fff;



    transition: all 0s 0s ease-in-out;

  }



  .header__icon.is-active {

    background-color: #636e74;



    border-radius: 8px;

  }



  /* .banner__top{



		padding-top: 100px;



	} */



  .header__logo {

    padding-top: 10px;

  }



  .u-mobile {

    display: block;

  }



  .header__menu {

    display: none;

  }



  html {

    font-size: 15px;

  }



  body {

    line-height: 1.75;

  }



  .title__lv2__en {

    font-size: 40px;



    margin-right: 5.867vw;

  }



  .contact__all {

    border-radius: 6.519vw;

  }



  .contact__all {

    padding: 60px 6vw 50px;

  }



  .contact__text {

    margin-top: 0px;

  }



  .header__menu {

    width: 100%;



    /* border-radius: 0 0 999px 999px; */



    border-radius: 0;



    padding: 30px 0;

  }



  .header__menu li {

    width: 100%;



    padding: 10px 15px;



    text-align: center;

  }



  .link__mailr {

    transform: translateX(54px);



    width: 0;



    transition: all 0.3s ease-in-out;

  }



  .link__mailr.is-active {

    width: 54px;



    transform: translateX(0px);

  }



  .banner__slider {

    width: 100%;

  }



  .banner__top {

    position: relative;

  }



  .banner__title {

    width: 100%;



    position: absolute;



    z-index: 10;



    padding-top: 10px;

  }



  .banner__slider img {

    min-height: 350px;



    object-fit: cover;

  }



  .banner__top {

    background-position: left bottom;



    padding-top: 130px;

  }



  .banner__title {

    padding-top: 20px;

  }



  .header__bar_text {

    background-color: #fff;



    padding-bottom: 8px;

  }

}



@media screen and (max-width: 600px) {

  .footer__menu {

    display: none;

  }

}



@media screen and (max-width: 520px) {

  .link__phone {

    font-size: 11.2vw;

  }



  .link__phone img {

    width: 10.2vw;



    margin-right: 2.5vw;

  }



  .link__mail::after {

    right: 0px;

  }



  .banner__title {

    bottom: 10px;



    padding-bottom: 10px;



    background-color: #fff;



    max-width: 320px;



    border-radius: 0 80px 80px 0;

  }

}



@media screen and (max-width: 400px) {

  .link__phone {

    font-size: 10vw;

  }

}



/*  */



.banner__title__page {

  width: 40%;



  height: 70px;

}



.content_50th {

  background-color: #dfeae8;



  padding-top: 170px;



  padding-bottom: 270px;

}



.fs19 {

  font-size: 19px;

}



.x50th__content {

  position: relative;



  border-radius: 35px;



  background-image: url(../img/top/bg_a.jpg);



  background-size: cover;



  background-position: center;



  border: 5px solid #3eaba4;



  padding-top: 40px;



  padding-bottom: 60px;

}



.x50th__content::before,

.x50th__content::after {

  position: absolute;

}



.x50th__content::before {

  content: url(../img/common/i1.png);



  bottom: -65px;



  left: -150px;



  z-index: 4;

}



.x50th__content::after {

  content: url(../img/common/i3.png);



  top: -114px;



  right: -85px;



  z-index: 4;

}



.title_50text {

  font-size: 51px;



  color: #3eaba4;



  line-height: 1.3;



  margin-bottom: 26px;



  margin-top: 20px;

}



.line_ht {

  position: absolute;



  width: 11px;



  height: 9px;



  background-color: #dfeae8;



  z-index: 3;

}



.line_01 {

  top: 323px;



  left: -8px;



  transform: rotate(30deg);



  clip-path: polygon(0 0, calc(100% - 5px) 0, 100% 100%, 5px 100%);

}



.line_02 {

  transform: rotate(58deg);



  top: 399px;



  left: 102px;



  clip-path: polygon(5px 0%, 100% 0%, calc(100% - 5px) 100%, 0% 100%);

}



.col_50 {

  width: 38.2%;



  text-align: center;



  padding-left: 30px;



  padding-right: 10px;

}



.col_50text {

  width: 61.8%;



  padding-right: 15px;

}



.content_50th {

  position: relative;



  overflow: hidden;



  padding-left: 150px;



  padding-right: 150px;

}



@media screen and (max-width: 1600px) {

  .title_50text {

    font-size: 41px;

  }

}



@media screen and (max-width: 1450px) {

  .title_50text {

    font-size: 37px;

  }



  .content_50th .fs19 {

    font-size: 16px;

  }



  .line_ht {

    display: none;

  }

}



@media screen and (max-width: 1279px) {

}



@media screen and (max-width: 999px) {

  .col_50 {

    width: 100%;



    padding-left: 15px;



    padding-right: 15px;

  }



  .col_50 img {

    max-width: 60vw;

  }



  .col_50text {

    width: 100%;



    padding-left: 15px;



    padding-right: 15px;

  }



  .x50th__content::before {

    transform: scale(0.7);

  }



  .x50th__content::after {

    transform: scale(0.7);

  }



  .content_50th {

    padding-left: 50px;



    padding-right: 50px;

  }



  .x50th__content {

    border-radius: 22px;

  }



  .x50th__content::after {

    top: -110px;



    right: -99px;

  }



  .x50th__content::before {

    bottom: -80px;



    left: -98px;

  }

}



@media screen and (max-width: 767px) {

  .content_50th {

    padding-left: 0px;



    padding-right: 0px;

  }



  .x50th__content::before {

    bottom: -80px;



    left: -53px;

  }



  .title_50text {

    font-size: 30px;

  }

}



@media screen and (max-width: 374px) {

  .title_50text {

    font-size: 25px;

  }

}



.content__service {

  position: relative;



  background-color: #fff;



  clip-path: ellipse(calc(100vw + 700px) 100% at 50% 100%);



  margin-top: -100px;



  padding-top: 130px;



  padding-bottom: 120px;



  z-index: 1;

}



.content__service::before {

  position: absolute;



  top: 0;



  left: 0;



  height: 100%;



  width: 100%;



  content: "";



  background-image: url(../img/top/f6.jpg);



  background-position: center bottom;



  background-repeat: no-repeat;



  background-size: 1920px auto;



  opacity: 0.2;

}



.content__service .cont-1420 {

  position: relative;



  z-index: 1;

}



.gap_45 {

  gap: 20px 45px;

}



.gap_45 .col__ra {

  width: calc(33.3333% - 30px);

}



.content__service .row {

  justify-content: center;

}



.text__ra span {

  display: inline-block;



  font-size: 25px;



  color: #fff;



  background-color: #3eaba4;



  border-radius: 999px;



  margin-bottom: 5px;



  line-height: 1.5;



  padding: 3px 15px 4px;

}



.col__ra {

  position: relative;

}



.img__ra img {

  border-radius: 999px;



  border: 10px solid #fff;

}



.text__ra {

  position: absolute;



  left: 0;



  top: 345px;

}



.content__service__text {

  margin-top: 35px;



  margin-bottom: 50px;

}



.col__ra1::before {

  position: absolute;



  content: '';



  background-image: url(../img/common/i5.png);



  background-repeat: no-repeat;



  background-size: contain;



  width: 146px;



  height: 144px;



  z-index: -1;



  left: -5.208vw;



  bottom: -6.25vw;



  animation: pikopiko1 1s steps(2, start) infinite;

}

@keyframes pikopiko1 {

  0% {

    transform: rotate(30deg);

  }

  to {

    transform: rotate(0deg);

  }

}



.col__ra1::after {

  position: absolute;



  content: '';



  background-image: url(../img/common/i17.png);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center;



  width: 184px;

  height: 263px;



  /* top: -5.208vw; */

  /* right: -2.604vw; */



  top: -11.208vw;

  left: -6.208vw;



  z-index: -1;

  

  animation: pikopiko2 1s steps(2, start) infinite;

}

@keyframes pikopiko2 {

  0% {

    transform: rotate(-10deg);

  }

  to {

    transform: rotate(20deg);

  }

}



.col__ra3a::before {

	position:absolute;

  content:"";

	width:129px;

	height:155px;

	display:block;

	transition:all .2s cubic-bezier(0.2, 1, 0.66, 1);

	vertical-align:middle;

	background:url(../img/common/i6.png) center / 100%  no-repeat;/*ひょっこりさせるイラスト*/

	opacity:0;/*不透明度を0に*/

	z-index:-1;/*重ね順を下に*/

}

.col__ra3a::before {

  top: 0;

  right: -5%;

  /* transform: translate(-50%); */

  transform: rotate(40deg);

}

.col__ra3a:hover::before {

  top: -40px;

  opacity: 1;

}





.col__ra3b::before {

	position:absolute;

  content:"";

	width:129px;

	height:155px;

	display:block;

	transition:all .2s cubic-bezier(0.2, 1, 0.66, 1);

	vertical-align:middle;

	background:url(../img/common/i6.png) center / 100%  no-repeat;/*ひょっこりさせるイラスト*/

	opacity:0;/*不透明度を0に*/

	z-index:-1;/*重ね順を下に*/

}

.col__ra3b::before {

  top: 0;

  left: 15%;

  /* transform: translate(-50%); */

}

.col__ra3b:hover::before {

  top: -100px;

  opacity: 1;

}



.col__ra4 {

  z-index: 1;

}



.col__ra4::before {

  position: absolute;



  content: url(../img/common/i6.png);



  top: -100px;



  left: 55px;



  z-index: -1;

}



.col__ra5::before {

  position: absolute;



  content: '';



  background-image: url(../img/common/i8.png);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center;



  width: 147px;

  height: 183px;



  bottom: -7.813vw;



  right: -14.063vw;



  z-index: -1;



  animation: pikopiko3 1s steps(2, start) infinite;

}

@keyframes pikopiko3 {

  0% {

    transform: rotate(20deg);

  }

  to {

    transform: rotate(-10deg);

  }

}



.content__works {

  padding-bottom: 160px;



  background-color: #dfeae8;



  clip-path: ellipse(calc(100vw + 100px) 100% at 50% 0%);



  overflow: hidden;



  padding-top: 125px;

}



.slider_works {

  margin-top: 50px;

}



.item__works p {

  font-size: 18px;



  color: #3eaba4;



  margin-top: 6px;

}



.item__works img {

  border-radius: 25px;

}



.slider_works .item__works {

  padding-left: 20px;



  padding-right: 20px;

}



.slider_works .item__works img,

.slider_works .item__works p {

  margin-left: -7.4vw;

}



.slick-next {

  position: absolute;



  top: 50%;



  transform: translateY(-50%);



  right: 75px;



  width: 76px;

}



.slick-prev {

  position: absolute;



  top: 50%;



  transform: translateY(-50%);



  left: 75px;



  width: 76px;



  z-index: 1;

}



.slick-next {

  right: 75px;

}



.maxx_600 {

  max-width: 610px;

}



.link_page {

  font-size: 18px;



  color: #3eaba4;



  position: relative;



  border-bottom: dotted 2px #3eaba4;



  padding-right: 35px;



  padding-bottom: 5px;

}



.link_page::after {

  position: absolute;



  content: url(../img/common/i10.png);



  transform: scale(0.3);



  top: -27px;



  right: -25px;



  transition: all 0.3s ease-in-out;

}



.content__works__title .title__lv2 {

  display: inline-block;

}



.al__center {

  align-items: center;



  justify-content: center;

}



.gap_70 {

  gap: 30px 70px;

}



.link_page:hover {

  border-bottom: dotted 2px #3eaba4;

}



.link_page:hover::after {

  right: -35px;

}



.text__run_footer {

  /* margin-top: 190px; */

  margin-top: 80px;



  margin-bottom: 70px;



  height: 109px;



  background-size: auto 100%;



  animation: moveBackground 800s linear infinite;



  background-image: url(../img/common/text__run__footer.png);



  background-repeat: repeat-x;

}



.link_r {

  background-color: #fff;



  border-radius: 999px;



  color: #3eaba4;



  position: relative;



  padding: 11px 62px 13px 20px;



  left: 135px;



  top: -25px;



  font-size: 18px;

}



.content__recruit {

  position: relative;

}



.content__recruit::before {

  position: absolute;



  content: "";



  width: 1535px;



  height: 1085px;



  right: 0;



  background-color: #dfeae8;



  top: 135px;



  border-radius: 60px 0 0 60px;

}



.z10 {

  position: relative;



  z-index: 10;

}



.link_r::after {

  position: absolute;



  content: url(../img/common/i10.png);



  transform: scale(0.3);



  top: -16px;



  right: -10px;



  transition: all 0.3s ease-in-out;

}



.link_r:hover::after {

  right: -20px;

}



.content__recruit {

  padding-top: 280px;



  padding-bottom: 80px;

}



.cont-recruit {

  max-width: 368px;



  margin-left: 33.594vw;



  width: calc(100% - 30px);

}



.link__recruit p {

  font-size: 24px;



  color: #3eaba4;



  padding-left: 5px;



  margin-bottom: 9px;

}



.link__recruit img {

  border-radius: 15px;

}



.img__rleft img {

  width: 26.667vw;



  border-radius: 0 60px 60px 0;

}



.img__rright img {

  width: 40.417vw;



  border-radius: 60px 0 0 60px;

}



.img__rright__bottom img {

  border-radius: 30px !important;



  width: max(18.542vw, 280px);

}



.content__recruit__text {

  margin-bottom: 60px;

}



.content__recruit .title__lv2 .title__lv2__en {

  margin-right: 0;



  position: relative;



  left: -37px;

}



.img__rleft {

  position: absolute;



  top: 135px;



  left: 0;

}



.img__rright {

  position: absolute;



  right: 0;



  top: -185px;

}



.link__recruit {

  margin-bottom: 35px;

}



.img__rright__bottom {

  position: relative;



  left: 90px;



  top: -70px;



  width: max(18.542vw, 280px);

}



.img__rright__bottom::after {

  position: absolute;



  content: '';



  background-image: url(../img/common/i12.png);

  background-repeat: no-repeat;

  background-position: center;

  background-size: contain;



  width: 162px;

  height: 166px;



  right: -4.167vw;



  bottom: -6.771vw;



  z-index: 1;



  animation: pikopiko3 1s steps(2, start) infinite;

}



.content__recruit .z10::before {

  position: absolute;



  content: url(../img/common/i11.png);



  left: 35.5%;



  top: -250px;



  animation: pikopiko3 1s steps(2, start) infinite;

}



.content__kids {

  margin-top: 120px;

}



.kids-img {

  display: block;

}



.cont__kids__green {

  background-color: #dfeae8;

  padding-bottom: 140px;

}



.cont__kids__white {

  position: relative;

  background-color: white;

  border-radius: 30px;

  padding: 80px 4% 95px;

  margin-top: -60px;

  z-index: 5;

  text-align: center;

}

.cont__kids__white::after {

  content: '';

  background-image: url(../img/top/j4.png);

  background-repeat: no-repeat;

  background-position: center;

  background-size: contain;

  position: absolute;

  width: 217px;

  height: 156px;

  bottom: -40px;

  right: -40px;

  animation: pikopiko3 1s steps(2, start) infinite;

}





.kids-flex {

  display: flex;

  justify-content: space-between;

  max-width: 1050px;

  width: 100%;

  margin: auto;

}

.kids-flex img {

  display: block;

  max-width: 310px;

  width: 23%;

}



.title__lv3 {

  font-family: "Zen Maru Gothic", serif;

  color: #3eaba4;

  display: inline-block;

  margin: auto;

  text-align: left;

  margin-bottom: 40px;

}

.title__lv3__ja::before {

  position: relative;

  top: -5px;

  padding-right: 15px;

  content: url(../img/common/i4.png);

}

.title__lv3__ja.is-visible::before {

  animation: fadeIn 2.0s forwards;

}

.title__lv3__ja {

  font-size: 38px;

}

.title__lv3__en {

  font-size: 26px;

  color: #3e63b5;

  padding-left: 35px;

  font-family: "Zen Maru Gothic", serif;

}





.animated-text span:nth-child(2) {

  color: #3e63b5 !important;

}



.banner__title__page {

  padding-left: 4.95vw;



  margin-top: 10.417vw;

}



@keyframes moveBackground {

  from {

    background-position: 0 0;

  }



  to {

    background-position: 10000% 0;

  }

}



.rec__right {

  display: none;

  cursor: pointer;

  position: fixed;

  z-index: 100;

  top: 130px;

  right: 0;

  /* bottom: 130px; */

}



@media screen and (max-width: 1650px) {

  .col__ra1::before {

    left: 0;

  }



  .col__ra1::after {

    top: -100px;



    left: 0;

  }

}



@media screen and (max-width: 1600px) {

  .slider_works .item__works img,

  .slider_works .item__works p {

    margin-left: 0vw;

  }

}



@media screen and (max-width: 1450px) {

  .text__ra {

    top: 330px;

  }



  .gap_45 {

    gap: 50px 30px;

  }



  .gap_45 .col__ra {

    width: calc(33.3333% - 20px);

  }



  .img__rright img {

    width: 36.417vw;

  }



  .img__rright__bottom img {

    width: max(18.542vw, 280px);

  }



  .img__rright__bottom::after {

    

    width: 113px;



    height: 116px;



    right: 0;

  }



  .banner__page .banner__slider img {

  }

}



@media screen and (max-width: 1279px) {

  .img__rright__bottom img,

  .img__rright__bottom {

    width: max(18.542vw, 220px);

  }



  .text__ra {

    top: 25.801vw;

  }



  .text__ra span {

    font-size: max(1.955vw, 18px);

  }



  .img__rright__bottom::after {

    right: -70px;



    bottom: -78px;

  }



  .img__rright {

    top: -210px;

  }

}



@media screen and (max-width: 999px) {

  .img__rleft,

  .img__rright {

    position: initial;



    display: inline-block;



    width: 45vw;

  }



  .img__rleft {

    text-align: left;

  }



  .img__rright {

    text-align: right;

  }



  .img__rleft img,

  .img__rright img {

    width: 45vw;

  }



  .col__ra1::before {

    bottom: -90px;

    width: 102px;

    height: 100px;    

  }



  .col__ra1::after {

    top: -110px;

    width: 128px;

    height: 184px;

  }

  

  .col__ra3a::before,

  .col__ra3b::before {

    width: 90px;

    height: 108px;

  }

  .col__ra3b:hover::before {

    top: -70px;

  }



  .col__ra4::before {

    top: -90px;



    left: 40px;



    transform: scale(0.7);

  }



  .slick-next {

    width: 40px;



    right: 30px;

  }



  .slick-prev {

    width: 40px;



    left: 30px;

  }



  .slider_works .item__works img,

  .slider_works .item__works p {

    margin-left: 0vw;

  }



  .slider_works .item__works {

    padding-left: 10px;



    padding-right: 10px;

  }



  .item__works p {

    font-size: 16px;

  }



  .content__works {

    padding-top: 60px;



    padding-bottom: 70px;



    clip-path: ellipse(calc(100vw + 200px) 100% at 50% 0%);

  }



  .cont-recruit {

    margin: 0 auto;

  }



  .content__recruit .title__lv2 .title__lv2__en {

    left: 0;

  }



  .link_r {

    left: 100px;



    font-size: 16px;



    padding: 9px 62px 10px 20px;

  }



  .img__rright__bottom::after {

    width: 81px;

    height: 83px;

    right: -40px;

    bottom: -40px;

  }



  .link_r::after {

    top: -18px;

  }



  .text__run_footer {

    margin-top: 50px;

  }



  .text__run_footer {

    height: 65px;

  }



  .content__recruit {

    padding-top: 200px;



    padding-bottom: 50px;

  }



  .title__lv2 br {

    display: none;

  }



  .content__recruit .title__lv2__en {

    margin-right: 45px !important;

  }



  

  .col__ra5::before {

    width: 103px;

    height: 128px;

  }

}



@media screen and (max-width: 767px) {

  .content__recruit .title__lv2__en {

    margin-right: 5.867vw !important;

  }



  .cont-recruit {

    max-width: 360px;

  }



  .content_50th {

    padding-top: 120px;



    padding-bottom: 200px;

  }



  .content__recruit__text {

    margin-bottom: 35px;

  }



  .link__recruit {

    margin-bottom: 20px;

  }



  .img__rleft,

  .img__rright {

    position: initial;



    display: inline-block;



    width: 48vw;

  }



  .img__rright__bottom img,

  .img__rright__bottom {

    width: max(18.542vw, 150px);

  }



  .img__rright__bottom {

    top: -5vw;

  }



  .img__rright img {

    width: 40.417vw;



    border-radius: 4.5vw 0 0 4.5vw;

  }



  .img__rleft img {

    border-radius: 0 4.5vw 4.5vw 0;

  }



  .img__rright__bottom {

    left: auto;



    right: 0;

  }



  .img__rright__bottom::after {

    right: auto;



    left: -40px;

  }



  .slider_works .item__works {

    padding-left: 7.5px;



    padding-right: 7.5px;

  }





  .col__ra1::before {

    bottom: -90px;

  }



  .col__ra1::after {

    right: -40px;



    transform: scale(0.7);

  }



  .gap_45 {

    gap: 50px 30px;

  }



  .gap_45 .col__ra {

    width: calc(50% - 30px);

  }



  .text__ra {

    top: 33.801vw;

  }



  .content__service {

    padding-top: 80px;



    padding-bottom: 60px;

  }



  .content__service__text {

    margin-top: 20px;



    margin-bottom: 30px;

  }



  .content__service::before {

    background-size: cover;

  }



  .un__right {

    overflow-x: hidden;

  }



  .col__ra5::before {

    bottom: -100px;



    right: -100px;

  }



  .col__ra4::before {

    transform: scale(0.7) rotate(15deg);

  }



  .img__rright__bottom img {

    border-radius: 2.5vw;

  }



  .col__ra3a::before {

    right: 0;

  }



  .rec__right {

    width: 60px;

    top: 50px;

  }

}



@media screen and (max-width: 520px) {

  .gap_45 {

    gap: 50px 15px;

  }



  .gap_45 .col__ra {

    width: calc(50% - 7.5px);

  }



  .text__ra span {

    font-size: 14px;



    padding: 3px 12px 4px;

  }



  .content__recruit .z10::before {

    top: -215px;

    left: 0;

    right: 0;

    margin: auto;

    display: flex;

    justify-content: center;

  }

  .col__ra1::before {

    bottom: -55px;

    width: 87px;

    height: 86px;

  }

  .col__ra1::after {

    width: 110px;

    height: 158px;

  }

  .col__ra5::before {

    bottom: -50px;

    width: 88px;

    height: 110px;

  }

}



@media screen and (max-width: 1450px) {

  .cont__kids__white::after {

    width: 152px; 

    height: 109px;

    right: 5%;

  }

}



@media screen and (max-width: 999px) {

  .title__lv2__en {

    letter-spacing: 2px;

  }



  .title__lv3__ja {

    font-size: 28px;

  }

  .title__lv3__en {

    font-size: 22px;

  }

  .cont__kids__white::after {

    width: 108px;

    height: 78px;

  }

}



@media screen and (max-width: 767px) {

  .title__lv2__en {

    letter-spacing: 0px;

  }



  .col__ra1::after {

    top: -40px;

    right: -22px;

  }



  .cont__kids__white {

    padding: 60px 4% 60px;

    margin-top: -20px;

  }



  .title__lv3 {

    margin-bottom: 30px;

  }



  .title__lv3__ja::before {

    top: 0;

  }

  .title__lv3__ja {

    font-size: 22px;

    padding-left: 35px;

    line-height: 1.5;

  }

  .title__lv3__ja::before {

    position: absolute;

    left: 0;

  }

  

  .title__lv3__en {

    font-size: 18px;

  }



  .kids-flex {

    flex-wrap: wrap;

    row-gap: 20px;

  }



  .kids-flex img {

    width: 48%;

  }

}



@media screen and (max-width: 480px) {

  .kids-flex img {

    width: 100%;

  }

}





/* Works */



.content__page_up {

  background-color: #dfeae8;

}



.menu__works_ul {

  justify-content: left;



  gap: 40px;

}



.menu__works_ul li {

  width: calc(33.333% - 26.7px);



  max-width: 298px;

}



.menu__works_ul li a {

  position: relative;



  display: block;



  width: 100%;



  text-align: center;



  background-color: #fff;



  border-radius: 999px;



  color: #3eaba4;



  padding-top: 10px;



  padding-bottom: 10px;



  box-shadow: 0px 0px 16px 0px rgba(62, 171, 164, 0.2);



  -webkit-box-shadow: 0px 0px 16px 0px rgba(62, 171, 164, 0.2);



  -moz-box-shadow: 0px 0px 16px 0px rgba(62, 171, 164, 0.2);



  transition: all 0.3s ease-in-out;

}



.menu__works_ul li a::after {

  position: absolute;



  top: 9px;



  right: 30px;



  content: url(../img/common/i-p.png);

}



.menu__works_ul li a:hover {

  background-color: #3eaba4;



  color: #fff;



  transition: all 0.3s ease-in-out;

}



.menu__works_ul {

  width: calc(100% - 30px);



  max-width: 975px;



  margin: 0 auto;

}



.title__line {

  font-size: 25px;



  color: #3eaba4;



  border-bottom: 1px solid #3eaba4;

}



.gap45 {

  gap: 55px;

}



.col-33 {

  width: calc(33.3333% - 36.7px);



  display: flex;

}



.col-33 img {

  width: 100%;

}



.content__page_up {

  position: relative;



  margin-top: -95px;

}



.bre {

  width: 40%;



  background-color: #3eaba4;



  color: white;



  padding-left: 90px;



  padding-top: 15px;



  padding-bottom: 16px;



  bottom: 90px;



  position: absolute;



  z-index: 10;

}



.banner__page {

  position: relative;



  z-index: 10;

}



.menu__works {

  padding-top: 245px;



  /* padding-bottom: 255px; */

}



.works__content {

  /* clip-path: ellipse(calc(100vw + 218.75vw) 100% at 50% 100%); */



  margin-top: -100px;



  padding-top: 90px;



  /* background-color: #fff; */



  background-color: #dfeae8;



  padding-bottom: 160px;

}



.works_item {

  padding-top: 120px;

}



.title__line {

  margin-bottom: 55px;

}



.menu__works_ul li a:hover::after {

  filter: brightness(0) invert(1);

}



.banner__page .banner__slider {

  display: flex;

}



.banner__page .banner__slider img {

  min-height: 350px;



  object-fit: cover;

}



@media screen and (max-width: 1400px) {

  .banner__page .banner__slider img {

    min-height: 462px;

  }

}



@media screen and (max-width: 1279px) {

  .bre {

    bottom: 50px;

  }



  .banner__title__page {

    padding-left: 4vw;

  }



  .banner__title__page .title__lv2__en {

    margin-right: 20px;

  }



  .bre {

    position: initial;



    width: 100%;

  }



  .content__page_up {

    margin-top: -63px;

  }



  .banner__title__page {

    height: auto;



    margin-top: 200px;

  }



  .header__bar_text {

    background-color: #fff;

  }

}



@media screen and (max-width: 1100px) {

  .banner__page .banner__slider img {

    min-height: 300px;



    padding-top: 70px;

  }

}



@media screen and (max-width: 999px) {

  .gap45 {

    gap: 30px;

  }



  .col-33 {

    width: calc(33.3333% - 20px);

  }



  .works_item {

    padding-top: 90px;

  }



  .title__line {

    font-size: 22px;

  }



  .works__content {

    padding-top: 30px;



    padding-bottom: 80px;

  }



  .menu__works_ul {

    max-width: 645px;



    gap: 20px;

  }



  .menu__works_ul li {

    width: calc(50% - 10px);



    max-width: 300px;

  }



  .menu__works {

    padding-top: 150px;



    /* padding-bottom: 150px; */

    padding-bottom: 90px;

  }



  .bre {

    padding-left: 15px;

  }

}



@media screen and (max-width: 767px) {

  .banner__page .banner__slider img {

    padding-top: 0;

  }



  .banner__page {

    padding-top: 130px;

  }



  .banner__title__page {

    margin-top: 40px;



    padding-bottom: 10px;



    margin-bottom: 30px;



    order: 2;



    padding-left: 15px !important;



    width: 100%;

  }



  .banner__title__page h2 {

    display: inline-block;



    padding-right: 10px;



    border-bottom: 3px #3eaba4 dashed;

  }



  .banner__page .title__lv2__en {

    font-size: 50px;

  }



  .banner__slider {

    order: 1;

  }



  .banner__page .banner__slider img {

    min-height: 220px;

  }



  .banner__page .banner__slider img {

    border-radius: 0;

  }



  .menu__works {

    padding-top: 60px;

  }



  .content__page_up {

    margin-top: 0px;

  }



  .title__line {

    margin-bottom: 30px;

  }



  .works_item {

    padding-top: 60px;

  }



  .title__line {

    font-size: 20px;

  }



  .title__lv2__ja {

    bottom: 1px;

  }

}



@media screen and (max-width: 620px) {

  .gap45 {

    gap: 20px;

  }



  .col-33 {

    width: calc(50% - 10px);

  }



  .menu__works_ul {

    justify-content: center;

  }



  .menu__works_ul li {

    width: 100%;



    max-width: 320px;

  }

}



/*  */



.service__text_top {

  font-size: 29px;



  color: #3eaba4;



  line-height: 1.5;



  padding-top: 245px;



  padding-bottom: 245px;

}



.service__content {

  margin-top: -100px;



  position: relative;



  padding-top: 40px;



  background-color: #fff;



  padding-bottom: 155px;



  /* clip-path: ellipse(calc(100vw + 3200px) 100% at 50% 100%); */

  clip-path: ellipse(calc(300vw + 3200px) 100% at 50% 100%);

}



.service__item__title_text {

  font-size: 37px;



  font-family: "Zen Maru Gothic", serif;



  font-weight: 500;



  letter-spacing: 1px;



  font-style: normal;



  display: inline-block;



  background-color: #fff;



  border-radius: 0 60px 0 0;



  position: relative;



  top: -149px;



  padding: 13px 50px 38px 15px;



  color: #5e5e5e;

}



.service__item__title_text .bold {

  font-size: 84px;



  color: #3eaba4;



  letter-spacing: 0;



  position: relative;



  line-height: 1;



  padding-right: 30px;



  bottom: -8px;

}



.service__item__title_text .bold::after {

  content: "";



  width: 1px;



  height: 40px;



  background-color: #5e5e5e;



  position: absolute;



  right: 10px;



  bottom: 25px;

}



.title__lvx3 {

  font-size: 29px;



  color: #3eaba4;



  margin-bottom: 13px;

}



.title_lv4 {

  font-size: 25px;



  color: #3eaba4;

}



.title_lv4 {

  border-top: 1px solid #3eaba4;



  border-bottom: 1px solid #3eaba4;

}



.table__blc {

  border-spacing: 0;



  border-radius: 25px;



  overflow: hidden;



  width: 100%;



  border: 1px solid #3eaba4;



  margin-top: 45px;



  background-color: #fff;

}



.table__blc tr {

  border-bottom: 1px solid #3eaba4;

}



.table__blc tr td {

  border-bottom: 1px solid #3eaba4;



  padding-top: 23px;



  padding-bottom: 24px;

}



.table__blc tr td:first-child {

  background-color: rgba(62, 171, 164, 0.05);



  color: #3eaba4;



  padding-left: 45px;



  width: 290px;



  vertical-align: top;

}



.table__blc tr td:last-child {

  width: calc(100% - 290px);



  padding-left: 45px;



  padding-right: 10px;



  background-color: #fff;

}



.table__blc tr:last-child td {

  border-bottom: 0;

}



.service__item {

  padding-top: 160px;

}



.service__text_x {

  margin-top: -97px;



  padding-bottom: 30px;

}



.col_2l {

  width: calc(50% - 25px);

}



.gap_50 {

  gap: 50px;

}



.list__dot_b {

  margin-top: 35px;

}



.list__dot_b li {

  position: relative;



  padding-left: 16px;

}



.list__dot_b li::before {

  content: "●";



  position: absolute;



  font-size: 12px;



  color: #3eaba4;



  top: 5px;



  left: 0;

}



.col-5x p {

  margin-top: -3px;

}



.service_box {

  gap: 30px;

	margin-top: 35px;

	margin-bottom: 60px;

}



.service_img {

	margin-top: 45px;

	margin-bottom: 25px;

}



.col-5x {

  width: calc(20% - 24px);

}



.hello {

  margin-top: 45px;



  /* margin-bottom: 35px; */

}



.title_lv4 {

  margin-top: 50px;

}



.service__text_x8 {

  margin-top: -125px;

}



.service_box2 {

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

  padding-top: 80px;

  row-gap: 100px;

}

.service_box2 img {

  width: 28.5%;

}

.service__text_y {

  padding-top: 60px;

  padding-bottom: 50px;

}

.service__text_y2 {

  padding-top: 20px;

  padding-bottom: 30px;

}

.service__text_y3 {

  padding-top: 40px;

}



.service_box3 {

  justify-content: space-between;

  padding-top: 40px;

  row-gap: 40px;

}

.service_box3 img {

  width: 24%;

}



.grid.service_box3 {

  display: grid;

  grid-template-columns: 1fr 1fr 1fr 1fr;

  grid-column-gap: 1.33333333%;

}

.grid.service_box3 img {

  width: 100%;

}



.service_flex {

  display: flex;

  align-items: center;

}

.service_flex p {

  width: calc(100% - 213px);

  padding-left: 15px;

}



/* @media screen and (min-width: 1920px) {

  .service__content {

    clip-path: ellipse(150vw 1700px at 50% 1700px);

  }

} */



@media screen and (max-width: 1400px) {

  .service_box2 {

    row-gap: 7.14285vw;

  }

}



@media screen and (max-width: 1279px) {

  .service__text_top {

    padding-top: 145px;



    padding-bottom: 200px;

  }



  .col-5x {

    width: calc(20% - 15px);

  }



  .service_box {

    gap: 18px;

  }

}



@media screen and (max-width: 1050px) {

  .service__content br.pc {

    display: none;

  }

}



@media screen and (max-width: 999px) {

  .service__content {

    padding-bottom: 100px;

  }



  .service_box {

    gap: 30px;



    justify-content: space-between;

  } 



  .col-5x {

    width: calc(50% - 15px);



    max-width: 252px;

  }



  .service_box {

    gap: 18px;

  }



  .service__text_top {

    font-size: 21px;

  }



  .service__text_top {

    padding-top: 75px;



    padding-bottom: 170px;

  }



  .service__item {

    padding-top: 100px;

  }



  .service__item__title_text {

    font-size: 26px;



    padding: 5px 30px 18px 15px;



    top: -103px;



    border-radius: 0 30px 0 0;

  }



  .service__item__title_text .bold {

    font-size: 60px;

  }



  .service__item__title_text .bold::after {

    bottom: 17px;

  }



  .service__text_x {

    margin-top: -47px;

  }



  .service__text_x8 {

    margin-top: -47px;

  }



  .service_box3 {

    gap: 18px;

  }

  .service_box3 img {

    width: calc(50% - 15px);

    max-width: 252px;

  }

  

  .grid.service_box3 {

    grid-template-columns: 1fr 1fr 1fr;

  }

  .grid.service_box3 img:nth-child(3n+2) {

    margin: auto;

  }

}



@media screen and (max-width: 821px) {

  .service_box {

    justify-content: center;

  }

  .service_box2 {

    gap: 18px;

    justify-content: center;

  }

  .service_box2 img {

    width: calc(50% - 15px);

    max-width: 252px;

  }

  .service_box3 {

    justify-content: center;

  }

  .grid.service_box3 {

    grid-template-columns: 1fr 1fr;

    grid-column-gap: 18px;

  }

  .grid.service_box3 img:nth-child(odd) {

    margin-left: auto;

    margin-right: 0;

  }

  .grid.service_box3 img:nth-child(even) {

    margin-right: auto;

    margin-left: 0;

  }

  .tenken_label {

    max-width: 300px;

  }

}



@media screen and (max-width: 767px) {

  .service__content {

    padding-bottom: 50px;

  }



  .service__text_x {

    margin-top: -67px;

  }



  .service__text_x8 {

    margin-top: -67px;

  }



  .service__item {

    padding-top: 70px;

  }



  .service__item__title_text {

    top: -95px;

  }



  .service__item__title img {

    min-height: 200px;



    object-fit: cover;

  }



  .title__lvx3 {

    font-size: 22px;

  }



  .table__blc tr td:first-child {

    border-bottom: 0;



    padding-bottom: 10px !important;

  }



  .table__blc tr td:last-child {

    padding-top: 10px !important;

  }



  .table__blc tr td {

    width: 100% !important;



    float: left;



    padding-left: 10px !important;



    padding-right: 10px !important;

  }



  /* .service__row {



		margin-top: 10px;



	} */



  .title_lv4 {

    margin-top: 10px;



    font-size: 22px;

  }



  .table__blc {

    margin-top: 30px;

  }



  .table__blc {

    border-radius: 15px;

  }



  .title_lv4 {

    margin-top: 10px;

  }



  .col_2l {

    width: 100%;

  }



  .list__dot_b {

    margin-top: 20px;

  }



  .hello {

    margin-top: 35px;



    margin-bottom: 25px;

  }



  .service_img {

    margin-top: 25px;

    margin-bottom: 15px;

  }



  .service__text_y {

    padding-top: 20px;

    padding-bottom: 20px;

  }



  .service__text_y3 {

    padding-top: 15px;

  }



  .service_box2 {

    padding-top: 30px;

  }



  .service_box3 {

    padding-top: 10px;

  }

}



@media screen and (max-width: 620px) {

  .service__item__title_text {

    font-size: 26px;



    padding: 5px 15px 18px 15px;

  }



  .service__item__title_text {

    padding-left: 0;

  }



  .service__item__title_text .bold {

    padding-right: 15px;

  }



  .service__item__title_text {

    font-size: 18px;

  }



  .service__item__title_text .bold {

    font-size: 40px;

  }



  .service__item__title_text .bold::after {

    bottom: 13px;



    height: 30px;



    right: 4px;

  }



  .service__item__title_text {

    top: -75px;

  }

}



@media screen and (max-width: 480px) {

  .service__text_top {

    font-size: 20px;

  }



  .col-5x p {

    font-size: 14px;

  }



  .service_flex {

    flex-wrap: wrap;

    justify-content: center;

  }

  .service_flex p {

    padding-top: 15px;

    padding-left: 0;

    width: 100%;

  }

}



/*  */



.bg_logo {

  padding-top: 250px;



  padding-bottom: 260px;

}



.rtext_ddg {

  font-size: 40px;



  color: #3eaba4;



  padding-top: 30px;

}



.txt_right {

  text-align: right;

}



.bg_logo {

  background-image: url(../img/company/bg-logo.png);



  background-size: 413px auto;



  background-repeat: no-repeat;



  background-position: 130px 255px;

}



.col__rtext {

  padding-right: 3.5vw;

}



.col__rtext,

.col__rimg {

  width: 50%;

}



.col__rimg img {

  border-radius: 25px;

}



.mg_h {

  margin: 0 -20px;

}



.rtext_t,

.nrtext_t {

  max-width: 625px;

}



.company__content {

  margin-top: -100px;



  background-color: #fff;



  position: relative;



  padding-top: 70px;



  clip-path: ellipse(calc(100vw + 4300px) 100% at 50% 100%);

}



.rtext_t {

  margin-top: 30px;



  margin-bottom: 49px;

}



.title__lv4 {

  font-size: 40px;



  font-family: "Zen Maru Gothic", serif;



  font-weight: 500;



  color: #3eaba4;



  padding-top: 115px;

}



.subtitle__lv4 {

  color: #3e63b5;



  font-family: "Zen Maru Gothic", serif;



  font-weight: 500;



  margin-top: -5px;

}



.cp__002 {

  background-color: #dfeae8;

}



.title__lv5 {

  font-family: "Zen Maru Gothic", serif;



  font-weight: 500;



  color: #3eaba4;



  border-bottom: 1px solid #3eaba4;



  font-size: 25px;



  margin-bottom: 18px;

}



.title__lv5::before {

  position: relative;



  top: -1px;



  padding-right: 5px;



  content: url(../img/common/i4.png);

}



.col-03t {

  width: calc(33.333% - 10px);



  padding: 25px;



  border-radius: 25px;



  border: 1px solid #3eaba4;

}



.gap_15 {

  gap: 15px;

}



.list_ol_n {

  margin-left: 16px;

}



.list_ol_n li {

  list-style: auto;

}



.cp__001 {

  padding-bottom: 180px;

}



.subtitle__lv4 {

  margin-bottom: 60px;

}



.slider__002 .slick-track {

  margin-left: -12vw;



  padding-top: 2.604vw;

}



.slider__002 {

  margin-top: 65px;



  padding-bottom: 160px;

}



.slider__002 img {

  border-radius: 17px;



  margin: 0 1vw;

}



.slider__002 img:nth-child(even) {

  top: -2.604vw;



  position: relative;

}



.cp__003 {

  padding-bottom: 160px;

}



.cp__004 {

  background-image: url(../img/company/f-5.png);



  background-repeat: no-repeat;



  background-position: right 130px;



  background-size: 1820px auto;



  background-color: #dfeae8;



  padding-bottom: 160px;

}



.cont-780 {

  max-width: 780px;



  width: calc(100% - 30px);



  margin: 0 auto;

}



.title__lv4s {

  font-size: 25px;



  color: #3eaba4;



  border-bottom: 1px solid #3eaba4;



  font-family: "Zen Maru Gothic", serif;



  font-weight: 500;



  margin-top: 65px;

}



.bg__fk {

  position: relative;



  height: 400px;



  margin-bottom: -400px;



  width: 100%;



  background-color: #dfeae8;



  z-index: -1;

}



.bg__ff .contact__all {

  background-color: #fff;

}



.history__lable {

  font-size: 20px;



  line-height: 1.5;



  font-weight: bold;



  color: #3eaba4;



  margin-bottom: 10px;

}



.item_history {

  padding-bottom: 55px;



  position: relative;



  padding-left: 60px;

}



.item_history::after {

  position: absolute;



  content: "";



  width: 3px;



  bottom: 0;



  left: 0;



  height: calc(100% - 36px);



  background-color: #3eaba4;

}



.item_history::before {

  position: absolute;



  content: url(../img/company/i-ra.png);



  top: 6px;



  left: -9px;

}



.com-flex {

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  justify-content: space-between;

  max-width: 1420px;

  margin: auto;

  padding: 50px 0 120px;

}

.com-flex img {

  width: 46.5%;

}



@media screen and (max-width: 1420px) {

  .rtext_ddg {

    font-size: 36px;

  }

}



@media screen and (max-width: 1339px) {

  .slider__002 .slick-track {

    margin-left: -0;

  }

}



@media screen and (max-width: 1279px) {

  .col-03t {

    padding: 15px;

  }



  .cp__001 {

    padding-bottom: 120px;

  }



  .title__lv4 {

    padding-top: 80px;

  }



  .rtext_ddg {

    font-size: 29px;

  }



  .bg_logo {

    padding-top: 150px;



    padding-bottom: 160px;

  }



  .mg_h {

    margin: 0 -15px;

  }



  .cp__003 {

    padding-bottom: 100px;

  }



  .cp__004 {

    padding-bottom: 100px;

  }



  .slider__002 {

    padding-bottom: 100px;

  }

}



@media screen and (max-width: 999px) {

  .company__content {

    padding-top: 0;



    clip-path: ellipse(calc(100vw + 3300px) 100% at 50% 100%);

  }



  .item_history {

    padding-bottom: 45px;



    padding-left: 40px;

  }



  .cp__003 {

    padding-bottom: 70px;

  }



  .cp__004 {

    padding-bottom: 70px;

  }



  .col__rtext {

    padding-bottom: 50px;

  }



  .col__rtext,

  .col__rimg {

    width: 100%;



    padding-right: 0;



    max-width: 630px;



    margin: 0 auto;

  }



  .slider__002 {

    padding-bottom: 70px;

  }

}



@media screen and (max-width: 767px) {

  .title__lv4s {

    margin-top: 35px;

  }



  .history__lable {

    margin-bottom: 5px;

  }



  .item_history {

    padding-bottom: 30px;



    padding-left: 25px;

  }



  .mg_h {

    margin: 0 -10px;

  }



  .bg_logo {

    padding-top: 30px;

  }



  .col__rtext {

    padding-bottom: 30px;

  }



  .col-03t {

    width: 100%;

  }



  .subtitle__lv4 {

    margin-bottom: 30px;

  }



  .cp__001 {

    padding-bottom: 80px;

  }



  .title__lv4 {

    padding-top: 60px;

  }



  .title__lv4 {

    font-size: 26px;

  }



  .rtext_t {

    margin-top: 15px;



    margin-bottom: 29px;

  }



  .rtext_ddg {

    font-size: 21px;

  }

}



/*  */



.gap_60 {

  gap: 60px;

}



.col-03ti {

  border-radius: 25px;



  border: 1px solid #3eaba4;



  width: calc(33.333% - 40px);



  text-align: center;



  padding: 50px 15px 95px 15px;

}



.text__hw {

  font-size: 25px;



  font-family: "Zen Maru Gothic", serif;



  font-weight: 500;

}



.text__hw {

  margin-top: 50px;



  margin-bottom: 5px;

}



.img__hw {

  height: 118px;



  align-items: flex-end;



  display: flex;



  justify-content: center;

}



.SvgAnimation img {

  display: none;

}

.SvgAnimation.is-animated img {

  display: block;

}

.SvgAnimation iframe {

  display: block;

}



.rc__001 {

  margin-top: -100px;



  padding-bottom: 160px;



  background-color: #fff;



  position: relative;



  z-index: 10;



  padding-top: 60px;



  clip-path: ellipse(calc(100vw + 680px) 100% at 50% 100%);

}



.rc__002 {

  position: relative;



  /* margin-bottom: -230px; */



  padding-bottom: 160px;

}



.rc__002::before {

  position: absolute;



  content: "";



  width: 100%;



  height: 100%;



  top: 0;



  left: 0;



  background-image: url(../img/recruit/bg_a.jpg);



  opacity: 0.2;



  background-repeat: no-repeat;



  background-position: center bottom;



  background-size: cover;

}



.col-3v {

  position: relative;



  width: calc(33.333% - 40px);



  border: 7px solid #3eaba4;



  border-radius: 15px;



  background-image: url(../img/recruit/bgg.jpg);



  background-size: 543px auto;



  background-repeat: no-repeat;



  background-position: center;



  min-height: 543px;

}



.rgap_140 {

  row-gap: 140px;

}



.col-2v {

  position: relative;



  width: calc(50% - 40px);



  border: 7px solid #3eaba4;



  border-radius: 15px;



  background-image: url(../img/recruit/bgg.jpg);



  /* background-size: 524px auto; */



  background-repeat: no-repeat;



  background-position: center;



  min-height: 524px;

}

.col-2v:hover,

.col-2v:visited {

  border: 7px solid #3eaba4;

}



.mg__ap {

  position: absolute;



  /* left: 20px; */

  left: 0;



  right: 0;



  bottom: 0px;



  margin: auto;

}



.text_kv {

  position: absolute;



  color: #fff;



  background-color: #3eaba4;



  border-radius: 7px 0 0 7px;



  line-height: 1.5;



  padding: 13px 23px 13px 24px;



  right: 0;



  bottom: 15px;

}



.text_v {

  position: absolute;



  left: -18px;



  bottom: 80px;

}



.text_v p {

  background-color: #fff;



  padding: 1px 8px 2px;



  margin-bottom: 2px;



  display: inline-block;

}



.text_v span {

  font-size: 20px;



  display: inline-block;

}



.btn_kep {

  margin-top: 90px;

}



.btn_kep .link_r {

  width: 280px;



  text-align: center !important;



  top: 0;



  left: 0;



  padding: 6px 62px 8px 20px;

}



.mgt_90px {

  padding-top: 90px;

}



.recruit__text_top {

  font-size: 29px;



  color: #3eaba4;



  line-height: 1.5;

}



.bg_heart {

  background-image: url(../img/recruit/f4.png);



  background-repeat: no-repeat;



  background-position: 19.271vw 11.458vw;



  background-size: 1345px auto;



  padding-top: 245px;



  padding-bottom: 255px;

}



.max_png_m {

  position: relative;

}



.max_png_m::before {

  position: absolute;



  content: url(../img/recruit/f3.svg);



  top: 90px;



  right: 270px;



  width: 357px;

}



.max_png_m::before {

  display: none;

}



.max_svg_m {

  position: absolute;

  

  /* top: 90px; */



  margin-top: 90px;



  right: 270px;



  width: 357px;

}



/* .max_png_m::after {



	position: absolute;



	content: url(../img/recruit/mes.png);



	right: 6.771vw;



	top: 85px;



} */



.recruit__text_top {

  margin-top: 20px;



  margin-bottom: 30px;

}



.text__max {

  position: absolute;



  writing-mode: vertical-lr;



  right: 5.5vw;



  top: 100px;

}



.text__max_en {

  margin-right: -10px;

}



.text__max_en,

.text__max_ja {

  text-align: left;



  padding-top: 0 !important;

}



.text__max_ja {

  margin-top: -10px;

}



.hv-ot:hover .text_kv {

  opacity: 0.7;

}



.rc__003 {

  padding-bottom: 400px;

  margin-bottom: -230px;

}



.work-list {

  display: flex;

  justify-content: space-between;

  flex-wrap: wrap;

}

.work-list li {

  width: 31.7%;

  padding-top: 40px;

}

.work-list li img {

  display: block;

}



.img-trip {

  display: block;

  margin: 30px auto 0;

}

.img-trip-sp {

  display: none;

}

@media screen and (max-width: 768px) {

  .img-trip {

    display: none;

  }

  .img-trip-sp {

    margin-top: 30px;

    display: flex;

    flex-wrap: wrap;

    justify-content: space-between;

    row-gap: 15px;

  }

  .img-trip-sp > li {

    width: 48.5%;

  }

}

  .img-trip-sp > li:first-child {

    width: 100%;

  }



/* @media screen and (max-width: 1400px) {

  .text_v span {

    font-size: 18px;

  }

} */



@media screen and (max-width: 1279px) {

  .gap_60 {

    gap: 30px 15px;

  }



  .rgap_140 {

    gap: 140px 30px;

  }



  .col-2v {

    width: calc(50% - 15px);

  }



  .col-03ti {

    width: calc(33.33% - 10px);

  }



  .text__max {

    top: 0;

  }



  .max_png_m::before {

    right: 160px;

  }



  .max_svg_m {

    right: 160px;

  }



  .bg_heart {

    padding-top: 200px;



    padding-bottom: 200px;

  }



  .col-3v {

    width: calc(33.33% - 10.5px);

  }



  .text_v span {

    font-size: 15px;

  }

}



@media screen and (max-width: 999px) {

  .col-3v {

    width: 100%;



    max-width: 543px;

  }



  .col-2v {

    width: 100%;



    max-width: 543px;

  }



  .text_v span {

    /* font-size: 20px; */

    font-size: 17px;

  }



  .rc__002 .gap_60 {

    gap: 150px;



    justify-content: center;

  }



  .col-03ti {

    width: calc(50% - 20px);



    padding: 40px 15px 60px 15px;

  }



  .gap_60 {

    gap: 30px 40px;

  }



  .rc__001 {

    clip-path: ellipse(calc(100vw + 1000px) 100% at 50% 100%);



    padding-bottom: 100px;

  }



  .max_png_m::before {

    right: auto;



    left: 60px;



    top: auto;



    bottom: 00px;

  }



  .max_svg_m {

    right: auto;



    left: 60px;



    top: auto;



    bottom: 00px;

  }



  .rc__003 {

    padding-bottom: 350px;

  }



  .mgt_90px {

    padding-top: 60px;

  }



  .btn_kep {

    margin-top: 50px;

  }



  .work-list {

    justify-content: space-around;

  }



  .work-list li {

    width: calc(50% - 20px);

    padding-top: 20px;

  }



  .col-2v {

    /* width: calc(100% - 40px); */

    width: 100%;

    max-width: 500px;

  }



}



@media screen and (max-width: 767px) {

  .mgt_90px {

    padding-top: 90px;

  }



  .rc__003 {

    padding-bottom: 300px;

  }



  .text__hw {

    margin-top: 30px;

  }



  .rc__001 {

    padding-top: 30px;

  }



  .bg_heart {

    padding-top: 70px;



    padding-bottom: 150px;

  }



  .col-03ti {

    width: 100%;



    max-width: 434px;



    padding: 30px 15px 35px 15px;

  }



  .gap_60 {

    justify-content: center;

  }



  .rc__001 {

    padding-bottom: 90px;



    clip-path: ellipse(calc(100vw + 1200px) 100% at 50% 100%);

  }



  .text__max {

    position: initial;



    text-align: center;



    margin-top: 50px;



    writing-mode: initial;

  }



  .text__max_en,

  .text__max_ja {

    text-align: center !important;



    width: 100%;

  }



  .text__max_ja {

    order: 1;

  }



  .text__max_en {

    margin-right: 0px;



    order: 2;



    margin-bottom: 0;

  }



  .max_png_m::before {

    bottom: 50px;



    transform: scale(0.7);



    left: 0 !important;

  }



  .max_svg_m {

    bottom: 50px;



    transform: scale(0.7);



    left: 0 !important;

  }



  .text__max {

    display: flex;



    flex-wrap: wrap;



    justify-content: center;

  }



  .recruit__text_top {

    font-size: 22px;

  }



  .text_v {

    bottom: 100px;  

  }



  .text_v span {

    font-size: 16px;

  }

}



@media screen and (max-width: 500px) {

  .rc__002 .gap_60 {

    gap: 30vw;

  }



  .col-3v {

    min-height: 105vw;

  }



  .col-2v {

    min-height: 105vw;

  }



  .mg__ap {

    max-width: 85vw;

  }



  .text_v span {

    font-size: 15px;

  }



  .work-list li {

    /* width: calc(50% - 10px); */

    width: 100%;

    padding-top: 10px;

  }

}



/*  */



.tt__01,

.tt__02 {

  color: #3e63b5;

}



.fs20 {

  font-size: 20px;

}



.fs29 {

  font-size: 29px;

}



.br__20,

.img_ia img {

  border-radius: 25px;



  position: relative;



  z-index: 1;

}



.saying__text {

  color: #3eaba4;



  line-height: 1.5;



  padding-top: 245px;



  font-size: 29px;



  margin-bottom: 40px;

}



.col-qa,

.col-ia {

  width: 50%;

}



.reverse .col-qa {

  order: 2;

  padding-right: 0;

  padding-left: 60px;

}



.img_ia {

  padding-right: 12px;



  position: relative;



  display: flex;

}



.img_ia::before {

  position: absolute;



  content: "";



  width: calc(100% - 12px);



  height: 100%;



  background-color: #3eaba4;



  border-radius: 25px;



  right: -12px;



  bottom: -24px;

}



.reverse .img_ia {

  padding-right: 0;

  padding-left: 12px;

}

.reverse .img_ia::before {

  right: auto;

  left: -12px;

}



.item__qa {

  padding-bottom: 5px;

}



.col-qa {

  padding-right: 60px;

}



.ls_auto {

  letter-spacing: -0.5px;

}



.item_q {

  position: relative;



  font-size: 25px;



  font-family: "Zen Maru Gothic", serif;



  font-weight: 500;



  font-style: normal;



  border-bottom: 1px solid #3eaba4;



  margin-top: 20px;



  padding-left: 35px;

}



.item_a {

  margin-top: 8px;

}



.item_q::before {

  position: absolute;



  left: 3px;



  top: 0;



  content: "Q. ";



  letter-spacing: 0.5px;



  font-family: "Zen Maru Gothic", serif;



  font-weight: 500;



  font-style: normal;

}



.btn_kepx .link_r {

  width: 170px;



  text-align: center !important;



  top: 0;



  left: 0;



  padding: 6px 62px 8px 20px;

}



.nono {

  padding-bottom: 160px;

}



.tt__02 {

  line-height: 1.4;



  margin-bottom: 3px;

}



.saying__top {

  margin-bottom: 95px;

}



.mgt130 {

  margin-top: 125px;

}



.btn_kepx {

  margin-top: 160px;

}



@media screen and (max-width: 1400px) {

  .col-qa {

    padding-right: 20px;

  }



  .reverse .col-qa {

    padding-left: 20px;

  }



  .item_q {

    font-size: 24px;



    padding-left: 30px;

  }



  .ls_auto {

    letter-spacing: 0px;

  }

}



@media screen and (max-width: 1279px) {

  .saying__text {

    padding-top: 150px;



    font-size: 25px;

  }



  .item_q {

    font-size: 21px;

  }



  .item_q {

    margin-top: 10px;

  }

}



@media screen and (max-width: 999px) {

  .saying__text {

    padding-top: 100px;

  }



  .saying__text {

    font-size: 20px;

  }



  .saying__top {

    margin-bottom: 65px;

  }



  .mgt130 {

    margin-top: 100px;

  }



  .nono {

    padding-bottom: 100px;

  }



  .btn_kepx {

    margin-top: 100px;

  }



  .col-qa {

    width: 100%;



    padding-right: 0;



    margin-bottom: 40px;

  }



  .reverse .col-qa {

    padding-left: 0;

  }



  .reverse .col-ia {

    order: 3;

  }



  .reverse .img_ia {

    padding-left: 0;

    padding-right: 12px;

  }



  .reverse .img_ia::before {

    right: -12px;

    left: auto;

  }



  .col-ia {

    width: 100%;



    max-width: 698px;

  }



  .mgt130 {

    justify-content: center;

  }

}



.footer__menu a:hover {

  opacity: 0.7;

}



.company__content .table__blc tr td:last-child {

  padding-left: 4.948vw;

}



@media screen and (max-width: 767px) {

  .br__20 {

    min-height: 200px;



    object-fit: cover;

  }



  .img_ia {

    padding-right: 0;

  }



  .img_ia::before {

    width: 100%;



    right: -12px;



    bottom: -12px;

  }



  .saying__text {

    margin-bottom: 20px;

  }



  .fs29 {

    font-size: 25px;

  }



  .saying__top {

    margin-bottom: 25px;

  }



  .mgt130 {

    margin-top: 50px;

  }



  .nono {

    padding-bottom: 60px;

  }



  .btn_kepx {

    margin-top: 60px;

  }



  .item_q {

    font-size: 18px;

  }



  .saying__text {

    padding-top: 60px;

  }



  .maxx_600 {

    text-align: center;

  }



  .title__lv5 {

    font-size: 22px;



    margin-bottom: 10px;

  }



  .cp__004 {

    background-position: right 0;

  }

}





/* アニメーションの定義 */

/* @keyframes fadeInUp {

  from {

    opacity: 0;

    transform: translateY(50px);

  }

  to {

    opacity: 1;

    transform: translateY(0);

  }

}

.sequential-fadein {

  position: relative;

  overflow: hidden;

}

.sequential-fadein span {

  display: inline-block;

  opacity: 0;

}

.sequential-fadein.is-visible span {

  animation: fadeInUp 1.0s forwards;

} */





/* 基本の文字ごとのアニメーション定義 */

@keyframes fadeInUp {

  from {

    opacity: 0;

    transform: translateY(50px);

  }

  to {

    opacity: 1;

    transform: translateY(0);

  }

}



/* 要素内の各文字（<span>）の初期状態とアニメーション */

.fade-in-element {

  position: relative;

  overflow: clip;

}

.fade-in-element span {

  display: inline-block; /* 1文字ずつアニメーションさせるため */

  opacity: 0; /* 初期状態は非表示 */

  transform: translateY(50px); /* 初期状態は少し下に */

}



/* JavaScriptで`is-visible`クラスが付与されたらアニメーションを開始 */

.fade-in-element.is-visible span {

  /* ここでanimation-delayは適用せず、JavaScriptで設定 */

  animation: fadeInUp 1.0s forwards; /* 各文字のアニメーション時間 */

}







/* .col__ra1::after {

  display: none !important;

} */



.inspect__text_top {

  font-size: 29px;

  color: #3eaba4;

  line-height: 1.5;

  padding-top: 245px;

  padding-bottom: 55px;

}



.inspect__text_top2 {

  text-align: center;

  padding-bottom: 180px;

}



.inspect__content {

  margin-top: -100px;

  position: relative;

  padding-top: 40px;

  background-color: #fff;

  padding-bottom: 100px;

  clip-path: ellipse(calc(300vw + 3200px) 100% at 50% 100%);

}



.inspect__item {

  padding-top: 80px;

}



.title__lvx4 .jp {

  font-size: 40px;

  color: #3eaba4;

  text-align: center;

  line-height: 1.5;

}

.title__lvx4 .en {

  text-align: center;

  color: #3e63b5;

  padding-top: 10px;

}



.inspect__text {

  text-align: center;

  margin: 60px auto;

}



.inspect__list {

  display: grid;

  grid-template-columns: 1fr 1fr 1fr;

  column-gap: 1.5%;

}

.inspect__list li {

  margin-bottom: 80px;

}

.inspect__list .ttl {

  text-align: center;

  font-size: 18px;

  margin: 5px 0;

}

.inspect__list li p span {

  display: inline-block;

}

.w1020 {

  position: relative;

  max-width: 1020px;

  width: 100%;

  margin-left: auto;

  margin-right: auto;

}



.inspect__flex {

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

  margin-bottom: 50px;

}

.inspect__flex > * {

  max-width: 49%;

  text-align: center;

}

.inspect__flex p {

  margin-top: 10px;

}



.inspect__sub {

  font-size: 22px;

  font-weight: 500;

  color: #3eaba4;

  text-align: center;

  margin-bottom: 30px;

}



.inspect__table,

.inspect__table tbody {

  display: block;

  width: 100%;

} 

.inspect__table {

  margin-bottom: 120px;

}

.inspect__table tr {

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  border-bottom: solid 1px #3eaba4;

  width: 100%;

  padding: 15px 0;

}

.inspect__table tr:nth-child(1) {

  font-size: 18px;

  border-bottom: solid 2px #3eaba4;

}

.inspect__table th {

  text-align: left;

  font-weight: normal;

  width: 20%;

}

.inspect__table td:nth-child(2) {

  width: 30%;

}

.inspect__table td:nth-child(3) {

  width: 50%;

}



.bg-green {

  margin-top: 120px;

  padding-top: 100px;

  padding-bottom: 120px;

  background-color: #dfeae8;

}

.inspect__flow {

  position: relative;

  max-width: 1600px;

  margin: 80px auto 0;

}

.inspect__flow li {

  max-width: 1020px;

  margin-left: auto;

  margin-right: auto;

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  margin-bottom: 95px;

  position: relative;

}

.inspect__flow li:after {

  position: absolute;

  content: "";

  width: 74px;

  height: 95px;

  bottom: -95px;

  background-image: url(../img/inspection/next.png);

  background-repeat: no-repeat;

  background-position: center;

  background-size: contain;

}

.inspect__flow li:last-child:after {

  display: none;

}

.inspect__flow li figure {

  width: 384px;

}

.inspect__flow li figure img {

  display: block;

  width: 100%;

}

.inspect__flow li .txtarea {

  width: calc(100% - 384px);

  padding: 10px 10px 10px 30px;

  display: flex;

  align-items: center;

  background-color: white;

  border-radius: 0 20px 20px 0;

}

.inspect__flow li .inner {

  max-width: 550px;

}

.inspect__flow .ttl {

  font-size: 24px;

  font-weight: bold;

  margin-bottom: 10px;

}

.flow-icon1 {

  position: absolute;

  right: 5%;

  margin-top: -120px;

}

.flow-icon2 {

  position: absolute;

  left: 3%;

  margin-top: -100px;

}

.flow-icon3 {

  position: absolute;

  right: 1%;

  margin-top: -30px;

}



.inspect__foot {

  font-size: 40px;

  font-weight: 500;

  color: #3eaba4;

  text-align: center;

  padding: 0 1rem 100px;

}

.inspect__foot span {

  display: inline-block;

  position: relative;

}

.inspect__foot span::after {

  content: ""; 

  position: absolute;

  left: 0;

  right: 0;

  bottom: 0;

  margin: auto;

  height: 7px;

  background-image: url("../img/inspection/line.png");

  background-repeat: no-repeat;

  background-position: center;

  background-size: contain;

}



@media screen and (max-width: 999px) {

  .inspect__text_top {

    padding-top: 120px;

    padding-bottom: 40px;

    font-size: 21px;

  }

}



@media screen and (max-width: 767px) {

  .title__lvx4 .jp {

    font-size: 32px;

  }

  .inspect__list li {

    margin-bottom: 50px;

  }

  .inspect__list {

    grid-template-columns: 1fr 1fr;

    column-gap: 2%;

  }

}



@media screen and (max-width: 480px) {

  .inspect__text_top {

    padding-top: 75px;

    font-size: 20px;

  }

  .title__lvx4 .jp {

    font-size: 28px;

  }

  .title__lvx4 .en {

    padding-top: 0;

  }

  .inspect__item {

    padding-top: 50px;

  }

}