@charset "utf-8";

:root {
	--arr-img: url('https://fcdn2.smtown-official.jp/media/arr.png');
	--arrow-img: url('https://fcdn2.smtown-official.jp/media/arrow.png');
	--contents-main-img: url('https://fcdn2.smtown-official.jp/media/main-image_npc.jpg');
	--logomark-img: url('https://fcdn2.smtown-official.jp/media/logomark.gif');
}

/* Reset/ */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	font: 100%/1 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	position: relative;
	right: 0;
	overflow-x: hidden;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display:block;
}
nav, ul, ol {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
a:link,a:visited { color:#f185b6; }
a:hover,a:active { color:#f185b6;text-decoration:none;}
input, select {
	vertical-align:middle;
}
.clearfix { *zoom:1; }
.clearfix:before, .clearfix:after {
	display:table;
	content:"";
	line-height:0;
}
.clearfix:after { clear:both; }
.pc {
	display:block;
}
.npc {
	display:none;
}
.npc_i {
	display:none;
}
.head_nav .npc_i{
	display:none !important;
}
.sp {
	display:none;
}
.tab {
	display:none;
}
/* /Reset */


/* header/ */
header {
	max-width:100%;
}

header .header_body {
	background-color:#fff;
	z-index:12000;
	position:fixed;
	width:100%;
	height: 80px;
}

header .header_body div{
	max-width:1400px;
	margin:0 auto;
	position:relative;
	text-align:center;
}

header .header_body div nav{
text-align:left;
}

header .logo_smtoj {
	margin:32px 0 0 32px;
	float:left;
}

header .logo_smetj {
	margin:27px 0 0 0;
	float:right;
}

header .login {
	margin:27px 0 0 32px;
	float:right;
	color: #ed60a0;
	font-size: 10px;
	text-decoration:none;
	font-weight: 600;
}

header .login img{
	vertical-align:middle;
	margin-top:4px;
	margin-right:5px;
}
header .login span{
	position:relative;
	top:3px;
	
}
header .faq {
	margin:27px 120px 0 23px;
	float:right;
	color: #ed60a0;
	font-size: 10px;
	text-decoration:none;
	font-weight: 600;
}

header .faq img{
	vertical-align:middle;
	margin-top:5px;
	margin-right:3px;
}
header .faq span{
	position:relative;
	top:4px;
}
.listarr {
	position:absolute;
	top:335px;
	right:25px;
	cursor:pointer;
}
.listarr.selected{
  -webkit-transform: scaleY(-1);
  -o-transform: scaleY(-1);
  -moz-transform: scaleY(-1);
  transform: scaleY(-1);
  filter: FlipV;
  -ms-filter: "FlipV";
}

.childs {
	display:none;
}

.wide_nav {
	*zoom: 1;
	line-height: 95px;
	width: 100%;
	max-width:1400px;
	z-index:9000;
	padding-top: 80px;
	margin:0 auto;
	height:102px;
}
.wide_nav img {
	margin: 0 0 38px 0;
	padding: 0;
	vertical-align: bottom;
}

.wide_nav ul {
	max-width:640px;
	margin:0 auto;
	z-index:0;
}

.wide_nav ul li {
	position: relative;
	float:left;
	z-index:0;
}

.wide_nav a {
	padding: 0 0 20px 0;
	background-image: linear-gradient(rgba(0,0,0,0) 96%, rgba(237,134,179,1) 4%);
	background-position: 0 0;
	background-size: auto 200%;
}
.wide_nav a:hover {
	background-position: 0 100%;
	color: #fff;
	transition: .7s;
}

.slided {
	animation-delay:1s;
	transition: .7s;
}
.wide_nav li ul li a{
	text-decoration:none;
	color:#000;
	background: #f9e1ec;
	font-size:11px;
	line-height:42px;
}

.wide_nav li ul li.first a{
	background: #f9e1ec;
}
.wide_nav li ul li.second a{
	background: #efb6d1;
}
.wide_nav li ul li.third a{
	background: #ef9ec5;
}
.wide_nav li ul li.fourth a{
	background: #ed86b3;
}

.wide_nav li ul li a:hover {
	background-color: #000;
	transition: 0.7s;
}

.wide_nav ul li ul{
	display: none;
	position: absolute;
	margin-left: -5px;
	padding: 0;
	top: 70px;
	left: 0;
	margin: 0;
	padding: 0;
}

.wide_nav ul li ul{
	display: none;
	position: absolute;
	margin-left: -5px;
	padding: 0;
	top: 70px;
	left: 0;
	margin: 0;
	padding: 0;
}

.wide_nav ul li ul li{
	position:relative;
	width: 280px;
}
.wide_nav ul li.op_m1 {
animation-name: op_m1_delay;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;
animation-delay: .2s;
}

@keyframes op_m1_delay {
0% {margin-top: -30px; opacity:0.0;}
100% {margin-top: 0; opacity:1.0;}
}

.wide_nav ul li.op_m2 {
animation-name: op_m2_delay;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;
animation-delay: .3s;
}

@keyframes op_m2_delay {
0% {margin-top: -30px; opacity:0.0;}
100% {margin-top: 0; opacity:1.0;}
}

.wide_nav ul li.op_m3 {
animation-name: op_m3_delay;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;
animation-delay: .4s;
}

@keyframes op_m3_delay {
0% {margin-top: -30px; opacity:0.0;}
100% {margin-top: 0; opacity:1.0;}
}

.wide_nav ul li.op_m4 {
animation-name: op_m4_delay;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;
animation-delay: .5s;
}

@keyframes op_m4_delay {
0% {margin-top: -30px; opacity:0.0;}
100% {margin-top: 0; opacity:1.0;}
}


ul#menu li{
	float: left;
	position: relative;
	margin: 0;
	display: block;
	z-index:9999;
}
ul.child{
        display: none;
        position: absolute;
        margin-left: -5px;
        padding: 0;
}
ul.child li{
	position:relative;
	width: 280px;
}
ul.child li a{
    padding: 5px 10px;
    display: block;
}
.navToggle {
    display:block;
    position:absolute !important;
    right:74px;
    top:34px;
    width:15px;
    height:15px;
    cursor:pointer;
	z-index:9999;
}
.navToggle div {position:relative}
.navToggle span {
    display:block;
    position:absolute;
    width:100%;
    border-bottom:solid 1px #ed60a0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out}
.navToggle span:nth-child(1) {top:0}
.navToggle span:nth-child(2) {top:6px}
.navToggle span:nth-child(3) {top:12px}
.navToggle p {
	color:#ed60a0;
	font-size:10px;
	position:absolute;
	top:1px;
	right:-55px;
	width:50px;
	font-weight:600;
}

.head_nav p img.navToggle{
    position:absolute;
	top:34px;
	right:21px;
	width:123px;
	height:13px;
}

.head_nav{
    position: fixed;
    top: 0;
    right: -350px;
    width: 350px;
    height: 100%;
    background: #000;
	overflow-y: scroll;
	-webkit-overflow-scrolling:touch;
}
.head_nav ::-webkit-scrollbar{
  display: none;
}
.head_nav ul {
	margin-top:80px;
}

.head_nav ul li {
	height:75px;
	color:#ed60a0;
	border-top:1px solid #f291bd;
}
.head_nav ul li:last-child {
	border-bottom:1px solid #f291bd;
}

.head_nav ul li a{
	display:none;
	padding-left:15px;
	text-decoration:none;
	color:#f291bd;
	display:block;
	height:55px;
	padding-top:20px;
}

.head_nav ul li a span{
	display:block;
	font-size:11px;
	margin:10px 0 0 0;
}

.head_nav ul.dxs {
	margin-top:30px;
}

.head_nav ul li.dx {
	border:none;
	padding-left:15px;
	font-size:.7em;
	height:50px;
}

.head_nav ul li.dx a {
	height:30px;
	padding-top:0;
}

.head_nav ul li.dx span {
	display:inline;
	padding-left:15px;
}

.head_nav ul li.d1.selected {
opacity:0;
animation-name: d1_delay;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;
animation-delay: .1s;
animation-fill-mode: forwards
}

@keyframes d1_delay {
0% {margin-left: 200px; opacity:0.0;}
100% {margin-top: 0; opacity:1.0;}
}

.head_nav ul li.d2.selected {
opacity:0;
animation-name: d2_delay;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;
animation-delay: .2s;
animation-fill-mode: forwards
}

@keyframes d2_delay {
0% {margin-left: 200px; opacity:0.0;}
100% {margin-top: 0; opacity:1.0;}
}

.head_nav ul li.d3.selected {
opacity:0;
animation-name: d3_delay;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;
animation-delay: .3s;
animation-fill-mode: forwards
}

@keyframes d3_delay {
0% {margin-left: 200px; opacity:0.0;}
100% {margin-top: 0; opacity:1.0;}
}

.head_nav>ul>li.d4.selected {
opacity:0;
animation-name: d4_delay;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;
animation-delay: .4s;
animation-fill-mode: forwards
}

@keyframes d4_delay {
0% {margin-left: 200px; opacity:0.0;}
100% {margin-top: 0; opacity:1.0;}
}

/* /header */


/* top/ */
.main_image {
	max-width:1400px;
	margin:0 auto;
	background-color:#000;
}
.main_image img{
	width:100%;
	max-width:1400px;
}

.news_area {
	max-width:978px;
	margin:55px auto 0 auto;
}

.news_area h1{
	font-size:1.3em;
	font-weight:300;
	float:left;
	line-height:28px;
	margin-bottom:28px;
	color:#666;
}

.note_news {
	font-size:.8em;
	float:left;
	margin-left:12px;
	line-height:28px;
}

.topics {
	max-width:1400px;
	margin:0 auto;
	background-color:#000;
	height:50px;
	text-align:center;
}
.topics img{
	vertical-align:middle;
	margin:0 10px 0 0 ;
}

.topics p{
	color:#fff;
	font-size:1.5em;
	line-height:45px;
}
.topics p a:link, .topics p a:visited{
	color:#fff;
	font-size:13px;
}

.topics p strong{
	font-size:13px;
	font-weight:normal;
}
.topics p strong br {
	display:none;
}
.notice {
	max-width:1400px;
	margin:0 auto;
	background-color:#f185b6;
	height:50px;
	text-align:center;
}

.notice p{
	color:#fff;
	font-size:12px;
	line-height:50px;
	font-weight:600;
}

.notice p strong{
	font-size:13px;
	font-weight:300;
	margin-left:12px;
}

.whats_new {
	float:none;
	clear:both;
	margin-top:30px;
}

.whats_new li {
	float:left;
	width:190px;
	margin-right:72px;
}

.whats_new li a:link, .whats_new li a:visited {
	color:#000;
	font-size:12px;
	text-decoration: none; 
}

.whats_new li.op1 div {
animation-name: op1_delay;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;
animation-delay: .2s;
}

@keyframes op1_delay {
0% {margin-top: 50px; opacity:0.0;}
100% {margin-top: 0; opacity:1.0;}
}

.whats_new li.op2 div {
animation-name: op2_delay;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;
animation-delay: .3s;
}

@keyframes op2_delay {
0% {margin-top: 50px; opacity:0.0;}
100% {margin-top: 0; opacity:1.0;}
}

.whats_new li.op3 div {
animation-name: op3_delay;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;
animation-delay: .4s;
}

@keyframes op3_delay {
0% {margin-top: 50px; opacity:0.0;}
100% {margin-top: 0; opacity:1.0;}
}

.whats_new li.op4 div {
animation-name: op4_delay;
animation-duration: 1s;
animation-timing-function: ease;
animation-iteration-count: 1;
animation-delay: .5s;
}

@keyframes op4_delay {
0% {margin-top: 50px; opacity:0.0;}
100% {margin-top: 0; opacity:1.0;}
}

.whats_new li div{
	float:none;
	width:100%;
}

.whats_new li div img{
	float:none;
	width:190px;
	height:100px;
	object-fit:contain;
}

.whats_new li div p.title{
	margin: 8px 0 0 0;
	line-height:1.4em;
	font-weight:600;
    width: 100%;
    font-size: 11px;
		text-align: center;
}

.whats_new li div p.read{
	margin: 5px 0 0 0;
	line-height:1.4em;
	text-align:left;
    width: 100%;
    font-weight: 500;
    font-size: 10px;
}

@media all and (-ms-high-contrast:none){
.wide_nav { margin:0 auto 2px auto; }
.whats_new li div p.read { font-size: 11px; }
.whats_new li div p.title{ font-size: 11px; }
}

.whats_new li:last-child {
	margin-right:0;
}

.banner {
	float:none;
	margin:56px auto 0 auto;
	max-width:978px;
}

.banner div{
	margin-bottom:28px;
}

.banner>div .b1 {
	margin:0;
	width:100%;
	max-width:978px;
	height:auto;
}

.banner>div .b2 {
	margin:0 28px 0 0;
	width:100%;
	max-width:475px;
	height:auto;
}

.banner>div .b2:nth-of-type(2n) {
	margin:0;
}

.banner>div .b3 {
	margin:0;
	width:100%;
	max-width:308px;
	height:auto;
}

.banner>div .b3:nth-of-type(2n) {
	margin:0 27px;
}

/* /top */


/* common/ */

article {
	max-width:914px;
	margin:0 auto;
	padding:55px 28px 85px;
	font-size:13px;
}

article h1 {
	padding-bottom:75px;
	font-size:24px;
	line-height:1;
	color:#666;
	font-weight:normal;
	text-align:center;
}

article h1 span#jp{
	display:inline-block;
	margin-top:12px;
	font-size:10px;
}

article h1 span#exp{
	display:inline-block;
	margin-top:12px;
	font-size:14px;
	font-weight:bold;
}

/* /common */


/* form/ */

article form,form article {
	font-size:12px;
}

article form *,form article * {
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	border-radius:0;
}

article form ::-ms-expand {display:none;}

article form input[type="text"],
article form input[type="password"],
article form input[type="tel"],
form article input[type="text"],
form article input[type="email"],
form article input[type="tel"],
form article input[type="password"] {
	width:100%;
	height:42px;
	padding:0 15px;
	font-size:14px;
	line-height:1;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	border:1px solid #f185b6;
	box-sizing:border-box;
}

article form input::-webkit-input-placeholder,
article form textarea::-webkit-input-placeholder,
form article input::-webkit-input-placeholder,
form article textarea::-webkit-input-placeholder {color:#f185b6;}
article form input::-moz-placeholder,
article form textarea::-moz-placeholder,
form article input::-moz-placeholder,
form article textarea::-moz-placeholder {color:#f185b6;opacity:1;}
article form input:-ms-input-placeholder,
article form textarea:-ms-input-placeholder,
form article input:-ms-input-placeholder,
form article textarea:-ms-input-placeholder {color:#f185b6;}
article form input:placeholder-shown,
article form textarea:placeholder-shown,
form article input:placeholder-shown,
form article textarea:placeholder-shown  {color:#f185b6;}

article form input[type="text"]:focus,
article form input[type="password"]:focus,
article form textarea:focus,
form article input[type="text"]:focus,
form article input[type="email"]:focus,
form article input[type="tel"]:focus,
form article input[type="password"]:focus,
form article textarea:focus  {
	color:#000;
	background:#f7f7f7;
	outline:none;
}

article form input:focus::-webkit-input-placeholder,
article form textarea:focus::-webkit-input-placeholder,
form article input:focus::-webkit-input-placeholder,
form article textarea:focus::-webkit-input-placeholder  {color:transparent;}
article form input:focus::-moz-placeholder,
article form textarea:focus::-moz-placeholder,
form article input:focus::-moz-placeholder,
form article textarea:focus::-moz-placeholder {color:transparent;}
article form input:focus:-ms-input-placeholder,
article form textarea:focus:-ms-input-placeholder,
form article input:focus:-ms-input-placeholder,
form article textarea:focus:-ms-input-placeholder  {color:transparent}
article form input:focus::placeholder,
article form textarea:focus::placeholder,
form article input:focus::placeholder,
form article textarea:focus::placeholder  {color:transparent}

article form input[type="submit"],form article input[type="submit"] {
	width:100%;
	height:50px;
	padding:0;
	font-size:12px;
	color:#fff;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	font-weight:bold;
	text-align:center;
	border:none;
	background:#000;
	outline:none;
	cursor:pointer;
}

article form input[type="button"],form article input[type="button"] {
	width:100%;
	height:50px;
	padding:0;
	font-size:12px;
	color:#fff;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	font-weight:bold;
	text-align:center;
	border:none;
	background:#000;
	outline:none;
	cursor:pointer;
}

article form select,form article select {
	position:relative;
	display:block;
	padding:0 15px;
	font-size:14px;
	line-height:1;
	color:#f185b6;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	border:0;
	background:transparent;
	box-sizing:border-box;
	outline:none;
}

article form textarea,form article textarea {
	width:100%;
	padding:13px 15px;
	font-size:12px;
	color:#000;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	border:1px solid #f185b6;
	box-sizing:border-box;
	resize:none;
}


article form input[type="checkbox"],form article input[type="checkbox"] {
	display:none;
}

article form input[type="checkbox"]+label,form article input[type="checkbox"]+label {
	position:relative;
	display:inline-block;
	min-height:17px;
	padding:3px 0 0 24px;
	box-sizing:border-box;
	cursor:pointer;
}

article form input[type="checkbox"]+label:before,
article form input[type="checkbox"]+label:after,
form article input[type="checkbox"]+label:before,
form article input[type="checkbox"]+label:after {
	position:absolute;
	display:inline-block;
	content:'';
}

article form input[type="checkbox"]+label:before,
form article input[type="checkbox"]+label:before {
	top:0;
	left:0;
	width:17px;
	height:17px;
	border:1px solid #f185b6;
	box-sizing:border-box;
}

article form input[type="checkbox"]+label:after,
form article input[type="checkbox"]+label:after {
	top:3px;
	left:3px;
	width:11px;
	height:11px;
	background:#f185b6;
	opacity:0;
}

article form input[type="checkbox"]:checked+label:after,
form article input[type="checkbox"]:checked+label:after {
	opacity:1;
}

article form input[type="radio"],
form article input[type="radio"] {
	display:none;
}

article form input[type="radio"]+label,
form article input[type="radio"]+label {
	position:relative;
	display:inline-block;
	min-height:17px;
	padding:3px 0 0 24px;
	box-sizing:border-box;
	cursor:pointer;
}

article form input[type="radio"]+label:before,
article form input[type="radio"]:checked+label:after,
form article input[type="radio"]+label:before,
form article input[type="radio"]:checked+label:after {
	position:absolute;
	content:'';
}

article form input[type="radio"]+label:before,
form article input[type="radio"]+label:before {
	top:0;
	left:0;
	width:17px;
	height:17px;
	border:1px solid #f185b6;
	box-sizing:border-box;
}

article form input[type="radio"]:checked+label:after,
form article input[type="radio"]:checked+label:after {
	top:3px;
	left:3px;
	width:11px;
	height:11px;
	background:#f185b6;
}

/* /article */


/* error/ */

#error {
	position:relative;
	width:100%;
	height:auto;
	min-height:38px;
	padding:5px 0 7px;
	border-top:10px solid #fff;
	background:#f185b6;
	z-index:10000;
	display:none;
}

#error table {
	height:38px;
	margin:0 auto;
}

#error td {
	font-size:14px;
	text-align:center;
	vertical-align:middle;
}

#error td p {
	display:inline-block;
	width:100%;
	font-size:14px;
	color:#fff;
}

#error td p+p {
	margin-top:5px;
	line-height:1.5;
}

