body {
  font-family: "Helvetica Neue",
  Arial,
  "Hiragino Kaku Gothic ProN",
  "Hiragino Sans",
  Meiryo,
  sans-serif;
  letter-spacing: 0.05em;
}

p {
  line-height: 1.8em;
}

picture {
 display: block;
 line-height: 0;
}

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

.lead-box {
  width: 800px;
  height: 100px;
  margin: 0 auto;
  position: relative;
  text-align: center;
}
.lead-box::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #ccc;
  position: absolute;
  top: 50%;
  text-align: center;
  z-index: -1;
}
.lead-box .line {
  display: inline-block;
  padding: 44px 30px 0;
  background: #fff;
  font-size: 17px;
  line-height: 17px;
}

@media screen and (max-width: 960px) {
.lead-box {
  width: 90%;
  margin: 0 auto 12px;
  height: 50px;
}
.lead-box .line {
  display: inline-block;
  padding: 20px 20px 0;
  background: #fff;
  font-size: 17px;
  line-height: 17px;
}
}

.title-box {
  margin: 140px auto 40px;
  text-align: center;
}
.title-box span {
  font-size: 40px;
  font-family: 'Satisfy', cursive;
}
.title-box h2 {
  margin-top: 5px;
  font-size: 14px;
}
@media screen and (max-width: 1200px) {
.title-box {
  margin: 80px auto 30px;
  text-align: center;
}
}

@media screen and (max-width: 768px) {
.title-box {
  margin: 60px auto 30px;
  text-align: center;
}
.title-box span {
  font-size: 30px;
}
.title-box h2 {
  font-size: 12px;
}
}

.ja-tit {
 text-align: center;
 letter-spacing: 0.2em;
 line-height: 1.5;
 font-size: 24px;
 font-weight: 400;
 font-feature-settings : "palt";
}
.ja-tit::after {
 content: "";
 width: 43px;
 height: 1px;
 display: block;
 background: #333;
 margin: 30px auto 40px;
}
@media screen and (max-width: 1200px) {
 .ja-tit { font-size: 20px;}
 .ja-tit::after { margin: 25px auto 35px;}
}
@media screen and (max-width: 768px) {
 .ja-tit { font-size: 16px;}
 .ja-tit::after { margin: 20px auto 30px;}
}

footer {
  padding: 70px 40px 60px;
  background: #f5f5f5;
  color: #333;
}
footer .logo {
  width: 140px;
}
footer .info {
  position: relative;
}
footer .info ul {
  margin-top: 25px;
}
footer .info ul li {
  display: inline-block;
  font-size: 13px;
}
footer .info ul li::after {
  content: "│";
  display: inline-block;
  padding: 0 15px;
}
footer .info ul li:last-child:after {
  display: none;
}
footer .info .copy {
  font-size: 12px;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0.4;
}

@media screen and (max-width: 900px) {
footer {
  padding: 30px 20px 25px;
  text-align: center;
}
footer .logo {
  width: 140px;
  margin: 0 auto;
}
footer .info ul {
  margin-top: 15px;
}
footer .info ul li {
  display: inline-block;
  font-size: 11px;
}
footer .info ul li::after {
  content: "│";
  display: inline-block;
  padding: 0 5px;
}
footer .info .copy {
  margin-top: 20px;
  font-size: 10px;
  text-align: center;
  position: relative;
  top: initial;
  right: initial;
}
}

/*--------------------------------------------------------------------------
 fix-contact
---------------------------------------------------------------------------*/
.fix-contact {
display: none;
}

@media screen and (max-width: 768px) {
.fix-contact {
display: block;
width: 100%;
background: #bf9a77;
position: fixed;
bottom: 0;
z-index: 50;
}
.fix-contact p {
margin-top: 10px;
text-align: center;
color: #fff;
font-size: 11px;
font-weight: bold;
}

.fix-contact ul {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: space-between;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
-o-flex-wrap: wrap;
flex-wrap: wrap;
padding: 0 10px;
} 
.fix-contact ul li {
margin: 10px 0;
flex: 0 1 32%;
max-width: 32%;
text-align: center;
border-radius: 3px;
background: #fff;
align-self: center;
}
.fix-contact ul li a {
display: block;
padding: 7px 0;
color: #7d634a;
font-size: 12px;
font-weight: bold;
letter-spacing: 0;
}
.fix-contact ul li a img {
width: 80px;
}
}

/*--------------------------------------------------------------------------
 Aimation
---------------------------------------------------------------------------*/
.fade-in { opacity: 0;}
/* ie11 ハック*/
@media all and (-ms-high-contrast:none){
.fade-in {
 opacity: 1;
}
}

.in {
 -webkit-animation-name: fadeIn;
 animation-name: fadeIn;
 animation-duration: 1s;
 animation-fill-mode: forwards;
 animation-timing-function: ease;
}

@-webkit-keyframes fadeIn {
 from {
  opacity: 0;
 }
 to {
  opacity: 1;
 }
}

@keyframes fadeIn {
 from {
  opacity: 0;
 }
 to {
  opacity: 1;
 }
}

.fade-up {
 opacity: 0;
 transform: translate3d(0,30px,0);
 -webkit-transform: translate3d(0,30px,0);
}
/* ie11 ハック*/
@media all and (-ms-high-contrast:none){
.fade-up {
 opacity: 1;
 transform: translate(0,0);
 -webkit-transform: translate(0,0);
}
}

.up {
 -webkit-animation-name: fadeUp;
 animation-name: fadeUp;
 animation-duration: 1s;
 animation-fill-mode: forwards;
 animation-timing-function: ease;
}

.delay01 { animation-delay: 0.5s;}
.delay02 { animation-delay: 1s;}
.delay03 { animation-delay: 1.5s;}
@media screen and (max-width: 768px) {
 .delay01 { animation-delay: 0s;}
 .delay02 { animation-delay: 0s;}
}
@keyframes fadeUp {
 from {
  opacity: 0;
  transform: translate3d(0,30px,0);
  -webkit-transform: translate3d(0,30px,0);
 }
 to {
  opacity: 1;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
 }
}
@-webkit-keyframes fadeUp {
 from {
  opacity: 0;
  transform: translate3d(0,30px,0);
  -webkit-transform: translate3d(0,30px,0);
 }
 to {
  opacity: 1;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
 }
}



.pc{display: block;}
.sp{display: none;}
@media screen and (max-width: 768px){
    .pc{display: none;}
    .sp{display: block;}
    p{font-size: 14px;}
}



