@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c:500&display=swap');
.mpf{
	font-family: 'M PLUS Rounded 1c', sans-serif;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}
p.term_msg {
    width: 90%;
    margin: 3% auto;
    text-align: left;
    font-size: 1em;
}
p.btn {
    border: solid 1px #fff;
    border-radius: 10px;
    padding: 4% 0;
    width: 60%;
    margin: 0 auto;
    font-size: 1.2em;
    cursor: pointer;
    font-weight: bold;
    background: #fe7d7f;
    color: #fff;
}
/**** リセットCSS ****/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	font-size:100%;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, main, nav, section {
  display: block;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}
input, textarea {
  margin: 0;
  padding: 0;
}
ol, ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption, th {
  text-align: left;
}
a:focus {
  outline: none;
}
button,
input:not([type="radio"]),
optgroup,
select,
textarea {
	margin: 0;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}
button {
	overflow: visible;
}
button,
select {
	text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: none;
	cursor: pointer;
}
button[disabled],
html input[disabled] {
	cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}
input {
	line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
input[type="search"] {
	-webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
input[type="text"], input[type="password"], textarea, select {
	outline: 0;
	margin: 0;
}
input[type="radio"], input[type="checkbox"], input[type="file"] {
	margin: 0;
}
input[type="radio"], input[type="checkbox"], label {
	cursor: pointer;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
textarea {
	width: 100%;
}

/********************

 共通部分

 ********************/
.cfix:after {
	content: "";
	display: block;
	clear: both;
}
*, *:before, *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	overflow-x:hidden;
	overflow-y: scroll;
	font-size: 62.5%; /* 10px */
}
body {
	color: #555;
	font-size: 1.2em; /* 12px */
	line-height: 1;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
	-webkit-text-size-adjust: 100%;
	word-wrap:break-word;
}
#page {
	position:relative;
	overflow:hidden;
}
img {
	max-width:100%;
	height: auto;
	vertical-align: bottom;
}
a {
	color:#555;
	text-decoration:none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
h2, h3, h4, h5, h6 {
	line-height:1.3;
}
#container {
	min-height:100vh;
}
body:not(.login) #container {
	position:relative;
	padding-bottom:60px;
	background:#fff;
}
#content {
	position:relative;
}
body:not(.login) #content {
	margin-bottom:100px;
}

p {
	line-height:1.6;
}
#content mark {
	background:#FF9;
}
p.link, p.back {
	margin-top:.5em;
	text-align: right;
}
p.link + p.link {
	margin-top:.5em;
}
p.link a,
p.back a {
	text-decoration:none;
}
p.link a::after {
	content:"\f101";
	display:inline-block;
	margin-left:.3em;
	color: inherit;
	font-weight:normal;
	font-size: inherit;
	font-family: FontAwesome;
}
p.back {
	text-align: left;
}
p.back a::before {
	content:"\f100";
	display:inline-block;
	margin-right:.3em;
	color: inherit;
	font-weight:normal;
	font-size: inherit;
	font-family: FontAwesome;
}

li {
	line-height:1.5;
}
ul.list li,
dl.list dd,
ul.check li {
	position:relative;
	margin-bottom:.5em;
	padding-left:1em;
}
ul.list li::before,
dl.list dd::before {
	content:"・";
	position:absolute;
	top:0;
	left:0;
}
ul.check li {
	padding-left:1.2em;
}
ul.check li::before {
	content:"\f046";
	display:block;
	position:absolute;
	top:0;
	left:0;
	color: #F18B8D;
	font-weight:normal;
	font-size:inherit;
	font-family: FontAwesome;
}

ul.num li {
	position:relative;
	margin-bottom:.5em;
	padding-left:1.4em;
	counter-increment: serial;
}
ul.num li::before {
	content: counter(serial) ".";
	position:absolute;
	top:0;
	left:0;
}
ul.num.bracket li {
	padding-left:1.6em;
	counter-increment: bracket;
}
ul.num.bracket li::before {
	content: "(" counter(bracket) ")";
}
ul.num.roman li {
	padding-left:1.4em;
	counter-increment: roman;
}
ul.num.roman li::before {
	content: counter(roman, lower-roman) ".";
}


dt,
dd {
	line-height:1.5;
}
.serif {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGP明朝B", serif, Arial;
}
.roboto {
	font-family: 'Roboto', sans-serif;
}
.float_l {
	float:left;
}
.float_r {
	float:right;
}

.center {
	text-align:center;
}

p.prof {
	margin-top:.5em;
	text-align:right;
}

.img_bg {
	overflow:hidden;
	height:0;
	line-height:2;
	background-repeat: no-repeat;
	background-position:center top;
	background-size:contain;
}

.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex_wrap {
	-ms-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}

.btn {
	margin:2em 10px;
	text-align:center;
}
.btn a {
	display:block;
	height:60px;
	background:#fcae1a;
	color:#fff;
	font-size:17px;
	letter-spacing:1px;
	line-height:60px;
}
.btn.clear a {
	border:solid 1px #fcae1a;
	background:none;
	color:#fcae1a;
}

article.detail .btn {
	margin-right: 0;
	margin-left: 0;
}

.page_tit {
	position:relative;
	border-bottom:solid 1px #e3e3e3;
	text-align:center;
}
.page_tit h1,
.page_tit p {
	height:45px;
	color:#fe7d7f;
	font-weight:bold;
	font-size:15px;
	line-height:45px;
}
.page_tit .page_back {
	position: absolute;
	top:50%;
	left:1em;
	margin-top:-.5em;
}
.page_tit .page_back a {
	color:#fe7d7f;
}
.page_tit .page_back a::before {
	content:"\f104";
	margin-right:.3em;
	color: inherit;
	font-weight:normal;
	font-size:inherit;
	font-family: FontAwesome;
}
.page_tit .sub_menu {
	display:none;
	position:absolute;
	top:50%;
	right:10px;
	margin-top:-12.5px;
	text-align:right;
}
.page_tit .icon_btn {
	display:none;
}
.page_tit .icon_btn i {
	color:#969ca8;
	font-size:25px;
}
section.list .page_tit .sub_menu {
	display:block;
	width:60px;
}
section.list .page_tit .icon_btn.search {
	display:inline-block;
}
section.ec .page_tit .icon_btn.cart {
	display:inline-block;
	margin-right:8px;
}

