@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);

body {
    font-family: 'Noto Sans JP', '游ゴシック体', 'YuGothic', "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    overflow-x: hidden;
}

/* Material iconsを利用する */
.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px; /* 推奨サイズ */
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1;
    text-transform: none;

    /* WebKitブラウザサポート */
    -webkit-font-smoothing: antialiased;
    /* Chrome、Safariサポート */
    text-rendering: optimizeLegibility;

    /* Firefoxサポート */
    -moz-osx-font-smoothing: grayscale;

    /* IEサポート */
    font-feature-settings: 'liga';
}

.no-gutter > [class*='col-'] {
    padding-right: 0;
    padding-left: 0;
}

.top {
    margin-bottom: -1px;
    overflow: hidden;
}

.top > .bg-image {
    min-height: 240px;
}

.bg-image > img {
    min-width: 400px;
}

.bg-image.xs {
    margin: 0 auto;
    left: 50%;
    margin-left: -300px;
    height: 70vw;
    position: relative;
}

.navbar {
    margin-left: 3.6vw;
    margin-right: 3.6vw;
}

.navbar-brand > img {
    width: 20vw;
}

.navbar-light .navbar-nav .nav-item > a {
    color: #000000;
    font-size: 1.2vw;
    padding: 0.0vw 1.6vw;
}

.navbar-light .navbar-nav .nav-item > a:hover,
.navbar-light .navbar-nav .nav-item > a:focus {
    color: #a9a9a9;
    background-color: transparent;
}

.navbar-light .line-dotted {
    border-left: 1px dotted #000000;
}

.navbar-light .navbar-nav > li {
    line-height: 300%;
}

.nav-contact-btn {
    border: 0.2vw solid #9F9C9B;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.top > .top-container-wrapper {
    position: relative;
}

.top > .top-container-wrapper > .top-container {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 0px;
}

.top-container > .top-message {
    margin-top: 0vw;
    margin-bottom: 2.0vw;
    font-size: 6vw;
    font-weight: bold;
    line-height: 1.4em;
}

.top-container > .sub-title {
    margin-top: 2.8vw;
    margin-bottom: 0px;
    font-size: 2.8vw;
    font-weight: bold;
}

.top-container > .sub-title-yellow {
    margin-top: 0.5vw;
    font-size: 2.8vw;
    font-weight: bold;
}

