@charset "utf-8";

#fanfunWrapper {
    background-image: linear-gradient( -45deg, #fff 25%, #fff8ce 25%, #fff8ce 50%, #fff 50%, #fff 75%, #fff8ce 75%, #fff8ce );
    background-size: 15px 15px;
    text-align: justify;
    color: #111;
    padding: 0 0 10%;
    line-height: 1.7;
}

#fanfunWrapper img{
    max-width: 100%;
}

#fanfunWrapper{
    position: relative;
}

#introBox {
    position: absolute;
    top: 0.9%;
    left: 0;
    right: 0;
    margin: auto;
    background: #fff;
    padding: 5%;
    width: 82%;
    z-index: 1;
    box-shadow: 0 2px 10px -2px rgba(0,0,0,0.2);
}

#introBox p span{
    font-weight: bold;
    color: #ff1d68;
}

.tape::before {
    content: "";
    background: url(../img/tape-b.png) no-repeat top left/ contain;
    width: 60px;
    height: 45px;
    position: absolute;
    top: -15px;
    left: -20px;
    z-index: 10;
}

.tape::after {
    content: "";
    background: url(../img/tape-o.png) no-repeat top right/ contain;
    width: 60px;
    height: 45px;
    position: absolute;
    bottom: -15px;
    right: -20px;
    z-index: 10;
}

.toc {
    border: 2px solid #40E0D0;
    width: 90%;
    margin: 45% auto 0;
    background: #EBFFF3;
}

.toc dt {
    color: #fff;
    font-weight: bold;
    background: #40E0D0;
    padding: 3% 0;
    text-align: center;
    font-size: 18px;
}

.toc dd {
    padding-left: 10%;
    color: #40E0D0;
    margin: 5% 0;
}

.toc dd a{
    color: #111;
    margin: 0 0 0 2%;
}

.toc dd a:hover{
    color: #40E0D0;
    text-decoration: underline;
}

/*contents*/
#fanFunContents{
    margin: auto;
}

#fanFunContents h2 {
    width: 100%;
    text-align: center;
    margin: 6% 0 0;
    position: relative;
    padding: 5% 0 0;
}

#fanFunContents h2::after {
    width: 200px;
    height: 5px;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 15px;
}

#fanFunContents h2.odd::after{
    background: #40e0d0;
}

#fanFunContents h2.even::after{
    background: #ffa740;
}

.secCommon ul{
    width: 100%;
    margin: 5% auto 0;
}

.secCommon li{
    min-height: 60px;
    margin: 0 0 20px;
}

.secCommon li p {
    width: calc(86% - 80px);
    background: #fff;
    padding: 20px;
    border-radius: 3px;
    position: relative;
    line-height: 1.75;
    margin: 0 0 0 80px;
}

.secCommon li.nakamura p{
    border: 2px solid #9b87f0;
}

.secCommon li.nakamura p::before {
    content: "";
    position: absolute;
    width: 20px;
    height: 25px;
    background: url(../img/balloon01.svg) no-repeat;
    top: 20px;
    left: -19px;
}

.nakamura{
    background: url(../img/icon01.png) no-repeat 2% 2% / 50px;
}

.secCommon li.nhf p{
    border: 2px solid #ff850a;
}

.secCommon li.nhf p::before {
    content: "";
    position: absolute;
    width: 20px;
    height: 25px;
    background: url(../img/balloon02.svg) no-repeat;
    top: 20px;
    left: -19px;
}

.nhf{
    background: url(../img/icon02.png) no-repeat 2% 2% / 50px;
}

.note {
    background: #40E0D0;
    width: 92%;
    padding: 4%;
    margin: 5% 0 0;
}

.note span{
    background: #fff;
    color: #40E0D0;
    font-weight: bold;
    padding: 1% 5%;
}

.note h3 {
    font-size: 18px;
    font-weight: bold;
    border-bottom: 1px solid #fff;
    margin: 10px 0;
    padding: 0 0 5px;
}

.note p{
    line-height: 2;
    margin: 0 0 3%;
}

.prof h3{
    background: #fff;
    color: #40E0D0;
    font-weight: bold;
    padding: 1% 5%;
    text-align: center;
    font-size: 12px;
}

.profDetail {
    width: 48%;
    float: left;
    
}

.profDetail:not(:last-child){
    margin:  0 4% 0 0;
}

.profDetail p {
    font-size: 24px;
    font-weight: bold;
}

ul.report{
    margin: 2% 0 0;
    
}
.report li{
    float: left;
    width: 48%;
    margin-bottom: 4%;
}

.report li:not(:nth-child(even)){
    margin-right: 4%;
}

.report li img{
    max-width: 100%;
}

.report li p {
    background: none;
    width: 100%;
    padding: 0;
    margin: 0;
}

.attention {
    width: 80%;
    margin: 10% auto 0;
    background: #fff;
    padding: 5%;
    border: 2px solid #FF1D68;
}

.attention .icon{
    display: block;
    text-align: center;
}

.attention p{
    line-height: 2;
    margin: 2% 0;
}

