.main {
    width: 100vw;
}
/*.top-visual-bg {}*/
/*.top-visual-bg video {*/
/*    position: fixed;*/
/*    width: 100%;*/
/*    !*height: 100vh;*!*/
/*    top: 0;*/
/*}*/
.top-visual {
    position: fixed;
    top: 0;
}
.top-visual-bg {
    height: 100%; /* 高さを画面いっぱいに指定する。(vhが効かない場合の対策) */
    height: 100vh; /* 高さを画面いっぱいに指定する。*/
    position: relative;  /*横幅がウィンドウズサイズの縦幅よりもはみ出てしまう場合に、左にずらすために指定。*/
    width: 100%; /* 横幅もいっぱいに。 */
}
.top-visual-bg video {
    background: url('/assets/video/video-bg.jpg') no-repeat; /*動画が再生を始めるまで、cssのほうでも背景を設定します。*/
    background-attachment: fixed; /*中央揃えになるように、fixed。*/
    background-position: center center; /* positionも中央に。 */
    background-size: cover; /* 画面サイズに応じてサイズを可変するように設定。 */
    left: 0;
    /*以下、画面いっぱいにするためのCSS設定*/
    min-height: 100%;
    min-height: 100vh;
    min-width: 100%;
    min-width: 100vw;
    /* wrapperのサイズに応じて、leftの位置をjQueryで指定するため、positionはabsoluteにします。 */
    position: absolute;
    top: 0;
    /* z-indexは調整してください。 */
    z-index: 1;
}
.top-logo {
    height: 70px;
}
.top-logo-black {
    display: none;
    transition-duration: 0.2s;
}
.top-logo-white {
    display: inline-block;
    transition-duration: 0.2s;
}
html.sticky-header-active .top-logo-white {
    display: none;
}
html.sticky-header-active .top-logo-black {
    display: inline-block;
    height: 50px;
}
#header .header-nav.header-nav-links:not(.header-nav-light-text) nav > ul > li > a,
#header .header-nav.header-nav-line:not(.header-nav-light-text) nav > ul > li > a {
    color: #fff;
}
#header .header-nav.header-nav-links nav > ul:not(:hover) > li > a.active,
#header .header-nav.header-nav-links nav > ul li:hover > a {
    color: #fff;
    text-decoration: underline;
}
html.sticky-header-active #header .header-nav.header-nav-links:not(.header-nav-light-text) nav > ul > li > a,
html.sticky-header-active #header .header-nav.header-nav-line:not(.header-nav-light-text) nav > ul > li > a {
    color: #444;
}
html.sticky-header-active #header .header-nav.header-nav-links nav > ul:not(:hover) > li > a.active,
html.sticky-header-active #header .header-nav.header-nav-links nav > ul li:hover > a {
    color: #e23c8e;
    text-decoration: underline;
}
html.sticky-header-active #header {
    opacity: 0.9;
}
h1 {
    /*color: #000 !important;*/
    color: #fff !important;
}
.custom-text-color-grey-1 {
    /*color: #222 !important;*/
    color: #fff !important;
}
.btn-menu-space {
    padding: 30px 0;
}
html.sticky-header-active .btn-menu-space {
    padding: 15px 0;
}
.btn-menu-space a {
    height: auto !important;
    min-height: auto !important;
    padding: 10px 15px !important;
}
#header .header-nav.header-nav-links nav > ul > li > a.btn-info {
    background: #17a2b8 !important;
    color: #FFF !important;
}
#header .header-nav.header-nav-links nav > ul > li > a.btn-primary {
    background: linear-gradient(135deg, #e75da1 0%, #c03aa1 80%) !important;
    color: #FFF !important;
}
#header .header-nav.header-nav-links nav > ul > li.btn:hover,
#header .header-nav.header-nav-links nav > ul > li.btn:hover > a {
    text-decoration: none !important;
}

