@charset "utf-8";
:root	{
	--ctg1-color:linear-gradient(45deg, #085078 10%, #85d8ce 90%);
	--ctg2-color:linear-gradient(45deg, #16a085 10%, #a0f43f 90%);
	--ctg3-color:linear-gradient(45deg, #f76b1c 10%, #fad961 90%);
	--ctg4-color:linear-gradient(45deg, #ed6ea0 10%, #ec8c69 90%);;
	--ctg5-color:linear-gradient(45deg, #085078 10%, #85d8ce 90%);
	--ctg6-color:linear-gradient(45deg, #085078 10%, #85d8ce 90%);
	--ctg7-color:linear-gradient(45deg, #20b8ae 10%, #b3ffab 90%);
	--ctg8-color:linear-gradient(45deg, #ff0844 10%, #ffb199 90%);
	--ctg9-color:linear-gradient(45deg, #d8d823 10%, #d4d4b1 90%);
}

.bg-ctg1	{
	background: var(--ctg1-color);
}
.bg-ctg2	{
	background: var(--ctg2-color);
}
.bg-ctg3	{
	background: var(--ctg3-color);
}
.bg-ctg4	{
	background: var(--ctg4-color);
}
.bg-ctg5	{
	background: var(--ctg5-color);
}
.bg-ctg6	{
	background: var(--ctg6-color);
}
.bg-ctg7	{
	background: var(--ctg7-color);
}
.bg-ctg8	{
	background: var(--ctg8-color);
}
.bg-ctg9	{
	background: var(--ctg9-color);
}

body {
    color: #514444;
    font-family: "Open Sans", "BIZ UDGothic";
    font-size: 15px;
    width: 100vw;
    overflow-x: hidden;
}

body::before {
    content: "";
    width: 100vw;
    height: 100vh;
    background: url(../img/stripe.png),linear-gradient(to bottom, rgb(29 255 0 / 20%) 20%, #fff 60%, rgb(255 191 0 / 50%));
    background-size: 3em,cover;
    position: fixed;
    z-index: -1;
}

.inner	{
	max-width: 375px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1em;
	padding-right: 1em;
}

.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: .75em 1em;
    width: 100%;
    font-weight: 600;
    color: #fff;
    text-shadow: 1px 2px 3px #313030;
    box-shadow: 0 0.3em 0.26em #aaa;
    border-radius: 1em;
    transition: 0.3s;
    border: 2px #fff solid;
    position: relative;
    background: linear-gradient(to bottom, #00fd46, #017822);
    font-size: 1.2em;
    line-height: 1.2;
}

.btn-arrow::before {
    content: "";
    background-image: url(../img/rightHand.svg);
    width: 2.4rem;
    height: 2rem;
    background-size: 100% auto;
    background-position: left center;
    background-repeat: no-repeat;
    /* position: absolute; */
    /* left: 1em; */
    display: inline-block;
    filter: drop-shadow(1px 2px 3px #313030);
    margin-right: .5em;
}

.accordion dd	{
	display: none;
}

em	{
	font-size: 1em;
    font-style: normal;
    font-weight: 900;
    background: linear-gradient(to bottom, transparent 60%, #ffcf3e 60%);
}

.balloon	{
	margin: .5em 0;
}

.balloon dt {
    font-size: 90%;
    font-weight: 900;
    display: flex;
    align-items: center;
    padding-left: 1em;
}

.balloon dt::before {
    content: "";
    background-image: url(../img/comment-solid.svg);
    width: 1.2em;
    height: 1.2em;
    background-size: auto 100%;
    display: block;
    background-repeat: no-repeat;
    margin-right: .25em;
}

.balloon dd {
    background-color: #ffffff;
    padding: 0.75em 1em;
    border-radius: 1em;
}

.balloon dd::before	{

}

.balloon dd em {
	background: none;
}

.comment p:last-of-type {
    padding: .5em .75em;
    border: 2px solid #00bd34;
    border-radius: 1em;
    width: calc( 100% - 5em);
    margin: 1em 0 0 auto;
    position: relative;
    color: #009f2c;
    background-color: #fff;
    font-weight: 900;
    line-height: 1.4;
    display: flex;
    align-items: center;
    min-height: 4em;
    font-size: .95em;
}

.comment p:last-of-type em	{
	background:none;
}

.comment p:last-of-type::before {
    content: "";
    width: 3.8em;
    height: 3.8em;
    position: absolute;
    left: -5em;
    background-image: url(../img/woman_2.png);
    background-size: cover;
    border: 2px #00bd34 solid;
    border-radius: 100%;
    top: 0;
    background-color: #fff;
}

.comment p:last-of-type::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: .5em 1em .5em 0;
    border-color: transparent #00bd34 transparent transparent;
    position: absolute;
    left: -1em;
    top: 1.5em;
}

.dialog {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,0.8);
	z-index: 100;
	display: flex;
	justify-content: center;
	align-items: center;
}

.dialog > div{
	color: #fff;
	padding: 0 1em 4em;
	max-width: 400px;
}

.dialog .btn	{
	display: block;
	text-align: center;
	padding: 1em;
	margin-top: 1em;
	background-color: #4caf50;
	border-radius: .5em;
	font-size: 1.2em;
}


main {
	display:block;
}

h2 {
    text-align: center;
    font-size: 1.1em;
    font-weight: 900;
}

#goTop, #goHome {
	position: fixed;
	bottom: .5em;
}

#goTop button, #goHome a {
	display: block;
	width: 2.4em;
	height: 2.4em;
	background-color: #fff;
	/* border: 2px #000 solid; */
	border-radius: 100%;
	background-size: 60%;
	background-position: center .4em;
	background-repeat: no-repeat;
	filter: drop-shadow(0 4px 4px rgba(0,0,0,0.5)) opacity(0.8);
}

#goTop	{
	transition: .3s;
	right: .75em;
	bottom: -3em;
}

#goTop.active	{
	bottom: .5em;
}

#goTop button	{
	background-image: url(../img/goTop.svg);
}

#goHome	{
	left: .75em;
}

#goHome a	{
	background-image: url(../img/goHome.svg);
}

footer {
	margin: 0 auto;
	padding: 1em;
	display: block;
	text-align: center;
	background: #ffdfa4;
}

footer ul {
	display: flex;
	justify-content: center;
}


footer ul li {
  padding-bottom: 0.3em;
}
footer ul li:last-child {
  padding-bottom: 0em;
}

footer ul li a {
	position: relative;
	display: block;
	transition: .3s;
	padding: 0 1em;
	text-decoration: underline;
	font-size: 80%;
}

footer ul li a:hover {
  color: #c3bdb9;
}
footer ul li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 0.06em;
  background-color: #c3bdb9;
  transition: .3s;
}
footer ul li a:hover::after {
  width: 100%;
}

/*
aside#gotop button {
  width: 6em;
  height: 6em;
  position: fixed;
  right: 0.6em;
  bottom: 0;
  opacity: 0;
  transition: all 1s ease;
}
aside#gotop button.show {
    opacity: 0.6;
    transform: none;
 }
aside#gotop button a {
  position: relative;
  display: block;
  width: 6em;
  height: 6em;
  text-decoration: none;
}
aside#gotop button a::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 30px;
  color: #A12568;
  position: absolute;
  width: 2em;
  height: 2em;
  top: -2.6em;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
*/
.footerMenu	{
	max-width: 375px;
	margin: 0 auto;
}

.footerMenu h2 {
	text-align: center;
}

.footerMenu h2 ~ div {
	padding: 0;
}

.footerMenu ul {
	display: flex;
	flex-wrap: wrap;
	padding: 0 0.75em;
	margin: 2em 0;
}

.footerMenu ul li {
    width: 25%;
    padding: 0.25em;
}

.footerMenu ul li a {
	background-color: #ffbe47;
	display: flex;
	padding: 0.5em;
	border-radius: 1em;
	/* box-shadow: 0 0.3em 0.1em #222; */
	height: 5.5em;
	justify-content: center;
	/* align-items: center; */
	color: #fff;
	/* justify-content: center; */
	/* background: linear-gradient(to bottom, #00fd46, #017822); */
}

.footerMenu ul li:nth-last-of-type(2) a {
		background-color: #ff5722;
}

.footerMenu ul li:last-of-type a {
	background-color: #4caf50;
}


.footerMenu ul li figure {
}

.footerMenu ul li figure img {
	margin: 0 auto;
	width: 3em;
}

.footerMenu ul li figcaption {
	text-align: center;
	font-size: 85%;
	font-weight: 900;
	margin-top: .2em;
}


.lineReg {
    padding: 0 1em 1em 5.5em;
    /* margin-bottom: 1em; */
    background-image: url(../img/woman_3.png);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: 1em bottom;
    margin-top: 1em;
}

.lineReg p {
    text-align: center;
    font-size: 90%;
    font-weight: 900;
}

.lineReg em {
    font-size: 1.2em;
    background: none;
    color: #00b900;
    padding: 0 .1em;
    position: relative;
    display: inline-block;
}

.lineReg em::before {
    content: "";
    background-image: url(../img/3lines.svg);
    position: absolute;
    left: 0;
    width: 100%;
    height: .5em;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: auto 100%;
    top: -.5em;
}

.lineReg a{
	background-color: #07ba07;
display: block;
padding: .5em 1em;
border-radius: .5em;
box-shadow: 0 2px 2px #333;
}

.ranking_notoken {
	padding: 2em 1em;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.ranking_notoken figure {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 2rem 0;
}

.ranking_notoken figure img {
	width: 7em;
	filter: brightness(0);
	border: 4px #333 solid;
	border-radius: 100%;
	padding: .5em;
	opacity: .8;
	margin-right: .5em;
}

.ranking_notoken figcaption {

}


.ranking_notoken h1 {
	font-size: 1.7em;
	line-height: 1.4;
	display: flex;
	flex-direction: column;
	align-items: baseline;
}

.ranking_notoken h1 em	{
		display: block;
		background: none;
}

.ranking_notoken a {
	border-radius: .5em;
	overflow: hidden;
	display: block;
	filter: drop-shadow(0 .2em .05em rgba(0,0,0,0.9) );
	padding: .2em .5em;
	background-color: #00b900;
	margin:.5em auto 1em;
	max-width: 500px;
}

#devmode	{
	position: fixed;
	top: 0;
	left: 0;
	background-color: #000;
	color: #fff;
	padding: .5em 1em;
	font-size: 60%;
	line-height: 1;
	opacity: .5;
	z-index: 10000;
}



/*---------------------------------------------------------------------*/

/* ---- 360px ---- */

@media screen and (max-width:374px) {
  body {
    font-size: 4vw;
  }

}/*---------------------------------------------------------------------*/

@media( min-width:768px)	{

.inner {
    max-width: 700px;
}

.footerMenu	{
	max-width: 700px;
}

.footerMenu ul {
    justify-content: center;
}

.footerMenu ul li {
    width: 14.2%;
}

.lineReg {
    width: 540px;
    margin: 1em auto 0;
    padding: 2em 0 2em 8em;
}

.lineReg p {

    font-size: 1.2em;
}



}/*---------------------------------------------------------------------*/

@media( min-width:1024px)	{

#goHome {
	left: .75em;
	bottom: auto;
	top: 1em;
}


}/*---------------------------------------------------------------------*/
