﻿/* ----------　all　---------- */
.linkStyle{
	color:#f2df2c;
}
.linkStyle:hover{
	color:#f2df2c;
	opacity: 0.7;
	transition: all 0.5s;
}
.load_logo figure {
    max-width: 500px;
}
.more a:before {
    background: rgba(232 ,211 ,79 ,0.15);
}
footer{
    padding-bottom: 150px;
}

/* ----------　TOP　---------- */
#main .main_box {
    top: auto;
    bottom: 0;
    left: 5%;
    max-width: 800px;
    width: 70%;
}
#main .catch{
    position: absolute;
    top: 8%;
    max-width: 1000px;
    width: 70%;
}
#main .main_box h1{
    margin-bottom: 20px;
}
#main .main_box .entry {
    display: none;
}
#catch .catch_point {
    margin-bottom: 10px;
}
#catch .catch_point p {
    background-color: #fff;
    color: #000;
    margin: 10px;
    padding: 5px 10px;
    font-weight: bold;
    font-size: 19px;
    position: relative;
}
#catch .catch_point p:before {
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 7px solid white;
    position: absolute;
    content: '';
    bottom: -7px;
    left: 0;
    right: 0;
    margin: auto;
}
.catch_txt {
    background-color: rgba(0 ,0 ,0 ,0.6);
}
#catch .catch_txt h2{
        font-size: -webkit-calc(1rem + 20px);
    font-size: calc(1rem + 20px);
    text-align: center;
    position: relative;
    margin-bottom: 60px;
    line-height: 2;
}
#catch .catch_txt h2:before {
    content: '';
    position: absolute;
    width: 40px;
    height: 1px;
    background-color: #f2df2c;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
}
#catch .catch_txt h2:before{
    content:'';
    position: absolute;
    width: 40px;
    height: 1px;
    background-color: #f2df2c;
}
.more a:after {
    background-color: #aa9f36;
}
#contents .box_item h2 {
    border-bottom: 1px solid #fff;
    padding-bottom: 5px;
    font-size: -webkit-calc(1rem + 20px);
    font-size: calc(1rem + 20px);
}
#contents .box_item p{
    line-height:2.2;
}
#contents .no .en_font{
    position: relative;
    line-height: 1.2;
}
#contents .no .en_font:before {
    content: '';
    position: absolute;
    background-image: url(Dup/img/thunder.png);
    width: 50px;
    height: 50px;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
}
.info_banner{
    width: 80%;
    max-width: 650px;
    margin: auto;
    margin-bottom: 100px;
}
#top_cms .cms_5-c{
    width: 90%!important;
    margin: auto;
}
/* ----------　下層ページ　---------- */

.page8 #tel_contact{
    margin-bottom: 50px;
}
.page8 .banner{
    width: 40%;
    margin: 0 2%;
    max-width: 400px;
}
.page10 .more {
    width: 28%!important;
}
.page10 .more a:after {
    width: 10%;
}

