body {
	position: relative;
}

/* CLEAR FIX */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

#login {
	height: 100%;
}

@media screen and (min-height: 861px) {
	#login {
		margin-top: 5vh !important;
		margin-bottom: 5vh !important;
		height: 80vh !important;
	}
}
@media screen and (max-height: 860px) {
	#login p.title2 {
		margin-top: 1em !important;
	}
}

#login {
	width: 65%;
	max-width: 980px;
	min-width: 410px;
	padding: 32px 20px 30px !important;
	background: rgba(255,255,255,0.8) !important;
	border-radius: 8px !important;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 750px) {
	#login {
		width: 90%;
	}
}

#login {
	padding-top: 16px !important;
}

/*購入関係のスタイルここから*/
	.purchase .floatingWrap {
		width: 410px;
	    float: right;
}

@media screen and (max-width: 979px) {
	.main_login_box,
	.purchase .floatingWrap {
		float: none;
		margin-left: auto;
		margin-right: auto;
	}
	
	.purchase .floatingWrap {
		margin-top: 30px;
		margin-bottom: 30px;
	}
}

.purchase .floatingWrap .detail-order{
    position: sticky;
    position: -webkit-sticky;
    top: 20px;
}
.purchase .floatingWrap section .ttl01 {
	width: 100%;
}
.purchase .floatingWrap section:first-child .ttl01 {
	width: 100%;
}
.purchase .floatingWrap section .inner {
	margin: unset !important;
	width: 100%;

}
.purchase .floatingWrap .btnSubmit {
	width: 540px;
}

.purchase .floatingWrap .floatingBox {
	background: #fff;
}
.purchase .floatingWrap .floatingBox h2 {
	background: #424b55;
	color: #fff;
	font-size: 16px;
	text-align: center;
	line-height: 1;
	padding: 20px 0;
	margin: 0px;
}

/*↓振込内容の全体サイズ*/
.purchase .floatingWrap .floatingBox .floatingBoxInner {
	border: 1px solid #bfc0c4;
	border-top: none;
	padding: 0 0 10px;
	/*height: 350px;*/
}
.purchase .floatingWrap .floatingBox .boxWrap {
	/*max-height: 300px;*/
	overflow: auto;
	padding: 10px 0 0;
}
.purchase .floatingWrap .floatingBox .box {
	border-bottom: 1px solid #bfc0c4;
	padding: 5px 5px 10px;
	margin: 0 15px;
	font-weight: bold;
}
.purchase .floatingWrap .floatingBox .box + .box {
	padding: 15px 5px 10px;
}
.purchase .floatingWrap .floatingBox .price {
	padding: 5px 0 0;
	text-align: right;
	color: #d45452;
}
.purchase .floatingWrap .floatingBox .sub {
	padding: 10px 20px 0;
}
.purchase .floatingWrap .floatingBox .sub dl {
	overflow: hidden;
	clear: both;
	padding: 3px;
}
.purchase .floatingWrap .floatingBox .sub dl + dl {
	margin: 10px 0 0;
}
.purchase .floatingWrap .floatingBox .sub dl dt {
	float: left;
	font-size: 18px;
}
.purchase .floatingWrap .floatingBox .sub dl dd {
	margin: 0 0 0 8em;
	font-weight: bold;
	font-size: 18px;
}
.purchase .floatingWrap .floatingBox .total {
	padding: 20px;
	margin: 10px 0;
	background: #e6e8ea;
	overflow: hidden;
	font-weight: bold;
}
.purchase .floatingWrap .floatingBox .total dt {
	float: left;
	font-weight: bold;
	font-size: 18px;
}
.purchase .floatingWrap .floatingBox .total dd {
	float: right;
	text-align: right;
	color: #d45452;
	font-size: 23px;
}
.purchase .floatingWrap .floatingBox .excludingTax {
	font-size: 17px;
}
.purchase .floatingWrap .floatingBox .notes {
	padding: 15px 10px;
    font-size: 15px;
	color: #666;
}
.ad_purchase_text{
	padding-left: 10px;
    font-weight: bold;
    font-size: 18px;
}
.ad_purchase_yen{
	color: #900;
    font-weight: bold;
    font-size: 23px;
    text-align: right;
    padding: 7px 0;
}

.main_center_box{
	width: 95%;
    margin: 0 auto;
}

/*購入用ヘッダー*/
.col-lg-12 .ttl01 {
	text-align: left;
    font-size: 20px;
    border-bottom: 1px solid #d1d2d4;
    margin: 5px 0 30px;
    font-weight: normal;
}
.ttl01 span {
    display: inline-block;
    padding: 0 10px 5px;
    border-bottom: 1px solid #424b55;
    position: relative;
    bottom: -1px;
}



