/*
Theme Name: Webtag REDSTONE 
Theme URI: http://
Author: PrankPlan
Author URI: https://prankplan.jp
Description: PrankPlanが提供するサービス Webtag の第二弾 REDSTONE
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
html{
	color: #484848;
	font-size: 62.5%;
	font-weight: normal;
	font-family: YuGothic,'Yu Gothic', sans-serif;
	text-align: justify;
	line-height: 1.375; 
	word-break: break-all;
	-webkit-text-size-adjust: 100%;
}
body{
	-webkit-text-size-adjust: 100%;
	font-size: 1.6rem;
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal; 
	position: relative;
	z-index: -1;
}
body.fixed{
	position: fixed;
	width: 100%;
	height: 100%;
}
#wrapper{
	width: 100%;
	height: 100%;
}
.container{
	width: 100%;
	padding: 0 20px;
}
img{width: 100%;}
.pc_only{display: none;}
/* ----------------------------------------- nav ----------------------------------------- */
nav{
	position: fixed;
	top:-800px;
	left: 0;
	width: 100%;
	height: calc(100vh - 66px);
	background: linear-gradient(to bottom, #e26cb7 0%,#8fd4ff 100%) ;
	z-index: 900;
	transition: .6s all cubic-bezier(1, 0, 0, 1);
}
nav.open{
	top: 66px;
}
.globalmenu li.menu_title{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 66px;
	z-index: 950;
}
.globalmenu li.menu_title h1 a{
	/* background: rgba(250,233,225, .6); */
	color: #484848;
	display: block;
	width: 100%;
	height: 100%;
	line-height: 66px;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	padding: 0;
	/* position: relative; */
}
.globalmenu li.menu_title h1 a::before{
	background: rgba(250,233,225, .6);
	content: '';
	width: 100%;
	height: 100%;
	top:0;
	left:0;
	display: block;
	background: rgba(250,233,225, .6); 
	position: absolute;
	z-index: -1;
}
.navbar{
	position: fixed;
	top: 0;
	right: 0;
	width: 70px;
	height: 66px;
	z-index: 1000;
}
.navbar span{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 60%;
	height: 5px;
	border-radius: 4px;
	background: #484848;
	transition: .3s all;
}
.navbar::before,
.navbar::after{
	content: '';
	display: block;
	width: 60%;
	height: 5px;
	border-radius: 4px;
	background: #484848;
	position: absolute;
	left: 20%;
	transition: .3s all;
	opacity: 1;
}
.navbar::before{
	top: 30%;
}
.navbar::after{
	bottom: 30%;
}
.navbar.open span{
	opacity: 0;
}
.navbar.open::before{
	transform: rotate(45deg);
	top: calc(50% - 2.5px);
}
.navbar.open::after{
	transform: rotate(-45deg);
	bottom:calc(50% - 2.5px);
}
.globalmenu{
	display: flex;
	align-content: center;
	flex-wrap: wrap;
	margin-top: 55px;
}
.globalmenu > li{
	width: 100%;
	position: relative;
}
.globalmenu > li > a{
	display: block;
	width: 100%;
	padding:22px 0;
}
.globalmenu li,
.globalmenu li a{
	color: #fff;
	font-size: 18px;
	font-weight: bold;
}
.globalmenu li a{
	border-top: 1px solid rgba(255, 255, 255, .3);
	text-align: center;
}
.globalmenu li span.submenu_open{
	position: absolute;
	display: block;
	width: 68px;
	height: 68px;
	top: 0;
	right: 0;
	line-height: 68px;
	font-size: 14px;
	text-align: center;
	transition: .3s;
}
.globalmenu li span.submenu_open.rotate{
	transform: rotate(180deg);
}
.globalmenu > li > ul{
	display: none;
}
.globalmenu > li > ul li a{
	display: block;
	width: 100%;
	padding: 22px 0;
	text-align: center;
}
.snsmenu{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 55px;
	background: rgba(255, 255, 255, .3);
}
.snsmenu li a{
	padding: 22px;
	display: block;
	font-size: 26px;
}
.snsmenu a .fa-twitter-square {
	color: #55acee; 
}
.snsmenu a .fa-facebook-square {
	color: #315096; 
}
.snsmenu a .fa-instagram {
	color: #D93177; 
}
.snsmenu a .fa-youtube-square {
	color: #cd201f; 
}
.snsmenu a .icon-line {
	color: #00c300; 
}
#usces-cart nav{
  display: none;
}
/* ----------------------------------------- nav ----------------------------------------- */

/* ----------------------------------------- header ----------------------------------------- */
#topslider {
	margin-top: 66px;
	position: relative;
	width: 100%;
	height: 207px;
}
#topslider ul {
  position: fixed;
  width: 100%;
  z-index: -100; 
}
#topslider ul li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; 
}
#topslider ul li img {
  width: 100%; 
  display: none;
}
#topslider .titlelogo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 100;
	opacity: 0;
	-webkit-animation: logoin .7s ease-out 1.2s forwards;
	-moz-animation: logoin .7s ease-out  1.2s forwards;
	animation: logoin .7s ease-out 1.2s forwards; 
}
#topslider .titlelogo img{
	width: 100%;
}
@-webkit-keyframes logoin {
	0% {
		opacity: 0; 
	}
	100% {
		opacity: 1; 
	} 
}
@-moz-keyframes logoin {
	0% {
		opacity: 0; 
	}
	100% {
		opacity: 1; 
	} 
}
@keyframes logoin {
	0% {
		opacity: 0; 
	}
	100% {
		opacity: 1; 
	} 
}
/* ----------------------------------------- header ----------------------------------------- */

