html {
    scroll-behavior: smooth;
}
/*
body {
	padding-top: 90px;
}
.common-logo {
	margin:10px 0 0 5px !important;
	width:100px;
	height:46px;
	background-image:url('/images/common/logo_p2020.png');
	background-repeat:no-repeat;
	-moz-background-size:100px auto;
	-o-background-size:100px auto;
	-webkit-background-size:100px auto;
	background-size:100px auto;
	text-indent:200%;
	white-space:nowrap;
	overflow:hidden;
}
*/
@media screen {
	.disp_print {
		display: none;
	}
}
@media print {
	* {background-color:transparent; }
	html,body{
		height: auto;
		page-break-inside: avoid;
	}
	.undisp_print { display: none; }
	.disp_print {
		display: inline;
		padding:10px;
	}
	#main-nav { display: none; }
}

/* base */
body{
    font-family: Arial, sans-serif;
    font-size:16px;
    font-weight:300;
    color:#6d6d6d;
    overflow-x:hidden;
    word-wrap: break-word;
    overflow-wrap : break-word;
}

a {
	color:#333; /*#52CCBA;*/
	text-decoration:none
}

a:hover,a:focus{
	color:#563748;/*#52CCBA;*/
	text-decoration:underline;
}

a:focus,
.btn:focus {
	outline: none;
}

ol {
	padding-left:20px;
}

/* fonts */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
	font-weight:300;
}

/* bootstrap4以降のtable-responsive対策 */
.table-responsive th {
	white-space: nowrap;
}

.heading_today {
	width:100%;
	border-bottom:1px dotted #ccc;
	color:#74c7d5;
	font-weight:bold;
}
.heading_today_text {
	margin:10px 0;
	font-weight:bold;
}

.heading {
	position: relative;
	display: inline-block;
	margin: 0 auto 20px auto;
	padding: 0 55px;
}
.heading:before, .heading:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 45px;
	height: 1px;
	background-color: black;
}
.heading:before {left:0;}
.heading:after {right: 0;}

.midashi1 {
  color: #444;
  position: relative;
  padding: 10px 0 2px 28px;
  /*border-bottom: 1px solid #74c7d5;*/
}
.midashi1:before, .midashi1:after {
  content: "";
  position: absolute;
  margin: auto;
}
.midashi1:before {
  width: 12px;
  height: 12px;
  top: 0;
  left: 14px;
  background: #74c7d5;
  transform: rotate(50deg);
}
.midashi1:after {
  width: 8px;
  height: 8px;
  top: 18px;
  left: 6px;
  background: #74c7d5;
  transform: rotate(20deg);
}

.midashi1_s {
  color: #444;
  position: relative;
  padding: 5px 0 1px 16px;
  /*border-bottom: 1px solid #74c7d5;*/
}
.midashi1_s:before, .midashi1_s:after {
  content: "";
  position: absolute;
  margin: auto;
}
.midashi1_s:before {
  width: 8px;
  height: 8px;
  top: 0;
  left: 7px;
  background: #74d5c7;
  transform: rotate(50deg);
}
.midashi1_s:after {
  width: 5px;
  height: 5px;
  top: 9px;
  left: 3px;
  background: #74d5c7;
  transform: rotate(20deg);
}

.midashi-gokui {
	color: #000;
	font-weight:bold;
	text-decoration:underline;
}

.midashi2 {
 border-left:3px solid #333;
 /*border-bottom:1px solid #333;*/
 padding:5px 0 5px 6px;
}

.midashi-well {
	background-color:#fefefe;
	padding:10px 5px 8px 10px;
	margin-bottom:10px;
	box-shadow: 0px 1px 1px 1px #ccc inset;
	border-radius: 3px;
	-moz-border-radius: 3px;    /* Firefox */
	-webkit-border-radius: 3px; /* Safari,Chrome */
}

.error {
	color:#e01;
}

.big-text{
    font-size:58px;
    font-weight:300;
    line-height:62px;
    letter-spacing:0.01em;
    word-spacing: 0.15em;
    text-transform:uppercase;
}

.section-title{
    margin-top:-20px;
    margin-bottom: 80px;
    text-align:center;
}

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

.add-padding {
    padding-top:120px;
    padding-bottom:140px;
}

/* color */
.bg-color1{
    color:#fff;
    background:#9da3a8;
}

.bg-color2{
    color:#2a3333;
    background:#f6f6f6;
}

.bg-color3{
    color:#fff;
    background:#334959;
}

.border-bottom-color2{
    border-bottom:3px solid #647484;/*#ad8f4c;*/
}

.border-top-color2{
    border-top:3px solid #647484;/*#ad8f4c;*/
}

.color1 .service-icon,
.color1.service-item ul li:nth-child(2):before{
    background:#292a2e;
}

.color1 .service-icon:after{
    border:3px solid #292a2e;
}

.color2 .service-icon,
.color2.service-item ul li:nth-child(2):before{
    background:#1c1c1e;
}

.color2 .service-icon:after{
    border:3px solid #1c1c1e;
}

.color3 .service-icon,
.color3.service-item ul li:nth-child(2):before{
    background:#1c1c1e;
}

.color3 .service-icon:after{
    border:3px solid #1c1c1e;
}
.color-blue {
		color:#2255bb;
		font-weight:bold;
}
.color-red {
		color:#ee0011;
		font-weight:bold;
}
.color-orange {
		color:#ff9900;
		font-weight:bold;
}
.color-yellow {
		color:#ffee00;
		font-weight:bold;
}
.color-green {
		color:#22bb33;
		font-weight:bold;
}
.color-pink {
		color:#ee55bb;
		font-weight:bold;
}
.color-white {
		color:#ffffff;
		font-weight:bold;
}
.color-black {
		color:#000000;
		font-weight:bold;
}

