@charset "UTF-8";

/* 共通 */
html {
	height: calc(100% - 95px);
}

body {
	/* padding-top: 70px; Required padding for .navbar-fixed-top. Remove if using .navbar-static-top. Change if height of navigation changes. */
	height: 100%;
}

body.skin-staging nav{
	/* background-color: blue; */
	background-color: #f39c12;
}

body.dialog-body {
	padding-top: 0px;
}

h1 {
	font-size: 32px;
}

.cf {
	clear: both;
}
.page-header {
	margin-top: 15px;
}

.nav-tabs-custom>.nav-tabs>li.active {
	border-top-color: #dd4b39;
}

.content-header {
	margin-bottom: 50px;
}
.content {
	font-size: 16px;
}
.container {
	position: relative;
	height: auto !important;
	height: 100%;
	min-height: 100%;
}
.iframe-container {
	width: 100%;
	overflow-x: hidden;
	padding-right: 0px;
	padding-left : 0px;
}

@media screen and (max-width: 767px) {
	.main-footer .poweredby {
		display: block;
	}
}
@media screen and (min-width: 768px) {
	.main-footer .poweredby {
		float: right;
	}
}

.bgred {
	background: #ff0000;
}

.bginfo {
	background-color: #5bc0de;
}

.fgred {
	color: #ff0000;
}

.soft-hidden {
	display: none;
}

@media (max-width : 1020px) {
	.hidden-menu {
		display: none !important;
	}
}
@media (max-width : 1020px) {
	.show-menu {
		display: inline-block;
	}
}

.btn-footer {
	margin-top: 20px;
}

@media (max-width: 767px) {
	.btn-footer {
		text-align: center;
	}
}

.required {
	margin: 0 0.5em;
	padding: 0 0.5em;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	background-color: #fc3f5b;
	color: #fff;
	font-weight: normal;
	font-size: 80%;
}

.profile-user-img {
	margin: 0 auto;
	width: 100px;
	padding: 3px;
	border: 3px solid #d2d6de;
}

.comment-user-img {
	margin: 0 auto;
	width: 50px;
	padding: 3px;
	border: 3px solid #d2d6de;
}

.card-row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}
.portfolio-item {
	margin-bottom: 25px;
}
.portfolio-item .card-img-top {
	width: 100%;
	border-top-left-radius: calc(.25rem - 1px);
	border-top-right-radius: calc(.25rem - 1px);
}
.portfolio-item .card span {
	position: absolute;
	top: 5px;
	right: 10px;
}
.portfolio-item .card {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-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(0,0,0,.125);
	border-radius: .25rem;
	height: 100%!important;
}
.portfolio-item .card .card-body {
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	padding: 1.25rem;
}
.portfolio-item .card .card-title {
	margin-bottom: .75rem;
}
.portfolio-item .card .card-text:last-child {
	margin-bottom: 0;
}
/* 入力フォーム */
table.entry > thead > tr > th {
	background-color: #f5f5f5;
}
table.entry > tbody > tr > th {
	background-color: #f5f5f5;
	padding-left: 30px;
}
table.entry label.radio-label {
	margin-right: 20px;
}
table.entry label.checkbox-label {
	margin-right: 20px;
}
table.entry > thead > tr > td.single {
	padding: 20px;
}

table.entry > tbody > tr > td > table td {
	border: none;
}
table.entry table.product > tbody > tr > th {
	background-color: #f5f5f5;
}
table.entry table.product td {
	border: 1px solid #ddd;
}
table.entry table.product td.number {
	vertical-align: middle;
	text-align: right;
}
table.entry table.product td.product {
	padding-left: 5px;
}
table.entry table.product td.quantity {
	text-align: center;
	position: relative;
}
table.entry table.product td.quantity-select {
	vertical-align: middle;
	text-align: center;
	padding-left: 0;
	padding-right: 0;
	position: relative;
}
table.entry table.product td.quantity-select .icon-input {
	width: 100%;
	height: 100%;
	cursor: pointer;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.fr-view {
	word-wrap: break-word;
}
.fr-view > table, .fr-view >td, .fr-view >th,.fr-view > table > thead > tr > th, .fr-view > table > tbody > tr > th, .fr-view > table > tfoot > tr > th, .fr-view > table > thead > tr > td, .fr-view > table > tbody > tr > td, .fr-view > table > tfoot > tr > td  {
    border: 1px solid #ddd !important;
}
.fr-view > table.table-borderless,
.fr-view .table-borderless >td,
.fr-view .table-borderless >th,
.fr-view > table.table-borderless > thead > tr > th,
.fr-view > table.table-borderless > tbody > tr > th,
.fr-view > table.table-borderless > tfoot > tr > th,
.fr-view > table.table-borderless > thead > tr > td,
.fr-view > table.table-borderless > tbody > tr > td,
.fr-view > table.table-borderless > tfoot > tr > td {
    border: 0px none !important;
}
@media (min-width: 768px) {
	table.entry > thead > tr > th {
		width: 30%;
	}
	table.entry > tbody > tr > th {
		width: 30%;
	}
	table.entry table.product th.product {
		width: 60%;
	}
	table.entry table.product th.amount {
		width: 20%;
	}
	table.entry table.product th.quantity {
		width: 20%;
	}
}
@media (max-width: 767px) {
	.fr-view table.entry {
		width: 100% !important;
	}
	table.entry {
		width: 100%;
	}
	.fr-view > table.entry > thead > tr > th, .fr-view > table.entry > thead > tr > td {
		display: block;
		width:100% !important;
	}
	.fr-view > table.entry > tbody > tr > th, .fr-view > table.entry > tbody > tr > td {
		display: block;
		width:100% !important;
	}
	table.entry > thead > tr > th,table.entry > thead > tr > td {
		display: block;
		width:100%;
	}
	table.entry > tbody > tr > th,table.entry > tbody > tr > td {
		display: block;
		width:100%;
	}
	table.entry table.product {
		width: 100%;
	}
	table.entry table.product th.amount {
		width: 25%;
		display: inline-block;
	}
	table.entry table.product td.amount {
		width: 75%;
		display: inline-block;
		text-align: center;
		padding-right: 0;
	}
	table.entry table.product th.quantity {
		width: 25%;
		display: inline-block;
		height: 50px;
	}
	table.entry table.product td.quantity {
		width: 75%;
		display: inline-block;
		height: 50px;
	}
	table.entry table.product th.quantity.error {
		width: 25%;
		display: inline-block;
		height: 100px;
	}
	table.entry table.product td.quantity.error {
		width: 75%;
		display: inline-block;
		height: 100px;
	}
	table.entry table.product th,table.entry table.product td {
		display: block;
	}
}


#formAnchor {
	margin-top:-20px;
	padding-top:70px;
}

#entryAnchor button {
	margin-top: 10px;
	margin-bottom: 10px;
}

ul.kouza-date, ul.kouza-product {
	list-style: none;
	padding-left: 0;
}
.kouza-detail .badge {
	margin-top: -3px;
}
.indent {
	margin-left: 10px;
}
.indent-5 {
    margin-left: 5px;
}

/* 支払方法 */
.payment .panel-collapse {
	padding-top: 10px;
	padding-right: 10px;
	margin-left: 30px;
	margin-bottom: 10px;
}
.payment .help-block, .card-edit-page .help-block {
	color: #a94442;
}
.payment img.card, .card-edit-page img.card {
	width: 30px;
	margin-left: 10px;
}
.payment .change-card {
	margin-top:5px;
	margin-bottom:10px;
}

.card-edit-page .card-img {
	margin-top: 5px;
	margin-bottom: 5px;
}

/* 特定商取引法に基づく表記 */
@media (min-width: 768px) {
	table.commerce th {
		width: 30%;
	}
}
@media (max-width: 767px) {
	table.commerce {
		width: 100%;
	}
	table.commerce th,table.commerce td {
		display: block;
	}
}

/* ログイン要求メッセージ */
.login-required {
	font-size: 20px;
	font-weight: bold;
}
/* 入力完了 */
.help-block ul {
	margin-top: 30px;
	padding-left: 0;
}
.help-block li {
	list-style: none;
}
.help-block li:before {
	content: "※";
}
/* ハンバーガーメニュー */
@media (max-width : 1020px) {
	.navbar-header {
		float: none;
	}
	.navbar-left, .navbar-right {
		float: none !important;
	}
	.navbar-toggle {
		display: block;
	}
	.navbar-collapse {
		border-top: 1px solid transparent;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
	}
	.navbar-fixed-top {
		top: 0;
		border-width: 0 0 1px;
	}
	.navbar-collapse.collapse {
		display: none !important;
	}
	.navbar-nav {
		float: none !important;
		margin-top: 7.5px;
	}
	.navbar-nav>li {
		float: none;
	}
	.navbar-nav>li>a {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.collapse.in {
		display: block !important;
	}
}

/* フッター */
footer.guideline-footer {
	background: #fff;
	color: #444;
	margin: 0;
	margin-top: 20px;
}
footer.guideline-footer div {
	text-align: center;
}
footer.guideline-footer ul {
	padding-left: 0;
	margin-bottom: 0;
}
footer.guideline-footer li {
	list-style: none;
	margin-left: 5px;
	padding-left: 10px;
}
footer.guideline-footer li:first-child  {
	border-left: none;
}
@media (min-width: 768px) {
	footer.guideline-footer li {
		display: inline;
		border-left: 1px #999 solid;
	}
}
@media (max-width: 767px) {
	footer.guideline-footer li {
		text-align: left;
		display: block;
	}
	footer.guideline-footer li:last-child  {
		margin-bottom: 5px;
	}
}
footer.sensitive-footer {
	background: #fff;
	color: #444;
	margin: 5px 0 5px 0;
	font-size :12px;
}
@media (min-width: 768px) {
	footer.sensitive-footer div {
		text-align: center;
	}
}
@media (max-width: 767px) {
	footer.sensitive-footer div {
		text-align: left;
	}
}
footer.main-footer {
	background: #fff;
	padding: 15px 0;
	color: #444;
	border-top: 1px solid #d2d6de;
	margin: 0;
}
/* ページナビゲーション */
#pageNavi {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 0;
	font-size: 77%;
}
#pageNavi a {
	font-size: 16px;
	background: #d73925;
	text-decoration: none;
	color: #fff;
	width: 150px;
	padding: 15px 0;
	text-align: center;
	display: block;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	-webkit-border-top-left-radius: 20px;
	-webkit-border-bottom-left-radius: 20px;
	-moz-border-top-left-radius: 20px;
	-moz-border-bottom-left-radius: 20px;
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}

/* ログイン画面/アカウント作成画面 */
.login-page {
}
.login-page #messages {
	max-width: 400px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}
