@charset "utf-8";


/* Helper Classes
   ========================================================================== */

@media screen and (min-width: 769px) {
    
    .section-title {
        display: inline-block;
        padding: 0 0 10px 10%;
        border-bottom: 1px solid #000;
    }
    
    .section-title span:first-child {
        display: inline-block;
        width: auto;
        margin-right: 40px;
        padding: 0;
        border: none;
        font-size: 26px;
    }
    
    .section-title span:last-child {
        display: inline-block;
        padding: 0;
        font-size: 16px;
    }
    
}


/* Site Header
   ========================================================================== */

@media screen and (min-width: 960px) {
    
    .header-catch {
        font-size: 16px;
    }
    
    .header-inner {
        -webkit-box-align: end;
	    -ms-flex-align: end;
	    align-items: flex-end;
    }
    
    .nav-btn {
        display: none;
    }
    
    .global-nav {
        display: block;
        position: static;
        -webkit-transform: none;
        transform: none;
        max-width: 900px;
        height: auto;
        padding: 0 0 0 50px;
        background-color: transparent;
    }
    
    .global-nav-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: end;
	    -ms-flex-align: end;
	    align-items: flex-end;
    }
    
    .global-nav-item,
    .global-nav-item.global-nav-tel {
        margin: 0;
    }
    
    .global-nav-item a {
        color: #000;
        font-family: sans-serif;
        letter-spacing: 1px;
        white-space: nowrap;
        -webkit-transition: .2s ease;
        transition: .2s ease;
    }
    
    .global-nav-item a::before {
        display: none;
    }
    
    .global-nav-contact a {
        display: inline-block;
        padding: 10px 20px;
        border-radius: 5px;
        background-color: #3c61aa;
        color: #fff;
        font-size: 18px;
        font-family: serif;
    }
    
    .global-nav-item a:hover {
        color: #aaa;
    }
    
    .global-nav-contact a:hover {
        color: #fff;
        opacity: .7;
    }
    
    .global-nav-tel {
        display: none;
    }
    
    .global-nav-tel span {
        display: block;
        margin-bottom: 5px;
        color: #3c61aa;
        font-size: 11px;
        letter-spacing: 1px;
        text-align: center;
        text-indent: 1px;
        white-space: nowrap;
    }
    
    .global-nav-tel a {
        color: #3c61aa;
        font-size: 22px;
        font-family: serif;
    }
    
    .overlay,
    .overlay.visible {
        display: none;
    }
    
}

@media screen and (min-width: 1180px) {
    
    #site-header {
        padding: 15px 60px;
    }
    
    .header-logo {
        max-width: 330px;
    }
    
    .global-nav-tel {
        display: block;
    }
    
}


/* Site Footer
   ========================================================================== */

@media screen and (min-width: 1180px) {
    
    #site-footer {
        padding: 35px 0;
    }
    
    .footer-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative;
        width: 90%;
        max-width: 1440px;
        margin: auto;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    
    .footer-contents {
        margin: 0;
    }
    
    .footer-address {
        margin-bottom: 40px;
    }
    
    .footer-contact {
        overflow: hidden;
    }
    
    .footer-tel-number {
        float: left;
        margin: 0 15px 0 0;
    }
    
    .footer-contact-btn a {
        -webkit-transition: .2s ease;
        transition: .2s ease;
    }
    
    .footer-contact-btn a:hover {
        background-color: #6581bb;
        background-color: rgba(255, 255, 255, .2);
    }
    
    .footer-navi {
        width: 400px;
        margin: 0;
    }
    
    .footer-navi a {
        -webkit-transition: .2s ease;
        transition: .2s ease;
    }
    
    .footer-navi a:hover {
        color: #d1dbf1;
    }
    
    footer small {
        position: absolute;
        right: 0;
        bottom: 0;
    }
    
}


/* Top Page
   ========================================================================== */