/* ----------------------------------------- main ----------------------------------------- */
main section.section {
	padding: 66px 0; 
}
main section.section:nth-of-type(odd) {
	background: #fff; 
}
main section.section:nth-of-type(even) {
	background: #e9f6fc; 
}
main section.section h2 {
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
	padding: 0 0;
	text-align: center; 
}
main section.section h2 .title_span {
	text-align: left; 
}
main section.section h2 .title_span .title_small ,
.blog h2 .title_span .title_small,
.access h2 .title_span .title_small{
	font-size: 1.6rem; 
	display: block;
	text-align: center;
	margin-top: 22px;
}
section .img_wrap{
	width:  100%;
	height: auto;
}
section .img_wrap .img_outer{
	width: 100%;
	height: 150px;
	overflow: hidden;
	position: relative;
	margin-top: 22px;
}
section .img_wrap .img_outer img{
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
main section.section .text {
  margin: 33px 0 0; 
}
main section.section .text p {
  text-align: justify;
  line-height: 2.0625; 
}
main section.section .imgfadein {
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 0.8s;
	-ms-animation-duration: 0.8s;
	animation-duration: 0.8s;
	-webkit-animation-name: imgfadein;
	animation-name: imgfadein;
	visibility: visible !important; 
}
@-webkit-keyframes imgfadein {
	0% {
		opacity: 0;
		-webkit-transform: translateY(100px); 
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0); 
	} 
}
@keyframes imgfadein {
	0% {
		opacity: 0;
		-webkit-transform: translateY(100px);
		-ms-transform: translateY(100px);
		transform: translateY(100px); 
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0); 
	} 
}
main section.section .text strong,
section.access strong{
  font-weight: bold;
}
/* ----------------------------------------- main ----------------------------------------- */

/* ----------------------------------------- footer ----------------------------------------- */
#usces-cart footer{
  display: none;
}
.blog {
  padding: 66px 0; 
}
.blog h2 {
  font-size: 26px;
  font-weight: bold;
  line-height: 1;
  padding: 0px 0 18px;
  text-align: center; 
}
.blog h2 .title_span {
  text-align: left; 
}
.blog.one {
  background: #fcf1d3; 
}
.blog.one .blog_wrap ,
.blog.two .blog_outer{
	margin-bottom: 33px;
}
.blog.one .blog_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.blog.one .blog_wrap .blog_item {
	width: 46%;
	height: 150px;
	position: relative;
	overflow: hidden;
	margin-top: 33px;
}
.blog.one .blog_wrap div.blog_item:first-of-type{
	width: 100%;
	height: 200px;
	margin-top: 0;
}
.blog.one .blog_wrap .blog_item::after{
	background: #fff;
	content: '';
	display: block;
	width: 120%;
	height: 120%;
	position: absolute;
	left: -10%;
	bottom: -10%;
	opacity: .7;
	/* transform: skew(-45deg) scaleX(1); */
	transform: skew(-45deg) scaleX(0);
	transition: .3s all;
}
.blog.one .blog_wrap .blog_item.load::after{
	transform: skew(-45deg) scaleX(1);
}
.blog.one .blog_wrap .blog_item .blog_title {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
	z-index: 1; 
}
.blog.one .blog_wrap .blog_item .blog_title h3 {
	margin: 0;
	width: 100%;
	font-size: 18px;
	padding: 0 22px; 
	display: inline-block;
	text-transform: uppercase;
	text-align: center;
	font-weight: bold; 
	overflow: hidden;
	opacity: 0;
	transition: .3s all;

}
.blog.one .blog_wrap .blog_item.load .blog_title h3 {
	opacity: 1;
}
.blog.one .blog_wrap .blog_item .blog_title h3 span {
	text-align: justify;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}
