/*
@mixin font-size($size) {
	font-size: $size + px;
	font-size: ($size/10) + rem;

	@include mq( $sp , $pc-l )  {
		font-size: ($size/8) + px;
		font-size: ($size/12.5) + rem;
	}
}*/
@-webkit-keyframes fuwa {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fuwa {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes rotation01 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotation01 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes rotation02 {
  0% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@keyframes rotation02 {
  0% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@-webkit-keyframes rotationx {
  0% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
  100% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
  }
}
@keyframes rotationx {
  0% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
  100% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
  }
}
@-webkit-keyframes rotationy {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
@keyframes rotationy {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
@-webkit-keyframes rotationx2 {
  0% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
  }
  100% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
}
@keyframes rotationx2 {
  0% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
  }
  100% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
}
@-webkit-keyframes rotationy2 {
  0% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
  100% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
}
@keyframes rotationy2 {
  0% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
  100% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
}
@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(1px);
    -moz-filter: blur(1px);
    -ms-filter: blur(1px);
    -o-filter: blur(1px);
    filter: blur(1px);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(2px);
    -moz-filter: blur(2px);
    -ms-filter: blur(2px);
    -o-filter: blur(2px);
    filter: blur(2px);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
#top .head-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
}
#top .head-wrapper.login {
  top: 85px;
}
#top .head-wrapper .header {
  background: transparent;
}
@media print, screen and (min-width: 1023px) {
  #top .sec-contact .container {
    position: relative;
  }
  #top .sec-contact .container::after {
    content: " ";
    display: block;
    position: absolute;
    bottom: -200px;
    right: -50px;
    width: 190px;
    height: 190px;
    background: url(../../img/top/object_03.svg) 50% 50% no-repeat;
    background-size: 100%;
    z-index: 4;
  }
}
#top .footer::before {
  content: " ";
  display: block;
  width: 100%;
  padding-bottom: 35%;
  background: url(../../img/bg_footer.jpg) no-repeat;
  background-position: top 50% left 20%;
  background-size: cover;
}
@media print, screen and (min-width: 1023px) {
  #top .footer .pagetop {
    top: 160px;
  }
  #top .footer::before {
    padding-bottom: 18.75%;
    background-position: top 50% left 50%;
  }
  #top .footer::after {
    content: " ";
    display: block;
    width: 50%;
    max-width: 645px;
    height: 240px;
    background: url(../../img/bg_dot02.svg) no-repeat;
    background-position: top 0 left 0;
    background-size: cover;
    position: absolute;
    top: -75px;
    left: 0;
  }
}

.keyvisual {
  position: relative;
}
.keyvisual .img {
  width: 100%;
}
.keyvisual .dot {
  width: 50%;
  max-width: 640px;
  height: 50%;
  position: absolute;
  left: 0;
  bottom: 2.5em;
  background: url(../../img/bg_dot02.svg) 50% 100% no-repeat;
  background-size: 100%;
}
.keyvisual .wave {
  width: 100%;
  padding-bottom: 12%;
  position: absolute;
  left: 0;
  bottom: 0;
  background: url(../../img/keyvisual_wave.svg) 50% 0 no-repeat;
  background-size: cover;
}
@media print, screen and (min-width: 768px) {
  .keyvisual .wave {
    padding-bottom: 4%;
  }
}

