@charset "UTF-8";

html {
scroll-behavior: unset!important;
}

/* レイアウト */
@media (min-width:768px){
	.container { max-width: 1230px; }
	/* .container { max-width: 970px; } */
	.container-detail { max-width: 830px; }
}
@media (min-width:1200px){
	.container { width: 100%; }
}


.row-nosp .col-xs-1, .row-nosp .col-sm-1, .row-nosp .col-md-1, .row-nosp .col-lg-1, .row-nosp .col-xs-2, .row-nosp .col-sm-2, .row-nosp .col-md-2, .row-nosp .col-lg-2, .row-nosp .col-xs-3, .row-nosp .col-sm-3, .row-nosp .col-md-3, .row-nosp .col-lg-3, .row-nosp .col-xs-4, .row-nosp .col-sm-4, .row-nosp .col-md-4, .row-nosp .col-lg-4, .row-nosp .col-xs-5, .row-nosp .col-sm-5, .row-nosp .col-md-5, .row-nosp .col-lg-5, .row-nosp .col-xs-6, .row-nosp .col-sm-6, .row-nosp .col-md-6, .row-nosp .col-lg-6, .row-nosp .col-xs-7, .row-nosp .col-sm-7, .row-nosp .col-md-7, .row-nosp .col-lg-7, .row-nosp .col-xs-8, .row-nosp .col-sm-8, .row-nosp .col-md-8, .row-nosp .col-lg-8, .row-nosp .col-xs-9, .row-nosp .col-sm-9, .row-nosp .col-md-9, .row-nosp .col-lg-9, .row-nosp .col-xs-10, .row-nosp .col-sm-10, .row-nosp .col-md-10, .row-nosp .col-lg-10, .row-nosp .col-xs-11, .row-nosp .col-sm-11, .row-nosp .col-md-11, .row-nosp .col-lg-11, .row-nosp .col-xs-12, .row-nosp .col-sm-12, .row-nosp .col-md-12, .row-nosp .col-lg-12 {
  padding-left:0px;
  padding-right:0px;
}

/* 共通設定 */
body {
  font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  line-height: 1.6;
  font-size: 14px;
}

/* IEのリンク画像の点線枠を削除するCSS、bootstrapを上書き */
a:focus {
	outline:none;
}

.mb-0 {
  margin-bottom: 0!important;
}


