@charset "UTF-8";
/* カラー */
/* media query */
/* SP縦から */
/* SP横から */
/* タブレット縦から */
/* フルワイド */
.wrapper {
  overflow: hidden;
}

.content {
  margin-top: 0;
}
@media all and (max-width: 1025px) {
  .content {
    margin-top: 0;
  }
}

header .head_logo h1 a {
  color: #000;
}
header .pc_menu ul li a {
  color: #000;
}

.mainvisual {
  position: relative;
  height: auto;
}
.mainvisual img {
  width: 100%;
  z-index: 1;
}
.mainvisual p.copy {
  text-align: center;
  position: absolute;
  margin: 0 auto;
  top: 50%;
  transform: translateY(-50%);
  left: 5%;
  z-index: 2;
}
.mainvisual p.copy img {
  max-width: 46vw;
  max-height: 150px;
  transform-origin: center bottom;
  -webkit-animation: fadein 3.6s ease-in-out;
          animation: fadein 3.6s ease-in-out;
}

@-webkit-keyframes fadein {
  from {
    opacity: 0;
    transform: translatey(20px);
  }
  to {
    opacity: 1;
    transform: translatey(0);
  }
}

@keyframes fadein {
  from {
    opacity: 0;
    transform: translatey(20px);
  }
  to {
    opacity: 1;
    transform: translatey(0);
  }
}
.first {
  position: relative;
  padding-top: 90px;
  padding-bottom: 70px;
  z-index: 2;
  background-image: url(../images/sakura2.png);
  background-repeat: no-repeat;
  background-position: bottom 2% left 2%;
  background-size: 20vw;
}
@media all and (max-width: 896px) {
  .first {
    padding-top: 60px;
    padding-bottom: 40px;
    background-size: 33vw;
    background-position: bottom 3% left 2%;
  }
}
.first p {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 20px;
}
@media all and (max-width: 896px) {
  .first p {
    font-size: 1.5rem;
  }
}
.first::before {
  position: absolute;
  content: "";
  background: url("../images/sakura1.png") bottom left/cover no-repeat;
  left: 0;
  top: -22%;
  width: 170px;
  height: 252px;
  z-index: 2;
}
@media all and (max-width: 480px) {
  .first::before {
    width: 100px;
    height: 150px;
  }
}

.onoff {
  position: relative;
  padding-top: 80px;
  padding-bottom: 70px;
  z-index: 2;
  background-color: #f2c6dc;
  background-image: url(../../common/images/time_bg.jpg);
  background-repeat: repeat-y;
  background-size: 100% auto;
}
@media all and (max-width: 896px) {
  .onoff {
    padding-top: 50px;
    padding-bottom: 40px;
  }
}
.onoff h2, .onoff h3 {
  display: block;
  text-align: center;
}
.onoff h3 {
  margin-top: 80px;
}
.onoff ul {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}
@media all and (max-width: 480px) {
  .onoff ul {
    flex-direction: column;
  }
}
.onoff ul li {
  width: calc(50% - 70px);
  position: relative;
  border: 2px solid #86c0cd;
  background-color: #fff;
  margin: 0 30px;
  padding: 20px;
}
@media all and (max-width: 480px) {
  .onoff ul li {
    width: calc(100% - 30px);
    margin: 0 auto 30px;
  }
}
.onoff ul li .img {
  width: 100%;
  margin-bottom: 15px;
}
.onoff ul li .img img {
  width: 100%;
  border-radius: 20px;
}
.onoff ul li .txt {
  text-align: left;
  color: #3ab69b;
}
.onoff ul li .txt.c2 {
  color: #ac82b8;
}
.onoff ul li .txt.c3 {
  color: #dd6989;
}
.onoff ul li .txt.c4 {
  color: #ea9b54;
}
.onoff ul li.on::before {
  position: absolute;
  content: "";
  background: url("../images/ic_on.png") top left/cover no-repeat;
  left: 0;
  top: -20px;
  width: 200px;
  height: 120px;
  z-index: 2;
}
@media all and (max-width: 480px) {
  .onoff ul li.on::before {
    width: 110px;
    height: 66px;
  }
}
.onoff ul li.on::after {
  position: absolute;
  content: "";
  background: url("../images/arrow.png") center center/cover no-repeat;
  right: -20%;
  top: 15%;
  width: 170px;
  height: 260px;
  z-index: 2;
}
@media all and (max-width: 480px) {
  .onoff ul li.on::after {
    display: none;
  }
}
.onoff ul li.off::before {
  position: absolute;
  content: "";
  background: url("../images/ic_off.png") top left/cover no-repeat;
  right: 0;
  top: -20px;
  width: 200px;
  height: 120px;
  z-index: 2;
}
@media all and (max-width: 480px) {
  .onoff ul li.off::before {
    width: 110px;
    height: 66px;
  }
}

