html {
  height: 100%;
}
body {font-family: "游ゴシック体", "Yu Gothic", YuGothic, "MS P Gothic", "MS Pゴシック", sans-serif;font-size: 90%;color: #FFF;overflow-x: hidden;min-height: 100vh;margin: 0;}
header {
    z-index: 5;
    background: #232323;
    display: flex;
    justify-content: center;	
}
header div {
	display: flex;
	justify-content: space-between;
}
header nav ul {
	display: flex;
	margin: 0 0 18px 0;
	gap: 10px;	
}

header nav ul li a {
	text-decoration: none;
	border: 2px solid #FFFFFF;
	border-radius: 130px;
	padding: 7px 8px;
	color: #FFF;
	transition: .3s;
}
header nav ul li a:hover {
	opacity: .7;
}
header ul.lang {
    display: flex;
    margin: 10px;
    gap: 10px;	
}
header ul.lang a {
	text-decoration: none;
	border-bottom: 1px solid #232323;
	color: #FFFFFF;
	transition: .3s;
	font-size: 85%;
}
header ul.lang a:hover {
	border-bottom: 1px solid #FFFFFF;
}
header ul.nav_about {
	flex-wrap: wrap;
}

header .head_col {
	width: 1000px;
} 

header .head_col h1.logo {
	flex: 1;
}

header .head_col h1.logo a img  {
	width: 100%;
	height: auto;
	margin: 0 0 3px 0;
}

header .head_col nav {
	display: flex;
	flex: 2;
	align-items: self-end;	
}
body > footer {
  position: sticky;
  top: 100vh;
}
footer {
	margin: 0px 0 0px 0;
	padding: 10px 0;
	background: #232323;

}

.txt_red {
	color: #DE3737;
}

/*既存*/

.header .nav {
	background: url(https://dev.diamond-nh.com/user_data/packages/default/img/nav_back.png) no-repeat top center;
	width: 100%;
    height: 35px;	
}
.header .nav ul {
	width:1000px;
	height: auto;
	margin:0 auto;
	display: flex;
}
.header .nav ul li {
	float:left;
}
.header .nav ul li a {
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	display:block;
	background: url(https://dev.diamond-nh.com/user_data/packages/default/img/nav.png) no-repeat top left;
}
.header .nav ul li.information a {
	width:140px;
	height: 37px;
	background-position:-26px 0;
}
.header .nav ul li.information a:hover {
	background-position:-26px -100px;
}
.header .nav ul li.information a.select {
	background-position:-26px -200px;
}
.header .nav ul li.event a {
	width:83px;
	height:40px;
	background-position:-476px 0;
}
.header .nav ul li.event a:hover {
	background-position:-476px -100px;
}
.header .nav ul li.event a.select {
	background-position:-476px -200px;
}
.header .nav ul li.link a {
	width:59px;
	height:40px;
	background-position:-866px 0;
}
.header .nav ul li.link a:hover {
	background-position:-866px -100px;
}
.header .nav ul li.link a.select {
	background-position:-866px -200px;
}

/*/既存*/

.maintop,.other_common {
    box-shadow: 0px 3px 10px #000;
    background: #000;
    padding: 20px 0 0;
}

.maintop h2,.other_common h2 {
	/* position: relative; */
	width: 900px;
	text-align: left;
	margin: 0 auto;
	clear: both;
	font-size: 100%;
	display: flex;
	align-items: center;
}

.maintop h2.mypage_top {
	font-size: 145%;
}

.maintop h2.mypage_top:before {
    font-family: "Font Awesome 5 Free";
    content: '\f007';
    font-size: 30px;
    margin: 0 10px 0 0;
    font-weight: 900;
}

.user_detail_col {
	width: 79%;
	background: #FFF;
	margin: 20px auto 0;
	box-shadow: 10px 10px #bababa;
	/* position: relative; */
	display: block;
}
.user_detail01 {
    position: relative;
    top: -55px;
    text-align: center;
    display: block;
    margin: 0 auto;
}
.user_detail01 img {
    width: 110px;
    height: 110px;
    box-shadow: 0 0 0 5px #FFF, 0 0 0 10px #000;
    box-sizing: border-box;
    border-radius: 100px;
    margin: 0px auto;
    display: block;

}
.user_detail01_name {
	color: #000000;
	font-weight: bold;
	margin: 15px 0 0 0;
	display: block;
}
.user_custom_btn a {
    position: absolute;
    background: #bababa;
    top: 65px;
    left: 59%;
    padding: 5px 5px 5px 14px;
    border-radius: 50px;
    width: 70px;
    display: block;
    text-decoration: none;
    color: #FFF;
	transition: .3s;
}
.user_custom_btn a:hover {
	opacity: .6;
}
.user_custom_btn a:after {
	content:"〉";
	margin: 0 0 0 5px;		
}
.user_custom_btn a:hover {
    background: #aaaaaa;	
}

.user_detail02 {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 70px;
	margin: 0px 0 0px 35px;
	padding: 40px 0;
}
.user_detail02 dl {
	background: #f2f2f2;
	border-radius: 5px;
	color: #000;
	padding: 24px 24px 24px 50px;
	text-align: center;
	position: relative;
	margin: 0;
}
.user_detail02 dl:nth-child(1):before {
	content: "P";
	font-size: 35px;
	width: 50px;
	height: 50px;
	position: absolute;
	top: calc(50% - 24%);
	left: -9%;
	box-shadow: 0 0 0 4px #FFFFFF, 0 0 0 11px #e1e1e1;
	border-radius: 43px;
	background: #FFFFFF;
	font-weight: bold;
	color: #e1e1e1;
	border: 1px solid #e1e1e1;
}
.user_detail02 dl:nth-child(2):before {
	content: "￥";
    font-size: 35px;
    width: 50px;
    height: 50px;
    position: absolute;
    top: calc(50% - 24%);
    left: -9%;
    box-shadow: 0 0 0 4px #FFFFFF, 0 0 0 11px #e1e1e1;
    border-radius: 43px;
    background: #FFFFFF;
    font-weight: bold;
    color: #e1e1e1;
    border: 1px solid #e1e1e1;

}
.user_detail02 dl:nth-child(3):before {
    font-family: "Font Awesome 5 Free";
    content: "\f09d";
    font-size: 27px;
    line-height: 1.8em;
    width: 50px;
    height: 50px;
    position: absolute;
    top: calc(50% - 24%);
    left: -9%;
    box-shadow: 0 0 0 4px #FFFFFF, 0 0 0 11px #e1e1e1;
    border-radius: 43px;
    background: #FFFFFF;
    font-weight: bold;
    color: #e1e1e1;
    border: 1px solid #e1e1e1;
}
.user_detail02 dl dt {
	font-size: 111%;
}
.user_detail02 dl dd {
	font-size: 130%;
	font-weight: bold;
	margin: 0;
}
.mypage_nav {
    display: flex;
    margin: 40px auto 0;
    padding: 0 0 20px;
    justify-content: center;
    text-align: center;
    width: 900px;
}
.mypage_nav li {
	width: 20%;
}
.mypage_nav a {
	text-decoration: none;
	color: #FFF;

}
.mypage_nav a:hover {
	transition: .4s;	
	opacity: .7;
}
.mypage_nav .parent {
	background: linear-gradient(103deg,#a702db,#5908fa);
	border-radius: 64px;
	padding: 4px;
	width: 87px;
	margin: 0 auto 0px;
	scale: 75%;
}
.mypage_nav .child {
	background-color: #000;
	border-radius: 80px;
	height: 80px;
	text-align: center;
}
.mypage_nav li.page_active a:after {
	content:"";
	width: 50px;
	border-bottom: 5px solid #333;
	display: block;
	text-align: center;
	margin: 5px auto 0;
}
.mypage_nav li.mypage_top a .child:after {
    font-family: "Font Awesome 5 Free";
    content: '\f015';
    font-size: 44px;
    font-weight: 900;
    display: inline-block;
    background: linear-gradient(20deg, #a702db 0%, #5908fa 100%);
    background: -webkit-linear-gradient(20deg, #a702db 0%, #5908fa 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.8em;
}
.mypage_nav li.mypage_info a .child:after {
    font-family: "Font Awesome 5 Free";
    content: '\f0f3';
    font-size: 44px;
    font-weight: 900;
    display: inline-block;
    background: linear-gradient(20deg, #a702db 0%, #5908fa 100%);
    background: -webkit-linear-gradient(20deg, #a702db 0%, #5908fa 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.8em;
}
.mypage_nav li.mypage_favorite a .child:after {
    font-family: "Font Awesome 5 Free";
    content: '\f004';
    font-size: 44px;
    font-weight: 900;
    display: inline-block;
    background: linear-gradient(20deg, #a702db 0%, #5908fa 100%);
    background: -webkit-linear-gradient(20deg, #a702db 0%, #5908fa 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.8em;
}
.mypage_nav li.mypage_charge a .child:after {
    font-family: "Font Awesome 5 Free";
    content: '\f51e';
    font-size: 44px;
    font-weight: 900;
    display: inline-block;
    background: linear-gradient(20deg, #a702db 0%, #5908fa 100%);
    background: -webkit-linear-gradient(20deg, #a702db 0%, #5908fa 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.8em;
}
.mypage_nav li.mypage_logout a .child:after {
    font-family: "Font Awesome 5 Free";
    content: '\f2f5';
    font-size: 44px;
    font-weight: 900;
    display: inline-block;
    background: linear-gradient(20deg, #a702db 0%, #5908fa 100%);
    background: -webkit-linear-gradient(20deg, #a702db 0%, #5908fa 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.8em;
}
.maintop_col01,.other_common_col01 {
	color: #000;
	width: 900px;
	margin: 0 auto;
	padding: 15px 0 5px;
	height: 100%;
}
h2 {
	font-size: 145%;	
}
.maintop_col01 h3 {
	font-size: 145%;
	position: relative;
	padding: 0 0 10px 0;
	border-bottom: 6px solid #e1e1e1;
	color: #c253de;
	width: 100%;
}
.maintop_col01 h3:after {
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 20%;
  height: 6px;
  content: '';
  background: #c253de;
  margin: 0;
}
.maintop_col01 div.maintop_col01_in {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.maintop_col01 div.maintop_col01_in a {
	text-decoration: none;
	background: #aa02da;
	color: #FFF;
	font-weight: bold;
    padding: 5px 5px 5px 14px;
    border-radius: 50px;
    display: block;
	transition: .3s;
}
.maintop_col01 div.maintop_col01_in a:hover {
	opacity: .8;
}
.maintop_col01 div.maintop_col01_in a:after {
	content:"〉";
	margin: 0 0 0 5px;		
}
.maintop_col01 ul li {
	border-bottom: 1px solid #c9c9c9;
	margin: 20px 0;
}
.maintop_col01 ul li .info_title .info_y {
	color: #aa02da;
	display: block;
	line-height: 1em;
}
.maintop_col01 ul li .info_title .info_md {
	color: #aa02da;
	font-size: 140%;
	font-weight: bold;
}
.maintop_col01 ul li .info_title p {
	cursor: pointer;
	font-weight: bold;
	margin: 0 0 10px;
	transition: .3s;
}
.maintop_col01 ul li .info_title p:after {
	font-family: "Font Awesome 5 Free";
    content: '\f0dd';
    font-size: 12px;
    font-weight: 900;		
	margin: 0 0 0 30px;		
}
.maintop_col01 ul li .info_title p:hover {
	opacity: 0.8;	
    color: #a411cb;	
}
.user_detail_thumb {
    display: flex;
    width: 900px;
    justify-content: flex-end;
    margin: 0 auto 0;
    padding: 0;
    align-items: center;
}
.user_detail_thumb_in {
    width: 100%;
    display: flex;
    justify-content: flex-end;	
}
.user_detail_thumb dl {
	margin: 0;
	display: flex;
	font-weight: bold;
}
.user_detail_thumb dl dt {
    width: 24px;
    height: 24px;
    box-shadow: 0 0 0 3px #b2b2b2, 0 0 0 6px #2e2e30;
    box-sizing: border-box;
    border-radius: 100px;
    text-align: center;
    line-height: 1.8em;
    color: #DDD;
}
.user_detail_thumb dl dd {
	margin: 0 22px 0 12px;
}
.user_detail_thumb .user_image {
    width: 32px;
    height: 32px;
    box-shadow: 0 0 0 2px #b2b2b2, 0 0 0 6px #2e2e30;
    box-sizing: border-box;
    border-radius: 100px;
    background: #FFFFFF;
}
.favorite_h2 span {
	font-size: 145%;
	display: flex;
	align-items: center;
}
.favorite_h2 span:before {
    font-family: "Font Awesome 5 Free";
    content: '\f004';
    font-size: 30px;
    margin: 0 10px;
    font-weight: 900;	
}
ul.favorite_list {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
ul.favorite_list li {
	width: calc(25% - 15px);
	position: relative;
	margin: 0 0 30px;
}
ul.favorite_list li a {
    text-decoration: none;
    text-align: center;
    font-weight: bold;
    display: block;
    color: #333333;
}
ul.favorite_list li a .cast_image {
	position: relative;
	text-align: center;
}
ul.favorite_list li a .cast_image::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(180deg, transparent 0 70%, #FFF 92%);
}
ul.favorite_list li a img {
	width: 100%;
	height: auto;
	border-radius: 7px;
	border: 6px solid #efefef;
	transition: .3s;
}

ul.favorite_list li a:hover img {
	opacity: .8;
	border: 6px solid #f2c0ff;	
}
ul.favorite_list li a span.name {
	display: block;
	width: 95%;
	border-radius: 100px;
	background: rgba(255,255,255,0.4);
	margin: -48px auto 0;
	padding: 10px;
	position: relative;
}
ul.favorite_list li a.favorite_btn {
	position: absolute;
	top: 20px;
	left: 14px;
	transition: .3s;
}
a.favorite_btn:hover {
	opacity: .8;
}
.favorite_icn {
	border-radius: 21px;
	background: #c253de;
	padding: 5px 6.5px;
	line-height: 1em;
	box-shadow: 0 0 0 2px #d58aec, 0 0 0 2px #d58aec;
	box-sizing: border-box;
}
.favorite_icn:after {
    font-family: "Font Awesome 5 Free";
    content: '\f004';
    font-size: 14px;
    font-weight: 900;
    display: inline-block;
    color: #ff8ba3;
    line-height: 1em;
}
ul.favorite_list li a.cast_reserve {
    text-decoration: none;
    background: #c253de;
    color: #FFF;
    font-weight: bold;
    margin: 10px 0 0;
    padding: 5px 5px 5px 6px;
    border-radius: 50px;
    display: flex;
    position: relative;
    justify-content: space-between;
    align-items: center;
	transition: .3s;
}
ul.favorite_list li a.cast_reserve:hover {
	opacity:.8;
}
ul.favorite_list li a.cast_reserve:before {
    font-family: "Font Awesome 5 Free";
    content: '\f044';
    font-size: 14px;
    font-weight: 900;
    margin: 0;
    padding: 4px 6px;
    background: #a802db;
    border-radius: 80px;
    display: block;
    box-shadow: 0 0 0 1px #c054e1, 0 0 0 0px #c054e1;
}
ul.favorite_list li a.cast_reserve:after {
	content:"〉";
	margin: 0 0 0 5px;		
}


/*既存*/
li a .sexal .image1 {
    width: 80px;
    height: 22px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    background: url(https://www.diamond-nh.com/user_data/packages/default/img/ic/sexal_nh.png);
}
li a .sexal .image2 {
    width: 80px;
    height: 22px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    background: url(https://www.diamond-nh.com/user_data/packages/default/img/ic/sexal_otoko.png?v2);
}
li a .sexal {
    position: absolute;
    right: 0;
    bottom: 80px;
    z-index: 10;
}
/*/既存*/


.info_h2 span {
	font-size: 145%;
	display: flex;
	align-items: center;
}
.info_h2 span:before {
    font-family: "Font Awesome 5 Free";
    content: '\f0f3';
    font-size: 30px;
    margin: 0 10px;
    font-weight: 900;	
}
.free_h2 span {
	font-size: 145%;
	display: flex;
	align-items: center;
}
.login_bg {
    background: url(../../img/customer/mypage_bg.jpg) no-repeat 0 0;
    display: block;
    width: 100%;
    background-size: cover;
}
.login_bg .login_col {
	background: none;
	height: 100%;
	padding: 9% 0px;
}
.login_col {
	background: #000;
	width: 100%;
	height: calc(100% - 175px);
	margin: 0;
	padding: 0;
}
.login_col_in {
	width: 1000px;
	height: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 110px;
}
.login_col_l {
	width: 50%;
	text-align: center;
}
.login_col_l p {
	font-size: 90%;
    line-height: 2em;
    color: #b5b5b5;
}	
.login_col_l img {
	height: auto;
}
.login_col_r {
	width: 50%;
	padding: 0 4%;
}
.login_col_r h2 {
	text-align: center;
}
.login_col_r form {text-align: center;flex-wrap: wrap;justify-content: center;}
.login_col_r form  input {
	display: block;
	width: 100%;
	background: #343537;
	border: none;
	border-radius: 100px;
	padding: 17px;
	margin: 0 auto 20px;
	color: #FFF;
}
.login_col_r .check_login {
    display: inline-block;
    width: auto;	
}

.login_col_r .login_r_link {
    display: flex;
    justify-content: space-between;
	margin: 0 0 20px 0;
}

.login_col_r .login_r_link a {
	color: #f00fff;
}

.login_col_r .login_r_link a:hover {
	text-decoration: none;
}

.login_col_r .form-submit input {
	background: rgb(2,0,36);
	background: linear-gradient(103deg, rgba(2,0,36,1) 0%, rgba(167,2,219,1) 0%, rgba(89,8,250,1) 100%);
	font-weight: bold;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "MS P Gothic", "MS Pゴシック", sans-serif;
	font-size: 110%;
	cursor: pointer;
	transition: .2s;
	padding: 11px;
}
.login_col_r .form-submit input:hover {
	background: #5908fa;
}
a.new_register {
	background: #7fb8ff;
	display: block;
	width: 100%;
	border: none;
	border-radius: 100px;
	padding: 11px;
	margin: 0 auto 40px;
	color: #FFF;
	font-size: 110%;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}
a.ikupon_link {
    text-align: center;
    display: block;
    color: #FFF;
}

/* checkbox */
/* ---------------- */

.login_r_link input {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    margin: -1px;
}

.c-form-checkbox-name {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    color: #FFF;
    position: relative;
}

.c-form-checkbox-name:before {
    content: "";
    display: inline-block;
    width: 1.6em;
    height: 1.6em;
    border: 1px solid #ccc;
    background: #FFF;
    border-radius: 3px;
    margin-right: 6px;
    flex-shrink: 0;
}

.login_r_link input:checked + .c-form-checkbox-name {
    color: #f00fff;
}

.login_r_link input:checked + .c-form-checkbox-name:before {
    border: 1px solid #aa02da;
    background-color: #aa02da;
}

.login_r_link input:checked + .c-form-checkbox-name:after {
    content: "";
    position: absolute;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    left: 0.65em;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 0.4em;
    height: 0.65em;
    transform: translateY(-1px) rotate(45deg);
}

.login_r_link input:focus-visible + .c-form-checkbox-name .c-form-checkbox-text {
    background: linear-gradient(transparent 90%, rgba(33, 150, 243, 0.3) 90%);
}

.charge_h2 span {
	font-size: 145%;
	display: flex;
	align-items: center;
}
.charge_h2 span:before {
    font-family: "Font Awesome 5 Free";
    content: '\f51e';
    font-size: 30px;
    margin: 0 10px;
    font-weight: 900;	
}
.charge_point span {
	font-size: 140%;
	font-weight: bold;
	padding: 0 10px;
}
.charge_h3:before {
    font-family: "Font Awesome 5 Free";
    content: '\f4d3';
    font-size: 30px;
    margin: 0 10px;
    font-weight: 900;		
}
.change_h3:before {
    font-family: "Font Awesome 5 Free";
    content: '\f2ea';
    font-size: 30px;
    margin: 0 10px;
    font-weight: 900;	
}
.chargecard_h3:before {
    font-family: "Font Awesome 5 Free";
    content: '\f3ff';
    font-size: 30px;
    margin: 0 10px;
    font-weight: 900;		
}
.changecard_h3:before {
    font-family: "Font Awesome 5 Free";
    content: '\f2ea';
    font-size: 30px;
    margin: 0 10px;
    font-weight: 900;	
}
.charge_point_col {
	display: flex;
	gap: 20px;
	width: 100%;
	justify-content: space-around;
}

/*table*/
.wishtable_border {
	border: 2px solid #dadada;
}
.wish_list {
	margin: 0 0 20px 0;
	padding: 0;
	border-spacing: 0;
	width: 71%;
}
  .wish_list thead {
	 border-bottom: 2px solid #DADADA;
}
.wish_list th {
	margin-bottom: 9px;
	padding: 9px 15px;
	border-left: 1px #e3e3e3 solid;
	font-weight: normal;
}
.wish_list th:first-child {
	border-left-width: 0;
}
.wish_list tbody {
	vertical-align: top;
}
.wish_list tbody td {
	border-left: 1px #ddd solid;
	text-align: end;
}
.wish_list tbody td:first-child {
	border-left-width: 0;
}
.wish_list_mobile {
	display: none;
}
.wish_list th,.wish_list td {
	display: table-cell;
}
.wish_list td:before {
	display: none;
}
.wish_list tr:nth-child(even) {
	background-color: #efefef;
}
.wish_list td {
	padding: 9px 15px;
}
.wish_list td:before {
	display: none;
}
/*/table*/

/*point*/
.point_col  {
	width: 29%;
	text-align: center;
}
a.replace_pt_btn {
    display: block;
    text-decoration: none;
    background: rgb(194,83,222);
    background: linear-gradient(180deg, rgba(194,83,222,1) 0%, rgb(176 1 219) 100%);
    color: #FFF;
    font-weight: bold;
    margin: 10px auto;
    padding: 15px 5px 14px 6px;
    border-radius: 50px;
    transition: .3s;
    width: 55%;
    text-align: center;
}
.point_col a.pay_btn {
    display: block;
    text-decoration: none;
    background: rgb(194,83,222);
    background: linear-gradient(180deg, rgba(194,83,222,1) 0%, rgb(176 1 219) 100%);
    color: #FFF;
    font-weight: bold;
    margin: 10px auto;
    padding: 10px 5px 9px 6px;
    border-radius: 50px;
    transition: .3s;
    width: 94%;
    text-align: center;
}
.point_col dl {
	width: 100%;
	z-index: 10;
	position: relative;
	margin: 0;
}
.point_col dl dt {
	background: #EEEEEE;
	padding: 6px 20px;
	vertical-align: middle;
	font-weight: bold;
	margin: 5px 0 0;
}
.point_col dl dd {
	margin: 0;
	background: #FFFFFF;
	padding: 18px 0px;
	vertical-align: middle;
	text-align: right;
	font-size: 85%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: center;
	gap: 10px;
}
.point_col dl dd p {
	margin: 0;
}
.point_col select {
    font-size: 170%;
    width: 150px;
    padding: 7px 0 7px 50px;
    border: 3px solid #c7c7c7;
    border-radius: 10px;
    color: #666666;
}
.total_amount {
	margin: 0 0 20px 0;
}
.total_amount p {
	background: #ffdbdb;
	padding: 8px 20px 7px;
	vertical-align: middle;
	font-weight: bold;
	margin: 6px 0 6px;
}
.total_amount strong {
	font-size: 160%;
}
a.oneclick_btn {
    display: block;
    text-decoration: none;
    background: rgb(244,255,32);
    background: linear-gradient(180deg, rgba(244,255,32,1) 0%, rgb(255 204 0) 100%);
    color: #3a3a3a;
    font-weight: bold;
    margin: 10px auto;
    padding: 10px 5px 9px 6px;
    border-radius: 50px;
    transition: .3s;
    width: 94%;
    font-size: 90%;
}
.flame_box {
	border: 4px solid #fff5a7;
	background: #fff7ba;
	border-radius: 5px;
	padding: 14px 15px 2px;
	margin: 0 0 20px 0;
	font-size: 90%;
}
.flame_box ul {
	
}
.flame_box ul li{
	margin: 0 0 5px 0;
	border: none;
	list-style-type: disc;
	list-style-position: inside;
}




.pc {
  display: block;
}
.sp {
  display: none;
}
.pc_inline {
  display: inline-block;
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.w100p {
  width: 100%;
}
.mat_under30 {
  margin: -30px 0 0 0;
}
.mgr_10 {
  margin-right: 10px!important;		
}
.mgb_10 {
  margin-bottom: 10px !important;
}
.mgb_30 {
  margin-bottom: 30px !important;
}
.mgb_50 {
  margin-bottom: 50px !important;
}
.pa_tb13 {
  padding: 13rem 0;
}

footer small {
  padding: 5px 10px;
  text-align: center;
  font-size: 70%;
  line-height: 140%;
  display: block;
  color: #999;
}
.container {
  position: relative;
  z-index: 0;
}
h1 {
  margin: 0;
}

.txt_mark {
  color: #ff3b00;
}
.txt_bold {
  font-weight: bold;
}
.txt_center {
  text-align: center;
}
.txt_right {
  text-align: right;
}
.info_detail {
  display: none;
}
.credit_card_col ul.card_logo {
  display: flex;
	justify-content: center;
	text-align: center;
}
.card_logo img {
	width: 60%;	
}
.credit_card_col ul li{
  width: 33%;
border-bottom: none;
}

.card_pay {
    border-radius: 10px;
    box-shadow: 10px 10px 10px #dddddd;
    margin: 30px 0 40px;
}
.card_pay table {
    background: #fff6a5;
    display: block;
    border-radius: 10px 10px 0px 0;
    padding: 16px 20px;
    font-size: 135%;
}
.card_pay td {
    font-weight: bold;
    color: #FF3434;
    padding: 0 0 0 20px;
}
.card_input {
	display: flex;
	align-items: center;
}
.card_input dt {
	width: 40%;
}
.card_input dd {
	width: 60%;
	margin: 0;
}
.card_input dd input {
    display: block;
    background: #dbdbdb;
    border: none;
    border-radius: 10px;
    padding: 14px;
    margin: 0;
}
.credit_card_col{
    padding: 10px 205px;
}
ul.creditcard_btn {
	display: flex;
	justify-content: center;
}
ul.creditcard_btn li:first-of-type {
	width: 30%;
}
ul.creditcard_btn li {
	width: 65%;
	text-align: center;
}
ul.creditcard_btn li a.gray{
	background: #DDDDDD;
}
ul.creditcard_btn li a {
	    display: block;
	    text-decoration: none;
	    background: rgb(194,83,222);
	    background: linear-gradient(180deg, rgba(194,83,222,1) 0%, rgb(176 1 219) 100%);
	    color: #FFF;
	    font-weight: bold;
	    margin: 10px auto;
	    padding: 10px 5px 9px 6px;
	    border-radius: 50px;
	    transition: .3s;
	    width: 94%;
}

.point_change,.point_change02 {
	display:  flex;
	margin:50px auto;
	width: 60%;
	align-items: center;
	background: #f1f1f1;
	justify-content: space-around;
}
.point_change dt {
    position: relative;
    color: #fff;
    font-weight:bold;
    float:left;
    clear:both;
    background-color: #DE3737;
    display: flex;
    align-items: center;
    width: 50%;
	padding: 26px;
}
.point_change02 dt {
    position: relative;
    color: #fff;
    font-weight:bold;
    float:left;
    clear:both;
    background-color: #DE3737;
    display: flex;
    align-items: center;
    width: 31%;
	padding: 26px;
}
.point_change dd {
    padding:10px 30px;
    margin:0;
    width: 50%;
	text-align: center;
}
.point_change02 dd {
    padding: 10px 6px;
    margin:0;
    width: 69%;
    display: flex;
    justify-content: center;
}
.point_change dt:before {
    font-family: "Font Awesome 5 Brands";
    font-weight: 900;	
    content: '\f288';
    font-size: 30px;
    margin: 0 10px;
}
.point_change02 dt:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;	
    content: '\f550';
    font-size: 30px;
    margin: 0 10px;
}
.point_change dt::after,.point_change02 dt::after {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-width: 10px;
    margin-top: -10px;
    border-left-color: #DE3737;
}
.point_change dd select {
    font-size: 140%;
    padding: 7px 0 7px 5px;
    border: 3px solid #c7c7c7;
    border-radius: 10px;
    color: #666666;
}
.point_change02 dd input {
    font-size: 110%;
    padding: 10px 0 10px 5px;
    border: 3px solid #c7c7c7;
    border-radius: 10px;
    color: #666666;
    width: 92%;
}
.frame_yellow {
	background: #fdffdf;
	padding: 1px 10px;
}
.free_txt_col {
	min-height: 50svh;
	padding: 10em 0 0 0;
}
.free_txt_col p {
	width: 100%;
	text-align: center;
}	


/*ここからsp*/

@media only screen and (max-width:850px) {
  body {
    font-size: 85%;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }

  h1 {
    flex: inherit;
  }
  .container {
    width: 100%;
    overflow: hidden;
    /* height: 100svh; */
  }
  .about_sec {
    width: 100%;
  }
  .pc_inline {
    display: block;
  }
  .maintop {
    max-width: 100%;
    height: auto;		
	}	
 
footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 10px;
}	
footer img {
    width: 100%;
}	
nav > ul {
	flex-wrap: wrap;	
}	
#header {
	display: flow-root;
	}
.header .nav ul {
	width: 100%;
}
header div {
    display: flex;
    flex-wrap: wrap;
}	
header .head_col {
    width: 100%;
}
header .head_col h1.logo {
    flex: inherit;
}	
header .head_col h1.logo a img {
    width: 60%;
    height: auto;
    margin: 0 0 20px 5px;
}
header .head_col nav {
    display: flex;
    align-items: self-end;
    justify-content: center;
    flex: inherit;
    margin: 0 auto;
}
header ul.lang {
	position: absolute;
	right: 0;
}

header nav ul {
    display: flex;
    margin: 0 0 18px 0;
    gap: 10px;
    justify-content: center;
    font-size: 84%;	
}

header nav ul li a {

padding: 7px 8px;
}

.maintop h2, .other_common h2 {
    position: relative;
    top: 10px;
    left: 0;
    width: 100%;
    text-align: left;
    margin: 0 0 25px;
    clear: both;
    font-size: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.user_detail_thumb {
    display: flex;
    justify-content: flex-end;
    margin: 13px auto 0;
    padding: 0;
    align-items: center;
    width: calc(100% - 13px);
}
.user_detail_thumb_in {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-end;
    align-items: center;
}
.user_detail_thumb dl {
    display: flex;
    font-weight: bold;
    justify-content: flex-end;
    margin: 7px 0;
    align-items: center;
}
.user_detail_thumb dl dt {
    width: 20px;
    height: 18px;
    border-radius: 100px;
    text-align: center;
    line-height: 1.4;
}
.user_detail_thumb dl dd {
    margin: 0 18px 0 9px;
    font-size: 78%;
    font-weight: normal;
}
.user_detail_thumb dl dt i.fa-credit-card{
	font-size:11px;
	position: relative;
	top: -1px;
}
.user_detail_col {
    width: 95%;
    background: #FFF;
    margin: 65px auto 0;
    box-shadow: 5px 5px #bababa;
    display: block;
}
.user_detail01 {
    position: relative;
    top: -40px;
    text-align: center;
    display: block;
    margin: 0 auto;
}
.user_detail01 img {
    width: 80px;
    height: 80px;
    box-shadow: 0 0 0 5px #FFF, 0 0 0 10px #000;
    box-sizing: border-box;
    border-radius: 100px;
    margin: 0px auto;
    display: block;
    background: #FFFFFF;
}	
.user_detail02 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    margin: -41px 0px 0px;
    padding: 0px 0 0px 0;
    flex-wrap: wrap;
}
.user_detail02 dl {
    background: #ffffff;
    border-radius: 5px;
    /* color: #000; */
    padding: 13px 0px 10px 46px;
    text-align: center;
    position: relative;
    margin: 0;
    width: 49%;
}
.user_detail02 dl:nth-child(3) {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 25px 5px 20px 0;
    border-radius: 0;
    background: #f2f2f2;
    line-height: 1em;
}
.user_detail02 dl:nth-child(1):before {
    content: "P";
    font-size: 17px;
    line-height: 21px;
    width: 21px;
    height: 21px;
    position: absolute;
    top: calc(50% - 15%);
    left: 9%;
    box-shadow: 0 0 0 4px #FFFFFF, 0 0 0 7px #e1e1e1;
    border-radius: 43px;
    background: #FFFFFF;
    font-weight: bold;
    color: #e1e1e1;
    border: 1px solid #e1e1e1;
}	
.user_detail02 dl:nth-child(2):before {
    content: "￥";
    font-size: 17px;
    line-height: 21px;
    width: 21px;
    height: 21px;
    position: absolute;
    top: calc(50% - 15%);
    left: 9%;
    box-shadow: 0 0 0 4px #FFFFFF, 0 0 0 7px #e1e1e1;
    border-radius: 43px;
    background: #FFFFFF;
    font-weight: bold;
    color: #e1e1e1;
    border: 1px solid #e1e1e1;
}	
.user_detail02 dl:nth-child(3):before {
    font-family: "Font Awesome 5 Free";
    content: "\f09d";
    font-size: 10px;
    line-height: 1.9em;
    width: 21px;
    height: 21px;
    position: absolute;
    top: calc(50% - 15%);
    left: 19px;
    box-shadow: 0 0 0 4px #FFFFFF, 0 0 0 7px #e1e1e1;
    border-radius: 43px;
    background: #FFFFFF;
    font-weight: 900;
    color: #e1e1e1;
    border: 1px solid #e1e1e1;
}
.user_detail02 dl dt {
    font-size: 85%;
}
.mypage_nav {
    display: flex;
    margin: 20px 0 0 0;
    padding: 0 0 10px;
    justify-content: space-evenly;
    text-align: center;
    width: 100%;
}
.mypage_nav a {
    font-size: 85%;
}
.mypage_nav .parent {
    background: linear-gradient(103deg,#a702db,#5908fa);
    border-radius: 132%;
    padding: 3px 4px;
    width: 70px;
    height: 70px;
    margin: 0 auto 0px;
    scale: 88%;
}
.mypage_nav .child {
    background-color: #000;
    border-radius: 70px;
    height: 63px;
    text-align: center;
}
.mypage_nav li.mypage_top a .child:after,.mypage_nav li.mypage_info a .child:after,.mypage_nav li.mypage_favorite a .child:after,.mypage_nav li.mypage_charge a .child:after,.mypage_nav li.mypage_logout a .child:after {
    font-size: 34px;
    line-height: 1.8em;
}
.user_custom_btn a {
    top: 47px;
    left: 66%;
}
.maintop_col01, .other_common_col01 {
    color: #000;
    width: 100%;
    margin: 0 auto;
    padding: 15px 1em 5px;
}
.maintop_col01 div.maintop_col01_in {
    flex-wrap: wrap;
    position: relative;
    margin: 0 0 50px !important;
}
.maintop_col01 h3 {
    font-size: 135%;
    display: flex;
    align-items: center;
    color: #c253de;
    width: 100%;
    padding: 8px 0;
    margin: 20px 0 15px 0;
}	
.charge_h3:before {
}	
.maintop_col01 div.maintop_col01_in a {
    position: absolute;
    right: 0;
    top: 100%;
    font-size: 85%;
}
.maintop, .other_common {
    padding: 2%;
}
.maintop_col01, .other_common_col01 {
    width: 100%;
}
ul.favorite_list {
	flex-wrap:wrap;
	justify-content: center;
	gap: 8px;
}	
ul.favorite_list li {
    width: calc(50% - 5px);
}
ul.favorite_list li a img {
    width: 100%;
    height: auto;
    border-radius: 3px;
    border: 4px solid #efefef;	
}	
ul.favorite_list li a span.name {
	font-size: 90%;
}	
ul.favorite_list:after {
    content: "";
    width: calc(50% - 5px);
}	

.charge_point_col {
	flex-wrap: wrap;
	gap: 0;
}	
.wish_list {
	width: 100%;
}
.point_col {
	width: 100%;
}	
.point_col dl dd {
	align-items:center;
}	
.login_col_in {
	width: 100%;
	flex-wrap:wrap;
	gap: 0;
	padding: 1em;
}
.login_col_l {
	width: 100%;
}	
.login_col_r {
	width: 100%;
}
.credit_card_col{
    padding: 10px;
}
.login_col_l img {
    height: auto;
    width: 50%;
    margin: 0 0 0 8px;
}
.login_bg {
	height: 100%;
	background: none;
	}
.login_bg wrapper#container {
    background: url(../../img/customer/mypage_bg.jpg) no-repeat 0 0;
    display: block;
    width: 100%;
    background-size: cover;
	}	
.point_col a.pay_btn {
	padding: 15px 5px 14px 6px;
} 	

.point_change,.point_change02 {
	display:  flex;
	margin:20px 0;
	width: 100%;
	align-items: center;
	background: #f1f1f1;
	justify-content: space-around;
}	
.point_change dt {
    position: relative;
    color: #fff;
    font-weight:bold;
    float:left;
    clear:both;
    padding: 10px 15px 10px 5px;
    background-color: #DE3737;
    display: flex;
    align-items: center;
    width: 50%;
}	
.point_change dd {
    padding:10px 30px;
    margin:0;
    width: 50%;
}
.point_col a.pay_btn,a.replace_pt_btn {
	display: block;
	text-decoration: none;
	background: rgb(194,83,222);
	background: linear-gradient(180deg, rgba(194,83,222,1) 0%, rgb(176 1 219) 100%);
	color: #FFF;
	font-weight: bold;
	margin: 10px auto;
	padding: 10px 5px 9px 6px;
	border-radius: 50px;
	transition: .3s;
	width: 94%;
	text-align: center;
} 
.point_change02 dt {
    position: relative;
    color: #fff;
    font-weight:bold;
    float:left;
    clear:both;
    padding: 10px 5px 10px 5px;
    background-color: #DE3737;
    display: flex;
    align-items: center;
    width: 31%;
}	
.free_txt_col {
    padding: 5em 0 0 0;
}
	
}
