﻿/*
body {
    padding-top: 50px;
    padding-bottom: 20px;
}

*/

/* Set padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
    white-space: normal;
}

/* Set width on the form input elements since they're 100% wide by default */
input,
select {
    max-width: 280px;
}

textarea {
    height: 200px;
}

h2 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}

.navbar-inverse {
    background-color: darkorange;
    border:none;
}

.navbar-inverse .navbar-nav > li > a {
    color: white;
}

.navbar-inverse .navbar-brand {
    color: white;
}

.container .jumbotron {
    border-radius: 0px;
}

.jumbotron {
    background-color: white;
    position: relative;
    height: 400px;
    background: url(../content/top.jpg) center no-repeat;
    background-size: cover;
    padding-top: 30px;
    margin-bottom: 0px;
    color: #303030;
}

    /*.jumbotron h1 {
    padding: 10px 20px 0px 20px;
    margin: 0px;
    color: darkorange;
}*/

.jumbotron .lead {
    padding:10px 0px 0px 10px;
    font-size: medium;
}

.jumbotron .start a {
    padding: 5px 20px;
    border-radius: 20px;
    margin-left: 10px;
}

.col-md-10.option {
    padding-top: 8px;
}

.contact.body {
    width: 600px;
    height: 150px;
}

.overview-container {
    background-color: white;
    position: relative;
    height: 400px;
    background: url(../Content/OverviewTop.jpg) center no-repeat;
    background-size: cover;
    padding: 30px 50px;
    margin-bottom: 20px;
    color: white;
}

.overview-container h1 {
    color: gold;
    font-size: 40px;
    font-weight: bold;
    text-shadow: 0px 0px 30px black;
}

.overview-container .lead {
}

.overview-container p {
    font-weight: bold;
    text-shadow: 0px 0px 30px black;
}

.overview h4 {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 20px;
}

.overview img {
    margin: 0px 0px 50px 20px;
}

.plans {
    text-align:center;
}

.plans > .col-md-4 {
}

.plans h2 {
    background-color: silver;
    color: white;
    border-radius: 25px;
    padding: 12px;
    font-size: 16px;
}

.plans .cost {
}

.plans .cost strong {
    color: darkorange;
    font-size: xx-large;
    margin: 0px 5px 0px 10px;
}

.plans .trial {
    margin-top: 20px;
}

.plans .trial > span {
    padding: 5px 20px;
    background-color:antiquewhite;
    border-radius: 5px;
    font-weight:bold;
}

.plans .description {
    text-align: left;
    height: 90px;
    margin: 30px 10px 10px 10px;
}

.command-top {
    padding-bottom: 10px;
}

.contract {
    padding: 8px;
    height: 300px;
    overflow-y: scroll;
    border: solid 1px silver;
    border-radius: 5px;
}

.confirm {
    padding: 8px;
    overflow-y: scroll;
    border: solid 1px silver;
    border-radius: 5px;
}

.agree {
    margin-left: 200px;
}

.agree label {
    margin-left: 10px;
}

.free {
}

.light {
    background-color:deepskyblue;
}

.standard {
    background-color:darkorange;
}

.contractor {
    background-color:deepskyblue;
}

.inviting {
    background-color: gold;
}

.admin {
    background-color:orangered;
}

.field-validation-error {
    display: block;
    margin-top: 10px;
}

.guide {
    text-align: center;
}

.guide .btn {
    margin: 20px;
}

footer > p > a {
    margin: 0px 15px;
}

.l-header{
    padding: 0 40px; 
    border-bottom: 0.5px solid rgb(211, 211, 211); 
    .wrap {
        width: auto;
    }
    @media screen and (max-width: 767px) {
        width: auto;
        padding: 0;
        border-bottom: none; 
    }
}

/*footer固定*/

#page {
    --footerHeight: 165px;
    position: relative;
    min-height: 100vh;
    padding-bottom: var(--footerHeight);
}

.l-footer {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    height: var(--footerHeight);
}

.l-footer .copy {
    padding-bottom: 0;
}


/*サービスログイン*/
.container.is-login {
    .login-form {
        display: flex;
        flex-direction: column;
        gap: 16px;
        font-size: 16px;
    }
    .form-unit {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }
    .form-label {
        font-weight: 400;
        color: #333;
    }
    .form-control {
        max-width: initial;
        height: initial;
        font-size: 18px;
        padding: 16px;
    }
}

.m-floatbox {
    width: 400px;
    margin: 40px auto 8px;
    border: solid 1px #ccc;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0,0,0,.1);
    .floatbox-header {
        padding: 16px;
        border-bottom: solid 1px #ccc;
        .hdg {
            margin: 0;
            font-size: 20px;
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 800;
            color: #666;
        }
    }
    .floatbox-body {
        padding: 0 16px;
        margin: 32px 0;
        .body-notes {
            line-height: 1.6;
        }
        .qr-image {
            max-width: 70%;
            height: auto;
            display: block;
            margin: 0 auto;
        }
        .step-section {
            .step-header{
                display: flex;
                align-items: center;
                gap: 8px;
                margin-bottom: 4px;
            }
            .step-badge {
                font-size: 16px;
                display: inline-block;
                background: #e3f2fd;
                color: #1976d2;
                border-radius: 6px;
                padding: 8px 16px;
                font-weight: bold;
            }
            .step-title {
                display: inline-block;
                font-size: 16px;
                font-weight: bold;
                vertical-align: middle;
            }
            .step-desc {
                margin: 8px 0 0 0;
                color: #333;
                padding: 8px;
            }
            .step-notes {
                font-size: 14px;
            }
            .auth-app-list {
                margin: 8px 0 0 0;
                padding-left: 20px;
            }
            .auth-app-list li {
                margin-bottom: 4px;
                line-height: 1.7;
            }
            .auth-app-list a {
                display: block;
                margin: 2px 0;
            }          
        }
        &.o-mtmb-lg {
            margin: 16px 0;
        }
        &.o-mtmb-lg p {
            font-size: 14px;
        }
    }
    .floatbox-footer {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        margin: 16px 0;
        padding: 0px 16px;
        .c-btn {
            padding: 16px;
            min-height: initial;
        }
        .c-btn.privacy{
            padding: 16px;
            font-size: 14px;
        }
        .c-btn.btn-default {
            border: 1px solid #bdbdbd;
            background: #fff;
            color: #1976d2;
            box-shadow: none;
            transition: background 0.2s, color 0.2s, border 0.2s;
        }
        .c-btn.btn-default:hover {
            background: #e3f2fd;
            color: #1565c0;
            border-color: #1976d2;
            text-decoration: none;
        }
    }
    + .floatbox-aside {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        font-size: 16px;
        font-family: "Noto-Sans", sans-serif;
        padding: 16px;
        padding-bottom: 40px;
    }
    &.o-large {
        width: 600px;
        text-align: center;
        .body-notes{
            font-size: 1.3em;
            line-height: 2;
        }
         @media screen and (max-width: 767px) {
            width: auto;
            margin: 8px;
        }
    }
    @media screen and (max-width: 767px) {
        width: auto;
        margin: 8px;
    }
}

/* MVC自動アスタリスクを非表示にする*/ 
label.required:after,
label .required,
label span.field-validation-error,
label span.text-danger:not(:last-child) {
    display: none !important;
}