.list_items p {
	line-height:1.35;
}
.list_items .item {
	border-bottom: solid 1px #e3e3e3;
}
.list_items .item > a,
.list_items.cart .item {
	display:block;
	position:relative;
	padding:20px 32px 10px 10px;
}
.list_items .item > a::after {
	content:"\f105";
	position:absolute;
	top:50%;
	right:10px;
	margin-top:-12.5px;
	color: #969ca8;
	font-weight:normal;
	font-size:25px;
	font-family: FontAwesome;
}
.list_items.cart .delete {
	display:block;
	position:absolute;
	top:50%;
	right:10px;
	width:24px;
	height:24px;
	border-radius:50%;
	background:#cfcfcf;
	margin-top:-12px;
	color: #fff;
	font-weight:normal;
	font-size:16px;
	text-align:center;
	line-height:23px;
}
.list_items.cart .delete:hover {
	cursor:pointer;
}
.list_items h2,
.list_items h2 a {
	margin-bottom:.6em;
	color:#878c98;
	font-weight:bold;
	font-size:16px;
}
.list_items .item .flex {
	margin-bottom:10px;
}
.list_items .item .img {
	width:49%;
}
.list_items .item .txt {
	width:48%;
}
.item .info {
	position:relative;
	margin-bottom:10px;
	padding:2px 0 0 26px;
	line-height:1.5;
    min-height: 20px;
}
.item .point p.need span.origprice {
    font-size: 0.9em;
    text-decoration: line-through;
}
.list_items .price span.origprice {
    font-size: 1.5em;
    text-decoration: line-through;
}
.item .info::before {
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:20px;
	height:20px;
	border:solid 1px #969ca8;
	color: #969ca8;
	font-weight:normal;
	font-family: FontAwesome;
	line-height:20px;
	text-align:center;
}
.item .access::before {
	content:"\f041";
	font-size:15px;
}
.item .train::before {
	content:"\f238";
	font-size:13px;
}
.item .telno::before {
	content:"\f095";
	font-size:15px;
	font-weight:900;
}

.item .point.flex {
	align-items:center;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
.item .point h3.need {
	height:27px;
	margin-right:10px;
	padding:0 8px;
	background:#fcae1a;
	color:#fff;
	line-height:27px;
}
.item .point p.need {
	color:#fcae1a;
	font-size:20px;
}
.item .point p.need span {
	display:inline-block;
	margin-right:5px;
	color:#969ca8;
	font-size:25px;
}
h3.top {
    font-size: 1.8em;
    font-weight: 650;
    margin: 0 auto 2%;
    width: 90%;
    background: url(../img/ttl_ico.png) no-repeat 0 center/3%;
    text-indent: 5%;
        color: #fe7d7f;
}
.list_items .price {
	margin-bottom:10px;
}
.list_items .price span {
	display:inline-block;
	margin-right:5px;
	font-size:25px;
}
.list_items .price span.minunit {
    font-size: 1.1em;
}
.list_items .price span.minunit::before {
	content:"";
	margin-right:0;
	font-size:0;
}
.form_content p.pit {
    text-indent: 3%;
    font-size: 0.9em;
}
.payment {
    margin: 4% auto 0;
    width: 90%;
}
.payment p {
    font-size: 15px;
    border-bottom: 1px solid #dedede;
    padding-bottom: 2%;
}
span.chkuni {
    font-size: 0.8em;
}
.list_items .price span::before {
	content:"\0a5";
	margin-right:.1em;
	font-size:.75em;
}
.list_items .date {
	margin-bottom:1em;
}
.list_items .volume {
	font-size:15px;
}

article.detail {
	padding:0 10px 20px;
}
article.detail .page_tit {
	margin:0 -10px;
}
article.detail h1 {
	padding:1em 0 .8em;
	color:#878c98;
	font-weight:bold;
	font-size:18px;
	line-height: 1.3;
}
article.detail .slider {
	margin-bottom:35px;
}
article.detail .slick-dots li button:before {
	color:#969ca8;
}
article.detail .read {
	margin-bottom:1em;
}
.item.detail .point {
	margin-bottom:1em;
}
.item.detail .point p.need {
	margin-bottom:10px;
	font-size:2.8em;
	line-height:1;
}
.item.detail .point p.need span {
	font-size:1.85em;
}
.item.detail .your_point {
	height:auto;
	padding:0;
	border-radius:5px;
	background:#f5f5f5;
}
.item.detail .your_point h2 {
	display:inline-block;
	height:35px;
	color:#878c98;
	line-height:35px;
	letter-spacing:1px;
	vertical-align: middle;
}
.item.detail .your_point p {
	display:inline-block;
	height:35px;
	color:#f9cb8a;
	font-size:20px;
	line-height:35px;
	vertical-align: middle;
}
.item.detail .your_point p span {
	margin-right:3px;
	color:#bec2c8;
	font-size:25px;
}

article.detail.ec .page_tit {
	margin-bottom:20px;
}
article.detail.ec .slider {
	margin-bottom:40px;
}
article.detail.ec h1 {
	margin-bottom:.8em;
	padding:0;
}
article.detail.ec p.price {
	margin-bottom:.5em;
	font-size:28px;
}
article.detail.ec p.price::before {
	content:"\0a5";
	margin-right:.1em;
	font-size:.75em;
}
article.detail.ec .desc {
	margin:0 -10px 1em;
	padding:1em 10px;
	background:#f5f5f5;
}

.add {
	width: 90%;
	margin: 5% auto;
}
.add p a {
	display: block;
}

@media screen and (max-width: 768px) {
	.sp_none {
		display:none;
	}
	.sp_flex {
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
}

@media screen and (min-width: 769px) {
	a {
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}
	a:hover,
	a:focus,
	a:active {
		outline: 0;
	}
	a:hover {
		filter: alpha(opacity=70 finishopacity=70);
		-moz-opacity: 0.7;
		opacity: 0.7;
	}
	.pc_none {
		display:none;
	}
	.tel a {
		pointer-events: none;
	}

	.wrap {
		width:375px;
		margin:0 auto;
	}
	
	.pc_flex {
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	
	#wrapper {
		background:url(../img/pc_bg_pt.png) left top;
	}
	#container {
		width:375px;
		margin:0 auto;
	}
}


/************************

ヘッダー

************************/
#header {
	position:relative;
	padding:20px 0;
	background:#fe7d7f;
}
#header h1 {
	width:167px;
	margin:0 auto;
}
#header .cog {
	position:absolute;
	top:50%;
	right:3vw;
	margin-top:-11px;
	width:30px;
	text-align:center;
}
#header .cog a {
	display:block;
	color:#fff;
	font-size:22px;
	text-decoration:none;
}