.blog.one .blog_wrap .blog_item a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1; 
}
.blog.two {
  background: #fff; 
}
.blog.two .blog_item {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative; 
  margin-top: 22px;
}
.blog.two .blog_item .blog_catch {
	width: 150px;
	height: 150px;
	position: relative;
	overflow: hidden;
}
.blog.two .blog_item .blog_catch img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: auto;
	height: 100%;
}
.blog.two .blog_item .blog_intro {
	width: calc(100% - 150px);
	padding: 0 0 0 11px; 
	overflow: hidden;
}
.blog.two .blog_item .blog_intro a{
	/* color: #006db1; */
	color: #484848;
}
.blog.two .blog_item .blog_intro h3 {
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 15px;
	transition: .3s all; 
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.blog.two .blog_item .blog_intro p{
	text-align: left;
	font-size: 1.4rem;
	line-height: 1.57142857; 
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}
.blog .to_list {
	display: block;
	width: 200px;
	margin: 0 auto;
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
	color: #484848;
	line-height: 1.2222;
	position: relative;
	padding: 11px 22px 11px; 
}
.blog .to_list::before, .blog .to_list::after {
	content: '';
	display: block;
	width: 50%;
	height: 2px;
	position: absolute;
	bottom: 0;
	background: #006db1;
}
.blog .to_list::before {
	left: 50%; 
}
.blog .to_list::after {
	right: 50%; 
}
.snsfooter {
	background: #e9f6fc;
	position: relative; 
}
.snsfooter .container{
	padding: 0;
}
.snsfooter ul {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 77px; 
}
.snsfooter ul li {
	flex-basis: 77px;
	text-align: center;
	line-height: 77px;
}
.snsfooter ul a {
	display: block;
	/* line-height: 88px; */
	font-size: 26px;
}
.snsfooter ul a .fa-twitter-square {
	color: #55acee; 
}
.snsfooter ul a .fa-facebook-square {
	color: #315096; 
}
.snsfooter ul a .fa-instagram {
	color: #D93177; 
}
.snsfooter ul a .fa-youtube-square {
	color: #cd201f; 
}
.snsfooter ul a .icon-line {
	color: #00c300; 
}
.access {
	padding: 66px 0;
	background: #fff; 
}
.access h2 {
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
	padding: 0px 0 18px;
	text-align: center; 
}
.access h2 .title_span {
	text-align: left; 
}
.access .map {
	margin-top: 22px;
	width: 100%;
	height: 250px; 
}
.access .map iframe{
	width: 100%;
	height: 100%;
}
.access .address {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 22px; 
}
.access .address p {
  margin:0 11px 11px; 
}
.address_outer{
	width: 100%;
}
.access .address a {
  display: block;
  width: 100%;
  padding: 22px 0;
  margin-top: 22px;
  background: #a52175;
  text-align: center;
  font-weight: bold;
  color: #fff;
  position: relative;
}
.footer_slider {
  width: 100%;
  position: relative;
  padding: 44px 0;
  z-index: 10;
}
.footer_slider_inner{
	width: 100%;
	height: 100%;
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	overflow: hidden;
}
.footer_slider_inner img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: auto;
	height: 100%;
}
.footer_slider .footer_msg {
	width: 90%;
	height: auto;
	padding: 22px;
	background: rgba(255, 255, 255, 0.7);
	margin: 0 auto;
}
.footer_slider .footer_msg h2 {
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	padding: 0px 0 13px;
	text-align: center; 
}
.copyright {
	background: #fff;
	text-align: center;
	padding: 44px 0 ; 
	position: relative;
	z-index: 100;
}
/* ----------------------------------------- footer ----------------------------------------- */

/* ----------------------------------------- SHARE ----------------------------------------- */
section.share{
	position: fixed;
	right: 15px;
	z-index: 10;
	transition: .3s all;
	width: 50px;
	height: 50px;
}
section.share ul li,
section.share ul li a{
	color: #fff;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	border-radius: 50%;
	font-size: 18px;
}
section.share ul li{
	opacity: 0;
	visibility: hidden;
}
section.share ul li a{
	display: block;
	position: relative;
}
section.share li.twitter{
	background: #55acee;
	transition: .65s;
	position: absolute;
	top: -198px;
}
section.share li.facebook{
	background: #315096;
	transition: .35s;
	position: absolute;
	top: -132px;
}
section.share li.line{
	background: #00c300;
	line-height: 53px;
	transition: .15s;
	position: absolute;
	top: -66px;
}
section.share li.twitter a{
	background: #55acee;
}
section.share li.facebook a{
	background: #315096;
}
section.share li.line a{
	background: #00c300;
	line-height: 55px;
}
section.share li.share_open{
	background: #484848;
	opacity: 1;
	visibility: visible;
}
[tooltip]::before{
	content: attr(tooltip);
	display: block;
	font-size: 12px;
	line-height: 1;
	padding: 10px 11px;
	opacity: 0;
	visibility: hidden;
	position: absolute;
	right: 120%;
	top: 50%;
	transform: translateY(-50%);
	transition: .3s;
	white-space: nowrap;
	background: #484848;
}
section.share.hover li{
	opacity: 1;
	visibility: visible;
}
section.share.hover li [tooltip]::before{
	opacity: 1;
	visibility: visible;
}
/* ----------------------------------------- SHARE ----------------------------------------- */

/* ----------------------------------------- 404.php ----------------------------------------- */
main.not_found section{
  background: rgba(255, 255, 255, .7);
  padding: 44px;
  text-align: center;
}
main.not_found section h2{
  font-size: 22px;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 22px;
}
/* ----------------------------------------- 404.php ----------------------------------------- */