/* /error */

/* message/ */
#message {
	max-width:460px;
	text-align:center;
}
/* /message */

/* login/ */

#login {
	max-width:460px;
	text-align:center;
}

#login form div+div {
	margin-top:30px;
}

#login form p {
	margin-top:22px;
}

#login form div:nth-last-of-type(2) {
	max-width:320px;
	margin:25px auto 0;
}

#login form input::-webkit-input-placeholder {text-align:center;}
#login form input::-moz-placeholder {text-align:center;}
#login form input:-ms-input-placeholder {text-align:center;}
#login form input:placeholder-shown {text-align:center;}

#login form input[type="text"]:focus,
#login form input[type="password"]:focus {text-align:left;}


#login form div:nth-last-of-type(1) {
	max-width:320px;
	margin:25px auto 0;
}

#login form div:nth-last-of-type(1) a {
	display:block;
	width:100%;
	height:50px;
	padding:0;
	font-size:14px;
	line-height:48px;
	color:#000;
	font-weight:bold;
	text-decoration:none;
	border: 1px solid #000;
}

/* /login */


/* agreement/ */

#agreement section+section {
	margin-top:25px;
}

#agreement h2 {
	margin-bottom:12px;
}

#agreement p,
#agreement li {
	font-size:12px;
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#agreement li:before {
	display:inline-block;
	width:2em;
	counter-increment:agreement-serial-number01;
	content:counter(agreement-serial-number01) '.';
}

#agreement ol {
	counter-reset:agreement-serial-number01;
}

#agreement .brackets li:before,
#agreement li li:before {
	display:inline-block;
	width:2em;
	counter-increment:agreement-serial-number02;
	content:'(' counter(agreement-serial-number02) ')';
	/* content:counter(agreement-serial-number02) '.'; */
}

#agreement li li:before{
	margin-left: 2em;
}

#agreement .brackets ol,
#agreement li ol {
	counter-reset:agreement-serial-number02;
}

/* /agreement */


/* policy/ */

#policy p,
#policy li {
	padding-top:25px;
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#policy h1+p {
	padding-top:0;
}

#policy li:before {
	padding-right:1ex;
	counter-increment:policy-serial-number;
	content:counter(policy-serial-number) '.';
}

#policy ol {
	counter-reset:policy-serial-number;
}

/* /policy */


/* faq/ */

#questions dt,
#questions dd,
#questions li,
#questions p {
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#questions h2 {
	padding:6px 8px;
	font-size:12px;
	color:#fff;
	background:#000;
}

#questions dt {
	margin:30px 0 15px;
	font-weight:bold;
}

#questions dt:before {
	padding-right:1ex;
	counter-increment:question-number;
	content:'Q' counter(question-number) '.';
}

#questions dl {
	counter-reset:question-number;
}

#questions dl dt:only-of-type:before {
	content:'Q.';
}

#questions dd dt:before {
	padding-right:0;
	content:'\25A0';
}

#questions p+p,
#questions ul+p {
	margin-top:15px;
}

#questions li:before {
	content:'\30FB';
}

#questions dd dt {
	margin:15px 0 0;
}

#questions section+section {
	margin-top:35px;
}

/* /faq */


/* browser/ */

#browser h2 {
	padding:6px 8px;
	font-size:12px;
	color:#fff;
	background:#000;
	margin-top:25px;
	margin-bottom: 5px;
}

#browser h3 {
	margin:25px 0 12px;
}
#browser h4{
	margin-top:1em;
	color: #333;
}

#browser li+li {
	margin-top:10px;
}

#browser section+section {
	margin-top:35px;
}

#browser p {
	/* margin-top:25px; */
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#browser>p:first-child {
	margin-top:40px;
}

/* /browser */


/* contact/ */

#contact {
	max-width:528px;
}

#contact>p {
	font-size:12px;
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#contact>p+p {
margin-top:25px;
}

#contact {
	text-align:center;
}

#contact div {
	margin-top:30px;
}

#contact div:first-child {
	margin-top:60px;
}

#contact div:nth-last-child(-n+2) {
	margin-top:45px;
}

#contact div:last-child {
	max-width:320px;
	margin-left:auto;
	margin-right:auto;
}

#contact label {
	position:relative;
	display:inline-block;
	width:100%;
	border:1px solid #f185b6;
	box-sizing:border-box;
}

#contact label:before,
#contact label:after {
	position:absolute;
	right:17px;
	width:0;
	height:0;
	border-top:9px solid #f185b6;
	border-right:8px solid transparent;
	border-left:8px solid transparent;
  pointer-events:none;
	content:'';
}

#contact label:before {
	top:16px;
}

#contact label:after {
	top:14px;
	border-top-color:#fff;
}

#contact select {
	width:100%;
	height:40px;
}

#contact option:first-of-type {
	display:none;
}

#contact div>p {
	text-align:center;
}

#contact div>p:nth-child(1) {
	width:155px;
	height:38px;
	margin:0 auto;
	padding-top:4px;
	border:1px solid #000;
	box-sizing:border-box;
}

#contact div>p:nth-child(2) {
	margin-top:18px;
	font-size:12px;
	color:#f185b6;
}

#contact div>p+input[type="text"] {
	width:155px;
	margin-top:16px;
}

#contact textarea {
	height:180px;
}

/* /contact */


/* lostpassword/ */

#lostpassword {
	max-width:460px;
}

#lostpassword>p {
	font-size:12px;
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#lostpassword form div {
	margin-top:25px;
}

#lostpassword form div:first-child {
	margin-top:35px;
}

#lostpassword form div:nth-of-type(2) {
	font-size:0;
}

#lostpassword form div:last-child {
	max-width:320px;
	margin:45px auto 0;
}

#lostpassword form div h2 {
	margin-bottom:5px;
	font-size:11px;
	font-weight:bold;
}

#lostpassword input::-webkit-input-placeholder {text-align:center;}
#lostpassword input::-moz-placeholder {text-align:center;}
#lostpassword input:-ms-input-placeholder {text-align:center;}
#lostpassword input:placeholder-shown {text-align:center;}

#lostpassword input[type="text"]:focus {text-align:left;}

#lostpassword label {
	position:relative;
	display:inline-block;
	border:1px solid #f185b6;
	box-sizing:border-box;
}

#lostpassword label:before,
#lostpassword label:after {
	position:absolute;
	right:10px;
	width:0;
	height:0;
	border-left:3px solid transparent;
	border-right:3px solid transparent;
  pointer-events:none;
	content:'';
}

#lostpassword label:before {
	top:15px;
	border-bottom:4px solid #f185b6;
}

#lostpassword label:after {
	bottom:15px;
	border-top:4px solid #f185b6;
}

#lostpassword select {
	width:73px;
	height:40px;
	padding-left:20px;
}

#lostpassword select#year {
	width:100px;
	padding-left:25px;
}

#lostpassword label+span {
	display:inline-block;
	margin:0 12px 0 5px;
	padding-bottom:1px;
	font-size:12px;
	color:#f185b6;
	font-weight:bold;
	vertical-align:bottom;
}

/* /lostpassword */


/* memberprivileges/ */

#memberprivileges>p {
	font-size:12px;
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#memberprivileges .agreement {
	margin-top:35px;
	padding:23px 20px 40px;
	border:1px solid #b6b5b5;
	background:#f7f7f7;
	box-sizing:border-box;
	height: 500px;
	overflow-x: scroll;
}

#memberprivileges .agreement h2 {
	font-size:14px;
	font-weight:bold;
	text-align:center;
}

#memberprivileges .agreement h3 {
	margin-bottom:12px;
	font-size:12px;
	font-weight:bold;
}

#memberprivileges .agreement section {
	margin-top:20px;
}

#memberprivileges .agreement section+section {
	margin-top:25px;
}

#memberprivileges form div {
	max-width:320px;
	margin:40px auto 0;
}

#memberprivileges .agreement p,
#memberprivileges .agreement li {
	font-size:12px;
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}


#memberprivileges .agreement li:before {
	display:inline-block;
	width:2em;
	counter-increment:agreement-serial-number01;
	content:counter(agreement-serial-number01) '.';
}

#memberprivileges .agreement ol {
	counter-reset:agreement-serial-number01;
}

#memberprivileges .agreement .brackets li:before,
#memberprivileges .agreement li li:before {
	display:inline-block;
	width:2em;
	counter-increment:agreement-serial-number02;
	content:'(' counter(agreement-serial-number02) ')';
}

#memberprivileges .agreement .brackets ol,
#memberprivileges .agreement li ol {
	counter-reset:agreement-serial-number02;
}

/* /memberprivileges */


/* registration common/ */

#registration-flow {
	width:100%;
	height:36px;
	margin-bottom:35px;
	font-size:0;
	border:1px solid #000;
	box-sizing:border-box;
}

#registration-flow li {
	position:relative;
	display:inline-table;
	width:calc(100% / 3);
	height:100%;
	text-align:center;
	vertical-align:top;
}

#registration-flow li:nth-child(2):before,
#registration-flow li:nth-child(2):after,
#registration-flow li:nth-child(3):before,
#registration-flow li:nth-child(3):after {
	position:absolute;
	top:-1px;
	width:0;
	height:0;
	border-left:9px solid #000;
	border-top:18px solid transparent;
	border-bottom:18px solid transparent;
	content:'';
}

#registration-flow li:nth-child(2):before {left:1px;}
#registration-flow li:nth-child(2):after {left:0;}
#registration-flow li:nth-child(3):before {left:1px;}
#registration-flow li:nth-child(3):after {left:0;}

#registration-flow li span {
	display:table-cell;
	margin:0;
	font-size:12px;
	vertical-align:middle;
	box-sizing:border-box;
}
#registration-flow li:nth-child(1) span {padding-left:2%;}
#registration-flow li:nth-child(2) span {padding-left:8%;}
#registration-flow li:nth-child(3) span {padding-left:6%;}

#registration-flow li span:before {
	display:block;
	padding-bottom:4px;
	font-size:9px;
}

#registration-flow li:nth-child(1) span:before {content:'STEP1';}
#registration-flow li:nth-child(2) span:before {content:'STEP2';}
#registration-flow li:nth-child(3) span:before {content:'STEP3';}

/* /registration common */


/* registration/ */

#registration {
	max-width:528px;
}

#registration h1 span {
	display:inline-block;
	width:100%;
}

#registration h1 span+span {
	margin-top:12px;
}

#registration #registration-flow {
	background:#fff;
}

#registration #registration-flow li:nth-child(1) {
	color:#fff;
	background:#000;
}

#registration #registration-flow li:not(:nth-child(1)) {
		background:#fff;
}

#registration #registration-flow li:nth-child(3):after {
	border-left-color:#fff;
}

#registration>p {
	font-size:12px;
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#registration>p+p {
	margin-top:25px;
}

#registration dl {
	margin-top:25px;
	padding:10px 10px 12px;
	background-color:#f185b6;
	color:#fff;
	font-size:14px;
}

#registration dt {
	font-size:14px;
	font-weight:bold;
	text-align:center;
}

#registration dd {
	margin-top:8px;
}

#registration dd li {
	font-size:14px;
	line-height:1.4;
	text-align:justify;
	text-justify:inter-ideograph;
	color:#fff;
}

#registration dd li:before {
	padding-right:1ex;
	counter-increment:notice-number;
	content:counter(notice-number) '\FF09';
}

#registration dd {
	counter-reset:notice-number;
}

#registration form {
	margin-top: 60px;
}

#registration form div+div {
	margin-top:40px;
}

#registration form>div:last-child {
	max-width:320px;
	margin-left:auto;
	margin-right:auto;
}

#registration form div h2 {
	margin-bottom:10px;
	font-size:12px;
}

#registration form div p {
	margin-bottom:15px;
	font-size:11px;
	line-height:1.5;
	text-align:justify;
	text-justify:inter-ideograph;
}

#registration form .name span {
	display:inline-block;
	width:132px;
}

#registration form .name span+span {
	margin-left:26px;
}

#registration form .mail-address input+input {
	margin-top:10px;
}


#registration form input[type="text"]+input[type="submit"] {
	width:146px;
	height:32px;
	margin-top:10px;
	font-size:11px;
}

#registration form .telephone {
	font-size:0;
}

#registration form .telephone span {
	display:inline-block;
	font-size:12px;
	vertical-align:middel;
}

#registration form .telephone input {
	text-align:center;
}

#registration form .telephone span:nth-of-type(1) {
	width:82px;
}

#registration form .telephone span:nth-of-type(3),
#registration form .telephone span:nth-of-type(5) {
	width:92px;
}

#registration form .telephone span:nth-of-type(2),
#registration form .telephone span:nth-of-type(4) {
	width:29px;
	font-size:12px;
	color:#f185b6;
	font-weight:bold;
	text-align:center;
}

#registration form .zipcode input {
	width:100px;
	text-align:center;
}

#registration form .birthday label {
	position:relative;
	display:inline-block;
	border:1px solid #f185b6;
	box-sizing:border-box;
}

#registration form .birthday label:before,
#registration form .birthday label:after {
	position:absolute;
	right:10px;
	width:0;
	height:0;
	border-left:3px solid transparent;
	border-right:3px solid transparent;
  pointer-events:none;
	content:'';
}

#registration form .birthday label:before {
	top:15px;
	border-bottom:4px solid #f185b6;
}

#registration form .birthday label:after {
	bottom:15px;
	border-top:4px solid #f185b6;
}

#registration form .birthday select {
	width:73px;
	height:40px;
	padding-left:20px;
}

#registration form .birthday select#year {
	width:100px;
	padding-left:25px;
}

#registration form .birthday label+span {
	display:inline-block;
	margin:0 12px 0 5px;
	padding-bottom:1px;
	font-size:12px;
	color:#f185b6;
	font-weight:bold;
	vertical-align:bottom;
}

#registration form .sex label:nth-of-type(2) {
	margin-left:9em;
}

#registration form .mail-magazine label:nth-of-type(2) {
	margin-left:7em;
}

#registration form .mail-magazine label+p {
	margin:12px 0 0;
}

#registration form .membership-number p {
	font-size:11px;
}

#registration form .membership-number label {
	padding-top:0;
	line-height:1.6;
}

#registration form .membership-number input[type="text"] {
	margin-top:10px;
}

#registration form .membership-number input[type="text"]+p {
	margin:10px 0 0;
}

#registration form .change-password input+input {
	margin-top:10px;
}

#registration form .captcha,
#registration form .captcha p {
	text-align:center;
}

#registration form .captcha p:nth-child(1) {
	width:155px;
	height:38px;
	margin:0 auto;
	padding-top:4px;
	border:1px solid #000;
	box-sizing:border-box;
}

#registration form .captcha p:nth-child(2) {
	margin:20px 0 0;
	font-size:12px;
	color:#f185b6;
}

#registration form .captcha input[type="text"] {
	width:155px;
	margin:12px auto 0;
}
#registration form .select__wrapper{
	position: relative;
	border: 1px solid #f185b6;
	height: 42px;
	display: inline-flex;
	align-items: center;
}
#registration form .select__wrapper:before,
#registration form .select__wrapper:after{
	position: absolute;
	top: 15px;
	right: 5px;
	width: 0;
	height: 0;
	border-top: 9px solid #f185b6;
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
	pointer-events: none;
	content: '';
}
#registration form .select__wrapper:after{
	top: 13px;
  border-top-color: #fff;
}

