/*
==================================
    Tags
==================================
*/
blockquote {
    font-size: 1.2em;
}



/*
==================================
    Class
==================================
*/
/*
----------------------------------
    Common
----------------------------------
*/
.notice .gift {
    padding-left: 0;
}

.notice .gift:before {
    display: none;
}

.s-title {
    font-size: 2.5em;
}



/*
----------------------------------
    Box general
----------------------------------
*/
.gs-box > div {
    width: 100%;
}

#price .pf-month .gs-box > div h4 > label:last-child,
#price .pf-one .gs-box > div h4 > label:last-child {
    clear: both;
    margin-top: .3rem
}


/*
----------------------------------
    Price general
----------------------------------
*/
.s-price .p-name  {
    flex-direction: column;
    -webkit-flex-direction: column;
}
.s-price .p-name > :nth-of-type(n+2),
.s-price .p-name > * {
    width: 100%;
}
.s-price .p-name > span > label {
    margin-top: 2rem;
    display: block;
}
.s-price .p-name > span > label > * {
    width: 100%;
    text-align: center !important;
}
.s-price[fixed] .p-name input:checked+label {
    margin-top: 0;
}
.s-price[fixed] .p-name input:not(:checked)+label {
    display: none;
}


    /*
    ----------------------------------
        Theme general
    ----------------------------------
    */
.gs-theme .content>div {
    width: 100%;
}

.gs-theme .content>div:nth-child(n+2) {
    margin-top: 5rem
}




/*
----------------------------------
    Function general
----------------------------------
*/
.gs-function {
    width: 100%;
}

.gs-function > div > span,
.gs-function > div > label {
    font-size: inherit;
}




/*
----------------------------------
    Request general
----------------------------------
*/
.gs-request .button label:first-child {
    font-size: 1.4em;
}



/*
----------------------------------
    Pages general
----------------------------------
*/

.gs-pages {
    height: 4rem
}

.gs-pages > a {
    width: 4rem;
    margin: 0 .2rem;
}

.gs-pages a:not([class]){
   display: none;
}



/*
==================================
    Elements
==================================
*/

/*
----------------------------------
    Request popup
----------------------------------
*/
#popup-request > div {
    padding: 3rem 5rem;
}

#popup-request .title {
    font-size: 1.7em;
}

#popup-request span  {
    flex-direction: column;
	-moz-flex-direction: column;
	-webkit-flex-direction: column;
}

#popup-request span input:last-child,
#popup-request span input:first-child {
    width: 100%;
}

#popup-request span input:last-child {
    margin-top: 1rem;
}



/*
----------------------------------
    Contact popup
----------------------------------
*/
#popup-contact .call,
#popup-contact .head,
#popup-contact .head > * {
    height: auto !important;
    width: 100%;
    position: static !important;
    display: block !important;
}

#popup-contact .info,
#popup-contact .call {
    padding: 0 3rem !important;
    box-sizing: border-box;
}

#popup-contact .head {
    overflow: hidden;
    padding: 0 !important;
    transform: none;
    -webkit-transform: none;
    margin-bottom: 4rem;
}

#popup-contact .head img {
    width: 120%;
    border-radius: 0;
}


#popup-contact .info > * {
    padding: 1rem 0;
}

#popup-contact .info :nth-child(n+2) {
    margin-left: 0;
    margin-top: 0;
}


#popup-contact .call > div:nth-child(n+2) {
    margin-top: 2rem;
}


#popup-contact .copyright {
    padding: 3rem;
}

#popup-contact .copyright img {
    display: none;
}

#popup-contact .copyright div {
    width: 100%;
}



/*
----------------------------------
    Demo popup
----------------------------------
*/
#popup-demo nav .action {
    width: 100%
}

#popup-demo nav .action button {
    padding: 1rem;
}

#popup-demo nav .action .btn-close {
    width: 20%
}
#popup-demo nav .action .btn-buy,
#popup-demo nav .action .btn-view {
    width: 40%
}

#popup-demo .detail {
    width: 32rem;
}


/*
----------------------------------
    Register popup
----------------------------------
*/

#popup-register {
    padding: 0 3rem 3rem 3rem;
}

#popup-register .title {
    width: 100%;
    box-sizing: border-box;
}

#popup-register .title label {
    font-size: 1em;
}

#popup-register-box [class*=mes-close] {
    width: 4rem;
    height: 6rem;
}

#popup-register-box [class*=mes-close]:before,
#popup-register-box [class*=mes-close]:after {
    width: 35%
}

#popup-register > button {
    width: 100%;
    height: 6rem;
}


