@charset "UTF-8";

/* teikibin
---------------------------------------------------------------------------*/
main > .logo-mark {
	display: none;
}

#page-head .btn-buy {
	position: absolute;
	top: 23px;
	right: 30px;
}

#main {
	padding-right: 0;
	padding-left: 0;
}

#main-inner {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}

section.intro,
section.course {
	width: 82%;
	max-width: 700px;
	margin: 0 auto;
}

.slider-product {
	padding-top: 0;
	margin-bottom: 10px;
	padding-right: 3%;
	padding-left: 3%;
}

.title-sec {
	margin-bottom: 25px;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0.12em;
}


/* .intro
---------------------------------------------------------------------------*/
.center {
	text-align: center;
}

.intro-lead {
	margin-top: 28px;
	transform: translateX(8px);
}

.intro-lead p {
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.08em;
	margin-bottom: 13px;
}

/* .recommend-for
------------------------------------*/
.recommend-for {
	margin-top: 75px;
	text-align: left;
}

.recommend-for h2 {
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.12em;
	display: inline-block;
	border-bottom: solid 1px #105670;
	padding-bottom: 4px;
	margin: 0 0 30px 1%;
	transform: translateX(-1px);
}

.recommend-for dl {
	border: none;
}

.recommend-for dl div {
	display: flex;
	width: 100%;
	padding: 28px 1%;
	box-sizing: border-box;
	background-size: 5px 3px;
}

.recommend-for dl div:first-child {
	padding-top: 0;
}

.recommend-for dl div:last-of-type {
	background: url(../img/share/line-dot.svg) repeat-x bottom -1px center;
	background-size: 5px 3px;
}

.recommend-for dl div dt {
	width: 120px;
	margin-right: 5%;
}

.recommend-for dl div dt img {
	display: inline-block;
	width: 100%;
	border-radius: 14px;
}

.recommend-for dl div dd {
/* 	width: calc(100% - 150px); */
}

.recommend-for h3 {
	margin-bottom: 11px;
	padding-top: 4px;
	position: relative;
	padding-left: 35px;
}

.recommend-for h3 i {
	font-size: 15px;
	color: #9E9479;
	letter-spacing: 0.08em;
	display: inline-block;
	padding-bottom: 1px;
	border-bottom: solid 1px #c9c3b4;
	position: absolute;
	left: 0;
	top: 8px;
}

.recommend-for h3 strong {
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.12em;
	line-height: 1.5;
}

.recommend-for dd p {
	letter-spacing: 0.06em;
	line-height: 1.85;
	text-align: justify;
}

@media all and (-ms-high-contrast:none){
	.recommend-for h3 i {
		top: 3px;
	}
}


/* .teiki-course
---------------------------------------------------------------------------*/
.teiki-common {
	margin-top: 60px;
	padding-top: 40px;
}

.lineup h2 {
	margin-bottom: 35px;
}

.lineup h2 span {
	margin-bottom: -4px;
	font-size: 31px;
/* 	transform: translateX(-6px); */
}

.lineup .course figure:first-child {
	margin: 0 auto;
	width: 100%;
}

.lineup .course figure img {
	display: inline-block;
	width: 100%;
	height: auto;
}

/* .lineup h3
------------------------------------*/
.lineup .course h3 {
	position: relative;
	margin-top: 45px;
	margin-bottom: 26px;
	padding-left: 53px;
}

.lineup .course h3 i {
	position: absolute;
	top: -5px;
	left: 0;
}

.lineup .course h3 strong {
	display: inline-block;
	margin-left: -2px;
	font-size: 28px;
	letter-spacing: 0.04em;
}

.lineup .course h3 small {
	display: block;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.15em;
	margin-top: 13px;
}

.lineup .course h3 small .narrow {
	letter-spacing: 0.1em;
}

.lineup .course h3 b {
	position: absolute;
	text-align: center;
	right: 12px;
	top: -6px;
	line-height: 1.95;
	color: #fff;
	letter-spacing: 0.09em;
	font-size: 16px;
}

.lineup .course h3 b span {
	background: #105670;
	padding: 1px 4px 3px 5px;
}

@media all and (-ms-high-contrast:none){
	.lineup .course h3 b span {
		padding-bottom: 0 !important;
	}
}

/* p
------------------------------------*/
.lineup h3 + p {
	text-align: justify;
	line-height: 1.8;
	padding: 0 10px 0 0;
	letter-spacing: 0.08em;
	font-size: 15px;
}