/* /registration */


/* confirmation/ */

#confirmation {
	max-width:528px;
}

#confirmation h1 span {
	display:inline-block;
	width:100%;
}

#confirmation h1 span+span {
	margin-top:12px;
}

#confirmation #registration-flow {
	background:#fff;
}

#confirmation #registration-flow li:nth-child(2) {
	color:#fff;
	background:#000;
}

#confirmation #registration-flow li:not(:nth-child(2)) {
		background:#fff;
}

#confirmation #registration-flow li:nth-child(2):after {
	border-left-color:#fff;
}

#confirmation p {
	font-size:12px;
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#confirmation .warning {
	margin-top:25px;
	padding:10px 10px 12px;
	background:#f185b6;
}

#confirmation .warning li {
	font-size:10px;
	line-height:1.4;
	color:#fff;
}

#confirmation .warning li+li {
	margin-top:2px;
}

#confirmation aside {
	margin-top:30px;
}

#confirmation aside h2 {
	font-size:11px;
}

#confirmation aside p {
	margin-top:10px;
	font-size:11px;
}

/* /confirmation */


/* completion/ */

#completion {
	max-width:528px;
}

#completion #registration-flow {
	background:#000;
}

#completion #registration-flow li:nth-child(3) {
	color:#fff;
	background:#000;
}

#completion #registration-flow li:not(:nth-child(3)) {
		background:#fff;
}

#completion #registration-flow li:nth-child(2):after,
#completion #registration-flow li:nth-child(3):after {
	border-left-color:#fff;
}

#completion>p {
	font-size:12px;
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#completion form {
	margin-top:30px;
	padding:0;
	text-align:center;
}

#completion h2 {
	margin-bottom:12px;
	font-size:11px;
}

#completion h2+p {
	font-size:11px;
}

#completion div:nth-child(2) {
	max-width:450px;
	margin:30px auto 0;
}

#completion div:nth-child(3) {
	max-width:320px;
	margin:40px auto 0;
}

#completion input::-webkit-input-placeholder {text-align:center;}
#completion input::-moz-placeholder {text-align:center;}
#completion input:-ms-input-placeholder {text-align:center;}
#completion input:placeholder-shown {text-align:center;}

#completion input[type="password"]:focus {text-align:left;}

/* /completion */


/* maypage/ */

#mypage section+section {
	margin-top:48px;
}

#mypage h2 {
	margin-bottom:30px;
	padding:6px 8px;
	font-size:12px;
	color:#fff;
	background:#000;
}

#mypage #digital-id dl {
	text-align:center;
}

#mypage #digital-id dt {
	margin-bottom:10px;
	font-size:13px;
	font-weight:bold;
}

#mypage #digital-id dd {
	font-size:13px;
}

#mypage #digital-id p {
	width:140px;
	height:140px;
	margin:40px auto 0;
	box-sizing:border-box;
}

#mypage #digital-id img {
	width:100%;
	height:auto;
}

#mypage #digital-id #qrcode {
	width:140px;
	height:140px;
	margin:40px auto 0;
	box-sizing:border-box;
	text-align:center;
}

#mypage #digital-id p+p {
	width:auto;
	height:auto;
	font-size:10px;
	line-height:1.6;
	text-align:center;
}

#mypage #open-campaign #roulette {
	position:relative;
	width:418px;
	height:211px;
	margin:0 auto;
	padding-top:5px;
	text-align:center;
}

#mypage #open-campaign #roulette img {
	width:100%;
	height:auto;
}

#mypage #open-campaign #roulette div {
	position:absolute;
	bottom:33px;
	right:0;
	left:0;
	display:inlilne-table;
	width:174px;
	height:40px;
	margin:auto;
}

#mypage #open-campaign #roulette div span {
	display:table-cell;
	width:174px;
	height:40px;
	font-size:12px;
	color:#ccc;
	font-weight:bold;
	text-align:center;
	vertical-align:middle;
	background:#efefef;
}

#mypage #open-campaign #roulette div span a {
	display:block;
	width:100%;
	height:100%;
	line-height:40px;
	color:#fff;
	text-decoration:none;
	background:#000;
}

#mypage #open-campaign #notes {
	margin-top:40px;
	padding:17px;
	line-height:1.6;
	border:1px solid #000;
	box-sizing:border-box;
}

#mypage #open-campaign #notes p+p {
	margin-top:8px;
}

#mypage ul {
	font-size:0;
}

#mypage li {
	display:inline-table;
	width:442px;
	height:52px;
	vertical-align:top;
}

#mypage li a {
	display:table-cell;
	width:100%;
	height:100%;
	font-size:14px;
	color:#f185b6;
	font-weight:bold;
	text-decoration:none;
	text-align:center;
	vertical-align:middle;
	border:1px solid #f185b6;
	box-sizing:border-box;
}

#mypage li+li {
	margin-left:30px;
}

/* /mypage */


/* change/ */

#change {
	max-width:528px;
}

#change p {
	font-size:12px;
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#change ul {
	margin-top:30px;
	padding:10px 10px 12px;
	background:#f185b6;
}

#change ul li {
	font-size:14px;
	line-height:1.4;
	color:#fff;
}

#change ul li+li {
	margin-top:2px;
}

#change form {
	margin-top:40px;
}

#change form div h2 {
	font-size:11px;
}

#change form div:first-child h2 {
	margin-bottom:12px;
}

#change form div:first-child p {
	font-size:11px;
}

#change form div:nth-child(2) {
	margin-top:35px;
}

#change form div input[type="password"],#change form div input[type="text"] {
	margin-top:10px;
}

#change form div:last-child {
	max-width:320px;
	margin:30px auto 0;
}

#change aside {
	margin-top:30px;
}

#change aside h2 {
	margin-bottom:12px;
	font-size:11px;
}

#change aside p {
	font-size:11px;
}

/* /change */


/* footer/ */

footer {
	background-color:#fff;
	margin:0;
	padding:36px 0 10px 0;
}

footer div.footer_banner {
	margin:0 auto;
	width:100%;
	max-width:978px;
}

footer div.footer_banner ul li a{
	display:block;
	float:left;
	width:227px;
	height:35px;
	border:1px solid #232323;
	padding: 25px 0px;
	text-align: center; 
}

footer div.footer_banner ul li a img {
	margin: 0 auto;
}

footer div.footer_banner ul li a.middle {
	margin:0 27px;
}

footer div.footer_banner ul li a.right {
	margin-right: 15px;
}

footer div.footer_sns {
	float:none;
	clear:both;
	margin:0 auto;
	width:100%;
	max-width:294px;
	padding:45px 342px;
}

footer div.footer_sns ul li a{
	display:block;
	float:left;
	width:78px;
	height:21px;
	padding-top: 2px;
	text-align: center;
	background: #232323;
}

footer div.footer_sns ul li:nth-child(2) a {
	margin:0 28px;
}

footer .foot_nav {
	margin:0 auto 28px;
	text-align:center;
	font-size:.6em;
}

footer .foot_nav a {
	display:inline-block;
	border-left:1px solid #333;
	color:#000;
	text-decoration:none;
	padding:0 4px;
}

footer .foot_nav a:first-child {
	margin-left:40px;
}

footer .foot_nav a:last-child {
	border-right:1px solid #333;
}
/* /footer */

.image-big {
	display: block;
}
.image-big img {
	vertical-align: top;
}



@media only screen and (min-width: 321px) and (max-width: 1023px) {
body{
	-webkit-text-size-adjust:none;
}
.pc {
	display:none;
}
.head_nav .pc{
	display:none !important;
}
.npc {
	display:block;
}
.npc_i {
	display:inline;
}
.head_nav .npc_i{
	display:inline !important;
}
.tab {
	display:block;
}

header .logo_smetj {
	position:absolute;
	top:12px;
	left:11px;
	margin:0 0 12px 0;
}

header .logo_smtoj {
	text-align:center;
	float:none;
	margin:12px auto;
	padding-right:0;
}
header .header_body {height: 49px;}
.navToggle {
    display:block;
    position:absolute !important;
    right:15px;
    top:16px;
    width:20px;
    height:20px;
    cursor:pointer;
	z-index:1;
	}
.navToggle div {position:relative}
.navToggle span {
    display:block;
    position:absolute;
    width:100%;
    border-bottom:solid 1px #ed60a0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out}
.navToggle span:nth-child(1) {top:0}
.navToggle span:nth-child(2) {top:7px}
.navToggle span:nth-child(3) {top:14px}
.navToggle p {
	display:none;
}

.head_nav p img.navToggle{
    position:absolute;
	top:23px;
	right:10px;
	width:19px;
	height:18px;
}

.head_nav{
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    background: #000;
	opacity:.90;
	z-index:10;
	overflow-y: scroll;
	-webkit-overflow-scrolling:touch;
}

.head_nav ul {
	margin-top:80px;
}

.head_nav ul li {
	height:75px;
	color:#ed60a0;
	border-top:1px solid #f291bd;
}
.head_nav ul li:last-child {
	border-bottom:1px solid #f291bd;
	margin-bottom:80px;
}

.head_nav ul li a{
	padding-left:15px;
	text-decoration:none;
	color:#f291bd;
	display:block;
	height:55px;
	padding-top:20px;
}

.head_nav ul li a span{
	display:block;
	font-size:12px;
	margin:6px 0 0 0;
}

.head_nav ul.dxs {
	margin-top:30px;
}

.head_nav ul li.dx {
	border:none;
	padding-left:15px;
	font-size:.7em;
	height:50px;
}

.head_nav ul li.dx a {
	height:30px;
	padding-top:0;
}

.head_nav ul li.dx span {
	display:inline;
	padding-left:15px;
}

.wide_nav {
	margin:0 auto;
	background-color:#f7f7f7;
	line-height: normal;
	z-index:9000;
	padding-top:60px;
	height:40px;
}
.wide_nav img {
	margin:0;
}
.wide_nav a {
	padding: 0;
	background: none;
	background-position: 0 0;
	background-size: auto;
	transition:none;
}

.wide_nav a:hover {
	background: none !important;
}
ul#menu_sp {
	max-width:298px;
	margin:0 auto;
}

ul#menu_sp li {
	padding-bottom:0;
}

ul#menu_sp li:last-child{
	float:right;
}

ul#menu_sp li a{
	display:block;
	width:144px;
	height:27px;
	text-align:center;
	border:1px solid #f185b6;
	font-size:10px;
	text-decoration:none;
	color:#f185b6;
	font-weight:600;
}

ul#menu_sp li a img{
	vertical-align:middle;
	margin-right:6px;
}

ul#menu_sp li a span{
	position:relative;
	top:2px;
}

.topics {
	padding:10px 0 0;
	height:auto;
}
.topics img{
	display:block;
	margin:0 auto 8px auto;
}

.topics p{
	color:#fff;
	font-size:11px;
	line-height:14px;
	padding:0 0 8px 0;
}

.topics p strong{
	font-size:11px;
	font-weight:normal;
}

.notice {
	max-width:1400px;
	margin:0 auto;
	background-color:#f185b6;
	text-align:center;
	padding:8px 0 10px;
	height:auto;
}

.notice p{
	color:#fff;
	font-size:11px;
	line-height:14px;
	font-weight:600;
}

.notice p strong{
	display:block;
	font-size:11px;
	font-weight:300;
	margin:2px 0 0 0;
}

.news_area {
	max-width:978px;
	margin:27px auto 0 auto;
}

.news_area h1{
	font-size:1.3em;
	font-weight:300;
	float:none;
	text-align:center;
	line-height:28px;
	margin-bottom:0;
}

.note_news {
	font-size:9px;
	float:none;
	text-align:center;
	margin-left:12px;
	line-height:28px;
}
.whats_new {
	float:none;
	clear:both;
	margin-top:30px;
}

.whats_new li {
	float:left;
	width:23%;
	margin:0 1%;
}

.whats_new li div{
	float:none;
	width:100%;
/*	overflow:hidden;*/
}

.whats_new li div img{
	float:none;
	width:100%;
	max-width:320px;
	height:12.08vw;
}

.whats_new li div p.title{
	margin: 8px 0 0 0;
	line-height:1.3em;
	font-weight:600;
    font-size: 15px;
    width: 111%;
    -webkit-transform: scale(0.9);
    -webkit-transform-origin: 0% 0%;
    -ms-transform: scale(0.9);
    -ms-transform-origin: 0% 0%;
    transform: scale(0.9);
    transform-origin: 0% 0%;
    zoom: 0.9;
}

.whats_new li div p.read{
	margin: 5px 0 0 0;
	line-height:1.6em;
	text-align:left;
    width: 142%;
    font-weight: 500;
    font-size: 24px;
    -webkit-transform: scale(0.7);
    -webkit-transform-origin: 0% 0%;
    -ms-transform: scale(0.7);
    -ms-transform-origin: 0% 0%;
    transform: scale(0.7);
    transform-origin: 0% 0%;
    zoom: 0.7;
}

.whats_new li:last-child {
	margin-right:0;
}

.banner {
	margin:1% auto;
}

.banner ul li {
	width:31.25%;
	float:left;
	margin:0 1%;
}
.banner ul li img {
	width:100%;
}

footer {
	padding-top:16px;
	text-align:center;
}
.footer_banner ul li{
	float:none;
	clear:both;
	max-width:978px;
	margin:0 auto;
}

footer div.footer_banner ul li a{
	display:block;
	float:none;
	clear:both;
	width:auto;
	height:31px;
	border:1px solid #232323;
	padding:25px 44px;
	margin:15px 9px;
	text-align:center;
}

footer div.footer_banner ul li a.middle {
	margin:15px 9px;
}

footer div.footer_banner ul li a.right {
	margin-right: 10px;
}

footer div.footer_sns {
	float:none;
	clear:both;
	margin:0 auto;
	width:100%;
	max-width:294px;
	padding:8px 0 24px 0;
}

footer .foot_nav ul li {
    width: 100%;
    padding: 0 0;
    margin: 0;
    font-size: 1.0em;
	border-left:none;
	border-right:none;
	border-top:1px solid #aeaeae;
}

footer .foot_nav a {
	display:block;
	width: 96%;
	margin: 0 auto;
	border:none;
	text-align:left;
	font-weight:600;
	padding:15px 0;
	background:var(--arr-img) right center no-repeat;
	background-size: auto 25%;
}

footer .foot_nav a:first-child {
	margin:auto;
}

footer .foot_nav a:last-child {
	border:none;
}

footer .foot_nav li:last-child {
	border-bottom:1px solid #aeaeae;
}

footer .copy {
	font-size:10px;
	margin:32px 0 5px;
}

/* common/ */

article {
	max-width:818px;
	padding:36px 28px 12px;
	font-size:11px;
}

article h1 {
	padding-bottom:33px;
	font-size:18px;
}

article h1 span {
	display:block;
}

article h1 span+span {
	margin-top:10px;
}

/* /common */


/* form/ */

article form {
	max-width:460px;
	font-size:11px;
}

article form input[type="text"],
article form input[type="tel"],
article form input[type="password"] {
	height:38px;
	padding:0 8px;
	font-size:12px;
}

article form input[type="submit"] {
	height:38px;
	font-size:12px;
}

article form select {
	padding:0 8px;
	font-size:12px;
}

article form textarea {
	padding:13px 8px;
	font-size:12px;
}


article form input[type="checkbox"]+label {
	min-height:15px;
	padding-left:22px;
}

article form input[type="checkbox"]+label:before {
	width:15px;
	height:15px;
}

article form input[type="checkbox"]+label:after {
	width:9px;
	height:9px;
}

article form input[type="radio"]+label {
	min-height:15px;
	padding-left:22px;
}

article form input[type="radio"]+label:before {
	width:15px;
	height:15px;
}

article form input[type="radio"]:checked+label:after {
	width:9px;
	height:9px;
}

::-webkit-input-placeholder {
	padding-top:4px;
}

/* /form */


/* error/ */

#error {
	min-height:38px;
	border:0;
}

#error table {
	height:38px;
}

#error td p {
	font-size:12px;
}

/* /error */

/* message/ */
#message {
	max-width:264px;
}
/* /message */

/* login/ */

#login {
	max-width:264px;
}

#login form div+div {
	margin-top:16px;
}

#login form div+div+div {
	margin-top:22px;
}

#login form div:nth-last-child(2) {
	margin-top:30px;
}

#login form div:nth-last-child(1) a {
	height:38px;
	font-size:12px;
	line-height:36px;
}

/* /login */


/* agreement/ */

#agreement section+section {
	margin-top:22px;
}

#agreement h2 {
	margin-bottom:10px;
}

/* /agreement */


/* policy/ */

#policy p,
#policy li {
	padding-top:22px;
}

/* /policy */


/* faq/ */

#questions h2 {
	font-size:11px;
	text-align:center;
}

#questions dt {
	margin:24px 0 10px;
}

#questions dt:first-child {
	margin-top:20px;
}


#questions p+p,
#questions ul+p {
	margin-top:10px;
}

#questions dd dt {
	margin:10px 0 0;
}

#questions section+section {
	margin-top:25px;
}

/* /faq */


/* browser/ */

#browser h2 {
	font-size:11px;
}

#browser h3 {
	margin-bottom:10px;
}