.text-big {
	font-size:16px;
}
.glyphicon-volume-up, .glyphicon-info-sign {
	font-size: 20px;
  padding: 0 3px;
}
.input-phrase {
	width:100%;
}
.underline {
	border-bottom: 1px dotted #666;
	/* text-decoration:underline; */
}
.input-phrase dt {
	float:left;
	clear:left;
	width:20%;
}
.input-phrase dd {
	float:left;
	width:80%;
	min-height:25px;
}
.form-frame {
	width: 100%;
	border: 1px solid #ccc;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
}
.form-frame .left {
	background-color: #f1f1f1;
	border-right: 1px solid #ccc;
	padding: 5px;
	text-align: center;
}
.form-frame .right {
	padding: 0 0 5px 15px;
}
.hr-deco1 {
    height:3px;
    border:0;
    background:linear-gradient(left, #87ceeb, #999, #87ceeb);
    background:-webkit-linear-gradient(left, #87ceeb, #999, #87ceeb);
    background:-moz-linear-gradient(left, #87ceeb, #999, #87ceeb);
}

.pos-relative {
	position: relative;
}

.pos-absolute {
	z-index: 1;
	position: absolute;
}

/* button */
.btn-color1,
.btn-color2{
    padding: 10px 30px;
    color:#fff;
    font-size: 21px;
    font-weight: 300;
    background:#2a3333;
    outline: none !important;
    border-radius: 0;
    transition: opacity .2s ease-out;
}

.btn-color1:hover,
.btn-color2:hover{
    color:#fff;
    opacity: 0.9;
}

.btn-color1:focus,
.btn-color1:active,
.btn-color2:focus,
.btn-color2:active{
    color:#fff;
}

.btn-color1 .fa,
.btn-color2 .fa{
    margin-right: 15px;
}

.btn-line {
	width:100%;
	/*text-align:center;*/
}

.btn-answer {
	margin-bottom:5px;
	font-size:13px;
	text-align:left;
	width:100%;
}

.btn-bottom_right {
	color:#fff;
	padding:9px;
	height:40px;
	border-top-left-radius:5px;
  -webkit-border-top-left-radius:5px;
  -moz-border-top-left-radius:5px;
	background-color:#38a1db;
	opacity: 0.8;
	position:fixed;
	right:43px;
	bottom:0px;
	z-index:99;
}
.btn-bottom_right a {
	text-decoration:none;
	color:#fff;
}

.home-checkbox {
	float:right;
	margin:10px 0 0 0;
	padding:0;
	background-color:#f5f5f5;
	-ms-transform: scale(1.4, 1.4);
  -webkit-transform: scale(1.3, 1.4);
  transform: scale(1.4, 1.4);
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.table-responsive th {
	white-space: pre-line;
}

#page_top{
  width: 40px;
  height: 40px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #38a1db;
  opacity: 0.8;
	z-index:100;
	/*border-top-left-radius: 3px;*/
}
#page_top a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
#page_top a::before{
  font-family: FontAwesome;
  content: '\f102';
  font-size: 20px;
  color: #fff;
  position: absolute;
  width: 20px;
  height: 20px;
  top: -8px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/* preloader */
#page-loader{
    position: fixed;
    top:0;
    left:0;
    bottom: 0;
    right: 0;
    background: #fff;
    z-index: 99999;
}

#page-loader .page-loader-gif{
    display: block;
    width:64px;
    height:64px;
    position: absolute;
    top:50%;
    left:50%;
    margin:-32px 0 0 -32px;
    /* background: url('/images/common/preloader.gif') no-repeat; */

}

/* menu */
#main-nav .container{
    padding:0 0 20px;
}

#main-nav .navbar-brand img{
    margin-right: 15px;
    max-width: 60px;
}

#main-nav .navbar-brand.mobile, #main-nav.scrolled .navbar-brand.mobile {
    width: 190px;
    background-size: contain !important;
    margin-left: 10px;
}

#main-nav .navbar-brand{
	font-family:'Archivo Black', sans-serif, 'Teko', sans-serif, 'Russo One', sans-serif;
  display: inline-block;
  font-size:26px;
  color: #000;
  width: 260px; /*244px;*/
	font-weight:700;
  height: 50px;
  color: #fff;
  text-transform: uppercase;
  text-indent: -9999px;
  padding-top: 10px;
  background: url(/images/common/logo.png) no-repeat;
  margin-top: 4px;
  padding: 10px 0 0 75px;
  background-size:contain !important;
}

.navbar-brand,
.navbar-brand:hover,
.navbar-brand:active,
.navbar-brand:focus {
    padding:0 10px;
    font-size:30px;
    line-height:30px;
    font-weight:normal;
    color:#fff;
}

.navbar-brand span {
    font-size:24px;
    font-weight:300;
}

#main-nav.scrolled .navbar-brand{
    color:#6d6d6d;
    background: url(/images/common/logo.png) no-repeat;
    background-size:contain !important;
    width: 244px;

}

#main-nav{
    background:transparent;
    color:#fff;
    box-shadow:0 0 0px transparent;
    -webkit-transition:background 0.3s ease-out;
    transition:background 0.3s ease-out;
}

#main-nav.scrolled{
    background:#fff;
    box-shadow: 0 0 3px rgba(0,0,0,0.2);
}

#main-nav.scrolled .navbar-toggle{
    color:#74c7d5;
    border-color:#74c7d5;
}

#main-nav.scrolled .navbar-toggle .icon-bar{
    background:#74c7d5;
}

#main-nav .container{
    padding:30px 20px;
    -webkit-transition:padding 0.5s ease-out;
    transition:padding 0.5s ease-out;
}

#main-nav.scrolled .container{
    padding:10px 20px;
}

#main-nav .nav a,
#main-nav .nav a:active,
#main-nav .nav a:hover{
    padding:0 10px;
    font-size:18px;
    /*line-height:54px;*/
    font-weight:400;
    background:transparent;
    color:#333;/*#fff;*/
    transition: color .2s ease-in;
  border: 1px solid transparent;
}

#main-nav .nav a:hover{
  border: 1px solid #ffffff;
}

#main-nav.scrolled .nav a,
#main-nav.scrolled .nav a:active,
#main-nav.scrolled .nav a:hover{
    color:#6d6d6d;
}

#main-nav li{
    background:transparent;
    margin:0 5px;
    border:2px solid transparent;
}

#main-nav.scrolled .nav li.active a,
#main-nav.scrolled .nav a:hover{
    color: #647484;/*#ad8f4c;*/
}

/* header */
#home{
    color: #fff;
    max-width: 100%;
    position: relative;
}

.backstretch img{
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

#home .container{
    position: fixed;
    top: 50%;
    width: 100% !important;
    margin-top:-120px;
    z-index: 0;
}

#home .mobile {
    background: url(/images/common/head_img.png) no-repeat;
    background-size: cover;
}

#home p{
    margin: 0;
    font-size: 32px;
    font-weight: 400;
}

#home h1{
    margin:0;
    font-size: 82px;
    font-weight: 600;
    text-transform: uppercase;
}

#home h1 + p{
    font-size: 28px;
}

/* services */
#services{
    background-color: #fff;
    box-shadow: 0 0 50px rgba(0,0,0,0.5);
}

#services h1 {
    margin-bottom: 30px;
}

.service-item{
		/*background-color:#485849;*/
    text-align:center;
    padding: 30px 15px;
}

.service-item h3{
    margin-bottom:15px;
}

.service-icon{
    position:relative;
    display:block;
    text-align:center;
    width:161px;
    height:163px;
    margin:20px auto 30px;
    padding-top:10px;
    border-radius:15%;
    font-size:80px;
    line-height:150px;
    background:#334959;
    color:#fff;
    -webkit-transition:all 0.2s ease-out;
    transition:all 0.2s ease-out;
}