/* 背景タイプ：単色 */
.bg-blue {
  background-color: #4683C6;
  color: #fff;
}
.bg-gray {
   background-color: #edf0f4;
}
.bg-lgray{
  background-color: #eee;
}
.bg-green {
   background-color: #82B982;
   color: #fff;
} 
.bg-red {
   background-color: #F17C72;
  color: #fff;
}
.bg-line {
  border-top:1px solid #ccc;
}
/* 背景タイプ：グラデーション */
.bg-grad {
  /* background: linear-gradient(#CFDAFA,#fff); */
  /* background-repeat: repeat-x; */
  /* background-size: 240px; */
  background-image: linear-gradient(90deg, #d4ddf7, #d3e9f4);
  /* background-image: linear-gradient(90deg, rgba(103, 126, 250, 1), rgba(142, 84, 219, 1)); */
  position: relative;
}
.bg-grad2 {
  background-image: linear-gradient(90deg, hsl(225deg 69% 90% / 20%), rgb(211 233 244 / 20%));
  position: relative;
}
.bg-grad-tri {
  border: 30px solid transparent;
  border-top: 30px solid #fff;
  content: "";
  left: 50%;
  margin-left: -30px;
  position: absolute;
  top: 0;
}
/* 背景タイプ：動画 */
.bg-video {
  overflow: hidden;
  position: relative;
}
.bg-video .container {
  color: #fff;
  position: relative;
  z-index: 2;
}
.bg-video figure {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
.bg-video video {
  min-height: 432px;
  min-width: 768px;
  vertical-align: top;
  width: 100%;
}
.bg-video figure:before{
  background-color:rgba(0,0,0,0.5);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}



/* 背景タイプ：画像 */
.bg-img {
	overflow:hidden;
	position:relative;	
	width:100%;
}
.bg-img .contents {
	position:relative;
	color:#fff;
}
.bg-img .contents small{
	color:#fff;
}
.bg-img figure {
	display: block;
	position: absolute;
	z-index: -1;
	width: 100%;
}
.bg-img img {
	position: relative;
	min-height: 400px;
	min-width: 600px;
	max-width: 1400px;
	display: block;
	margin-left: auto;
	margin-right: auto ;

}
.bg-img .img-filter {
	top:0;
	left:0;
	right:0;
	position:absolute;
	z-index: 1;
	height:100%;
	width:100%;
	max-width: 1400px;
	background-color:rgba(0,0,0,0.4);
	margin-left: auto;
   margin-right: auto ;
}

/* コンテナ余白設定 */
section .container {
  padding-top:54px;
  padding-bottom:54px;
}
article.no-nav section .container {
  padding-top:0;
}
@media (max-width:767px) {
  section.tiles li .icon {
    font-size:120px;
  }
  section.tiles li {
    padding:30px 0;
    border-bottom:1px dotted #999;
  }
  section.tiles li:last-child {
    border: 0px;
  }
  .container {
    padding-left:30px;
    padding-right:30px;
  }
}

/* スペーサー */
.spacer-10 {
	margin-top:10px;
}
.spacer-20 {
	margin-top:20px;
}
.spacer-30 {
	margin-top:30px;
}
.spacer-40 {
	margin-top:40px;
}
.spacer-50 {
	margin-top:50px;
}
@media (min-width: 992px) {
  .spacer-md-0 {
    margin-top: 0;
  }
}

/* 部品 */
/* タイトルタグ */
.page-header {
  border:0;
  margin-top:0.3em;
  padding: 12px 20px;
}
@media (min-width: 992px) {
  .page-header {
    padding: 40px 20px;
  }
}
.page-header {

}

h1 {
  font-size: 2.4em;
  font-weight:normal;
  margin: 0.9em 0;
  letter-spacing:3px;
	line-height:1.3em;
}
h2 {
  font-size: 2.1em;
  font-weight: normal;
  margin: 0.9em 0;
  letter-spacing: 3px;
}
.ttl-ul {
  border-bottom:1px solid #888;
  padding-bottom:10px;
  margin-bottom:20px;
}
.ttl-bg {
  padding:9px 15px;
}
h3 {
  font-size: 1.5em;
  font-weight: bold;
  margin:0.9em 0;
}

@media (max-width:767px) {
  h1 {
    font-size: 1.8em;
    margin: 24px 0;
		line-height:1.3em;
  }
  h2 {
    font-size: 1.8em;
    margin: 24px 0;
  }
  h3 {
    font-size: 1.5em;
    margin:21px 0;
  }
}

/* フォントカラー */
.blue {
	color: #337AB7;
}
.red {
	color: #A94442;
}
.green {
	color: #468847;
}

p {
  line-height: 2.1em;
  margin: 6px 0;
  padding:0;
  font-size: 1em;
}
dd {
  margin-bottom: 12px;
}
@media(max-width:767px){
  dt {
    margin-bottom: 12px;
  }
  dt:not(:first-child){
    margin-top: 21px;
  }
}

/* アイコン */
.icon {
  font-family: 'FontAwesome';
  font-size:9em;
  text-align:center;
  padding:0;
  margin:0;
  line-height:100%;
}
.icon-xs {
  font-size: 1.5em;
}
.icon-sm {
  font-size: 2.4em;
}
.icon-md {
  font-size: 6em;
}
.icon-lg {
  font-size: 12em;
}

/* ボタン */
.btn {
  border:0;
  border-radius: 0;
  padding: 9px 18px;
}
.btn-lg {
  padding: 15px 24px;
}
.btn-primary {
  color:#fff;
  background:#4683C6;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color:#fff;
  background:#0F76BA;
}
.btn-success {
  color:#fff;
  background:#36414C;
}
.btn-success:hover,
.btn-success:focus,
.btn-success.focus,
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
	color:#fff;
	background:#79A847;
}
.btn-info {
	color:#fff;
	background:#4f9ddb;
}
.btn-info:hover,
.btn-info:focus,
.btn-info.focus,
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
	color:#fff;
	background: #3173bc;
}
.btn-white {
  color:#4683C6;
  background:#fff;
  /* box-shadow: 0 0 0 6px rgba(255, 255, 255, .4); */
}
.btn-white:hover,
.btn-white:focus,
.btn-white.focus,
.btn-white:active,
.btn-white.active,
.open > .dropdown-toggle.btn-white {
  color:#0F76BA;
  background:#fff;
}
.btn-warning {
	color:#fff;
	background:#F47C3C;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning.focus,
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
	color:#fff;
	background:#DB7037;
}
.btn-danger {
	color:#fff;
	background:#D9534F;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger.focus,
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger{
	color:#fff;
	backgroud-color:#BF4945;
	border-color:#B34440;
}

/* パネル */
.panel {
  border-radius: 0;
  border: 0;
  box-shadow: none;
}
.panel-heading {
  border-top: 2px solid #ddd;
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  border-radius: 0;
  margin:0;
  padding-bottom:0;
}
.panel-body {
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  margin:0;
  padding-top:0;
}
.panel-heading h3 {
  margin: 12px 0 0 0;
  padding:0;
  line-height: 150%;
  font-size:1.5em;
}
.label {
  vertical-align:middle;
  padding:3px 9px;
}

/* form */
label {
  font-weight:normal;
}
.form-control {
  border-radius: 0;
}
.control-label {
  font-weight:bold;
}

/* table */
.text-middle {
	vertical-align:middle !important;
}

/* レスポンシブ対応テーブル */
@media screen and (max-width: 767px) {
	.table-responsive {
		border:0px;
	}
	/* デフォルトnowrapが入っているので文章の場合はそれをはずす */
	.table-responsive > .table > tbody > tr > td > p {
		white-space: normal;
		min-width: 200px;
	}
}



/* header */
header .header {
  padding: 20px 0 20px 0;
}
header h1 {
  margin:0;
  padding:0;
}
header .tagline {

}
header .login {
	line-height: 50px;
}
@media (max-width:767px) {
  header {
    text-align: center;
  }
  header .header {
    padding-bottom:10px;
  }
  header .tagline {
    text-align: center;
  }
  header .login {
    text-align: center;
  }
}


/* navbar */
@media only screen and (min-width:768px) { /* PCサイト */
  ul.nav li.dropdown:hover > ul.dropdown-menu {
    display: block;
    border-radius:4px;
    margin-top:0px;
  }
}
.navbar {
  margin-bottom: 0;
  border-radius: 0;
}
.navbar-inverse {
  background: #111;
}
.navbar-ul {
  border-bottom:1px solid #555;
}
.navbar-inverse .navbar-nav {
}
.navbar-inverse .navbar-nav > li > a {
  padding-top:20px;
  padding-bottom:20px;
  color: #fff;
}
.navbar-inverse .navbar-nav > li > a:hover {
  background: #444;
}

@media screen and (max-width: 991px) {
  .dropdown-menu{
    border-radius: 0.25rem!important;
    position: absolute!important;
    top: 100%;
    left: 5px!important;
    right: 5px;
    width: calc(100% - 10px)!important;
    margin-bottom: 40px;
  }
  .nav-item.show .dropdown-menu{
    background-color: #fff;
    border: 1px solid rgb(51 51 51 / 13%);
    -webkit-transform: translate3d(0, 0, 0) scale(1);
            transform: translate3d(0, 0, 0) scale(1);
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    -webkit-box-shadow: 0 3px 9px 1px rgba(61, 99, 120, 0.16);
            box-shadow: 0 3px 9px 1px rgba(61, 99, 120, 0.16);
    z-index: 1; }
}


.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
	color: #000;
  background-color: #ccc;
}

/* ページ見出しエリア */
.jumbotron {
  padding: 20px 0;
  margin: 0;
}
.jumbotron .container {
  box-align:center;
  text-align:center;
}
.jumbotron h1 {
  font-size: 2.4em;
  font-weight: bold;
  text-shadow: 1px 1px 1px #333;
  line-height: 150%;
  margin: 20px 0;
}
.jumbotron p {
  font-size:1.2em;
  text-shadow: 1px 1px 1px #333;
  margin: 20px 0;
}
.jumbotron .btn {
  margin: 20px 0;
}
@media(max-width:767px){
  .jumbotron {
    padding:20px 0;
  }
  .jumbotron h1 {
    font-size: 1.6em;
    margin: 15px 0;
  }
  .jumbotron p {
    font-size: 1.0em;
    margin: 15px 0;
  }
}

/* 個別セクションのデザイン */
.sec-contact h1 {
  margin-top:0;
}
.sec-client h1 {
  margin-bottom: 1.5em;
}
.sec-client li {
  margin-bottom: 30px;
}
.sec-title h1 {
  margin:0;
}