#browser h3:first-of-type {
	margin-top:20px;
}

#browser li+li {
	margin-top:6px;
}

#browser section+section {
	margin-top:35px;
}

#browser p {
	margin-top:25px;
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#browser>p:first-child {
	margin-top:40px;
}

/* /browser */


/* contact/ */

#contact {
	max-width:460px;
}

#contact>p {
	font-size:11px;
}

#contact>p+p {
margin-top:23px;
}

#contact div {
	margin-top:16px;
}

#contact div:first-child {
	margin-top:44px;
}

#contact div:nth-last-child(-n+2) {
	margin-top:30px;
}

#contact div:last-child {
	max-width:264px;
}

#contact label:before,
#contact label:after {
	right:10px;
	border-top:10px solid #f185b6;
	border-right:9px solid transparent;
	border-left:9px solid transparent;
}

#contact label:before {
	top:15px;
}

#contact label:after {
	top:13px;
	border-top-color:#fff;
}

#contact select {
	height:37px;
	padding:0 8px;
	font-size:11px;
}

#contact div>p:first-child {
	width:115px;
}

#contact div>p img {
	width:auto;
	height:auto;
}

#contact div>p+input[type="text"] {
	width:115px;
	margin-top:13px;
}

#contact textarea {
	height:123px;
	padding:8px;
	font-size:11px;
}

/* /contact */


/* lostpassword/ */

#lostpassword>p {
	font-size:11px;
}

#lostpassword form div {
	margin-top:20px;
}

#lostpassword form div:first-child {
	margin-top:25px;
}

#lostpassword form div:last-child {
	max-width:264px;
	margin:35px auto 0;
}

#lostpassword form div h2 {
	font-size:9px;
}

#lostpassword label:before,
#lostpassword label:after {
	right:10px;
}

#lostpassword label:before {
	top:14px;
	border-bottom:3px solid #f185b6;
}

#lostpassword label:after {
	bottom:14px;
	border-top:3px solid #f185b6;
}

#lostpassword select {
	width:58px;
	height:36px;
	padding-left:15px;
}

#lostpassword select#year {
	width:79px;
	padding-left:18px;
}

#lostpassword label+span {
	margin:0 8px 0 7px;
	font-size:11px;
}

/* /lostpassword */


/* memberprivileges/ */

#memberprivileges {
	max-width:460px;
}

#memberprivileges>p {
	font-size:11px;
}

#memberprivileges .agreement {
	height:250px;
}

#memberprivileges .agreement h2 {
	font-size:11px;
}

#memberprivileges .agreement h2 span {
	width:100%;
	display:inline-block;
}

#memberprivileges .agreement h2 span+span {
	margin-top:10px;
}

#memberprivileges .agreement h3 {
	margin-bottom:10px;
	font-size:11px;
}

#memberprivileges .agreement section {
	margin-top:15px;
}

#memberprivileges .agreement section+section {
	margin-top:22px;
}

#memberprivileges form div {
	max-width:264px;
	margin-top:35px;
}

#memberprivileges .agreement p,
#memberprivileges .agreement li {
	font-size:11px;
}

/* /memberprivileges */


/* registration common/ */

#registration-flow {
	height:32px;
	margin-bottom:25px;
}

#registration-flow li:nth-child(2):before,
#registration-flow li:nth-child(2):after,
#registration-flow li:nth-child(3):before,
#registration-flow li:nth-child(3):after {
	border-left-width:8px;
	border-top-width:16px;
	border-bottom-width:16px;
}

#registration-flow li span {
	font-size:10px;
}

#registration-flow li span:before {
	padding-bottom:2px;
	font-size:8px;
}

/* /registration common */


/* registration/ */

#registration {
	max-width:460px;
}

#registration>p {
	font-size:12px;
}

#registration>p+p {
	margin-top:23px;
}

#registration dl {
	margin-top:20px;
}

#registration dt {
	font-size:12px;
}

#registration dd li {
	font-size:12px;
}

#registration form {
	margin-top: 30px;
}

#registration form div+div {
	margin-top:15px;
}

#registration form>div:last-child {
	max-width:264px;
}

#registration form div h2 {
	font-size:9px;
}

#registration form div p {
	margin-bottom:12px;
	font-size:8px;
}

#registration form .name span {
	width:120px;
}

#registration form .name span+span {
	margin-left:24px;
}

#registration form input[type="text"]+input[type="submit"] {
	width:105px;
	height:29px;
	font-size:8px;
}

#registration form .telephone span:nth-of-type(1) {
	width:64px;
}

#registration form .telephone span:nth-of-type(3),
#registration form .telephone span:nth-of-type(5) {
	width:74px;
}

#registration form .telephone span:nth-of-type(2),
#registration form .telephone span:nth-of-type(4) {
	width:26px;
	font-size:11px;
}

#registration form .zipcode input {
	width:78px;
	text-align:center;
}

#registration form .birthday p,
#registration form .sex p {font-size:11px;}

#registration form .birthday label:before,
#registration form .birthday label:after {
	right:10px;
}

#registration form .birthday label:before {
	top:14px;
	border-bottom:3px solid #f185b6;
}

#registration form .birthday label:after {
	bottom:14px;
	border-top:3px solid #f185b6;
}

#registration form .birthday select {
	width:58px;
	height:36px;
	padding-left:15px;
}

#registration form .birthday select#year {
	width:79px;
	padding-left:18px;
}

#registration form .birthday label+span {
	margin:0 0px 0 3px;
	font-size:11px;
}

#registration form .sex label {
	font-size:11px;
}

#registration form .sex label:nth-of-type(2) {
	margin-left:8em;
}

#registration form .mail-magazine label {
	font-size:11px;
}

#registration form .mail-magazine label:nth-of-type(2) {
	margin-left:6em;
}

#registration form .membership-number p {
	font-size:9px;
}

#registration form .membership-number label {
	padding-top:0;
	line-height:1.6;
}

#registration form .captcha,
#registration form .captcha p {
	text-align:center;
}

#registration form .captcha p:nth-child(1) {
	width:115px;
}

#registration form .captcha p {
	width:auto;
	height:auto;
}

#registration form .captcha input[type="text"] {
	width:115px;
	margin-top:13px;
}

/* /registration */


/* confirmation/ */

#confirmation {
	max-width:460px;
}

#confirmation h1 span+span {
	margin-top:10px;
}

#confirmation #registration-flow {
	background:#fff;
}

#confirmation p {
	font-size:11px;
}

#confirmation .warning li {
	font-size:8px;
}

#confirmation aside h2 {
	margin-top:25px;
	font-size:9px;
}

#confirmation aside p {
	margin-top:10px;
	font-size:9px;
}

/* /confirmation */


/* completion/ */

#completion {
	max-width:460px;
}

#completion>p {
	font-size:11px;
}

#completion h2 {
	margin-bottom:10px;
	font-size:9px;
}

#completion div:nth-child(2) {
	max-width:264px;
	margin:20px auto 0;
}

#completion div:nth-child(3) {
	max-width:264px;
	margin:15px auto 0;
}

/* /completion */

/* maypage/ */

#mypage {
	max-width:420px;
}

#mypage section+section {
	margin-top:26px;
}

#mypage h2 {
	margin-bottom:20px;
	font-size:11px;
	text-align:center;
}

#mypage #digital-id dl {
	text-align:center;
}

#mypage #digital-id dt {
	margin-bottom:7px;
	font-size:8x;
}

#mypage #digital-id dd {
	font-size:10px;
}

#mypage #digital-id p {
	width:120px;
	height:120px;
	margin:26px auto 0;
}

#mypage #digital-id p+p {
	margin-top:30px;
	font-size:9px;
}

#mypage #open-campaign #roulette {
	position:relative;
	width:260px;
	height:135px;
	padding-top:0;
}

#mypage #open-campaign #roulette div {
	bottom:11px;
	width:116px;
	height:38px;
}

#mypage #open-campaign #roulette div span {
	width:116px;
	height:38px;
	color:#ccc;
	background:#efefef;
}

#mypage #open-campaign #roulette div span a {
	line-height:36px;
	color:#f185b6;
	background:#fff;
}

#mypage #open-campaign #notes {
	margin-top:20px;
	padding:10px 8px;
	font-size:9px;
}

#mypage #open-campaign #notes p+p {
	margin-top:6px;
}

#mypage ul {
	font-size:0;
}

#mypage li {
	display:table;
	width:264px;
	height:38px;
	margin:0 auto;
}

#mypage li a {
	font-size:12px;
}

#mypage li+li {
	margin:12px auto 0;
}

/* /mypage */


/* change/ */

#change {
	max-width:460px;
}

#change>p {
	font-size:11px;
}

#change>ul {
	margin-top:20px;
}

#change>ul li {
	font-size:8px;
}

#change>form {
	margin-top:30px;
}

#change>form div h2 {
	font-size:9px;
}

#change>form div:first-child h2 {
	margin-bottom:10px;
}

#change>form div:first-child p {
	font-size:11px;
}

#change>form div:nth-child(2) {
	margin-top:30px;
}

#change>form div input[type="password"] {
	margin-top:10px;
}

#change>form div:last-child {
	margin-top:30px;
}

#change>aside h2 {
	margin-bottom:10px;
	font-size:9px;
}

#change>aside p {
	font-size:9px;
}

/* /change */


}

@media all and (-ms-high-contrast:none) and (min-width: 321px) and (max-width: 1023px) {
.whats_new li div p.read { font-size: 24px; width:195%; }
.whats_new li div p.title{ font-size: 15px; width:122%; }
}

@media only screen and (max-width: 320px) {
body{
	-webkit-text-size-adjust:none;
}

.pc {
	display:none;
}
.head_nav .pc {
	display:none !important;
}
.npc {
	display:block;
}
.npc_i {
	display:inline;
}
.head_nav .npc_i{
	display:inline !important;
}
.tab {
	display:none;
}
.sp {
	display:block;
}

header .logo_smetj {
	position:absolute;
	top:12px;
	left:11px;
	margin:0 0 12px 0;
}

header .logo_smtoj {
	text-align:center;
	float:none;
	margin:12px auto;
	padding-right:0;
}

header .header_body {height: 49px;}

.head_nav {
/*	margin:12px 11px 12px 0;
	float:right;*/
}
.navToggle {
    display:block;
    position:absolute !important;
    right:15px;
    top:16px;
    width:20px;
    height:20px;
    cursor:pointer;
	z-index:1;
	}
.navToggle div {position:relative}
.navToggle span {
    display:block;
    position:absolute;
    width:100%;
    border-bottom:solid 1px #ed60a0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out}
.navToggle span:nth-child(1) {top:0}
.navToggle span:nth-child(2) {top:7px}
.navToggle span:nth-child(3) {top:14px}
.navToggle p {
	display:none;
}

.head_nav p img.navToggle{
    position:absolute;
	top:23px;
	right:10px;
	width:19px;
	height:18px;
}

.head_nav{
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    background: #000;
	opacity:.90;
	z-index:10;
	overflow-y: scroll;
	-webkit-overflow-scrolling:touch;
}

.head_nav ul {
	margin-top:80px;
}

.head_nav ul li {
	height:75px;
	color:#ed60a0;
	border-top:1px solid #f291bd;
}
.head_nav ul li:last-child {
	border-bottom:1px solid #f291bd;
	margin-bottom:80px;
}

.head_nav ul li a{
	padding-left:15px;
	text-decoration:none;
	color:#f291bd;
	display:block;
	height:55px;
	padding-top:20px;
}

.head_nav ul li a span{
	display:block;
	font-size:12px;
	margin:6px 0 0 0;
}

.head_nav ul.dxs {
	margin-top:30px;
}

.head_nav ul li.dx {
	border:none;
	padding-left:15px;
	font-size:.7em;
	height:50px;
}

.head_nav ul li.dx a {
	height:30px;
	padding-top:0;
}

.head_nav ul li.dx span {
	display:inline;
	padding-left:15px;
}

.wide_nav {
	margin:0 auto;
	background-color:#f7f7f7;
	line-height: normal;
	z-index:9000;
	padding-top:60px;
	height:40px;
}

.wide_nav img {
	margin:0;
}

.wide_nav a {
	padding: 0;
	background: none;
	background-position: 0 0;
	background-size: auto;
	transition:none;
}

.wide_nav a:hover {
	background: none !important;
}

ul#menu_sp {
	max-width:298px;
	margin:0 auto;
}

ul#menu_sp li {
	padding-bottom:0;
	width:50%;
}

ul#menu_sp li:last-child{
	float:right;
}

ul#menu_sp li a{
	display:block;
	max-width:144px;
	margin:0 4px;
	height:27px;
	text-align:center;
	border:1px solid #f185b6;
	font-size:10px;
	text-decoration:none;
	color:#f185b6;
	font-weight:600;
}

ul#menu_sp li a img{
	vertical-align:middle;
	margin-right:6px;
}

ul#menu_sp li a span{
	position:relative;
	top:2px;
}

.topics {
	padding:10px 0 0;
	height:auto;
}
.topics img{
	display:block;
	margin:0 auto;
}

.topics p{
	color:#fff;
	font-size:9px;
}

.topics p strong{
	display:block;
	font-size:9px;
	font-weight:normal;
	text-align:left;
	line-height:14px;
	padding:11px 3px 10px 10px;
}

.notice {
	max-width:1400px;
	margin:0 auto;
	background-color:#f185b6;
	text-align:center;
	padding:8px 0 0;
	height:auto;
}

.notice p{
	color:#fff;
	font-size:11px;
	line-height:14px;
	font-weight:600;
}

.notice p strong{
	display:block;
	font-size:9px;
	font-weight:300;
	margin:0;
	text-align:left;
	padding:11px 3px 11px 10px;
}

.news_area {
	max-width:978px;
	margin:32px auto 0 auto;
}

.news_area h1{
	font-size:1.3em;
	font-weight:300;
	float:none;
	text-align:center;
	line-height:28px;
	margin-bottom:0;
}

.note_news {
	font-size:9px;
	float:none;
	text-align:center;
	margin-left:0px;
	line-height:28px;
}

.whats_new {
	float:none;
	clear:both;
	margin-top:30px;
}

.whats_new li {
	float:left;
	width:100%;
/*	max-height: 70px;
	overflow: hidden;*/
	margin:13px 0;
}

.whats_new li div{
	float:left;
	width:50%;
/*	overflow:hidden;*/
}

.whats_new li div img{
	float:none;
	width:84%;
	height:22.05vw;
	margin:0 8% 0 8%;
}

.whats_new li div p.title{
	margin: 0;
	line-height:1.2em;
	font-weight:600;
    font-size: 14px;
    width: 100%;
    -webkit-transform: scale(0.9);
    -webkit-transform-origin: 0% 0%;
    -ms-transform: scale(0.9);
    -ms-transform-origin: 0% 0%;
    transform: scale(0.9);
    transform-origin: 0% 0%;
    zoom: 0.9;
}

.whats_new li div p.read{
	margin: 5px 0 0 0;
	line-height:1.6em;
	text-align:left;
    width: 130%;
    font-weight: 500;
    font-size: 16px;
    -webkit-transform: scale(0.7);
    -webkit-transform-origin: 0% 0%;
    -ms-transform: scale(0.7);
    -ms-transform-origin: 0% 0%;
    transform: scale(0.7);
    transform-origin: 0% 0%;
    zoom: 0.7;
}

.whats_new li:last-child {
	margin-right:0;
}
.banner {
	margin:2% 0;
}

.banner ul li {
	width:92%;
	float:none;
	margin:0 4% 4% ;
}
.banner ul li img {
	width:100%;
	height:auto;
}

footer {
	padding-top:0px;
	text-align:center;
}
.footer_banner ul li{
	float:none;
	clear:both;
	max-width:978px;
	margin:0 auto;
}

footer div.footer_banner ul li a{
	display:block;
	float:none;
	clear:both;
	width:auto;
	height:31px;
	border:1px solid #232323;
	padding:25px 0;
	margin:15px 9px;
	text-align:center;
}
footer div.footer_banner ul li a img {
	width:96%;
	height:auto;
	max-width:218px;
}

footer div.footer_banner ul li a.middle {
	margin:15px 9px;
}

footer div.footer_banner ul li a.right {
	margin-right: 10px;
}

footer div.footer_sns {
	float:none;
	clear:both;
	margin:0 auto;
	width:100%;
	max-width:294px;
	padding:8px 0 24px 0;
}

footer div.footer_sns ul li {
	width:33.3%;
	float:left;
	margin:0;
	padding:0;
	text-align:center;
}

footer div.footer_sns ul li a {
	float:none;
	max-width:76px;
	height:auto;
	margin:0 auto;
	padding: 2px 1px 0 1px;
	text-align: center;
	background: #232323;
}

footer div.footer_sns ul li img {
	width:100%;
	height:auto;
}

footer div.footer_sns ul li:nth-child(2) a{
	float:none;
	margin:auto;
	padding: 2px 1px 0 1px;
}

footer .foot_nav ul li {
    width: 100%;
    padding: 0 0;
    margin: 0;
    font-size: 1.0em;
	border-left:none;
	border-right:none;
	border-top:1px solid #aeaeae;
}

footer .foot_nav a {
	display:block;
    max-width: 298px;
	padding:15px 10px;
    margin: 0 auto;
	border:none;
	text-align:left;
	font-weight:600;
	background:var(--arr-img) right center no-repeat;
	background-position: right 10px center;
	background-size: auto 25%;
}

