@charset "UTF-8";
/*
Author: Ann Tachibana
Version: 2.0
*/
body {
  animation: pagefadeIn .5s forwards;
}
@keyframes pagefadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
/*======================================
type
/*======================================*/
html {
  font-family: 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
strong, em, .gothic strong, .gothic em {
  font-weight: bold;
}
.gothic {
  font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', YuGothic, メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
/*----------------------
text color
----------------------*/
html, body {
  color: #585858;
}
.txt-normal {
  color: initial;
}
.txt-white {
  color: #fff;
}
.txt-pink {
  color: rgba(255, 45, 130, 1);
}
.txt-r-pink {
  color: rgba(200, 70, 110, 1);
}
.txt-yellow {
  color: rgba(230, 170, 65, 1);
}
.txt-brown {
  color: rgba(120, 105, 85, 1);
}
.txt-beige {
  color: rgba(175, 140, 100, 1);
}
.txt-gold {
  color: rgba(200, 165, 80, 1);
}
.txt-shadow-white {
  text-shadow: 1px 0px 10px #fff, 0px 1px 10px #fff, -1px 0px 10px #fff, 0px -1px 10px #fff, 1px 0px 10px #fff, 0px 1px 10px #fff, -1px 0px 10px #fff, 0px -1px 10px #fff;
}
.txt-shadow-white-S {
  text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}
/*----------------------
background color
----------------------*/
.bg-white {
  background: #fff;
}
.bg-grayL {
  background: rgba(245, 245, 245, 1);
}
.bg-pink {
  background: rgba(255, 45, 130, 1);
  color: #fff;
}
.bg-r-pink {
  background: rgba(200, 70, 110, 1);
  color: #fff;
}
.bg-blue {
  background: rgba(15, 170, 185, 1);
  color: #fff;
}
.bg-gold {
  background: rgba(200, 165, 80, 1);
  color: #fff;
}
.bg-goldL {
  background: rgba(200, 165, 80, .1);
}
.bgGR-White-bottom {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+99&0+1,1+70 */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, .9) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.bg-gray-gr {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f5f5f5+0,ffffff+100 */
  background: rgb(245, 245, 245); /* Old browsers */
  background: linear-gradient(to bottom, rgba(245, 245, 245, 1) 0%, rgba(255, 255, 255, 1) 100%);
}
.bg-pink-gr {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#c396c3+0,8250d2+100&1+0,0.62+100 */
  background: linear-gradient(to bottom, rgba(195, 150, 195, 1) 0%, rgba(130, 80, 210, 0.9) 100%);
}
.bg-gray-arch {
  position: relative;
  z-index: 10;
  background: url(img/bg-arch-PC.png) no-repeat center bottom;
  background-size: cover;
  width: 100%;
  padding-top: 3.842105263%;
  margin-top: -3.2%;
}
.bg-pink-arch {
  position: relative;
  z-index: 10;
  background: url(img/bg-arch-pink-PC.png) no-repeat center bottom;
  background-size: cover;
  width: 100%;
  padding-top: 3.842105263%;
  margin-top: -3.2%;
}
/*======================================
arrow
/*======================================*/
.arrow-L {
  width: 130px;
  padding-top: calc(130px*.35);
  margin: 1.5em auto;
}
.arrow-S {
  width: 90px;
  padding-top: calc(90px*.35);
  margin: 1em auto;
}
.arrow-gold {
  background: url(../img/arrow-gold.png) no-repeat center;
  background-size: cover;
}
/*======================================
under line
/*======================================*/
.under {
  display: inline;
  background: linear-gradient(transparent 70%, #fff799 70%);
  background-size: 100% 100%;
  background-position: center bottom;
}
/*placeholder-----------------*/ :placeholder-shown {
  color: #777;
}
/* Google Chrome, Safari, Opera 15+, Android, iOS */ ::-webkit-input-placeholder {
  color: #777;
}
/* Firefox 18- */ :-moz-placeholder {
  color: #777;
  opacity: 1;
}
/* Firefox 19+ */ ::-moz-placeholder {
  color: #777;
  opacity: 1;
}
/* IE 10+ */ :-ms-input-placeholder {
  color: #777;
}
/*focus-----------------*/
form input[type="text"]:focus, input[type="text"]:focus, input[type="search"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="password"]:focus, input[type="submit"]:focus, form select:focus, form textarea:focus, button:focus {
  background: #fff;
  border: 4px solid;
}
/*aside-----------------*/
.form-CMN aside ul li {
  font-size: 13px;
  line-height: 1.3em;
}
/*======================================
title
/*======================================*/
.title-CMN p {
  text-align: center !important;
  font-size: 100% !important;
  margin-top: .1em;
  line-height: 1.3em;
  letter-spacing: 2px;
}
.ribon-B {
  position: relative;
  text-align: center;
  background: rgba(65, 60, 65, 1);
  padding: 1em 0 1.5em;
  z-index: 10;
  box-shadow: 0 0 15px rgba(0, 0, 0, .7);
  color: #fff;
}
.ribon-B:before, .ribon-B:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  left: 0;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#d2a765+0,fae0a0+25,fae0a0+75,d2a765+100 */
  background: #d2a765;
  background: linear-gradient(to right, #d2a765 0%, #fae0a0 25%, #fae0a0 75%, #d2a765 100%);
}
.ribon-B:before {
  top: 5px;
}
.ribon-B:after {
  bottom: 5px;
}
.ribon-B .txt-gold {
  color: rgb(226 199 142);
}
/*======================================
border-frame
/*======================================*/
.border-frame {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+25,e5e1d7+100 */
  background: rgba(255, 255, 255, .8); /* Old browsers */
  padding: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, .5);
}
.border-frame .border-outside {
  border: 1px solid rgba(230, 200, 145, 1);
  padding: 2px;
}
.border-frame .border-inside {
  border: 5px solid rgba(230, 200, 145, 1);
  padding: 1em;
}
@media screen and (min-width: 768px) { /*768px〜1023px*/
  .border-frame .border-inside {
    padding: 1.5em;
  }
}
/*======================================
footer
/*======================================*/
footer {
  position: relative;
  text-align: center;
  font-size: 13px;
  background: #fff;
  font-feature-settings: normal;
}
/*footer aboutUs*/
footer .logo {
  width: 80%;
  margin: 0 auto 1em;
}
footer .logo li {
  width: 45%;
  max-width: 250px;
}
footer .logo li:nth-of-type(2) {
  padding-left: 2em;
}
/*footer footer-CMN*/
footer .footer-CMN ul {
  font-weight: bold;
}
footer .footer-CMN ul li {
  position: relative;
  font-size: 90%;
  padding: 0 .5em;
  margin: 0;
  line-height: 1em;
}
footer .footer-CMN ul li:not(:last-of-type):after {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  height: 100%;
  width: 1px;
  background: #999;
}
footer #copy-right p {
  font-size: 11px;
  text-align: center;
  line-height: 1.2em;
  padding: 1em;
  margin: 0 auto;
}
footer #copy-right span {
  display: inline-block;
  padding: 0 3px;
}
footer #copy-right span:last-of-type {
  display: block;
}
/*footer aside*/
footer aside {
  text-align: justify;
  font-size: 13px;
  line-height: 1.3em;
}
footer aside h3 {
  font-size: 115%;
  margin-bottom: .5em;
}
footer aside ol {
  counter-reset: li;
  padding-left: 0;
}
footer aside ol li {
  position: relative;
  padding-left: 1.3em;
  margin-bottom: 1em;
}
footer aside ol li:before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: li;
  content: counter(li)'.';
  padding-right: .5em;
  font-weight: bold;
}
footer aside ul li {
  line-height: 1.3em !important;
}
footer table {
  border-collapse: separate;
  border-spacing: 0 5px;
  font-size: 14px;
  line-height: 1.3em;
  margin: 0 auto;
}
footer th {
  width: 25%;
  vertical-align: middle;
  font-weight: bold;
  padding: 1em .5em;
  margin-bottom: 5px;
}
footer td {
  width: 75%;
  vertical-align: middle;
  text-align: justify;
  padding: .5em 0 .5em .5em;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) { /*768px〜1023px*/
  footer .aboutUs {
    font-size: 16px;
  }
  footer .aboutUs .logo {
    width: auto;
  }
}
/*======================================
nav-SNS
/*======================================*/
.nav-SNS li {
  margin: 0 3px;
}
.nav-SNS a {
  position: relative;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 40px;
  background: #717171;
}
.nav-SNS a span {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: none;
}
.nav-SNS li a:before {
  position: absolute;
  content: "";
  text-align: center;
  color: #fff;
  width: 40px;
  height: 40px;
  font-size: 40px;
  line-height: 40px;
  top: 0;
  left: 0;
}
.nav-SNS .LINE a:before {
  background: url(../img/SNS-TRA-LINE.png) no-repeat center;
  background-size: 100%;
}
.nav-SNS .Instagram a:before {
  background: url(../img/SNS-TRA-Instagram.png) no-repeat center;
  background-size: 100%;
}
.nav-SNS .Facebook a:before {
  background: url(../img/SNS-TRA-Facebook.png) no-repeat center;
  background-size: 100%;
}
.nav-SNS .Ameblo a:before {
  background: url(../img/SNS-TRA-Ameblo.png) no-repeat center;
  background-size: 100%;
}
footer .nav-SNS li a:before {
  color: rgba(210, 175, 85, 1);
}
/*======================================
submitBtn
/*======================================*/
@keyframes animScale {
  0% {
    transform: scale(0.8, 0.8);
  }
  5% {
    transform: scale(1.1, 1.1);
  }
  10% {
    transform: scale(1, 1);
  }
  15% {
    transform: scale(1.1, 1.1);
  }
  20% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes animSlowScale {
  0% {
    transform: scale(.95);
  }
  50% {
    transform: scale(1.05, 1.05);
  }
  100% {
    transform: scale(.95);
  }
}
.slow-effect {
  animation: animSlowScale 3s infinite ease;
  transform-origin: 50% 50%;
  animation-play-state: running;
}