@charset "UTF-8";
/* マップ型変数breakpointsを定義 */
/* ====================================================
// common - 共通
==================================================== */
html {
  font-size: 62.5%;
}

body {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 1.8rem;
  line-height: 1.9;
  color: #333;
  letter-spacing: .05em;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 3.8vw;
  }
}

a {
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  color: #7e9cc3;
  text-decoration: underline;
}

a:hover {
  opacity: .8;
}

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

.is-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .is-sp {
    display: block;
  }
}

.container {
  overflow: hidden;
  position: relative;
  min-width: 112rem;
}

@media screen and (max-width: 767px) {
  .container {
    min-width: auto;
  }
}

.inner {
  max-width: 100rem;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .inner {
    max-width: auto;
    padding: 0 2rem;
  }
}

.yellow {
  color: #fff000;
}

.pink {
  color: #f44c57;
}

.green {
  color: #49cc3f;
}

.bold {
  font-weight: bold;
}

.marker-ye {
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0%, #fff000));
  background: linear-gradient(transparent 0%, #fff000 0%);
  display: inline;
  padding: 1.2rem .4rem 1rem;
}

@media screen and (max-width: 767px) {
  .marker-ye {
    padding: 1rem .4rem .8rem;
  }
}

.marker-bk {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(90%, transparent), color-stop(0%, #333));
  background: linear-gradient(transparent 90%, #333 0%);
  display: inline;
  padding: .6rem .4rem;
}

.section {
  padding: 10rem 0;
}

@media screen and (max-width: 767px) {
  .section {
    padding: 20vw 0;
  }
}

.section__title {
  font-size: 3rem;
  text-align: center;
  margin-bottom: 4rem;
  font-weight: bold;
  position: relative;
  font-family: fot-tsukuardgothic-std, sans-serif;
}

@media screen and (max-width: 767px) {
  .section__title {
    font-size: 6vw;
    margin-bottom: 6vw;
  }
}

.section__title::before {
  content: "";
  display: inline-block;
  width: 7rem;
  height: 7rem;
  background-image: url(../img/parts2.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: -5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .section__title::before {
    width: 12vw;
    height: 12vw;
    top: -10vw;
  }
}

.section__subtitle {
  text-align: center;
  font-weight: bold;
  margin-top: -2rem;
  margin-bottom: 4rem;
}

.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* ====================================================
// firstView - ファーストビュー
==================================================== */
.firstView {
  background-color: #E5BBC1;
  max-width: 270rem;
  position: relative;
}

@media screen and (max-width: 767px) {
  .firstView {
    background-image: none;
  }
}

.firstView__inner {
  width: 80%;
  margin: 0 auto;
  overflow: hidden;
  padding: 2rem 0;
}

@media screen and (max-width: 767px) {
  .firstView__inner {
    width: 100%;
    padding: 0;
  }
}

.tiger {
  position: absolute;
  right: 12%;
  top: 10%;
  width: 15%;
  -webkit-transform: rotate(15deg);
          transform: rotate(15deg);
  -webkit-animation-name: fuwafuwa;
          animation-name: fuwafuwa;
  -webkit-animation-duration: 4s;
          animation-duration: 4s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

@media screen and (max-width: 767px) {
  .tiger {
    width: 23vw;
    top: auto;
    bottom: 6vw;
    right: 2vw;
    -webkit-animation-name: fuwafuwaSp;
            animation-name: fuwafuwaSp;
    -webkit-animation-duration: 3s;
            animation-duration: 3s;
  }
}

.tiger img {
  -webkit-filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.1));
          filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.1));
}

@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0px) rotate(15deg);
  }
  50% {
    -webkit-transform: translate(0, 5rem) rotate(15deg);
  }
  100% {
    -webkit-transform: translate(0, 0px) rotate(15deg);
  }
}

@keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0px) rotate(15deg);
  }
  50% {
    -webkit-transform: translate(0, 5rem) rotate(15deg);
  }
  100% {
    -webkit-transform: translate(0, 0px) rotate(15deg);
  }
}

@-webkit-keyframes fuwafuwaSp {
  0% {
    -webkit-transform: translate(0, 0px) rotate(30deg);
  }
  50% {
    -webkit-transform: translate(0, 5vw) rotate(30deg);
  }
  100% {
    -webkit-transform: translate(0, 0px) rotate(30deg);
  }
}