footer .foot_nav a:first-child {
	margin:auto;
}

footer .foot_nav a:last-child {
	border:none;
}

footer .foot_nav li:last-child {
	border-bottom:1px solid #aeaeae;
}

footer .copy {
	font-size:10px;
	margin:30px 0 0;
}


/* common/ */

article {
	max-width:264px;
	padding:36px 28px 0px;
	font-size:11px;
}

article h1 {
	padding-bottom:30px;
	font-size:18px;
}

article h1 span {
	display:block;
}

article h1 span+span {
	margin-top:10px;
}

/* /common */


/* form/ */

article form {
	padding:0;
	font-size:11px;
}

article form input[type="text"],
article form input[type="password"] {
	height:38px;
	padding:0 8px;
	font-size:12px;
}

article form input[type="submit"] {
	height:38px;
	font-size:12px;
}

article form select {
	padding:0 8px;
	font-size:12px;
}

article form textarea {
	padding:13px 8px;
	font-size:12px;
}

::-webkit-input-placeholder {
	padding-top:4px;
}

/* /form */


/* error/ */

#error {
	min-height:38px;
	border:0;
}

#error table {
	height:38px;
}

#error table td {
	text-align:left;
}

#error td p {
	padding:0 11px;
	font-size:12px;
	box-sizing:border-box;
}

/* /error */


/* login/ */

#login form {
	max-width:264px;
}

#login form div+div {
	margin-top:16px;
}

#login form div+div+div {
	margin-top:22px;
}

#login form div:nth-last-child(2) {
	margin-top:30px;
}

#login form div:nth-last-child(1) a {
	height:38px;
	font-size:12px;
	line-height:36px;
}

/* /login */


/* agreement/ */

#agreement section+section {
	margin-top:22px;
}

#agreement h2 {
	margin-bottom:10px;
}

/* /agreement */


/* policy/ */

#policy p,
#policy li {
	padding-top:22px;
}

/* /policy */


/* faq/ */

#questions h2 {
	font-size:11px;
	text-align:center;
}

#questions dt {
	margin:24px 0 10px;
}

#questions dt:first-child {
	margin-top:20px;
}


#questions p+p,
#questions ul+p {
	margin-top:10px;
}

#questions dd dt {
	margin:10px 0 0;
}

#questions section+section {
	margin-top:25px;
}

/* /faq */


/* browser/ */

#browser h2 {
	font-size:11px;
	text-align:center;
}

#browser h3 {
	margin-bottom:10px;
}

#browser h3:first-of-type {
	margin-top:20px;
}

#browser li+li {
	margin-top:6px;
}

#browser section+section {
	margin-top:35px;
}

#browser p {
	margin-top:25px;
	line-height:1.6;
	text-align:justify;
	text-justify:inter-ideograph;
}

#browser>p:first-child {
	margin-top:40px;
}

/* /browser */


/* contact/ */

#contact {
	max-width:264px;
}

#contact>p {
	font-size:11px;
}

#contact>p+p {
	margin-top:23px;
}

#contact div {
	margin-top:16px;
}

#contact div:first-child {
	margin-top:44px;
}

#contact div:nth-last-child(-n+2) {
	margin-top:30px;
}

#contact div:last-child {
	max-width:264px;
}

#contact label:before,
#contact label:after {
	right:10px;
	border-top:10px solid #f185b6;
	border-right:9px solid transparent;
	border-left:9px solid transparent;
}

#contact label:before {
	top:15px;
}

#contact label:after {
	top:13px;
	border-top-color:#fff;
}

#contact select {
	height:37px;
	padding:0 8px;
	font-size:11px;
}

#contact div>p:first-child {
	width:115px;
}

#contact div>p img {
	width:auto;
	height:auto;
}

#contact div>p+input[type="text"] {
	width:115px;
	margin-top:13px;
}

#contact textarea {
	height:123px;
	padding:8px;
	font-size:11px;
}

#contact input[type="submit"] {
	height:38px;
}

/* /contact */


/* lostpassword/ */

#lostpassword {
	max-width:264px;
}

#lostpassword>p {
	font-size:11px;
}

#lostpassword form div {
	margin-top:20px;
}

#lostpassword form div:first-child {
	margin-top:25px;
}

#lostpassword form div:nth-of-type(2) {
	overflow:hidden;
}

#lostpassword form div:last-child {
	max-width:264px;
	margin:30px auto 0;
}

#lostpassword form div h2 {
	font-size:9px;
}

#lostpassword label {
	float:left;
	display:block;
	width:21%;
}

#lostpassword label:first-of-type {
	width:30%;
}

#lostpassword label:before,
#lostpassword label:after {
	right:10px;
}

#lostpassword label:before {
	top:14px;
	border-bottom:3px solid #f185b6;
}

#lostpassword label:after {
	bottom:14px;
	border-top:3px solid #f185b6;
}

#lostpassword select {
	width:100%;
	height:36px;
	padding-left:25%;
}

#lostpassword select#year {
	width:100%;
	padding-left:23%;
}

#lostpassword label+span {
	float:left;
	display:block;
	margin:0 3% 0 1%;
	padding-top:25px;
	font-size:11px;
}

#lostpassword span:last-of-type {
	margin-right:0;
}

/* /lostpassword */


/* memberprivileges/ */

#memberprivileges>p {
	margin-bottom:25px;
	font-size:11px;
}

#memberprivileges .agreement {
	width:auto;
	max-width:264px;
	padding:15px 15px 18px;
	height:250px;
}

#memberprivileges .agreement div {
	padding: 15px 15px 20px;
}

#memberprivileges .agreement h2 {
	font-size:11px;
}

#memberprivileges .agreement h2 span {
	width:100%;
	display:inline-block;
}

#memberprivileges .agreement h2 span+span {
	margin-top:10px;
}

#memberprivileges .agreement h3 {
	margin-bottom:10px;
	font-size:11px;
}

#memberprivileges .agreement section {
	margin-top:15px;
}

#memberprivileges .agreement section+section {
	margin-top:22px;
}

#memberprivileges form div {
	width:auto;
	max-width:264px;
	margin-top:35px;
}

#memberprivileges .agreement p,
#memberprivileges .agreement li {
	font-size:11px;
}

/* /memberprivileges */


/* registration common/ */

#registration-flow {
	height:32px;
	margin-bottom:25px;
}

#registration-flow li:nth-child(2):before,
#registration-flow li:nth-child(2):after,
#registration-flow li:nth-child(3):before,
#registration-flow li:nth-child(3):after {
	border-left-width:8px;
	border-top-width:16px;
	border-bottom-width:16px;
}

#registration-flow li span {
	font-size:10px;
}

#registration-flow li span:before {
	padding-bottom:2px;
	font-size:8px;
}

/* /registration common */


/* registration/ */

#registration {
	max-width:264px;
}

#registration>p {
	font-size:11px;
}

#registration>p+p {
	margin-top:23px;
}

#registration dl {
	margin-top:20px;
}

#registration dt {
	font-size:12px;
}

#registration dd li {
	font-size:12px;
}

#registration form {
	margin-top: 35px;
}

#registration form div+div {
	margin-top:25px;
}

#registration form>div:last-child {
	max-width:264px;
}

#registration form div h2 {
	font-size:9px;
}

#registration form div p {
	margin-bottom:12px;
	font-size:8px;
}

#registration form .name span {
	width:45.4%;
}

#registration form .name span+span {
	margin-left:9%;
}

#registration form input[type="text"]+input[type="submit"] {
	width:105px;
	height:29px;
	font-size:8px;
}

#registration form .telephone span:nth-of-type(1) {
	width:24.23%;
}

#registration form .telephone span:nth-of-type(3),
#registration form .telephone span:nth-of-type(5) {
	width:28.04%;
}

#registration form .telephone span:nth-of-type(2),
#registration form .telephone span:nth-of-type(4) {
	width:9.84%;
	font-size:11px;
}

#registration form .zipcode input {
	width:78px;
}

#registration form .birthday p,
#registration form .sex p {font-size:11px;}

#registration form .birthday {
	overflow:hidden;
}

#registration form .birthday label {
	float:left;
	display:block;
	width:21%;
}

#registration form .birthday label:first-of-type {
	width:30%;
}

#registration form .birthday label:before,
#registration form .birthday label:after {
	right:10px;
}

#registration form .birthday label:before {
	top:14px;
	border-bottom:3px solid #f185b6;
}

#registration form .birthday label:after {
	bottom:14px;
	border-top:3px solid #f185b6;
}

#registration form .birthday select {
	width:100%;
	height:36px;
	padding-left:15px;
}

#registration form .birthday select#year {
	width:100%;
	padding-left:23%;
}

#registration form .birthday label+span {
	float:left;
	display:block;
	margin:0 3% 0 1%;
	padding-top:25px;
	font-size:11px;
}

#registration form .birthday span:last-of-type {
	margin-right:0;
}

#registration form .sex label {
	font-size:11px;
}

#registration form .sex label:nth-of-type(2) {
	margin-left:8.5em;
}

#registration form .mail-magazine label {
	font-size:11px;
}

#registration form .mail-magazine label:nth-of-type(2) {
	margin-left:6.5em;
}

#registration form .membership-number p {
	font-size:9px;
}

#registration form .membership-number label {
	padding-top:0;
	line-height:1.6;
}

#registration form .captcha,
#registration form .captcha p {
	text-align:center;
}

#registration form .captcha p:nth-child(1) {
	width:115px;
}

#registration form .captcha p {
	width:auto;
	height:auto;
}

#registration form .captcha input[type="text"] {
	width:115px;
	margin-top:13px;
}

/* /registration */


/* confirmation/ */

#confirmation {
	max-width:264px;
}

#confirmation h1 span+span {
	margin-top:10px;
}

#confirmation p {
	font-size:11px;
}

#confirmation .warning {
	margin-top:20px;
}

#confirmation .warning li {
	font-size:8px;
}

#confirmation h2 {
	margin-top:25px;
	font-size:9px;
}

#confirmation h2+p {
	margin-top:10px;
	font-size:9px;
}

/* /confirmation */


/* completion/ */

#completion {
	max-width:264px;
}

#completion>p {
	font-size:11px;
}

#completion form {
	margin-top:25px;
}

#completion h2 {
	margin-bottom:10px;
	font-size:9px;
}

#completion div:nth-child(2) {
	max-width:264px;
	margin:20px auto 0;
}

#completion div:nth-child(3) {
	max-width:264px;
	margin:15px auto 0;
}

/* /completion */


/* maypage/ */

#mypage {
	width:auto;
	max-width:264px;
}

#mypage section+section {
	margin-top:26px;
}

#mypage h2 {
	margin-bottom:20px;
	font-size:11px;
	text-align:center;
}

#mypage #digital-id dt {
	margin-bottom:7px;
	font-size:10px;
}

#mypage #digital-id dd {
	font-size:12px;
}

#mypage #digital-id p {
	width:120px;
	height:120px;
	margin:26px auto 0;
}

#mypage #digital-id p+p {
	margin-top:30px;
	font-size:9px;
}

#mypage #open-campaign #roulette {
	position:relative;
	width:auto;
	max-width:260px;
	height:auto;
	max-height:135px;
	padding-top:0;
}

#mypage #open-campaign #roulette div {
	bottom:11px;
	width:116px;
	height:38px;
}

#mypage #open-campaign #roulette div span {
	width:116px;
	height:38px;
	color:#ccc;
	background:#efefef;
}

#mypage #open-campaign #roulette div span a {
	line-height:36px;
	color:#f185b6;
	background:#fff;
}

#mypage #open-campaign #notes {
	margin-top:20px;
	padding:10px 8px;
	font-size:9px;
}

#mypage #open-campaign #notes p+p {
	margin-top:6px;
}

#mypage ul {
	font-size:0;
}

#mypage li {
	display:table;
	width:264px;
	height:38px;
	margin:0 auto;
}

#mypage li a {
	font-size:12px;
}

#mypage li+li {
	margin:12px auto 0;
}

/* /mypage */


/* change/ */

#change {
	max-width:264px;
}

#change>p {
	font-size:11px;
}

#change>ul {
	margin-top:20px;
}

#change>ul li {
	font-size:8px;
}

#change>form {
	margin-top:35px;
}

#change>form div h2 {
	font-size:9px;
}

#change>form div:first-child h2 {
	margin-bottom:10px;
}

#change>form div:first-child p {
	font-size:11px;
}

#change>form div:nth-child(2) {
	margin-top:30px;
}

#change>form div input[type="password"] {
	margin-top:10px;
}

#change>form div:last-child {
	margin-top:30px;
}

#change>aside {
	margin-top:25px;
}

#change>aside h2 {
	margin-bottom:10px;
	font-size:9px;
}

#change>aside p {
	font-size:9px;
}

/* /change */


}
@media screen and (-webkit-min-device-pixel-ratio:0) and (max-width: 375px) {
.whats_new li div p.read{
    font-size: 20px;
}
}

@media all and (-ms-high-contrast:none) and (max-width: 320px) {
.whats_new li div p.read { font-size: 22px; width:195%; }
.whats_new li div p.title{ font-size: 14px; width:122%; }
}

@media only screen and (max-width: 299px) {
#registration-flow li span:before {padding-bottom:0;}
}

@media only screen and (max-width: 289px) {
header .logo_smtoj {width:50%;height:auto;}
header .header_body {height: 49px;}
footer div.footer_sns ul li a {width:90%;}
}



/* /about */

#about {
	max-width:1048px;
	padding-left:0;
	padding-right:0;
}

#about h1 span {
	display:inline-block;
	margin-top:12px;
	font-size:10px;
}

#about #about-wrapper {
	max-width:818px;
	margin:0 auto;
	padding:0 28px;
}

#about #about-wrapper>p {
	margin-top:23px;
	font-size:14px;
	line-height:2;
	text-align:left;
}

#about #about-wrapper>p:first-of-type {
	margin-top:-8px;
}

#about #about-wrapper>p:last-of-type {
	margin-bottom:25px;
}

#about #about-wrapper>p span {
	font-weight:bold;
}

#about #accordion-title {
	position:relative;
	display:block;
	max-width:100%;
	min-height:33px;
	padding:8px 31px;
	font-size:13px;
	line-height:1.5;
	text-align:center;
	border:1px solid #000;
	box-sizing:border-box;
}

#about #accordion-title:before {
	position:absolute;
	top:50%;
	right:8px;
	width:13px;
	height:1px;
	background:#000;
	content:'';
}

#about #accordion-title:after {
	position:absolute;
	top:50%;
	right:8px;
	width:13px;
	height:1px;
	background:#000;
	transform:rotate(90deg);
	content:'';
}

#about #accordion-title.open:after {
	display:none;
}

#about #accordion-title span {
	display:inline-block;
}

#about #accordion-contents {
	max-width:100%;
	padding:10px;
	font-size:13px;
	line-height:1.5;
	border:1px solid #000;
	border-top:0;
	box-sizing:border-box;
	text-align:justify;
	text-justify:inter-ideograph;
}

/* #about a {
	display:block;
	color:#fff;
	text-align:center;
	text-decoration:none;
	background:#ed60a0;
	box-sizing:border-box;
} */

#about #about-wrapper>a {
	max-width:100%;
	height:62px;
	margin-top:30px;
	padding-top:10px;
	font-size:16px;
	line-height:1.375;
	font-weight:bold;
}

#about a[style] {
	background:#dcdcdc;
}

#about aside p {
	margin-top:35px;
	font-size:13px;
	line-height:1.65;
	font-weight:bold;
	text-align:center;
}

#about aside a {
	position:relative;
	max-width:528px;
	height:33px;
	margin:20px auto 0;
	font-size:13px;
	line-height:33px;
}

#about aside a:after {
	position:absolute;
	top:11px;
	right:12px;
	width:10px;
	height:10px;
	border:1px solid #fff;
	border-left:0;
	border-bottom:0;
	transform:rotate(45deg);
	content:'';
}

#about #logomark {
	position:relative;
	width:100%;
	max-width:1048px;
	margin:-9.5% auto 0;
	padding:43.22% 0 0;
	background:var(--logomark-img) no-repeat top center;
	background-size:100%;
	z-index:-1;
}

/* about/ */


@media only screen and (min-width: 321px) and (max-width: 1023px) {

/* /about */

#about {
	max-width:460px;
	padding-left:28px;
	padding-right:28px;
}

#about #about-wrapper {
	max-width:436px;
	padding:0 11px;
}

#about h1 span {
	margin-top:10px;
	font-size:9px;
}

#about #about-wrapper>p {
	margin-top:23px;
	font-size:11px;
	line-height:1.5;
	text-align:left;
}

#about #about-wrapper>p:first-of-type {
	margin-top:0;
}

#about #about-wrapper>p:last-of-type {
	margin-bottom:35px;
}

#about #about-wrapper>p br {
	display:none;
}

#about #about-wrapper>p#tourokukochira br {
	display:block;
}

#about #accordion-title {
	min-height:27px;
	padding:5px 27px;
}

#about #accordion-title:before {
	width:9px;
}

#about #accordion-title:after {
	position:absolute;
	width:9px;
}

#about #accordion-title.open:after {
	display:none;
}

#about a {
	margin:0 auto;
}

#about #about-wrapper>a {
	height:55px;
	margin-top:20px;
	padding-top:12px;
	font-size:12px;
	line-height:1.4;
}