/* 価格表 */
.sec-price .panel {
  border-left-color:#666;
}
.sec-price .panel-heading {
  position:relative;
  background:#666;
  border-color:#666;
}
.sec-price .panel-primary .panel-heading{
  background-color:#4683C6;
  border-color:#4683C6;
}
.sec-price .panel-heading h3 {
  margin: 15px 0;
  color: #fff;
}
.sec-price .list-group-item .lfont {
  font-size:2.4em;
  font-weight: bold;
}
.sec-price .panel > .list-group .list-group-item {
  border-left-width:1px;
  border-right-width:1px;
}
.sec-price .list-group-item:first-child {
  padding-top:24px;
}
.sec-price .list-group-item:last-child {
  border-radius:0px;
  border-width:1px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 1px solid #ddd;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}
.sec-price .list-group-item:first-child:after {
  content: "";
  border: 10px solid transparent;
  border-top: 10px solid #666;
  position: absolute;
  left: 50%;
  margin-left: -10px;
  z-index:1;
  top:0;
}
.sec-price .panel-primary .list-group-item:first-child:after {
  border-top-color:#4683C6;
}
.sec-price .list-group small {
  font-size:0.5em;
}

/* Google Map */
#map-canvas {
  height:400px;
  width:100%;
}
@media(max-width:767px){
  #map-canvas {
    height:300px;
  }
}


/* 登録フォーム */
#regist-form {
  padding: 42px;
}

/* ログインフォーム */
#login-form {
  padding: 42px;
}
#login-form .form-group {
  position:relative;
}
#login-form .form-control {
  padding-left:48px;
}
#login-form .input-icon {
  position: absolute;
  top:0;
  left:0;
  line-height:44px;
  z-index:2;
  color: #ccc;
  text-align:center;
  display: block;
  width:44px;
  height:44x;
  margin:1px;
}
#login-form .btn-fb {
  background-color:#3b5998;
  color:#fff;
  padding-left: 25%;
  position: relative;
  text-align: left;
  margin-bottom: 12px;
}
#login-form .btn-fb .icon,
#login-form .btn-tw .icon {
  border-right: 1px solid #fff;
  float: left;
  height: 100%;
  left: 0;
  line-height: 38px;
  position: absolute;
  text-align: center;
  top: 0;
  width: 20%;
}
#login-form .btn-tw {
  background-color:#55acee;
  color: #fff;
  position: relative;
  text-align: left;
  padding-left: 25%;
}
#login-form hr {
  border-color:#bbb;
  border-width: 1px;
}

/* facebook */
#fb-root {
    display: none;
}

/* footer */
footer {
  background-color: #111;
  padding-top:10px;
}
footer a, footer a:hover {
  color:#ddd;
}
footer nav ul {
  font-size:0.95em;
  line-height: 240%;
  margin:0;
}
footer .copyright {
  font-size: 0.9em;
  color: #aaa;
}

/* thick version */
footer.thick {
  padding-top: 30px;
}
footer.thick ul.social {
  margin-top:24px;
}
footer.thick nav h4 {
  font-size:1.1em;
  font-weight:bold;
}
footer.thick nav ul li:last-child {
  margin-bottom:10px;
}
footer.thick .copyright {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #222;
}
@media(max-width:767px){
  footer.thick h4 {
    font-size:1em;
    text-align:center;
  }
  footer.thick nav {
    display:none;
  }
  footer.thick .company {
    text-align:center;
  }  
}


/* タイトルコンテナ追加2015/01/14 */
section .title-container {
  padding-top:60px;
  padding-bottom:40px;
}
article.no-nav section .title-container {
  padding-top:0;
}
@media (max-width:767px) {
	section .title-container {
	  padding-top:60px;
	  padding-bottom:0px;
	}
  section.tiles li .icon {
    font-size:120px;
  }
  section.tiles li {
    padding:30px 0;
    border-bottom:1px dotted #999;
  }
  section.tiles li:last-child {
    border: 0px;
  }
  .title-container {
    padding-left:30px;
    padding-right:30px;
  }
}

/* ワイドコンテナ背景色あり追加2015/01/15 */
.wide-bg-lgray{
  background-color: #eee;
  padding-top:54px;
  padding-bottom:54px;
}/* レイアウト追加2015/01/10 */
@media (min-width:768px){
	.container-full { max-width: 100%; }
}



/* コンテナフル余白追加2015/01/20 */
section .container-full {
  padding-top:54px;
  padding-bottom:54px;
}



/* 引用風（1カラムのみ対応） */
div.quotes {
	position:relative;
}
div.quotes blockquote {
	border:0;
	margin:0;
	padding:0;
	padding:10px 80px;
	font-size:1em;
}
div.quotes blockquote:before{
    content: "“";
    font-size: 1000%;
    line-height: 1em;
    font-family: 'Times New Roman' ,"ＭＳ Ｐゴシック" ,sans-serif;
    color: #F0F0F0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -99;
}
div.quotes blockquote:after{
    content: "”";
    font-size: 1000%;
    line-height: 0em;
    font-family: 'Times New Roman' ,"ＭＳ Ｐゴシック" ,sans-serif;
    color: #F0F0F0;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -99;
}
@media (max-width:767px) {
	div.quotes blockquote {
		padding:10px 0px;
	}
	div.quotes blockquote:before{
    	font-size: 500%;
		margin-left:-32px;
	}
	div.quotes blockquote:after{
    	font-size: 500%;
		margin-right:-32px;

	}
}


/* 数字リスト 黒丸白抜き */
ol.maru {
	counter-reset: li;
	list-style: none;
	padding-left: 0;
}
ol.maru > li {
	position: relative;
	margin-bottom: 1.5em;
	padding-left: 2.5em;

}
ol.maru > li:before {
	content: counter(li) "";
	counter-increment: li;
	position: absolute;
	left: 0;
	width: 1.8em;
	height: 1.8em;
	background: #000;
	border-radius: 50px;
	color: #fff;
	line-height: 1.8;
	text-align: center;
}

/* チェックマークリスト */
ul.check {
	padding:0px;
	margin:0px;
}
ul.check li{
	list-style-type:none !important;
	list-style-image:none !important;
	margin: 5px 0px 5px 0px !important;
	position:relative;
	padding-left:20px;
}
ul.check li:after, ul.check li:before{
	content:''; 
	display:block; 
	position:absolute; 
	top:4px; 
	left:8px; 
	height:11px; 
	width:4px; 
	background:#aaa; 
	border-radius:10px;
	transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	-o-transform:rotate(45deg);
}
ul.check li:before{
	top:8px; 
	left:3px;
	height:8px; 
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
}