#header .header-nav-main.header-nav-main-square nav > ul > li > a.btn-menu-round {
    display: inline-block;
    border-radius: 30px !important;
}
.btn-menu-round {
    display: inline-block;
    border-radius: 30px !important;
}
.visual-mes {
    margin-top: 150px;
}
.voice-sub-title {
    font-size: 1.3em !important;
    font-weight: bold !important;
}
.pricing-table .plan .plan-features ul li {
    line-height: 1.8;
    padding: 10px 0;
}
#question {
    font-size: 1em;
}
#question.accordion .card {
    border: none !important;
    border-top: 1px solid #eee !important;
    border-bottom: 1px solid #eee !important;
    border-radius: 0;
    margin-bottom: 15px;
}
#question.accordion>.card>.card-header {
    padding: 10px 0;
    background-color: rgba(0,0,0,.02);
}
#question .card-body {
    padding: 20px;
}
.table-white {}
.table-white tr {}
.table-white tr th, .table-white tr td {
    border-color: #ccc;
    border-width: 1px;
    color: #fff;
    text-align: center;
}
.node-type-good {
    background-color: #e23c8e;
}
.node-type-bad {
    background-color: #17a2b8;
}
.node-type-inline {
    display: inline-block;
    padding: 5px 10px;
    margin: 0 5px;
}
.btn-cstm-lg {
    padding: 20px 30px;
}

.ct-grid {
    stroke: white;
}
.ct-bar {
    /* Colour of your bars */
    stroke: red !important;
    /* The width of your bars */
    stroke-width: 20px;
    /* Yes! Dashed bars! */
    /* Maybe you like round corners on your bars? */
    stroke-linecap: round;
}
.ct-label {
    color: #fff;
    padding-top: 10px;
}
.modal-open .z-index-1 {
    z-index: auto !important;
}
.modal-title {
    text-transform: inherit;
}
.modal-tab-link {
    color: #000;
}
.modal .nav-tabs li .nav-link,
.modal .nav-tabs li .nav-link:hover {
    color: #000;
}
.modal .nav-tabs li .nav-link.active {
    border-top-color: #a33188;
    font-weight: bold;
}
.modal .nav-tabs li.active .nav-link,
.modal .nav-tabs li.active .nav-link:hover,
.modal .nav-tabs li.active .nav-link:focus {
    color: #000;
    border-top-color: #a33188;
    font-weight: bold;
}
.table-simulation {}
.table-simulation td {
    width: 170px;
    text-align: right;
}
.form-size-sm {
    width: 130px;
    display: inline-block;
    text-align: right;
}
.form-size-xs {
    width: 70px;
    display: inline-block;
    text-align: right;
}
.form-size-input {
    background-color: rgba(30, 209, 237, 0.17);
}
.img-photo-width {
    width: 100%;
}
@media (min-width: 576px) {
    #price-simulation .modal-dialog {
        max-width: 1200px;
        margin-left: 20px;
        margin-right: 20px;
    }
}
@media (min-width: 1150px) {
    #price-simulation .modal-dialog {
        margin: 3em auto;
    }
}

@media (max-width: 675px) {
    .visual-mes {
        margin-top: -250px;
    }
    .top-visual-space {
        height: 20px !important;
    }
    .main-visual a {
        margin-bottom: 10px;
    }
    #visual-pc {
        height: 160px;
    }
    #visual-pc img {
        display: none;
    }
}

.bg-color-simulation {
	background: #eee;
}


.loopSlider {
	overflow: hidden;
	clear: both;
}
.loopSlider ul {}
.loopSlider ul li {
	list-style: none;
	float: left;
}
/* ------------------------------
   loopSlider
------------------------------ */
.loopSliderWrap {
    top: 0;
    left: 0;
    height: 120px;
    overflow: hidden;
    position: absolute;
}
 
.loopSlider {
    margin: 0 auto;
    width: 100%;
    height: 120px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
 
.loopSlider ul {
    height: 120px;
    float: left;
    overflow: hidden;
    padding-left: 0;
    display: table;
}
 
.loopSlider ul li {
    width: 200px;
    height: 100px;
    float: left;
/*     display: inline; */
/*     display: table-cell; */
/*     vertical-align: middle; */
    display: flex;
	justify-content: center;
	align-items: center;
    overflow: hidden;
    text-align: center;
    padding: 10px 20px;
    margin: 10px 10px;
    border: solid 1px #efefef;
    background: #fff;
}
.loopSlider ul li img {
	max-width: 100%;
	max-height: 100%;
}
.m-logo-top {
	margin-top: -280px !important;
	margin-bottom: 180px !important;
}
.m-logo-bottom {
	background: #fff !important;
}
.m-bg-btm {
	padding-bottom: 120px !important;
}
.loopSliderWrap:after {
    content: "";
    display: none;
    clear: none;
}