#about aside p {
	margin-top:20px;
	font-size:9px;
}

#about aside a {
	position:relative;
	max-width:298px;
	height:29px;
	margin:15px auto 0;
	font-size:11px;
	line-height:29px;
}

#about aside a:after {
	top:9px;
	right:10px;
	width:9px;
	height:9px;
}

#about #logomark {
	margin-top:-9%;
}

/* about/ */

}


@media only screen and (max-width: 320px) {

/* /about */

#about {
	max-width:264px;
}

#about #about-wrapper {
	max-width:242px;
	padding:0 11px;
}

#about h1 span {
	margin-top:10px;
	font-size:9px;
}

#about #about-wrapper>p {
	margin-top:23px;
	font-size:11px;
	line-height:1.5;
	text-align:left;
}

#about #about-wrapper>p:first-of-type {
	margin-top:0;
}

#about #about-wrapper>p:last-of-type {
	margin-bottom:35px;
}

#about #about-wrapper>p br {
	display:none;
}

#about #about-wrapper>p#tourokukochira br {
	display:block;
}

#about #accordion-title {
	min-height:27px;
	padding:5px 27px;
}

#about #accordion-title:before {
	width:9px;
}

#about #accordion-title:after {
	width:9px;
}

#about #accordion-title.open:after {
	display:none;
}

#about a {
	margin:0 auto;
}

#about #about-wrapper>a {
	height:55px;
	margin-top:20px;
	padding-top:12px;
	font-size:12px;
	line-height:1.4;
}

#about aside p {
	margin-top:20px;
	font-size:9px;
}

#about aside a {
	position:relative;
	max-width:298px;
	height:29px;
	margin:15px auto 0;
	font-size:11px;
	line-height:29px;
}

#about aside a:after {
	top:9px;
	right:10px;
	width:9px;
	height:9px;
}

#about #logomark {
	margin-top:-3.5%;
}

/* about/ */

}


/* /contents */

#contents {
	max-width:978px;
	padding-left:0;
	padding-right:0;
}

#contents h1 span {
	display:inline-block;
	margin-top:12px;
	font-size:10px;
}

#contents section h2 {
	padding:6px 8px;
	font-size:12px;
	color:#fff;
	background:#000;
}

#contents section div {
	margin-top:35px;
}

#contents section h3,
#contents section p {
	font-size:12px;
	line-height:1.825;
}

#contents section h3 {
	margin-top:30px;
}

#contents section p {
	margin-top:8px;
}

#contents>div {
	text-align:center;
}

#contents .registration-button {
	margin-top:70px;
}

#contents .login-button {
	margin-top:55px;
}

#contents>div p {
	font-size:12px;
	line-height:1.825;
}

#contents>div p br {
	display:none;
}

#contents>div a {
	display:inline-block;
	width:100%;
	max-width:818px;
	height:62px;
	margin-top:12px;
	font-size:16px;
	line-height:1.4;
	font-weight:bold;
	text-decoration:none;
	box-sizing:border-box;
}

#contents .registration-button a {
	padding-top:10px;
	border:1px solid #f185b6;
}

#contents .login-button a {
	padding-top:11px;
	color:#fff;
	background:#000;
}

#contents.member img {
	width:100%;
	height:auto;
	vertical-align:bottom;
}

#contents.member>div {
	max-width:900px;
	margin:0 auto;
	padding:0 20px;
}

#contents.member .present {
	background:#333;
}

#contents.member .present .present-text,
#contents.member .present .present-notice {
	display:none;
}

#contents.member .guide {
	margin-top:10px;
}

#contents.member .guide .roulette {
	margin:0;
	box-shadow:1px 1px 3px #999;
}

#contents.member .guide .join-roulette {
	margin-top:20px;
}

#contents.member .guide .guide_npc {
	display:none;
}

#contents.member .guide .caution {
	max-width:792px;
	margin:50px auto;
	padding:20px;
	border:1px solid #ef9cc0;
	border-radius:5px;
	background:#f9f9f9;
	box-sizing:border-box;
}

#contents.member .guide .caution h2 {
	margin:0 0 21px;
	padding:0;
	font-size:18px;
	color:#f185b6;
	text-align:left;
	background:transparent;
}

#contents.member .guide .caution ul {
	max-width:676px;
	margin:0 auto;
}

#contents.member .guide .caution li {
	margin:10px auto;
	font-size:12px;
	line-height:1.5;
	text-align:left;
}

#contents.member .smt-tokyo {
	max-width:864px;
	margin:25px auto 0;
	background:#f7f7f7;
	box-shadow:1px 1px 1px #999;
}

#contents.member .smt-tokyo .text-wrapper {
	max-width:820px;
	margin:0 auto;
	padding-bottom:20px;
}

#contents.member .smt-tokyo .text-wrapper p {
	max-width:780px;
	margin:20px auto;
	font-size:15px;
	line-height:1.8;
}

#contents.member .smt-tokyo .text-wrapper p br {
	display:block;
}

#contents.member .smt-tokyo .text-wrapper .shop-information {
	max-width:490px;
	margin:10px auto;
	text-align:left;
	border:1px solid #ccc;
	background:#fff;
	box-sizing:border-box;
}

#contents.member .smt-tokyo .text-wrapper .shop-information dl {
	display:table;
	padding:10px 20px;
}

#contents.member .smt-tokyo .text-wrapper .shop-information dt,
#contents.member .smt-tokyo .text-wrapper .shop-information dd {
	display:table-cell;
}

#contents.member .smt-tokyo .text-wrapper .shop-information dt {
	width:80px;
	font-size: 12px;
	color:#fff;
	text-align:center;
	vertical-align:middle;
	background:#333;
}
#contents.member .smt-tokyo .text-wrapper .shop-information dd {
	padding-left:10px;
	font-size:13px;
	line-height:1.46;
	vertical-align:top;
}

#contents.member .smt-tokyo .text-wrapper .button-area {
	width: 95%;
	margin:30px auto;
	overflow:hidden;
}

#contents.member .smt-tokyo .text-wrapper .button-area01 {
	float: left;
	width: 60%;
	margin:0;
	text-align:right;
	line-height:3em;
	font-size: 12px;
	text-align:right;
}

#contents.member .smt-tokyo .text-wrapper .button-area01 .kaki {
	display:none;
}

#contents.member .smt-tokyo .text-wrapper .button-area02 {
	
	margin:0 auto;
	width: 35%;
	text-align:center;
}

#contents.member .smt-tokyo .text-wrapper .button-area02 a {
	display:inline-block;
	width:auto;
	height:auto;
	max-width:auto;
	margin:0;
}

#contents.member .smt-tokyo .text-wrapper .button-area02 img {
	width:200px;
	height:auto;
}

#contents.member .smtown {
	max-width:864px;
	margin:0 auto;
	padding-bottom:20px;
	color:#333;
	background:#ffeaf4;
	box-shadow:1px 1px 1px #999;
}

#contents.member .smtown .text {
	width:90%;
	margin:20px auto;
	font-size: 16px;
	color:#333;
}

#contents.member .smtown .link-area {
	width:60%;
	margin:0px auto;
	padding:10px;
	font-size:12px;
	text-align:center;
	background:#fff;
	border-radius:4px;
}

#contents.member .smtown .link-area a {
	display:inline;
	width:auto;
	height:auto;
	font-size:12px;
	font-weight:normal;
}

/* contents/ */


@media only screen and (min-width: 321px) and (max-width: 1023px) {

/* /contents */

#contents {
	max-width:460px;
	padding-left:28px;
	padding-right:28px;
}

#contents h1 span {
	margin-top:10px;
	font-size:9px;
}

#contents section h2 {
	font-size:11px;
	text-align:center;
}

#contents section div {
	height:0;
	margin-top:20px;
	padding-top:150px;
	background:var(--contents-main-img) no-repeat center top;
	background-size:auto 100%;
}

#contents section div img {
	display:none;
}

#contents section h3,
#contents section p {
	font-size:11px;
	line-height:1.55;
}

#contents section h3 {
	margin-top:15px;
}

#contents section p {
	margin-top:8px;
}

#contents .registration-button {
	margin-top:35px;
}

#contents .login-button {
	margin-top:30px;
}

#contents>div p {
	font-size:11px;
	line-height:1.55;
}

#contents>div p br {
	display:block;
}

#contents>div a {
	max-width:460px;
	height:55px;
	margin-top:12px;
	font-size:12px;
	line-height:1.55;
}

/* contents/ */

}

@media only screen and (min-width: 769px) and (max-width: 1023px) {

/* /contents */

#contents.member {
	max-width:900px;
}

#contents.member .pc {
	display:block;
}

#contents.member .npc {
	display:none;
}

#contents.member img {
	width:100%;
	height:auto;
	vertical-align:bottom;
}

#contents.member>div {
	max-width:900px;
	margin:0 auto;
	padding:0 20px;
}

#contents.member section div {
	height:auto;
	padding-top:0;
	background:transparent none;
}

#contents.member .guide {
	margin-top:10px;
}

#contents.member .guide .roulette {
	margin:0;
	box-shadow:1px 1px 3px #999;
}

#contents.member .guide .join-roulette {
	margin-top:20px;
}

#contents.member .guide .guide_npc {
	display:none;
}

#contents.member .guide .caution {
	max-width:792px;
	margin:50px auto;
	padding:20px;
	border:1px solid #ef9cc0;
	border-radius:5px;
	background:#f9f9f9;
	box-sizing:border-box;
}

#contents.member .guide .caution h2 {
	margin:0 0 21px;
	padding:0;
	font-size:18px;
	color:#f185b6;
	text-align:left;
	background:transparent;
}

#contents.member .guide .caution li {
	margin:10px auto;
	font-size:12px;
	line-height:1.5;
	text-align:left;
}

#contents.member .smt-tokyo {
	max-width:864px;
	margin:25px auto 0;
	background:#f7f7f7;
	box-shadow:1px 1px 1px #999;
}

#contents.member .smt-tokyo .text-wrapper {
	max-width:820px;
	margin:0 auto;
	padding-bottom:20px;
}

#contents.member .smt-tokyo .text-wrapper p {
	max-width:780px;
	margin:20px auto;
	padding:0 20px;
	font-size:15px;
	line-height:1.8;
	text-align:left;
}

#contents.member .smt-tokyo .text-wrapper p br {
	display:block;
}

#contents.member .smt-tokyo .text-wrapper .shop-information {
	max-width:490px;
	margin:10px auto;
	text-align:left;
	border:1px solid #ccc;
	background:#fff;
	box-sizing:border-box;
}

#contents.member .smt-tokyo .text-wrapper .shop-information dl {
	display:table;
	padding:10px 20px;
}

#contents.member .smt-tokyo .text-wrapper .shop-information dt,
#contents.member .smt-tokyo .text-wrapper .shop-information dd {
	display:table-cell;
}

#contents.member .smt-tokyo .text-wrapper .shop-information dt {
	width:80px;
	font-size: 12px;
	color:#fff;
	text-align:center;
	vertical-align:middle;
	background:#333;
}
#contents.member .smt-tokyo .text-wrapper .shop-information dd {
	padding-left:10px;
	font-size:13px;
	line-height:1.46;
	vertical-align:top;
}

#contents.member .smt-tokyo .text-wrapper .button-area {
	width: 95%;
	margin:30px auto;
	overflow:hidden;
}

#contents.member .smt-tokyo .text-wrapper .button-area01 {
	float: left;
	width: 60%;
	margin:0;
	text-align:right;
	line-height:3.3em;
	font-size: 11px;
	text-align:right;
}

#contents.member .smt-tokyo .text-wrapper .button-area01 .kaki {
	display:none;
}

#contents.member .smt-tokyo .text-wrapper .button-area02 {
	
	width: 35%;
	height:auto;
	margin:0 auto;
	text-align:center;
}

#contents.member .smt-tokyo .text-wrapper .button-area02 a {
	display:inline-block;
	width:auto;
	height:auto;
	max-width:auto;
	margin:0;
}

#contents.member .smt-tokyo .text-wrapper .button-area02 img {
	display:block;
	width:200px;
	height:auto;
}

#contents.member .smtown {
	max-width:864px;
	margin:0 auto;
	padding-bottom:20px;
	color:#333;
	background:#ffeaf4;
	box-shadow:1px 1px 1px #999;
}

#contents.member .smtown .text {
	width:90%;
	margin:20px auto;
	font-size: 16px;
	color:#333;
	text-align:left;
}

#contents.member .smtown .link-area {
	width:60%;
	margin:0px auto;
	padding:10px;
	font-size:12px;
	text-align:center;
	background:#fff;
	border-radius:4px;
}

#contents.member .smtown .link-area a {
	display:inline;
	width:auto;
	height:auto;
	font-size:12px;
	font-weight:normal;
}

/* contents/ */

}

@media only screen and (max-width: 320px) {

/* /contents */

#contents {
	max-width:264px;
	padding-left:28px;
	padding-right:28px;
}

#contents h1 span {
	margin-top:10px;
	font-size:9px;
}

#contents section h2 {
	font-size:11px;
	text-align:center;
}

#contents section div {
	height:0;
	margin-top:20px;
	padding-top:150px;
	background:var(--contents-main-img) no-repeat center top;
	background-size:auto 100%;
}

#contents section div img {
	display:none;
}

#contents section h3,
#contents section p {
	font-size:11px;
	line-height:1.55;
}

#contents section h3 {
	margin-top:15px;
}

#contents section p {
	margin-top:8px;
}

#contents .registration-button {
	margin-top:35px;
}

#contents .login-button {
	margin-top:30px;
}

#contents>div p {
	font-size:11px;
	line-height:1.55;
}

#contents>div p br {
	display:block;
}

#contents>div a {
	max-width:460px;
	height:55px;
	margin-top:12px;
	font-size:12px;
	line-height:1.55;
}

/* contents/ */

}

@media only screen and (min-width: 240px) and (max-width: 768px) {

/* /contents */

#contents.member {
	max-width:767px;
}

#contents.member>div {
	max-width:900px;
	margin:auto;
	padding:0;
}

#contents.member .pc {
	display:none;
}

#contents.member .npc {
	display:block;
}

#contents.member section div {
	height:auto;
	padding-top:0;
	background:transparent none;
}

#contents.member .present .present-text,
#contents.member .present .present-notice {
	display:block;
	padding:14px;
	text-align:left;
}

#contents.member .present .present-text {
	font-size:16px;
	color:#fff;
}

#contents.member .present .present-notice {
	font-size:10px;
	color:#999;
	text-align:center;
}

#contents.member .guide .guide_npc {
	display:block;
}

#contents.member .guide .guide_npc img {
	display:block;
	margin-top:10px;
	border:1px solid #999;
}

#contents.member .guide .caution {
	max-width:792px;
	margin:50px auto;
	padding:20px;
	border:1px solid #ef9cc0;
	border-radius:5px;
	background:#f9f9f9;
	box-sizing:border-box;
}

#contents.member .smt-tokyo {
	max-width:864px;
	margin:25px auto 0;
	background:#f7f7f7;
	box-shadow:1px 1px 1px #999;
}

#contents.member .smt-tokyo .text-wrapper {
	max-width:820px;
	margin:0 auto;
	padding:15px;
}

#contents.member .smt-tokyo .text-wrapper p {
	max-width:780px;
	margin:20px auto;
	padding:0 20px;
	font-size:15px;
	line-height:1.8;
	text-align:left;
}

#contents.member .smt-tokyo .text-wrapper p br {
	display:block;
}

#contents.member .smt-tokyo .text-wrapper .shop-information {
	max-width:490px;
	margin:10px auto;
	text-align:left;
	border:1px solid #ccc;
	background:#fff;
	box-sizing:border-box;
}

#contents.member .smt-tokyo .text-wrapper .shop-information dl {
	display:block;
	padding:10px;
}

#contents.member .smt-tokyo .text-wrapper .shop-information dt,
#contents.member .smt-tokyo .text-wrapper .shop-information dd {
	display:block;
}

#contents.member .smt-tokyo .text-wrapper .shop-information dt {
	width:100%;
	padding:5px;
	font-size:12px;
	color:#fff;
	text-align:left;
	box-sizing:border-box;
}
#contents.member .smt-tokyo .text-wrapper .shop-information dd {
	width:100%;
	padding:10px;
	font-size:10px;
	line-height:1.46;
	text-align:center;
	box-sizing:border-box;
}

#contents.member .smt-tokyo .text-wrapper .button-area {
	margin:20px auto;
}

#contents.member .smt-tokyo .text-wrapper .button-area01 {
	float:none;
	width:100%;
	margin:0;
	padding-bottom:15px;
	text-align:center;
	line-height:1.5;
	font-size: 11px;
	text-align:center;
}

#contents.member .smt-tokyo .text-wrapper .button-area01 .uki {
	display:none;
}

#contents.member .smt-tokyo .text-wrapper .button-area01 .kaki {
	display:block;
}

#contents.member .smt-tokyo .text-wrapper .button-area02 {
	
	width:80%;
	height:auto;
	margin:0 auto;
	text-align:center;
}

#contents.member .smt-tokyo .text-wrapper .button-area02 a {
	display:inline-block;
	width:100%;
	height:auto;
	max-width:auto;
	margin:0;
}

#contents.member .smt-tokyo .text-wrapper .button-area02 img {
	display:block;
	width:100%;
	height:auto;
}