/* 白ぬきボックスパネル */
div.tile-border-box div.contents {
	background:#fff;
	border:4px solid #999;
	padding:16px;
	margin-bottom:8px;
}

/* 白抜きボックスパネル リンク */
div.tile-border-box a{
	text-decoration:none;
	color:#333;
}
div.tile-border-box a:hover div.contents {
	background:#59B5F2;
	border-color:#0F76BA;
	color:#fff;
	transition: background-color 0.5s, color 0.1s;
}

.fixed-bar {
  z-index: 100000;
  width: 100%;
  background-color: #337ab7;
}

.fixed-bar__inner {
  padding: 10px 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.fixed-bar__text {
  color: #fff;
  margin-right: 15px;
  line-height: 1.5;
}

  .d-s-inline {
    display: none;
  }
@media (max-width:991px){
  .fixed-bar {
    padding-top: 60px;
    border-bottom: 1px solid #fff;
  }
}

@media (min-width:992px){
  .fixed-bar {
    position: fixed;
  }

  .fixed-bar + header {
    padding-top: 68px;
  }

  .fixed-bar__inner {
    padding: 10px 0;
  }

  .fixed-bar__text {
    margin-right: 15px;
  }

  .d-s-inline {
    display: inline;
  }
}
.btn-secondary{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-secondary:hover,.btn-secondary:focus,.btn-secondary.focus,.btn-secondary:active,.btn-secondary.active,.open>.dropdown-toggle.btn-secondary{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-secondary:active,.btn-secondary.active,.open>.dropdown-toggle.btn-secondary{background-image:none}.btn-secondary.disabled,.btn-secondary[disabled],fieldset[disabled] .btn-secondary,.btn-secondary.disabled:hover,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary:hover,.btn-secondary.disabled:focus,.btn-secondary[disabled]:focus,fieldset[disabled] .btn-secondary:focus,.btn-secondary.disabled.focus,.btn-secondary[disabled].focus,fieldset[disabled] .btn-secondary.focus,.btn-secondary.disabled:active,.btn-secondary[disabled]:active,fieldset[disabled] .btn-secondary:active,.btn-secondary.disabled.active,.btn-secondary[disabled].active,fieldset[disabled] .btn-secondary.active{background-color:#f0ad4e;border-color:#eea236}.btn-secondary .badge{color:#f0ad4e;background-color:#fff}

@media (min-width:768px){
.mt-sm-3 {
  margin-top: 30px;
}
}
#case-study a {
  text-decoration: underline;
}

.usecase-badges {
  margin-top: -20px;
  margin-right: -10px;
  margin-left: -10px;
}
.usecase-badge {
  width: calc(50% - 20px);
  display: inline-block;
  padding: 10px 30px 7px 30px;
  margin: 20px 10px 0;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  background-color: #A9DDF3;
  border-radius: 6px;
  color: #4683C6;
}

.flex-wrap {
  flex-wrap: wrap;
}

.no-shadow {
  box-shadow:none!important;
}
@media (min-width:768px){
  .usecase-badge {
    width: auto;
  }
}

/* 別窓アイコン付きリンク
   ----------------------------------------------------------------- */
.blank-link:after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  width: 9px;
  height: 9px;
  border: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%209%22%20width%3D%229%22%20height%3D%229%22%3E%3Cpath%20d%3D%22M0%209V1h1v7h7v1zm2-2V0h7v7z%22%20fill%3D%22%232961b9%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 0 0;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none; }

.blank-link-black:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%209%22%20width%3D%229%22%20height%3D%229%22%3E%3Cpath%20d%3D%22M0%209V1h1v7h7v1zm2-2V0h7v7z%22%20fill%3D%22%23333%22%2F%3E%3C%2Fsvg%3E"); }

.blank-link-white:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%209%22%20width%3D%229%22%20height%3D%229%22%3E%3Cpath%20d%3D%22M0%209V1h1v7h7v1zm2-2V0h7v7z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); }

@media only screen and (min-width: 62em) {
  .blank-link-header:after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%209%22%20width%3D%229%22%20height%3D%229%22%3E%3Cpath%20d%3D%22M0%209V1h1v7h7v1zm2-2V0h7v7z%22%20fill%3D%22%23333%22%2F%3E%3C%2Fsvg%3E"); } }

@media only screen and (max-width: 61.99875em) {
  .blank-link-header:after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%209%22%20width%3D%229%22%20height%3D%229%22%3E%3Cpath%20d%3D%22M0%209V1h1v7h7v1zm2-2V0h7v7z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); } }

@media only screen and (min-width: 62em) {
  .blank-link-header:hover:after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%209%22%20width%3D%229%22%20height%3D%229%22%3E%3Cpath%20d%3D%22M0%209V1h1v7h7v1zm2-2V0h7v7z%22%20fill%3D%22%2338a3eb%22%2F%3E%3C%2Fsvg%3E"); } }

.blank-link-cta:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%209%22%20width%3D%229%22%20height%3D%229%22%3E%3Cpath%20d%3D%22M0%209V1h1v7h7v1zm2-2V0h7v7z%22%20fill%3D%22%2356b54b%22%2F%3E%3C%2Fsvg%3E"); }

.grecaptcha-badge { visibility: hidden; }
.grecaptcha-explain{font-size: 0.825rem;}

.embed-video {
position: relative;
width: 100%;
height: 0;
padding-top: 56.25%;
}

.embed-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }


.btn-header{min-width:auto;padding:7px 20px;}
.btn-header{
  background-color:#36414C;
  color:#fff;
  font-size: 16px;
}