@media screen and (min-width: 769px) {
	#header .cog {
		right:12px;
	}
}

/********** フッター **********/
#footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    border-top: solid 1px #bcbcbc;
    background: #ffffff;
}
#footer li {
	width : 33.3% ;
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
	line-height:1.2;
	    position: relative;
}
#footer li a {
	display:block;
	padding:10px 0;
	color:#878c98;
	font-size:10px;
	text-align:center;
}
#footer li a span {
    position: absolute;
    top: 1px;
    right: 30%;
    background: #fd7d7f;
    color: #ffffff;
    width: 20px;
    border-radius: 50px;
    padding: 5px 0;
}
#footer li a i {
	font-size:22px;
}

@media screen and (min-width: 769px) {
	#footer li a:hover {
		background:#eee;
		filter: alpha(opacity=100 finishopacity=100);
		-moz-opacity: 1;
		opacity: 1;
	}
}


/********************

フォーム

********************/
.form_content .note {
	color: #fe7d7f;
}
.form_content input,
.form_content select,
.form_content textarea {
	display:block;
	overflow:hidden;
	width: 100%;
	padding: 0 .8em;
	border: 1px solid #cfcfcf;
	background:#fff;
	color:#555;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
	letter-spacing:2px;
}
.form_content input,
.form_content select {
	height:48px;
	line-height:48px;
	vertical-align:middle;
}

.form_content textarea {
	padding: .5em .8em;
	line-height:1.6;
}
.form_content input:placeholder-shown,
.form_content input::-webkit-input-placeholder,
.form_content textarea:placeholder-shown,
.form_content textarea:placeholder-shown::-webkit-input-placeholder {
	color:#c1c1c1;
}
.form_content .date select,
.form_content .age select,
.form_content .number select {
	display:inline-block;
	width:auto;
}

.form_content .number .type {
	margin-right:5px;
	font-size:15px;
}
.form_content .number select {
	height:32.5px;
	line-height:32.5px;
	-moz-appearance: menulist;
	-webkit-appearance: menulist;
	appearance: menulist;
}

.form_content p.radio {
	position:relative;
	height:48px;
	margin:0;
	padding:0 15px 0 55px;
	border-bottom:solid 1px #e3e3e3;
	font-weight:bold;
	font-size:13px;
	line-height:48px;
}
.form_content input[type="radio"] {
	display:none;
	width:auto;
}
.form_content input[type="radio"] + span.radio::before {
	content:"";
	display: block;
	position: absolute;
	top: 50%;
	left: 20px;
	width: 24px;
	height: 24px;
	margin-top:-12px;
	border: 1px solid #cfcfcf;
	border-radius: 50%;
}
.form_content input[type="radio"]:checked + span.radio::after {
	content:"";
	display: block;
	position: absolute;
	top: 50%;
	left: 25px;
	width: 14px;
	height: 14px;
	margin-top:-7px;
	background: #fcae1a;
	border-radius: 50%;
}
.form_content p.radio .commission {
	font-size:12px;
}
.form_content .use_point {
	padding:20px 0 10px 20px;
	border-bottom:solid 1px #e3e3e3;
}
.form_content .use_point .available_point {
	color:#878c98;
}
.form_content .use_point .available_point .data {
	color:#555;
	font-size:22px;
}
.form_content .use_point .available_point .dataen {
	color:#555;
	font-size:22px;
}
.form_content .use_point .available_point .data::after {
	content:"P";
	margin-left:.2em;
	font-size:.75em;
}
.form_content .use_point .available_point .dataen::after {
    content: "円";
    margin-left: .2em;
    font-size: .75em;
}
.form_content .use_point p.radio {
	height:40px;
	border:none;
	color:#878c98;
	font-weight:normal;
	font-size:12px;
	line-height:40px;
}
.form_content .use_point .point_input {
	margin-left:20px;
}
.form_content .use_point .point_input input {
	display:inline-block;
	width:10em;
	height:2.5em;
	margin-right:.5em;
	border-color:#cfcfcf;
	line-height:2.5em;
}

.form_content.order {
	padding:20px;
}
.form_content.order input,
.form_content.order select {
	height: 45px;
	line-height: 45px;
	border-radius:2px;
}
.form_content dt {
	margin:0 -20px;
	padding:9px 20px;
	background:#f5f5f5;
	color:#878c98;
	line-height:1;
}
.form_content dt span {
    font-size: 0.9em;
    padding-left: 1%;
}
.form_content dt.required::after {
	content:"必須";
	margin-left:.5em;
	color:#ff4b71;
}
.form_content dd {
	padding:10px 0 15px;
	color:#878c98;
}

.form_content dd.your_postal_code input {
	width:10em;
}
.form_content dd.your_address select {
	display:inline-block;
	width:auto;
	height: 32.5px;
	line-height: 32.5px;
	-moz-appearance: menulist;
	-webkit-appearance: menulist;
	appearance: menulist;
}
.form_content dd.your_address input {
	margin-top:10px;
}

.form_content p {
	margin-bottom:1em;
	line-height:1;
}
.form_content .submit {
	margin:1.8em auto;
}
.form_content .submit button {
	display:block;
	width:100%;
	height: 60px;
	line-height: 60px;
	border:none;
	border-radius:0;
	background:#fcae1a;
	box-shadow: 1px 1px 1px 1px rgba(0,0,0,0.06);
	color:#fff;
	font-size:16px;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
	letter-spacing:2px;
	text-align:center;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.form_content .submit.blue button {
	background:#39bad8;
}
.form_content .tos {
	margin-top:2em;
}
.form_content .tos a {
	color:#fff;
	text-decoration:underline;
}

#cart .total {
	padding:1.5em 10px 1em;
	align-items: baseline;
}
#cart .total h2 {
	color:#555;
	font-weight: normal;
	font-size:15px;
}
#cart .total h2 .tax {
	font-size:12px;
}
#cart .total p.price {
	margin:0;
	color:#555;
	font-size:30px;
}
#cart .total p.price::before {
	content:"\0a5";
	margin-right:.1em;
	font-size:.75em;
}
#cart .submit {
	margin-right:10px;
	margin-left:10px;
}

@media screen and (min-width: 769px) {
	.form_content .submit button:hover {
		filter: alpha(opacity=70 finishopacity=70);
		-moz-opacity: 0.7;
		opacity: 0.7;
	}
}


