@charset 'utf-8';

/*↓reset↓*/
*, *:before, *:after {
box-sizing:border-box;
font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Meiryo',sans-serif;
text-overflow:ellipsis;
padding:0; margin:0;
}
html { -webkit-text-size-adjust:100%;}
h1,h2,h3,h4 { font-weight:normal;}
a:focus { outline:none;}
ul { list-style:none;}
img,iframe { border:0;}
input,textarea,select { display:block; outline:none; resize:none;}
button { border:0; outline:0;}
button::-moz-focus-inner,
input[type='button']::-moz-focus-inner,
input[type='submit']::-moz-focus-inner,
input[type='reset']::-moz-focus-inner {/* 表示崩対策 */
padding:0 !important;
border:0 none !important;
}
label,button:hover { cursor:pointer;}
table { border-collapse:collapse; border-spacing:0;}
/*↑reset↑*/
/*↓body↓*/
body {
position:relative;
width:100vw; min-height:100vh; height:auto;
overflow-x:hidden; overflow-y:scroll;
overflow-scrolling:touch; -webkit-overflow-scrolling:touch;
background:#FFF;
color:#677; line-height:1;
}
/*↑body↑*/
/*↓body-inner↓*/
.body-inner { width:100vw;}
/*↑body-inner↑*/
/*↓a↓*/
a:link,a:visited { color:#677; text-decoration:underline;}
a:hover,a:active { color:#344; text-decoration:none;}
/*↑a↑*/
/*↓header↓*/
header {
background:#677;
background-image:radial-gradient(farthest-side ellipse at center -10%,#677,#161923 90%,#223 150%);
box-shadow:0 2px 2px rgb(0,0,0,25%);
text-align:center;
padding:16px 32px;
}
header h1 {
color:#FFF; font-size:24px;
filter:drop-shadow(0 1px 1px rgb(0,0,0,75%));
}
header h1:before {
display:block; width:160px; height:120px;
background:no-repeat center center; background-size:contain;
margin:0 auto 16px;
content:'';
}
header.ac   h1:before { background-image:url('../img/logo/ac.png');}
header.d4e  h1:before { background-image:url('../img/logo/d4e.png');}
header.egg  h1:before { background-image:url('../img/logo/egg.png');}
header.mall h1:before { background-image:url('../img/logo/mall.png');}
@media screen and (max-width:768px){
header h1 { font-size:20px;}
header h1:before { width:120px; height:90px;}
}
/*↑header↑*/
/*↓section↓*/
section {
max-width:768px; width:auto; margin:0 auto;
padding:32px;
}
section > h2 {
border-bottom:solid 2px #CDD;
color:#455; font-size:20px; line-height:1;
padding-bottom:4px;
margin-top:32px; margin-bottom:16px;
}
section > p { font-size:14px; line-height:1.5;
margin-top:16px; margin-left:1em;
}
section > hr {
height:4px;
border:solid 1px; border-color:#899 #ABB #CDD; border-radius:2px;
margin-top:16px;
}

section > :first-child { margin-top:0;}
section > :last-child { margin-bottom:0;}
@media screen and (max-width:768px){
section { padding:16px;}
section > h2 { font-size:16px;}
section > p { font-size:12px;}
}
/*↑section↑*/
/*↓section -> ul,ol(2層まで)↓*/
section > ol,
section > ul { list-style-type:none; margin-top:16px;}
section ol,
section ul { font-size:14px; line-height:1.5;}
section li { position:relative; margin-left:2em;}
section li:before {
position:absolute; right:100%; top:0;
text-align:right;
}
section ol { counter-reset:i;}
section ol li:before { counter-increment:i 1; content:counter(i)'.';}
section ol li li:before { content:'('counter(i)')';} /* 2層 */
section ul li:before { content:'\30fb';}
@media screen and (max-width:768px){
section ol,
section ul { font-size:12px;}
}
/*↑section -> ul,ol↑*/
/*↓footer↓*/
footer {
position:relative;
background:linear-gradient(#FFF,#DEE 2px,#EFF 12px,#FFF 16px);
line-height:1; text-align:center;
padding:24px;
}
footer:before,
footer:after {/* ぼかし */
position:absolute; z-index:2; top:0;
width:25vw; height:16px;
content:'';
}
footer:before { left:0; background:linear-gradient(to right,#FFF 10%,rgba(255,255,255,0));}/* 左 */
footer:after  { right:0; background:linear-gradient(to left,#FFF 10%,rgba(255,255,255,0));}/* 右 */
footer p { font-size:12px; padding:8px;}/* D4E */
footer p a {
position:relative;
display:inline-block;
color:#ABB; text-decoration:none !important;
}
@media screen and (max-width:768px){
footer { padding:24px 8px 8px;}
}
/*↑footer↑*/