.btn-header:after{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;position:relative;top:-0.1em;width:8px;height:8px;border-style:solid;border-width:2px 2px 0 0;margin-left:2px;border-color:#fff;-webkit-transform:translate(0, 0) rotate(45deg);-ms-transform:translate(0, 0) rotate(45deg);transform:translate(0, 0) rotate(45deg);-webkit-transition:border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s,-webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;transition:border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s,-webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;transition:transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s,border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;transition:transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s,border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s,-webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;-webkit-backface-visibility:hidden;backface-visibility:hidden;content:"";}

.btn-header:hover{color:#fff;background-color:#25282b;}
.btn-header:hover {
  background-color: #25282b!important;
}

.nav-item-btn {
  margin-left: 10px;
}
@media only screen and (max-width: 47.99875em) {
  .nav-item-btn {
    margin-left: 0;
  }
}
.card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(51,51,51,0.125);
  border-radius: .25rem
}

.card>hr {
  margin-right: 0;
  margin-left: 0
}

.card>.list-group:first-child .list-group-item:first-child {
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem
}

.card>.list-group:last-child .list-group-item:last-child {
  border-bottom-right-radius: .25rem;
  border-bottom-left-radius: .25rem
}

.card-body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: 1.25rem
}

.card-title {
  margin-bottom: .75rem
}

.card-subtitle {
  margin-top: -.375rem;
  margin-bottom: 0
}

.card-text:last-child {
  margin-bottom: 0
}

.card-link:hover {
  text-decoration: none
}

.card-link+.card-link {
  margin-left: 1.25rem
}

.card-header {
  padding: .75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(51,51,51,0.03);
  border-bottom: 1px solid rgba(51,51,51,0.125)
}

.card-header:first-child {
  border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0
}

.card-header+.list-group .list-group-item:first-child {
  border-top: 0
}

.card-footer {
  padding: .75rem 1.25rem;
  background-color: rgba(51,51,51,0.03);
  border-top: 1px solid rgba(51,51,51,0.125)
}

.card-footer:last-child {
  border-radius: 0 0 calc(.25rem - 1px) calc(.25rem - 1px)
}

.card-header-tabs {
  margin-right: -.625rem;
  margin-bottom: -.75rem;
  margin-left: -.625rem;
  border-bottom: 0
}

.card-header-pills {
  margin-right: -.625rem;
  margin-left: -.625rem
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem
}

.card-img {
  width: 100%;
  border-radius: calc(.25rem - 1px)
}

.card-img-top {
  width: 100%;
  border-top-left-radius: calc(.25rem - 1px);
  border-top-right-radius: calc(.25rem - 1px)
}

.card-img-bottom {
  width: 100%;
  border-bottom-right-radius: calc(.25rem - 1px);
  border-bottom-left-radius: calc(.25rem - 1px)
}

.card-deck {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column
}

.card-deck .card {
  margin-bottom: 20px
}

@media (min-width: 576px) {
  .card-deck {
      -webkit-box-orient:horizontal;
      -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      margin-right: -20px;
      margin-left: -20px
  }

  .card-deck .card {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
      -ms-flex: 1 0 0%;
      flex: 1 0 0%;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      margin-right: 20px;
      margin-bottom: 0;
      margin-left: 20px
  }
}

.card-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column
}

.card-group>.card {
  margin-bottom: 20px
}

@media (min-width: 576px) {
  .card-group {
      -webkit-box-orient:horizontal;
      -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap
  }

  .card-group>.card {
      -webkit-box-flex: 1;
      -ms-flex: 1 0 0%;
      flex: 1 0 0%;
      margin-bottom: 0
  }

  .card-group>.card+.card {
      margin-left: 0;
      border-left: 0
  }

  .card-group>.card:not(:last-child) {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0
  }

  .card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header {
      border-top-right-radius: 0
  }

  .card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer {
      border-bottom-right-radius: 0
  }

  .card-group>.card:not(:first-child) {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0
  }

  .card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header {
      border-top-left-radius: 0
  }

  .card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer {
      border-bottom-left-radius: 0
  }
}

.card-columns .card {
  margin-bottom: .75rem
}

@media (min-width: 576px) {
  .card-columns {
      -webkit-column-count:3;
      -moz-column-count: 3;
      column-count: 3;
      -webkit-column-gap: 1.25rem;
      -moz-column-gap: 1.25rem;
      column-gap: 1.25rem;
      orphans: 1;
      widows: 1
  }

  .card-columns .card {
      display: inline-block;
      width: 100%
  }
}
.card-title {
  margin-bottom: .75rem;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.7
}

@media only screen and (max-width: 47.99875em) {
  .card-title {
      font-family:"ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ Pro W3","Hiragino Kaku Gothic Pro",sans-serif
  }
}

@media only screen and (min-width: 48em) {
  .card-title {
      font-family:"æ¸¸ã‚´ã‚·ãƒƒã‚¯","Yu Gothic","æ¸¸ã‚´ã‚·ãƒƒã‚¯",YuGothic,"ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ Pro W3","Hiragino Kaku Gothic Pro","ãƒ¡ã‚¤ãƒªã‚ª","Meiryo"
  }
}

.card-title:last-child {
  margin-bottom: 0
}

.card-title.blank-link:after,.ir-subjec>a.card-title[target="_blank"]:after {
  position: relative;
  top: -0.1em
}

.card-text {
  margin-bottom: 5px;
  line-height: 1.8
}

.card-border-bottom {
  border-bottom: 1px solid #e6f3fb
}

a.card {
  text-decoration: none;
  color: #333;
  height: 100%;
}

a.card .row {
  height: 100%
}

a.card .row .card-img {
  position: absolute;
  border-radius: 0;
  border-top-left-radius: calc(.25rem - 1px);
  border-bottom-left-radius: calc(.25rem - 1px);
  height: 100%;
  background-size: cover
}

.card-shadow {
  border: none;
  -webkit-box-shadow: 0 3px 9px 1px rgba(61,99,120,0.16);
  box-shadow: 0 3px 9px 1px rgba(61,99,120,0.16);
  -webkit-transition: -webkit-box-shadow 0.4s ease;
  transition: -webkit-box-shadow 0.4s ease;
  transition: box-shadow 0.4s ease;
  transition: box-shadow 0.4s ease, -webkit-box-shadow 0.4s ease
}

@media only screen and (min-width: 48em) {
  a.card-shadow:hover {
      -webkit-box-shadow:0 10px 20px 1px rgba(61,99,120,0.25);
      box-shadow: 0 10px 20px 1px rgba(61,99,120,0.25);
      -webkit-transition: -webkit-box-shadow 0.2s ease;
      transition: -webkit-box-shadow 0.2s ease;
      transition: box-shadow 0.2s ease;
      transition: box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease
  }
}

.card-lg .card-title {
  font-size: 1.6rem;
}

.card-text.card-text-small {
  font-size: 1.2rem;
}

.card-body {
  padding: 20px
}

.card-disabled {
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 1px solid #e6f3fb;
  pointer-events: none
}

.card-disabled .card-title {
  color: #ccc
}