/********** 404ページ **********/
#error_not_found h1 {
	margin:2em 0 1em;
	padding-bottom:100px;
	background:url(../img/rommy_02.gif) no-repeat center bottom;
	background-size:60px auto;
	font-weight:bold;
	font-size:1.5em;
	line-height:1.5;
	text-align:center;
}
#error_not_found .contact {
	margin-top:1.5em;
}
#error_not_found .contact h2 {
	margin-bottom:1em;
	font-size:1.1em;
	text-align:center;
}
@media screen and (min-width: 769px) {
	#error_not_found {
		width:480px;
		margin:0 auto;
	}
	#error_not_found h1 {
		padding-bottom:200px;
		background-size:120px auto;
		font-size:2em;
	}
	#error_not_found .contact {
		margin-top:3em;
	}
	#error_not_found .contact h2 {
		font-size:1.5em;
	}
}

/********** ページャー **********/
.pager {
	margin:2em 0;
	text-align:center;
}
.pager li {
	display:inline-block;
	margin:0 .3em .6em;
	border:solid 1px #666;
}
.pager li a {
	display:inline-block;
	width:32px;
	height:32px;
	color:#666;
	line-height:32px;
	text-decoration:none;
}
.pager .prev,
.pager .next {
	border-color:#F18B8D;
}
.pager .prev a,
.pager .next a {
	background:#F18B8D;
	color:#fff;
}
.pager .current a {
	background:#464637;
	color:#fff;
}
@media screen and (min-width: 769px) {
	.pager {
		margin:3em 0;
	}
	.pager a:hover {
		background:#ccc;
	}
	.pager .prev a:hover,
	.pager .next a:hover {
		background:#F18B8D;
	}
}


/********************

ログイン /login.php

********************/
body.login #header,
body.login #footer {
	display:none;
}
body.login #wrapper {
	overflow:hidden;
	height:100vh;
	padding-top:6vh;
	background:#fe7d7f;
}
#login {
	padding:0 5vw;
}
#login h1 {
	width:70%;
	margin:0 auto 2.5em;
}
#login .icon {
	position:relative;
}
#login .icon::before {
	content:"";
	display:block;
	position:absolute;
	top:50%;
	left:20px;
	width:20px;
	height:24px;
	margin-top:-12px;
	background-repeat:no-repeat;
	background-image:url(../img/icons.png);
	background-size:200px auto;
	background-position:left top;
}
#login p.your_id::before {
	background-position:-100px -50px;
}
#login p.your_pass::before {
	background-position:-100px -100px;
}
#login input {
	padding-left:55px;
	border:none;
}
#login .form_content input {
	border-radius:.5em;
}
@media screen and (min-width: 769px) {
	body.login #wrapper {
		padding-top:10vh;
	}
	#login {
		width:340px;
		margin:0 auto;
		padding:0;
	}
}
@media screen and (max-height: 567px) {
	body.login #wrapper {
		overflow-y:scroll;
	}
}

/********************

HOME etc...

********************/
#home nav li {
	width: 33.3% ;
	width: -webkit-calc(100% / 3) ;
	width: calc(100% / 3) ;
}
#home nav li:nth-of-type(2) {
	border-right: solid 1px #ececec;
	border-left: solid 1px #ececec;
}
#home nav a {
	display:block;
	padding-top:85px;
	background-position:center;
	background-repeat:no-repeat;
	background-size:auto 51px;
}
#home nav li.guide a {
	border-bottom:solid 5px #39bad8;
	background-image:url(../img/nav_guide.png);
}
/*#home nav li.point a {
	border-bottom:solid 5px #fcae1a;
	background-image:url(../img/nav_point.png);
}*/

#home nav li.ticket a {
	border-bottom:solid 5px #FF79A5;
	background-image:url(../img/nav_ticket.png);
}

#home nav li.pickup a {
	border-bottom:solid 5px #1ec1a2;
	background-image:url(../img/nav_pickup.png);
}
.your_point {
	height:100px;
	padding:0 10px;
	align-items:center;
    border-bottom: solid 1px #e3e3e3;
    margin: 0 auto 5%;
} 
.your_point.bg {
	background:#f5f5f5;
}
.your_point p {
	line-height:1;
}
.your_point .user {
	width:50%;
	padding-right:5px;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	align-items:center;
	text-align:center;
}
.your_point .user .img {
	width:45px;
}
.your_point .user h2 {
	margin-bottom:.3em;
	color:#969ca8;
}
.your_point .user p a {
	display:inline-block;
	padding-bottom:.3em;
	border-bottom:dotted 1px #fcae1a;
	color:#fcae1a;
	font-size:14px;
}
.your_point .points {
	width:50%;
	text-align:center;
}
.your_point .points h3 {
	color:#878c98;
	font-size:14px;
}
.your_point .points p {
	color:#fcae1a;
	font-size:25px;
}
.your_point .points span {
	display:inline-block;
	margin-right:3px;
	color:#969ca8;
	font-size:33px;
}
.menu_list li {
	border-top:solid 1px #e3e3e3;
	line-height:1;
	position: relative;
}
.menu_list li.noitem {

}
.menu_list li.noitem a {
    color: #e4e4e4;
}
.menu_list li.noitem a::after {
    color: #e4e4e4;
}
.menu_list li.noitem img {
    opacity: 0.1;
}
span.comingsoon {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #58505033;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 1.4em;
    z-index: 1;
}
.menu_list li:last-of-type {
	border-bottom:solid 1px #e3e3e3;
}
.menu_list a {
	display:block;
	position:relative;
	height:72px;
	padding:0 48px 0 20px;
	color:#7d818d;
	font-size:17px;
	line-height:72px;
}
.menu_list a img {
    max-width: 42px;
    vertical-align: middle;
    margin-right: 20px;
}

.menu_list a::after {
	content:"\f105";
	position:absolute;
	top:50%;
	right:28px;
	margin-top:-15px;
	color: #969ca8;
	font-weight:normal;
	font-size:30px;
	font-family: FontAwesome;
	line-height:1;
}
.menu_list li.ec {
	border-color:#fe7d7f;
}
.menu_list li.ec a::after {
	content:"";
	display:block;
	right:10px;
	width:103px;
	height:33px;
	margin-top:-16.5px;
	background:url(../img/icons.png) no-repeat -50px top;
	background-size:200px auto;
}