.service-icon:after {
    pointer-events:none;
    content:"";
    position:absolute;
    display:block;
    width:184px;
    height:184px;
    top:-11px;
    left:-12px;
    border:3px solid #334959;
    border-radius:15%;
    -webkit-transition:all 0.2s ease-out;
    transition:all 0.2s ease-out;
}

.no-csstransforms .service-icon:after{
	display:none;
}

.service-icon:focus,
.service-icon:active{
    color:#fff;
}

.service-icon [class*=fa]{
    -webkit-transform:scale(1);
    transform:rotate(0);
    -webkit-transition:all 0.3s ease-out;
    transition:none;
}

.service-item:hover [class*=fa]{
    -webkit-transform:scale(1.3);
    transform:rotate(360deg);
    -webkit-transition:all 0.5s ease-out;
    transition:all 0.5s ease-out;
}

.service-item p{
    margin: auto;
    max-width: 250px;
    font-size: 14px;
    font-family: "UD Shin Go NT Medium", Helvetica, Arial, "Hiragino Kaku Gothic Pro", Meiryo, "MS P Gothic", sans-serif;
}

/* about */
#about .jp p {
    font-family: "UD Shin Go NT Medium", Helvetica, Arial, "Hiragino Kaku Gothic Pro", Meiryo, "MS P Gothic", sans-serif;
    font-size: 14px;
    line-height: 1.7;
}

#about .jp p.lead {
    font-size: 16px;
}

#about .mobile>div {
    text-align: center !important;
}

#about .mobile>div.col-sm-2.col-md-2 {
    height: 30px;
}

.polaroid {
    border:12px solid #fff;
    max-width: 85%;
    /*box-shadow: 3px 5px 8px rgba(0,0,0,0.5);*/
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
}

/* contact */
#contact{
    background-image:url('../images/bg-contact.png');
    background-repeat:no-repeat;
    background-position:0 100%;
    background-color: #fff;
}

#contact-form .form-group label{
    display:none;
    font-size:18px;
    line-height:24px;
    font-weight:100;
    text-transform:uppercase;
	text-align:left;
}

#contact-form .error-message {
    padding:5px 0;
    /*position:absolute;
    top:-30px;*/
    right:0;
    font-size:14px;
    font-weight:300;
    color:#ff0000;
    z-index:10;
}

#contact-form .error-message:before {
    content:"\00d7";
    font-size: 21px;
    line-height: 21px;
    margin-right: 5px;
}

#survey-form input[type=radio] {
	display: none; 	/* ラジオボタンを非表示にする */
}
#survey-form input[type=radio]:checked + label {
	background: #428bca;/* マウス選択時の背景色を指定する */
	color: #ffffff; 	/* マウス選択時のフォント色を指定する */
	border: 2px solid #428bca;/* ボックスの境界線を実線で指定する */
	border-radius: 3px;	/* 角丸を指定する */
}
#survey-form label:hover {
	background-color: #E2EDF9; 	/* マウスオーバー時の背景色を指定する */
}
#survey-form label {
	display: block;		/* ブロックレベル要素化する */
	float: left;		/* 要素の左寄せ・回り込を指定する */
	margin: 5px;		/* ボックス外側の余白を指定する */
	min-width: 30px;		/* ボックスの横幅を指定する */
	/*max-width: 290px;*/
	height: 30px;		/* ボックスの高さを指定する */
	padding-left: 5px;	/* ボックス内左側の余白を指定する */
	padding-right: 5px;	/* ボックス内御右側の余白を指定する */
	/*color: #b20000;		/* フォントの色を指定 */
	text-align: center;	/* テキストのセンタリングを指定する */
	line-height: 30px;	/* 行の高さを指定する */
	cursor: pointer;	/* マウスカーソルの形（リンクカーソル）を指定する */
	border: 2px solid #ccc;/* ボックスの境界線を実線で指定する */
	border-radius: 3px;	/* 角丸を指定する */
}
/* google map */
#gmap{
	display: block;
	width: 100%;
	height: 500px;
	margin: 0 auto;
}

#gmap .infowin{
    padding:10px 20px;
}

#gmap .infowin p{
    margin-bottom:10px;
    font-family:Raleway, Arial, sans-serif;
    font-size:16px;
    line-height:24px;
}

#gmap .infowin a{
    color:#52CCBA;
}

#gmap .infowin a:hover{
    text-decoration:underline;
}

/* footer */
#main-footer{
    padding-top:50px;
    padding-bottom:40px;
    background: #333333;
}
/*
 .panel-heading {
    cursor: pointer;
}
 .accordion-toggle a:after {
    font-family: 'Glyphicons Halflings';
    content:"\e113";
    float: right;
    color: inherit;
}
 .accordion-toggle a.collapsed:after {
    font-family: 'Glyphicons Halflings';
    content:"\e114";
    float: right;
    color: inherit;
}
*/
.footer-menu ul {
	margin:0 0 10px 0;
	padding:0;
}

.footer-menu li a {
	display: block;
	position: relative;
	padding: 10px 25px 10px 10px;
	border-top: 1px solid #FFF;
	border-bottom: 1px solid #eee;

	font-size: 15px;
	text-decoration: none;
}
.footer-menu li a:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}
.social-links {
    list-style:none;
    margin:0;
    padding:0;
    margin-bottom:30px;
}

.social-links li{
    display:inline-block;
    margin:0 5px;
    border-radius:3px;
    box-shadow:0 4px 0 transparent;
    -webkit-transition:all .3s ease-out;
    transition:all .3s ease-out;
}

.social-links li a {
    display:block;
    color:#fff;
    color:rgba(255,255,255,0.3);
    font-size:21px;
    width:50px;
    height:50px;
    line-height:50px;
    text-align:center;
    background:rgba(0,0,0,0.2);
    border-radius:50%;
    -webkit-transition:all .3s ease-out;
    transition:all .3s ease-out;
}

.social-links li a:hover {
    color:#fff;
    background:#509B9E
}

/* scrolling */
.scrollimation.fade-in{
	opacity:0;
	-webkit-transition:opacity 0.6s ease-out;
	transition:opacity 0.6s ease-out;
}

.scrollimation.fade-in.in{
	opacity:1;
}

.scrollimation.scale-in{
	opacity:0;
	-webkit-transform: scale(0.5);
	-moz-transform: scale(0.5);
	-ms-transform: scale(0.5);
	transform:scale(0.5);
	-webkit-transition: -webkit-transform .6s cubic-bezier(.17,.89,.67,1.57), opacity .6s ease-out;
	transition: transform .6s cubic-bezier(.17,.89,.67,1.57), opacity .6s ease-out;
}

