@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
html {
  font-size: 62.5%; }

p {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2rem;
  font-weight: 400; }
  @media (max-width: 768px) {
    p {
      font-size: 1.7rem; } }

a:link, a:visited, a:hover, a:active {
  text-decoration: none; }

body {
  margin: 0; }

ul, li {
  list-style: none; }

#header {
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 50;
  width: 100%;
  position: fixed;
  top: -110px;
  transition: .5s;
  /* アニメーションタイミング */ }

#header.is-show {
  top: 0; }

header .container {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 110px;
  margin: 0 auto;
  max-width: 1024px; }
  @media (max-width: 768px) {
    header .container {
      height: 80px; } }

header ul {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media (max-width: 768px) {
    header ul {
      padding: 0 10px 0 0; } }

.logo {
  width: 20%; }
  @media (max-width: 768px) {
    .logo {
      width: 30%; } }

.logo img {
  width: 100%;
  height: auto; }

header .button {
  width: 180px; }
  @media (max-width: 768px) {
    header .button {
      width: 150px; } }
  @media (max-width: 414px) {
    header .button {
      width: 120px; } }

header .button-pink {
  background-color: #f05a69;
  border: 2px solid #f05a69;
  color: #fff; }

header .button-white {
  background-color: #fff;
  border: 2px solid #f05a69;
  color: #f05a69; }

header .button a {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 15px;
  font-weight: bold;
  font-family: 'Noto Sans JP', sans-serif;
  height: 44px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-decoration: none;
  margin: 0 0 0 10px; }
  @media (max-width: 768px) {
    header .button a {
      font-size: 13px; } }
  @media (max-width: 414px) {
    header .button a {
      font-size: 10px; } }

.wrapper {
  margin: 0 auto;
  max-width: 750px; }

.wrapper img {
  width: 100%;
  height: auto;
  vertical-align: top; }

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
.fadeUpTrigger {
  opacity: 0; }

.backpink {
  background-color: #fa7d87;
  max-width: 750px;
  margin: 0 auto;
  padding: 50px 0; }
  @media (max-width: 768px) {
    .backpink {
      display: none; } }

.backpink_02 {
  display: none; }
  @media (max-width: 768px) {
    .backpink_02 {
      display: block;
      background-color: #fa7d87;
      max-width: 750px;
      margin: 0 auto;
      padding: 50px 0; } }

.backwhite {
  background-color: #fff;
  max-width: 750px;
  margin: 0 auto;
  padding: 50px 0; }
  @media (max-width: 768px) {
    .backwhite {
      display: none; } }

.backwhite_02 {
  display: none; }
  @media (max-width: 768px) {
    .backwhite_02 {
      display: block;
      background-color: #fff;
      max-width: 750px;
      margin: 0 auto;
      padding: 50px 0; } }

.backpink_03 {
  background-color: #fa7d87;
  max-width: 750px;
  margin: 0 auto;
  padding: 50px 0; }

@keyframes shiny {
  0% {
    left: -20%; }
  10% {
    left: 120%; }
  100% {
    left: 120%; } }
.app {
  width: 450px;
  margin: 0 auto;
  line-height: 1.5;
  border: 4px solid #f05a69;
  border-radius: 38px;
  background-color: transparent;
  box-shadow: 2px 2px 5px 0px #ffc8d7; }
  @media (max-width: 768px) {
    .app {
      width: 330px; } }

.shiny-btn {
  position: relative;
  display: block;
  height: 70px;
  line-height: 70px;
  text-align: center;
  text-decoration: none;
  color: #f05a69;
  font-size: 30px;
  font-weight: 600;
  font-family: 'Noto Sans JP', sans-serif;
  background: #f1e767;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f3c676));
  background: -webkit-linear-gradient(top, #fff 0%, #f3c676 100%);
  background: linear-gradient(to bottom, #fff 0%, #f3c676 100%);
  cursor: pointer;
  overflow: hidden;
  border-radius: 35px;
  letter-spacing: 2px; }
  @media (max-width: 768px) {
    .shiny-btn {
      font-size: 23px; } }

.shiny-btn::after {
  content: '';
  position: absolute;
  top: -10%;
  left: -20%;
  width: 40px;
  height: 100%;
  transform: scale(2) rotate(20deg);
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.5) 100%, rgba(255, 255, 255, 0) 0%);
  /* アニメーション */
  animation-name: shiny;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite; }

a.maru:before {
  /*「after要素」で三角 */
  display: block;
  content: "";
  position: absolute;
  top: 47%;
  right: 70.5px;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 11px solid #fff; }
  @media (max-width: 768px) {
    a.maru:before {
      top: 47%;
      right: 44.5px;
      border-left: 5px solid transparent;
      border-right: 5px solid transparent;
      border-top: 8px solid #fff; } }

footer {
  background-color: #fa7d87;
  max-width: 750px;
  margin: 0 auto; }

.address p {
  color: #fff;
  margin: 0 0 0 25px; }
  @media (max-width: 768px) {
    .address p {
      margin: 0; } }

.tel a {
  color: #f5dcb4;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-size: 50px;
  font-weight: 600;
  margin-left: 25px; }
  @media (max-width: 768px) {
    .tel a {
      margin: 0; } }

small {
  color: white; }

.copy {
  text-align: center;
  padding: 50px 0 20px; }

.logo_white {
  width: 250px; }
  @media (max-width: 768px) {
    .logo_white {
      margin: -20px 0 -10px -25px; } }

.logo_white img {
  width: 100%;
  height: auto; }

.footer_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  align-items: flex-end;
  padding: 0 50px 40px 40px; }
  @media (max-width: 768px) {
    .footer_inner {
      display: block;
      padding: 0 15px; } }

.otoiawase p {
  text-align: center;
  padding: 30px;
  font-weight: 600;
  line-height: 2; }
  @media (max-width: 768px) {
    .otoiawase p {
      padding: 0; } }

.otoiawase {
  border: 0;
  box-shadow: none;
  cursor: pointer; }

.otoiawase a {
  display: block;
  width: 250px;
  height: 210px;
  color: #fa7d87;
  font-size: 1.5em;
  background: #fff;
  box-shadow: 0px 5px 0 #f05a69;
  transition: .3s;
  border: 3px solid #f05a69;
  border-radius: 10px; }
  @media (max-width: 768px) {
    .otoiawase a {
      width: 100%;
      height: 72px;
      margin: 20px auto 0; } }

.otoiawase a:hover {
  color: #f05a69;
  box-shadow: none;
  background: #f5dcb4;
  transform: translate3d(0, 5px, 0); }

.address span {
  background-color: white;
  color: #fa7d87;
  border-radius: 9px;
  padding: 0 10px 2px;
  margin: 0 10px 0 0;
  font-size: 18px; }
  @media (max-width: 768px) {
    .address span {
      font-size: 1.7rem; } }

@media (max-width: 768px) {
  .otoiawase br {
    display: none; } }

/*infoエリアをはじめは非表示*/
#info {
  display: none; }

/*モーダルの横幅を変更したい場合*/
.modaal-container {
  max-width: 600px; }

/*モーダルのボタンの色を変更したい場合*/
.modaal-close:after,
.modaal-close:before {
  background: #e6e7e7; }

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background: #666; }

.modaal-wrapper * img {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  -webkit-backface-visibility: hidden; }