.card-disabled .card-text {
  color: #ccc
}

.card-img-bg {
  position: relative;
  width: 100%;
  overflow: hidden;
  height: 100%
}

.card-img-bg>span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50%;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease
}

@media only screen and (min-width: 48em) {
  a:hover .card-img-bg>span {
      -webkit-transform:scale(1.05);
      -ms-transform: scale(1.05);
      transform: scale(1.05)
  }
}

.card-img-bg.-pt56per {
  height: 0;
  padding-top: 56%
}

.card-img-bg.-pt40per {
  height: 0;
  padding-top: 40%
}

.card-img-right {
  border-top-right-radius: calc(.25rem - 1px);
  border-bottom-right-radius: calc(.25rem - 1px)
}

.card-img-left {
  border-top-left-radius: calc(.25rem - 1px);
  border-bottom-left-radius: calc(.25rem - 1px)
}

.card-link {
  color: #1085d4
}

@media only screen and (max-width: 47.99875em) {
  .card-author .card-img-right {
      height:auto;
      width: 80px;
      min-width: 80px;
      border-radius: 0
  }
}

@media only screen and (min-width: 48em) {
  .card-author .card-img-right {
      width:140px;
      min-height: 100%;
      min-width: 140px
  }
}

@media only screen and (min-width: 62em) {
  .card-author .card-img-right {
      height:167px;
      width: 115px;
      min-width: 115px;
      min-height: 100%
  }
}

.faq-section + .faq-section{
  margin-top: 40px;
}

.question {
  display: flex;
  font-weight: bold;
  font-size: 18px;
  align-items: baseline;
  gap: 16px;
}

.question:before {
  display: flex;
  align-items: center;
  justify-content: center;
  content: 'Q';
  width: 42px;
  min-width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid #333;
  color: #333;
  font-size: 20px;
}

.answer {
  display: flex;
  font-size: 12px;
  align-items: baseline;
  gap: 16px;
  margin-top: 10px;
}
.answer > div > *:first-child {
  margin-top: 0;
}

.answer:before {
  display: flex;
  align-items: center;
  justify-content: center;
  content: 'A';
  width: 42px;
  min-width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: #002955;
  /* border: 2px solid #fff; */
  color: #fff;
  font-size: 20px;
}
@media only screen and (max-width: 47.99875em) {
  .question:before ,
  .answer:before {
    width: 28px;
    min-width: 28px;
    height: 28px;
    font-size: 18px;
  }
  .answer {
    font-size: 14px;
  }
}

.mb-n2,.my-n2 {
  margin-bottom: -20px !important
}
.mb-2,.my-2 {
  margin-bottom: 20px !important
}
@media (min-width: 576px) {
  .mb-sm-n4,.my-sm-n4 {
    margin-bottom: -40px !important
  }
  .mb-sm-4,.my-sm-4 {
    margin-bottom: 40px !important
  }
}

.casestudy-card {
  display: flex;
  text-decoration: none;
  color: #333;
}

.casestudy-card:hover {
  text-decoration: none;
  color: #333;
}
.casestudy-card:hover .btn {
  color: #fff;
  background: #3173bc;
}


.casestudy-card__left {
  position: relative;
  padding: 20px 20px 16px 20px;
  border-radius: .25rem;
}

.casestudy-card__left:before {
  position: absolute;
  content: "”";
  font-size: 100px;
  line-height: 0;
  color: #999;
  top: -20px;
  left: -20px;
  transform: rotate(180deg);
}

.casestudy-card__left:after {
  position: absolute;
  content: "”";
  font-size: 100px;
  line-height: 0;
  color: #999;
  right: -20px;
  bottom: -20px;
}

.casestudy-card__title {
  margin-top: 0;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0;
  line-height: 1.5;
}

.casestudy-card__desc {
  margin-bottom: 0;
  font-size: 12px;
}

.casestudy-card__thumb {
  width: 120px;
  height: 120px;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 50%;
}

.casestudy-card__thumb img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.casestudy-card__company {
  margin-bottom: 8px;
}

.casestudy-card__more {
  margin-top: 20px;
}

@media only screen and (max-width: 47.99875em) {
  .casestudy-card {
    gap: 20px;
    flex-direction: column;
  }

  .casestudy-card__right {
    display: flex;
    align-items: center;
    gap: 20px;
  }

  .casestudy-card__thumb {
    width: 80px;
    height: 80px;
  }

  .casestudy-card__more {
    flex: 1;
    margin: 0;
  }

  .casestudy-card__more .btn {
    margin: auto!important;
  }
}
@media only screen and (min-width: 48em) {
  .casestudy-card {
    height: 100%;
    gap: 20px;
  }
}

.pb-0 {
  padding-bottom: 0!important;
}
.pt-0 {
  padding-top: 0!important;
}

.overflow-hidden {
  overflow: hidden;
}

@media (min-width:768px){
  header .navbar-nav>li>a {
    padding: 10px 5px;
    font-size: 9px;
  }
}

@media (min-width:992px){
  header .navbar-nav>li>a {
    font-size: 12px;
  }
}

@media (min-width:1200px){
  header .navbar-nav>li>a {
    padding: 10px 10px;
    font-size: 14px;
  }
}

.gpt-chat {
  background-color: #1d2020;
  padding: 15px;
  border-radius: 4px;
  --gpt-color: #e3e3e3;
}
.gpt-chat-input {
  font-size: 14px;
  color: var(--gpt-color);
}
.gpt-chat-input + .gpt-chat-input {
  margin-top: 15px;
}
.gpt-chat-input.-h1 {
  font-weight: bold;
  font-size: 20px;
}
.gpt-chat-label {
  background-color: #1d2020;
  color: #e3e3e3;
  font-weight: bold;
  font-size: 20px;
  padding: 5px 15px;
  border-radius: 4px;
  display: inline-block;
  /* border-radius: 4px 4px 0 0; */
}

.gpt-chat-label + .gpt-chat {
  /* border-radius: 0 0 4px 4px; */
}

.gpt-chat.-outline {
  background-color: #fff;
  border: 1px solid #1d2020;
  --gpt-color: #000;
}

@media (max-width:767px){
  .gpt-chat-label {
    padding: 5px 10px;
    font-size: 16px;
  }

.gpt-chat {
  padding: 10px;
}
.gpt-chat-input {
  font-size: 11px;
}
.gpt-chat-input + .gpt-chat-input {
  margin-top: 10px;
}
.gpt-chat-input.-h1 {
  font-weight: bold;
  font-size: 16px;
}
}
.highlight-title {
  padding: 5px 15px;
  background-color: #edf0f4;
}
@media (max-width:767px){
  .highlight-title {
    padding: 5px 10px;
  }
}

