@charset "utf-8";

/**
 * ボディ
 **************************************************************/
body {
	letter-spacing: .1rem;
	-webkit-text-size-adjust: 100%;
}


/**
 * ヘッダー
 **************************************************************/
#header-contents__wrapper{
    height: auto;
    min-height: auto;
    max-height: auto;
	z-index: 9999999999;
	background: none;
	padding: 0;
	margin: 0;
}
.header-contents__wrapper {
	background: rgba(255,255,255, .9);
}
.header-contents {
  display: flex;
  display: -webkit-flex;
  -webkit-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto;
  padding: 18px 0;
}
.header-contents__logo-box {
  text-align: left;
  width: 50%;
}
.header-contents__logo {
  display: block;
  height: auto;
  width: 330px;
}
.header-contents__menu-box {
  display: flex;
  display: -webkit-flex;
  -webkit-align-items: center;
          align-items: center;
  -webkit-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
	width: 50%;
}
.header-content__menu {
  display: flex;
  display: -webkit-flex;
  -webkit-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-around;
          justify-content: space-around;
  width: 80%;
}
.header-content__menu-item {
  position: relative;
  padding: 0 0 0 15px;
}
.header-content__menu-item::before {
  position: absolute;
  content: "";
  left: 0px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 5px;
}
.header-content__menu-icon-box{
  display: flex;
  display: -webkit-flex;
  -webkit-align-items: center;
          align-items: center;
  -webkit-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: flex-end;
          justify-content: flex-end;
  width: 20%;
}
.header-content__menu-icon-box.pc{
  display: flex;
  display: -webkit-flex;
}
.header-content__menu-icon:nth-child(2){
  margin: 0 0 0 25px;
}
.header-content__menu-wrapper {
  display: flex;
  display: -webkit-flex;
  -webkit-align-items: center;
          align-items: center;
  -webkit-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
	width: 100%;
}
.header-content__sp-title {
	display: none;
}


/**
 * ヘッダー　:　営業時間など
 **************************************************************/
.header-contents-store__wrapper {
  background: #000;
}
.header-contents-store {
  display: flex;
  display: -webkit-flex;
  -webkit-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  margin: 0 auto;
  max-width: 1000px;
  padding: 17px 0 14px;
}
.header-contents-store__text {
  color: #fff;
}
.header-contents-store__access-link {
  border: 1px solid #fff;
  -webkit-border-radius: 60px;
          border-radius: 60px;
  color: #fff;
  padding: 10px 20px;
  width: 200px;
}
.header-contents-store__access-link:hover{
	text-decoration: none;
	color: #fff;
	cursor: pointer;
}
.header-contents-store__text-name {
  font-size: 1.1rem;
}
.header-contents-store__text-tel {
  font-size: 1rem;
}
.header-contents-store__text-tel > a {
    color: #fff;
    text-decoration:none;
}
.header-contents-store__text-open {
  font-size: .8rem;
}
.header-contents-store__text-tel > img,
.header-contents-store__text-open > img {
  vertical-align: initial;
}
.header-contents-store__access-link:link,
.header-contents-store__access-link:visited {
  color: #fff;
}

/**
* ヘッダー_IE11対応
**************************************************************/
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .header-contents-store__text-tel {
  		padding: 0 0 0 10px;
  	}
	*::-ms-backdrop, .header-contents-store__text-tel > img, .header-contents-store__text-open > img {
  		vertical-align: middle;
  	}
	*::-ms-backdrop, .header-contents-store__text-tel > img {
  		position: relative;
  		left: -1px;
  		top: -2px;
  	}
  	*::-ms-backdrop, .header-contents-store__text-open {
  		padding: 0 0 0 10px;
  	}
  	*::-ms-backdrop, .header-contents-store__text-open > img {
  		position: relative;
  		left: -1px;
  		top: -1px;
  	}
}

/**
 * フッター
 **************************************************************/
