@charset "utf-8";

/*--------------------------------
reset
--------------------------------*/
html,body,div,p,img,iframe,a,span,blockquote,q,address,cite,
pre,code,em,small,strong,b,i,
header,article,section,nav,figure,figcaption,hgroup,menu,aside,footer,time,
h1,h2,h3,h4,h5,h6,
ul,ol,li,dl,dt,dd,
table,tbody,thead,tfoot,th,tr,td,
form,fieldset,legend,label,select,input,textarea,button{
    margin: 0;
    padding: 0;
    border: 0;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: baseline;
}
header,article,section,nav,figure,figcaption,hgroup,menu,aside,footer{
    display: block;
}
ul li{
    list-style-type: none;
}
h1,h2,h3,h4,h5,h6{
    font-weight: 500;
}
body{
    line-height: 1;
}
a{
    text-decoration: none;
}
img{
    vertical-align: middle;
}
table{
    border-collapse: collapse;
    border-spacing: 0;
}
select,option,input:not([type=checkbox]):not([type=radio]),textarea,button{
    font: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
}
blockquote::before,blockquote::after,q::before,q::after{
    content: '';
    content: none;
}
[type=submit],[type=button],[type=reset],[type=file],button{
    cursor: pointer;
}
:focus{
    outline: none;
}

/*--------------------------------
base
--------------------------------*/
html{
    font-size: 62.5%;
}
body{
    background: #1e1e1e;
    font-size: 1.6rem;
    line-height: 1.4;
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    color: #ffffff;
}
img{
    max-width: 100%;
    max-height: 100%;
}
.wrap{
    margin: auto;
    max-width: 768px;
}