/*ログイン関係のスタイルここから*/
@media screen and (min-width: 980px) {
	#login_wrap,
	#login_wrap #login {
		width: 980px !important;
		margin-left: auto;
		margin-right: auto;
	}
}

	#login_wrap #login {
		height: 100% !important;
	}

	.main_login_box{
		width: 450px;
		float: left;
}

@media screen and (max-width: 979px) {
	.main_login_box {
		float: none;
	}
}

.login form {
	background: none !important;
}

.main_login_box.login form .input,
.login input[type=text]{
	    padding: 10px 25px !important;
}


#login.purchase p.title{
	margin-bottom: 15px !important;
}

.main_login_box form{
	padding: 15px 20px 0 0 !important;
	margin-bottom: 0 !important;
}

@media screen and (max-width: 979px) {
	.main_login_box form {
		padding-right: 0 !important;
	}
}

@media screen and (max-width: 449px) {
	.main_login_box{
		width: auto;
		max-width: 450px;
	}
	
	.purchase .floatingWrap {
		width: auto;
		max-width: 410px;
	}
}

/* .modalSort
---------------------------------------------*/
.modalSortContainer .mobi {
    display: none;
}

@media screen and (max-width: 830px) {
    .modalSortContainer .max830 {
        display: none;
    }
}

.modalSortContainer {
	opacity: 0;
	width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: block;
    pointer-events: none;
    position: fixed;
    padding-top: 30px !important;
    padding-right: 0 !important;
    z-index: 2001;
    transition: opacity 0.5s ease 0s;
}

.modalSortContainer:before {
    background: url(../images/atlantic.jpg) no-repeat center center fixed;
    background-size: cover;
    bottom: 0;
    opacity: .8;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}

.modalSortContainer.active {
    opacity: 1;
    pointer-events: auto;
}

.modalSort {
	width: 80vw;
	margin: 0 auto !important;
	position: relative;
	background: #fff;
}

@media screen and (max-width: 450px) {
	.modalSort {
		width: 80vw;
		margin: 0 auto;
		position: relative;
		background: #fff;
	}
}

@media screen and (max-width: 970px) {
	#purchase .policyContent {
		width: 100%;
	}
}

/*.policyContent
---------------------------------------------*/
.policyContent{
	width: 540px;
}

.modalPolicy .policyContent{
	width: 100%;
}

.modalClose {
	cursor: pointer;
	background-image: url(../images/filter/icon_close_filter.png);
	background-repeat: no-repeat;
	background-position: 98% center;
	background-size: 24px;
	padding-right: 2em !important;
	position: absolute;
	height: 30px;
    top: 10px;
    right: 10px;
}

.policyContentConfirm{
    display: inline-block;
    width: 575px;
}

.policyContent .inner{
	padding: 0px;
}

.policyContent .policyArea {
	background: #e6e8ea;
	overflow: auto;
	height: 200px;
	padding: 15px 5px 15px 15px;
	color: #7f7f7f;
}

.modalPolicy .policyContent .policyArea {
	height: 80vh;
}

.policyContent .checkPolicy {
	margin: 40px 0 0;
}

/* #purchase
---------------------------------------------*/

#purchase .inputArea > .row{
	margin-top: 10px;
}

#purchase {
	clear: both;
	width: 100%;
	margin: 0 auto;
	font-size: 14px;
	line-height: 1.5;
	background: #fff;
}

#purchase .ttl01 {
	font-size: 20px;
	border-bottom: 1px solid #d1d2d4;
	margin: 5px 0 30px;
	font-weight: normal;
}

#purchase .ttl01 span {
	margin-top: 20px;
	font-size: 20px;
	display: inline;
	padding: 0 10px 5px;
	border-bottom: 1px solid #424b55;
	position: relative;
	bottom: -1px;
	cursor: pointer;
}

#purchase section + section {
	margin: 20px 0 0;
}

#purchase .iframe-policy {
	margin-right: 8px;
}

@media screen and (max-width: 970px) {
	#purchase .ttl01 span:nth-child(2){
		margin-right: 3rem;
		float: none;
	}
}

/* #member register
---------------------------------------------*/
.col-sm-12 {
	position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}

.bg-white {
	background-color: #ffffff;
	padding: 0px;
}

#purchase .ttl01 span {
	display: inline-block;
	padding: 0 10px 5px;
	border-bottom: 1px solid #424b55;
	position: relative;
	bottom: -1px;
}

#terms-of-use{
	margin-top: 1rem !important;
	text-align: center;
}

.show-terms-of-use, .show-policy {
	font-weight: bolder;
	color: #72777c;
}

.show-terms-of-use:hover {
	text-decoration: underline;
	color: #444;
}

.show-policy:hover {
	text-decoration: underline;
	color: #444;
}

.title-term-of-use {
	display: none;
}

.title-policy {
	display: none;
}

.terms-of-use-content {
	display: none;
}

.policy-content {
	display: none;
}

#box-policy {
	display: none;
}