.footer-contents__inner-box {
  width: 1000px;
  margin: 0 auto;
}
.footer-contents__menu-box-wrapper {
  background: #00435f;
  padding: 52px 0;
}
.footer-contents__menu-box {
  display: flex;
  display: -webkit-flex;
  -webkit-align-items: stretch;
          align-items: stretch;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
}
.footer-contents__menu-column{
  display: flex;
  display: -webkit-flex;
  -webkit-flex-direction: column;
          flex-direction: column;
  text-align: left;
  width: 33.33%;
}
.footer-contents__logo-box {
  margin-top: auto;
}
.footer-contents__menu-title{
  color: #d1d1d1;
  font-size: 1.1rem;
  font-weight: bold;
  position: relative;
  padding: 0 0 0 20px;
  margin: 0 0 15px;
}
.footer-contents__menu-title::before {
  position: absolute;
  content: "";
  left: 0px;
  height: 8px;
  width: 8px;
  border-top: 2px solid #d1d1d1;
  border-right: 2px solid #d1d1d1;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 6px;
}
.footer-contents__menu {
  margin: 0 0 0 22px;
  line-height: 1.8rem;
  font-size: .85rem;
}
a.footer-contents__menu-item {
　　color: #fff;
}
a.footer-contents__menu-item:visited,
a.footer-contents__menu-item:link {
  color: #fff;
}
.footer-contents__menu-item::before {
  content: "・";
}
.footer-contents__menu-mailmagazine {
  margin-top: auto;
}
.footer-contents__menu-mailmagazine-link {
  border: 1px solid #fff;
  color: #fff;
  display: block;
  text-align: center;
  -webkit-border-radius: 4px;
          border-radius: 4px;
  padding: 8px 0;
  max-width: 200px;
}
.footer-contents__menu-mailmagazine-link:hover {
    background: #fff;
    color: #00435f;
    text-decoration: none;
}
.footer-contents__menu-mailmagazine-link:hover:visited,
.footer-contents__menu-mailmagazine-link:hover:link {
    background: #fff;
    color: #00435f;
}
a.footer-contents__menu-mailmagazine-link:visited,
a.footer-contents__menu-mailmagazine-link:link {
  color: #fff;
}
.footer-contents__title{
  color: #d1d1d1;
  font-size: 1.2rem;
  margin: 45px 0 25px;
}
.footer-contents__icon-list {
  display: flex;
  display: -webkit-flex;
  text-align: left;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: center;
          justify-content: center;
}
.footer-contents__icon__instagram {
  margin: 0 0 0 25px;
}
.footer-contents__mult-items .footer-contents__menu:nth-of-type(2n+1){
  margin: 0 0 18px 22px;
}

/**
 * フッター　:　コピーライト
 **************************************************************/
.footer-contents__copyright-box-wrapper {
  background: #000;
}
.footer-contents__copyright {
  color: #fff;
  padding: 20px 0 25px;
}


/**
 * 共通クラス
 **************************************************************/
.sp{
	display: none;
}

/**
* スマホ　グローバルメニュー
**************************************************************/
.sp-glnav-box{
    width: 100%;
    height: 100vh;
    padding: 25px 0;
    position: absolute;
    z-index: 999999999999999999999;
    overflow: hidden;
    background-color: #e8e8e8;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	animation: showspGlNav 0.65s ease 0s 1 normal;
	-webkit-animation: showspGlNav 0.65s ease 0s 1 normal;
}
.sp-glnav-box.closed{
   animation: closeSpGlNav 0.65s ease 0s 1 normal;
   -webkit-animation: closeSpGlNav 0.65s ease 0s 1 normal;
}
@-webkit-keyframes showspGlNav {
    0%   {left: -100%;}
    100% {left: 0%;}
}
@-webkit-keyframes closeSpGlNav {
    0%   {left: 0%;}
    100% {left: -100%;}
}

