.header {
   padding: 30px;
   text-align: center;
}

.head-logo {
    width: 270px;
    margin: 0 auto;
    font-size: 1rem;
    line-height: 1;
}
.head_title {
   padding: 30px;
   background-color: #b19853;
   color: #FFF;
   text-align: center;
   margin-bottom: 70px;
   position: relative;
}
.head_title h1 {
   font-size: 3.2rem;
}
.head_title:after {
   content: '';
   position: absolute;
   background-image: url("../img/ill.png");
   background-size: contain;
   width: 131px;
   bottom: -3px;
   left: 78%;
   background-repeat: no-repeat;
   height: 85px;
}
@media only screen and (max-width: 768px) {
.header {
   padding: 30px 10px;
}
.head_title {
   margin-bottom: 40px;
}
.head_title h1 {
   font-size: 2.0rem;
}
.head_title:after {
   content: '';
   position: absolute;
   background-image: url("../img/ill.png");
   background-size: contain;
   width: 110px;
   bottom: -17px;
   left: auto;
   right: 1%;
   background-repeat: no-repeat;
   height: 85px;
}
}
.main {
   margin: 0 auto 40px;
}
.tokuten {
   background-color: #d2a723;
   font-size: 2.8rem;
   text-align: center;
   font-weight: bold;
   color: #FFF;
   padding: 12px 18px;
   line-height: 100%;
}
.tokuten span {
   font-size: 4.8rem;
   padding-left: 5px;
}
.fukidashi {
  position: relative;
  display: block;
  margin: 0 auto 30px;;
  padding: 10px;
  background: #FFF;
  border: solid 2px #d2a723;
  box-sizing: border-box;
  font-size: 2.2rem;
  text-align: center;
  font-weight: bold;
}

.fukidashi:before {
  content: "";
  position: absolute;
  bottom: -28px;
  left: 50%;
  margin-left: -14px;
  border: 12px solid transparent;
  border-top: 16px solid #FFF;
  z-index: 2;
}

.fukidashi:after {
  content: "";
  position: absolute;
  bottom: -33px;
  left: 50%;
  margin-left: -16px;
  border: 14px solid transparent;
  border-top: 18px solid #d2a723;
  z-index: 1;
}
.present {
   font-size: 2.6rem;
   font-weight: bold;
   margin-bottom: 40px;
   text-align: center;
}
@media only screen and (max-width: 768px) {
	.tokuten {
   		font-size: 2rem;
	}
	.tokuten span {
   		font-size: 3.8rem;
	}
	.fukidashi {
		font-size: 1.8rem;
	}
	.present {
		font-size: 2rem;
	}
}
.price {
   width: 90%;
   margin: 0 auto 80px;
   border: 1px solid #d7d7d7;
}
.price th  { width: 16.7%;
   border: 1px solid #d7d7d7;
   background-color: #faf6ef;
   padding: 20px 5px;}
.price td  { text-align: center;
   padding: 20px 5px;
   width: 16.7%;
   border: 1px solid #d7d7d7;}
.price td:first-child  { text-align: left; }
@media only screen and (max-width: 768px) {
  .price {
    display: block;
    width: 100%; 
    margin: 0 auto 50px;
  }
  .price thead{ 
    display: block; 
    float: left;
    width: 50%;
  }
  .price tbody{ 
   display: -webkit-flex;
   display: -moz-flex;
   display: -ms-flex;
   display: -o-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   justify-content: space-between;
    width: 100%;
    overflow-x: auto; 
    white-space: nowrap;
  }
  .price th{ 
    display: block;
    width: auto;
    width: 100%;
  }
  .price tr {width: 50%;display: block;}
  .price tbody tr{ 
    display: block;
    width: 50%;
  }
  .price td{ 
    width: 100%;
    height: 90px;
    line-height: 140%;
    text-align: center;
    align-items: center;
   display: -webkit-flex;
   display: -moz-flex;
   display: -ms-flex;
   display: -o-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
    justify-content: center;
  }
}
.bt {
   background-color: #de2757;
   border-radius: 10px;
   padding: 15px 5em;
   font-size: 1.8rem;
   color: #FFF;
   font-weight: bold;
   text-align: center;
   display: inline-block;
   transition : all 0.3s ease 0s;
   text-decoration: none;
   position: relative;
}
.bt:hover {
   background-color: #a90b35;
   color: #FFF;
}
.bt::after {
   content: '';
   background-image: url("../img/arrow.png");
   background-size: contain;
   width: 9px;
   height: 12px;
   position: absolute;
   top: 40%;
   right: 5%;
}
@media only screen and (max-width: 768px) {
.bt {
   padding: 15px 3.4em;
}
}
.foot-bottom {
   padding: 35px 0;
   border-top: 1px solid #c1c1c1;
   font-size: 1.3rem;
}
.foot-bottom ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.3rem;
}
.foot-bottom ul li {
    margin-left: 16px;
}
.foot-bottom ul li a {
   text-decoration: none;
   color: #313131;
}
.foot-bottom ul li a:hover {
   text-decoration: underline;
}
@media only screen and (max-width: 768px) {
.foot-bottom p {
   text-align: center;
   display: block;
   width: 100%;
   order: 2;
}
.foot-bottom ul {
   justify-content: center;
   margin: 0 auto 25px;
   width: 100%;
   order: 1;
}
}