@media screen and (min-width: 769px) {
    
/* Compare ----------------------------------- */
    
    .compare {
        margin-bottom: 130px;
        padding-top: 100px;
    }
    
    .compare .section-title {
        margin-bottom: 70px;
    }
    
/* Table for PC */
    
    .table-wrapper {
        max-width: 1260px;
        margin: auto;
    }
    
    .compare-table {
        width: 100%;
        color: #fff;
        text-align: center;
        table-layout: fixed;
    }
    
    .compare-table-row th,
    .compare-table-row td {
        border: 5px solid #fff;
        vertical-align: middle;
    }
    
    .compare-table-row th:first-child,
    .compare-table-row td:first-child {
        width: 160px;
        background-color: #447690;
    }
    
    .compare-table-row th:nth-last-of-type(2),
    .compare-table-row td:nth-last-of-type(2) {
        background-color: #7cabc2;
    }
    
    .compare-table-row th:nth-last-of-type(3),
    .compare-table-row td:nth-last-of-type(3) {
        background-color: #a0c1d3;
    }
    
    .compare-table-row th:last-child,
    .compare-table-row td:last-child {
        background-color: #5792b1;
    }
    
    .compare-table-row th {
        padding: 10px 0;
        white-space: nowrap;
    }
    
    .compare-table-row td {
        padding: 20px;
        font-size: 14px;
        letter-spacing: 1px;
        line-height: 1.5;
        text-indent: 1px;
    }
    
    .compare-table-row td:first-child {
        white-space: nowrap;
    }
    
    .compare-table-row td span {
        display: block;
        margin-bottom: 10px;
        font-size: 40px;
    }
    
    .compare-table-row td .cross-icon {
        width: 32px;
        height: 31px;
        margin: 0 auto 10px;
    }
    
    .cross-icon::before, .cross-icon::after {
        height: 35px;
        background-color: #fff;
    }
    
/* Business Guide ---------------------------- */
    
    .business-guide .section-title {
        margin-bottom: 80px;
    }
    
    .business-guide-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
    .guide-item {
        position: relative;
        width: 50%;
        margin-bottom: 80px;
        padding-bottom: 70px;
    }
    
    .guide-image {
        height: 360px;
    }
    
    .guide-title-wrapper {
        padding: 65px 0 35px;
    }
    
    .guide-title-inner {
        max-width: 500px;
        margin: auto;
    }
    
    .guide-text {
        width: 80%;
        margin: auto;
        padding: 25px 25px 0;
    }
    
    .guide-text .text {
        max-width: 380px;
        margin: auto;
        font-size: 13px;
        text-align: center;
    }
    
    .business-guide-more {
        position: absolute;
        width: 100%;
        bottom: 0;
    }
    
    .business-guide-more a {
        -webkit-transition: .2s ease;
        transition: .2s ease;
    }
    
    .business-guide-more a:hover {
        border-color: #888;
        background-color: #f2f2f2;
        color: #888;
    }
    
/* Map --------------------------------------- */
    
    .nbt-map {
        width: 90%;
        max-width: 1440px;
        margin: auto;
    }
    
    .nbt-map::after {
        padding-top: 56.25%;
    }
    
}


@media screen and (min-width: 960px) {

    .catch {
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        padding-left: 0;
        text-align: center;
    }
    
    .catch h2 {
        font-size: 40px;
        letter-spacing: 5px;
        text-indent: 5px;
        white-space: nowrap;
    }
    
    .catch p {
        font-size: 28px;
        letter-spacing: 3px;
        text-indent: 3px;
    }
    
/* Compare ----------------------------------- */
    
/* Table for PC */
    
    .compare-table-row th:first-child,
    .compare-table-row td:first-child {
        width: 210px;
        font-size: 20px;
    }
    
    .compare-table-row th {
        font-size: 20px;
    }
    
}