section {
  padding: 3em 0;
}
section h2 {
  margin-top: 0;
}
section .lead {
  font-size: 15px;
  font-size: 1.5rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: 350;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
section .link-btn {
  min-width: 300px;
  margin-top: 50px;
}
section .link-btn a {
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 1023px) {
  section .lead {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2;
  }
}
section .news__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section .news__header {
  width: 100%;
}
section .news__list {
  width: 100%;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  section .news__wrap {
    position: relative;
    padding: 0 1em 80px;
  }
  section .news__header .index-link {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    margin: 0;
  }
  section .news__header .index-link .btn__default {
    max-width: 250px;
    height: 50px;
    font-size: 14px;
    font-size: 1.4rem;
    margin: 0 auto;
    padding: 0 1.5em;
  }
}
@media print, screen and (min-width: 768px) {
  section .news__header {
    width: 180px;
    position: relative;
    z-index: 2;
  }
  section .news__list {
    width: calc(100% - 235px);
    margin-top: 0;
  }
}
section .about__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 3em 1em 1em;
}
section .about__txt {
  width: 100%;
}
section .about__txt h2 {
  font-size: 22px;
  font-size: 2.2rem;
  color: #F09183;
}
section .about__img {
  width: 100%;
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  section .about__wrap {
    padding: 6em 0 3em;
  }
  section .about__txt {
    width: 55%;
  }
  section .about__img {
    width: 45%;
    margin-top: 0;
  }
}
@media print, screen and (min-width: 1023px) {
  section .about__txt {
    width: 45%;
  }
  section .about__txt h2 {
    font-size: 28px;
    font-size: 2.8rem;
  }
  section .about__img {
    width: 55%;
    margin-top: 0;
  }
}
section .info__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 20px;
  padding: 0 1em;
}
section .info__item {
  width: 100%;
  margin-top: 40px;
  width: calc(50% - 15px);
}
section .info__item dl {
  margin-top: 0;
}
section .info__item dl a {
  color: #5F5E5E;
}
section .info__item dl dt {
  font-size: 15px;
  font-size: 1.5rem;
}
section .info__item dl dt.title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 15px;
}
section .info__item dl dt.title::after {
  content: " ";
  display: block;
  width: 16px;
  height: 16px;
  background: url(../../img/icon_arrow01.svg) no-repeat;
  background-position: top 50% left 50%;
  background-size: 100%;
  margin-left: 5px;
}
section .info__item dl dd {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 300;
  margin-top: 10px;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  section .info__wrap {
    padding: 0;
  }
  section .info__item {
    width: calc(33.3333333333% - 26px);
  }
  section .info__item dl dt {
    font-size: 20px;
    font-size: 2rem;
  }
  section .info__item dl dt.title {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 20px;
  }
  section .info__item dl dt.title::after {
    width: 18px;
    height: 18px;
  }
  section .info__item dl dd {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8;
  }
}
section .parents__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 1em;
}
section .parents__txt {
  width: 100%;
}
section .parents__img {
  width: 100%;
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  section .parents__wrap {
    margin-top: 20px;
  }
  section .parents__txt {
    width: 52.5%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 30px;
  }
  section .parents__txt .lead {
    margin-top: 0;
  }
  section .parents__img {
    width: 47.5%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    position: relative;
    z-index: 5;
  }
  section .parents__img::after {
    content: " ";
    display: block;
    position: absolute;
    bottom: -3em;
    right: -20px;
    width: 190px;
    height: 190px;
    background: url(../../img/top/object_03.svg) 50% 50% no-repeat;
    background-size: 100%;
    z-index: 6;
  }
}
section .recruit__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 0 1em;
}
section .recruit__txt {
  width: 100%;
}
section .recruit__txt h2 {
  font-size: 22px;
  font-size: 2.2rem;
  color: #F09183;
}
section .recruit__img {
  width: 100%;
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  section .recruit__wrap {
    padding: 120px 0 30px;
    background: url(../../img/top/img_top09.png) no-repeat;
    background-size: auto 100%;
    background-position: top 50% right 0;
    padding: 0;
  }
  section .recruit__txt {
    width: 51.5%;
  }
  section .recruit__txt h2 {
    font-size: 28px;
    font-size: 2.8rem;
  }
  section .recruit__img {
    display: none;
  }
}
section.sec03 {
  padding: 3em 10px 0;
  background: #ECF6F0;
  -webkit-box-shadow: inset 0px 3px 8px 0px rgba(0, 0, 0, 0.1), inset 0px -3px 8px 0px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0px 3px 8px 0px rgba(0, 0, 0, 0.1), inset 0px -3px 8px 0px rgba(0, 0, 0, 0.1);
  margin-left: -10px;
  margin-right: -10px;
}
section.sec03 .sec-img {
  margin-top: 3em;
}
section.sec05 {
  background: #ECF6F0;
  -webkit-box-shadow: inset 0px 3px 8px 0px rgba(0, 0, 0, 0.1), inset 0px -3px 8px 0px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0px 3px 8px 0px rgba(0, 0, 0, 0.1), inset 0px -3px 8px 0px rgba(0, 0, 0, 0.1);
  margin-left: -10px;
  margin-right: -10px;
  padding-left: 10px;
  padding-right: 10px;
}
@media print, screen and (min-width: 1023px) {
  section.sec01 .container {
    position: relative;
  }
  section.sec01 .container::before {
    content: " ";
    display: block;
    position: absolute;
    top: -170px;
    left: 80px;
    width: 190px;
    height: 190px;
    background: url(../../img/top/object_01.svg) 50% 50% no-repeat;
    background-size: 100%;
  }
  section.sec01 .container::after {
    position: absolute;
    bottom: -150px;
    right: -170px;
    width: 250px;
    height: 250px;
    background: url(../../img/top/object_02.svg) 50% 50% no-repeat;
    background-size: 100%;
    z-index: -1;
  }
  section.sec02 .sec-img {
    position: relative;
    z-index: -2;
  }
  section.sec02 .sec-img::after {
    content: " ";
    display: block;
    width: 50%;
    max-width: 645px;
    height: 240px;
    background: url(../../img/bg_dot01.svg) no-repeat;
    background-position: top 0 right 0;
    background-size: cover;
    position: absolute;
    bottom: -4.5em;
    right: 0;
  }
  section.sec02 .sec-img .img {
    -webkit-box-shadow: inset 0px 3px 3px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 3px 3px rgba(0, 0, 0, 0.1);
  }
  section.sec02 .container {
    position: relative;
  }
  section.sec02 .container::before {
    content: " ";
    display: block;
    position: absolute;
    top: 120px;
    left: -130px;
    width: 190px;
    height: 190px;
    background: url(../../img/top/object_03.svg) 50% 50% no-repeat;
    background-size: 100%;
    z-index: -1;
  }
  section.sec02 .container::after {
    position: absolute;
    bottom: -70px;
    right: -80px;
    width: 330px;
    height: 330px;
    background: url(../../img/top/object_04.svg) 50% 50% no-repeat;
    background-size: 100%;
    z-index: 4;
  }
  section.sec03 {
    position: relative;
    padding: 6em 0 0;
  }
  section.sec03 .sec-img {
    margin-top: 6em;
  }
  section.sec03::after {
    content: " ";
    display: block;
    width: 50%;
    max-width: 645px;
    height: 240px;
    background: url(../../img/bg_dot02.svg) no-repeat;
    background-position: top 0 left 0;
    background-size: cover;
    position: absolute;
    top: -160px;
    left: 0;
  }
  section.sec04 {
    padding: 5em 0;
    position: relative;
  }
  section.sec04::after {
    content: " ";
    display: block;
    width: 50%;
    max-width: 645px;
    height: 240px;
    background: url(../../img/bg_dot02.svg) no-repeat;
    background-position: top 0 left 0;
    background-size: cover;
    position: absolute;
    bottom: -50px;
    left: 0;
    z-index: 3;
  }
  section.sec04 .container {
    position: relative;
  }
  section.sec04 .container::before {
    content: " ";
    display: block;
    position: absolute;
    top: -7em;
    right: -170px;
    width: 250px;
    height: 250px;
    background: url(../../img/top/object_02.svg) 50% 50% no-repeat;
    background-size: 100%;
  }
  section.sec05 {
    padding: 5em 0;
    background: #ECF6F0;
    -webkit-box-shadow: inset 0px 3px 8px 0px rgba(0, 0, 0, 0.1), inset 0px -3px 8px 0px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 3px 8px 0px rgba(0, 0, 0, 0.1), inset 0px -3px 8px 0px rgba(0, 0, 0, 0.1);
    position: relative;
  }
  section.sec05::after {
    content: " ";
    display: block;
    width: 50%;
    max-width: 645px;
    height: 240px;
    background: url(../../img/bg_dot01.svg) no-repeat;
    background-position: top 0 left 0;
    background-size: cover;
    position: absolute;
    bottom: -50px;
    right: 0;
  }
  section.sec05 .container {
    position: relative;
  }
  section.sec05 .container::before {
    content: " ";
    display: block;
    position: absolute;
    top: -8em;
    right: -80px;
    width: 190px;
    height: 190px;
    background: url(../../img/top/object_05.svg) 50% 50% no-repeat;
    background-size: 100%;
  }
  section.sec05 .container::after {
    content: " ";
    display: block;
    position: absolute;
    bottom: -220px;
    left: -170px;
    width: 250px;
    height: 250px;
    background: url(../../img/top/object_06.svg) 50% 50% no-repeat;
    background-size: 100%;
  }
}