/* ----------　固定バナー　---------- */
.menu-button {
  -webkit-transition: 0.4s;
  -moz-transition: 0.4s;
  transition: 0.4s;
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 400px;
  color: #ffffff;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26), 0 2px 10px 0 rgba(0, 0, 0, 0.22);
  z-index: 2;
}
.menu-button:hover{
        transform: translateY(-5px);
}
.menu-button.active{
  box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.28), 0 4px 15px 0 rgba(0, 0, 0, 0.25);
}
.menu-button a {
  -webkit-transition: 0.4s;
  -moz-transition: 0.4s;
  transition: 0.4s;
  opacity: 0;
  width: 70px;
  height: 70px;
  text-align: center;
  line-height: 50px;
  border-radius: 50%;
  color: #ffffff;
  font-size: 24px;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26), 0 2px 10px 0 rgba(0, 0, 0, 0.22);
  cursor: pointer;
}
.menu-button a.active {
  box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.28), 0 4px 15px 0 rgba(0, 0, 0, 0.25);
}
.menu-button a:nth-child(2) {
  -webkit-transition-delay: 0.3s;
  -moz-transition-delay: 0.3s;
  transition-delay: 0.3s;
  position: absolute;
  right: 270px;
  bottom: 30px;
  background: #55acee;
}
.menu-button a:nth-child(3) {
  -webkit-transition-delay: 0.4s;
  -moz-transition-delay: 0.4s;
  transition-delay: 0.4s;
  position: absolute;
  right: 170px;
  bottom: 30px;
  background: #00B900;
}
.menu-button a:nth-child(4) {
  -webkit-transition-delay: 0.5s;
  -moz-transition-delay: 0.5s;
  transition-delay: 0.5s;
  position: absolute;
  right: 70px;
  bottom: 30px;
  background: #da5454;
}
.menu-button.active a {
  opacity: 1;
  width: 70px;
  height: 70px;
}
.menu-button.active a:nth-child(2) {
  right: 270px;
  bottom: 140px;
}
.menu-button.active a:nth-child(2):hover {
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  transition-delay: 0s;
  background: #2297f0;
}
.menu-button.active a:nth-child(3) {
  right: 170px;
  bottom: 140px;
}
.menu-button.active a:nth-child(3):hover {
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  transition-delay: 0s;
  background: #009c00;
}
.menu-button.active a:nth-child(4) {
  right: 70px;
  bottom: 140px;
}
.menu-button.active a:nth-child(4):hover {
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  transition-delay: 0s;
  background: #d73333;
}
.menu-button a img,.menu-button a i{
    font-size: 40px;
    width: 70%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.menu-button .banner_box_img{
    z-index: 2;
    position: relative;
}


/* ----------　IE　---------- */
@media all and (-ms-high-contrast: none){
  .sample{

  }
}

/* ----------　タブレット　---------- */
@media screen and (max-width: 768px){
/* ----------　all　---------- */

#header .logo{
    width: 55%!important;
}
/* ----------　TOP　---------- */
#main {
    height: 85vh;
    max-height: 85vh;
}
#main .cms_img1 img {
    height: 85vh;
}
#main .main_box {
    top: 50%;
    bottom: auto;
    max-width: 800px;
    width: 90%;
}
#main .main_box h1 {
    max-width: 100%;
    width: 100%;
}
.sp_back{
    opacity: 1!important;
}
#contents .no .en_font:before {
    width: 35px;
    height: 35px;
    top: -45px;
}
.more a {
    width: 60%;
}
/* ----------　下層ページ　---------- */
.page8 .banner {
    width: 45%;
}
.page10 .more {
    width: 100%!important;
}
}


/* ----------　スマホ　---------- */
@media screen and (max-width: 667px){
#loader .load_logo{
    width: 75%;
}
/* ----------　固定バナー　---------- */
.menu-button {
    right: 5%;
    width: 90%;
}
.menu-button a:nth-child(2) {
    right: 70%;
}
.menu-button a:nth-child(3) {
    right: 40%;
}
.menu-button a:nth-child(4) {
    right: 10%;
}
.menu-button.active a:nth-child(2) {
    right: 70%;
}
.menu-button.active a:nth-child(3) {
    right: 40%;
}
.menu-button.active a:nth-child(4) {
    right: 10%;
}
/* ----------　TOP　---------- */
#main {
    height: 50vh;
    max-height: 50vh;
}
#main .cms_img1 img {
    height: 50vh;
}
#main .main_box {
    top: auto;
    bottom: 20px;
    transform: translateY(0%);
    -webkit- transform: translateY(0%);
}
#main .main_box h1{
    margin-bottom: 15px;
}
#catch .catch_txt h2 {
    font-size: -webkit-calc(1rem + 6px);
    font-size: calc(1rem + 6px);
}

#contents .box .box_item {
    padding: 50px 30px;
}
#contents .box_item h2 {
    font-size: -webkit-calc(1rem + 7px);
    font-size: calc(1rem + 7px);
}
#contents .box_item p {
    line-height: 2;
}
#contents .no{
    padding-top: 60px;
}
#main .more a{
    padding: 10px 0;
    font-size: 14px;
}

.info_banner {
    width: 90%;
    margin-bottom: 50px;
}  
.shop_info .info ,.shop_info .contact{
    padding: 100px 0;
}
.shop_info h2 {
    width: 70%;
}
/* ----------　下層ページ　---------- */
#page_title p.font_30up {
    font-size: -webkit-calc(1rem + 14px);
    font-size: calc(1rem + 14px);
}
.page6 .content_wrap {
    padding: 40px 30px;
}
.page8 .banner {
    width: 90%;
    margin: 0 0% 25px;
}
.page8 .tel a{
    font-size: -webkit-calc(1rem + 2px);
    font-size: calc(1rem + 2px);    
}

}