.top-container > .sub-title-yellow span {
    background: linear-gradient(transparent 50%, #FFEC00 0%);
}

.top-container p.frameborder-description {
    margin: 1.0vw auto;
    width: 40%;
    border: 0.3vw solid #3E3A39;
    padding: 0.4vw;
    background-color: #FDFDFD;
    color: #3E3A39;
    font-size: 1.5vw;
    z-index: 999;
    font-weight: bold;
}

.top-container > a > .scroll-title {
    font-size: 1.5vw;
    margin: 0;
    padding: 0;
    color: #000000;
}

.top-container > a > .scroll-image {
    height: 1.8vw;
}

.partition-black {
    border: solid 1.2vw #3E3A39;
    background-color: #3E3A39;
    margin: 0;
}

.partition-black-thin {
    border: solid 0.3vw #3E3A39;
    margin: 0;
    padding: 0;
}

.about-container {
    background-color: #FFDA3F;
    text-align: center;
    width: 100%;
}

.about-container > .sub-title {
    padding-top: 3vw;
    margin-bottom: 0px;
    font-size: 2.8vw;
    font-weight: bold;
}

.about-container > .logo {
    margin: 0.8vw 0 0;
    padding: 0;
    height: 5.8vw;
    display: inline-block;
}

.about-container > .title {
    margin: 0.8vw 0 0;
    padding: 0;
    font-size: 5.8vw;
    font-weight: bold;
    display: inline-block;
    vertical-align: middle;
}

.about-container > .description {
    margin: 0;
    font-size: 1.3vw;
}

.about-content {
    padding: 3vw 7vw 6vw 7vw;
}

.traditional {
    position: relative;
}

.traditional > .status-icon, .next-generation > .status-icon {
    position: absolute;
    top: 2vw;
    left: 2vw;
    width: 10vw;
}

.traditional > .arrow {
    width: 10%;
    margin: 0;
    padding: 0;
}

.traditional-top {
    background-color: #3E3939;
}

.traditional-top > .title {
    margin: 0.8vw 0 0;
    padding: 2.5vw 0 0;
    font-size: 2.3vw;
    font-weight: bold;
    color: #FFFFFF;
}

.traditional-top > .sub-title {
    margin: 0.8vw 17vw 0 17vw;
    padding: 0 0 1.5vw;
    font-size: 1.1vw;
    color: #FFFFFF;
}

.traditional-bottom {
    width: 100%;
    margin: 0;
}

.next-generation {
    position: relative;
    margin: 1.0vw auto;
    width: 100%;
    border: 0.5vw solid #3E3A39;
    background-color: #FDFDFD;
    color: #3E3A39;
}

.next-generation > .title {
    margin: 0.8vw 0 0;
    padding: 2.5vw 0 0;
    font-size: 2.3vw;
    font-weight: bold;
}

.next-generation > .sub-title {
    margin: 0.8vw 17vw 0 17vw;
    padding: 0 0 1.5vw;
    font-size: 1.1vw;
}

.conclusion {
    margin: 3.0vw 0 0;
    padding: 2.5vw 5vw 2.5vw 5vw;
    width: 100%;
    border: 0.5vw solid #FFFFFF;
    background-color: #E65500;
    color: #FFFFFF;
    font-size: 2.3vw;
    text-align: left;
    line-height: 4.2vw;
    font-weight: bold;
}

.achievement {
    padding: 3vw 7vw 7vw 7vw;
    background-color: #F7F7F7;
}

.achievement-title {
    margin: 0.8vw 0 2vw 0;
    font-size: 3.5vw;
    font-weight: bold;
    text-align: center;
}

.achievement-left-content {
    margin-left: auto;
    position: relative;
}

.achievement-left-img {
    width: 100%;
}

.viewing-ok {
    position: absolute;
    width: 15vw;
    top: 0vw;
    display: block;
}

.achievement-right-content {
    background-color: #FFFFFF;
    width: 100%;
}

.case-table {
    line-height: 160%;
    margin: 2.5vw auto;
}

.case-table > tbody > tr {
    border-top: 1px dotted #000000;
}

.case-table > tbody > tr > td {
    font-size: 1.2vw;
    padding: 0.5vw 1vw;
}

.case-table-heading {
    background-color: #F7F7F7;
}

.case-table-value {
    font-size: 1.2vw;
}

.case-table-heading-initial {
    background-color: #3E3A39;
    font-size: 1.2vw;
    color: #FFFFFF;
}

.case-table-value-initial {
    font-size: 1.2vw;
}

.case-table-heading-appropriate {
    background-color: #E65500;
    color: #FFFFFF;
    font-size: 1.2vw;
}

.case-table-value-appropriate {
    color: #E65500;
    font-size: 1.2vw;
}

.case-table-heading-icon {
    background-color: #F7F7F7;
}

.case-table-heading-icon > img {
    padding: 1vw;
    width: 8vw;
    margin: 0 auto;
}

.case-table-value-result {
    color: #E65500;
    font-size: 2.3vw;
}

.case-table-value-result > img {
    width: 1.7vw;
    margin-right: 0.5vw;
}

.case-table-bold-line {
    border-bottom: 0.2vw solid #000000;
}

.money {
    padding: 0.5vw 0;
}

.case-button {
    padding: 1.3vw 5vw;
    vertical-align: middle;
    margin-top: 1vw;
    background: #ffffff;
    border: 0.1vw solid #E65500;
    color: #E65500;
    font-size: 1.8vw;
    background-image: url(images/aci_lp_03_case_00_03.png);
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 1.3vw;
}

.case-button-rapper {
    border-top: 0.2vw solid #000000;
    text-align: center;
    vertical-align: middle;
}

.service-title {
    margin: 0.8vw 0 0;
    font-size: 3.5vw;
    font-weight: bold;
    text-align: center;
}

.jumbotron {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    padding-top: 1.5vw;
    padding-bottom: 4vw;
}

.jumbotron-servive {
    background: url("images/aci_lp_04_service_00_bg.jpg") center no-repeat;
    background-size: cover;
    background-position: left;
}

.jumbotron-servive > .container > .row > .content {
    margin-top: 0;
    padding: 1vw;
}

.service-content {
    padding: 3vw 3vw 4vw 3vw;
    background-color: #FFFFFF;
    outline: solid 1.5px #9E9E9E;
    outline-offset: -8px;
}

.service-content-icon {
    width: 100%;
    text-align: center;
}

.service-content-icon > img {
    width: 20vw;
}

.service-partition-black {
    border: solid 3px #3E3A39;
    margin: -1.5vw 1vw 1vw 1vw;
    padding: 0;
}

.service-content-text {
    margin: 0.2vw 0 0;
    font-size: 1.5vw;
    font-weight: bold;
    text-align: center;
}

.service-description {
    margin: 0 auto;
    margin-top: 2.0vw;
    margin-bottom: 3.8vw;
    padding: 8px;
    font-size: 1.3vw;
    text-align: left;
    width: 60%;
    line-height: 180%;
    background-color: #ffffffb5;
}

.dandori {
    width: 100%;
    padding: 1vw 5vw 5vw 5vw;
    background-color: #FFFFFF;
}

.dandori-title {
    width: 100%;
    text-align: center;
    font-weight: bold;
    font-size: 2.8vw;
    margin-top: 2vw;
    line-height: 0.8em;
}

.dandori-title > .material-icons {
    color: #E65500;
    font-size: 2em;
}

.dandori-table {
    border: 2px solid #E65500;
    margin-bottom: 14px;
}

.dandori-table-title {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    padding: 0;
    min-height: 50px;
}

.dandori-count {
    background-color: #E65500;
    font-size: 1.8vw;
    font-weight: bold;
    color: white;
    width: 50px;
    min-height: 50px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.dandori-count > div {

    margin: 0 auto;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}

.dandori-flex {
    display: -webkit-flex;
    display: flex;
    padding: 0;
}

.dandori-info {
    color: #E65500;
    background-color: #FDF2EB;
    padding-left: 14px;
    padding-right: 14px;
    font-weight: bold;
    flex-grow: 4;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    font-size: 1.7vw;
}

.dandori-detail {
    padding: 2.5vw 2vw;
    background-color: white;
    font-size: 1.5vw;
}

.cost {
    background-repeat: repeat;
    background-image: url("images/aci_lp_06_price_00_bg.jpg");
    text-align: center;
    padding: 4vw 5vw;
}

.cost-title {
    color: white;
    background-color: #E65500;
    padding: 1vw 7vw;
    -webkit-border-radius: 4.0vw;
    -moz-border-radius: 4.0vw;
    border-radius: 4.0vw;
    font-weight: bold;
    font-size: 2.5vw;
}

.cost-frame {
    text-align: center;
    margin: 0 auto;
    margin-top: 3.0vw;
    width: 100%;
    border: 0.4vw solid #3E3A39;
    background-color: #FFFFFF;
}

.cost-content, .reward-content {
    margin: 0 7.5px;
    padding: 1.5vw;
    border: 1px solid #9E9E9E;
    overflow: visible;
}

.reward-content {
    border: 0.6vw solid #E65500;
}

.cost > .cost-frame > .row {
    padding: 17px;
}

.cost-icon {
    width: 100%;
    text-align: center;
    padding-top: 2vw;
}

.cost-icon > img {
    width: 55%;
}

.reward-icon {
    width: 100%;
    text-align: center;
    margin-top: 3vw;
}

.reward-icon > img {
    width: 75%;
}

.cost-text {
    margin: 0.2vw 0 1vw 0;
    font-size: 2.5vw;
    font-weight: bold;
    text-align: center;
}

.cost-sub-text {
    margin-bottom: 1vw;
    font-size: 1.2vw;
    text-align: center;
}

.cost-confirm-content {
    margin: 0 auto;

}

.cost-confirm-content > .row {
    margin: 2vw 1vw 0 1vw;
}

.cost-confirm-title {
    color: white;
    background-color: #E65500;
    font-size: 1.2vw;
}

.cost-confirm-description {
    font-size: 1.2vw;
    text-align: left;
    margin-bottom: 0;
}

.jumbotron-qa {
    background: url("images/aci_lp_07_qa_04_bg.png") center no-repeat;
    background-size: cover;
    background-position: left;
    background-color: #3E3A39;
    padding: 5.0vw 11.0vw;
    margin: 0;
}

.qa-frame {
    background-color: #FFFFFF;
    -webkit-border-radius: 0.5vw;
    -moz-border-radius: 0.5vw;
    border-radius: 0.5vw;
    padding-bottom: 3vw;
    padding-right: 3vw;
    padding-left: 5vw;
}

.qa-img-wrap {
    margin: 0 auto;
}

.qa-img {
    width: 20vw;
    margin: 0 auto;
}

.qa-img img {
    margin: 3vw 0 0 auto;
    width: 100%;
}

.qa-table {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.qa-space-q {
    font-size: 0.1vw;
}

.qa-table-linespacing, .qa-table-linespacing td {
    padding-top: 3vw;
}

.qa-table-img-wrap {
    position: relative;
}

.qa-table-img-q {
    width: 5vw;
    position: absolute;
    left: -1vw;
    top: -3vw;
}

.qa-table-img-a {
    width: 5vw;
    position: absolute;
    left: -1vw;
    top: -3vw;
}

.qa-text-q {
    margin: 0.2vw 0 0;
    font-size: 2.4vw;
    font-weight: bold;
    text-align: left;
    border-bottom: 1px solid #3E3A39;
    padding: 0 0 0 6vw;
}

.qa-text-a {
    margin: 0.2vw 0;
    font-size: 1.5vw;
    text-align: left;
    padding: 1.5vw 0 3.5vw 6vw;
}

.contact-message {
    color: white;
    background-color: #E65500;
    font-size: 2.5vw;
    text-align: center;
    padding: 2.0vw;
    margin: 0;
    font-weight: bold;
}

.contact {
    text-align: center;
    padding: 4vw 9vw;
    background-color: #F7F5F6;
}

.contact-logo-text {
    font-weight: bold;
    font-size: 3.2vw;
}

.contact-frame {
    background-color: #FFFFFF;
    padding-bottom: 3vw;
    padding-right: 6vw;
    padding-left: 5vw;
}

.contact-description {
    font-size: 1.2vw;
    text-align: center;
    padding-top: 3vw;
    margin-bottom: 1.5vw;
    line-height: 200%;
}

form#mail_form {
    background-color: #FFFFFF;
    padding-bottom: 3vw;
    padding-right: 4vw;
    padding-left: 4vw;
    font-size: 1.5vw;
}

form#mail_form dl {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    text-align: left;
    font-size: 1.3vw;
}

form#mail_form dl dt {
    clear: both;
    width: 20%;
    text-align: left;
    overflow: hidden;
    margin-top: 2vw;
    margin-bottom: 2vw;
}