@media screen and (min-width: 1180px) {
    
    .catch h2 {
        margin-bottom: 15px;
        font-size: 52px;
        letter-spacing: 10px;
        text-indent: 10px;
    }
    
    .catch p {
        font-size: 34px;
        letter-spacing: 5px;
        text-indent: 5px;
    }
    
/* Business Guide ---------------------------- */
    
    .guide-text {
        width: 80%;
        margin: auto;
        padding: 25px 110px 0;
    }
    
/* Map --------------------------------------- */
    
    .nbt-map::after {
        padding-top: 40%;
    }
    
}


/* Business Page
   ========================================================================== */

@media screen and (min-width: 769px) {
    
    #business-contents {
        padding: 155px 0 50px;
    }

    .business-contents-wrapper {
        width: 90%;
        max-width: 1200px;
        margin: 0 auto 120px;
    }
    
    #business-contents .section-title {
        margin-bottom: 100px;
    }
    
/* Contents */
    
    .business-contents-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: -120px;
        margin-bottom: 120px;
        padding-top: 120px;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    
    .business-contents-image {
        width: 43%;
    }
    
    .business-contents-text {
        position: relative;
        padding: 0 0 0 50px;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
    
    .business-title-wrapper {
        text-align: left;
    }
    
    .business-title-wrapper p {
        margin-bottom: 20px;
    }
    
    .business-text-wrapper {
        padding: 0;
    }
    
    .price {
        position: absolute;
        right: 0;
        bottom: 0;
        font-size: 34px;
        white-space: nowrap;
    }
    
    .price span {
        font-size: 20px;
    }
    
/* Contact Form ------------------------------ */
    
    .business-contact-form {
        padding-bottom: 0;
    }
    
    #business-contents .business-contact-form .section-title {
        margin-bottom: 90px;
    }
    
    .business-contact-form .contact-form-row:first-child,
    .business-contact-form .contact-form-row:nth-child(3),
    .business-contact-form .contact-form-row:nth-child(5),
    .business-contact-form .contact-form-row:nth-child(7) {
        background-color: #f2f2f2;
    }
    
/* Google reCAPTHA */
    
    .protect-by-google {
        max-width: 800px;
        margin: auto;
        padding: 0 40px;
        background-color: #fff;
    }
    
}


/* Contact Page
   ========================================================================== */

@media screen and (min-width: 769px) {
    
    #contact-contents {
        padding: 155px 0 80px;
        background-color: #f9f9f9;
    }
    
    #contact-contents .contact-form {
        margin-bottom: 0;
    }
    
    #contact-contents .section-title {
        margin-bottom: 90px;
    }
    
    .contact-form-wrapper {
        padding: 30px 20px;
        background-color: #fff;
    }
    
    .contact-form-table {
        margin-bottom: 40px;
    }
    
    .contact-form-row {
        overflow: hidden;
        margin: 0;
        padding: 35px 20px;
        border-bottom: 1px solid #eee;
    }
    
    .contact-form-row td {
        display: table-cell;
    }
    
    .contact-form-heading {
        width: 200px;
        float: left;
    }
    
    .contact-form-input {
        width: 100%;
        margin-left: -200px;
        padding-left: 200px;
        float: right;
    }
    
    .contact-form-input input,
    .contact-form-input textarea {
        padding: 10px;
    }
    
    .submit-btn input {
        font-size: 15px;
        -webkit-transition: .2s ease;
        transition: .2s ease;
        cursor: pointer;
    }
    
    .submit-btn input:hover {
        background-color: #a3d7ef;
    }
    
/* Form Steps */
    
    .form-steps {
        margin-bottom: 70px;
    }
    
/* Attention --------------------------------- */
    
    .attention-wrapper {
        padding: 60px 40px 50px;
        background-color: #fff;
    }
    
    .attention-wrapper h2 {
        font-size: 20px;
    }
    
    .attention-list {
        font-size: 14px;
    }
    
    .attention-list li {
        margin-bottom: 15px;
    }
    
}


/* Confirm Page
   ========================================================================== */