.menu_icon {
	position:relative;
}
/*
.menu_icon::before {
	content:"";
	display:block;
	position:absolute;
	top:50%;
	left:19px;
	width:42px;
	height:42px;
	margin-top:-21px;
	background-repeat:no-repeat;
	background-image:url(../img/icons.png);
	background-size:200px auto;
	background-position:left top;
}

.menu_icon.makeup::before {
	background-position:left -50px;
}
.menu_icon.hospital::before {
	background-position:left -100px;
}
.menu_icon.fashion::before {
	background-position:left -150px;
}
.menu_icon.hairmake::before {
	background-position:left -200px;
}
.menu_icon.eyelash::before {
	background-position:left -250px;
}
.menu_icon.relaxation::before {
	background-position:left -300px;
}
.menu_icon.travel::before {
	background-position:left -350px;
}
.menu_icon.gourmet::before {
	background-position:left -400px;
}
.menu_icon.photo::before {
	background-position:left -450px;
}
.menu_icon.childcare::before {
	background-position:left -500px;
}
.menu_icon.cosmetics::before {
	background-position:left -550px;
}
.menu_icon.lingerie::before {
	background-position:left -600px;
}
.menu_icon.questionnaire::before {
	background-position:-50px -50px;
}
*/
#point_history h2 {
	padding:.5em 0;
	border-bottom:solid 1px #f5f5f5;
	font-weight:bold;
	font-size:15px;
	text-align:center;
}

.list_points li {
	padding:1.2em 0;
	border-bottom:solid 1px #f5f5f5;
	align-items:center;
}
.list_points .txt {
	margin-left:10px;
}
.list_points .txt p {
	color:#878c98;
	font-size:13px;
}
.list_points .txt p .data {
	font-weight:bold;
	font-size:12px;
}
.list_points .txt .date {
	color:#c8c8c8;
}
.list_points .point_data {
	margin:0 10px;
	color:#878c98;
	font-size:18px;
}
.list_points .point_data.plus::before {
	content:"+";
	margin-right:2px;
	color:#ff4b71;
	font-size:15px;
}
.list_points .point_data.minus::before {
	content:"-";
	margin-right:5px;
	color:#39bad8;
	font-size:18px;
}
.list_points .point_data::after {
	content:"P";
	margin-left:3px;
	color:#fcae1a;
	font-size:15px;
}

.list_points.get_point li {
	padding:0;
}
.list_points.get_point li a {
	padding:1.2em 0;
	align-items:center;
}
.list_points.get_point .txt h2 {
	color:#878c98;
	font-weight:bold;
	font-size:14px;
}
.list_points.get_point .txt .question {
	color:#878c98;
	font-size:12px;
}

.list_news dt {
	position:relative;
	padding:1.2em 50px 1.2em 10px;
	border-bottom:solid 1px #f5f5f5;
}
.list_news dt::after {
	content:"\f107";
	position:absolute;
	top:50%;
	right:28px;
	margin-top:-12.5px;
	color: #cfcfcf;
	font-weight:normal;
	font-size:25px;
	font-family: FontAwesome;
	line-height:1;
}
.list_news dt.active::after {
	content:"\f106";
}
.list_news h2 {
	color:#878c98;
	font-size:13px;
}
.list_news .date {
	color:#c8c8c8;
}
.list_news dd {
	display:none;
	padding:1em 10px 1.5em;
	background:#f5f5f5;
	color:#7d818d;
}

@media screen and (max-height: 567px) {
	.list_news dt:hover {
		filter: alpha(opacity=70 finishopacity=70);
		-moz-opacity: 0.7;
		opacity: 0.7;
	}
}

/********************

注文内容確認 /cart/confirm.php

********************/

.confirm_detail {
	padding:20px 0 10px;
	align-items: baseline;
}
.confirm_detail h2 {
	width:50%;
	margin-bottom:10px;
	padding:0 20px;
	font-size:15px;
	line-height:1;
}
.confirm_detail p {
	width:50%;
	margin-bottom:10px;
	padding:0 20px;
	font-size:20px;
	text-align:right;
	line-height:1;
}
.confirm_detail .order_detail {
	width:100%;
	margin-bottom:10px;
	padding:15px 0 5px 15px;
	background:#f5f5f5;
	align-items: baseline;
}
.confirm_detail p::before {
	content:"\0a5";
	margin-right:.1em;
	font-size:.75em;
}
.confirm_detail .point.minus::before {
	content:"-";
	margin-right:2px;
	color:#39bad8;
	font-size:20px;
}
.confirm_detail .point.plus::before {
	content:"+";
	margin-right:2px;
	color:#ff4b71;
	font-size:18px;
}
.confirm_detail .point::after {
	content:"P";
	margin-left:2px;
	font-size:15px;
}
#cart .total.confirm {
	margin:0 10px;
	padding:10px 10px 0;
	border-top:solid 1px #e3e3e3;
	align-items: baseline;
}
#cart .total.confirm p {
	width:50%;
	color:#fb5f86;
	font-size:30px;
	text-align:right;
}

/********************

サンクスページ /cart/thanks.php

********************/
#thanks .complete {
	min-height:100px;
	margin:2.5em auto;
	padding:30px 0 0 130px;
	background:url(../img/romy.png) no-repeat 35px center;
	background-size:auto 92px;
	color:#878c98;
	font-weight:bold;
	font-size:15px;
}


/********************

利用規約 /tos/, プライバシーポリシー /privacy_policy/

********************/
section.page.txt {
	padding:0 10px;
}
section.page.txt .page_tit {
	margin:0 -10px 1.5em;
}
section.page.txt h2 {
	margin:2em 0 .6em;
	padding-bottom:.4em;
	border-bottom:solid 1px #e3e3e3;
	color:#878c98;
	font-size:1.35em;
}
section.page.txt p {
	margin-bottom:1em;
	line-height:1.8;
}
section.page.txt li {
	margin-bottom:.6em;
	line-height:1.6;
}
section.page.txt .num.bracket,
section.page.txt .num.roman {
	margin:1em auto;
}
section.page.txt .last {
	margin:1em 0 2em;
	text-align:right;
}

/********************

マイページ（仮） /mypage/

********************/
section.page.bg {
	background:#f5f5f5;
}
#mypage ul {
	padding:0 10px;
	border-bottom:solid 1px #e3e3e3;
	background:#fff;
}
#mypage li {
	border-bottom:solid 1px #e3e3e3;
	position: relative;
}
#mypage li:last-of-type {
	border:none;
}
#mypage li a {
	display:block;
	position:relative;
	padding:1em 30px 1em 15px;
	color:#878c98;
	font-size:13px;
}
#mypage li a::after {
	content:"\f105";
	position:absolute;
	top:50%;
	right:10px;
	margin-top:-12.5px;
	color: #cfcfcf;
	font-weight:normal;
	font-size:25px;
	font-family: FontAwesome;
	line-height:1;
}
#mypage h2 {
	padding:.8em 15px;
	border-bottom:solid 1px #e3e3e3;
	color:#878c98;
}
#mypage li span.ssmsg {
    position: absolute;
    right: 40px;
    font-size: 0.8em;
    top: 35%;
    color: #ff0000;
}