form#mail_form dl dd {
    margin: 0.5vw 0;
}

form#mail_form dl dt span {
    display: block;
    color: #3377ff;
}

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional {
    display: none;
    float: left;
    color: #ffffff;
    line-height: 1;
    padding: 8px 9px;
    border-radius: 3px;
}

form#mail_form dl dd span.error_blank,
form#mail_form dl dd span.error_format,
form#mail_form dl dd span.error_match {
    display: block;
    color: #ff0000;
    margin-top: 3px;
}

form#mail_form ul {
    list-style-type: none;
    padding: 0 2vw;
    margin: 0;
}

form#mail_form ul > li > label {
    margin: 0;
}

form#mail_form ul li label:hover {
    cursor: pointer;
}

form#mail_form .gray-text {
    color: #BEBEBE;
    display: inline;
}

form#mail_form input[type="text-half"],
form#mail_form input[type="text-full"],
form#mail_form textarea {
    width: 100%;
    border: 1px solid #EBEBEB;
    background: #EEF0EF;
    padding: 6px 10px;
}

form#mail_form input[type="text-half"]:focus,
form#mail_form input[type="text-full"]:focus,
form#mail_form textarea:focus {
    box-shadow: 0px 0px 5px #E65500;
    border: 1px solid #E65500;
    background: #ffffff;
}