.login-page .help-block {
	max-width: 400px;
	width: 100%;
	margin: 15px auto 0 auto;
	text-align: left;
}
.login-page .panel {
	max-width: 500px;
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
	box-shadow: none;
}
.login-page .panel .panel-heading .panel-title {
	font-size: 24px;
	margin-top: 10px;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px;
}
.login-page .panel .panel-body {
	text-align: center;
	padding-top: 20px;
	padding-bottom: 20px;
}
.login-page .panel .panel-body input:not(.check-remember-me) {
	margin: 15px auto 0 auto;
	max-width: 400px;
	width: 100%;
}
.login-page .subtext {
	margin-top: 10px;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px;
}




@media (min-width: 768px) {
	.mypage-card-page th {
		width: 40%;
	}
}
@media (max-width: 767px) {
	.mypage-card-page table {
		width: 100%;
	}
	.mypage-card-page th,.mypage-card-page td {
		display: block;
	}
}

/* 詳細画面 */
.detail-page td.kouza-entry-cls {
	margin-left: 0px;
}
.detail-page .icon-radio-input{
	width: 0px;
}
.detail-page .campaing-indent {
	margin-top: 20px;
	margin-left: 10px;
}
.detail-page .campaing ul {
	list-style: none;
	padding-left: 0;
}
.detail-page .campaing ul li {
	margin-top: 10px;
}
.detail-page .campaing ul .campaing-fees {
	margin-left: 20px;
	margin-bottom: 0;
	margin-top: 5px;
	font-weight: normal;
}
.detail-page .campaing ul .campaing-fees .campaing-through {
	text-decoration: line-through;
	color: red;
}
.detail-page .campaing ul .campaing-fees .campaing-through span {
	color: black;
}
.detail-page .campaing ul .campaing-fees .campaing-fee {
	color: red;
	font-size: 130%;
}
.detail-page .campaing ul li label {
	cursor: pointer;
}

/* 完了画面 */
.complete-page .attention {
	color: #e4007f;
	font-weight: bold;
}

/* 支払画面 */
.pay-page .price {
	font-size: 24px;
}

/* キャンセル画面 */
.cancel-page .price {
	font-size: 24px;
}
.cancel-page textarea.cancel-reason {
	max-width: 90%;
}

/* 退会画面 */
.defect-page ul {
	padding-left: 15px;
}

/* 講座詳細画面 */
.kouza-detail-page label.entry-cls:nth-child(n + 2) {
	margin-left: 20px;
}

.bg-red,
.bg-yellow,
.bg-blue,
.bg-green,
.bg-orange,
.bg-purple {
  color: #fff !important;
}
.bg-gray {
  color: #000;
  background-color: #d2d6de !important;
}
.bg-red {
  background-color: #dd4b39 !important;
}
.bg-yellow {
  background-color: #f39c12 !important;
}
.bg-blue {
  background-color: #0073b7 !important;
}
.bg-green {
  background-color: #00a65a !important;
}
.bg-orange {
  background-color: #ff851b !important;
}
.bg-purple {
  background-color: #605ca8 !important;
}


/*
 * Component: Box
 * --------------
 */