.scrollimation.scale-in.in{
	opacity:1;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	transform:scale(1);
}

.scrollimation.fade-right{
	opacity:0;
	-webkit-transform: translateX(-100px);
	-moz-transform: translateX(-100px);
	-ms-transform: translateX(-100px);
	transform:translateX(-100px);
	-webkit-transition: -webkit-transform .6s ease-out,opacity .6s ease-out;
	transition: transform .6s ease-out,opacity .6s ease-out;
}

.scrollimation.fade-right.in{
	opacity:1;
	-webkit-transform: translateX(0px);
	-moz-transform: translateX(0px);
	-ms-transform: translateX(0px);
	transform:translateX(0px);
}

.scrollimation.fade-left{
	opacity:0;
	-webkit-transform: translateX(100px);
	-moz-transform: translateX(100px);
	-ms-transform: translateX(100px);
	transform:translateX(100px);
	-webkit-transition: -webkit-transform .6s ease-out,opacity .6s ease-out;
	transition: transform .6s ease-out,opacity .6s ease-out;
}

.scrollimation.fade-left.in{
	opacity:1;
	-webkit-transform: translateX(0px);
	-moz-transform: translateX(0px);
	-ms-transform: translateX(0px);
	transform:translateX(0px);
}

.scrollimation.fade-up{
	opacity:0;
	-webkit-transform: translateY(100px);
	-moz-transform: translateY(100px);
	-ms-transform: translateY(100px);
	transform:translateY(100px);
	-webkit-transition: -webkit-transform .6s ease-out,opacity .6s ease-in;
	transition: transform .6s ease-out,opacity .6s ease-in-out;
}

.scrollimation.fade-up.in{
	opacity:1;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-ms-transform: translateY(0px);
	transform:translateY(0px);
}

.scrollimation.d1{
	transition-delay:.3s;
}

.scrollimation.d2{
	transition-delay:.6s;
}

.scrollimation.d3{
	transition-delay:.9s;
}

.scrollimation.d4{
	transition-delay:1.2s;
}

.touch .scrollimation.fade-in{
	opacity:1;
}

.touch .scrollimation.scale-in{
	opacity:1;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	transform:scale(1);
}

.touch .scrollimation.fade-right{
	opacity:1;
	-webkit-transform: translateX(0px);
	-moz-transform: translateX(0px);
	-ms-transform: translateX(0px);
	transform:translateX(0px);
}

.touch .scrollimation.fade-left{
	opacity:1;
	-webkit-transform: translateX(0px);
	-moz-transform: translateX(0px);
	-ms-transform: translateX(0px);
	transform:translateX(0px);
}

.touch .scrollimation.fade-up{
	opacity:1;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-ms-transform: translateY(0px);
	transform:translateY(0px);
}

/* media */
@media (max-width:991px){

    .big-text{
        font-size:48px;
        line-height:52px;
        letter-spacing:0.01em;
        word-spacing: 0.15em;
    }

    #main-nav .nav a,
    #main-nav .nav a:active,
    #main-nav .nav a:hover{
        font-size:16px;
    }

    #main-nav li{
        margin:0 5px;
    }

    .percent{
        top:-60px;
        font-size: 42px;
    }

    #projects-container .project-item{
        width:320px;
        margin-bottom: 20px;
    }

    .project-item .hover-mask .project-title {
        margin-top:75px;
    }

    #project-slider{
        min-height:0;
    }
}

@media (max-width:767px){
	#global-nav {
		display:none;
	}

    .recruit_img {
        display: none;
    }
    body{
        font-size: 15px;
    }

    .lead{
      font-size:16px;
      font-weight:400;
    }

    .add-padding {
        padding-top:60px;
        padding-bottom:60px;
    }

    .big-text{
        font-size:38px;
        line-height:42px;
    }

    .section-title{
        margin-top:-20px;
        margin-bottom: 40px;
    }

    #main-nav{
        background:#fff;
        box-shadow: 0 0 3px rgba(0,0,0,0.2);
    }

    #main-nav .navbar-toggle{
        margin-bottom: 5px;
        margin-top: 5px;
        color:#6d6d6d;
        border-color:transparent !important;
    }

    #main-nav .navbar-toggle .icon-bar{
        width: 28px;
        height: 4px;
        margin-top: 0;
        background:#6d6d6d !important;
    }

    #main-nav .navbar-toggle .icon-bar + .icon-bar{
        margin-top: 4px;
    }

    #main-nav .container,
    #main-nav.scrolled .container{
        padding:5px 20px;
    }

    #main-nav .nav a,
    #main-nav .nav a:active,
    #main-nav .nav a:hover{
        line-height: 42px;
        text-align: center;
        color: #6d6d6d;
    }

    #main-nav .nav li.active a,
    #main-nav .nav a:hover{
        color: #52CCBA;
    }

    #main-nav .navbar-brand{
        padding-top: 7px;
        font-size: 21px;
        color: #000;/*#6d6d6d;*/
    }

    #main-nav .navbar-brand img{
        margin-right: 10px;
        max-width: 40px;
    }

    #home .container{
        margin-top:-80px;
    }

    #home p{
        font-size: 24px;
    }

    #home h1{
        font-size: 42px;
    }

    #home h1 + p{
        font-size: 21px;
    }

    .service-item{
        margin-bottom: 40px;
    }

    .polaroid {
        border:12px solid #fff;
        width:90%;
        max-width: 500px;
        margin:0 auto 35px;
        /*box-shadow: 3px 5px 8px rgba(0,0,0,0.5);*/
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg);
    }

    .percent{
        top:-45px;
        font-size: 28px;
    }

    .skills-item p{
        font-size: 14px;
    }

    #filter-works ul li a{
        display:block;
        font-size:16px;
        height:18px;
        padding:10px 5px;
    }

    #project-title{
        font-size: 28px;
    }

    #twitter .tweet{
        font-size:18px;
        line-height:24px;
    }

    #contact-form{
        margin-top: 30px;
    }

    #gmap{
        height: 300px;
    }

    #main-nav .navbar-brand{
	    display: inline-block;
	    width: 220px;
	    height:40px;
	    margin-left:10px;
	    padding: 7px 0 0 50px;
	    background: url(/images/common/logo.png) no-repeat;
	    background-size: 180px auto !important; /* contain  */
    }

	#main-nav.scrolled .navbar-brand{
	    width: 220px;
	    height:40px;
	    margin-left:10px;
	    padding: 7px 0 0 50px;
	    background: url(/images/common/logo.png) no-repeat;
	    background-size: 180px auto !important; /* contain  */
	}

}