/* ----------------------------------------- ブログ一覧(menu) ----------------------------------------- */
.article_list {
	padding-top: 66px;
	background: #fff; 
}
.article_list #topslider {
	/* height: 0;  */
	/* margin-top: 0; */
	display: none;
}
/* .article_list #topslider #slide{
	top: 0;
} */
.article_list h2 {
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
	padding: 30px 0 10px;
	text-align: center; 
}
.article_list h2 .title_span {
	text-align: left; 
}
.article_list h2 .title_span .title_small {
	display: none;
}
.article_list section {
	padding: 44px 0 66px; 
}
.article_list .arc_wrap{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 33px;
	justify-content: space-between;
	align-content: space-between; 
}
main.article_list .arc_wrap:nth-last-of-type(2){
	margin-bottom: 0;
}
.article_list .arc_wrap article {
	position: relative;
	overflow: hidden;
	width: 46%;
	height: 150px; 
	margin-bottom: 33px;
}
.article_list .arc_wrap article::after {
	background: #fff;
	content: '';
	width: 120%;
	height: 120%;
	position: absolute;
	left: -10%;
	bottom: -10%;
	opacity: .7;
	transform: skew(-45deg) scaleX(0);
	transition: .3s all;
}
.article_list .arc_wrap article.load::after{
	transform: skew(-45deg) scaleX(1);
	
}
.article_list .arc_wrap article .atc_title {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
	z-index: 1; 
}
.article_list .arc_wrap article .atc_title h3 {
	margin: 0;
	width: 100%;
	display: inline-block;
	text-transform: uppercase;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	padding: 0 20px; 
	overflow: hidden;
	opacity: 0;
	transition: .3s all;
}
.article_list .arc_wrap article.load .atc_title h3{
	opacity: 1;
}
.article_list .arc_wrap article .atc_title h3 span {
	text-align: justify;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.article_list .arc_wrap article img {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.article_list .arc_wrap article a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1; 
}
.article_list .arc_wrap.one{
	height: 200px;
}
.article_list .arc_wrap.one article ,
.article_list .arc_wrap.two article:nth-of-type(3),
.article_list .arc_wrap.three article:nth-of-type(3),
.article_list .arc_wrap.four article:nth-of-type(3) {
	width: 100%;
	height: 200px; 
	margin-bottom: 0;
}
.article_list .pagenation {
	display: flex;
	justify-content: center; 
}
.article_list .pagenation a,
.article_list .pagenation span {
	margin:33px 5.5px 0;
	display: block;
	width: 33px;
	height: 33px;
	line-height: 33px;
	text-align: center;
	background: transparent;
	position: relative;
	z-index: 10; 
}
.article_list .pagenation a{
	color: #009cfe;
}
.article_list .pagenation span {
	color: #003e65;
}
/* ----------------------------------------- ブログ一覧(menu) ----------------------------------------- */

/* ----------------------------------------- ブログ一覧(blog) ----------------------------------------- */
.arc_outer article {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	margin-bottom: 33px; 
}
.arc_outer article:last-of-type {
	margin-bottom: 0; 
}
.arc_outer article .arc_catch {
	width: 150px;
	height: 150px;
	position: relative;
	overflow: hidden;
}
.arc_outer article .arc_catch img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: auto;
	height: 100%;
}
.arc_outer article .arc_intro {
	width: calc(100% - 150px);
	padding: 0 0 0 11px; 
	overflow: hidden;
}
.arc_outer article .arc_intro a{
	/* color: #006db1; */
	color: #484848;
}
.arc_outer article .arc_intro h3 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 11px;
	line-height: 1.8333333;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.arc_outer article .arc_intro p {
	font-size: 1.4rem;
	text-align: left;
	line-height: 1.57142857; 
	display: -webkit-box;
	-webkit-box-orient:  vertical;
	-webkit-line-clamp: 4;
}
/* ----------------------------------------- ブログ一覧(blog) ----------------------------------------- */

/* ----------------------------------------- ブログ(single) ----------------------------------------- */
.eyecatch {
	width: 100%;
	height: 250px;
	position: relative;
	overflow: hidden; 
	margin-top: 66px;
}
.eyecatch img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -3; 
}
.eyecatch h2 {
	width: 80%;
	height: auto;
	font-size: 26px;
	font-weight: bold;
	line-height: 1.26923;
	padding: 22px;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(255, 255, 255, 0.7); 
}
.eyecatch h2 .title_span {
	display: inline-block;
	text-align: justify; 
}
.single {
	background: #fff; 
}
.single article {
	width: 100%;
	height: auto;
	margin: 0 auto 0;
	padding: 44px 0; 
}
.single article * {
	margin-bottom: 22px; 
}
.single article h1 {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.2692307; 
}
.single article h2 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.375; 
}
.single article h3 {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.65; 
}
.single article h4 {
  font-size: 20px;
  line-height: 1.65; 
}
.single article h5 {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2222222; 
}
.single article h6 {
	font-size: 18px;
	line-height: 1.22222222; 
}
.single article img {
	width: 100%; 
	height: auto;
}
.single article strong {
  font-weight: bold; 
}
.single article em{
	font-family: italic;
}
.single article a {
  color: #006db1;
  display: inline-block;
}
.single article ul{
	margin: 33px 0 33px 16.5px;
}
.single article ul li{
	list-style: disc inside;
}
.single article ol{
	margin: 33px 0 33px 16.5px;
}
.single article ol li{
	list-style: decimal inside;
}
.single .pagenation {
  padding: 0 0 88px;
  width: 100%;
  margin: 0 auto; 
}
.single .pagenation ul {
  display: flex;
  justify-content: space-between; 
}
.single .pagenation ul li {
  margin: 0 5.5px; 
}
.single .pagenation ul li a {
  display: block;
  width: 77px;
  height: 33px;
  line-height: 33px;
  text-align: center;
  background: transparent;
  color: #006db1;
  position: relative; }