@media screen and (min-width: 769px) {
    
    #confirm-contents {
        padding: 155px 0 80px;
        background-color: #f9f9f9;
    }
    
    #confirm-contents .section-title {
        margin-bottom: 90px;
    }
    
    .confirm-wrapper {
        padding: 30px 20px;
        background-color: #fff;
    }
    
    .confirm-guide {
        margin: 0 15px 30px;
        background-color: #fde0e0;
        font-size: 14px;
    }
    
    .confirm-table {
        margin-bottom: 45px;
    }
    
    .confirm-row {
        overflow: hidden;
        margin: 0;
        padding: 35px 20px;
        border-bottom: 1px solid #eee;
    }
    
    .confirm-row td {
        display: table-cell;
    }
    
    .confirm-heading {
        width: 200px;
        padding: 0;
        float: left;
    }
    
    .confirm-input {
        width: 100%;
        margin-left: -200px;
        padding-left: 200px;
        float: right;
    }
    
    .confirm-buttons input {
        font-size: 15px;
        -webkit-transition: .2s ease;
        transition: .2s ease;
        cursor: pointer;
    }
    
    .confirm-back:hover {
        background-color: #e5e5e5;
    }
    
    .confirm-submit:hover {
        background-color: #a3d7ef;
    }
    
}


/* Thanks Page
   ========================================================================== */

@media screen and (min-width: 769px) {
    
    #thanks-contents {
        padding: 155px 0 100px;
    }
    
    #thanks-contents .section-title {
        margin-bottom: 90px;
    }
    
    .thanks-wrapper {
        text-align: center;
    }
    
    .thanks-message {
        display: inline-block;
        margin-bottom: 100px;
        font-size: 16px;
        line-height: 2;
        text-align: left;
    }
    
    .back-to-top a {
        -webkit-transition: .2s ease;
        transition: .2s ease;
    }
    
    .back-to-top a:hover {
        background-color: #3c61aa;
        color: #fff;
    }
    
}


/* Philosophy Page
   ========================================================================== */

@media screen and (min-width: 769px) {
    
    #philosophy-contents {
        padding: 155px 0 100px;
    }
    
    #philosophy-contents .section-title {
        margin-bottom: 90px;
    }
    
    .philosophy-wrapper {
        width: 90%;
        max-width: 1200px;
        margin: auto;
        padding: 0;
    }
    
    .philosophy-inner .text {
        line-height: 2.5;
    }
    
    .philosophy-wrapper h2 {
        font-size: 22px;
    }
    
    .philosophy-image {
        width: 400px;
    }
    
    .philosophy-image img {
        width: 100%;
        height: auto;
    }
    
}


/* About Page
   ========================================================================== */

@media screen and (min-width: 769px) {
    
    #about-contents {
        padding: 155px 0 100px;
    }
    
    #about-contents .section-title {
        margin-bottom: 70px;
    }
    
    .about-wrapper {
        margin-bottom: 100px;
        padding: 0;
    }
    
    .about-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 0;
        border: 0;
        font-size: 16px;
        letter-spacing: 1px;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    
    .about-item dt {
        width: 200px;
        margin: 0;
        padding: 35px 15px;
        border-bottom: 2px solid #ccc;
    }
    
    .about-item dd {
        padding: 35px 15px;
        border-bottom: 2px solid #f0f0ee;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
    
    .about-item dd a:hover {
        border-color: transparent;
    }
    
}


/* Privacy Policy Page
   ========================================================================== */

@media screen and (min-width: 769px) {

    #privacy-policy-content {
        padding: 130px 0 100px;
    }

    #privacy-policy .section-title {
        margin-bottom: 90px;
    }
    
    .privacy-policy-wrapper {
        padding: 0;
        line-height: 2;
    }
    
    .privacy-policy-item {
        margin-bottom: 50px;
    }
    
    .privacy-policy-item h2 {
        margin-bottom: 15px;
        padding-left: 15px;
        font-size: 18px;
    }
    
    .privacy-policy-item p, .privacy-policy-item ul {
        padding-left: 18px;
        font-size: 15px;
    }
    
}