/*--------------------------------
contents
--------------------------------*/
.title .h1 {
    position: relative;
}
.title .h1 .icon{
    position: absolute;
    top: 3%;
    left: 3%;
    right: 75%;
}
.background img {
    width: 100%;
}
.btn .h2 {
    margin: 0 4% 4%;
    color: #effe00;
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
}
.btn-box {
    margin: 0 0 4%;
    padding: 0 4%;
    position: relative;
    transition: .2s;
}
.btn-box:before, .btn-box:after {
    content: "";
    position: absolute;
    z-index: 0;
    width: auto;
    height: 100%;
    top: 0;
    left: 2%;
    right: 2%;
    bottom: 0;
    border-radius: 10px;
    background: #ebc470;
    transform: translate3d(0,0,0);
}
.btn-box:before {
    animation: anime 2s ease-out infinite;
}
.btn-box:after {
    animation: anime 2s ease-out 1s infinite;
}
@keyframes anime{
    0%{transform:scale(.95); opacity:0.8}
    90%{opacity:.1}to{transform:scale(1.025,1.25); opacity:0}
}
.btn-link {
    padding: 3% 4% 3% 2%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #31ae36;
    border-radius: 5px;
    box-shadow: 1px 2px 2px #8ad18d inset;
    position: relative;
    z-index: 1;
}
.btn-link .left {
    flex: 0 0 70px;
}
.btn-link .right{
    width: 100%;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    color: white;
}
.btn-link .right .small{
    font-size: 2.0rem;
}
.btn-link .right .normal{
    font-weight: normal;
}
.section.btn {
    margin-top: 4%;
    overflow: hidden;
}
.qa-box {
    padding-top: 4%;
    overflow: hidden;
    background: url("../images/qa-bg.jpg") no-repeat;
    background-size: cover;
}
.qa-box .qa .text,
.point .text {
    margin: 0 4% 4%;
    text-shadow: 0 0 4px #4d1d0e,0 0 4px #4d1d0e,0 0 4px #4d1d0e,0 0 4px #4d1d0e;
}
.qa-box .h2 {
    margin-bottom: 4%;
}
.border-dots {
    margin: 6% 0;
    display: flex;
}
.tile-ul {
    margin-bottom: 4%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.tile-li {
    margin: 2px 0;
    padding: 0 1px;
    width: 33.33333%;
}
.tile-li:nth-child(3n+1){
    padding: 0 1px 0 0;
}
.tile-li:nth-child(3n+3){
    padding: 0 0 0 1px;
}
.tile-li:nth-last-child(-n+3){
    margin: 0;
}
.tile-li img{
    width: 100%;
}
.attention {
    margin: 0 2% 4%;
    padding: 2%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #1c273b;
    border: solid 2px white;
    border-radius: 5px;
}
.attention .img-box {
    flex: 0 0 45px;
}
.attention .text {
    margin-left: 1%;
    width: 100%;
}
.section.point {
    padding-top: 6%;
    background: url("../images/point-bg.jpg") no-repeat;
    background-size: cover;
}
.point .h2 {
    margin-bottom: 6%;
}
.point .h3 {
    margin-bottom: 4%;
}
.point-box {
    overflow: hidden;
}
.section.excite {
    padding-top: 4%;
    background: #2d3d58;
}
.excite .h2 {
    margin-bottom: 6%;
    text-align: center;
    font-size: 3.5rem;
    line-height: 1.2;
    font-weight: bold;
}
.excite .h2-span.top,
.excite .h2-span.btm {
    display: inline-block;
    text-shadow:0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,
    0 0 8px rgba(110,93,35,0.5),0 0 8px rgba(110,93,35,0.5),0 0 8px rgba(110,93,35,0.5),0 0 8px rgba(110,93,35,0.5),0 0 8px rgba(110,93,35,0.5);
    position: relative;
}
.excite .h2-span.top:after,
.excite .h2-span.btm:after{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: attr(title);
}
.excite .h2-span.top{
    color: #faf49b;
}
.excite .h2-span.btm{
    color: #fff492;
}
.excite .h2-span.top:after{
    -webkit-mask-image: url("../images/excite-grad-top.png");
    mask-image: url("../images/excite-grad-top.png");
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    color: #fad66b;
}
.excite .h2-span.btm:after {
    -webkit-mask-image: url("../images/excite-grad-btm.png");
    mask-image: url("../images/excite-grad-btm.png");
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    color: #caa94a;
}
.excite-li {
    margin-bottom: 4%;
    overflow: hidden;
    border-bottom: solid 12px #1e1e1e;
}
.excite-li:last-child{
    margin-bottom: 0;
    border: none;
}
.excite-li img{
    width: 100%;
}
.excite-li .text {
    margin: 0 4% 4%;
}
.excite-top {
    margin-bottom: 1%;
}
.excite-btm {
    margin-bottom: 4%;
}
.review .h2 {
    padding: 4% 19%;
    display: flex;
    background: #374a6b;
}
.review-ul {
    padding-top: 6%;
    background: #7085be;
    overflow: hidden;
}
.review-li {
    margin-bottom: 6%;
    padding: 0 3% 0 2%;
    display: flex;
    justify-content: space-between;
}
.review-li .left {
    flex: 0 0 80px;
}
.review-li .right{
    margin-left: 4%;
    width: 100%;
    position: relative;
}
.review-li .right::before{
    content: "";
    position: absolute;
    top: 15px;
    left: -16px;
    border: solid 8px transparent;
    border-top: solid 8px white;
    border-right: solid 8px white;
}
.review-li .right .balloon {
    margin-bottom: 2%;
    padding: 4%;
    display: block;
    background: white;
    border-radius: 10px;
    color: #17100e;
}
.review-li .right .balloon .text{
    margin-bottom: 4%;
}
.review-img {
    text-align: center;
}
.review-li .right .text.btm {
    text-align: right;
}
.section.summary .inner {
    margin-bottom: 4%;
    padding-top: 8%;
    background: url("../images/summary-bg.jpg") no-repeat;
    background-size: cover;
    overflow: hidden;
}
.summary .h2 {
    margin-bottom: 6%;
}
.summary .text {
    font-size: 3.2rem;
    font-weight: bold;
    text-align: center;
    text-shadow: 0 0 4px #4d1d0e, 0 0 4px #4d1d0e, 0 0 4px #4d1d0e, 0 0 4px #4d1d0e;
}
.summary .img-text {
    margin-bottom: 2%;
    padding: 0 1%;
}
.summary .attention .text {
    font-size: inherit;
    font-weight: normal;
    text-align: left;
    text-shadow: none;
}
.footer {
    padding: 1%;
    background: #31ae36;
    text-align: center;
}

/*--------------------------------
media query
--------------------------------*/
    /*--------------------------------
    iphone se
    --------------------------------*/
    @media screen and (max-width:320px){
        html{
            font-size: 50.5%;
        }
    }
    /*--------------------------------
    xperia
    --------------------------------*/
    @media screen and (max-width:360px){
        html{
            font-size: 58.5%;
        }
    }
    /*--------------------------------
    phone landscape / tablet
    --------------------------------*/
    @media screen and (min-width:568px){
        .btn-link {
            padding: 1% 4% 1% 2%;
        }
    }
    /*--------------------------------
    tablet
    --------------------------------*/
    @media screen and (min-width:768px){
        html {
            font-size: 122.5%;
        }
        .btn-box:before, .btn-box:after {
            border-radius: 15px;
        }
        .btn-link .left {
            flex: 0 0 151px;
        }
        .btn-link {
            padding: 2% 2% 2% 1%;
            border-radius: 15px;
            box-shadow: 3px 4px 2px #8ad18d inset;
        }
        .btn-link .right {
            font-size: 2.4rem;
            line-height: 1.3;
        }
        .btn-link .right .small {
            font-size: 2.2rem;
        }
        .attention .img-box {
            flex: 0 0 88px;
        }
        .excite-li {
            border-bottom: solid 22px #1e1e1e;
        }
        .review-li .left {
            flex: 0 0 161px;
        }
        .review-li .right::before {
            top: 23px;
            left: -36px;
            border: solid 18px transparent;
            border-top: solid 18px white;
            border-right: solid 18px white;
        }
        .review-li .right .balloon .text,
        .review-li .right .text.btm {
            font-size: 1.2rem;
        }
    }