@charset "utf-8";

/*---------------------------------------------
	wrap
---------------------------------------------*/
.wrap {
	padding: 10px;
}
.wrap__background {
	background: url(../img/common/bg_top.png) 0 0;
	background-size: 100%;
	min-height: 100%;
}

@media screen and (max-width: 640px) {
	.wrap {
		padding: 2%;
	}
}

/*---------------------------------------------
	header
---------------------------------------------*/
header {
	text-align: center;
	padding: 50px 0;
}
header h1 {
	margin-bottom: 50px;
}
header h1 img {
	max-width: 360px;
}
header h2 img {
	max-width: 540px;
	margin-bottom: 40px;
}
header h3 img {
	max-width: 540px;
	margin-left: 2px;
}
header .js--open {
	position: absolute;
	top: 30px;
	right: 30px;
	cursor: pointer;
	width: 38px;
}
header .js--open img {
	width: 100%;
}
.sidr {
	position: absolute;
	position: fixed;
	top: 0;
	z-index: 200;
	display: none;
	overflow-x: none;
	overflow-y: auto;
	width: 250px;
	height: 100%;
	background: #FFF;
	padding: 10px;
}
.sidr.right {
	right: -250px;
	left: auto;
}
.sidr.right img {
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 1366px) and (min-width: 981px) {
	header {
		padding: 9% 0;
	}
	header h1 {
		margin-bottom: 8%;
	}
	header h1 img{
		max-width: 360px;
		width: 60%;
	}
	header h2 img {
		max-width: 540px;
		width: 90%;
	}
	header h3 img {
		max-width: 540px;
		width: 90%;
	}
	header .js--open {
		max-width: 45px;
		width: 7%;
	}
}
@media screen and (max-width: 640px) {
	header {
		padding: 9% 0;
	}
	header h1 {
		margin-bottom: 8%;
	}
	header h1 img{
		max-width: 360px;
		width: 60%;
	}
	header h2 img {
		max-width: 540px;
		width: 90%;
	}
	header h3 img {
		max-width: 540px;
		width: 90%;
	}
	header .js--open {
		max-width: 45px;
		width: 7%;
	}
}


/*---------------------------------------------
	container
---------------------------------------------*/
.container {}


/* frame
------------------------------*/
.frame {
	position: relative;
}

/* frame_wrap */
.frame__wrap {
	background: url(../img/common/bg_frame.png) no-repeat 50% 0;
	background-size: cover;
	position: relative;
	height: 100%;
	margin: 0 auto;
}
.frame__wrap img {
	width: 100px;
}

/* frame__btn */
.frame__btn {
	width: 230px;
	position: absolute;
	top: 30%;
	left: 50%;
	-webkit-transform: translate(-50%);
	    -ms-transform: translate(-50%);
	        transform: translate(-50%);
}
@keyframes anime {
	0%   {
		background: transparent;
		-webkit-transform: scale(0.94,0.94);
		   -moz-transform: scale(0.94,0.94);
		    -ms-transform: scale(0.94,0.94);
		     -o-transform: scale(0.94,0.94);
	        	transform: scale(0.94,0.94);
	}
	50% {
		background: transparent;
		-webkit-transform: scale(1,1);
		   -moz-transform: scale(1,1);
		    -ms-transform: scale(1,1);
		     -o-transform: scale(1,1);
	        	transform: scale(1,1);
	}
	100% {
		background: transparent;
		-webkit-transform: scale(0.94,0.94);
		   -moz-transform: scale(0.94,0.94);
		    -ms-transform: scale(0.94,0.94);
		     -o-transform: scale(0.94,0.94);
	        	transform: scale(0.94,0.94);
	}
}
@-webkit-keyframes anime {
	0%   {
		background: transparent;
		-webkit-transform: scale(0.94,0.94);
		   -moz-transform: scale(0.94,0.94);
		    -ms-transform: scale(0.94,0.94);
		     -o-transform: scale(0.94,0.94);
	        	transform: scale(0.94,0.94);
	}
	50% {
		background: transparent;
		-webkit-transform: scale(1,1);
		   -moz-transform: scale(1,1);
		    -ms-transform: scale(1,1);
		     -o-transform: scale(1,1);
	        	transform: scale(1,1);
	}
	100% {
		background: transparent;
		-webkit-transform: scale(0.94,0.94);
		   -moz-transform: scale(0.94,0.94);
		    -ms-transform: scale(0.94,0.94);
		     -o-transform: scale(0.94,0.94);
	        	transform: scale(0.94,0.94);
	}
}
.frame__anime {
	position: relative;
	display: inline-block;
	-webkit-animation: anime 2s;
	        animation: anime 2s;
	-webkit-animation-iteration-count: infinite;
	        animation-iteration-count: infinite;
}
.frame__btn img {
	width: 100%;
}

