@charset "utf-8";
/*------------------------------------------------------------
     common
------------------------------------------------------------ */
/* font */
.gothic {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}
/* h2 */
.h2_title {
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .2em;
}
.h2_title span {
  display: block;
  padding-bottom: 4px;
  background-image: url("../img/common/h2_br.png");
  background-repeat: no-repeat;
  background-position: bottom left;
	background-size: 212px auto;
  margin-bottom: 8px;
  font-size: 22px;
  font-size: 2.2rem;
  letter-spacing: .05em;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .h2_title span {
    background-image: url("../img/common/h2_br@2x.png");
  }
}
.h2_grad {
  max-width: 824px;
  margin: auto;
  text-align: center;
  font-size: 29px;
  font-size: 2.9rem;
  letter-spacing: .1em;
}
.h2_grad span {
  color: #1D59A7;
}
.h2_grad::after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: #0f1158;
  background: -moz-linear-gradient(left, #0f1158 0%, #ffffff 100%);
  background: -webkit-linear-gradient(left, #0f1158 0%, #ffffff 100%);
  background: linear-gradient(to right, #0f1158 0%, #ffffff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0f1158', endColorstr='#ffffff', GradientType=1);
}
.h3_title {
  margin-bottom: 16px;
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: bold;
  letter-spacing: .12em;
}
.h3_title span {
  display: inline-block;
}
.h3_title span::after {
  content: "";
  display: block;
  min-width: 142px;
  width: 100%;
  height: 5px;
  background: #000000;
  background: -moz-linear-gradient(left, #000000 0%, #ffffff 100%);
  background: -webkit-linear-gradient(left, #000000 0%, #ffffff 100%);
  background: linear-gradient(to right, #000000 0%, #ffffff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#ffffff', GradientType=1);
}
.h3_title.blue span:first-letter, .h3_original.blue:first-letter {
  color: #074F96;
}
.h3_title.green span:first-letter, .h3_original.green:first-letter {
  color: #106F38;
}
.h3_title.red span:first-letter, .h3_original.red:first-letter {
  color: #C2261F;
}
.h3_title.brown span:first-letter, .h3_original.brown:first-letter {
  color: #5A3F1C;
}
.h3_title.purple span:first-letter, .h3_original.purple:first-letter {
  color: #B5569B;
}
/* btn */
a.btn {
  display: inline-block;
  width: 240px;
  max-width: 100%;
  border: 2px solid #598AC3;
  border-radius: 10px;
  text-align: center;
  color: #598AC3;
  font-size: 22px;
  font-size: 2.2rem;
}
a.btn.ls-200 {
  letter-spacing: .2em;
}
a.btn:hover {
  background-color: #598AC3;
  color: #FFF;
  opacity: 1.0;
}
/* 定期購入ボタン */
.offer_btn {
	text-align: center;
}
.offer_btn a {
	display: inline-block;
	width: 100%;
	max-width: 665px;
	height: 97px;
	padding: 20px 200px 0 90px;
	background: #0075c1;
background: -moz-linear-gradient(left,  #0075c1 33%, #004097 100%);
background: -webkit-linear-gradient(left,  #0075c1 33%,#004097 100%);
background: linear-gradient(to right,  #0075c1 33%,#004097 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0075c1', endColorstr='#004097',GradientType=1 );
	position: relative;
	text-align: center;
	color: #FFF;
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 1.15;
}
.offer_btn a .icon {
	display: block;
	width: 75px;
	height: 97px;
	background-color: #00438E;
	position: absolute;
	top: 0;
	left: 0;
}
.offer_btn a .icon::before {
	content: "";
	display: block;
	height: 97px;
	border-left: 19px solid #00438E;
	border-top: 48px solid transparent;
	border-bottom: 48px solid transparent;
	position: absolute;
	top: 0;
	left: 100%;
}
.offer_btn a .icon img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 22px;
	margin: auto;
}
.offer_btn a .bottle {
	position: absolute;
	right: 65px;
	bottom: 0;
}
.offer_btn a::before,
.offer_btn a::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 18px;
	margin: auto;
}
.offer_btn a::before {
	width: 33px;
	height: 33px;
	background-color: #FFF;
	border-radius: 50%;
}
.offer_btn a::after {
	height: 28px;
	border-left: 22px solid #00438E;
	border-top: 14px solid transparent;
	border-bottom: 14px solid transparent;
	right: 20px;
}
/* ancher */
.ancher {
	pointer-events: none;
	margin-top: -40px;
	position: absolute;
}
/* page top */
#bannerShop {
  position: fixed;
  top: 116px;
  right: 0;
  z-index: 50;
}
#bannerShop a {
  display: block;
  padding: 14px 12px 14px 16px;
  background-color: rgba(223, 242, 252, .5);
  border-top: 4px solid rgba(29, 49, 98, .5);
  border-bottom: 4px solid rgba(29, 49, 98, .5);
  border-left: 4px solid rgba(29, 49, 98, .5);
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}
/* header
------------------------------------------------------------ */
#header.okashi_header {
	width: 100%;
	height: 40px;
  padding: 5px 0 6px;
	background-color: #4C2C87;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	color: #FFF;
}
#header .container::after {
  content: "";
  display: block;
  clear: both;
}
/* logo */
#header.okashi_header .logo {
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: .2em;
}
#header .logo a {
	display: inline-block;
}
/* nav */
#nav {
  float: right;
  padding-top: 20px;
}
#nav > ul {
  margin-right: -23px;
  text-align: right;
}
#nav > ul > li {
  display: inline-block;
  margin: auto 6px;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
	position: relative;
}
#nav > ul > li > a,
#nav > ul > li > span {
	padding: 0 10px;
	cursor: pointer;
}
#nav > ul > li > ul {
	width: 280px;
	height: 0;
	padding-top: 6px;
	background-color: #FFF;
	overflow: hidden;
	position: absolute;
	top: 100%;
	left: 0;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
}
#nav > ul > li:hover > ul {
	height: 106px;
}
#nav > ul > li > ul > li {
	text-align: left;
	font-size: 16px;
	font-size: 1.6rem;
}
#nav > ul > li > ul > li > a {
	display: block;
	padding: 0 10px;
	height: 50px;
	line-height: 50px;
}
/* container
------------------------------------------------------------ */
.container {
  width: 94%;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
#main {
  padding: 16px 0 40px;
	overflow: hidden;
}
/* common contact
------------------------------------------------------------ */
.common-contact {
  width: 94%;
  max-width: 621px;
  padding: 1px;
  background: #00a6ce;
  background: -moz-linear-gradient(-45deg, #00a6ce 0%, #02407d 100%);
  background: -webkit-linear-gradient(-45deg, #00a6ce 0%, #02407d 100%);
  background: linear-gradient(135deg, #00a6ce 0%, #02407d 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00a6ce', endColorstr='#02407d', GradientType=1);
  margin-right: auto;
  margin-left: auto;
}
.common-contact .ment, .common-contact .box {
  background-color: #FFF;
  text-align: center;
}
.common-contact > * + * {
  margin-top: 1px;
}
.common-contact .ment {
  padding: 20px 0 4px;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
}
.common-contact .box {
  padding: 44px 2% 16px;
}
.common-contact .box .wrap {
  margin: auto -16px -16px;
}
.common-contact .box .wrap .tel, .common-contact .box .wrap .contact-btn {
  display: inline-block;
  margin: auto 16px 16px;
  vertical-align: bottom;
}
/* footer
------------------------------------------------------------ */
#footer {
	position: relative;
}
#footer .page-top {
	display: block;
	width: 88px;
	height: 80px;
	padding: 15px 10px 5px;
	background-color: #133762;
	border-radius: 50%;
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	margin: auto auto -40px;
	text-align: center;
	color: #BAD5EF;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1;
	letter-spacing: .1em;
}
#footer .page-top:hover {
	opacity: 1.0;
}
#footer .footer-nav {
	padding: 25px 0 20px;
	background-color: #133762;
	position: relative;
	overflow: hidden;
	color: #BAD5EF;
}
#footer .footer-nav a {
	color: #BAD5EF;
}
#footer .footer-nav .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
}
#footer .footer-nav .sitemap-box {
	width: 25%;
	padding: 0 15px;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.75;
	letter-spacing: .1em;
}
#footer .footer-nav .sitemap-box + .sitemap-box {
	border-left: 1px solid #BAD5EF;
}
#footer .footer-nav .sitemap-box.grow2 {
	width: 50%;
	padding: 0 30px;
}
#footer .footer-nav .parent {
	padding-left: 1.1em;
	position: relative;
}
#footer .footer-nav .parent::before {
	content: "▶";
	position: absolute;
	left: 0;
}
#footer .footer-nav ul {
	padding-left: 1.1em;
}
#footer .footer-nav ul li {
	padding-left: 1.1em;
	position: relative;
}
#footer .footer-nav ul li::before {
	content: "・";
	position: absolute;
	left: 0;
}
#footer .footer-nav .half::after {
	content: "";
	display: block;
	clear: both;
}
#footer .footer-nav .half ul {
	float: left;
	width: 50%;
}
#footer .footer-nav .online-shop {
	margin-top: 15px;
	text-align: center;
}
#footer .footer-nav .online-shop a {
	display: inline-block;
	padding: 10px 14px 12px;
	background-color: #BAD5EF;
	border-radius: 12px;
}
#footer .footer-info {
	padding: 30px 0 20px;
	overflow: hidden;
}
#footer .footer-info .container {
	max-width: 875px;
}
#footer .footer-info .container::after {
	content: "";
	display: block;
	clear: both;
}
#footer .footer-info .footer-logo,
#footer .footer-info small {
	float: left;
}
#footer .footer-info .footer-logo a {
	display: inline-block;
}
#footer .footer-info small {
	display: block;
	width: 230px;
	margin-top: 10px;
	text-align: center;
}
#footer .footer-info .footer-box {
	float: right;
	margin: auto -23px;
}
#footer .footer-info .footer-box::after {
	content: "";
	display: block;
	clear: both;
}
#footer .footer-info .footer-tel,
#footer .footer-info .footer-mail {
	float: left;
	margin: auto 23px 10px;
}
#footer .footer-info .footer-tel a {
	display: inline-block;
}
#footer .footer-info .footer-mail a {
	display: block;
	width: 216px;
	padding: 8px;
	background-color: #133762;
	border-radius: 12px;
	text-align: center;
}
#footer .footer-info .footer-tel dt {
	margin-bottom: 2px;
}
#footer .footer-info .footer-mail dt {
	margin-bottom: 12px;
}
/*------------------------------------------------------------
     kasou
------------------------------------------------------------ */
/* common
------------------------------------------------------------ */
/* kasou title */
.kasou_title {
  position: relative;
}
.kasou_title h1 img {
  max-width: 90%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
/* pankuzu */
#pankuzu {
  width: 94%;
  max-width: 860px;
  margin: 8px auto;
  font-size: 10px;
  line-height: 1.7;
}
#pankuzu a {
  text-decoration: underline;
}
.btn {
	margin-top: 10px;
	text-align: center;
}
.btn a {
	display: inline-block;
}