.search_cat {
	display:none;
	position:relative;
	padding:15px 10px 5px;
	border-bottom: solid 1px #e3e3e3;
}
.search_cat::before {
	content:"\f02c";
	float:left;
	clear:left;
	margin:3px;
	color: #878c98;
	font-weight:normal;
	font-size:16px;
	font-family: FontAwesome;
}
.search_cat .cat {
	float:left;
	margin:0 5px 10px;
	border:solid 1px #fe7d7f;
	border-radius:5px;
}
.search_cat .cat a {
	display:inline-block;
	padding:5px 6px;
	color:#fe7d7f;
	line-height:1;
}
.search_cat .cat.on a {
	background:#fe7d7f;
	color:#fff;
}
p.error {
    text-align: center;
    color: #FFF;
}
p.regist_upd {
    margin: 4% auto 0;
    text-align: center;
}
.bnr_area {
    margin: 5% auto 0;
}
.bnr_area p {
    width: 100%;
    margin:0 auto 3%;
}
p.g_img {
    margin: 0 auto 5%;
}
.nothing_msg {
    padding: 5% 0;
    text-align: center;
}
.slick-slide img {
    text-align: center;
    margin: 0 auto;
}
.nolink {

}
.ex_movie_box {
    margin: 5% auto;
}
.ex_movie_box h4 {
    max-width: 375px;
    width: 53.5%;
    margin: 0 auto;
}
.ex_movie {
    margin: 5% auto;
}
.ex_movie iframe {
    width: 100%;
    height: 50vh;
}
.use_type {
    background: #fcae1a;
    padding: 5% 0 5%;
    margin: 0 auto 5%;
}
.use_type p {
    width: 90%;
    margin: 0 auto;
    color: #fff;
}
.price_area ul li {
    width: 40%;
	font-size: 1.5em;
}
.price_area ul {
    display: flex;
}
p.price.roboto.orgip {
    text-decoration: line-through;
}
article.detail.ec p.price.roboto.orgip {
    text-decoration: line-through;
    font-size: 24px;
}
p.pointno {
    font-size: 3em;
    text-align: center;
    font-weight: bold;
    color: #ffffff;
	padding: 0 0 4%;
    border-bottom: solid 1px #fff;
}
p.point_msg {
    color: #ffffff;
    margin: 0 auto;
    text-align: center;
    padding: 4% 0 0;
}
/********************

ご利用ガイド /guide/

********************/
#guide {
	padding: 0 10px;
}
#guide .page_tit {
	margin: 0 -10px;
}
#guide h2 {
	min-height: 44px;
	margin: 1em 0 .5em;
	padding: 15px 0 14px 50px;
	background: url(../img/romy_icon.png) no-repeat left center;
	background-size: 42px auto;
	color: #39bad8;
	font-weight: bold;
	font-size: 15px;
}
#guide .page_link {
	margin: 2em 0;
}
#guide .page_link li {
	margin-bottom: 1em;
	border: solid 1px #969ca8;
}
p.btn.clear {
    background: none;
}
#guide .page_link a {
	display: block;
	padding: .9em;
	color: #6e727e;
	font-size: 15px;
	text-align: center;
}
#guide .page_link i {
	margin-left: .5em;
}
#guide h3 {
	margin: 2.5em 0 .9em;
	padding-top: 1em;
	color: #6e727e;
	font-weight: bold;
	font-size: 14px;
}
#guide h3::before {
	content: "■";
	margin-right: .2em;
	color: #39bad8;
}
#guide h4 {
	margin: 1.2em 0 .4em;
}
#guide .img {
	width: 280px;
	margin: 1.5em auto;
}
#guide .flow:not(:last-of-type) {
	position: relative;
	margin-bottom: 6em;
}
#guide .flow:not(:last-of-type)::after {
	content:"\f107";
	position: absolute;
	left: 50%;
	bottom: -1.1em;
	margin-left: -.5em;
	color: inherit;
	font-weight:normal;
	font-size: 5em;
	font-family: FontAwesome;
}
p.err {
    color: #ff0000;
    text-align: center;
    margin: 3% auto 2%;
}
.list_items.cart {
    text-align: center;
    margin: 1% auto;
}
article.detail .btn.pointbtn {
    margin: 0 auto;
    background: none;
}
article.detail h1.price_orig {
    padding: 0;
}
div#map {
    width: 90%;
    margin: 0 auto;
    height: 300px;
}
li.point {
    position: relative;
}
li.point {
    position: relative;
    background: rgba(0,0,0,0.7);
    /* z-index: 0; */
}
li.point span {
    display: block;
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    margin: auto;
    border: 0;
    text-align: center;
    color: #fff;
    font-size: 1.4em;
    font-weight: bold;
}
#home nav li.point a {
    position: relative;
    z-index: -1;
}
span.msgCoupon {
    /* float: right; */
    font-size: 0.8em;
    color: #ff0000;
    padding: 0;
    vertical-align: middle;
    text-align: right;
    width: 70%;
    display: inline-block;
}
.list_points .txt p.errMsg {
    color: #ff0000;
}
.list_points .txt p.pointNo {
    font-weight: 550;
    font-size: 1.4em;
    color: #000;
}
article.detail .btn.pointbtn.sec a {
}
article.detail .btn.pointbtn a span {
    width: 100%;
    display: block;
    font-size: 0.8em;
}
span.new {
    color: #ffffff;
    font-weight: bold;
    position: absolute;
    right: 15%;
    font-size: 0.8em;
}
span.new.active {
    color: #ff0000;
}
.ec span.new {
    right: 35%;
}
.list_items .price span.tax_disp {
    font-size: 50%;
}
.list_items .price span.tax_disp::before {
    content: "";
    margin-right: 0em;
    font-size: 0em;
}
span.tax_disp {
    font-size: 50%;
}
span.tax_disp::before {
    content: "";
    margin-right: 0em;
    font-size: 0em;
}

