@charset "utf-8";

@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
@import url(//use.fontawesome.com/releases/v5.0.6/css/all.css);

/*
	font-family:"FontAwesome";
	font-family:"Font Awesome 5 Free";
*/


/*========================================
 Base
========================================*/
html {font-size:62.5%;}
body{
    background:url("../images/bg.jpg") center top no-repeat #010101 fixed;
    font-size:1.5rem;
    color:#fff;
    line-height:1.6;
}
a{
    color:#b1faf7;
    line-height:1.1;
}
a:hover {color:#aaa;}
#Tokuten a::before, #Attention a::before{
    content:">> ";
    line-height:1;
}

/* PC */
@media screen and (min-width: 641px) {

.spOnly {display:none;}


/* header */
header#HintHeader {text-align:center;}
header#HintHeader #TitleWrap{
    padding:30px 0 0;
    border:none;
}
header#HintHeader #Title{
    background:rgba(8, 79, 107, 0.7);
    width:1000px;
    margin:0 auto;
    padding:20px;
    font-size:4.2rem;
    line-height:1.6;
    box-shadow:7px 7px 0 0 rgba(18,146, 196, 0.7);
}
header#HintHeader #Title span{
    display:block;
    font-size:2rem;
}


/* main */
main{
    background:rgba(5, 29, 28, 0.5);
    width:1000px;
    margin:7px auto 0;
    padding:60px 40px 40px;
}

/* 項目タイトル */
section h2, section p{
    position:relative;
    z-index:0;
}
section h2{
    position:relative;
    margin-bottom:16px;
    font-size:3rem;
    color:#50b9b5;
    text-align:center;
}
section h2::after{
    content:"";
    background:url("../images/triangle.png") center center no-repeat;
    width:81px;
    height:72px;
    position:absolute;
    top:-10px;
    left:384px;
    z-index:-10;
    animation:rotation 18s linear infinite;
}
section h2 span{
    display:inline-block;
    margin-left:1em;
    font-size:2rem;
    color:#faee93;
}


/* ヒント */
.TrainingHint{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    width:90%;
    margin:40px auto 20px;
    font-size:1.6rem;
    line-height:1.5;
}
.TrainingHint li{
    width:calc(100% / 2 - 20px);
    margin:0 10px;
    padding:2px 0;
    list-style:none;
}
.HintSelect{
    background:#000;
    margin:10px 0;
    padding:4px 0;
    text-align:center;
    border:2px solid #50b9b5;
    cursor:pointer;
}
.HintSelect:hover {background:#e53980;}
.HintBox{
    display:none;
    width:100%;
    height:auto;
    margin:0;
}
.HintBox span{
    font-weight:bold;
    color:#e53980;
}

.KeywordBtn{
    width:70%;
    margin:50px auto;
    text-align:center;
}
.KeywordBtn a{
    display:block;
    background:#e53980;
    padding:10px 2em;
    font-size:2rem;
    color:#fff;
    text-decoration:none;
    transition:0.4s;
    cursor:pointer;
}
.KeywordBtn a::before{
    content:">>";
    margin-right:6px;
}
.KeywordBtn a:hover{
    background:#faee93;
    color:#010101;
}


/* footer */
footer{
    background:rgba(5, 29, 28, 0.5);
    width:1000px;
    margin:0 auto;
    padding:0 40px 40px;
    font-size:1.2rem;
    text-align:center;
}

}


@keyframes rotation{
    0% {transform:rotate(0);}
    100% {transform:rotate(360deg);}
}



/* スマホ */
@media screen and (max-width: 640px) {

.pcOnly {display:none;}


/* ヘッダーインクルード調整 */
.v2-headerMainContentLogo img {width:100px;}
.v2-headerMainContent p.onlineshop{
    padding:4px 52px 0 0;
    box-sizing:border-box;
}


/* header */
header#HintHeader{
    background:none;
    position:relative;
    top:0;
    text-align:center;
}
header#HintHeader #TitleWrap{
    padding:10px 0 0;
    border:none;
}
header#HintHeader #Title{
    background:rgba(8, 79, 107, 0.7);
    margin:0 0 0 -2px;
    padding:12px 8px 8px;
    font-size:2rem;
    line-height:1.6;
    box-shadow:4px 4px 0 0 rgba(18,146, 196, 0.7);
}
header#HintHeader #Title span{
    display:block;
    font-size:1.3rem;
    line-height:1.4;
}


/* main */
main{
    background:rgba(5, 29, 28, 0.5);
    width:90%;
    margin:0 auto;
    padding:30px 0 20px;
    font-size:1.4rem;
}


/* 項目タイトル */
section h2, section p{
    position:relative;
    z-index:0;
}
section h2{
    position:relative;
    margin-bottom:16px;
    font-size:2rem;
    color:#50b9b5;
    text-align:center;
}
section h2::after{
    content:"";
    background:url("../images/triangle.png") center center no-repeat;
    width:81px;
    height:72px;
    position:absolute;
    top:-18px;
    left:35%;
    z-index:-10;
    animation:rotation 18s linear infinite;
}
section h2 span{
    display:block;
    font-size:1.4rem;
    color:#faee93;
    text-align:left;
    line-height:1.4;
}


/* ヒント */
#ExerciseBox{
    position:relative;
    z-index:10;
}
.TrainingHint{
    width:100%;
    margin:0 auto 20px;
    font-size:1.4rem;
    line-height:1.5;
}
.TrainingHint li{
    width:100%;
    margin:0;
    padding:2px 0;
    list-style:none;
}
.HintSelect{
    display:block;
    background:#000;
    margin-bottom:0.5em;
    padding:2px 0;
    text-align:center;
    border:2px solid #50b9b5;
}
.HintBox{
    display:none;
    margin-bottom:1.5em;
    padding:2px 0;
}
.HintBox span{
    font-weight:bold;
    color:#e53980;
}

.KeywordBtn{
    background:#fff;
    width:90%;
    margin:10px auto 0;
    color:#000;
    text-decoration:none;
    cursor:pointer;
}
.KeywordBtn a{
    display:block;
    background:#e53980;
    padding:8px 2em;
    color:#fff;
    text-decoration:none;
}
.KeywordBtn a::before{
    content:">>";
    margin-right:6px;
}


/* footer */
footer{
    background:rgba(5, 29, 28, 0.5);
    width:90%;
    margin:0 auto;
    padding-bottom:20px;
    font-size:1.2rem;
    text-align:center;
}


}


/* topへ戻る */
#footerGroup #totop{
    width:40px;
    height:40px;
    padding:0;
    text-indent:-9999px;
    background-color:#0079c7;
    border-radius:100%;
    position:fixed;
    bottom:10px;
    right:0;
    z-index:800;
    display:none;
    cursor:pointer;
}
#footerGroup #totop a {display:block;}
#footerGroup #totop::after{
    content:"\f106";
	font-family:"Font Awesome 5 Free";
    font-size:40px;
    font-weight:900;
    line-height:35px;
    text-indent:0;
    text-align:center;
    color:#fff;
    display:block;
    position:absolute;
    top:0;
    left:0;
    right:0;
}