@keyframes fuwafuwaSp {
  0% {
    -webkit-transform: translate(0, 0px) rotate(30deg);
  }
  50% {
    -webkit-transform: translate(0, 5vw) rotate(30deg);
  }
  100% {
    -webkit-transform: translate(0, 0px) rotate(30deg);
  }
}

/* ====================================================
// message - ごあいさつ
==================================================== */
.message {
  background-color: #faf2f3;
}

.message__wrap {
  background-color: #fff;
  padding: 5rem;
  border-radius: 3rem;
}

@media screen and (max-width: 767px) {
  .message__wrap {
    padding: 6vw 4vw;
  }
}

.message__text {
  width: 100%;
}

.yunpiImg {
  width: 30%;
  border-radius: 56% 44% 41% 59% / 57% 26% 74% 43%;
  overflow: hidden;
  float: right;
  margin: 8rem 5rem 1rem 8%;
  -webkit-box-shadow: 1rem 1rem 0 #E5BBC1;
          box-shadow: 1rem 1rem 0 #E5BBC1;
}

@media screen and (max-width: 767px) {
  .yunpiImg {
    float: none;
    width: 50%;
    margin: 0 auto 6vw;
    -webkit-box-shadow: 1.5vw 1.5vw 0 #E5BBC1;
            box-shadow: 1.5vw 1.5vw 0 #E5BBC1;
  }
}

/* ====================================================
// review - ふりかえり
==================================================== */
.reviewCard__title {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .reviewCard__title {
    font-size: 4vw;
  }
}

.reviewCard__text {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .reviewCard__text {
    text-align: left;
    width: 90%;
    margin: 0 auto;
  }
}

.reviewCard {
  margin-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .reviewCard {
    margin-bottom: 12vw;
  }
}

.reviewCard:last-child {
  margin-bottom: 0;
}

.reviewCard__icon {
  width: 5rem;
  margin: 0 auto 2rem;
}

/* ====================================================
// ambition - 抱負
==================================================== */
.ambition {
  background-color: #faf2f3;
}

.ambition__inner {
  max-width: 100rem;
}

.ambition__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .ambition__cards {
    display: block;
  }
}

.ambitionCard {
  -ms-flex-preferred-size: 32%;
      flex-basis: 32%;
  background-color: #fff;
  padding: 3rem;
  border-radius: 3rem;
  -webkit-box-shadow: 0 0 1rem #724d5429;
          box-shadow: 0 0 1rem #724d5429;
}

@media screen and (max-width: 767px) {
  .ambitionCard {
    margin-bottom: 12vw;
  }
}

.ambitionCard:last-child {
  margin-bottom: 0;
}

.ambitionCard__title {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 3rem;
  position: relative;
}

@media screen and (max-width: 767px) {
  .ambitionCard__title {
    font-size: 4vw;
  }
}

.ambitionCard__title::after {
  content: "";
  width: 3rem;
  height: .2rem;
  background-color: #333;
  position: absolute;
  bottom: -.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

/* ====================================================
// ending - おわり
==================================================== */
.ending {
  background-color: #E5BBC1;
}

@media screen and (max-width: 767px) {
  .ending {
    padding: 10vw 0;
  }
}

.ending__inner {
  position: relative;
}

@media screen and (max-width: 767px) {
  .ending__inner {
    padding: 0 1rem;
  }
}

.ending__text {
  text-align: center;
  border: 0.3rem solid #D34340;
  width: 80%;
  margin: 0 auto;
  padding: 4rem;
  border-radius: 3rem;
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-weight: bold;
  letter-spacing: 0;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .ending__text {
    width: 100%;
    padding: 5vw 2vw;
    font-size: 3.3vw;
  }
}

.ending__text .name {
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .ending__text .name {
    font-size: 2.8vw;
  }
}

.miniTiger {
  position: absolute;
  width: 10rem;
  right: 15rem;
  bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .miniTiger {
    width: 16vw;
    bottom: 3vw;
    right: 8vw;
  }
}

/* ====================================================
// footer - フッター
==================================================== */
.footer {
  background-color: #D34340;
  padding: 1rem 0;
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
  letter-spacing: .1rem;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .footer {
    font-size: 1rem;
    padding: .8rem 0;
  }
}