@media (max-width:479px){

	#home .container {
  	margin-top:-225px;
  	padding-top:105px;
		width:100%;
		height:100%;
	  background: url(/images/common/head_img.jpg) no-repeat;
	  background-size: cover;
	}

    #projects-container .project-item{
        width:300px;
        margin-bottom: 15px;
    }

    .project-item .hover-mask .project-title {
        margin-top: 70px;
    }
		#main-nav .navbar-brand img{
        margin-right: 10px;
        max-width: 40px;
    }
}
@grid-float-breakpoint:     392px;
#services, #about, #portfolio, #recruit, #contact, #map, #main-footer {
    position: relative;
    z-index: 100;
}

#bgOverlayContainer {
    position: fixed;
    left: 0; top: 0;
    z-index: 40;
    width: 100%;
    height: 100%;
}

.overlayPattern {
  /* background-image: url(/images/common/overlay.png); */
}

#recruit .jp {
    font-family: "UD Shin Go NT Medium", Helvetica, Arial, "Hiragino Kaku Gothic Pro", Meiryo, "MS P Gothic", sans-serif;
}

#recruit p.lead {
    font-size: 16px;
}

#recruit p {
    font-size: 13px;
}

#contact .jp {
    font-family: "UD Shin Go NT Medium", Helvetica, Arial, "Hiragino Kaku Gothic Pro", Meiryo, "MS P Gothic", sans-serif;
}

#contact p.lead {
    font-size: 16px;
}

#contact p {
    font-size: 13px;
}

#contact-form .form-control, #contact-form textarea.form-control {
    font-size: 16px;
}
#recruit h1, #contact h1 {
    margin-bottom: 30px;
}

::-webkit-input-placeholder {
    color: #999;
}
:-moz-placeholder {
    color: #999;
}

placeholder {
    color: #999;
}

#contact p.tel {
    font-size: 10px;
}

#contact p.tel span {
    font-size: 17px;
}

.top_btn, .top_btn:focus {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: .4em;
    text-indent: .4em;
    border: 2px solid #fff;
    font-weight: bold;
    color: #fff;
    padding: 10px 80px;
    margin-top: 50px;
    display: inline-block;
    text-decoration: none;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
}

.top_btn:hover {
    background: #fff;
    color: #000;
    text-decoration: none;
}

.fonts-mincho {
	font-family:'Cardo',"ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", serif;
}

.fonts-Niconne {
	font-family: 'Niconne', cursive;
}

.movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
	margin-bottom:10px;
}
.movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.exp-panel {
	font-family:"Menlo","Monaco","Consolas","Courier New",monospace;
	page-break-inside:avoid;
	/*display:block;*/
	padding:9.5px;
	margin:0 0 10px 0;
	font-size:13px;
	line-height:180%;
	/*color:#333;*/
	/*word-break:break-all;*/
	word-wrap:break-word;
	background-color:#f5f5f5;
	border:1px solid #ccc;
	border-radius:4px;
}
#sortable span:hover { cursor: move; }

#phrase01, #phrase02, #phrase03, #phrase04,
#phrase05, #phrase06, #phrase07, #phrase08,
#phrase09, #phrase10, #phrase11, #phrase12,
#phrase13, #phrase14, #phrase15, #phrase16,
#phrase17, #phrase18, #phrase19, #phrase20,
#phrase21, #phrase22, #phrase23, #phrase24,
#phrase25, #phrase26, #phrase27, #phrase28,
#phrase29, #phrase30, #phrase31, #phrase32,
#phrase33, #phrase34, #phrase35, #phrase36,
#phrase37, #phrase38, #phrase39, #phrase40,
#phrase100 {
	font-size: 20px;
}
/* balloon bottom-righta */
.bal1 {
	float:right;
	position: relative;
	top:-20px;
	display: inline-block;
	padding: 0 15px;
	width: auto;
	min-width: 115px;
	height: 50px;
	color: #F6F6F6;
	/*line-height: 50px;*/
	text-align: center;
	background: #19283C;
	border-radius: 50px;
	z-index: 2;
	animation: fluffy 3s ease infinite;
}
.bal1:before {
	content: "";
	position: absolute;
	bottom: -7px; left: 15px;
	margin-right: 0;
	display: block;
	width: 15px;
	height: 15px;
	background: #19283C;
	border-radius: 50%;
	z-index: 2;
}
.bal1:after {
	content: "";
	position: absolute;
	bottom: -15px; left: 10px;
	margin-right: 0;
	display: block;
	width: 8px;
	height: 8px;
	background: #19283C;
	border-radius: 50%;
	z-index: 2;
}
.bal1 p {
	margin-top:13px;
}
/* balloon bottom-righta */
.bal2 {
	float:right;
	position: relative;
	top:-20px;
	display: inline-block;
	padding: 0 15px;
	width: auto;
	min-width: 115px;
	height: 70px;
	color: #F6F6F6;
	/*line-height: 50px;*/
	text-align: center;
	background: #19283C;
	border-radius: 50px;
	z-index: 2;
	animation: fluffy 3s ease infinite;
}
.bal2:before {
	content: "";
	position: absolute;
	bottom: -7px; left: 15px;
	margin-right: 0;
	display: block;
	width: 15px;
	height: 15px;
	background: #19283C;
	border-radius: 50%;
	z-index: 2;
}
.bal2:after {
	content: "";
	position: absolute;
	bottom: -15px; left: 10px;
	margin-right: 0;
	display: block;
	width: 8px;
	height: 8px;
	background: #19283C;
	border-radius: 50%;
	z-index: 2;
}
.bal2 p {
	margin-top:12px;
}
/* balloon bottom-righta */
.bal3 {
	float:right;
	position: relative;
	top:-20px;
	display: inline-block;
	padding: 0 15px;
	width: auto;
	min-width: 115px;
	height: 90px;
	color: #F6F6F6;
	/*line-height: 50px;*/
	text-align: center;
	background: #19283C;
	border-radius: 50px;
	z-index: 2;
	animation: fluffy 3s ease infinite;
}
.bal3:before {
	content: "";
	position: absolute;
	bottom: -7px; left: 15px;
	margin-right: 0;
	display: block;
	width: 15px;
	height: 15px;
	background: #19283C;
	border-radius: 50%;
	z-index: 2;
}
.bal3:after {
	content: "";
	position: absolute;
	bottom: -15px; left: 10px;
	margin-right: 0;
	display: block;
	width: 8px;
	height: 8px;
	background: #19283C;
	border-radius: 50%;
	z-index: 2;
}
.bal3 p {
	margin-top:12px;
}

.speaker {
 	margin: 0;
	padding: 7px;
	background: #fff;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
}

.img-profile {
	float:left;
	background-color:#fff;
	margin-right:5px;
	text-align:center;
	padding-top:2px;
	border-radius: 14px;
  height: 28px;
  width: 28px;
}