@media (max-width: 1000px) {
	.footer-contents__inner-box{
		width: calc( 100% - 40px );
	}
	.footer-contents__menu-box-wrapper {
	    padding: 52px 0;
	}
}
@media (max-width: 897px) {
	/**
	 * ボディ
	 **************************************************************/
	#header-contents__wrapper + #contents {
		padding-top: 0;
	}


	/**
	 * ヘッダー
	 **************************************************************/
	 .header-content__sp-title {
	 	display: block;
	 	font-size: 1.6rem;
	 	font-weight: bold;
	    border-bottom: 1px solid #969696;
	 }
	 .header-content__sp-title > span{
	 	font-size: .8rem;
	 	font-weight: normal;
	 	padding: 3% 0;
		display: block;
	 }
	.header-contents {
	    -webkit-justify-content: flex-start;
	    justify-content: flex-start;
	    padding: 1% 0;
			background: rgba(255,255,255, .9);
			z-index:999999;
	}
	.header-content__menu-wrapper {
		display: none;
	}
	.header-content__menu {
	    width: 100%;
	    display: block;
	    flex-direction: column;
	}
	.header-content__menu-item {
	    display: block;
	    border-bottom: 1px solid #969696;
	    padding: 5% 0;
	}
	.header-contents__logo {
	    width: 100%;
	    padding: 10px;
	}
	.header-contents__logo-box {
	    order: 2;
        margin: 0 calc( 25% - 16px ) 0 calc( 25% - 48px );
	}
	.header-contents__menu-box {
	    order: 1;
	    width: initial;
	}
	.header-content__menu-icon-box {
		display: none;
	}
	.header-contents-store__text-name,
	.header-contents-store__text-tel,
	.header-contents-store__text-open {
		display: block;
	}

	.header-contents-store {
		-webkit-flex-direction: column;
                flex-direction: column;
	}
	.header-contents-store__text {
		margin: 0 0 2.5%;
	}
	.header-contents-store__access {
		width: 100%;
	}
	.header-contents-store__text-tel {
		margin: 1.25% 0;
	}
	.header-contents-store__access-link {
	    width: 50%;
	    display: block;
	    margin: 0 auto;
	    min-width: 280px;
	}
	.header-content__menu-item::before{
		content: none;
	}
	.header-content__menu-icon-box.pc {
	    display: flex;
	    display: -webkit-flex;
	    width: 100%;
	    -webkit-align-items: center;
	            align-items: center;
	    -webkit-justify-content: center;
	            justify-content: center;
	    padding: 7% 0 2%;
	}
	.header-contents-store__text-name {
	    font-size: .8rem;
	}


	 /* スマホメニューボタン
	 ----------------------------------------------- */
	 #spMenuBtn{
		border-radius: 6px 0 0 6px;
		background: transparent;
		margin: 0 calc(80% - 10px) 0 0;
		line-height: 100%;
		padding:  1% 0 0;
		width: 48px;
	 }
	 #spMenuBtn.opened > p {
	 	overflow: hidden;
	 }
	 #spMenuBtn.opened > p > #panel-btn{
		-webkit-transition-property: all;
		transition-property: all;
		-webkit-transition-duration: 0.3s;
		transition-duration: 0.3s;
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
		transform: translateX( 0 );
	 }
	 #spMenuBtn.opened > p > #panel-btn{
		-webkit-transition-property: all;
		transition-property: all;
		-webkit-transition-duration: 0.3s;
		transition-duration: 0.3s;
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
		transform: translateX( 48px );
	 }
	 #spMenuBtn.closed > p > #panel-btn{
		-webkit-transition-property: all;
		transition-property: all;
		-webkit-transition-duration: 0.3s;
		transition-duration: 0.3s;
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
		transform: translateX( 0 );
	 }
	 #spMenuBtn > p > #close-btn{
		background: transparent;
		display: inline-block;
		position: relative;
		margin: 0;
		visibility: hidden;
		content: "×";
		font-weight: bold;
		-webkit-transition-property: all;
		transition-property: all;
		-webkit-transition-duration: 0.3s;
		transition-duration: 0.3s;
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
		transform: translateX( -48px );
	 }
	 #spMenuBtn.opened > p > #close-btn{
		visibility: visible;
		-webkit-transition-property: all;
		transition-property: all;
		-webkit-transition-duration: 0.3s;
		transition-duration: 0.3s;
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
		transform: translateX( 0 );
	}
	 #spMenuBtn.closed > p > #close-btn{
		-webkit-transition-property: all;
		transition-property: all;
		-webkit-transition-duration: 0.3s;
		transition-duration: 0.3s;
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
		transform: translateX( -48px );
	 }

	 #panel-btn{
	   background: transparent;
	   display: inline-block;
	   height: 48px;
	   position: relative;
	   margin: 0;
	   width: 48px;
	 }
	 #panel-btn:hover{
	   background: transparent;
	 }
	 #panel-btn-icon{
	   display: block;
	   position: absolute;
	   top: 50%;
	   left: 40%;
	   width: 25px;
	   height: 4px;
	   margin: -1px 0 0 -7px;
	   background: #222;
	   /*transition: .2s;*/
	 }
	 #panel-btn-icon:before, #panel-btn-icon:after{
	   display: block;
	   content: "";
	   position: absolute;
	   top: 50%;
	   left: 0;
	   width: 25px;
	   height: 4px;
	   background: #222;
	 }
	 #panel-btn-icon:before{
	   margin-top: -10px;
	 }
	 #panel-btn-icon:after{
	   margin-top: 6px;
	 }
	 #panel-btn .close{
	   background: transparent;
	 }
	 #panel-btn .close:before, #panel-btn .close:after{
	   margin-top: 0;
	 }
	 #close-btn-icon{
	   display: block;
	   position: absolute;
	   top: 14px;
	   left: -48px;
	   width: 48px;
	   height: 48px;
	   margin: 0;
	 }
	 #close-btn-icon::after{
	 	content: "×";
	 	font-size: 38px;
	 	font-weight: normal;
	   color: #000;
	 }


	/**
	 * フッター
	 **************************************************************/
	.footer-contents__title {
	    font-size: 1rem;
	    margin: 8% 0 5%;
	}
	.footer-contents__menu-box-wrapper {
	    padding: 0 0 5%;
	}
	.footer-contents__inner-box {
		width: 100%;
	}
	.footer-contents__menu-column {
		width: 100%;
	}
	.footer-contents__logo > a > img {
	    height: auto;
	    max-width: 203px;
	    margin: 5% 0 0;
		width: 100%;
	}
	.footer-contents__menu-title {
	    margin: 0;
	}
	.footer-contents__menu {
	    height: 0;
		margin: 0;
	}
	.footer-contents__menu-title {
		cursor: pointer;
		border-bottom: 1px solid #d1d1d1;
		padding: 16px 12px;
	    display: flex;
	    display: -webkit-flex;
	    -webkit-justify-content: flex-start;
				justify-content: flex-start;
		-webkit-align-items: center;
				align-items: center;
	}
	.footer-contents__menu-title::before {
	    position: relative;
	    top: 0;
	    left: -8px;
	}
	.footer-contents__menu-title::after {
		content: "+";
	    float: right;
	    margin: 0 0 0 auto;
	    font-size: 32px;
	    font-weight: 100;
	    top: -3px;
	    position: relative;
   	}
	.footer-contents__menu-title.open::after {
	    content: "ー";
	    top: 0;
	    font-size: 22px;
    }
	.footer-contents__menu-item::before {
    	content: "";
	}
	.footer-contents__menu > li > a.footer-contents__menu-item {
	    display: block;
		padding: 16px 22px;
		padding-top: 0;
		padding-bottom: 0;
		overflow: hidden;
		-webkit-transition-property: all;
		transition-property: all;
		-webkit-transition-duration: 0.3s;
		transition-duration: 0.3s;
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
	    transform: translateY(-60px);
        width: 100%;
	    visibility: hidden;
	}
	.footer-contents__menu > li.open > a.footer-contents__menu-item {
		height: auto;
		padding: 16px 22px;
	}
	.footer-contents__menu-mailmagazine {
	    margin: 5% auto;
	    width: 100%;
	}
	a.footer-contents__menu-mailmagazine-link {
	    color: #fff;
	    padding: 4% 5%;
	    margin: 0 auto;
	    width: 65%;
	    min-width: 300px;
	    max-width: 100%;
	    font-size: 1.2rem;
	}
	.footer-contents__mult-items .footer-contents__menu:nth-of-type(2n+1){
	  margin: 0;
	}

	/**
	 * 共通クラス
	 **************************************************************/
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
}

@media (max-width: 450px) {

	/**
	 * ヘッダー
	 **************************************************************/
	.header-contents-store__access-link {
	    width: 40%;
        padding: 6px 20px;
        font-size: .8rem;
	}
	.header-contents-store__text-tel {
	    font-size: .8rem;
	}

	/**
	 * フッター
	 **************************************************************/
	.footer-contents__menu-title,
	.footer-contents__menu-item {
		font-size: .8rem;
	}
}

