*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html, body {
  font-family: "Hiragino Sans", sans-serif;
  font-weight: 500;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  height: 100%;
}
a, input, button, select, textarea {
  font-family: inherit;
  font-weight: inherit;
  text-decoration: none;
  color: #333;
}
li {
list-style: none;
}
body:not(.home) ol {
text-align: left;
  margin-top: 4px;
}
body:not(.home) main h1 {
  margin-top: 30px;
  margin-bottom: 30px;
}
body.home main {
  margin-top: 32px;
}
.container {
display: flex;
justify-content: flex-start;
flex-direction: column;
min-height: 100vh;
min-height: 100dvh; 
width: 100%;
}
header {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
height: 70px; 
max-width: 1460px;
border-bottom: 1px #a5a79a solid;
background: #eee;
}
.logo {
display: flex;
align-items: center;
line-height: 1;
height: 70px;
margin-left: 4%;
width: 65%;
background-size: 25px 25px;
background-image: url('/assets/img/logo.svg');
background-repeat: no-repeat;
background-position: 0px center;
}
.logo img {
width: 100%;
padding-left: 32px;
margin-top:5px;
}
.glass-button {
display: flex;
align-items: center;
height: 70px;
margin-right: 5%;
width: 7%;
}
.glass-button img {
margin-top: 5px;
width: 90%;
}
ol {
width:96%;
}
footer {
margin-top: 32px;
}

.breadcrumb {
padding-left: 4px;
}
.breadcrumb li {
color: #666;
display: inline-block;
padding-right: 20px;
position: relative;
}
.breadcrumb li::after {
content: "";
width: 8px;
height: 8px;
border-top: solid 1px #333;
border-right: solid 1px #333;
transform: rotate(45deg);
position: absolute;
margin-left: 8px;
margin-top: 4px;
}
.breadcrumb li:last-child::after {
content: '';
border: 0;
}
.breadcrumb li a {
color: #666;
display: inline-block;
font-weight: bold;
}
main {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
padding: 0px auto 0px;
flex: 1;
}
.page-title {
width: 100%;
}
.site-streaming {
padding-left: 22px;
background-image: url('/assets/img/streaming.svg');
background-repeat: no-repeat;
background-size: 15px auto;
background-position: 0 0;
flex-shrink: 0;
}
.site-camera {
padding-left: 22px;
background-image: url('/assets/img/camera.svg');
background-repeat: no-repeat;
background-size: 15px auto;
background-position: 0 0px;
flex-shrink: 0;
}
h2 {
font-size: 20px;
margin-bottom: 20px;
letter-spacing: 0.1em;
}
.cm-wrap {
padding-bottom: 32px;
}
.right-cm-wrap {
padding-bottom: 32px;
}
.right-midashi {
font-size: 20px;
font-weight: bold;
margin-bottom: 16px;
letter-spacing: 0.1em;
}
.rank-stop {
margin-bottom: 28px;
}
#page-top {
position: fixed;
right: 20px;
background: #000;
width: 36px;
height: 36px;
display: flex;
justify-content: center;
align-items: center;
border-radius: 5px;
opacity: 0.8;
}
#page-top img {
width: 75%;
height: 75%;
bottom: 20px;
}
footer {
color: #fff;
background: #333;
margin-top: 40px;
width: 100%;
padding: 16px 3% 20px;
}
footer a {
color: #fff;
}
footer ul {
display: flex;
flex-wrap: wrap;
line-height: 2;
}
footer li {
margin-right: 20px;
}
footer li:last-of-type {
margin-right: 0;
}
@media screen and (max-width: 520px) {
main {
display: block;
width: 94%;
}
.right-contents {
width: 100%;
}
}
@media screen and (max-width: 1023px) and (min-width: 521px) {
body.home main {
  margin-top: 40px;
}
.logo {
margin-left: 3%;
width: 40%;
background-size: 28px 28px;
}
.glass-button {
margin-right: 4%;
width: 4%;
}
ol {
width: 92%;
}
main {
display: block;
width: 92%;
}
.cm-wrap {
padding-bottom: 40px;
}
.right-cm-wrap {
padding-bottom: 40px;
}
h2 {
font-size: 23px;
margin-bottom: 20px;
letter-spacing: 0.1em;
}
.right-contents {
width: 100%;
}
.right-midashi {
font-size: 23px;
font-weight: bold;
margin-bottom: 20px;
letter-spacing: 0.1em;
}
.rank-stop {
margin-bottom: 48px;
}
#page-top {
bottom: 100px;
}
footer {
text-align: right;
padding: 0;
}
footer ul {
position: relative;
width:94%;
margin: 0 auto;
padding: 16px 0 28px;
line-height: 2.3;
}
}
@media screen and (min-width: 1024px) {
body.home main {
  margin-top: 52px;
}
.logo {
margin-left: 7%;
width: 25%;
background-size: 28px 28px;
}
.glass-button {
margin-right: 8%;
width: 3%;
}
ol {
width: 86%;
max-width: 1460px;
}
main {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex: 1; 
max-width: 1460px;
width: 86%;
align-items: flex-start;
}
h2 {
font-size: 23px;
margin-bottom: 20px;
letter-spacing: 0.1em;
}
.cm-wrap {
padding-bottom: 52px;
}
.left-contents {
position: relative;
width: 70%;
}
.right-contents {
position: relative;
width: 25%;
margin-bottom: 52px;
padding: 20px 12px 20px;
border: 1px #a5a79a solid;
border-radius: 2px;
background: #eee;
}
.right-midashi {
display: block;
width: 100%;
position: relative;
color: #fff;
font-weight: normal;
font-size: 16px;
padding: 12px 8px 9px;
margin-bottom: 16px;
background: #4b8954;
border-radius: 2px;
line-height: 1.5;
}
.rank-stop {
margin-bottom: 20px;
line-height: 1.5;
background: #fff;
padding: 16px;
}
#page-top {
bottom: 80px;
}
footer {
margin-top: 52px;
padding: 20px 0 32px;
text-align: right;
height: 80px;
}
footer ul {
width: 86%;
margin: 0 auto;
}
footer li:last-of-type {
margin: 0 0 0 auto;
}
}