.bal-left {
	float:left;
 	position: relative;
	display: inline-block;
	word-break: normal;
 	margin: 0.2em 0 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
 	max-width: 75%;
	min-height:50px;
	background: #fff;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
}
.bal-left:before{
	content: "";
	position: absolute;
	top: 50%;
	left: -10px;
 	margin-top: -10px;
	border: 5px solid transparent;
	border-right: 5px solid #fff;
}
.bal-left p {
	margin: 0;
	padding: 0;
}
.bal-right {
	float:right;
 	position: relative;
	display: inline-block;
	word-break: normal;
 	margin: 0.2em 15px 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
 	max-width: 75%;
	min-height:50px;
	background: #99FF00;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
}
.bal-right:before{
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
 	margin-top: -15px;
	border: 5px solid transparent;
	border-left: 5px solid #99FF00;
}
.bal-right p {
	margin: 0;
	padding: 0;
}

.bal-output {
	float:left;
 	position: relative;
	display: inline-block;
 	margin: 0.2em 0 1.5em 5px;
	padding: 7px 8px;
	min-width: 120px;
 	max-width: 87%;
	min-height:50px;
	background: #79d55d;/*#fbde51;*/
	margin-left:15px;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
}
.bal-output:before{
	content: "";
	position: absolute;
	top: 50%;
	left: -10px;
 	margin-top: -10px;
	border: 5px solid transparent;
	border-right: 5px solid #79d55d;/*#fbde51;*/
}
.bal-output p {
	margin: 0;
	padding: 0;
}

/* for bissiness course */
.img-profile-biz {
	float:left;
	/*background-color:#fff;*/
	margin-right:5px;
	text-align:center;
	padding-top:2px;
	border-radius: 14px;
  height: 40px;
  width: 40px;
}
.img-profile-right {
	float:right;
	/*background-color:#fff;*/
	margin-left:5px;
	text-align:center;
	padding-top:2px;
	padding-left:4px;
	border-radius: 14px;
  height: 20px;
  width: 38px;
}
.bal-right-biz {
	float:right;
 	position: relative;
	/*display: inline-block;*/
	word-break: normal;
 	margin: 0.2em 35px 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
 	max-width: 75%;
	min-height:50px;
	background: #ffffff;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
}
.bal-right-biz:before{
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
 	margin-top: -15px;
	border: 5px solid transparent;
	border-left: 5px solid #ffffff;
}
.bal-right-biz p {
	margin: 0;
	padding: 0;
}