/* dropdown
   ----------------------------------------------------------------- */
.dropup,.dropright,.dropdown,.dropleft {
    position: relative
}

.dropdown-toggle {
    white-space: nowrap;
}
@media (max-width:767px){
  .dropdown-toggle {
      background-color: transparent !important;
  }
}

.dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent
}

.dropdown-toggle:empty::after {
    margin-left: 0
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 10rem;
    padding: .5rem 0;
    margin: .125rem 0 0;
    color: #212529;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(51,51,51,0.15);
    border-radius: .25rem
}

.dropdown-menu-left {
    right: auto;
    left: 0
}

.dropdown-menu-right {
    right: 0;
    left: auto
}

@media (min-width: 576px) {
    .dropdown-menu-sm-left {
        right:auto;
        left: 0
    }

    .dropdown-menu-sm-right {
        right: 0;
        left: auto
    }
}

@media (min-width: 768px) {
    .dropdown-menu-md-left {
        right:auto;
        left: 0
    }

    .dropdown-menu-md-right {
        right: 0;
        left: auto
    }
}

@media (min-width: 992px) {
    .dropdown-menu-lg-left {
        right:auto;
        left: 0
    }

    .dropdown-menu-lg-right {
        right: 0;
        left: auto
    }
}

@media (min-width: 1200px) {
    .dropdown-menu-xl-left {
        right:auto;
        left: 0
    }

    .dropdown-menu-xl-right {
        right: 0;
        left: auto
    }
}

@media (min-width: 1400px) {
    .dropdown-menu-FULL-left {
        right:auto;
        left: 0
    }

    .dropdown-menu-FULL-right {
        right: 0;
        left: auto
    }
}

.dropup .dropdown-menu {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: .125rem
}

.dropup .dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: 0;
    border-right: .3em solid transparent;
    border-bottom: .3em solid;
    border-left: .3em solid transparent
}

.dropup .dropdown-toggle:empty::after {
    margin-left: 0
}

.dropright .dropdown-menu {
    top: 0;
    right: auto;
    left: 100%;
    margin-top: 0;
    margin-left: .125rem
}

.dropright .dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid transparent;
    border-right: 0;
    border-bottom: .3em solid transparent;
    border-left: .3em solid
}

.dropright .dropdown-toggle:empty::after {
    margin-left: 0
}

.dropright .dropdown-toggle::after {
    vertical-align: 0
}

.dropleft .dropdown-menu {
    top: 0;
    right: 100%;
    left: auto;
    margin-top: 0;
    margin-right: .125rem
}

.dropleft .dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: ""
}

.dropleft .dropdown-toggle::after {
    display: none
}

.dropleft .dropdown-toggle::before {
    display: inline-block;
    margin-right: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid transparent;
    border-right: .3em solid;
    border-bottom: .3em solid transparent
}

.dropleft .dropdown-toggle:empty::after {
    margin-left: 0
}

.dropleft .dropdown-toggle::before {
    vertical-align: 0
}

.dropdown-menu[x-placement^="top"],.dropdown-menu[x-placement^="right"],.dropdown-menu[x-placement^="bottom"],.dropdown-menu[x-placement^="left"] {
    right: auto;
    bottom: auto
}

.dropdown-divider {
    height: 0;
    margin: 5px 0;
    overflow: hidden;
    border-top: 1px solid #e9ecef
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: .25rem 1.5rem;
    clear: both;
    font-weight: 400;
    color: #212529;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0
}

.dropdown-item:hover,.dropdown-item:focus {
    color: #16181b;
    text-decoration: none;
    background-color: #f8f9fa
}

.dropdown-item.active,.dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #1085d4
}

.dropdown-item.disabled,.dropdown-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: transparent
}

.dropdown-menu.show {
    display: block
}

.dropdown-header {
    display: block;
    padding: .5rem 1.5rem;
    margin-bottom: 0;
    font-size: .875rem;
    color: #6c757d;
    white-space: nowrap
}

.dropdown-item-text {
    display: block;
    padding: .25rem 1.5rem;
    color: #212529
}



/* dropdown (original)
   ----------------------------------------------------------------- */

.dropdown-toggle::after {
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease; }
  @media only screen and (min-width: 62em) {
    .dropdown-toggle::after {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: inline-block;
      position: relative;
      top: -0.1em;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-width: 0 2px 2px 0;
      margin-left: 2px;
      border-color: currentColor;
      -webkit-transform: translate(0, 0) rotate(45deg);
          -ms-transform: translate(0, 0) rotate(45deg);
              transform: translate(0, 0) rotate(45deg);
      -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      content: "";
      top: 0.1em;
      margin-left: 8px; } }
  @media only screen and (max-width: 61.99875em) {
    .dropdown-toggle::after {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: inline-block;
      position: relative;
      top: -0.1em;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-width: 0 2px 2px 0;
      margin-left: 2px;
      border-color: currentColor;
      -webkit-transform: translate(0, 0) rotate(45deg);
          -ms-transform: translate(0, 0) rotate(45deg);
              transform: translate(0, 0) rotate(45deg);
      -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      content: "";
      top: 0.1em;
      margin-left: 8px; } }
  @media only screen and (max-width: 61.99875em) {
    .dropdown.show .dropdown-toggle::after {
      -webkit-transform: translateY(2px) rotate(225deg);
          -ms-transform: translateY(2px) rotate(225deg);
              transform: translateY(2px) rotate(225deg);
      -webkit-transition: -webkit-transform 0.2s ease;
      transition: -webkit-transform 0.2s ease;
      transition: transform 0.2s ease;
      transition: transform 0.2s ease, -webkit-transform 0.2s ease; } }
  @media only screen and (min-width: 62em) {
    .dropdown:hover .dropdown-toggle::after {
      -webkit-transform: translateY(2px) rotate(225deg);
          -ms-transform: translateY(2px) rotate(225deg);
              transform: translateY(2px) rotate(225deg);
      -webkit-transition: -webkit-transform 0.2s ease;
      transition: -webkit-transform 0.2s ease;
      transition: transform 0.2s ease;
      transition: transform 0.2s ease, -webkit-transform 0.2s ease; } }