.box {
  position: relative;
  border-radius: 3px;
  background: #ffffff;
  border-top: 3px solid #d2d6de;
  margin-bottom: 20px;
  width: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
.box.box-primary {
  border-top-color: #3c8dbc;
}
.box.box-info {
  border-top-color: #00c0ef;
}
.box.box-danger {
  border-top-color: #dd4b39;
}
.box.box-warning {
  border-top-color: #f39c12;
}
.box.box-success {
  border-top-color: #00a65a;
}
.box.box-default {
  border-top-color: #d2d6de;
}
.box.collapsed-box .box-body,
.box.collapsed-box .box-footer {
  display: none;
}
.box .nav-stacked > li {
  border-bottom: 1px solid #f4f4f4;
  margin: 0;
}
.box .nav-stacked > li:last-of-type {
  border-bottom: none;
}
.box.height-control .box-body {
  max-height: 300px;
  overflow: auto;
}
.box .border-right {
  border-right: 1px solid #f4f4f4;
}
.box .border-left {
  border-left: 1px solid #f4f4f4;
}
.box.box-solid {
  border-top: 0;
}
.box.box-solid > .box-header .btn.btn-default {
  background: transparent;
}
.box.box-solid > .box-header .btn:hover,
.box.box-solid > .box-header a:hover {
  background: rgba(0, 0, 0, 0.1);
}
.box.box-solid.box-default {
  border: 1px solid #d2d6de;
}
.box.box-solid.box-default > .box-header {
  color: #444444;
  background: #d2d6de;
  background-color: #d2d6de;
}
.box.box-solid.box-default > .box-header a,
.box.box-solid.box-default > .box-header .btn {
  color: #444444;
}
.box.box-solid.box-primary {
  border: 1px solid #3c8dbc;
}
.box.box-solid.box-primary > .box-header {
  color: #ffffff;
  background: #3c8dbc;
  background-color: #3c8dbc;
}
.box.box-solid.box-primary > .box-header a,
.box.box-solid.box-primary > .box-header .btn {
  color: #ffffff;
}
.box.box-solid.box-info {
  border: 1px solid #00c0ef;
}
.box.box-solid.box-info > .box-header {
  color: #ffffff;
  background: #00c0ef;
  background-color: #00c0ef;
}
.box.box-solid.box-info > .box-header a,
.box.box-solid.box-info > .box-header .btn {
  color: #ffffff;
}
.box.box-solid.box-danger {
  border: 1px solid #dd4b39;
}
.box.box-solid.box-danger > .box-header {
  color: #ffffff;
  background: #dd4b39;
  background-color: #dd4b39;
}
.box.box-solid.box-danger > .box-header a,
.box.box-solid.box-danger > .box-header .btn {
  color: #ffffff;
}
.box.box-solid.box-warning {
  border: 1px solid #f39c12;
}
.box.box-solid.box-warning > .box-header {
  color: #ffffff;
  background: #f39c12;
  background-color: #f39c12;
}
.box.box-solid.box-warning > .box-header a,
.box.box-solid.box-warning > .box-header .btn {
  color: #ffffff;
}
.box.box-solid.box-success {
  border: 1px solid #00a65a;
}
.box.box-solid.box-success > .box-header {
  color: #ffffff;
  background: #00a65a;
  background-color: #00a65a;
}
.box.box-solid.box-success > .box-header a,
.box.box-solid.box-success > .box-header .btn {
  color: #ffffff;
}
.box.box-solid > .box-header > .box-tools .btn {
  border: 0;
  box-shadow: none;
}
.box.box-solid[class*='bg'] > .box-header {
  color: #fff;
}
.box .box-group > .box {
  margin-bottom: 5px;
}
.box .knob-label {
  text-align: center;
  color: #333;
  font-weight: 100;
  font-size: 12px;
  margin-bottom: 0.3em;
}
.box > .overlay,
.overlay-wrapper > .overlay,
.box > .loading-img,
.overlay-wrapper > .loading-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.box .overlay,
.overlay-wrapper .overlay {
  z-index: 50;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 3px;
}
.box .overlay > .fa,
.overlay-wrapper .overlay > .fa {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -15px;
  margin-top: -15px;
  color: #000;
  font-size: 30px;
}
.box .overlay.dark,
.overlay-wrapper .overlay.dark {
  background: rgba(0, 0, 0, 0.5);
}
.box-header:before,
.box-body:before,
.box-footer:before,
.box-header:after,
.box-body:after,
.box-footer:after {
  content: " ";
  display: table;
}
.box-header:after,
.box-body:after,
.box-footer:after {
  clear: both;
}
.box-header:before,
.box-body:before,
.box-footer:before,
.box-header:after,
.box-body:after,
.box-footer:after {
  content: " ";
  display: table;
}
.box-header:after,
.box-body:after,
.box-footer:after {
  clear: both;
}
.box-header {
  color: #444;
  display: block;
  padding: 10px;
  position: relative;
}
.box-header.with-border {
  border-bottom: 1px solid #f4f4f4;
}
.collapsed-box .box-header.with-border {
  border-bottom: none;
}
.box-header > .fa,
.box-header > .glyphicon,
.box-header > .ion,
.box-header .box-title {
  display: inline-block;
  font-size: 18px;
  margin: 0;
  line-height: 1;
}
.box-header > .fa,
.box-header > .glyphicon,
.box-header > .ion {
  margin-right: 5px;
}
.box-header > .box-tools {
  float: right;
}
.box-header > .box-tools [data-toggle="tooltip"] {
  position: relative;
}
.box-header > .box-tools.pull-right .dropdown-menu {
  right: 0;
  left: auto;
}
.box-header > .box-tools .dropdown-menu > li > a {
  color: #444!important;
}
.btn-box-tool {
  padding: 5px;
  font-size: 12px;
  background: transparent;
  color: #97a0b3;
}
.open .btn-box-tool,
.btn-box-tool:hover {
  color: #606c84;
}
.btn-box-tool.btn:active {
  box-shadow: none;
}
.box-body {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  padding: 10px;
}
.no-header .box-body {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.box-body > .table {
  margin-bottom: 0;
}
.box-body .fc {
  margin-top: 5px;
}
.box-body .full-width-chart {
  margin: -19px;
}
.box-body.no-padding .full-width-chart {
  margin: -9px;
}
.box-body .box-pane {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 3px;
}
.box-body .box-pane-right {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 0;
}
.box-footer {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top: 1px solid #f4f4f4;
  padding: 10px;
  background-color: #ffffff;
}
.chart-legend {
  margin: 10px 0;
}
@media (max-width: 991px) {
  .chart-legend > li {
    float: left;
    margin-right: 10px;
  }
}
.box-comments {
  background: #f7f7f7;
}
.box-comments .box-comment {
  padding: 8px 0;
  border-bottom: 1px solid #eee;
}
.box-comments .box-comment:before,
.box-comments .box-comment:after {
  content: " ";
  display: table;
}
.box-comments .box-comment:after {
  clear: both;
}
.box-comments .box-comment:before,
.box-comments .box-comment:after {
  content: " ";
  display: table;
}
.box-comments .box-comment:after {
  clear: both;
}
.box-comments .box-comment:last-of-type {
  border-bottom: 0;
}
.box-comments .box-comment:first-of-type {
  padding-top: 0;
}
.box-comments .box-comment img {
  float: left;
}
.box-comments .comment-text {
  margin-left: 40px;
  color: #555;
}
.box-comments .username {
  color: #444;
  display: block;
  font-weight: 600;
}
.box-comments .text-muted {
  font-weight: 400;
  font-size: 12px;
}
/* Widget: TODO LIST */
.todo-list {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: auto;
}
.todo-list > li {
  border-radius: 2px;
  padding: 10px;
  background: #f4f4f4;
  margin-bottom: 2px;
  border-left: 2px solid #e6e7e8;
  color: #444;
}
.todo-list > li:last-of-type {
  margin-bottom: 0;
}
.todo-list > li > input[type='checkbox'] {
  margin: 0 10px 0 5px;
}
.todo-list > li .text {
  display: inline-block;
  margin-left: 5px;
  font-weight: 600;
}
.todo-list > li .label {
  margin-left: 10px;
  font-size: 9px;
}
.todo-list > li .tools {
  display: none;
  float: right;
  color: #dd4b39;
}
.todo-list > li .tools > .fa,
.todo-list > li .tools > .glyphicon,
.todo-list > li .tools > .ion {
  margin-right: 5px;
  cursor: pointer;
}
.todo-list > li:hover .tools {
  display: inline-block;
}
.todo-list > li.done {
  color: #999;
}
.todo-list > li.done .text {
  text-decoration: line-through;
  font-weight: 500;
}
.todo-list > li.done .label {
  background: #d2d6de !important;
}
.todo-list .danger {
  border-left-color: #dd4b39;
}
.todo-list .warning {
  border-left-color: #f39c12;
}
.todo-list .info {
  border-left-color: #00c0ef;
}
.todo-list .success {
  border-left-color: #00a65a;
}
.todo-list .primary {
  border-left-color: #3c8dbc;
}
.todo-list .handle {
  display: inline-block;
  cursor: move;
  margin: 0 5px;
}
/* Chat widget (DEPRECATED - this will be removed in the next major release. Use Direct Chat instead)*/
.chat {
  padding: 5px 20px 5px 10px;
}
.chat .item {
  margin-bottom: 10px;
}
.chat .item:before,
.chat .item:after {
  content: " ";
  display: table;
}
.chat .item:after {
  clear: both;
}
.chat .item:before,
.chat .item:after {
  content: " ";
  display: table;
}
.chat .item:after {
  clear: both;
}
.chat .item > img {
  width: 40px;
  height: 40px;
  border: 2px solid transparent;
  border-radius: 50%;
}
.chat .item > .online {
  border: 2px solid #00a65a;
}
.chat .item > .offline {
  border: 2px solid #dd4b39;
}
.chat .item > .message {
  margin-left: 55px;
  margin-top: -40px;
}
.chat .item > .message > .name {
  display: block;
  font-weight: 600;
}
.chat .item > .attachment {
  border-radius: 3px;
  background: #f4f4f4;
  margin-left: 65px;
  margin-right: 15px;
  padding: 10px;
}
.chat .item > .attachment > h4 {
  margin: 0 0 5px 0;
  font-weight: 600;
  font-size: 14px;
}
.chat .item > .attachment > p,
.chat .item > .attachment > .filename {
  font-weight: 600;
  font-size: 13px;
  font-style: italic;
  margin: 0;
}
.chat .item > .attachment:before,
.chat .item > .attachment:after {
  content: " ";
  display: table;
}
.chat .item > .attachment:after {
  clear: both;
}
.chat .item > .attachment:before,
.chat .item > .attachment:after {
  content: " ";
  display: table;
}
.chat .item > .attachment:after {
  clear: both;
}
.box-input {
  max-width: 200px;
}
.modal .panel-body {
  color: #444;
}
/*
 * Component: Info Box
 * -------------------
 */
.info-box {
  display: block;
  min-height: 90px;
  background: #fff;
  width: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 2px;
  margin-bottom: 15px;
}
.info-box small {
  font-size: 14px;
}
.info-box .progress {
  background: rgba(0, 0, 0, 0.2);
  margin: 5px -10px 5px -10px;
  height: 2px;
}
.info-box .progress,
.info-box .progress .progress-bar {
  border-radius: 0;
}
.info-box .progress .progress-bar {
  background: #fff;
}
.info-box-icon {
  border-top-left-radius: 2px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 2px;
  display: block;
  float: left;
  height: 90px;
  width: 90px;
  text-align: center;
  font-size: 45px;
  line-height: 90px;
  background: rgba(0, 0, 0, 0.2);
}
.info-box-icon > img {
  max-width: 100%;
}
.info-box-content {
  padding: 5px 10px;
  margin-left: 90px;
}
.info-box-number {
  display: block;
  font-weight: bold;
  font-size: 18px;
}
.progress-description,
.info-box-text {
  display: block;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.info-box-text {
  text-transform: uppercase;
}
.info-box-more {
  display: block;
}
.progress-description {
  margin: 0;
}
/*
 * Component: Timeline
 * -------------------
 */
.timeline {
  position: relative;
  margin: 0 0 30px 0;
  padding: 0;
  list-style: none;
}
.timeline:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #ddd;
  left: 31px;
  margin: 0;
  border-radius: 2px;
}
.timeline > li {
  position: relative;
  margin-right: 10px;
  margin-bottom: 15px;
}
.timeline > li:before,
.timeline > li:after {
  content: " ";
  display: table;
}
.timeline > li:after {
  clear: both;
}
.timeline > li:before,
.timeline > li:after {
  content: " ";
  display: table;
}
.timeline > li:after {
  clear: both;
}
.timeline > li > .timeline-item {
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  margin-top: 0;
  background: #fff;
  color: #444;
  margin-left: 60px;
  margin-right: 15px;
  padding: 0;
  position: relative;
}
.timeline > li > .timeline-item > .time {
  color: #999;
  float: right;
  padding: 10px;
  font-size: 12px;
}
.timeline > li > .timeline-item > .timeline-header {
  margin: 0;
  color: #555;
  border-bottom: 1px solid #f4f4f4;
  padding: 10px;
  font-size: 16px;
  line-height: 1.1;
}
.timeline > li > .timeline-item > .timeline-header > a {
  font-weight: 600;
}
.timeline > li > .timeline-item > .timeline-body,
.timeline > li > .timeline-item > .timeline-footer {
  padding: 10px;
}
.timeline > li > .fa,
.timeline > li > .glyphicon,
.timeline > li > .ion {
  width: 30px;
  height: 30px;
  font-size: 15px;
  line-height: 30px;
  position: absolute;
  color: #666;
  background: #d2d6de;
  border-radius: 50%;
  text-align: center;
  left: 18px;
  top: 0;
}
.timeline > .time-label > span {
  font-weight: 600;
  padding: 5px;
  display: inline-block;
  background-color: #fff;
  border-radius: 4px;
}
.timeline-inverse > li > .timeline-item {
  background: #f0f0f0;
  border: 1px solid #ddd;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.timeline-inverse > li > .timeline-item > .timeline-header {
  border-bottom-color: #ddd;
}

/* Datetpicker 日曜日 */
.datepicker-days th.dow:first-child, .datepicker-days td:first-child {
	color: #ff0000;
}

/* Datetpicker 土曜日 */
.datepicker-days th.dow:last-child, .datepicker-days td:last-child {
	color: #0000ff;
}
/* Datetpicker 休業日 */
.bootstrap-datetimepicker-widget table td.closedday {
	background: #cccccc;
}
/* Datetpicker 祝日 */
.bootstrap-datetimepicker-widget table td.holiday {
	color: #ff0000;
}

/* Datetpicker range 日曜日 */
.drp-calendar th.dow:first-child, .drp-calendar td:first-child {
	color: #ff0000;
}

/* Datetpicker range 土曜日 */
.drp-calendar th.dow:last-child, .drp-calendar td:last-child {
	color: #0000ff;
}
/* Datetpicker range 休業日 */
.drp-calendar table td.closedday {
	background: #cccccc;
}
/* Datetpicker range 祝日 */
.drp-calendar table td.holiday {
	color: #ff0000;
}

.shelf-boxes {
	padding: 0;
	padding-right: 10px;
	margin-bottom: 20px;
	min-height: 250px;
}
.shelf-box {
	position: relative;
}
.shelf-box .shelf-cover {
	display: block;
	width: 100%;
   	aspect-ratio: 1280 / 720;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 500;
}
.shelf-thum {
	position: relative;
}
.shelf-thum img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
    height: 100%;
    aspect-ratio: 1280 / 720;
}
.shelf-thum iframe {
	width: 100%;
    height: 100%;
    aspect-ratio: 1280 / 720;
}
/* videoがcoverだとうまくいかない。。 */
.shelf-thum video {
	object-fit: fill;
	object-position: center center;
	width: 100%;
    height: 100%;
    aspect-ratio: 1280 / 720;
}
.shelf-thum img.shelf-attachment {
	object-fit: contain;
	padding: 10px;
}

.shelf-description {
	word-wrap: break-word;
}
.shelf-description .date {
	color: #999;
	margin-bottom: 0;
	font-size: 90%;
}
.shelf-description .title {
	font-size: 80%;
}
.comming-soon-opacity {
	position: absolute;
	top: 0;
	left: 0;
}
.comming-soon-p {
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	text-align:center;
	font-size: 30px;
	width:100%;
	color: white;
	font-family: M PLUS 1p;
}
.comming-soon-public-day {
	font-size:18px;
}
@media (max-width: 991px) {
	.shelf-boxes {
		min-height: 255px;
	}
	.shelf-box .shelf-cover {
	}
	.shelf-thum {
	}
	.breadcrumb-margin {
		margin-top: 240px;
	}
	.shelf-nav-pc {
		display:none;
	}
	.shelf-nav-sp {
		display:block;
	}
    .shelf-nav-sp-li:before {
      content: "";
      display: block;
    }
    #cboxLoadedContent .iframe_movie {
/*
	height: 200px !important;
	  width:330px !important;
*/
	width:100%;
	height:100%;
	}
    #cboxLoadedContent .iframe_movie.youtube_movie {
/*
	height: 200px !important;
	  width:330px !important;
*/
	width: 95%;
	height: auto;
   	aspect-ratio: 1280 / 720;
	}

}
@media (min-width: 992px) {
	.shelf-boxes {
		min-height: 230px;
	}
	.shelf-box .shelf-cover {
	}
	.shelf-thum {
	}
	.shelf-nav-pc {
		display:block;
	}
	.shelf-nav-sp {
		display:none;
	}
}
@media (max-width: 414px) {
	.shelf-boxes {
		width:100%;
		height: auto;
	}
}

@media (max-width: 335px) {
	.shelf-boxes {
		min-height: 200px;
	}
	.shelf-box .shelf-cover {
	}
	.shelf-thum {
	}
	.breadcrumb-margin {
		margin-top: 240px;
	}
	.shelf-nav-pc {
		display:none;
	}
	.shelf-nav-sp {
		display:block;
	}
    .shelf-nav-sp-li:before {
      content: "";
      display: block;
    }
    .iframe_movie {
/*
	height: 155px !important;
	  width:auto !important;
*/
	width:100%;
	height:100%;
	}
    .iframe_movie.youtube_movie {
/*
	height: 155px !important;
	  width:auto !important;
*/
	width: 95%;
	height: auto;
   	aspect-ratio: 1280 / 720;
	}
}