.text-frame {
	margin-top:10px;
	padding:10px;
	border:1px solid #e01;;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
}
@keyframes fluffy {
  0% { transform:translateY(0) }
  5% { transform:translateY(-5px) }
  10% { transform:translateY(-10px) }
  20% { transform:translateY(-15px) }
  25% { transform:translateY(-10px) }
  30% { transform:translateY(-5px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}

.starburst {
display: block;
width: 3em;
height: 3em;
line-height: 1.2em;
background: #FF0011;
-webkit-transform: rotate(-70deg);
-moz-transform: rotate(-45deg);
rotation: -45deg;
position: relative;
top: 1.0em;
left: 1.0em;
text-align: center;
text-decoration: none;
color: #FFF;
font-weight: bold;
text-shadow: 0 0 3em #FF2F2F, 0 0 4px #FF2F2F;
-moz-transition: -moz-transform 0.3s ease;
-webkit-transition: -webkit-transform 0.3s ease;
}
.starburst span {
display: block;
width: 3em;
height: 3em;
background: #FF0011;
-webkit-transform: rotate(22.5deg);
-moz-transform: rotate(22.5deg);
rotation: 22.5deg;
}

/* ★5段階評価 */
.star-rate {
    color: transparent;
    background-image: linear-gradient(orange, orange), linear-gradient(gray, gray);
    background-position: left, right;
    background-repeat: no-repeat;
    background-size: var(--rate) 100%, calc(100% - var(--rate)) 100%;
    background-clip: text;
    background-color: orange;
    -webkit-background-clip: text;
}
.star-rate:before{
    content: "★★★★★";
}


.TopPanel .col-xs-6,
.TopPanel .col-sm-6,
.TopPanel .col-md-3,
.TopPanel .col-lg-3 {
    padding: 0 10px;
}
.TopPanel .row {
    padding: 0 5px;
}
.TopPanel .panel {
    background: #FAFAFA;
    font-weight: bold;
    border-radius: 5px;
    border: solid 2px #9d9d9d;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
}
.TopPanel .panel-body {
    padding: 10px 0;
}
.TopPanel .panel-body:hover {
    border-radius: 5px;
    background: #FFFFCC;
}
.TopPanel a {
    text-decoration: none;
}

/* SPEAKOUT-175 ビジネスコース紹介ページの作成 */
.smart-title{
  padding: 0.8em 1em;
  margin: 1em 0;
  color: #5d627b;
  background: white;
  border-top: solid 5px #006aaa;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
  text-align: center;
}
.smart-title p {
  margin: 0;
  padding: 0;
}
.sticky-note-heading{
  padding: 0.5em 1em;
  margin: 1em 0;
  background: #f4f4f4;
  border-left: solid 6px #ff4fa8;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33);
}
.sticky-note-heading p {
  margin: 0;
  padding: 0;
}
.kokuban-panel {
  position: relative;
  margin: 2em auto;
  padding: 3.2em 1em 1em;
  width: 90%;
  background-color: #006633;
  color: #fff;
  border: 8px solid #b2771f;
  border-radius: 3px;
  box-shadow: 0 0 5px #333, 0 0 5px #555 inset;
}
.kokuban-panel::before,
.kokuban-panel::after {
  position: absolute;
  content: '';
  bottom: 0;
}
.kokuban-panel::before {
  right: 10px;
  border: solid 3px #fff;
  width: 20px;
  border-radius: 3px 2px 0 2px;
}
.kokuban-panel::after {
  right: 40px;
  border: solid 3px #ffff6b;
  width: 15px;
  border-radius: 8px 5px 2px 5px;
}
.kokuban-title {
  position: absolute;
  left: 1em;
  top: .5em;
  font-weight: bold;
  font-size: 1.1em;
  color: #ffff6b;
}
.step-panel {
  position: relative;
  margin: 2em 0;
  padding: 25px 10px 7px;
  border: solid 2px #FFC107;
}
.step-panel .box-title {
  position: absolute;
  display: inline-block;
  top: -2px;
  left: -2px;
  padding: 0 9px;
  height: 25px;
  line-height: 25px;
  font-size: 17px;
  background: #FFC107;
  color: #ffffff;
  font-weight: bold;
}
.step-panel p {
  margin: 0;
  padding: 0;
}
.turned-tape-panel{
  position: relative;
  background: #fff0cd;
  box-shadow: 0px 0px 0px 5px #fff0cd;
  border: dashed 2px white;
  padding: 0.2em 0.5em;
  color: #454545;
}
.turned-tape-panel:after{
  position: absolute;
  content: '';
  right: -7px;
  top: -7px;
  border-width: 0 15px 15px 0;
  border-style: solid;
  border-color: #ffdb88 #fff #ffdb88;
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15);
}
.turned-tape-panel p {
  margin: 0;
  padding: 0;
}
.left-right-line{
  padding: 0.5em 1em;
  margin: 2em 0;
  color: #474747;
  background: whitesmoke;/*背景色*/
  border-left: double 7px #4ec4d3;/*左線*/
  border-right: double 7px #4ec4d3;/*右線*/
}
.left-right-line p {
  margin: 0;
  padding: 0;
}

/* SPEAKOUT-178 My Teacherプランページ作成 */
.cloth_style{
  padding: 0.2em 0.5em;
  background: #d6ebff;
  box-shadow: 0 0 0 5px #d6ebff;
  border: dashed 2px white;
  text-align: center;
  margin: 10px 0 20px 0;
}
.cloth_style p {
  margin: 0;
  padding: 0;
}
.dotted_brackets {
  position: relative;
  padding: 0.25em 1em;
  margin: 2em 0;
  top: 0;
  background: #efefef;
}
.dotted_brackets:before, .dotted_brackets:after{
  position: absolute;
  top: 0;
  content:'';
  width: 10px;
  height: 100%;
  display: inline-block;
  box-sizing: border-box;
}
.dotted_brackets:before{
  border-left: dotted 2px #15adc1;
  border-top: dotted 2px #15adc1;
  border-bottom: dotted 2px #15adc1;
  left: 0;
}
.dotted_brackets:after{
  border-top: dotted 2px #15adc1;
  border-right: dotted 2px #15adc1;
  border-bottom: dotted 2px #15adc1;
  right: 0;
}
.dotted_brackets p {
  margin: 0;
  padding: 0;
}

/* SPEAKOUT-182 SPEAK UPプラスページ作成 */
.title_bar_02 {
  background: #1B73BA;
  box-sizing: border-box;
  color: #FFFFFF;
  font-size: 20px;
  margin-bottom: 20px;
  padding: 10px 10px;
  position: relative;
  width: 100%;
}
.title_bar_02:before {
  border: 10px solid transparent;
  border-top: 10px solid #1B73BA;
  content: "";
  height: 0;
  left: 10px;
  position: absolute;
  top: 100%;
  width: 0;
}
.title_bar_01 {
  background: #F8F8F8;
  border-top: 2px solid #1B73BA;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0px;
  -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0px;
  box-sizing: border-box;
  color: #1B73BA;
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 20px;
  padding: 10px 15px 10px;
  text-align: center;
}
.frame_box_02 {
  list-style-type: none;
}
.frame_box_02 li {
  font-size: 15px;
  padding-bottom: 5px;
}
.frame_box_02 li:last-child {
  padding-bottom: 0;
}
.frame_box_02 li span {
  background-color: #AAAAAA;
  border-radius: 50%;
  box-sizing: border-box;
  display: inline-block;
  *display:inline;
  *zoom:1;
  height: 10px;
  margin: 0 10px 3px -20px;
  position: relative;
  vertical-align: middle;
  width: 10px;
}
.frame_box_02 li span:before {
  border-bottom: 3px solid transparent;
  border-left: 3px solid #FFF;
  border-right: 3px solid transparent;
  border-top: 3px solid transparent;
  content: "";
  display: block;
  left: 4px;
  position: absolute;
  top: 2px;
}
.frame_box_03 {
  border: 5px solid #eee;
  margin: 10px;
  padding: 10px;
  position: relative;
  z-index: 0;
  text-align: center;
}
.frame_box_03:before {
  border-top: 5px solid #f0b8bf;
  border-left: 5px solid #f0b8bf;
  content: '';
  display: block;
  position: absolute;
  top: -5px;
  left: -5px;
  width: 20px;
  height: 20px;
  z-index: 1;
}
.frame_box_01{
  background: none;
  border: 1px solid #f3cbd0;
  padding: 20px 20px 40px 20px;
  position: relative;
  margin-top: 20px;
  margin-bottom: 20px;
}
.frame_box_01:after{
  background-color: #fff;
  background-image: linear-gradient(90deg, rgba(245,213,218,.5) 50%, transparent 50%), linear-gradient(rgba(245,213,218,.5) 50%, transparent 50%);	/* チェック色 */
  background-size: 20px 20px;
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 25px;
  z-index: -2;
}
.frame_box_04 {
  text-align: center;
  position: relative;
  padding: 35px 20px 15px;
  background: #fff;
  color: #555555;
  border: 1px solid #ccc;
  box-shadow: 1px 1px 2px #ccc;
}
.frame_box_04::before,
.frame_box_04::after {
  position: absolute;
  content: '';
  top: 15px;
  width: 30px;
  border: 1.5px solid #C0C0C0;
  border-radius: 20px;
  box-shadow: 0 -1px 2px #555;
}
.frame_box_04::before { left: 80px;}
.frame_box_04::after { right: 80px;}

.q_and_a_list_01 *, .q_and_a_list_01 *:after, .q_and_a_list_01 *:before {
  font-family: 'FontAwesome', sans-serif;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.q_and_a_list_01 dt {
  position: relative;
  margin: 0 0 1.5em 0;
}
.q_and_a_list_01 dd {
  position: relative;
  margin: 0 0 2em 0;
  padding: 0 0 1em 1em;
  border-bottom: 1px dotted #0097a7;
}
.q_and_a_list_01 dt::before, .q_and_a_list_01 dd::before {
  font-size: 1.2em;
  margin: 0 0.5em 0 0;
  color: #ffffff;
  border-radius: 50%;
  display: inline-block;
  width: 1.3em;
  height: 1.3em;
  line-height: 1.2em;
}
.q_and_a_list_01 dt::before {
  padding: 0.1em 0.3em;
  content: '\f128';
  background: #f57c00;
}
.q_and_a_list_01 dd::before {
  padding: 0.12em 0.45em;
  content: '\f12a';
  background: #0097a7;
}
.q_and_a_list_01 dt::after, .q_and_a_list_01 dd::after {
  position: absolute;
  top: 0.5em;
  display: inline-block;
  width: 0;
  height: 0;
  content: '';
  border-width: 5px 0 5px 5px;
  border-style: solid;
}
.q_and_a_list_01 dt::after {
  left: 1.5em;
  border-color: transparent transparent transparent #f57c00;
}
.q_and_a_list_01 dd::after {
  left: 2.5em;
  border-color: transparent transparent transparent #0097a7;
}

/* SPEAKOUT-188 グループレッスン  */
.sub_bar_01 {
  border-bottom: 2px solid #1B73BA;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 20px;
  padding-bottom: 5px;
}

/* SPEAKOUT-205 クリスマススタンプラリー  */
.frame_box_02 li {
  font-size: 18px;
}
.title_bar_02 {
  background: #ba1b2e;
}
.title_bar_02:before {
  border-top: 10px solid #ba1b2e;
}
.title_bar_03 {
  position: relative;
  background: #ffdfec;
  box-shadow: 0px 0px 0px 5px #ffdfe6;
  border: dashed 2px white;
  padding: 0.6em 0.5em;
  color: #454545;
  margin-bottom: 10px;
  font-size: 20px;
}
.title_bar_03:after {
  position: absolute;
  content: '';
  left: -7px;
  top: -7px;
  border-width: 0 0 15px 15px;
  border-style: solid;
  border-color: #fff #fff #ffa8d5;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}
.stamp_list ul {
  list-style: none;
  margin-left: -30px;
  margin-bottom: -5px;
}
.stamp_list ul li {
  padding-left: 35px;
  line-height: 2.5em;
  background-size: 25px auto;
}
.ling_1 {
  background: url(/images/page/event/xmas_stamp_rally/stamp_ling_1.png) left 0 top 6px no-repeat;
}
.ling_2 {
  background: url(/images/page/event/xmas_stamp_rally/stamp_ling_2.png) left 0 top 6px no-repeat;
}
.ling_3 {
  background: url(/images/page/event/xmas_stamp_rally/stamp_ling_3.png) left 0 top 6px no-repeat;
}
.ling_4 {
  background: url(/images/page/event/xmas_stamp_rally/stamp_ling_4.png) left 0 top 6px no-repeat;
}

.badge-primary {
  color: #ffffff;
  background-color: #337ab7;
  border-color: #2e6da4;
}
.badge-success {
  color: #ffffff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.badge-info {
  color: #ffffff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.badge-warning {
  color: #ffffff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.badge-danger {
  color: #ffffff;
  background-color: #d9534f;
  border-color: #d43f3a;
}

.msr_h202 {
  border-bottom: 2px solid #1B73BA;
  box-sizing: border-box;
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 20px;
  padding: 7px 0 2px 0;
}
/* h2アイコン */
.msr_h202:before {
  background-image: url(/images/page/index/flat_arrow_blue.png);
  background-repeat: no-repeat;
  content: " ";
  display: inline-block;
  *display:inline;
  *zoom:1;
  height: 23px;
  padding: 0 12px 2px 0;
  vertical-align: middle;
  width: 10px;
}
.kakomi-box1 {
  margin: 2em auto;
  padding: 1em;
  width: 100%;
  background-color: #fff; /* 背景色 */
  border: 1px solid #ccc; /* 枠線 */
}

.font_num {
    font-family: Tahoma, Verdana, Segoe, sans-serif;
    font-size: 120%;
    font-weight: bold;
}

/* rieson */
.n_v {
    position:relative;
    top:11px;
    left:2px;
    margin-left:-12px;
    z-index:1;
}
.l_v_l {
    position:relative;
    top:10px;
    left:1px;
    margin-left:-31px;
    z-index:1;
}
.l_v_r {
    position:relative;
    top:10px;
    left:21px;
    margin-left:-30px;
    z-index:1;
}
.b_v {
    position:relative;
    top:10px;
    left:25px;
    margin-left:-56px;
    z-index:1;
}
.n_c {
    position:relative;
    top:13px;
    left:-3px;
    margin-left:-13px;
    z-index:1;
}
.t_c {
    position:relative;
    top:-13px;
    left:0px;
    margin-left:-13px;
    z-index:1;
}
.q_c {
    position:relative;
    font-size:10px;
    font-weight:bold;
    color: #000;
    top:13px;
    left:2px;
    margin-left:-6px;
    z-index:1;
}
.q_cb {
    position:relative;
    font-size:10px;
    font-weight:bold;
    color: #000;
    top:16px;
    left:0px;
    margin-left:28px;
    z-index:1;
}
.ac {
    position:relative;
    top:-9px;
    left:0px;
    margin-left:-8px;
    z-index:1;
}
.correct {
    position:relative;
    font-size:30px;
    color:#d9534f;
    top:-10px;
    left:5px;
    margin-left:-16px;
    opacity: 0.5;
    z-index:2;
}
.incorrect {
    position:relative;
    font-size:30px;
    color: #000;
    top:-8px;
    left:5px;
    margin-left:-16px;
    opacity: 0.3;
    z-index:2;
}
.disphide {
    opacity: 0;
    transition: .7s;
}
.disphide.show {
    opacity: 1;
}

.btn_customize {
    border-radius: 50px;
    font-weight: bold;
    font-size: 110%;
    text-align: center;
    padding: 10px 20px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}

.btn_NaviMenu {
    border-radius: 5px;
    background-color: rgba(255,255,255,0.5);
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
}

.bold {
    font-weight: bold;
}

.contents_icon {
    margin: 5px;
    padding: 5px;
    font-size: 50px;
}

.btn_lg {
    padding: 20px 30px;
    font-size: 140%;
}

.btn_gold {
  background: linear-gradient(45deg, #DAAF08 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #DAAF08 90%, #DAAF08 100%);
  background-size: 800% 400%;
  animation: gradient 5s infinite cubic-bezier(.62, .28, .23, .99) both;
  color: #000000;
}

@keyframes gradient {
  0% {
    background-position: 0 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}



.standard_nav li {
    width: 32.5%;
    text-align: center;
    font-size: 120%;
    font-weight: bold;
    font-family: Arial, sans-serif;
}
.standard_nav li a {
    padding: 10px 0;
    border-radius: 10px 10px 0 0;
    background-color: #dddddd;
}





.course_title {
  position: relative;
  background: #D3DFA2;
  padding: 5px 5px 5px 30px;
  font-size: 18px;
  line-height: 22px;
  font-weight: bold;
  color: #474747;
  border-radius: 0 10px 10px 0;
  margin-left: 20px;
  margin-bottom: 20px;
}
.course_title:before {
  font-family: "Font Awesome 5 Free";
  content: "\f135";
  display: inline-block;
  position: absolute;
  padding: 0;
  color: white;
  background: #57BE37;
  font-weight: 900;
  width: 50px;
  text-align: center;
  height: 50px;
  line-height: 45px;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 3px white;
  border-radius: 50%;
}

/* header navi plus icon  */
.bt-plus {
  width: 27%;
  float: left;
  padding-top: 6px;
  padding-left: 8px;
  max-width: 114px;
  max-height: 53px;
}