@media only screen and (min-width: 62em) {
  .dropdown-toggle:hover::after, .dropdown-toggle.current::after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 0 2px 2px 0;
    margin-left: 2px;
    -webkit-transform: translate(0, 0) rotate(45deg);
        -ms-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: "";
    top: 0.1em;
    margin-left: 8px; } }

.navbar-nav .dropdown-menu {
  border: none;
  -webkit-transform: translate3d(0, 20px, 0) scale(1);
          transform: translate3d(0, 20px, 0) scale(1);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: block;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  z-index: 0; }
  @media only screen and (max-width: 61.99875em) {
    .navbar-nav .dropdown-menu {
      position: absolute;
      top: 100%;
      width: 100%;
      margin-bottom: 40px; } }
  @media only screen and (min-width: 62em) {
    .navbar-nav .dropdown-menu {
      min-width: 300px; } }

@media only screen and (max-width: 61.99875em) {
  .navbar-nav .dropdown-menu.show {
    -webkit-transform: translate3d(0, 0, 0) scale(1);
            transform: translate3d(0, 0, 0) scale(1);
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    -webkit-box-shadow: 0 3px 9px 1px rgba(61, 99, 120, 0.16);
            box-shadow: 0 3px 9px 1px rgba(61, 99, 120, 0.16);
    z-index: 1; } }

@media only screen and (min-width: 62em) {
  .navbar-nav .dropdown:hover .dropdown-menu {
    -webkit-transform: translate3d(0, 0, 0) scale(1);
            transform: translate3d(0, 0, 0) scale(1);
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    -webkit-box-shadow: 0 3px 9px 1px rgba(61, 99, 120, 0.16);
            box-shadow: 0 3px 9px 1px rgba(61, 99, 120, 0.16);
    z-index: 1; } }

.dropdown-item {
  padding-top: 15px;
  padding-bottom: 15px;
  color: #1085d4;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  font-weight: bold;
  white-space: normal; }
  .dropdown-item:after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 2px;
    border-color: #1085d4;
    -webkit-transform: translate(0, 0) rotate(45deg);
        -ms-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: "";
    margin-left: 8px; }
  .dropdown-item:not(:first-child) {
    border-top: 1px solid #e6f3fb; }
  @media only screen and (max-width: 61.99875em) {
    .dropdown-item:hover {
      color: #1085d4;
      text-decoration: none;
      background: #fff; } }
  @media only screen and (min-width: 62em) {
    .dropdown-item:hover {
      color: #1085d4;
      background-color: #e6f3fb; } }

.dropdown-item.blank:after {
  margin-left: 8px;
  width: 9px;
  height: 9px;
  border: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%209%22%20width%3D%229%22%20height%3D%229%22%3E%3Cpath%20d%3D%22M0%209V1h1v7h7v1zm2-2V0h7v7z%22%20fill%3D%22%231085d4%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 0 0;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none; }

.navbar-toggle {
  margin-right: 0;
}
.gap_30_0 {
  gap: 30px 0;
}
.c-panel {
  --radius: 0;
  --height: auto;
  --bg-color: transparent;
  background-color: var(--bg-color);
  padding: var(--pt) var(--pr) var(--pb) var(--pl);
  height: var(--height);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
}
.c-panel__heading {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.25;
  /* margin-top: 16px; */
  margin: auto;
}

@media (max-width:767px){
  .c-panel__heading {
    font-size: 14px;
  }
}
.-bg_white {
  --bg-color: #fff;
}
.-p_16 {
  --pt: 16px;
  --pb: 16px;
  --pr: 16px;
  --pl: 16px;
}
/* @media (max-width:767px){
  .-p-xs_8 {
    --pt: 8px;
    --pb: 8px;
    --pr: 8px;
    --pl: 8px;
  }
} */
.-pt_0 {
  --pt: 0;
}
.-r_4 {
  --radius: 4px;
}
.-r_8 {
  --radius: 8px;
}
.-h_100 {
  height: 100%;
}

.border {
  border: 1px solid #e6e6e6;
}

.grid {
  --gap-x: 0;
  --gap-y: 0;
  --col: 1;
  display: grid;
  grid-template-columns: repeat(var(--col), 1fr);
  gap: var(--gap-y) var(--gap-x);
}

.-col_2 {
  --col: 2;
}

@media (min-width:768px){
  .-col-sm_4 {
    --col: 4;
  }
}

.-gap_20 {
  --gap-x: 20px;
  --gap-y: 20px;
}

.list-note {
  list-style-type: none;
  list-style-position: inside;
  padding: 0;
  margin: 0;

  --color: currentColor;
  --fs: 100%;
  color: var(--color);
  font-size: var(--fs);
}

.list-note li::marker {
  content: "※";
}

.-fs_12 {
  --fs: 12px;
}

.-white {
  --color: #fff;
}

.mt-10 {
  margin-top: 10px;
}
/**
* 絞り込み
*/
.btn-filter {
  min-width: auto;
  background-color: #fff;
  border: 1px solid #ccc;
  }
  .btn-filter:after {
  display: none;
  }
  .btn-current,
  .btn-current:focus,
  .btn-current:hover {
  color: #fff;
  background-color: #333;
  border-color: #333;
  }
  @media only screen and (min-width: 48em) {
  .section-1 {
    margin-top: 60px;
  }
  }
  @media only screen and (max-width: 47.99875em) {
  .section-1 {
    margin-top: 40px;
  }
  }
  .section-1 > *:last-child {
  margin-bottom: 0;
  }
  .filter-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -5px;
  gap: 0!important;
  flex-direction: row!important;
  }
  .filter-table .filter-buttons .btn {
  outline:0;
  margin: 5px;
  width: auto;
  }
  .filter-table {
  width: 100%;
  }
  @media (min-width: 768px) {
  .filter-table {
    width: auto;
    margin: auto;
  }
  .filter-table th {
    line-height: 1.5;
    margin: 5px 0 0 0;
    padding-top: 8px;
    white-space: nowrap;
  }
  .filter-table th,
  .filter-table td {
    vertical-align: top;
  }
  .filter-table th {
    text-align: center;
    padding-right: 10px;
  }
  }
  @media (max-width: 767px) {
  .filter-table th,
  .filter-table td {
    display: block;
  }
  }
  
   [v-cloak]{opacity:0;} 
  
  article#casestudy {
  min-height: 100vh;
  }

.bold {
  font-weight: bold;
}
.p-10 {
  padding: 10px;
}
.bg-white {
  background-color: #fff;
}