/* ----------------------------------------- ブログ(single) ----------------------------------------- */


/* ----------------------------------------- 固定ページ(page) ----------------------------------------- */
.page{
	padding-top: 66px;
	background: #fff;
}
.page #topslider {
	/* height: 0;  */
	/* margin-top: 0; */
	display: none;
}
/* .page #topslider #slide{
	top: 0;
} */
.page h2 {
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
	padding: 30px 0 10px;
	text-align: center; 
}
.page h2 .title_span {
  text-align: left; 
}
.page h2 .title_span .title_small {
  margin-left: 20px;
  font-size: 1.6rem; 
}
.page section {
  padding: 44px 0 66px; 
}
/* ----------------------------------------- 固定ページ(page) ----------------------------------------- */

/* ----------------------------------------- 問合せページ(contact) ----------------------------------------- */
.page form .contact_box > div{
	margin-bottom: 33px;
}
.page input{
  width: 100%;
  padding: 5.5px 11px;
}
.page textarea{
  width: 100%;
  height: 100px;
  padding: 5.5px 11px;
}
.page input,
.page textarea{
    border: none;
    border-bottom: 1px solid #484848;
    border-radius: 0;
}
.page .contact_box div span{
  display: inline-block;
  position: relative;
}
.page .contact_box span.message{
  height: 100px;
}
.page span::before,
.page span::after,
.page span::before,
.page span::after{
  display: block;
  content: '';
  position: absolute;
  bottom: 0;
  transition: .3s all;
  width: 0;
  height: 2px;
  background:  #009cfe;
}
.page span::before,
.page span::before{
  left: 50%;
}
.page span::after,
.page span::after{
  right: 50%;
}
.page span.focus::before,
.page span.focus::after,
.page span.focus::before,
.page span.focus::after{
  width: 50%;
}
form div.btn{
	text-align: center;
}
form div.btn input{
	border: none;
	font-weight: bold;
	cursor: pointer;
	padding: 11px 22px;
	width: 200px;
	color: #fff;
	-webkit-appearance: none;
	background: #484848;
}
.page .contact_box div span.wpcf7-not-valid-tip{
  position: absolute;
  top: -18px;
  left: 88px;
  color: red;
  font-size: 12px;
}
.screen-reader-response{
  display: none;
}
.wpcf7-response-output{
	text-align: center;
	color: #f00;
	margin-top: 22px;
	font-size: 12px;
}
/* ----------------------------------------- 問合せページ(contact) ----------------------------------------- */