/* .course-detail
------------------------------------*/
.course-detail {
	position: relative;
	margin-top: 80px;
}

.coffeebag .course-detail {
	margin-top: 70px;
}

.course-detail .sub-title {
	display: block;
	margin: 0 0 16px 2px;
}

.course-detail .sub-title::before {
	top: 5px;
}

.course-detail .sub-title small {
	font-size: 11px;
	padding-left: 12px;
}

.course-detail .item {
	background: #F8EFD9;
	display: inline-block;
	padding: 19px 17px 17px 19px;
}

.course-detail .item span {
	font-weight: 600;
	letter-spacing: 0.1em;
	color: #524D3C;
}

.course-detail .item span span {
	padding: 0 7px 0 8px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.course-note {
	position: absolute;
	right: 0;
	top: -50px;
	width: 48px;
}

.coffeebag .course-note {
	top: -35px;
}

.course-note b {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-feature-settings: 'palt'0;
	letter-spacing: 0.08em;
	font-weight: 600;
	font-size: 13px;
	line-height: 1.7;
}

.coffeebag .course-note b {
	line-height: 1.9;
}

.course-note b span {
	border-right: solid 1px;
	padding-right: 0;
}

.mame-kona {
	position: absolute;
	right: 125%;
	bottom: -20px;
	width: 163px;
}

.mame-kona img {
	display: inline-block;
	width: 100%;
	height: auto;
	-webkit-transform: translateZ(0);
}

.course-detail .table-common td .list-dot {
	margin-left: 4px;
}

.course-detail .table-common td .list-dot li {
	font-size: 13px;
	line-height: 1.85;
	letter-spacing: 0.06em;
	/*white-space: nowrap;*/
}

.course-detail .table-common td .list-dot li:before {
	padding-right: 4px;
}

/* .coffeebag
------------------------------------*/
.coffeebag .course-item {
	position: relative;
}

.merit {
	display: inline-block;
	position: absolute;
	left: 110px;
	bottom: -1px;
	font-weight: 600;
}

/* .course-detail .table-common
------------------------------------*/
.course-detail .table-common {
	margin-top: 30px;
}

.course-detail .table-common + p {
	margin-top: 18px;
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.08em;
}

.table-common .wide {
	padding: 0 5px;
}


/* cart
---------------------------------------------------------------------------*/
.cart-wrap {
	margin: 65px 0 80px;
}

.cart-wrap:last-child {
	margin-bottom: 0;
}

.cart-wrap .attention {
	box-sizing: border-box;
	width: 80%;
	max-width: 700px;
}

.cart-inner {
	background-color: #E9EDEE;
	padding-bottom: 32px;
	color: #105670;
}

.cart-inner h1 {
	top: -10px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin: 0 0 24px 16px;
}

.cart-nav li a {
	background: url(../img/share/ico-arrow-s.svg) no-repeat left center;
}

.cart-nav li a span {
	border-bottom-color: transparent;
	transition: ease .15s;
}

.cart-nav li a:hover span {
	border-bottom: solid 1px;
}

.cart-nav.ul-2n {
	width: 100%;
	padding-left: 27px;
	box-sizing: border-box;
	margin-top: 30px;
}

.cart-nav.ul-2n li a {
	padding: 7px 10px 7px 18px;
}

.cart-nav.ul-2n li:nth-of-type(odd) {
	margin-right: 1%;
}

.cart-nav.ul-2n li:nth-of-type(3) {
	clear: both;
}

.cart {
	height: 60px;
	margin-bottom: 18px;
	padding: 12px 18px 10px 27px;
}

.cart-item-wrap {
	display: inline-block;
	width: 100%;
	height: 100%;
	border-radius: 37px;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	background: #CFDBE3;
}

.cart-item-wrap .bg-navy {
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 100%;
	background: #105670;
	top: 0;
	left: 0;
	transition: cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s;
}

.cart-set .cartjs_product_num {
	display: none !important;
}

.cart-item-inner {
	white-space: nowrap;
}

.cart-item-inner.white {
	color: #CFDBE3;
	width: 0 !important;
	overflow: hidden;
	white-space: nowrap;
	transition: cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s;
}

.cart:not(.sold):hover .cart-item-inner.white {
	width: 100% !important;
}

.cart:not(.sold):hover .bg-navy {
	width: 100%;
}

.cart-item-inner {
	display: inline-block;
	box-sizing: border-box;
	transform: translateY(10px);
	width: 100%;
	position: absolute;
	left: 0;
	top: 13px;
	padding-left: 27px;
}

.cart-item-inner span {
	display: inline-block;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.06em;
}

.cart-item-inner span.item-name {
	font-size: 14px;
	margin-right: 8px;
}

.cart-item-inner span.type {
	margin-right: 6px;
}

/* .coffeebag
------------------------------------*/
.coffeebag .cart:not(.sold):hover .cart-item-inner.white {
	width: 100% !important;
}

/* .tips-wrap
------------------------------------*/
.tips-wrap {
	bottom: 8px;
}

/* .free-shipping
------------------------------------*/
.free-shipping {
	position: absolute;
	right: 20px;
	bottom: -2px;
	width: 195px;
}

.course.coffeebag + .cart-wrap .free-shipping {
	bottom: -18px;
}

.free-shipping strong {
	display: inline-block;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-feature-settings: 'palt'0;
	text-orientation: upright;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.2em;
	line-height: 1.8;
	margin-left: 22px;
}

/* .cartjs_box
------------------------------------*/
.cartjs_box {
	margin: -2px 19% 0 0;
}

.cartjs_product_num {
	display: none;
}

.cartjs_option {
	margin-left: 0;
}

.cartjs_option td {
	transform: translateY(5px);
}

.cartjs_option td .customSelect {
	border-color: #D3E1E7;
}

.cartjs_option td .customSelect:before {
	background: url(../img/share/ico-arrow-down-navy.svg) no-repeat;
}

/* .cartjs_cart_in
------------------------------------*/
.cartjs_cart_in,
.btn-soldout {
	top: 12px;
	right: 18px;
	width: 15%;
	z-index: 2;
}

.cartjs_cart_in {
	background: #105670;
	border: solid 1px #D3E1E7;
}

.cartjs_cart_in:hover {
	background: #fff;
	border: solid 1px #fff;
	opacity: 1;
}

.cartjs_cart_in:after {
	content: 'お申し込み';
}

.cartjs_cart_in:hover:after {
	color: #105670;
}


/* .sec-question
---------------------------------------------------------------------------*/
.sec-question {
	width: 80%;
	max-width: 700px;
	margin: 120px auto 0;
}

.sec-question .title-sec {
	font-size: 15px;
}

.common-question .btn-ac {
	padding-left: 2px;
}

.common-question .btn-ac + dd {
	padding-right: 10px;
	padding-left: 3px;
}


/* .application
---------------------------------------------------------------------------*/
.application-info {
	display: inline-block;
	position: relative;
	box-sizing: border-box;
	background-color: #E9EDEE;
	border-radius: 100px;
	padding: 26px 153px 18px 52px;
	margin: 50px auto 25px;
	text-align: left;
	white-space: nowrap;
}

.application-info h2 {
	margin-bottom: 12px;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.11em;
}

.application-info p {
	margin-bottom: 0;
	font-size: 13px;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.application-info p a {
	text-decoration: underline;
}

.application-info .img {
	position: absolute;
	top: 44px;
	right: 40px;
}

.application-info .bubble {
	position: absolute;
	top: -52px;
	left: 14px;
	background-color: #FFFFFF;
	padding: 6px 10px 6px 14px;
	font-size: 14px;
}

.application-info .bubble::after {
	left: 50%;
	margin-left: -7px;
}

.application-info .truck {
	width: 100px;
	height: auto;
}

@media all and (-ms-high-contrast:none){
	.application-info .bubble {
		padding-top: 8px;
		padding-bottom: 4px;
	}
}

/* .application-info.open
------------------------------------*/
.application-info.open {
	padding: 0;
}

.application-info.open a {
	display: block;
	padding: 22px 160px 16px 45px;
}

.application-info.open .bubble {
	left: 22px;
}

.application-info.open h2 {
	display: inline-block;
	border-bottom: 1px solid #105670;
	margin: 0 9px 8px 0;
	padding-bottom: 2px;
	font-size: 13px;
	transform: translateY(-3px);
}

.application-info.open b {
	display: inline-block;
	font-size: 27px;
	font-weight: normal;
	letter-spacing: 0.02em;
}

.application-info.open b i {
	padding: 0 4px;
}

.application-info.open .img {
	top: 48px;
	right: 38px;
}

/* .cart.repeat
------------------------------------*/
.cart.repeat .cart-item-inner {
	top: 50%;
	transform: translateY(-50%) !important;
}

.cart.repeat .cart-item-inner a {
	position: absolute;
	top: 50%;
	left: calc(100% - 104px);
	transform: translateY(-50%);
  border: solid 1px #D3E1E7;
	border-radius: 20px !important;
	padding: 9px 18px 11px 18px !important;
	background-color: #105670 !important;
	font-weight: bold;
	white-space: nowrap;
}

_::-webkit-full-page-media, _:future, :root .cart.repeat .cart-item-inner a {
	padding-top: 11px !important;
	padding-bottom: 9px !important;
}

.cart.repeat .cart-item-inner a:hover {
	background-color: #FFFFFF !important;
	color: #105670 !important;
	opacity: 1 !important;
}

.cart.repeat:not(.sold):hover .cart-item-inner.white {
	width: calc(100% - 120px) !important;
}


/* media query
---------------------------------------------------------------------------*/
@media (max-width: 1640px) {
	.table-common .wide {
		display: none;
	}
	.table-common .narrow {
		display: block;
	}
}

@media (max-width: 1480px) {
	.intro-lead p {
		letter-spacing: 0.07em;
		white-space: nowrap;
	}
	.cart {
		padding-left: 22px;
	}
	.cartjs_box {
		margin-right: 14%;
	}
	.cartjs_cart_in,
	.btn-soldout {
		right: 14px;
		width: 12%;
	}
	.mamekona .cart-item-inner {
		padding-left: 22px;
	}
	.cart-item-inner .teiki-price {
		transform: none;
	}
	.cartjs_cart_in:after {
		content: '申込';
	}
	.cart-nav.ul-2n {
		padding-left: 18px;
	}
	.free-shipping {
		right: -8px;
	}
	.free-shipping strong {
		margin-left: 10px;
		line-height: 1.6;
	}
	.lineup .course h3 b {
		letter-spacing: 0.04em;
	}
	.cart-item-inner span {
		margin-right: 2px !important;
		font-size: 12px !important;
		letter-spacing: 0.04em;
	}
	.cart-item-inner span.item-name {
		margin-right: 4px !important;
		font-size: 13px !important;
	}
}

@media (max-width: 1360px) {
	.lineup .course h3 {
		margin-top: 35px;
	}
	.lineup .course h3 b {
		right: 0;
		font-size: 14px;
		top: -2px;
	}
	.lineup .course h3 strong {
		font-size: 26px;
		letter-spacing: 0.02em;
	}
	.lineup .course h3 small {
		letter-spacing: 0.08em;
		margin-top: 11px;
	}
	.lineup .course h3 i {
		width: 37px;
	}
	.lineup h3 + p {
		padding-right: 0;
	}
	.mame-kona {
		right: 113%;
		width: 135px;
		bottom: -13px;
	}
	.course-detail,
	.coffeebag .course-detail {
		margin-top: 60px;
	}
	.course-detail .item {
		padding: 17px 15px 16px 16px;
	}
	.course-detail .item span {
		letter-spacing: 0.08em;
	}
	.merit {
		left: 100px;
	}
}

@media (max-width: 1340px) {
	.bgcolor-dl dd {
		width: 70%;
		padding: 13px 0 10px 3%;
	}
	.bgcolor-dl dd p {
		letter-spacing: 0.06em;
	}
	.bgcolor-dl dt {
		width: 30%;
		padding: 13px 10px 10px 13px;
		line-height: 1.8;
		letter-spacing: 0.08em;
		white-space: nowrap;
	}
		.coffeebag .cart-item-inner .item-name {
		font-size: 14px;
		margin-right: 1px;
		transform: translateY(1px);
	}
	.coffeebag .cart-item-inner .type {
		font-size: 14px;
		transform: translateY(1px);
		margin-right: 5px;
	}
	.coffeebag .cart-item-inner .teiki-price {
		font-size: 14px;
		transform: translateY(1px);
	}
	.cartjs_option td .customSelect {
		width: 90px;
	}
}


/* .application-info-sub
---------------------------------------------------------------------------*/
.application-info-sub {
	margin-top: 25px;
	text-align: center;
}

.application-info-sub .inner {
	display: inline-block;
	box-sizing: border-box;
	border: 1px solid #D1DDE2;
	border-radius: 4px;
	padding: 15px 20px 19px 23px;
	text-align: left;
}

.application-info-sub p {
	margin-bottom: 0;
	line-height: 1.9;
}

.application-info-sub p a {
	display: inline-block;
	position: relative;
	padding-bottom: 3px;
	line-height: 1;
}

.application-info-sub p a:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #105670;
	width: calc(100% - 1px);
	height: 1px;
	opacity: 0.7;
}