@media screen and (max-width: 1366px) and (min-width: 981px) {
	.frame {
		min-height: 800px;
	}
	.frame__btn {
		max-width: 270px;
		width: 45%;
	}
}
@media screen and (max-width: 640px) {
	.frame__btn {
		max-width: 270px;
		width: 45%;
	}
}


/* recommend
------------------------------*/
.recommend {
	background: #FFF;
	text-align: center;
	padding: 50px 0 60px;
}
.recommend h2 img {
	width: 150px;
	margin-bottom: 50px;
}
.recommend > ul > li {
	position: relative;
	display: inline-block;
	margin: 0 1% 20px;
}
.recommend > ul > li .tabs__active {
	opacity: 0;
	position: absolute;
	top: 0;
}

@media screen and (max-width: 1366px) and (min-width: 981px) {
	.recommend {
		padding: 9% 0 10%;
	}
	.recommend h2 img {
		max-width: 180px;
		width: 30%;
		margin-bottom: 8%;
	}
	.recommend > ul > li {
		max-width: 268px;
		width: 48%;
		margin: 0 1% 5%;
	}
	.recommend > ul > li img {
		width: 100%;
	}
}
@media screen and (max-width: 640px) {
	.recommend {
		padding: 9% 0 10%;
	}
	.recommend h2 img {
		max-width: 180px;
		width: 30%;
		margin-bottom: 10%;
	}
	.recommend > ul > li {
		max-width: 268px;
		width: 48%;
		margin: 0 1% 5%;
	}
	.recommend > ul > li img {
		width: 100%;
	}
}

.allframe ul {
	background: #cbede2;
	text-align: center;
	padding: 10px 0 14px;
	margin-bottom: 20px;
}
.allframe li {
	position: relative;
	display: inline-block;
	width: 19.2%;
}
.allframe li img {
	width: 100%;
}
.allframe li.ui-tabs-active:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -14px;
	left: 50%;
	margin-left: -20px;
	border: 20px solid transparent;
	border-bottom: 14px solid #FFF;
}
.allframe li .tabs__active {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
}

@media screen and (min-width: 1681px) {
	.allframe li {
		width: 140px;
	}
}
@media screen and (max-width: 980px) {
	.allframe li {
		width: 140px;
	}
}
@media screen and (max-width: 768px) {
	.allframe li {
		width: 19.2%;
	}
	.allframe li img {
		width: 100%;
	}
}
@media screen and (max-width: 1366px) and (min-width: 981px) {
	.select {
		padding: 0 3%;
	}
	.allframe li {
		width: 19.2%;
	}
	.allframe li img {
		width: 100%;
	}
	.allframe li.ui-tabs-active:after {
		bottom: -14px;
		margin-left: -16px;
		border: 16px solid transparent;
		border-bottom: 10px solid #FFF;
	}
}
@media screen and (max-width: 640px) {
	.select {
		padding: 0 3%;
	}
	.allframe li.ui-tabs-active:after {
		bottom: -14px;
		margin-left: -16px;
		border: 16px solid transparent;
		border-bottom: 10px solid #FFF;
	}
}