.work {
  position: relative;
  padding-top: 90px;
  padding-bottom: 70px;
  z-index: 2;
  background-image: url(../images/bg_work.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  text-align: center;
}
@media all and (max-width: 896px) {
  .work {
    padding-top: 60px;
    padding-bottom: 40px;
  }
}
.work h2 {
  text-align: center;
  display: block;
  margin-bottom: 30px;
}
.work p {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 30px;
  color: #fff;
}
.work .btn {
  display: block;
  margin: 0 auto;
  text-align: center;
}

.merit {
  position: relative;
  padding-top: 80px;
  padding-bottom: 70px;
  z-index: 2;
}
@media all and (max-width: 896px) {
  .merit {
    padding-top: 50px;
    padding-bottom: 40px;
  }
}
.merit h2 {
  text-align: center;
  color: #583d1d;
  font-weight: 900;
  font-style: italic;
  font-size: min(7.6vw, 4.5rem);
  line-height: 1.5;
  margin-bottom: 50px;
}
@media all and (max-width: 896px) {
  .merit h2 {
    font-size: min(6vw, 4rem);
  }
}
.merit ul {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}
@media all and (max-width: 480px) {
  .merit ul {
    flex-direction: column;
  }
}
.merit ul li {
  width: calc(50% - 50px);
  position: relative;
  margin: 0 25px;
}
@media all and (max-width: 480px) {
  .merit ul li {
    width: calc(100% - 20px);
    margin: 0 auto 30px;
  }
}
.merit ul li .img {
  width: 100%;
  margin-bottom: 15px;
}
.merit ul li .img img {
  width: 100%;
  border-radius: 20px;
}
.merit ul li .txt h3 {
  font-size: min(3vw, 2.2rem);
  font-weight: 700;
  color: #409ad6;
  text-align: center;
  margin-bottom: 10px;
}
.merit ul li .txt p {
  text-align: left;
}

.qanda {
  position: relative;
  padding-top: 90px;
  padding-bottom: 70px;
  z-index: 2;
  background-image: url(../images/bg_sky.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  background-color: #70d1f0;
  text-align: center;
}
@media all and (max-width: 896px) {
  .qanda {
    padding-top: 60px;
    padding-bottom: 40px;
  }
}
.qanda h2 {
  text-align: center;
  color: #583d1d;
  font-weight: 900;
  font-style: italic;
  font-size: min(7.6vw, 4.5rem);
  line-height: 1.5;
  margin-bottom: 50px;
  color: #fff;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
@media all and (max-width: 896px) {
  .qanda h2 {
    font-size: min(6vw, 4rem);
  }
}
.qanda dl {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  padding: 15px;
  border-radius: 25px;
  margin-bottom: 30px;
}
.qanda dl .img {
  width: 35%;
  max-width: 92px;
  padding-right: 20px;
}
@media all and (max-width: 896px) {
  .qanda dl .img {
    max-width: 70px;
  }
}
.qanda dl dt, .qanda dl dd {
  display: flex;
  padding: 10px;
  align-items: center;
}
@media all and (max-width: 896px) {
  .qanda dl dt, .qanda dl dd {
    flex-direction: column;
  }
}
.qanda dl a {
  text-decoration: underline;
}
.qanda dl dt {
  border-bottom: 1px solid #409ad6;
}
.qanda dl dt p {
  padding: 10px;
  font-size: min(5vw, 3rem);
  line-height: 1.6;
  font-weight: 500;
  text-align: left;
  color: #fa8091;
}
.qanda dl dd p {
  padding: 10px;
  font-size: 1.8rem;
  text-align: left;
}

.next {
  position: relative;
  padding-top: 90px;
  padding-bottom: 10px;
  z-index: 2;
  background-color: #fff;
  text-align: center;
}
@media all and (max-width: 896px) {
  .next {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.next h2 {
  text-align: center;
  display: block;
  margin-bottom: 0;
}
.next .img {
  margin: 0 auto 50px;
}
.next .img img {
  width: 100%;
}
.next h4 {
  text-align: center;
  display: block;
  margin-bottom: 20px;
  color: #583d1d;
  font-weight: 900;
  font-style: italic;
  font-size: min(3.6vw, 2.5rem);
}
.next .bnr {
  text-align: center;
  margin-top: 50px;
}

/*** top ***/
.sanka {
  position: relative;
  padding: 100px 0 20px;
  text-align: center;
  background-image: url("../images/sakura1.png"), url("../images/sakura2.png");
  background-repeat: no-repeat;
  background-position: top right, bottom left;
  background-size: 12vw, 16vw;
}
@media all and (max-width: 480px) {
  .sanka {
    padding: 60px 0;
    background-size: 26vw, 30vw;
  }
}
.sanka .inner {
  position: relative;
  z-index: 2;
}
.sanka .inner h2 {
  color: #583d1d;
  font-weight: 900;
  font-size: min(7vw, 4rem);
}
@media all and (max-width: 896px) {
  .sanka .inner h2 {
    font-size: min(5vw, 3rem);
  }
}
@media all and (max-width: 480px) {
  .sanka .inner h2 {
    line-height: 1.4;
  }
}
.sanka .inner ul {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
@media all and (max-width: 480px) {
  .sanka .inner ul {
    display: block;
  }
}
.sanka .inner ul li {
  margin: 0 5px;
}
@media all and (max-width: 480px) {
  .sanka .inner ul li:last-child {
    margin-top: 15px;
  }
}

.line_info {
  position: relative;
  text-align: center;
  background-image: url("../../top/images/bg_foot.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin-top: 120px;
  padding-top: 80px;
  padding-bottom: 80px;
}
@media all and (max-width: 1367px) {
  .line_info {
    margin-top: 60px;
  }
}
@media all and (max-width: 1025px) {
  .line_info {
    margin-top: 20px;
  }
}
@media all and (max-width: 480px) {
  .line_info {
    margin-top: 10px;
    padding-bottom: 40px;
    background-position: center right;
  }
}
.line_info::before {
  position: absolute;
  content: "";
  background: url("../../top/images/info_objest2.png") top left/cover no-repeat;
  left: 0;
  top: 20px;
  width: 488px;
  height: 306px;
  z-index: 1;
}
@media all and (max-width: 1367px) {
  .line_info::before {
    width: 300px;
    height: 188px;
  }
}
@media all and (max-width: 480px) {
  .line_info::before {
    display: none;
  }
}
.line_info .inner {
  position: relative;
  z-index: 2;
}
.line_info .inner h2 {
  color: #583d1d;
  font-weight: 900;
  font-size: min(7vw, 4rem);
  font-style: italic;
  line-height: 1.6;
}
@media all and (max-width: 896px) {
  .line_info .inner h2 {
    font-size: min(6.4vw, 3rem);
  }
}
@media all and (max-width: 480px) {
  .line_info .inner h2 {
    line-height: 1.4;
    margin-bottom: 20px;
  }
}
.line_info .inner p {
  texta-align: center;
  font-weight: 900;
  font-size: min(4vw, 1.8rem);
  line-height: 1.6;
}
@media all and (max-width: 480px) {
  .line_info .inner p {
    text-align: left;
  }
}
.line_info .inner p.qr {
  text-align: center;
  margin-bottom: 20px;
}
.line_info .inner ul {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
@media all and (max-width: 480px) {
  .line_info .inner ul {
    display: block;
  }
}
.line_info .inner ul li {
  margin: 0 20px;
}
@media all and (max-width: 480px) {
  .line_info .inner ul li:last-child {
    margin-top: 15px;
  }
}
.line_info .inner ul li h3 {
  color: #409ad6;
  font-weight: 900;
  font-size: min(6vw, 3rem);
  font-style: italic;
}
.line_info .inner ul li h3 span {
  display: block;
  font-size: 80%;
  line-height: 1.5;
}
/*# sourceMappingURL=local.css.map */