/*
----------------------------------
    Notification complete popup
----------------------------------
*/
#popup-notification-complete {
    max-width: 100%;
}

#popup-notification-complete > :nth-child(1) {
    font-size: 1.4em;
    font-family: f-bold;
}



/*
----------------------------------
    Main
----------------------------------
*/

main>section {
    padding: 6rem 3rem;
}



/*
----------------------------------
    Header
----------------------------------
*/
header {
    padding: 0 3rem;
}

header>a {
    margin-left: 0;
}


/*
----------------------------------
    Footer
----------------------------------
*/

footer .hotline, footer .support {
    width: 80%
}

footer .support,
footer .hotline {
    display: flex;
    flex-direction: column;
}

footer .support {
    padding: 0;
}

footer .support > div,
footer .hotline div {
    width: 100%
}

footer .hotline div:first-child {
    margin-bottom: 2rem;
}

footer .hotline label:first-child {
    font-size: 1.6em
}

footer .support div:nth-child(n+2) {
    margin-top: 3rem
}

footer .support span {
    padding: 0 2rem;
    box-sizing: border-box;
}

footer .support .social {
    text-align: left;
}

footer .request {
    width: 80%
}

footer .request input {
    width: 15rem;
}

footer .request button {
    padding: 0 2rem;
}


footer .copyright {
    font-size: .4em;
}

footer .company .link > a {
    width: 100%;
}



/*
----------------------------------
    Home page
----------------------------------
*/
#home .banner {
    width: 100%;
    height: auto;
    padding: 6rem 3rem;
}

#home .banner .content {
    padding: 0;
    position: relative;
    left: 0;
    top: 0;
    transform: none;
    -webkit-transform: none;
}

#home .banner .content > * {
    float: none;
    clear: none;
    display: block;
}

#home .banner .content>a {
    padding: 0 3rem;
    top: 0;
    left: 0;
    transform: none;
    -webkit-transform: none;
    margin-top: 4rem;
}

#home .banner .content span:nth-of-type(1) {
    font-size: 2.2em;
}

#home .banner .content span:nth-of-type(2) label {
    display: block;
    font-size: 1.6em;
    margin-top: 2rem;
}

/* -------------------- */

#home .profile {
    padding-bottom: 8rem;
}

#home .profile .content {
    width: 100%;
    flex-wrap: wrap;
}

#home .profile .content span:before {
    margin-bottom: 1rem;
}

#home .profile .content span:nth-child(n+3):before {
    margin-top: 4rem;
}

#home .profile .content span label:nth-child(1) {
    margin-bottom: 0;
}


/* -------------------- */

#home .vision {
    padding: 8rem 3rem;
}

#home .vision .br {
    display: inline-block;
    color: inherit;
    margin-left: -.4rem
}


#home .h-price {
    flex-direction: column;
    -webkit-flex-direction: column;
}
#home .h-price > :nth-child(n+2) {
    margin-top: 5rem;
}
#home .h-price > div span:nth-child(2) {
    margin: 1rem auto 3rem auto;
    width: 20rem;
    height: 20rem
}
#home .h-price > div span:nth-child(1) {
    font-size: 2.5em;
}
#home .h-price label:nth-child(1) {
    font-size: 3em;
}

/*
----------------------------------
    Theme page
----------------------------------
*/
#theme .search > div:first-child {
    font-size: 1.6em;
}

#theme .filter,
#theme .search form {
    flex-direction: column;
}

#theme .search form >* {
    width: 100% !important;
    border-radius: 2.5rem !important;
}

#theme .search form button {
    display: none
}

#theme .search form button:hover {
    background: #e5e5e5;
    color: #333332;
}

#theme .filter .select-box {
    margin: 0;
}

#theme .gs-theme .head h1 {
    font-size: 3em;
}


/* ---------- */

#theme .filter .sort {
    margin-left: 0;
    margin-top: 2rem;
}


/*
----------------------------------
    Partner
----------------------------------
*/
#partner .s-content {
    margin-top: 2rem;
}

/* ---------- */

#partner .why .flex-w-35 {
    width: 100%;
    margin: 1rem 0;
}


#partner .task .flex-w-50 {
    display: none;
}

#partner .task .flex-w-45 {
    width: 100%;
}


#partner .price .s-content > .fs-grid {
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

#partner .price .flex-w-30{
    width: 100%;
}

#partner .price .flex-w-30:nth-of-type(2) {
    margin-top: 4rem;
}

#partner .price .note {
    padding: 2rem 1rem;
}


#partner .form .flex-w-35 {
    width: 100%;
}


/*
----------------------------------
    Function
----------------------------------
*/
#function .function .gs-box > div {
    width: 100%;
}