section.info {
    margin: 50px auto 30px;
	text-align: center;
}
section.info figure {
    margin: 10px auto;
}
.info h3 {
    color: #4EB165;
    font-weight: bold;
    font-size: 1.9em;
    margin: 0 auto 20px;
}
.contact_box {
    max-width: 800px;
    margin: 40px auto;
}
.contact_box h3 {
    color: #4EB165;
    font-weight: bold;
    font-size: 1.9em;
    margin: 0 auto 20px;
	text-align: center;
}
.ecinfo {
    color: #333333;
    font-size: 16px;
    line-height: 1.7em;
    font-weight: 540;
    margin: 0 auto 50px;
}
table.tbl_com1 {
    width: 600px;
    margin: 0 auto;
}
table.tbl_com1 th {
    color: #4FB165;
    font-weight: bold;
    font-size: 1.3em;
    padding: 20px 0 15px;
}
input.txt1 {
    width: 100%;
    border: solid 1px #C8C8C8;
    font-size: 1.2em;
    height: 40px;
	font-family: 游ゴシック, YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
}
textarea.txt2 {
    width: 100%;
    border: solid 1px #C8C8C8;
    font-size: 1.2em;
    height: 200px;
	font-family: 游ゴシック, YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
}

.contact_box h3.m_h3 {
    margin: 100px auto 25px;
}
.ecinfo2 {
    color: #333333;
    font-size: 16px;
    line-height: 1.7em;
    font-weight: 540;
    margin: 0 auto 35px;
    text-align:center;
}

p.errMsg {
    text-align: center;
    color: #ff0000;
    font-weight: 540;
}

.c_ntct .line a {
    display: block;
    margin: 0 auto;
    padding: 10px 0;
    background: #824E3C;
    color: #FFF;
    font-weight: bold;
    text-align: center;
    width: auto;
    border-radius: 20px;
    text-decoration: none;
        font-size: 1.3em;
}
.c_ntct .line a::before {
    background-image: url(../img/line_icon.png);
}
.c_ntct .line a::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-right: 8px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    vertical-align: middle;
}
p.error {
    color: #ff0000;
    font-weight: bold;
    width: 90%;
    margin: 0 auto;
    text-align: center;
}
/* checkbox02 */
input[type=radio] {
	display: none;
}
input[type="radio"].checkbox02:checked + label {
	background: #31A9EE;
	color: #ffffff;
}
.check_label:hover {
	background-color: #E2EDF9;
}
.check_label {
font-weight: bold;
    display: block;
margin: 5px 2%;
    width: 46%;
    height: auto;
    text-align: center;
    line-height: 1.8em;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    color: #31A9EE;
    border: 2px solid #006DD9;
    border-radius: 5px;
    padding: 4% 0;
    float: left;
}
.form_content.order.resv {
    padding: 0 20px;
}
.cancel_box.checkbox02 {
	font-weight: bold;
    display: block;
    float: left;
    margin: 5px;
    width: 100px;
    height: 45px;
    text-align: center;
    line-height: 1.8em;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #006DD9;
    border-radius: 5px;
	background: #31A9EE;
	color: #ffffff;
}
table.tbl_re {
    width: 90%;
    margin: 40px auto;
}
table.tbl_re th {
    font-weight: bold;
    padding: 10px 0;
	vertical-align: middle;
    border-bottom: 1px solid #333333;
}
.contact_box h4 {
    font-weight: bold;
    font-size: 1.2em;
    position: relative;
    background: #f1f8ff;
    padding: 6px 0.5em;
    border-left: solid 2em #5c9ee7;
    margin: 0 auto 15px;
}

.contact_box h4:before {
	font-family: "Font Awesome 5 Free";
	content: "●";
	position: absolute;
	padding: 0em;
	color: white;
	font-weight: normal;
	left: -1.35em;
	top: 50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
p.exinfo {
    margin: 10px auto;
}
table.tbl_re td {
    padding: 10px 0;
    border-bottom: 1px solid #333333;
}
select.time_sel {
    padding: 5px 10px;
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    appearance: menulist;
}
label.chk1 {
    margin: 0 10px 0 5px;
}
table.tbl_re td span {
    color: #ff0000;
    display: block;
}
p._place {
    margin: 10px auto;
}
.ecinfo._th {
	text-align:center;
}
label.check_label span {
    font-size: 0.8em;
    display: block;
    padding: 0;
    margin: 6px 0 0;
    height: auto;
    line-height: 0;
	color:#333333;
}
label.check_label span.c1 {
	color:#ff0000;
}
input[type="checkbox"].checkbox02:checked + label span {
    color: #ffffff;
}
input[type="checkbox"].checkbox02:checked + label span.c1 {
    color: #ff0000;
}
.check_label.comp {
    background: #DFDFDF;
    color: #a2a0a0;
    cursor: default;
	border: 2px solid #929090;
}
.check_label.comp span {
    color: #a2a0a0;
}
.cancel_box.checkbox02 span {
    font-size: 0.8em;
    display: block;
    padding: 0;
    margin: 6px 0 0;
    height: auto;
    line-height: 0;
	color:#ffffff;
}
._ecinfo2 p {
    line-height: 1.7em;
    padding-left: 1em;
    /* text-indent: 0em; */
    margin: 0 auto 2%;
}
._ecinfo3 p {
    line-height: 1.7em;
    padding-left: 1em;
    /* text-indent: 0em; */
    margin: 0 auto 2%;
}
.calbox.clearfix {
    margin: 2% auto;
}
p.ex_ed {
    text-align: right;
}
p.as {
    font-size: 1.4em;
    font-weight: bold;
    text-align: center;
}
p.as2 {
    font-size: 1.2em;
    font-weight: bold;
    text-align: center;
}
p.as3 {
    font-size: 1.1em;
    font-weight: bold;
    text-align: center;
}
.step_box {
    margin: 8% auto;
    width:90%;
	overflow: hidden;
}
.step_box h2 {
    width: 100%;
    font-weight: 550;
    font-size: 1.2em;
    border-bottom: 3px solid #fcae1a;
    padding: 0 0 5px;
    margin: 0 auto 4%;
}
.r_date {
    margin: 0 auto 5%;
    position: relative;
}
p.btn.pointbtn a {
    font-size: 15px;
    pointer-events: none;
    background: #d1cdcd;
}
article.detail .btn.pointbtn.active a {
    pointer-events: auto;
    background: #fcae1a;
}
.exinfo_c {
    margin: 35px auto 0;
    text-align: center;
}
p.topinf {
    color: #fff;
    margin: 0 auto 1%;
}
/* css checkbox01 */
.rchk{
	display: none;
}
.rchk-parts{
	padding-left: 20px;
	position:relative;
	margin-right: 20px;
    color: #ffffff;
    font-size: 1.2em;
}
.rchk-parts::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 15px;
	height: 15px;
	border-radius: 1px;
    background: #fff;
}
.rchk:checked + .rchk-parts{

}
.rchk:checked + .rchk-parts::after{
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 5px;
	width: 7px;
	height: 14px;
	transform: rotate(40deg);
	border-bottom: 3px solid #aba9a9;
	border-right: 3px solid #aba9a9;
}
.Remember {
    text-align: center;
}
#login .form_content input.rchk {
    border: none;
    border-radius: 0;
    padding: 0;
    height: 0;
}
.event_box {
    margin: 6% auto;
    text-align: center;
}
.event_box_ft {
    width: 80%;
    margin: 10% auto 0;
}
/*  201907_shimomura */
	.list_items h2, .list_items h2 a {
		margin-bottom: .3em;
	}
	.list_items .item .flex {
		margin: 1em 0;
	}
	.list_items .item .img {
		border: 1px solid #eee;
		overflow: hidden;
		height: 150px;
	}
	.list_items .item .txt {
		margin: .5em 0;
	}
	article.detail h1.menu_tit {
		padding: 0.6em 1em 0.5em;
	    margin: 0 0 1em;
	    border: 1px solid #ddd;
	}
	article.detail .read {
		margin: 1em 0;
	}
