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

@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;
}

/**** リセット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:240px;
}

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;
	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;
}
.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 .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;
}
.list_items .price {
	margin-bottom:10px;
}
.list_items .price span {
	display:inline-block;
	margin-right:5px;
	font-size:25px;
}
.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;
}
.price_area ul{
	display: flex;
}
.price_area ul li{
	width: 40%;
	font-size: 1.5em;
}
p.price.roboto.orgip{
	text-decoration: line-through;
}
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;
}

.item .point p.need span.origprice{
	font-size: 0.9em;
	text-decoration: line-through;
}
.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%;
}
p.exinfo{
	margin: 10px auto;
}
.form_content.order.resv{
	padding: 0 20px;
}
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;
}
p.btn.pointbtn a {
	font-size: 15px;
}
article.detail .btn.pointbtn{
	margin: 0 auto;
	background: none;
}
article.detail .btn.pointbtn.active a {
	pointer-events: auto;
	background: #fcae1a;
}

.item .telno::before{
	content: "\f095";
	font-size: 15px;
	font-weight: 900;

	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;
}

/*  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;
	}
	.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;
	}

@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:absolute;
	left:0;
	bottom:0;
	width:100%;
	border-top:solid 1px #bcbcbc;
}
#footer li {
	width : 33.3% ;
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
	line-height:1.2;
}
#footer li a {
	display:block;
	padding:10px 0;
	color:#878c98;
	font-size:10px;
	text-align:center;
}
#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 .data::after {
	content:"P";
	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.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.pickup a {
	border-bottom:solid 5px #1ec1a2;
	background-image:url(../img/nav_pickup.png);
}
.your_point {
	height:100px;
	padding:0 10px;
	align-items:center;
}
.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;
}
.menu_list li:last-of-type {
	border-bottom:solid 1px #e3e3e3;
}
.menu_list a {
	display:block;
	position:relative;
	height:72px;
	padding:0 48px 0 84px;
	color:#7d818d;
	font-size:17px;
	line-height:72px;
}
.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;
}

.menu_icon.depilation::before {
	background-position:-50px -100px;
}

#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;
}
#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;
}


.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;
}

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

ご利用ガイド /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;
}
#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;
}