form#mail_form input#name_1,
form#mail_form input#read_1 {
    margin-right: 1vw;
}

form#mail_form input#name_2,
form#mail_form input#read_2 {
    margin-left: 1vw;
}

form#mail_form ul li input[type="radio"],
form#mail_form ul li input[type="checkbox"] {
    padding-left: 6px;
    margin-right: 6px;
}

form#mail_form ::-webkit-input-placeholder,
form#mail_form :-moz-placeholder,
form#mail_form ::-moz-placeholder,
form#mail_form :placeholder-shown,
form#mail_form :-ms-input-placeholder {
    color: #C4C4C4;
    font-size: 1.4vw;
    padding: 1vw;
}

form#mail_form .vertical-line {
    border-left: 1px solid #ECECEC;
    line-height: 2.5em;
}

form#mail_form hr {
    border-top: 1px solid #ECECEC;
    width: 100%;
    margin: 0.4vw 0;
}

form#mail_form a:link {
    color: #E65500;
}

span.loading {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border-top: 5px solid rgba(255, 255, 255, 0.2);
    border-right: 5px solid rgba(255, 255, 255, 0.2);
    border-bottom: 5px solid rgba(255, 255, 255, 0.2);
    border-left: 5px solid #ffffff;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load-circle 1.0s linear infinite;
    animation: load-circle 1.0s linear infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -25px;
    margin-left: -25px;
}