ul.gift,ul.gift_bt {
    margin: 5% auto 0;
    width: 90%;
}
ul.gift li,ul.gift_bt li {
    margin: 0 auto 5%;
}
ul.gift_bt {
	display:none;
}
ul.gift_bt.active {
	display:block;
}
p.limitpoint {
    text-align: center;
    margin: 2% auto 0;
    color: #ff0000;
    font-size: 1.1em;
}
.close {
    width: 100%;
    margin: 40% auto 0;
    text-align: center;
    
}
.close p {
	font-size:1.2em;
margin: 0 auto 2%;
}
.close p span {
	font-weight:bold;
	font-size:1.2em;
}
.ex_movie ul {
    margin: 0 auto 3%;
	width: 90%;
}
.ex_movie ul.admovie {
    margin: 0 auto 5%;
	width: 100%;
}
.ex_movie ul li a {
    text-decoration: underline;
}
p.ex_point.raito {
    margin: 0 auto;
    font-size: 0.8em;
}
.ratio_box {
    width: 90%;
    margin: 7% auto;
}
table.tbl_ratio {
    width: 100%;
    margin: 3% auto;
    font-size: 1.1em;
}
table.tbl_ratio td {
    padding: 3% 1%;
    border: solid 1px #fd7d7f;
}
p.soldout {
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
    color: #ff0000;
    margin: 10% auto;
}
ul.menu_list {
    margin-bottom: 40px;
}
p.trancat_msg {
    text-align: center;
    margin: 10px auto 0;
    background: #5d82e0;
    color: #ffffff;
}
p.trancat_msg a.ulon {
    color: #ffffff;
    text-decoration: underline;
}
.price_share span.box {
    background: #f3952a;
    color: #ffffff;
    padding: 2%;
}
.price_share span.roboto {
    background: #f3952a;
    color: #ffffff;
    padding: 2%;
}

/* PR枠 */
.prbox {
    width: 100%;
    margin: 0 auto;
}
.prbox li {
    margin: 0 auto 5%;
    padding: 0 5%;
}
.prbox li a {
    font-size: 16px;
    color: #fd7d7f;
    text-decoration: underline;
}
.prbox h4 {
    font-size: 16px;
    font-weight: bold;
    border-bottom: 1px solid #fd9e9f;
    padding: 0 5% 1%;
    margin: 0 auto 5%;
}

/* PR枠 */
.ex_movie_box.exm h4 {
    margin: 50px auto 0;
    text-align: center;
    width: 100%;
    border-bottom: 1px solid #fe7d7f;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 1.8em;
    font-weight: 650;

    text-indent: 5%;
    color: #fe7d7f;
    padding: 3% 0;
    border-top: 1px solid #fe7d7f;
}
.modaal-fullscreen .modaal-container{
	background:none;
}
.modaal-wrapper .modaal-content-container {
    padding: 30px 0;
}
.msg_box {
    margin: 20vh auto 0;
    background: #ffffff;
    width: 90%;
    padding: 4%;
}
.msg_box p.trancat_msg {
    color: #5d82e0;
    text-align: left;
    background: none;
    border-bottom: 1px solid #333333;
    padding: 0 0 10px;
}
.msg_box p.trancat_msg a{ 
    color: #5d82e0;
    text-decoration:none;
}


/*SSキャンペーン用説明ページ*/

.ex_campaign_box p{
	font-size:12px;
	padding:2% 5%;
	margin-bottom:5px; 
}

.campaign_tit{
	color:white;
	background: #fe7d7f;
	text-align:center;
}

.campaign_tit p{
	font-size: 18px;
	font-weight: bold;
}

.prize_box1{
	font-size:18px;
	padding:5px 0;
	margin:5px;
	text-align:-webkit-center;
}

.prize_box1 table{
	border: "1";
	width: 90%;
}

.prize_box1 th {
	border: 1px solid #000;
	padding: 10px;
	text-align: center;
	font-weight: bold;
	background-color: steelblue;
	color: white;
}

.prize_box1 td{
	border: 1px solid #000;
	padding: 10px;
	text-align: center;
	font-weight: bold;
}

.cam_m_link{
	text-align: center;
	margin: 0 5%;
	background-color: beige;
	box-shadow: 2px 2px 4px;
}

.cam_m_link a{
	font-weight: bold;
}

.question{
	margin: 10px;
	padding: 0;
}
.flex.goodsbox{
	justify-content:space-around;
}
ul.gachalist li {
    margin: 0 auto 20px;
}
p.gacha_ttl {
    font-size: 1.1em;
    font-weight: bold;
    border-bottom: 1px solid #ff7981;
    padding: 0 0 5px;
    margin: 0 0 5px;
}
ul.gachalist li a {
    display: block;
}

img.endgachaimg {
    position: relative;
}
img.endgachaimg::after {
	content:"";
}
.endgacha img {
    position: relative;
    opacity: 0.2;
}
.endgacha {
    position: relative;
}

p.endtxt {
    position: absolute;
    z-index: 99;
    font-size: 2em;
    font-weight: bold;
    left: 0;
    right: 0;
    margin: auto;
    top: 34%;
    width: 100%;
    text-align: center;
}
.dispGinfo {
    display: flex;
    justify-content: space-between;
    margin: 0 0 5px;
}
p.o_txt {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
}