#contents.member .smtown {
	max-width:864px;
	margin:0 auto;
	padding-bottom:20px;
	color:#333;
	background:#ffeaf4;
	box-shadow:1px 1px 1px #999;
}

#contents.member .smtown .text {
	width:90%;
	margin:20px auto;
	font-size: 16px;
	color:#333;
	text-align:left;
}

#contents.member .smtown .link-area {
	width:60%;
	margin:0px auto;
	padding:10px;
	font-size:12px;
	text-align:center;
	background:#fff;
	border-radius:4px;
}

#contents.member .smtown .link-area a {
	display:inline;
	width:auto;
	height:auto;
	font-size:12px;
	font-weight:normal;
}

#contents.member .smtown .link-area .kaigyo {
	display:block;
}

/* contents/ */

}


/* /pickup */

#pickup {
	max-width:978px;
	padding-left:0;
	padding-right:0;
}

#pickup h1 span {
	display:inline-block;
	margin-top:12px;
	font-size:10px;
}

#pickup #tab {
	margin:0 auto 35px;
	font-size:0;
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
	width: 720px; 
}

#pickup #tab li {
	display:inline-block;
	width:18%;
	padding: 1%;
}

#pickup #tab li img {
	display:block;
	width:104px;
	height:70px;
	cursor:pointer;
	margin:0 auto;
	object-fit:contain;
}

/* #pickup #tab li:nth-of-type(1) img {
	margin:0 13px 0 auto;
}

#pickup #tab li:nth-of-type(2) img {
	margin:0 auto 0 13px;
} */

#pickup #tab li img.pc {
	display:block;
}

#pickup #tab li img.npc {
	display:none;
}

#pickup #tab li p {
	display:inline-block;
	width:100%;
	background:#fff;
	text-align: center;
}

/* #pickup #tab li:nth-of-type(1) p {
	text-align:right;
}

#pickup #tab li:nth-of-type(2) p {
	text-align:left;
} */

#pickup #tab li p span {
	display:inline-block;
	width:104px;
	padding:6px 0 10px;
	font-size:11px;
	color:#000;
	font-weight:bold;
	text-align:center;
	cursor:pointer;
	overflow-wrap: break-word;
	line-height: 1.5;
}

/* #pickup #tab li:nth-of-type(1) p span {
	margin:0 13px 0 auto;
}

#pickup #tab li:nth-of-type(2) p span {
	margin:0 auto 0 13px;
} */

#pickup #tab-contents>div {
	display:none;
}

#pickup #tab-contents>div.active {
	display:block;
}

#pickup #tab-contents h2 {
	margin-bottom:35px;
	padding:6px 8px;
	font-size:12px;
	color:#fff;
	background:#000;
}

#pickup .artist-details {
	font-size:0;
}

#pickup .artist-details div {
	display:inline-block;
	vertical-align:top;
}

#pickup .artist-details .image {
	width:400px;
	height:290px;
}

#pickup .artist-details .image img {
	width:400px;
	height:290px;
	object-fit:contain;
}

#pickup .artist-details .text {
	width:545px;
	margin-left:33px;
	text-align:justify;
	text-justify:inter-ideograph;
}

#pickup .artist-details .text p {
	font-size:12px;
	line-height:1.9265;
}

#pickup .artist-details .text dl {
	margin-top:20px;
}

#pickup .artist-details .text dt {
	font-size:12px;
	line-height:1.855;
}

#pickup .artist-details .text dd span {
	display:inline-block;
	font-size:12px;
	line-height:1.855;
}

#pickup .artist-details .text dd span+span {
	margin-left:12px;
}

#pickup .special-page {
	margin-top:65px;
}

#pickup .special-page h3 {
	padding:6px 8px 4px;
	font-size:12px;
	border-top:1px solid #000;
	border-bottom:1px solid #000;
}

#pickup .special-page p {
	margin-top:25px;
	font-size:12px;
	line-height:1.8;
	text-align:center;
}

#pickup .special-page p+p {
	margin-top:5px;
}

#pickup .information {
	margin-top:25px;
	padding:15px 8px 20px;
	border-top:1px solid #c9c9c9;
	border-bottom:1px solid #c9c9c9;
}

#pickup .information .pickup-info {
	font-size:0;
}

#pickup .information .pickup-info * {
	display:inline-block;
	font-size:12px;
}

#pickup .information .pickup-info a {
	color:#000;
	text-decoration:none;
}

#pickup .information .pickup-info time {
	width:90px;
	font-weight:bold;
}

#pickup .information .pickup-info span:after {
	display:inline-block;
	width:10px;
	height:9px;
	vertical-align:middle;
	background:var(--arrow-img);
	content:'';
}

#pickup .information h4,
#pickup .information ul {
	margin-left:90px;
	font-size:10px;
}

#pickup .information .pickup-info+h4 {
	margin-top:18px;
}

#pickup .information li {
	margin-top:8px;
	font-size:0;
}

#pickup .information li * {
	display:inline-block;
	font-size:10px;
}

#pickup .information li em {
	margin-right:5px;
	font-weight:bold;
	font-style:normal;
}

#pickup .information li time {
	margin-right:5px;
}

#pickup .registration-button {
	margin-top:70px;
	text-align:center
}

#pickup .login-button {
	margin-top:55px;
	text-align:center
}

#pickup .registration-button p,
#pickup .login-button p {
	font-size:12px;
	line-height:1.825;
}

#pickup .registration-button p br,
#pickup .login-button p br {
	display:none;
}

#pickup .registration-button a,
#pickup .login-button a {
	display:inline-block;
	width:100%;
	max-width:818px;
	height:62px;
	margin-top:12px;
	font-size:16px;
	line-height:1.4;
	font-weight:bold;
	text-decoration:none;
	box-sizing:border-box;
}

#pickup .registration-button a {
	padding-top:10px;
	border:1px solid #f185b6;
}

#pickup .login-button a {
	padding-top:11px;
	color:#fff;
	background:#000;
}

/* pickup/ */

@media only screen and (max-width:1023px){
	#pickup #tab{
		width: 100%;
		}

	#pickup #tab li{
		width: 124px;
		padding:10px;
	}
}

@media only screen and (max-width:488px){
	#pickup #tab{
		display: block;
		}

	#pickup #tab li{
		width:100%;
		display:flex;
		align-items: center;
		padding:10px 25px;
	}

	#pickup #tab li p{
		text-align: left;
		padding-left:16px;
		width: calc(100% - 127px);
	}
	#pickup #tab li p span{
		text-align: left;
		width: 100%;
	}
}

@media only screen and (max-width:360px){
	#pickup #tab li{
		padding:10px 0;
	}
}

@media only screen and (min-width: 321px) and (max-width: 1023px) {

/* /pickup */

#pickup {
	max-width:460px;
	padding-left:28px;
	padding-right:28px;
}

#pickup h1 span {
	margin-top:10px;
	font-size:9px;
}

#pickup #tab li img {
	width:111px;
	height:74px;
}

#pickup #tab li img.pc {
	display:none;
}

#pickup #tab li img.npc {
	display:block;
}

#pickup #tab li p span {
	/* width:111px; */
	padding-top:9px;
}

#pickup #tab-contents h2 {
	margin-bottom:20px;
	font-size:11px;
	text-align:center;
}

#pickup .artist-details div {
	display:block;
}

#pickup .artist-details .image {
	width:264px;
	height:200px;
	margin:0 auto;
	padding:0;
	background:#fff;
}

#pickup .artist-details .image img {
	width:100%;
	height:100%;
}

#pickup .artist-details .text {
	width:auto;
	max-width:460px;
	margin:20px 0 0;
}

#pickup .artist-details .text p {
	font-size:11px;
	line-height:1.55;
}

#pickup .artist-details .text dt {
	font-size:9px;
	line-height:1.35;
}

#pickup .artist-details .text dd {
	margin-top:5px;
}

#pickup .artist-details .text dd:first-of-type {
	margin-top:10px;
}

#pickup .artist-details .text dd span {
	font-size:9px;
	line-height:1.35;
}

#pickup .artist-details .text dd span+span {
	margin-left:10px;
}

#pickup .special-page {
	margin-top:50px;
}

#pickup .special-page h3 {
	font-size:11px;
	text-align:center;
}

#pickup .special-page p {
	margin-top:20px;
	font-size:11px;
	line-height:1.5;
}

#pickup .special-page p+p {
	margin-top:15px;
}

#pickup .information {
	padding:0;
	border:none;
}

#pickup .information .pickup-info * {
	display:block;
	font-size:11px;
}

#pickup .information .pickup-info time {
	width:auto;
	padding-bottom:5px;
	border-bottom:1px solid #000;
}

#pickup .information .pickup-info span {
	margin-top:12px;
	line-height:1.55;
}

#pickup .information .pickup-info span:after {
	display:inline-block;
	width:10px;
	height:9px;
	vertical-align:middle;
	background:var(--arrow-img);
	content:'';
}

#pickup .information h4,
#pickup .information ul {
	margin:0;
}

#pickup .information .pickup-info+h4 {
	margin-top:20px;
}

#pickup .information h4 {
	margin-bottom:5px;
}

#pickup .information li {
	margin-top:0;
}

#pickup .information li * {
	line-height:1.7275;
}

#pickup .information li em {
	margin-right:5px;
	font-weight:bold;
	font-style:normal;
}

#pickup .information li time {
	margin-right:5px;
}

#pickup .registration-button {
	margin-top:35px;
}

#pickup .login-button {
	margin-top:30px;
}

#pickup .registration-button p,
#pickup .login-button p {
	font-size:11px;
	line-height:1.55;
}

#pickup .registration-button p br,
#pickup .login-button p br {
	display:block;
}

#pickup .registration-button a,
#pickup .login-button a {
	max-width:460px;
	height:55px;
	margin-top:12px;
	font-size:12px;
	line-height:1.55;
}

/* pickup/ */

}


@media only screen and (max-width: 320px) {

/* /pickup */

#pickup {
	max-width:264px;
	padding-left:28px;
	padding-right:28px;
}

#pickup h1 span {
	margin-top:10px;
	font-size:9px;
}

#pickup #tab li img {
	width:111px;
	height:74px;
}

#pickup #tab li img.pc {
	display:none;
}

#pickup #tab li img.npc {
	display:block;
}

#pickup #tab li p span {
	width:111px;
	padding-top:9px;
}

#pickup #tab-contents h2 {
	margin-bottom:20px;
	font-size:11px;
	text-align:center;
}

#pickup .artist-details div {
	display:block;
}

#pickup .artist-details .image {
	width:264px;
	height:200px;
	margin:0 auto;
	padding:0;
	background:#fff;
}

#pickup .artist-details .image img {
	width:100%;
	height:100%;
}

#pickup .artist-details .text {
	width:auto;
	max-width:460px;
	margin:20px 0 0;
}

#pickup .artist-details .text p {
	font-size:11px;
	line-height:1.55;
}

#pickup .artist-details .text dt {
	font-size:9px;
	line-height:1.35;
}

#pickup .artist-details .text dd {
	margin-top:5px;
}

#pickup .artist-details .text dd:first-of-type {
	margin-top:10px;
}

#pickup .artist-details .text dd span {
	font-size:9px;
	line-height:1.35;
}

#pickup .artist-details .text dd span+span {
	margin-left:10px;
}

#pickup .special-page {
	margin-top:50px;
}

#pickup .special-page h3 {
	font-size:11px;
	text-align:center;
}

#pickup .special-page p {
	margin-top:20px;
	font-size:11px;
	line-height:1.5;
}

#pickup .special-page p+p {
	margin-top:15px;
}

#pickup .information {
	padding:0;
	border:none;
}

#pickup .information .pickup-info * {
	display:block;
	font-size:11px;
}

#pickup .information .pickup-info time {
	width:auto;
	padding-bottom:5px;
	border-bottom:1px solid #000;
}

#pickup .information .pickup-info span {
	margin-top:12px;
	line-height:1.55;
}

#pickup .information .pickup-info span:after {
	display:inline-block;
	width:10px;
	height:9px;
	vertical-align:middle;
	background:var(--arrow-img);
	content:'';
}

#pickup .information h4,
#pickup .information ul {
	margin:0;
}

#pickup .information .pickup-info+h4 {
	margin-top:20px;
}

#pickup .information h4 {
	margin-bottom:5px;
}

#pickup .information li {
	margin-top:0;
}

#pickup .information li * {
	line-height:1.7275;
}

#pickup .information li em {
	margin-right:5px;
	font-weight:bold;
	font-style:normal;
}

#pickup .information li time {
	margin-right:5px;
}

#pickup .registration-button {
	margin-top:35px;
}

#pickup .login-button {
	margin-top:30px;
}

#pickup .registration-button p,
#pickup .login-button p {
	font-size:11px;
	line-height:1.55;
}

#pickup .registration-button p br,
#pickup .login-button p br {
	display:block;
}

#pickup .registration-button a,
#pickup .login-button a {
	max-width:460px;
	height:55px;
	margin-top:12px;
	font-size:12px;
	line-height:1.55;
}

/* pickup/ */

}


/* /topics */

#topics {
	max-width:978px;
	padding-left:0;
	padding-right:0;
}

#topics h1 span {
	display:inline-block;
	margin-top:12px;
	font-size:10px;
}

#topics h1 span#jp{
	display:inline-block;
	margin-top:12px;
	font-size:10px;
}

#topics h1 span#exp{
	display:inline-block;
	margin-top:12px;
	font-size:14px;
	font-weight:bold;
}

#topics section {
	width:100%;
	border-bottom:1px solid #000;
}

#topics h1+section {
	margin-top:-8px;
	border-top:1px solid #000;
}

#topics section a {
	display:block;
	width:100%;
	padding:20px 0;
	font-size:12px;
	line-height:1.8;
	color:#000;
	text-decoration:none;
}

#topics section p:after {
	display:inline-block;
	width:10px;
	height:9px;
	margin-left:6px;
	vertical-align:middle;
	background:var(--arrow-img);
	content:'';
}

#topics #pagination ul {
	position:relative;
	width:100%;
	margin-top:30px;
	font-size:0;
	text-align:center;
}

#topics #pagination li {
	display:inline-block;
	font-size:12px;
}

#topics #pagination .prev {
	position:absolute;
	top:0;
	left:0;
}

#topics #pagination .next {
	position:absolute;
	top:0;
	right:0;
}

#topics #pagination li a {
	display:block;
	padding:0 10px;
	color:#000;
	text-decoration:none;
}

#topics #pagination .prev a,
#topics #pagination .next a {
	padding:0;
}

#topics.event section p {
	font-weight:bold;
}

#topics.styleplus section h2 {
	margin-bottom:5px;
	font-size:10px;
	line-height:1.8;
	font-weight:bold;
}

#topics.news section h2 {
	margin-bottom:5px;
	font-size:10px;
	line-height:1.8;
	font-weight:bold;
}

#topics.archive h1+ul {
	display:table;
	width:100%;
	margin-bottom:30px;
	table-layout:fixed;
}

#topics.archive h1+ul li {
	display:table-cell;
	font-weight:bold;
	text-align:center;
}

#topics.archive h1+ul li a {
	color:#000;
	font-weight:normal;
	text-decoration:none;
}

#topics.archive ul+section {
	border-top:1px solid #000;
}

/* topics/ */


@media only screen and (min-width: 321px) and (max-width: 1023px) {

/* /topics */

#topics {
	max-width:920px;
	padding-left:28px;
	padding-right:28px;
}

#topics h1 span {
	margin-top:10px;
	font-size:9px;
}

#topics section a {
	padding:20px 0;
	font-size:11px;
	line-height:1.525;
}

#topics #pagination ul {
	max-width:300px;
	margin-left:auto;
	margin-right:auto;
}

#topics #pagination li {
	font-size:11px;
}

#topics.styleplus section h2 {
	font-size:9px;
	line-height:1.525;
}

#topics.news section h2 {
	font-size:9px;
	line-height:1.525;
}

#topics.archive h1+ul {
	margin-bottom:25px;
}

#topics.archive h1+ul li {
	font-size:11px;
}

/* topics/ */

}


@media only screen and (max-width: 320px) {

/* /topics */

#topics {
	max-width:264px;
	padding-left:28px;
	padding-right:28px;
}

#topics h1 span {
	margin-top:10px;
	font-size:9px;
}

#topics section a {
	padding:20px 0;
	font-size:11px;
	line-height:1.525;
}

#topics #pagination ul {
	margin-top:20px;
}

#topics #pagination li {
	font-size:11px;
}

#topics.styleplus section h2 {
	font-size:9px;
	line-height:1.525;
}

#topics.news section h2 {
	font-size:9px;
	line-height:1.525;
}

#topics.archive h1+ul {
	margin-bottom:20px;
}

#topics.archive h1+ul li {
	font-size:11px;
}

/* topics/ */

}


/* /topics-details */

#topics-details {
	max-width:978px;
	padding-left:0;
	padding-right:0;
}

#topics-details time {
	display:block;
	margin-bottom:10px;
	font-size:10px;
	font-weight:bold;
}

#topics-details h1 span {
	display:inline-block;
	margin-top:10px;
	font-size:9px;
}

#topics-details h1.title {
	padding-bottom:30px;
	font-size:14px;
	line-height:1.825;
	color:#000;
	font-weight:bold;
	text-align:left;
}

#topics-details p {
	font-size:13px;
	line-height:1.825;
}