@-webkit-keyframes load-circle {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes load-circle {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

form#mail_form select {
    font-size: 100%;
    font-family: inherit;
    margin-top: 10px;
}

form#mail_form input#postal + a {
    display: inline-block;
    padding: 9px 15px;
    vertical-align: middle;
    line-height: 1;
    background: #5bc0de;
    border: 1px solid #46b8da;
    border-radius: 3px;
    color: #ffffff;
    font-family: inherit;
    text-decoration: none;
    position: relative;
    top: -1px;
}

form#mail_form input#postal + a:hover {
    cursor: pointer;
    background: #31b0d5;
    border: 1px solid #269abc;
}

form#mail_form p#form_submit {
    margin: 0 auto;
    padding: 2vw 0;
}

form#mail_form input[type="button"] {
    padding: 1.5vw 8vw;
    vertical-align: middle;
    line-height: 1;
    background: #E65500;
    border: 1px solid #E65500;
    color: #ffffff;
    font-family: inherit;
    -webkit-appearance: none;
    font-size: 2.0vw;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background-image: url(images/aci_lp_08_contact_01.png);
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 1vw;
}

form#mail_form input[type="button"]:hover {
    cursor: pointer;
    background: #E49358;
    border: 1px solid #E49358;
    background-image: url(images/aci_lp_08_contact_01.png);
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 1vw;
}

.footer {
    background-color: #3E3A39;
    color: #FFFFFF;
    font-size: 1.3vw;
    padding-bottom: 30px;
}

.footer-menu {
    text-align: center;
    padding: 3vw 0;
}

.footer-menu > a {
    margin: 1vw 0;
    padding: 0 1.5vw;
    text-align: center;
    color: #FFFFFF;
    border-left: 1px solid #FFFFFF;
    border-right: 1px solid #FFFFFF;
}

.footer-menu > a + a {
    border-left: 0;
    border-right: 1px solid #FFFFFF;
}

.footer-menu > .footer-menu-linefeed + a {
    border-left: 0;
}

.footer-menu-linefeed {
    display: none;
}

.footer > img {
    width: 13vw;
    margin-bottom: 2vw;
}

.copyright {
    font-size: 1.0vw;
}

.thx {
    background-color: #FFDA3F;
    text-align: center;
    width: 100%;
    padding: 6vw;
}

.thx-frame {
    background-color: #FFFFFF;
    -webkit-border-radius: 0.5vw;
    -moz-border-radius: 0.5vw;
    border-radius: 0.5vw;
    width: 80%;
    margin: 0 auto;
    padding: 5vw;
}

.thx-btn {
    padding: 13px 8vw;
    vertical-align: middle;
    line-height: 1;
    background: #E65500;
    border: 1px solid #E65500;
    color: #ffffff;
    font-family: inherit;
    -webkit-appearance: none;
    font-size: 2.0vw;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.thx-btn :hover {
    cursor: pointer;
    background: #E49358;
    border: 1px solid #E49358;
}

.ths-msg {
    font-size: 2.0vw;
}

/* 1400px以上 */
@media (min-width: 1400px) {

    .money {
        padding: 0.7vw 0;
    }

    .case-button {
        font-size: 1.5vw;
    }

    .service-content-icon > img {
        width: 12vw;
        padding-bottom: 1vw;
    }
}

/* xl以上 */
@media (min-width: 1200px) {

    /* .achievement > .container {
        max-width: 1900px;
        margin : 0;
    } */
}

/* 1400px以下 */
@media (max-width: 1400px) {

    .navbar-light .navbar-nav > li {
        line-height: 230%;
    }
}

/* lg以下 */
@media (max-width: 1199.98px) {

    .navbar-light .line-dotted {
        border: 0;
    }

    .nav-contact-btn {
        text-align: center;
        width: 15vw;
    }

    .case-table {
        line-height: 130%;
    }
}

/* md以下 */
@media (max-width: 991.98px) {
    .about-container > .description {
        font-size: 16px;
    }

    .traditional-top > .title {
        font-size: 16px;
    }

    .traditional-top > .sub-title {
        font-size: 14px;
    }

    .next-generation > .title {
        font-size: 16px;
    }

    .next-generation > .sub-title {
        font-size: 14px;
    }

    .conclusion {
        font-size: 14px;
    }

    .navbar-light .navbar-nav .nav-item > a {
        font-size: 1.5vw;
    }

    .top-container p.frameborder-description {
        border: 0.4vw solid #3E3A39;
    }

    .case-table {
        line-height: 100%;
    }

    /* .service-content {
        padding : 15px 7px 30px 7px;
    } */
    .reward-icon {
        margin-top: 0vw;
    }

    .dandori {
        padding-top: 0;
    }

    .dandori-title {
        font-size: 18px;
    }

    .dandori-count {
        font-size: 16px;
    }

    .dandori-info {
        font-size: 14px;
    }

    .dandori-detail {
        font-size: 16px;
    }

    .cost-confirm-title {
        font-size: 16px;
    }

    .cost-confirm-description {
        font-size: 14px;
    }

    .qa-text-q {
        font-size: 16px;
    }

    .qa-text-a {
        font-size: 14px;
    }

    .contact-message {
        font-size: 16px;
    }

    .contact-description {
        font-size: 14px;
    }

    .form#mail_form dl dt span.required, form#mail_form dl dt span.optional {
        display: none;
    }

    .service-description {
        font-size: 16px;
        width: 90%;
        line-height: 180%;
    }

    .footer {
        font-size: 14px;
    }

    .footer > img {
        width: 160px;
    }

    .service-content-icon > img {
        width: 100%;
    }
}