/* ----------------------------------------- STOREページ(TOP) ----------------------------------------- */
.shop {
	padding-top: 66px;
	background: #fff; 
}
.shop #topslider {
	/* height: 0;  */
	/* margin-top: 0; */
	display: none;
}
/* .shop #topslider #slide{
	top: 0;
} */
.shop h2 {
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
	padding: 30px 0 10px;
	text-align: center; 
}
.shop h2 .title_span {
	text-align: left; 
}
.shop h2 .title_span .title_small {
	margin-left: 20px;
	font-size: 1.6rem; 
}
.shop section{
	padding: 44px 0 66px;
}
.category_list{
	margin: 33px 0 11px;
}
.cat_menu {
	display: flex;
	justify-content:space-between;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	margin-top: ;
}
.cat_menu > li {
	background: transparent;
	transition: .6s all;
	position: relative;
	flex-basis: 48%;
	height: 33px; 
	border: 1px solid #686868;
	background: #686868;
	margin: 0 0 11px;
}
.cat_menu li a {
	display: block;
	line-height: 33px;
	color: #fff;
	z-index: 800;
	position: relative; 
	text-align: center;
	font-size: 14px;
}
.shop .product_wrap{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.shop .product_item a{
  color: #484848;
}
.shop .product_item{
  width: 48%;
  height: 320px;
  margin-bottom: 66px;
  display: flex;
  flex-direction: column;
  justify-content: space-between; 
}
.shop .product_item .product_img{
  width: 100%;
  height: 180px !important;
  position: relative;
  overflow: hidden;
}
.shop .product_item .product_img img{
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.shop .product_item h3{
	margin-top: 11px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.65;
	text-align: left;
	overflow: hidden;
}
.shop .product_item h3 a{
	display: -webkit-box;
	-webkit-box-orient:  vertical;
	-webkit-line-clamp: 2;
}
.shop .product_item .category_list{
	display: flex;
	justify-content: flex-start;
	font-size: 14px;
	line-height: 1.571428;
	margin:11px 0 0;
}
.shop .product_item .category_list i{
	font-size: 14px;
	line-height: 1.571428;
	vertical-align: middle;
	color: #006db1;
}
.shop .product_item .post-categories{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.shop .product_item .post-categories li{
	line-height: 1.571428;
	margin: 0 5.5px;
}
.shop .product_item .post-categories li a{
	color: #006db1;
}
.shop .product_item p{
	margin-top: 11px;
	font-size: 12px;
}
.shop .pagenation {
	display: flex;
	justify-content: center; 
}
.shop .pagenation a,
.shop .pagenation span {
	margin:0 5.5px;
	display: block;
	width: 33px;
	height: 33px;
	line-height: 33px;
	text-align: center;
	background: transparent;
	position: relative;
	z-index: 10; 
}
.shop .pagenation a{
	color: #009cfe;
}
.shop .pagenation span {
	color: #003e65;
}
.recommend {
	padding: 66px 0; 
	background: #fcf1d3;
}
.recommend h2 {
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
	padding: 0px 0 56px;
	text-align: center; 
}
.recommend h2 .title_span {
	text-align: left; 
}
.recommend h2 .title_span .title_small {
	margin-left: 20px;
	font-size: 1.6rem; 
}
.recommend .recommend_wrap {
  display: flex;
  /* height: 300px; */
  justify-content: space-between;
  flex-wrap: wrap;
}
.recommend .recommend_item{
	width: 48%;
	height: 250px;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	align-items: center;
	margin-bottom: 44px;
}
.recommend .recommend_img{
	width: 100%;
	height: 170px;
	position: relative;
	overflow: hidden;
}
.recommend .recommend_item img{
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.recommend .recommend_title{
	font-size: 14px;
	width: 100%;
}
.recommend .recommend_title h3{
	font-weight: bold;
	text-align: left;
	overflow: hidden;
}
.recommend .recommend_title a{
	color: #484848;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.recommend_wrap .recommend_item > p{
  font-size: 12px;
  width: 100%;
}
/* ----------------------------------------- STOREページ(TOP) ----------------------------------------- */

/* ----------------------------------------- STOREページ(single) ----------------------------------------- */
.single #topslider {
	/* height: 0;  */
	/* margin-top: 0; */
	display: none;
}
main.single_item .container{
  position: relative;
}
main.single_item .to_cart{
  position: absolute;
  bottom: -30px;
  right: 20px;
  text-align: center;
  font-size: 12px;
}
main.single_item .to_cart a{
  display: block;
}
main.single_item .to_cart i{
  font-size:20px;
}
.shop.single_item .single_item_container.two{
	width: 100%;
	padding-top: 33px;
}
.single_item_container.two .item_inner{
	display: flex;
	flex-wrap: wrap;
}
.single_item_container.two h3{
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5;
	margin-bottom: 11px;
	text-align: left;
	width: 100%;
}
.single_item_container.two h3 span.gap{
	padding-left: 22px;
	display: inline;
}
.single_item_container.two span.gap{
	display: inline-block;
	padding-left: 5.5px;
}
.single_item_container.two .item_inner p{
	margin: 5.5px;
}
.single_item_container.two .item_inner .category_list{
	font-size: 14px;
	line-height: 1.571428;
	margin: 5.5px 5.5px;
}
.shop .item_inner .category_list i{
  line-height: 1.571428;
  vertical-align: middle;
  color: #006db1;
}
.shop .item_inner .post-categories{
  display: flex;
  justify-content: flex-start;
}
.shop .item_inner .post-categories li{
  line-height: 1.571428;
  margin: 0 5.5px;
}
.shop .item_inner .post-categories li a{
	color: #006db1;
	transition: .3s all;
}
.single_item_container.two .price{
	border-top: 2px solid #484848;
	border-bottom: 2px solid #484848;
	padding: 22px 0;
	font-weight: bold;
	text-align: center;
	line-height: 33px;
	margin: 33px 0;
}
.single_item_container.two .price .price_inner1{
	font-size: 14px;
	margin-right: 11px;
}
.single_item_container.two .price .price_inner2{
	font-size: 20px;
}
.single_item_container.two .price .price_inner2 em{
	font-size: 14px;
}
.single_item_container.two .cart,
.buy_zone .cart{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	align-content: space-between;
	flex-direction: column;
	flex-wrap: wrap;
	height: 100px;
	position: relative;
}
.single_item_container.two .cart .zaiko{
	height: 100px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.single_item_container.two .cart .cart_inner1 input.skuquantity{
  width: 44px;
  text-align: center;
  margin-left: 11px;
  height: 28px;
}
.single_item_container.two .cart .cart_inner2{
  width: 50%;
  position: relative;
  transition: .3s all;
  border: 1px solid #484848;
  background: #484848;
}
.single_item_container.two .cart .cart_inner2 i{
  font-size: 20px;
  transition: .3s all;
  z-index: 10;
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
  color: #fff
}
.single_item_container.two .cart .cart_inner2 input{
	width: 100%;
	height: 50px;
	color: #fff;
	display: inline-block;
	background: transparent;
	font-weight: bold;
	position: relative;
	z-index: 10;
	border: none;
	-webkit-appearance: none;
	padding-left: 26px; 
}
select#choose{
	width: 69%;
	height: 33px;
}
.single_item_container.two .optcart,
.buy_zone .optcart{
	display: none;
	margin: 22px 0;
	justify-content: flex-end;
}
.single_item_container.two .optcart#opt0,
.buy_zone .optcart#opt0{
	display: block;
	align-items: flex-end;
}
.single_item_container.two .optcart#opt0 .cart,
.buy_zone .optcart#opt0 .cart{
	align-content: flex-end;
	justify-content: space-between;
}
.single_item_container.two .cart .cart_inner3,
.buy_zone .cart .cart_inner3{
	position: absolute;
	top:5px;
	left: 0;
	color: #f00;
}
.single_item_container.two .cart .cart_inner4{
	width: 50%;
	border: 1px solid #484848;
	background: #484848;
	color: #fff;
	font-weight: bold;
	text-align: center;
	height: 50px;
	line-height: 52px;
}
.single_item_comment{
	padding: 44px 0;
}
.buy_zone{
	width: 100%;
	margin-top: 88px;
	position: relative; 
}
.buy_zone .item_inner .category_list{
	display: flex;
}
.buy_zone .item_inner .post-categories li{
	line-height: 1.571428;
	margin: 0 5.5px;
}
.buy_zone .price{
  border-top: 2px solid #484848;
  border-bottom: 2px solid #484848;
  padding: 11px 0;
  font-weight: bold;
  text-align: center;
  line-height: 33px;
  width: 100%;
  margin: 33px 0;
}
.buy_zone .price .price_inner1{
  font-size: 14px;
  margin-right: 11px;
}
.buy_zone .price .price_inner2{
  font-size: 20px;
}
.buy_zone .price .price_inner2 em{
  font-size: 14px;
}
.buy_zone .cart{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	align-content: space-between;
	flex-direction: column;
	flex-wrap: wrap;
	height: 100px;
}
.buy_zone .cart .zaiko{
	height: 100px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.buy_zone .cart .cart_inner1 input.skuquantity{
  width: 44px;
  text-align: center;
  margin-left: 11px;
  height: 28px;
}
.buy_zone .cart .cart_inner2{
  width: 50%;
  position: relative;
  transition: .3s all;
  border: 1px solid #484848;
  background: #484848;
}
.buy_zone .cart .cart_inner2 i{
  font-size: 20px;
  transition: .3s all;
  z-index: 10;
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
  color: #fff
}
.buy_zone .cart .cart_inner2 input{
	width: 100%;
	height: 50px;
	color: #fff;
	display: inline-block;
	background: transparent;
	font-weight: bold;
	position: relative;
	z-index: 10;
	border: none;
	-webkit-appearance: none;
	padding-left: 26px; 
}
.single_item_container.two .sku_box,
.buy_zone .sku_box{
  display: none;  
}
/* ----------------------------------------- STOREページ(single) ----------------------------------------- */

/* ----------------------------------------- STOREカートページ(single) ----------------------------------------- */
.post{
  padding-top: 44px;
}
.post h2{
  font-size: 26px;
  font-weight: bold;
  line-height: 1;
  padding: 0 0 18px;
  text-align: center;
  margin-right: 22px;
}
.post .entry{
  padding: 22px 0 88px;
  width: 100%;
  margin: 0 auto; 
}
.usccart_navi{
  width: 100%;
  margin: 0 auto;
}
.usccart_navi ol{
  display: flex;
  justify-content: space-between;
}
.usccart_navi ol li{
  height: 33px;
  line-height: 33px;
  text-align: center;
  background: #a8a8a8;
  font-size: 12px;
  padding: 0 5px;
}
#inside-cart .usccart_cart,
#customer-info .usccustomer,
#usces-cart .usccart_delivery,
#usces-cart .usccart_confirm{
  background: #686868;
  font-weight: bold;
  color: #fff;
  border-left: none;
}
#cart{
  margin: 44px auto 0;
  width: 100%;
}
.upbutton{
	text-align: justify;
	font-size: 14px;
	font-weight: bold;
	line-height: 33px;
}
.confiem_notice{
	text-align: justify;
	font-size: 14px;
	font-weight: bold;
	padding-left:1em;
	text-indent:-1em;
	line-height: 22px;
}
.entry table{
  margin: 44px 0;
  width: 100%;
  font-size: 14px;
}
#cart table thead{
  border-top: 2px solid #484848;
  border-bottom: 2px solid #484848;
}
#cart table thead th{
  padding: 22px 0;
  text-align: center;
  white-space: nowrap;
}
#cart table thead th.subtotal{
	padding: 0 2px;
}
#cart table thead th.subtotal em{
	font-size: 10px;
}
#cart table tbody td{
  padding: 22px 5px;
  text-align: center;
  border-bottom: 1px solid #c8c8c8;
}
#cart table tbody td.quantity input{
  width: 30px;
  text-align: center;
  font-size: 16px;
}
#cart table .stock,
#cart table .thumbnail,
#cart table .unitprice,
#cart table th:nth-of-type(4){
	display: none;
}
#cart table tfoot{
	border-top: 2px solid #484848;
	border-bottom: 2px solid #484848;
	font-size: 16px;
}
#cart table tfoot th,
#cart table tfoot td{
	padding: 44px 0;
	text-align: center;
	font-weight: bold;
}
.send{
	text-align: center;
	margin-top: 44px;
}
.send input{
	-webkit-appearance:  none;
	border-radius: 0;
}
.send input,
.send a.back_to_top_button{
	width: 45%;
	padding: 11px 0;
	margin: 0 5.5px;
	font-weight: bold;
	background: #484848;
	color: #fff;
	display: inline-block;
}
.send input.to_reganddeliveryinfo_button{
  display: none;
}
#customer-info table{
	margin-top: 22px;
}
#wc_delivery table#delivery_table{
	margin-top: -33px;
}
#customer-info table th,
#wc_delivery table#delivery_table th,
#customer-info table td,
#wc_delivery table#delivery_table td{
	width: 100%;
	display: block;
}
#customer-info table th,
#wc_delivery table#delivery_table th{
	padding: 22px 5px 0;
	font-weight: bold;
}
#customer-info table td,
#wc_delivery table#delivery_table td{
	padding: 11px 5px 0;
	margin: 0;
	position: relative;
	text-align: right;
}
#customer-info table td input,
#wc_delivery table#delivery_table td input,
#customer-info table td select,
#wc_delivery table#delivery_table td select{
	width: 100%;
	font-size: 16px;
	padding: 5px;
}
#customer-info table td input#name1,
#customer-info table td input#name2,
#customer-info table td input#name3,
#customer-info table td input#name4,
#wc_delivery table#delivery_table td input#name1,
#wc_delivery table#delivery_table td input#name2,
#wc_delivery table#delivery_table td input#name3,
#wc_delivery table#delivery_table td input#name4{
	width: 90%;
	margin-left: 5%;
}
#customer-info table td input#zipcode,
#customer-info table td input#address1,
#customer-info table td input#address2,
#customer-info table td input#address3,
#customer-info table td input#tel,
#customer-info table td input#fax,
#wc_delivery table#delivery_table td input#zipcode,
#wc_delivery table#delivery_table td input#address1,
#wc_delivery table#delivery_table td input#address2,
#wc_delivery table#delivery_table td input#address3,
#wc_delivery table#delivery_table td input#tel,
#wc_delivery table#delivery_table td input#fax{
	margin-bottom: 5.5px;
}
.entry table tr#zipcode_row td::before,
.entry table tr#address1_row td::before,
.entry table tr#address2_row td::before,
.entry table tr#address3_row td::before,
.entry table tr#tel_row td::before,
.entry table tr#fax_row td::before{
  content: '例)';
  display: block;
  position: absolute;
  right: 111px;
  bottom: 1px;
}
#wc_delivery table.customer_form th{
	font-weight: bold;
}
#wc_delivery table.customer_form td input#delivery_flag1,
#wc_delivery table.customer_form td input#delivery_flag2{
	margin: 11px 5.5px;
}
#wc_delivery table#time th{
	width: 30%;
	padding-top: 22px;
}
#wc_delivery table#time td{
	padding-top: 22px;
}
#wc_delivery table#time td select{
	width: 100%;
}
#wc_delivery table#time td dt{
	font-size: 16px; 
	font-weight: bold;
}
#wc_delivery table#time td dt input{
	margin: 5.5px;
}
#wc_delivery table#time td dd{
	margin: 5.5px 0 11px;
}
#wc_delivery table#notes_table textarea{
	width: 100%;
	height: 66px;
}
#info-confirm table th.action,
#info-confirm table td.action{
	display: none;
}
#info-confirm table tfoot th,
#info-confirm table tfoot td{
	padding: 11px 0;
}
#wc_confirm table tfoot tr:first-child th.aright{
	padding-top: 44px;
}
#wc_confirm table tfoot tr:last-child th.aright{
	padding-bottom: 44px;
}
.entry table tr.ttl td h3{
	font-size: 20px;
	font-weight: bold;
	padding: 22px 0;
}
#info-confirm table#confirm_table th,
#info-confirm table#confirm_table td{
	padding-bottom: 11px;
}
#info-confirm .send{
	display: flex;
	flex-direction: column-reverse;
}
#info-confirm .send input{
	width: 100%;
}
#info-confirm .send input#purchase_button{
	margin-bottom: 22px;
	height: 66px;
}
#wc_cart .no_cart{
	text-align: center;
	margin-top: 44px;
}
#customer-info .error_message{
	color: #f00;
	margin: 44px 0 22px;
	font-size: 14px;
	line-height: 22px;
}
/* ----------------------------------------- STOREカートページ(single) ----------------------------------------- */






























@media screen and (orientation:portrait) {/* 縦向き */}
@media screen and (orientation:landscape) {/* 横向き */}