#topics-details div:not(.eviry-baseplayer *)  {
	margin-top:30px;
	text-align:center;
}

#topics-details #pagination {
	width:100%;
	margin-top:40px;
	border-top:1px solid #000;
}

#topics-details #pagination ul {
	display:table;
	width:100%;
	margin-top:12px;
	table-layout:fixed;
}

#topics-details #pagination li {
	display:table-cell;
}

#topics-details #pagination div {
	margin-top:12px;
}

#topics-details #pagination div a {
	display:inline-block;
	font-size:12px;
	color:#000;
	font-weight:bold;
	text-decoration:none;
}

#topics-details #pagination li:nth-of-type(2) {
	text-align:center;
}

#topics-details #pagination li:nth-of-type(3) {
	text-align:right;
}

#topics-details img {
	max-width:700px;
	max-height:700px;
}

#topics-details .news-flex {
	display: block;
	justify-content: initial;
}

#topics-details .news-flex > * {
	width: auto;
	margin-bottom: 10px;
}

#topics-details .news-flex.reverse {
	display: flex;
	flex-direction: column-reverse;
}

@media all and (min-width: 768px) {
	/* --pcのみ画像大きさ変更-- */
	#topics-details .img_w90 {
		width: 90%;
	}

	#topics-details .img_w80 {
		width: 80%;
	}

	#topics-details .img_w70 {
		width: 70%;
	}

	#topics-details .img_w60 {
		width: 60%;
	}

	#topics-details .img_w50 {
		width: 50%;
	}

	#topics-details .img_h50 {
		max-height: 50vh;
		min-height: 350px;
	}

	#topics-details .img_h40 {
		max-height: 40vh;
		min-height: 350px;
	}

	#topics-details .img_h30 {
		max-height: 30vh;
		min-height: 350px;
	}

	/* --pcのみ画像横並び-- */
	#topics-details .news-flex {
		display: flex;
		justify-content: space-between;
	}

	#topics-details .news-flex > * {
		width: 49%;
	}

	#topics-details .news-flex.reverse {
		flex-flow: initial;
	}
}

/* topics-details/ */


@media only screen and (min-width: 321px) and (max-width: 1023px) {

/* /topics-details */

#topics-details {
	max-width:460px;
	padding-left:28px;
	padding-right:28px;
}

#topics-details time {
	margin-bottom:5px;
}

#topics-details h1 {
	padding-bottom:33px;
	font-size:18px;
	line-height:1.4;
}

#topics-details p {
	font-size:12px;
	line-height:1.65;
}

#topics-details div:not(.eviry-baseplayer *)  {
	margin-top:30px;
}

#topics-details div img {
	width:100%;
	height:100%;
}

#topics-details #pagination {
	margin-top:35px;
}

#topics-details #pagination ul {
	margin-top:20px;
}

#topics-details #pagination li a {
	font-size:11px;
}

#topics-details img {
	max-width:100%;
	max-height:initial;
}

/* topics-details/ */

}


@media only screen and (max-width: 320px) {

/* /topics-details */

#topics-details {
	max-width:264px;
	padding-left:28px;
	padding-right:28px;
}

#topics-details time {
	margin-bottom:5px;
}

#topics-details h1 {
	padding-bottom:30px;
	font-size:18px;
}

#topics-details p {
	font-size:11px;
	line-height:1.55;
}

#topics-details div:not(.eviry-baseplayer *)  {
	margin-top:20px;
}

#topics-details div img {
	width:100%;
	height:100%;
}

#topics-details #pagination {
	margin-top:35px;
}

#topics-details #pagination ul {
	margin-top:20px;
}

#topics-details #pagination li a {
	font-size:11px;
}

#topics-details img {
	max-width:100%;
	max-height:initial;
}

#topics-details .news-flex {
	display: block;
	justify-content: initial;
}

#topics-details .news-flex>* {
	width: auto;
}

#topics-details .news-flex.reverse {
	display: flex;
	flex-direction: column-reverse;
}

/* topics-details/ */

}


/*pager*/
.onFl {
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}

.textSmall {
    font-size: 12px;
}

[class*=flex] {
    display: flex;
    align-items: center;
}

.flexCt {
	justify-content: center;
}
  
.flexSb {
	justify-content: space-between;
}
  
.flexSt {
	justify-content: flex-start;
}
  
.flexEd {
	justify-content: flex-end;
}

.pagerW {
    min-width: 12%;
}

.num_btn {
    display: flex;
    width: 40px;
    background: #808080;
    border: 1px solid #808080;
    color: #000;
    height: 40px;
    margin-right: auto;
    margin-left: auto;
    border-radius: 5px;
}  

.fin .num_btn {
	display: flex;
	width: 40px;
	background: #fff;
	border: 1px solid #808080;
	height: 40px;
	margin-right: auto;
	margin-left: auto;
	border-radius: 5px;
}
  
.pageBtn {
	display: inline;
}

.pager {
	padding: 20px 10px 10px;
	/* border-top: 2px solid #404040; */
	color: #404040;
}
  
.pager a.textSmall {
	color: #404040;
}
  
.pager a.textSmall.current {
	color: #404040;
}

.textSmall.current {
	font-size: 14px;
	padding: 5px;
	/* color: #ffffff; */
	background-color: #f185b6;
	/* border-radius: 3px; */
}
  
.postList+.pager {
	/* border: none; */
	margin-top: 20px;
}
  
.pager .num_btn,
.pager .btn {
	position: relative;
}
  
.pager .next {
	margin-left: 14px;
}
  
.pager .prev {
	margin-right: 14px;
}
  
.pager .next .num_btn:before,
.pager .prev .num_btn:before {
	content: '';
	width: 16px;
	height: 16px;
	border-top: 4px solid #fff;
	border-left: 4px solid #fff;
	position: absolute;
}
  
.pager .next.fin .num_btn:before,
.pager .prev.fin .num_btn:before {
	content: '';
	width: 16px;
	height: 16px;
	border-top: 4px double #848473;
	border-left: 4px double #848473;
	position: absolute;
}
  
.pager .prev .num_btn:before {
	left: 14px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
  
.pager .prev.fin .num_btn:before {
	left: 13px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
  
.pager .next .num_btn:before {
	right: 14px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
}
  
.pager .next.fin .num_btn:before {
	right: 13px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
}


/* /important-notices */

#important-notices {
	max-width:978px;
	padding-left:0;
	padding-right:0;
}

#important-notices h2 {
	margin-top:-8px;
	padding-bottom:30px;
	font-size:14px;
	line-height:1.825;
	color:#000;
	font-weight:bold;
	text-align:justify;
	text-justify:inter-ideograph;
}

#important-notices p {
	font-size:12px;
	line-height:1.825;
}

#important-notices div {
	margin-top:30px;
	text-align:center;
}

#important-notices #pagination {
	width:100%;
	margin-top:40px;
	border-top:1px solid #000;
}

#important-notices #pagination ul {
	width:100%;
	margin-top:12px;
}

#important-notices #pagination li {
	display:block;
	text-align:center;
}

#important-notices #pagination li a {
	display:inline-block;
	font-size:12px;
	color:#000;
	font-weight:bold;
	text-decoration:none;
}

/* topics-details/ */


@media only screen and (min-width: 321px) and (max-width: 1023px) {

/* /important-notices */

#important-notices {
	max-width:460px;
	padding-left:28px;
	padding-right:28px;
}

#important-notices h2 {
	margin-top:-4px;
	padding-bottom:10px;
	font-size:12px;
	line-height:1.75;
}

#important-notices p {
	font-size:11px;
	line-height:1.55;
}

#important-notices div {
	margin-top:30px;
}

#important-notices div img {
	width:100%;
	height:100%;
}

#important-notices #pagination {
	margin-top:35px;
}

#important-notices #pagination ul {
	margin-top:20px;
}

#important-notices #pagination li a {
	font-size:11px;
}

	/* important-notices/ */

}


@media only screen and (max-width: 320px) {

/* /important-notices */

#important-notices {
	max-width:264px;
	padding-left:28px;
	padding-right:28px;
}

#important-notices h2 {
	margin-top:-4px;
	padding-bottom:10px;
	font-size:12px;
	line-height:1.75;
}

#important-notices p {
	font-size:11px;
	line-height:1.55;
}

#important-notices div {
	margin-top:20px;
}

#important-notices div img {
	width:100%;
	height:100%;
}

#important-notices #pagination {
	margin-top:35px;
}

#important-notices #pagination ul {
	margin-top:20px;
}

#important-notices #pagination li a {
	font-size:11px;
}

/* important-notices/ */

}


/* /goods */

#goods {
	max-width:978px;
	padding-left:0;
	padding-right:0;
}

#goods h1 span {
	display:inline-block;
	margin-top:12px;
	font-size:10px;
}

#goods section {
	padding:20px 0;
	font-size:0;
	border-bottom:1px solid #000;
}

#goods h1+section {
	border-top:1px solid #000;
}

#goods section h2 {
	display:inline-block;
	width:150px;
	font-size:14px;
	vertical-align:middle;
}

#goods section ul {
	display:inline-block;
	width:calc(100% - 150px);
	text-align:left;
	vertical-align:middle;
}

#goods section li {
	display:inline-block;
  width:402px!important;
	vertical-align:middle;
}
#goods section li.nonblock {
	display:inline-block;
	width:402px!important;
	font-size:12px;
  line-height:1.5;
	text-align:left;
}

#goods section li+li {
	margin-left:24px;
}

#goods section li a {
	position:relative;
	display:block;
	width:402px!important;
	padding:6px 7px 5px;
	font-size:12px;
	color:#000;
	text-align:left;
	text-decoration:none;
	border:1px solid #000;
	box-sizing:border-box;
}

#goods section li.nonblock a {
	position:static;
	display:inline;
	width:auto;
	font-size:12px;
	color:#f185b6;
	text-align:left;
	text-decoration:underline;
	border:none;
	box-sizing:content-box;
}

#goods section li a:after {
	position:absolute;
	top:7px;
	right:8px;
	display:block;
	width:10px;
	height:9px;
	background:var(--arrow-img) no-repeat 0 0;
	content:'';
}

#goods section li.nonblock a:after {
	position:absolute;
	top:0px;
	right:0px;
	display:none;
	width:10px;
	height:9px;
	background:var(--arrow-img) no-repeat 0 0;
	content:'';
}

#goods .attention {
	font-size:10px;
	border-top:none;
}

/* goods/ */


@media only screen and (min-width: 321px) and (max-width: 1023px) {

/* /goods */

#goods {
	max-width:264px;
	padding-left:28px;
	padding-right:28px;
}

#goods h1 span {
	margin-top:10px;
	font-size:9px;
}

#goods section {
	padding:0;
	border-bottom:0;
}

#goods h1+section {
	border-top:0;
}

#goods section+section {
	margin-top:35px;
}

#goods section h2 {
	display:block;
	width:100%;
	padding-bottom:10px;
	font-size:12px;
	vertical-align:top;
	border-bottom:1px solid #000;
}

#goods section ul {
	display:block;
	width:100%;
	text-align:left;
	vertical-align:top;
}

#goods section li {
	display:block;
	margin-top:15px;
	width:100%!important;
}
  
#goods section li.nonblock {
	width:100%!important;
}

#goods section li+li {
	margin-left:0;
}

#goods section li a {
	width:100%!important;
	padding:5px 8px;
	font-size:11px;
}

#goods section li a:after {
	top:6px;
	right:5px;
}
#goods .attention {
	margin-bottom: 15px;
	font-size:10px;
	border-top:none;
}

#goods section li:empty{
  display:none;
}

/* goods/ */

}


@media only screen and (max-width: 320px) {

/* /goods */

#goods {
	max-width:264px;
	padding-left:28px;
	padding-right:28px;
}

#goods h1 span {
	margin-top:10px;
	font-size:9px;
}

#goods section {
	padding:0;
	border-bottom:0;
}

#goods h1+section {
	border-top:0;
}

#goods section+section {
	margin-top:35px;
}

#goods section h2 {
	display:block;
	width:100%;
	padding-bottom:10px;
	font-size:12px;
	vertical-align:top;
	border-bottom:1px solid #000;
}

#goods section ul {
	display:block;
	width:100%;
	text-align:left;
	vertical-align:top;
}

#goods section li {
	display:block;
	margin-top:15px;
	width:100%!important;
}

#goods section li.nonblock {
	width:100%!important;
}

#goods section li+li {
	margin-left:0;
}

#goods section li a {
	width:100%!important;
	padding:5px 8px;
	font-size:11px;
}

#goods section li a:after {
	top:6px;
	right:5px;
}

#goods .attention {
	margin-bottom: 15px;
	font-size:10px;
	border-top:none;
}

/* goods/ */

}


/* /fc */

#fc .pc {
	display:inline;
}

#fc {
	max-width:818px;
	margin:0 auto;
	padding:55px 28px 80px;
}

#fc h1 span {
	display:inline-block;
	margin-top:12px;
	font-size:10px;
}

#fc section {
	margin-top:-8px;
	padding:20px 2px 30px;
	border-top:1px solid #666;
	border-bottom:1px solid #666;
}

#fc section  a {
	color:#000;
}

#fc section .fc_box{
	float:none;
	clear:both;
	width:100%;
	margin-bottom:28px;
}

#fc section .fc_box:last-child{
	margin-bottom:0;
}

#fc section .fc_box .ta_box{
	float:left;
	width:100%;
	max-width:400px;
	display: table;
}

#fc section .fc_box .ta_box .fc_logo{
	display:table-cell;
	width:127px;
	height:102px;
	vertical-align:middle;
	text-align:center;
}

#fc section .fc_box .ta_box .fc_logo img{
	width:100%;
	height:100%;
	object-fit: contain;
}

#fc section .fc_box .fc_txt{
	max-width:209px;
	display:table-cell;
	vertical-align:middle;
	height:102px;
	padding-left:10px;
}

#fc section .fc_box .fc_txt h2{
	font-size:10px;
	line-height:14px;
	margin-top:14px;
	margin-bottom: 12px;
	font-weight:300;
}

#fc section .fc_box .fc_txt a{
	margin-top:10px;
	font-size:10px;
	text-decoration:none;
}

#fc section .fc_box .fc_txt p+p{
	margin-top:17px;
}

#fc section .fc_box .fc_txt p strong{
	font-size:14px;
	font-weight:600;
}

#fc section .fc_box .fc_txt .url{
	font-size:10px;
}
.box {
	display: table;
}
.box .image {
	display: table-cell;
	width: 400px;
	height: 400px;
	background: #CCCCCC;
	vertical-align: middle;
	text-align: center;
}

#fc section .fc_box .box{
	float:left;
	width:100%;
	max-width:400px;
	display: table;
}

@media only screen and (max-width: 1023px) {
#fc .pc {
	display:none;
}
#fc {
	max-width:264px;
	padding-bottom:0px;
}

#fc section {
	border-bottom:none;
	padding-bottom:20px;
	padding-top:13px;
}

#fc section .fc_box{
	margin-bottom:0;
}

#fc section .fc_box .ta_box {
	float:none;
	width:100%;
	display: table;
	margin-bottom:16px;
}

#fc section .fc_box .ta_box .fc_logo {
	display: table-cell;
	width:88px;
	height: 70px;
	vertical-align: middle;
	text-align: center;
}

#fc section .fc_box .fc_txt{
	max-width:160px;
	margin-right:0;
	padding-left:11px;
}

#fc section .fc_box .fc_txt h2{
	font-size:8px;
	line-height:12px;
	margin-top:8px;
	font-weight:300;
	margin-bottom:6px;
}

#fc section .fc_box .fc_txt p{
	font-size:8px;
}

#fc section .fc_box .fc_txt p+p{
	margin-top:9px;
}

#fc section .fc_box .fc_txt p strong{
	font-size:12px;
	font-weight:600;
}

#fc section .fc_box .fc_txt a{
	font-size:8px;
}

}
/* fc/ */



/* 404/ */
#not_found section+section {
	margin-top:25px;
}


#not_found p{
	font-size:12px;
	line-height:1.6;
	text-align:center;
	text-justify:inter-ideograph;
    margin-top:20px;
}

#not_found a {
	font-size:14px;
	line-height:1.4;
	font-weight:bold;
	text-decoration:none;
}
/* /404 */


/* What's NEW タイトル部分のを左揃えに */
@media only screen and (max-width:667px){
	.whats_new li div p.title{
		text-align: left;
	}
}


/* Android用にWhat's NEW、バナーエリアイレギュラー対応/ */

@media only screen and (min-width: 321px) and (max-width: 667px) {


.whats_new li {
	float:left;
	width:100%;
	margin:13px 0;
}

.whats_new li div{
	float:left;
	width:50%;
}

.whats_new li div img{
	float:none;
	width:84%;
	height:22.05vw;
	margin:0 8% 0 8%;
}

.whats_new li:last-child {
	margin-right:0;
}

.banner ul li {
	width:92%;
	float:left;
	height:auto;
	margin:2% 4% 2% 4%;
}
}

.scauthnotlogintop {
	background-color: #FF6A8E;
    color: white;
    text-align: center;
    margin: 50px 0px 50px 0px;
	padding: 10px 0px 10px 0px;
}

.scauthnotloginbottom {
	color: black;
    text-align: center;
    margin-bottom: 30px;
}

/* /Android用にWhat's NEW、バナーエリアイレギュラー対応 */