/* sm以下 */
@media (max-width: 769px) {

    .navbar-light .navbar-nav > li {
        line-height: 200%;
    }

    .top-container p.frameborder-description {
        font-size: 0.5em;
    }

    .top-container > .sub-title-yellow {
        margin-bottom: 3px;
    }

    .top-container p.frameborder-description {
        border: 0.5vw solid #3E3A39;
    }

    .nav-contact-btn {
        width: 20vw;
    }

    .traditional-top > .sub-title, .next-generation > .sub-title {
        margin: 0.8vw 5vw 0 17vw;
    }

    .case-table {
        line-height: 70%;
    }

    .cost-frame {
        width: 70%;
    }

    .service-partition-black {
        border: solid 2px #3E3A39;
    }

    form#mail_form {
        padding: 1vw 4.5vw;
    }

    form#mail_form .vertical-line {
        border-left: none;
    }

    .copyright {
        font-size: 10px;
    }
}

/* xs以下 */
@media (max-width: 575px) {

    .navbar-light .navbar-nav > li {
        line-height: 170%;
    }

    .top-container > .top-message {
        margin-bottom: 1.5vw;
        line-height: 1.3em;
    }

    .top-container p.frameborder-description {
        width: 60%;
    }

    .top-container > .sub-title-yellow {
        margin-bottom: 10px;
    }

    .nav-contact-btn {
        width: 30vw;
    }

    .traditional-top > .sub-title, .next-generation > .sub-title {
        margin: 0.8vw 2vw 0 15vw;
    }

    .service-content {
        margin: 0 auto;
        width: 70%;
        padding: 4vw 3vw;
    }

    .service-content-text {
        margin: 10px 20px;
        font-size: 14px;
    }

    .service-description {
        padding: 2vw;
    }

    .viewing-ok {
        width: 20vw;
    }

    .achievement {
        padding: 3vw 15vw 7vw 15vw;
    }

    .cost-content, .reward-content {
        padding: 4vw;
    }

    .reward-icon > img {
        width: 90%;
    }

    .cost-frame > .row > [class*='col-'] {
        padding-top: 1vw;
        padding-bottom: 1vw;
    }

    .cost-text {
        font-size: 3.5vw;
    }

    .cost-confirm-title {
        padding: 2vw;
        margin-bottom: 2vw;
    }

    form#mail_form input#name_1,
    form#mail_form input#read_1 {
        margin-right: 0;
    }

    form#mail_form input#name_2,
    form#mail_form input#read_2 {
        margin-left: 0;
    }

    .footer-menu-linefeed {
        display: block;
    }

    .footer-menu-linefeed > a {
        border-right: 1px solid #FFFFFF;
    }

    .footer-menu > .footer-menu-linefeed + a {
        border-left: 1px solid #FFFFFF;
    }
}

@media (max-width: 767.98px) {
    form#mail_form {
        font-size: 16px;
    }

    form#mail_form dl {
        font-size: 14px;
    }

    .case-table > tbody > tr > td {
        font-size: 12px;
        padding: 4px 8px;
    }

}