/* recommend__wrap 額選択と共通 */
.recommend__wrap {
	font-size: 0px;
	margin-bottom: 60px;
	text-align: left;
}
.recommend__box {
	font-size: 1rem;
	position: relative;
	display: inline-block;
	vertical-align: top;
	text-align: center;
	width: 50%;
	border: 1px solid #dedede;
	margin-top: -1px;
	margin-left: -1px;
	padding: 12px;
	-webkit-transition: 0.2s;
	   -moz-transition: 0.2s;
	     -o-transition: 0.2s;
	        transition: 0.2s;
}
.recommend__box:hover .box_frame {
	-webkit-transform: scale(1.04,1.04);
	   -moz-transform: scale(1.04,1.04);
	    -ms-transform: scale(1.04,1.04);
	     -o-transform: scale(1.04,1.04);
	        transform: scale(1.04,1.04);
}
.recommend__box:first-child {
	margin-left: -1px;
}
.recommend__box:before,
.recommend__box:after {
	content: "";
	display: block;
	position: absolute;
	left: 9%;
	width: 82%;
	top: -1px;
	border-top: 1px solid #FFF;
}
.recommend__box:after {
	bottom: -1px;
	border-bottom: 1px solid #FFF;
}
.box_cover {
	             opacity: 0;
	filter: alpha(opacity=0);
	        -moz-opacity: 0;
	z-index: 15;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.5);
	-webkit-transition: 0.2s;
	   -moz-transition: 0.2s;
	     -o-transition: 0.2s;
	        transition: 0.2s;
}
.recommend__box:hover .box_cover {
	             opacity: 1;
	filter: alpha(opacity=100);
	        -moz-opacity: 1;
}
.box_cover img {
	max-width: 166px;
	width: 60%;
	position: absolute;
	top: 25%;
	left: 50%;
	-webkit-transform: translate(-50%);
	    -ms-transform: translate(-50%);
	        transform: translate(-50%);
}
.box__line {
	height: 100%;
}
.box__line:before,
.box__line:after {
	content: "";
	display: block;
	position: absolute;
	top: 5%;
	height: 90%;
	left: -1px;
	border-left: 1px solid #FFF;
}
.box__line:after {
	right: -1px;
	border-right: 1px solid #FFF;
}
.recommend__box h3 {
	font-size: 1.1rem;
	font-weight: bold;
	color: #104f5c;
	margin-bottom: 20px;
}
.recommend__box .box_frame {
	max-width: 90%;
	max-height: 200px;
	margin-bottom: 10px;
	-webkit-transition: 0.2s;
	   -moz-transition: 0.2s;
	     -o-transition: 0.2s;
	        transition: 0.2s;
}
.recommend__box .box__txt {
	color: #222;
	padding: 0 20px;
}
.recommend__box .box__price {
	color: #222;
}
.recommend__box .box__none {
	font-size: 1rem;
	text-align: center;
}

@media screen and (min-width: 1681px) {
	.recommend__box {
		width: 33.33333%;
	}
}
@media screen and (max-width: 980px) {
	.recommend__box {
		width: 33.33333%;
	}
}
@media screen and (max-width: 768px) {
	.recommend__box {
		width: 50%;
	}
}
@media screen and (max-width: 1366px) and (min-width: 981px) {
	.recommend__wrap {
		margin-bottom: 13%;
	}
	.recommend__box {
		padding: 2%;
	}
	.recommend__box h3 {
		font-size: 1rem;
	}
	.recommend__box .box__txt,
	.recommend__box .box__price {
		font-size: .9rem;
		padding: 2%;
	}
}
@media screen and (max-width: 640px) {
	.recommend__wrap {
		margin-bottom: 13%;
	}
	.recommend__box {
		padding: 2%;
	}
	.recommend__box h3 {
		font-size: 1rem;
	}
	.recommend__box .box__txt,
	.recommend__box .box__price {
		font-size: .9rem;
		padding: 2%;
	}
}

/* recommend__btn */
.recomend__btn {
	position: relative;
}
.recomend__btn img {
	width: 400px;
	vertical-align: bottom;
}

@media screen and (max-width: 1366px) and (min-width: 981px) {
	.recomend__btn img {
		max-width: 462px;
		width: 82%;
		top: 0;
	}
}
@media screen and (max-width: 640px) {
	.recomend__btn img {
		max-width: 462px;
		width: 82%;
		top: 0;
	}
}


/* foot
------------------------------*/
.foot {
	display: none;
}

@media screen and (max-width: 980px) {
	.foot {
		display: block;
		background: #fff;
		border-top: 1px solid #e8e8e8;
		text-align: center;
		padding-top: 50px;
	}
	.foot h2 {
		margin-bottom: 10%;
	}
	.foot h2 img {
		max-width: 244px;
		width: 42%;
	}
	.foot p {
		margin-bottom: 36px;
	}
	.foot p img {
		max-width: 410px;
		width: 69%;
	}
	.foot .foot__btn {
		margin-bottom: 60px;
	}
	.foot .foot__btn a {
		position: relative;
		display: inline-block;
		max-width: 181px;
		width: 31%;
	}
	.foot .foot__btn a:first-child {
		margin-bottom: 16px;
	}
	.foot .foot__btn a img {
		width: 100%;
	}
	.foot .foot__facebook {
		margin-bottom: 40px;
	}
}


/* display
------------------------------*/
.display--pc {
	display: none;
}
.display--sp {
	display: block;
}

@media screen and (min-width: 981px) { /* PC */
	.display--pc {
		display: block;
	}
	.display--sp {
		display: none;
	}
}