/* SNSボタン */
.sns-detail{display:block;margin:0 0 1em 0;text-align: right; margin-right: 10px;}
.sns-detail a{display:inline-block;width:2.5em;overflow:hidden;line-height:2.5;color:#fff;flex-basis:2.5em;white-space:nowrap;transition:0.3s;}
.sns-detail a i{display:inline-block;width:2.5em;height:2.5em;line-height:2.5em;text-align:center;vertical-align:top;}
.sns-detail a i:before{margin:0 0 0 0;}
.sns-detail a:hover{flex-basis:150px;}
.sns-detail .btn-fb{background:#365899;}
.sns-detail .btn-tw{background:#1b95e0;}
.sns-detail .btn-po{background:#EF4056;}
.sns-detail .btn-hb{background:#008fde;}
.sns-detail .btn-gp{background:#DB4437;}
.sns-detail .btn-li{background:#00B900;}
.sns-detail .btn-fd{background:#2BB24C;}
.sns-detail .btn-bl{background:#333333;}
.sns-detail .btn-cp{background:#7A7C7D;}
.sns-detail-mypage{margin: -3em 10px 0 0;}
@media (max-width: 991px) {
	.sns-detail{margin-top: -30px; margin-bottom: 0;}
	.sns-detail-mypage{margin: -30px 10px 1em 0;}
}
@media (min-width: 992px) {
	.sns-detail{}
}

.sns-list{display:-webkit-flex;display:block;margin:0 0 1em 0;text-align: right; margin-right: 10px;}
.sns-list a{display:inline-block;width:2.5em;overflow:hidden;line-height:2.5;color:#fff;flex-basis:2.5em;white-space:nowrap;transition:0.3s;}
.sns-list a i{display:inline-block;width:2.5em;height:2.5em;line-height:2.5em;text-align:center;vertical-align:top;}
.sns-list a i:before{margin:0 0 0 0;}
.sns-list a:hover{flex-basis:150px;}
.sns-list .btn-fb{background:#365899;}
.sns-list .btn-tw{background:#1b95e0;}
.sns-list .btn-po{background:#EF4056;}
.sns-list .btn-hb{background:#008fde;}
.sns-list .btn-gp{background:#DB4437;}
.sns-list .btn-li{background:#00B900;}
.sns-list .btn-fd{background:#2BB24C;}
.sns-list .btn-bl{background:#333333;}
.sns-list .btn-cp{background:#7A7C7D;}

/* SHOP STEP */

.cd-breadcrumb-nav {
	text-align: center;
	margin-bottom: 20px;
}
/* --------------------------------

Basic Style

-------------------------------- */
.cd-breadcrumb, .cd-multi-steps {
	padding: 0 1em 0.5em 1em;
	margin: 0 auto 1em auto;
	background-color: #edeff0;
	border-radius: .25em;
}

.cd-breadcrumb:after, .cd-multi-steps:after {
	content: "";
	display: table;
	clear: both;
}

.cd-breadcrumb li, .cd-multi-steps li {
	display: inline-block;
	float: left;
	margin: 0.5em 0;
}

.cd-breadcrumb li::after, .cd-multi-steps li::after {
	/* this is the separator between items */
	display: inline-block;
	content: '\00bb';
	margin: 0 .6em;
	color: #959fa5;
}

.cd-breadcrumb li:last-of-type::after, .cd-multi-steps li:last-of-type::after
	{
	/* hide separator after the last item */
	display: none;
}

.cd-breadcrumb li>*, .cd-multi-steps li>* {
	/* single step */
	display: inline-block;
	font-size: 12px;
	color: #2c3f4c;
}

.cd-breadcrumb li.current>*, .cd-multi-steps li.current>* {
	/* selected step */
	color: #337ab7;
}

.no-touch .cd-breadcrumb a:hover, .no-touch .cd-multi-steps a:hover {
	/* steps already visited */
	color: #337ab7;
}

.cd-breadcrumb.custom-separator li::after, .cd-multi-steps.custom-separator li::after
	{
	/* replace the default arrow separator with a custom icon */
	content: '';
	height: 16px;
	width: 16px;
	background: url(../img/cd-custom-separator.svg) no-repeat center center;
	vertical-align: middle;
}

.cd-breadcrumb.custom-icons li>*::before, .cd-multi-steps.custom-icons li>*::before
	{
	/* add a custom icon before each item */
	content: '';
	display: inline-block;
	height: 20px;
	width: 20px;
	margin-right: .4em;
	margin-top: -2px;
	background: url(../img/cd-custom-icons-01.svg) no-repeat 0 0;
	vertical-align: middle;
}

.cd-breadcrumb.custom-icons li:not (.current ):nth-of-type(2)>*::before,
	.cd-multi-steps.custom-icons li:not (.current ):nth-of-type(2)>*::before
	{
	/* change custom icon using image sprites */
	background-position: -20px 0;
}

.cd-breadcrumb.custom-icons li:not (.current ):nth-of-type(3)>*::before,
	.cd-multi-steps.custom-icons li:not (.current ):nth-of-type(3)>*::before
	{
	background-position: -40px 0;
}

.cd-breadcrumb.custom-icons li:not (.current ):nth-of-type(4)>*::before,
	.cd-multi-steps.custom-icons li:not (.current ):nth-of-type(4)>*::before
	{
	background-position: -60px 0;
}

.cd-breadcrumb.custom-icons li.current:first-of-type>*::before,
	.cd-multi-steps.custom-icons li.current:first-of-type>*::before {
	/* change custom icon for the current item */
	background-position: 0 -20px;
}

.cd-breadcrumb.custom-icons li.current:nth-of-type(2)>*::before,
	.cd-multi-steps.custom-icons li.current:nth-of-type(2)>*::before {
	background-position: -20px -20px;
}

.cd-breadcrumb.custom-icons li.current:nth-of-type(3)>*::before,
	.cd-multi-steps.custom-icons li.current:nth-of-type(3)>*::before {
	background-position: -40px -20px;
}

.cd-breadcrumb.custom-icons li.current:nth-of-type(4)>*::before,
	.cd-multi-steps.custom-icons li.current:nth-of-type(4)>*::before {
	background-position: -60px -20px;
}

@media only screen and (min-width: 768px) {
	.cd-breadcrumb, .cd-multi-steps {
		padding: 0 1.2em;
	}
	.cd-breadcrumb li, .cd-multi-steps li {
		margin: 1.2em 0;
	}
	.cd-breadcrumb li::after, .cd-multi-steps li::after {
		margin: 0 1em;
	}
	.cd-breadcrumb li>*, .cd-multi-steps li>* {
		font-size: 12px;
	}
}

/* --------------------------------

Triangle breadcrumb

-------------------------------- */
@media only screen and (min-width: 768px) {
	.cd-breadcrumb.triangle {
		/* reset basic style */
		background-color: transparent;
		padding: 0;
		display: inline-block;
	}
	.cd-breadcrumb.triangle li {
		position: relative;
		padding: 0;
		margin: 4px 4px 4px 0;
	}
	.cd-breadcrumb.triangle li:last-of-type {
		margin-right: 0;
	}
	.cd-breadcrumb.triangle li>* {
		position: relative;
		padding: 1em .8em 1em 2.5em;
		color: #2c3f4c;
		background-color: #edeff0;
		/* the border color is used to style its ::after pseudo-element */
		border-color: #edeff0;
	}
	.cd-breadcrumb.triangle li.current>* {
		/* selected step */
		color: #ffffff;
		background-color: #337ab7;
		border-color: #337ab7;
	}
	.cd-breadcrumb.triangle li:first-of-type>* {
		padding-left: 1.6em;
		border-radius: .25em 0 0 .25em;
	}
	.cd-breadcrumb.triangle li:last-of-type>* {
		padding-right: 1.6em;
		border-radius: 0 .25em .25em 0;
	}
	.no-touch .cd-breadcrumb.triangle a:hover {
		/* steps already visited */
		color: #ffffff;
		background-color: #2c3f4c;
		border-color: #2c3f4c;
	}
	.cd-breadcrumb.triangle li::after, .cd-breadcrumb.triangle li>*::after {
		/*
    	li > *::after is the colored triangle after each item
    	li::after is the white separator between two items
    */
		content: '';
		position: absolute;
		top: 0;
		left: 100%;
		content: '';
		height: 0;
		width: 0;
		/* 48px is the height of the <a> element */
		border: 24px solid transparent;
		border-right-width: 0;
		border-left-width: 20px;
	}
	.cd-breadcrumb.triangle li::after {
		/* this is the white separator between two items */
		z-index: 1;
		-webkit-transform: translateX(4px);
		-moz-transform: translateX(4px);
		-ms-transform: translateX(4px);
		-o-transform: translateX(4px);
		transform: translateX(4px);
		border-left-color: #ffffff;
		/* reset style */
		margin: 0;
	}
	.cd-breadcrumb.triangle li>*::after {
		/* this is the colored triangle after each element */
		z-index: 2;
		border-left-color: inherit;
	}
	.cd-breadcrumb.triangle li:last-of-type::after, .cd-breadcrumb.triangle li:last-of-type>*::after
		{
		/* hide the triangle after the last step */
		display: none;
	}
	.cd-breadcrumb.triangle.custom-separator li::after {
		/* reset style */
		background-image: none;
	}
	.cd-breadcrumb.triangle.custom-icons li::after, .cd-breadcrumb.triangle.custom-icons li>*::after
		{
		/* 50px is the height of the <a> element */
		border-top-width: 25px;
		border-bottom-width: 25px;
	}
	@
	-moz-document url-prefix () { .cd-breadcrumb .triangle li: :after,
		.cd-breadcrumb.triangleli > *::after {
      /* fix a bug on Firefix - tooth edge on css triangle */
      border-left-style : dashed;

	}
}

}
/* --------------------------------

Custom icons hover effects - breadcrumb and multi-steps

-------------------------------- */
@media only screen and (min-width: 768px) {
	.no-touch .cd-breadcrumb.triangle.custom-icons li:first-of-type a:hover::before,
		.cd-breadcrumb.triangle.custom-icons li.current:first-of-type em::before,
		.no-touch .cd-multi-steps.text-center.custom-icons li:first-of-type a:hover::before,
		.cd-multi-steps.text-center.custom-icons li.current:first-of-type em::before
		{
		/* change custom icon using image sprites - hover effect or current item */
		background-position: 0 -40px;
	}
	.no-touch .cd-breadcrumb.triangle.custom-icons li:nth-of-type(2) a:hover::before,
		.cd-breadcrumb.triangle.custom-icons li.current:nth-of-type(2) em::before,
		.no-touch .cd-multi-steps.text-center.custom-icons li:nth-of-type(2) a:hover::before,
		.cd-multi-steps.text-center.custom-icons li.current:nth-of-type(2) em::before
		{
		background-position: -20px -40px;
	}
	.no-touch .cd-breadcrumb.triangle.custom-icons li:nth-of-type(3) a:hover::before,
		.cd-breadcrumb.triangle.custom-icons li.current:nth-of-type(3) em::before,
		.no-touch .cd-multi-steps.text-center.custom-icons li:nth-of-type(3) a:hover::before,
		.cd-multi-steps.text-center.custom-icons li.current:nth-of-type(3) em::before
		{
		background-position: -40px -40px;
	}
	.no-touch .cd-breadcrumb.triangle.custom-icons li:nth-of-type(4) a:hover::before,
		.cd-breadcrumb.triangle.custom-icons li.current:nth-of-type(4) em::before,
		.no-touch .cd-multi-steps.text-center.custom-icons li:nth-of-type(4) a:hover::before,
		.cd-multi-steps.text-center.custom-icons li.current:nth-of-type(4) em::before
		{
		background-position: -60px -40px;
	}
}

/* SHOP関連 */
.font-lg {
	font-size: 150%;
}
.cart-badge {
	background: red;
	font-size: 70%;
	margin-top: -5px;
	margin-right: 5px;
}

/*
.shop-page .breadcrumb {
	margin-top: 20px;
}
*/
.shop-page .portfolio-item .card span {
	position: relative;
	top: 0;
	right: 0;
}
/*
.shop-page .product-image {
	text-align: center;
}
*/
.shop-page img#main-image {
	width: 100%;
}
@media (min-width: 768px) {
	.shop-page img#main-image {
		max-width: 700px;
	}
}
.shop-page ul.sub-image {
	margin-top: 20px;
	list-style: none;
	width: 100%;
}
.shop-page ul.sub-image li {
	display: inline-block;
}
.shop-page ul.sub-image li.active {
	border: solid 2px #0000ee;
}
.shop-page ul.sub-image li img {
	width: 80px;
}
.fc-content .fc-time ,
.fc-content .fc-title {
	font-weight: normal !important;
	font-size: 0.95em !important;
}
.fc-more-popover .fc-content {
	white-space: normal !important;
}
/* iPhone SE */
@media (max-width: 320px) {
	.shop-page ul.sub-image li img {
		width: 60px;
	}

	div.fc-toolbar .btn {
		font-size: 0.85em;
	}
	th.fc-day-header {
		font-weight: normal;
		font-size: 12px;
	}
	div.jconfirm-buttons .btn {
		font-size: 0.85em !important;
	}
	.fc-content .fc-time ,
	.fc-content .fc-title {
		font-weight: normal !important;
		font-size: 0.65em !important;
	}
}
/* iPhone SE */
@media (max-width: 375px) {
	.fc-more {
		white-space: nowrap !important;
		font-weight: normal !important;
		font-size: 0.65em !important;
	}
}
/* md */
@media (min-width: 768px) and (max-width: 991px) {
	.shop-page ul.sub-image li img {
		width: 50px;
	}
}
/* lg */
@media (min-width: 992px) {
	.fc-content {
		white-space: normal !important;
	}
}
.shop-page .product-name {
	color: #525263;
	font-size: 32px;
}
@media (max-width: 767px) {
	.shop-page .product-name {
		margin-top: 30px;
	}
}
.shop-page .product-detail {
}
.shop-page .product-price {
	color: #bf0000;
	margin-left: 10px;
	font-size: 28px;
}
.shop-page .product-tax {
	font-size: 16px;
	margin-left: 10px;
}
.shop-page ul.product-category {
	list-style: none;
	padding-left: 5px;
}
.shop-page ul.product-standard {
	list-style: none;
	padding-left: 5px;
}
.shop-page ul.product-standard li {
	display: inline-block;
	border: solid 1px #d2d6de;
	padding: 5px 10px;
	margin-right: 5px;
	color: #000;
}
.shop-page ul.product-standard li.active {
	border: solid 2px #0000ee;
}
.shop-page ul.product-standard li a {
	text-decoration: none;
	color: #000;
}
.shop-page .product-amount {
	margin-left: 10px;
}
.shop-page  .product-amount select {
	padding: 5px;
}
.shop-page .product-btn-area {
	margin-top: 10px;
}
.shop-page .product-btn-area .btn {
	width: 300px;
	line-height: 2;
}
.shop-page .product-btn-area .disabled {
	cursor: not-allowed;
	pointer-events: auto;
}

@media screen and (max-width: 767px) {
	.shop-page .product-btn-area button {
		margin-top: 5px;
	}
}

/* カート */
.cart-page .cart-table {
	display: table;
	width: 100%;
}
.cart-page ul.cart-header {
	display: table-row;
}
.cart-page ul.cart-header li {
	display: table-cell;
	background: #f5f5f5;
	padding: 10px 15px;
}
.cart-page ul.cart-row {
	display: table-row;
}
.cart-page ul.cart-row li {
	display: table-cell;
	padding: 5px 5px;
	border-bottom: 1px dotted #ccc;
	vertical-align: middle;
}
.cart-page ul.cart-row li.cart-column-del {
	width: 6%;
	text-align: center;
	min-width: 65px;
}
.cart-page ul.cart-row li.cart-column-product {
	width: 64%;
}
.cart-page ul.cart-row li.cart-column-arrangedel+.cart-column-product {/* アレンジボタン表示時のclass */
	width: 50%;
}
.cart-page ul.cart-row li.cart-column-arrange {
	width: 14%;
}
.cart-page ul.cart-row li.cart-column-amount {
	width: 20%;
}
.cart-page ul.cart-row li.cart-column-subtotal {
	width: 10%;
	text-align: right;
	padding-right: 20px;
}
.cart-page ul.cart-row li.cart-column-product .product-image {
	display: inline-block;
	max-width: 100px;
	width: 50%;
}
.cart-page ul.cart-row li.cart-column-product .product-image .main-image {
	width: 100%;
}
.cart-page ul.cart-row li.cart-column-product .product-summary {
	display: inline-block;
	width: calc(100% - 105px);
	vertical-align: middle;
}
.cart-page ul.cart-row li.cart-column-product .product-summary .product-name {
}
.cart-page ul.cart-row li.cart-column-product .product-summary .product-standard-name {
}
.cart-page ul.cart-row li.cart-column-product .product-summary .product-unit-price {
	font-weight: bold;
}
.product-relattion .product-name {
	font-size:14px;
}
.product-relattion .product-unit-price {
	font-size:14px;
	font-weight: bold;
}
.relation-title {
	margin-top:180px;
	font-size:15px;
	font-weight: bold;
}

@media (max-width: 1020px) {
	.product-relattion-width {
		width:50%;
		height: auto;
	}
}
.cart-page ul.cart-row li.cart-column-product .product-summary .product-subtotal {
}

.cart-page ul.cart-row li.cart-column-amount select {
	padding: 5px;
}
.cart-page .cart-postage-free {
	float: right;
	margin-top: 10px;
}
.cart-page .cart-total {
	float: right;
	margin-top: 10px;
	font-size: 20px;
	font-weight: bold;
}
.cart-page .cart-total .cart-total-price {
	color: #bf0000;
	font-size: 28px;
}
.cart-page .cart-button-area {
	float: right;
	margin-top: 10px;

}

@media screen and (max-width: 991px) {
	.cart-page ul.cart-row li.cart-column-arrangedel+.cart-column-product {/* アレンジボタン表示時のclass */
		width: 64%;
	}
}

/* SHOPログイン */
.shop-login-page .shop-panel-headline {
	border-bottom: 1px solid #337ab7;
	border-left: 10px solid #337ab7;
	text-align: left;
	background-color: #f4f4f4;
	color: #000;
	padding: 2px 2px 2px 15px;
	font-size: 120%;
	margin-bottom: 15px;
}
.shop-login-page .shop-panel-body {
	margin-left: 15px;
}
.shop-login-page .login-panel {
	max-width: 400px;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
}
.shop-login-page .login-panel .subtext {
	margin-top: 10px;
}
.shop-login-page .button-area {
	text-align: center;
	margin-top: 15px;
	margin-bottom: 15px;
}
.shop-login-page input[type=submit] {
	width: 200px;
	height: 50px;
}
.shop-login-page input[type=button] {
	width: 200px;
	height: 50px;
}

/* 注文入力画面 */
.shop-order-page .shop-panel {
	margin-bottom: 10px;
	margin-left: 10px;
}
.shop-order-page .shop-panel p {
	margin-top: 0;
	margin-bottom: 0;
}
.shop-order-page .shop-panel .payment .panel-collapse p {
	margin: 0 0 10px;
}
.shop-order-page .shop-panel-headline {
	border-bottom: 1px solid #337ab7;
	border-left: 10px solid #337ab7;
	text-align: left;
	background-color: #f4f4f4;
	color: #000;
	padding: 2px 2px 2px 15px;
	font-size: 120%;
	margin-bottom: 15px;
	margin-left: -10px;
}
.shop-order-page .shop-panel .shop-panel-button {
	float: right;
}
.shop-order-page .shop-panel textarea.remarks {
	width: 100%;
}
.shop-order-page .shop-panel ul.cart-row {
	list-style: none;
	padding-left: 0;
}
.shop-order-page .shop-panel ul.cart-row li {
	padding: 5px 5px;
	border-bottom: 1px dotted #ccc;
	display: table;
	width: 100%;
}
.shop-order-page .shop-panel ul.cart-row li:last-child {
	border-bottom: none;
}
.shop-order-page .shop-panel ul.cart-row li .product-image {
	vertical-align: middle;
	display: table-cell;
	width: 20%;
}
.shop-order-page .shop-panel ul.cart-row li .product-summary {
	vertical-align: middle;
	display: table-cell;
}
.shop-order-page .shop-panel ul.cart-row li .product-image .main-image {
	width: 100%;
	max-width: 100px;
}
.shop-order-page .shop-panel ul.cart-row li .product-summary .product-name {
}
.shop-order-page .shop-panel ul.cart-row li .product-summary .product-standard-name {
}
.shop-order-page .shop-panel ul.cart-row li .product-summary .product-unit-price {
}
.shop-order-page .shop-panel ul.cart-row li .product-summary .product-subtotal {
	font-weight: bold;
	color: #bf0000;
	font-size: 110%;
}

.shop-order-page .shop-panel-price {
	background-color: #f4f4f4;
	padding: 10px 5px 10px 5px;
}
.shop-order-page .shop-panel-price ul {
	list-style: none;
	padding-left: 0;
}
.shop-order-page .shop-panel-price ul li {
	padding: 5px 5px;
	display: table;
	width: 100%;
}
.shop-order-page .shop-panel-price ul li div {
	display: table-cell;
}
.shop-order-page .shop-panel-price ul li div:first-child {
	text-align: left;
}
.shop-order-page .shop-panel-price ul li div:last-child {
	text-align: right;
}
.shop-order-page .shop-panel-price ul li:last-child {
	border-top: 1px dotted #ccc;
}
.shop-order-page .shop-panel-price .total-price {
	color: #bf0000;
	margin-left: 10px;
	font-size: 24px;
}
.shop-order-page .shop-panel-price .total-tax {
	font-size: 14px;
	margin-left: 10px;
}
.shop-order-page .shop-button-area {
	text-align: center;
}

@media screen and (max-width: 767px) {
	.shop-order-page .shop-button-area button {
		margin-top: 5px;
		width: 100%;
	}
}

/* ヒヤリングシート画面 */
.shop-hearing-page .shop-panel {
	margin-bottom: 10px;
	margin-left: 10px;
}
.shop-hearing-page .shop-panel p {
	margin-top: 0;
	margin-bottom: 0;
}
.shop-hearing-page .shop-panel .payment .panel-collapse p {
	margin: 0 0 10px;
}
.shop-hearing-page .shop-panel-headline {
	border-bottom: 1px solid #337ab7;
	border-left: 10px solid #337ab7;
	text-align: left;
	background-color: #f4f4f4;
	color: #000;
	padding: 2px 2px 2px 15px;
	font-size: 120%;
	margin-bottom: 15px;
	margin-left: -10px;
}
.shop-hearing-page .shop-panel .shop-panel-button {
	float: right;
}
.shop-hearing-page .shop-panel textarea.remarks {
	width: 100%;
}
.shop-hearing-page .shop-panel ul.cart-row {
	list-style: none;
	padding-left: 0;
}
.shop-hearing-page .shop-panel ul.cart-row li {
	padding: 5px 5px;
	border-bottom: 1px dotted #ccc;
	display: table;
	width: 100%;
}
.shop-hearing-page .shop-panel ul.cart-row li:last-child {
	border-bottom: none;
}
.shop-hearing-page .shop-panel ul.cart-row li .product-image {
	vertical-align: middle;
	display: table-cell;
	width: 20%;
}
.shop-hearing-page .shop-panel ul.cart-row li .product-summary {
	vertical-align: middle;
	display: table-cell;
}
.shop-hearing-page .shop-panel ul.cart-row li .product-image .main-image {
	width: 100%;
	max-width: 100px;
}
.shop-hearing-page .shop-panel ul.cart-row li .product-summary .product-name {
}
.shop-hearing-page .shop-panel ul.cart-row li .product-summary .product-standard-name {
}
.shop-hearing-page .shop-panel ul.cart-row li .product-summary .product-unit-price {
}
.shop-hearing-page .shop-panel ul.cart-row li .product-summary .product-subtotal {
	font-weight: bold;
	color: #bf0000;
	font-size: 110%;
}

.shop-hearing-page .shop-panel-price {
	background-color: #f4f4f4;
	padding: 10px 5px 10px 5px;
}
.shop-hearing-page .shop-panel-price ul {
	list-style: none;
	padding-left: 0;
}
.shop-hearing-page .shop-panel-price ul li {
	padding: 5px 5px;
	display: table;
	width: 100%;
}
.shop-hearing-page .shop-panel-price ul li div {
	display: table-cell;
}
.shop-hearing-page .shop-panel-price ul li div:first-child {
	text-align: left;
}
.shop-hearing-page .shop-panel-price ul li div:last-child {
	text-align: right;
}
.shop-hearing-page .shop-panel-price ul li:last-child {
	border-top: 1px dotted #ccc;
}
.shop-hearing-page .shop-panel-price .total-price {
	color: #bf0000;
	margin-left: 10px;
	font-size: 24px;
}
.shop-hearing-page .shop-panel-price .subtotal-title {
	padding-right: 25px;
}
.shop-hearing-page .shop-panel-price .subtotal-price {
	color: #bf0000;
}
.shop-hearing-page .shop-panel-price .row-title {
	padding-left: 20px;
	font-size: 11px;
}
.shop-hearing-page .shop-panel-price .row-price {
}
.shop-hearing-page .shop-panel-price .total-tax {
	font-size: 14px;
	margin-left: 10px;
}
.shop-hearing-page .shop-button-area {
	text-align: center;
}

@media screen and (max-width: 767px) {
	.shop-hearing-page .shop-button-area button {
		margin-top: 5px;
		width: 100%;
	}
}

/* お届け先変更画面 */
.shop-shipping-page .shipping-panel {
	margin-left: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
}
.shop-shipping-page .shipping-panel p {
	margin-top: 0;
	margin-bottom: 0;
}

.display-block {
	display: block;
}

.tree_span_1 {
	display:inline-block;
	word-break: break-all;
	width: 75%;
}

.tree_span_2 {
	display:inline-block;
	word-break: break-all;
	width: 65%;
}

.tree_span_3 {
	display:inline-block;
	word-break: break-all;
	width: 55%;
}

.tree_span_4 {
	display:inline-block;
	word-break: break-all;
	width: 45%;
}

.tree_span_5 {
	display:inline-block;
	word-break: break-all;
	width: 35%;
}
span.expand-icon {
    vertical-align: top;
}

@media screen and (max-width: 767px) {
	.tree_span_1 {
		display:inline-block;
		word-break: break-all;
		width: 80%;
	}

	.tree_span_2 {
		display:inline-block;
		word-break: break-all;
		width: 70%;
	}

	.tree_span_3 {
		display:inline-block;
		word-break: break-all;
		width: 70%;
	}

	.tree_span_4 {
		display:inline-block;
		word-break: break-all;
		width: 65%;
	}

	.tree_span_5 {
		display:inline-block;
		word-break: break-all;
		width: 60%;
	}
	span.expand-icon {
	    vertical-align: top;
	}
}


/* ヘルプツールチップ */
.help-tooltip {
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	-ms-border-radius: 100%;
	-o-border-radius: 100%;
	border-radius: 100%;
	background: #aaa;
	display: inline-block;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
	padding: 4px 7px;
	text-decoration: none;
	margin-left: 5px;
}
.help-tooltip:hover {
	text-decoration: none;
	background: #3c8dbc;
	color: #fff;
}
.help-tooltip:focus {
	text-decoration: none;
	background: #3c8dbc;
	color: #fff;
}
div.tooltip {
	font-size: 12px;
}
div.tooltip .tooltip-inner {
	background: #3c8dbc;
	text-align: left;
}
div.tooltip.right .tooltip-arrow {
	border-right-color: #3c8dbc;
}
div.tooltip.left .tooltip-arrow {
	border-left-color: #3c8dbc;
}
div.tooltip.bottom .tooltip-arrow {
	border-bottom-color: #3c8dbc;
}
div.tooltip.top .tooltip-arrow {
	border-top-color: #3c8dbc;
}

/* スクールのカレンダーIFRAME */
.iframe-calendar {
	width: 100%;
	overflow: hidden;
}

.table-nowrap > thead > tr > th,
.table-nowrap > tbody > tr > th,
.table-nowrap > tfoot > tr > th,
.table-nowrap > thead > tr > td,
.table-nowrap > tbody > tr > td,
.table-nowrap > tfoot > tr > td {
  white-space: nowrap;
}

label.icon-input {
	margin-top: 2px;
	margin-bottom: 3px;
}

/* カスタマイズしたラジオボタン */
label>.icon-radio-input {
	opacity: 0;
}

label>.icon-radio-icon {
	cursor: pointer;
}

label>.icon-radio-input~.icon-radio-icon::before {
	content: "\f3a6";
	font-family: "Ionicons";
	color: #696969;
	font-size: 18px;
	display:inline-block;
	width: 24px;
	font-weight: bold;
}
.quantity label>.icon-radio-input~.icon-radio-icon::before {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	-moz-transform: translateY(-50%) translateX(-50%);
	-ms-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}

label>.icon-radio-input:focus~.icon-radio-icon::before {
	color: #66afe9;
}

label>.icon-radio-input:checked~.icon-radio-icon::before {
	content: "\f3a7";
}

label>.icon-radio-input:disabled~.icon-radio-icon {
	cursor: not-allowed;
}

label>.icon-radio-input:disabled~.icon-radio-icon::before {
	content: "\f2d7";
	color: #ccc;
	padding-left: 1.5px;
	cursor: not-allowed;
}
.quantity label>.icon-radio-input:disabled~.icon-radio-icon::before {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	-moz-transform: translateY(-50%) translateX(-50%);
	-ms-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}
label>.icon-radio-input:disabled:checked~.icon-radio-icon::before {
	content: "\f3a7";
	color: #ccc;
	padding-left: 0px;
	cursor: not-allowed;
}

/* カスタマイズしたチェックボックス */
label>.icon-checkbox-input {
	opacity: 0;
	display: none;
}

label>.icon-checkbox-icon {
	cursor: pointer;
}

label>.icon-checkbox-input~.icon-checkbox-icon::before {
	content: "\f372";
	font-family: "Ionicons";
	color: #696969;
	font-size: 17px;
	display:inline-block;
	width: 24px;
	font-weight: bold;
}
.quantity label>.icon-checkbox-input~.icon-checkbox-icon::before {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	-moz-transform: translateY(-50%) translateX(-50%);
	-ms-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}

label>.icon-checkbox-input:focus~.icon-checkbox-icon::before {
	color: #66afe9;
}

label>.icon-checkbox-input:checked~.icon-checkbox-icon::before {
	content: "\f373";
}

label>.icon-checkbox-input:disabled~.icon-checkbox-icon {
	cursor: not-allowed;
}

label>.icon-checkbox-input:disabled~.icon-checkbox-icon::before {
	content: "\f2d7";
	color: #ccc;
	padding-left: 1.5px;
	cursor: not-allowed;
}
.quantity label>.icon-checkbox-input:disabled~.icon-checkbox-icon::before {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	-moz-transform: translateY(-50%) translateX(-50%);
	-ms-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}

label>.icon-checkbox-input:disabled:checked~.icon-checkbox-icon::before {
	content: "\f373";
	color: #ccc;
	padding-left: 0px;
	cursor: not-allowed;
}

.table .table {
    background-color: transparent;
}

.table .table td {
	padding-left: 0;
}

@media screen and (min-width: 768px) {
	#cboxLoadedContent .iframe_movie {
/*
	width: 500px;
		height: 350px;
*/
	width: 100%;
	height: 100%;
	}
	#cboxLoadedContent .iframe_movie.youtube_movie {
/*
	width: 500px;
		height: 350px;
*/
	width: 95%;
	height: auto;
   	aspect-ratio: 1280 / 720;
	}
}

/* タイトル中のバッチ */
h1 .badge {
	min-width: auto;
	border-radius: 18rem;
	padding: .25em .4em;
	font-size: 75%;
}

/* ～370px：非表示  371px～：表示 */
.hide-370px {
}
@media (max-width: 370px) {
	.hide-370px {
		display: none;
	}
}

/* ～370px：表示  371px～：非表示 */
.visible-370px {
}
@media (min-width: 371px) {
	.visible-370px {
		display: none;
	}
}

div.popup-content .indent-startendtime,
ul.kouza-date .indent-startendtime,
table.entry .indent-startendtime {
}
@media (max-width: 300px) {
	/* カレンダーのポップアップ 申込キャンセル、支払方法確認 画面 */
	/* ※インデントをそれぞれ ～300px：表示  301px～：非表示 */
	div.popup-content .indent-startendtime,
	ul.kouza-date .indent-startendtime {
		margin-left: 100px;
	}
}
@media (max-width: 380px) {
	/* 講座申込、イベント申込画面 */
	/* ※インデントをそれぞれ ～380px：非表示  381px～：非表示 */
	table.entry .indent-startendtime {
		margin-left: 0px;
	}
}

.font-emphasis {
	font-size: 17px;
}


/* 取引連絡画面 */
.order-contact .separator {
	margin-top: 5px;
	margin-bottom: 5px;
	text-align: center;
/*
	border-bottom-color: #cccccc;
	border-bottom-style: solid;
	border-bottom-width: thin;
*/
	position: relative;
}

.order-contact .separator span {
	padding: 0px 10px;
	font-size: 11px;
	position: absolute;
	top: -6px;
	left: calc(50% - 37.5px);
	background: #fff;
}

.order-contact .separator hr {
	/* margin: 20px 0px; */
	margin: 0px 0px 20px 0px;
	position: relative;
}
.order-contact .separator hr.separator-noread {
	margin-top: 20px;
}

.order-contact .separator span.separator-date {
	color: #666666;
	font-weight: bold;
}

.order-contact .separator hr.separator-date {
	border-top: 2px solid #cccccc;
}

.order-contact .separator span.separator-noread {
	color: #ff0000;
	font-weight: bold;
}

.order-contact .separator hr.separator-noread {
	border-top: 2px solid #ff0000;
}

.order-contact .media-row {
	/* margin: 0px; */
	padding-top: 15px;
/*
	border-bottom-color: #cccccc;
	border-bottom-style: solid;
	border-bottom-width: thin;
*/
	border-top-color: #cccccc;
	border-top-style: solid;
	border-top-width: thin;
}

.order-contact .media-row-last {
	border-bottom-style: none;
}

.order-contact .media .img-profile {
	height: 30px;
	margin-right: 10px;
}

.order-contact .media .timestamp {
	font-size: 11px;
	white-space: nowrap;
}

.order-contact .media .bg-reading {
	margin-left: 8px;
	margin-right: 8px;
}

.order-contact .media .bg-noreading {
	margin-left: 8px;
	margin-right: 8px;
	background-color: #ff7f7f;
}

.order-contact .fixed-bottom {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1000;
}

.order-contact .panel-post {
	margin: auto;
}

.order-contact .file-list {
	padding: 5px 10px;
}

.order-contact .file-list button:focus {
	outline:0;
}

.order-contact .file {
	margin-right: 10px;
	padding: 6px 0px 8px 10px;
	border-radius: 5px;
}

.order-contact .file-close {
	padding: 6px;
	background-color: transparent;
}

@media ( min-width : 768px) {
	.order-contact .fixed-bottom .panel-post {
		width: 750px;
	}
}

@media ( min-width : 992px) {
	.order-contact .fixed-bottom .panel-post {
		width: 970px;
	}
}

@media ( min-width : 1200px) {
	.order-contact .fixed-bottom .panel-post {
		width: 1170px;
	}
}

.slider{
	margin-top:20px;
}
.slider img{
    height: auto;
    width: 100%;
}
/*slick setting*/
.slick-prev:before, .slick-next:before {
    font-family: 'slick';
    font-size: 40px !important;
    line-height: 1;
    opacity: .75;
    color: black !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-slider {
  margin-left: -40px;
  margin-right: 0px;
}

.slick-prev {
	z-index: 10000;
	left: 55px !important;
	top: 45% !important;
}
.slick-next {
	z-index: 10000;
	right: 55px !important;
	top: 45% !important;
}
.slider-header {
	min-height: 150px !important;
}
.slick-dots {
	width: 90% !important;
}
@media screen and (max-width: 767px) {
	.slick-prev {
		display: none !important;
	}
	.slick-next {
		display: none !important;
	}
	.slider-header {
		margin-top: 0px;
		margin-bottom: 0px;
	}
}

.WelcomeLayer{
  height: 100vh;
  display: none;/*デフォルト非表示*/
  z-index: 2019;
}
.Welcome{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
.Welcome-Logo2{
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}

.badge-warning {
    color: #212529;
    background-color: #ffc107;
    border-radius: 0;
}

.border {
	border: 1px solid #ddd;
}

.tab-cust {
	overflow-x:scroll !important;
	overflow-y:hidden !important;
	-ms-overflow-style: none !important;
	scrollbar-width: none !important;
}
.tab-cust::-webkit-scrollbar {
	display:none !important;
}
.nav-tabs-cust {
	width:100%;
}

.nav-li-cust {
	height:50px;
}

.nav-cust-a {
	color:black !important;
	border-radius: 0 0 0 0 !important;
	margin-right: 0px !important;
	min-width:130px;
	text-align: center;
	vertical-align: middle;
	top:10px;
}
.active .nav-cust-a {
	height:50px;
	padding-top:15px;
	top:0px;
}


@media (max-width: 767px) {
	.nav-cust-a {
		font-size: 12px !important;
		min-width: initial;
		min-width: auto;
	}

	.nav-tabs-cust {
		width:100em;
	}
	.nav-li-cust {
		width:auto !important;
	}
}

img.input-cpmodal {
	display: block;
	cursor: pointer;
}

/* ページ一覧のお知らせ */
.page-list-blog #infoList {

}

.page-list-blog #infoList .infolist {
	display: inline-block;
	list-style: none;
	height: 28px;
	padding: 0 3px;
	font-size: 13px;
	margin-right: .6%;
}

.page-list-blog #infoList .infolist li {
	display: inline;
}

.page-list-blog #infoList .infolist li span.title {
	margin-right: 7px;
}

.page-list-blog #infoList .infolist li span.time {
	margin-right: 7px;
}

.list-group-cust-item {
    padding: 5px 15px;
    border-top: none;
    border-bottom: none;
}

.list-group-unbordered > .list-group-item {
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
}

/* iphone 5/se でvimeoのcolorboxがうまく表示されない */
@media screen and (max-width: 320px) {
	#cboxLoadedContent .iframe_movie {
		width:100%;
		height:100%;
	}
	#cboxLoadedContent .iframe_movie.youtube_movie {
		width: 95%;
		height: auto;
   		aspect-ratio: 1280 / 720;
	}
}

.fc-today {
    background-color: white !important;
}

.fc-time-grid-event .fc-content {
    font-size: 19px !important;
}

.genericon-close:before {
    content: "\f405";
}


.space-empty {
	background-color: rgba(250, 237, 229) !important;
    border-color: rgba(250, 237, 229) !important;
    color: rgb(255, 153, 102) !important;
}

.space-empty:hover {
	background-color: rgb(255, 153, 102) !important;
    border-color: rgb(255, 153, 102) !important;
    color: white !important;
}

.space-on {
	background-color: rgb(255, 153, 102) !important;
    border-color: rgb(255, 153, 102) !important;
    color: white !important;
}

.space-full {
	background-color: #f6f6f6 !important;
    border-color: #f6f6f6 !important;
    color: #dddddd !important;
}

.space-reserve {
	background-color: #00a65a !important;
    border-color: #008d4c !important;
    color: #fff !important;
}

.space-before-receipt {
	background-color: #5DBFB9 !important;
    border-color: #5DBFB9 !important;
    color: #ffffff !important;
}

.space-calendar-bold {
   text-shadow:
    0.5px 0.5px 0,
    0.5px -0.5px 0px,
    -0.5px 0.5px 0,
    -0.5px -0.5px 0px,
    0.5px 0px 0px,
    0px 0.5px 0px,
    -0.5px 0px 0px,
    0px -0.5px 0px;
}


.pc {
  display: block;
}
.sp {
  display: none;
}
.wrap {
  max-width: 1140px;
  margin: 0 auto;
  /* padding: 0 20px; */
}

@media screen and (max-width:1366px) {
  .wrap {
    width: 100%;
  }
}
@media screen and (max-width:559px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .wrap {
    padding: 0 35px;
  }
}
@media screen and (max-width:320px) {
  .wrap {
    padding: 0 30px;
  }
}

/*---------------------
      navigation
---------------------*/
.navigation {
  margin-top: 20px;
}
.navigation .nav {
  margin-top: 30px;
  position: relative;
}
.navigation .nav ul {
  width: calc(100% - 35px);
  margin-left: 0px;
}
.navigation .nav ul .scroll-wpp {
  overflow-x: hidden;
  width: 100%;
  height: 52px;
  display: inline-block;
  white-space: nowrap;
  letter-spacing: -.4em; /* 文字間を詰めて隙間をなくす */
  background-color: #333;
}
.navigation .nav ul li {
  display: inline-block;
}
.navigation .nav ul li a {
  color: #d6d6d6;
  text-decoration: none;
  text-align: center;
  line-height: 46px;
  background: #333;
  position: relative;
  font-size: 1.8rem;
  padding: 10px 40px;
  letter-spacing: normal; /* 文字間を元に戻す */
}
.navigation .nav ul li a.current {
  font-weight: 500;
  color: #fff;
  position: relative;
}
.navigation .nav ul li a.current::after {
  content: "";
  border-bottom: 6px solid;
  border-image: linear-gradient(to right, #e5a415 0%, #e1693c 50%, #d71618 100%);
  border-image-slice: 1;
  width: 84%;
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translateX(-50%);
}
.leftbutton, .rightbutton {
  position: absolute;
  top: 0;
  color: #fff;
  background: #5c5c5c;
  text-align: center;
  width: 52px;
  height: 52px;
  line-height: 52px;
  display: block;
}
.leftbutton {
  left: 0;
}
.rightbutton {
  right: 0;
}

.navigation ul, .navigation ol {
    margin-bottom: 0px;
}

@media screen and (max-width:559px) {

  .navigation {
    margin-top: 15px;
  }
  .navigation h2 {
    font-size: 2.4rem;
  }
  .navigation .navSP {
    margin-top: 15px;
    width: 100%;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
	height: 46px;
  }
  .navigation .navSP .scroll-wppSP {
    height: 46px;
    width: calc(100% - 78px);
    margin: 0 auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .navigation .navSP ul {
    overflow-y: hidden;
    white-space: nowrap;
    font-size: 0; /*inline-blockにて横並びの隙間対策*/
    margin-left: -40px;
  }
  ::-webkit-scrollbar {.navigation .navSP ul
    display: none;
  }
  .navigation .navSP ul li {
    display: inline-block;
	height: 46px;
  }
  .navigation .navSP ul li a {
    font-size: 1.6rem;
    height: 40px;
    line-height: 40px;
    background: #333;
    color: #d6d6d6;
    padding: 8px 15px;
  }
  .navigation .navSP ul li a.current {
    font-weight: 500;
    color: #fff;
    position: relative;
  }
  .navigation .navSP ul li a.current::after {
    content: "";
    border-bottom: 4px solid;
    border-image: linear-gradient(to right, #e5a415 0%, #e1693c 50%, #d71618 100%);
    border-image-slice: 1;
    width: 88%;
    position: absolute;
    bottom: -7px;
    left: 50%;
    transform: translateX(-50%);
  }
  .leftbuttonSP, .rightbuttonSP {
    position: absolute;
    top: 0;
    color: #fff;
    background: #5c5c5c;
    text-align: center;
    width: 40px;
    height: 40px;
    line-height: 40px;
    display: block;
    cursor: pointer;
    z-index: 100;
  }
  .leftbuttonSP {
    left: 0;
  }
  .rightbuttonSP {
    right: 0;
  }
}

/** 画面幅による調整 pc：パソコン sp：スマートフォン */
br.pc {
	display: block;
}
br.sp {
	display: none;
}

@media screen and (max-width:767px){
	br.pc {
		display: none;
	}
	br.sp {
		display: block;
	}
}

/** Stripe */
.stripe-input {
    padding:8px;
    margin-bottom:5px;
    border: 1px solid #BBBBBB;
    border-radius:5px;
}

#qr-preview {
	width: 100%;
}

.sns-login {
    margin: 4px;
    margin-right: 0;
    margin-left: 0;
    position: relative;
    display: inline-block;
    padding: .8em;
    color: var(--theme-button-color);
    border: 1px solid transparent;
    border-radius: 3px;
    background-color: transparent;
    outline: none;
    font-family: inherit;
    font-size: 13px;
    font-weight: normal;
    line-height: 1.15384615;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    border-color: #ccc;
    max-width: 400px;
    width: 100%;
}


.sns-login-icon {
    vertical-align: baseline;
    margin-top: -0.3em;
    margin-bottom: -0.3em;
    transition: opacity 200ms cubic-bezier(.165, .84, .44, 1);
}

@media screen and (max-width: 767px) {
body {
   height: auto !important;
}
.navbar {
   position: -webkit-sticky;
   position: sticky;
   top: 0;
   z-index: 1020;
}
}

.shelf-doc-content-wrapper {/*全体*/
  max-height: 50px;
  overflow: hidden;
  position: relative;
  transition: .5s;
}

.shelf-doc-content-wrapper::before {/*グラデーション部分*/
    content: "";
    position: absolute;
    width: 100%;
    height: 50%;
    bottom: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 0), #ffffff);
    pointer-events: none;
    transition: 1s;
}

.shelf-doc-content {
  color:#999;
  text-align: justify;
  text-justify: inter-ideograph;

}

.shelf-doc-contenedor label {/*ボタン部分のスタイル*/
  position: absolute;
  bottom: -.8em;
  display: block;
  font-size: .9em;
  padding: .20em 10px;
  right: 0;
  background: #aaa;
  box-shadow:-5px 0 white;
  color: white;
  z-index:999;
  cursor: pointer;
  text-transform: uppercase;
}

.shelf-doc-contenedor label:before {/*閉じている際のボタンのテキスト*/
  content: "続きを読む";
}

.shelf-doc-contenedor input:checked + label:before {/*開いているときは:checked状態なので、その際はボタンテキストを変える*/
  content: "閉じる"
}

input[type=checkbox]:checked ~ .shelf-doc-content-wrapper {
 max-height: fit-content;
}

input[type=checkbox]:checked ~ .shelf-doc-content-wrapper:before {
 opacity: 0
}

.shelf-doc-contenedor input {/*input要素は隠しておく*/
  display: none;
}

.m-tagList__body {
    display: flex;
    flex-wrap: wrap;
}

.m-tagList__body {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.m-tagList__item {
    display: inline-block;
    max-width: 100%;
    margin-right: 2px;
    margin-bottom: 2px;
}

.a-tag__link {
    display: block;
}

.a-tag__label {
    overflow: hidden;
    line-height: 1.5;
    color: #222;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.a-tag__size_small {
    padding: 2px 3px;
}

.a-tag {
    position: relative;
    display: inline-block;
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    font-size: 80%;
}

.ranking-box {
  counter-reset: wpp-ranking;
}
.ranking-box .rank {
  list-style-type: none;
  padding: 5px 0 0 0;
  position: relative;
  z-index: 1;
}
.ranking-box .rank:before {
  background: #999;
  border-radius: 50%;
  content: counter(wpp-ranking, decimal);
  counter-increment: wpp-ranking;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  padding: 8px 12px;
  position: absolute;
  top: -10px;
  left: -10px;
}

.ranking-box .rank-unset:before {
  list-style-type: none;
  padding: 5px 0 0 0;
  position: relative;
  z-index: 1;
}

.ranking-box .rank-unset:before {
  background: #999;
  border-radius: 50%;
  content: counter(wpp-ranking, decimal);
  counter-increment: wpp-ranking;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  padding: 8px 15px;
}

.ranking-box .ranking {
    background: #999;
    border-radius: 50%;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    padding: 8px 12px;
    position: absolute;
}

.ranking-box .rank10:before {
  padding: 8px 8px !important;
}

.rank1:before {
  background: #fa0 !important;
}
.rank2:before {
  background: #bbb !important;
}
.rank3:before {
  background: #930 !important;
}
.ranking_rank1 {
  background: #fa0 !important;
}
.ranking_rank2 {
  background: #bbb !important;
}
.ranking_rank3 {
  background: #930 !important;
}


.frame {
 width: 90%;
 margin: 30px auto 20px;
 padding: 30px 20px 0;
 border: 3px solid #aaa;
 position: relative;
 border-radius: 3px;
 background-color: #fff;
}
.frame-title {
 position: absolute;
 top: -13px;
 left: 20px;
 padding: 0 5px;
 background-color: #fff;
}
.frame-title .fa {
 margin-right: 5px;
}
.caution {
 background-color: #ff4500;
 border: 2px solid #ff4500;
 color: #fff;
 border-radius: 3px;
}
.frame-red {
 border-color: #ff4500;
}

@media screen and (min-width: 619px) {
  .note-style {
    width: 620px;
    margin-right: auto;
    margin-left: auto;
    color: var(--color-black);
  }
}

.card-info {
  max-width: 95%;
}
div.payjs-outer {
  max-width: 95%;
  padding: 0.5em;

  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 1em;
  line-height: 1.42857143;
  color: #555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.card-info.form-control {
  font-size: 1em;
}
.card-info.form-control:focus {
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
}
.has-error div.payjs-outer {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
}

.body-mypage .m-point {
	font-size: 130%;
	font-weight: 600;
}
.body-mypage .m-point-unit {
	font-size: 90%;
	font-weight: 600;
	margin-left: 5px;
}
.body-mypage .m-point-conv {
	font-weight: 600;
	display: block;
}

/* コラムやお知らせ */
.portfolio-item.info-list .card span {
	position: relative;
	top: 0px;
	right: 0px;
	margin-right: 5px;
}
.portfolio-item.info-list .card-title p {
	font-size:  16px;
}
.portfolio-item.info-list .card-title .color-w {
	color: #fff;
}

.page-info-detail .page-date span {
	margin-right: 5px;
}
.page-info-detail .page-date .color-w {
	color: #fff;
}
.page-info-detail .page-name span {
	font-size:  18px;
}

.text-decoration-line {
    text-decoration-line: line-through;
    text-decoration-style: solid;
    text-decoration-color: red;
    text-decoration-thickness: 3px;
}

.tr-gray {
    background-color: #f0f0f0 !important;
}

.btn-xlg{
	padding:15px 70px;
	margin-bottom:3px;
}

.btn-xlg2{
	padding:15px 20px;
}

/* ページナビゲーション */
#examNavi {
	display: block;
	position: fixed;
	top: 50px;
	right: 0;
	font-size: 77%;
}
#examNavi {
	font-size: 16px;
	background: #d73925;
	text-decoration: none;
	color: #fff;
	width: 180px;
	padding: 15px 0;
	text-align: center;
	display: block;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	-webkit-border-top-left-radius: 20px;
	-webkit-border-bottom-left-radius: 20px;
	-moz-border-top-left-radius: 20px;
	-moz-border-bottom-left-radius: 20px;
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	z-index: 1000;
}

#shelf_list span.badge.bg-green {
  position: absolute;
  top: 5%;
  right: 2%;
}

/* コンテンツの前後ページ */
.body-shelf-list .flex-c, .body-info-detail .flex-c {
    margin-top: 50px;
	display: flex;
    align-items: center;
	justify-content: center;
}

.drawer-open.body-shelf-list .flex-c, .drawer-open.body-info-detail .flex-c {
    align-items: start;
}

@media screen and (max-width: 559px) {
	.drawer-open.body-shelf-list .flex-c, .drawer-open.body-info-detail .flex-c {
		margin-top: 0;
	}
}

.body-shelf-list .back-list, .body-info-detail .back-list {
	margin-left:5%;
	margin-right:5%;
}

.body-shelf-list .flex-c .disabled {
	cursor: not-allowed;
}

.body-shelf-list #cboxLoadedContent, .body-shelf #cboxLoadedContent {
	display: flex;
    align-items: center;
	justify-content: center;
}

.body-shelf-list #cboxContent, .body-shelf #cboxContent {
	background-color:#000;
}

.p_detail_doc {
	margin-bottom: 20px;
	text-align: center;
}

.item_detail_doc {
	width:560px;
	max-width: 100%;
	max-height: 100%;
}

/* お知らせ */
.body-info-list .info__cat {
  font-size: clamp(1.2rem, 1.103rem + 0.259vw, 1.6rem);
  padding: 0.1rem 1.5rem;
  margin-right: 1.2rem;
}

.body-info-list .date {
  margin-right: 2rem;
}

.body-info-list .bg-main {
	background: #000;
}

.body-info-list .color-w {
    color: #fff;
}

.demo-flex{
  display: flex;
  align-items: center;
}
.national-flag{
  box-sizing: border-box;
  margin-right: 4px;
  border: 1px solid #777;
}

.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}

.websdk-body footer.main-footer {
    background: initial !important;
    padding: initial !important;
    color: initial !important;
    border-top: initial !important;
    margin: initial !important;
}

.qq-progress-bar {
    display: block;
    display: block;
    background: #00abc7;
    width: 0%;
    height: 15px;
    border-radius: 6px;
    margin-bottom: 3px;
}

.qq-total-progress-bar {
    height: 25px;
    border-radius: 9px;
}

.qq-total-progress-bar-container {
    margin-left: 9px;
    display: inline;
    float: right;
    width: 500px;
}

.qq-upload-list {
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 450px;
    overflow-y: auto;
    box-shadow: 0px 1px 0px rgba(15, 15, 50, 0.14);
    clear: both;
}

.qq-upload-list li {
    margin: 0;
    padding: 9px;
    line-height: 15px;
    font-size: 16px;
    color: #424242;
    background-color: #F6F6F6;
    border-top: 1px solid #FFFFFF;
    border-bottom: 1px solid #DDDDDD;
}
.qq-upload-list li:first-child {
    border-top: none;
}
.qq-upload-list li:last-child {
    border-bottom: none;
}