

/* 全体的なスタイル
-------------------------------------------------- */
/* フッターの下の空白と明るめの本文 */

body {
	padding-bottom: 3rem;
	color: #5a5a5a;
	/* モーダルを使うたびに画面がずれる問題 */
	padding-right: 0 !important
}


/* カルーセルをカスタマイズ
-------------------------------------------------- */

/* カルーセルの基本クラス */
.carousel {
	margin-bottom: 4rem;
}
/* 画像を配置しているので、キャプションを手助けする必要がある */
.carousel-caption {
	bottom: 3rem;
	z-index: 10;
}

/* img要素の配置のために高さを宣言 */
.carousel-item {
	height: 32rem;
}
.carousel-item > img {
	position: absolute;
	top: 0;
	left: 0;
	min-width: 100%;
	height: 32rem;
}


/* マーケティング・コンテンツ
-------------------------------------------------- */

/* カルーセルの下の3列の中のテキストを整列 */
.marketing .col-lg-4 {
	margin-bottom: 1.5rem;
	text-align: center;
}
.marketing h2 {
	font-weight: 400;
}
.marketing .col-lg-4 p {
	margin-right: .75rem;
	margin-left: .75rem;
}


/* フィーチャー
------------------------- */

.featurette-divider {
	margin: 5rem 0; /* ブートストラップの&lt;hr&gt;をもっと外に出す */
}

/* マーケティングの見出しを細めにする */
.featurette-heading {
	font-weight: 300;
	line-height: 1;
	letter-spacing: -.05rem;
}


/* レスポンシブCSS
-------------------------------------------------- */

@media (min-width: 40em) {
	/* カルーセルコンテンツのサイズを大きくする */
	.carousel-caption p {
		margin-bottom: 1.25rem;
		font-size: 1.25rem;
		line-height: 1.4;
	}

	.featurette-heading {
		font-size: 50px;
	}
}

@media (min-width: 62em) {
	.featurette-heading {
		margin-top: 7rem;
	}
}

.carousel {
	margin-bottom:0;
}


/* トップに戻るボタンCSS
-------------------------------------------------- */

/* パソコン・スマホ共通のCSS */
#PageTopBtn {
		position: fixed; /*ボタンの配置場所を固定*/
		bottom: -10px; /*下からのボタンの配置場所を指定*/
		right: 10px; /*右からのボタンの配置場所を指定*/
}
#PageTopBtn a {
		display: block; /*配置の調整*/
		text-decoration: none; /*文字の下線を消す*/
		color: #fff; /*文字の色*/
		background: #00bfff; /*ボタンの背景色*/
		text-align: center; /*文字を中央に配置*/
		border-radius: 5%; /*ボタンの角を少し丸くする*/
		outline: none; /*クリックしたときの黒い枠を消す*/
}
#PageTopBtn a:hover {
		text-decoration: none;
		background: #87cefa; /*マウスオーバー時の背景色*/
}

/* パソコンで表示する場合のCSS */
@media (min-width: 768px) {
	#PageTopBtn {
			font-size: 13px; /*文字のサイズ*/
	}
	#PageTopBtn a {
			width: 100px; /*ボタンの幅*/
			height: 70px; /*ボタンの高さ*/
			padding: 24px 0; /*文字の配置場所の調整*/
	}
}

/* スマホで表示する場合のCSS */
@media (max-width: 767px) {
	#PageTopBtn {
			font-size: 10px;
	}
	#PageTopBtn a {
			width: 70px;
			height: 50px;
			padding: 17px 0;
	}
}

/* 画像リストサムネイル用 */
.list_photo {
	width:200px;
	height:200px;
	background-size:cover;
	background-position:50% 50%;
	padding:0;
	margin:0 auto;
}

/*マップ表示用*/
.mapbox {
		margin-bottom: 2rem;
		background: #f1f1f1;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
	width:100%;
}
.mapbox .box-title {
		font-size: 1.2em;
		background: #f89174;
		padding: 4px;
		text-align: center;
		color: #FFF;
		font-weight: bold;
		letter-spacing: 0.05em;
}
.mapbox p {
		margin: 0;
	text-align:center;
	display:inline;
}

.maps td {
	text-align: left;
}
.maps a {
	padding-right:10px;
}

.maps span{
	padding-right:10px;
    color: #696969;
}

.area_on {
	color:#FF8B00;
	font-weight:bold;
	display: inline;
}
.area_off {
	color:#ccc;
	display:inline;
}

.dspnone {
	display:none;
}
.prdlist {
	margin-bottom:3rem;
}
.prdlist img{
	display:block;
}
.prdlist p {
	padding:0;
	margin:0;
}
p.ttl {
	padding-top:0.5rem;
}
p.price {
	font-size:1.5rem;
	text-align:center;
	margin-bottom:0.4rem;
}
h3.prdname {
	padding-top:1rem;
	text-align:center;
	font-size:1.5rem;
}
p.detail {
	text-align:center;
	margin:1rem 0;
}
.prd_detail {
	padding:0 1.5rem;
	padding-top:1rem;
}
.prdlist button {
	margin-top: 1rem;
}
.algright {
	text-align:right;
}
p.news {
	padding-left:0.5rem;
	margin:0;
}
.calendar td,.calendar th{
	text-align:center;
	width:14%;
}
.calendar th{
	background-color:#EFEFEF;
}
.sunday {
	color:#f00;
	font-weight:bold;
}
.saturday {
	color:#00f;
	font-weight:bold;
}


#accordion .card-header {
	background-color: #77b8ff;
	font-size:1.3rem;
}
#accordion .btn {
	border:none;
	font-size:1.2rem;
}
#accordion .btn:focus {
	outline: 0;
	box-shadow: 0 0 0 transparent;
}
#accordion .card-header button[data-toggle="collapse"].collapsed::after {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: "\f0ab";/* angle-double-down */
	float: right;
}
#accordion .card-header button[data-toggle="collapse"]::after {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: "\f0aa";/* angle-double-up */
	float: right;
	color:#fff;
}
#accordion h4 {
	font-size:1.2rem;
	display:inline;
}
/*カードデザイン*/

.card-header {
	font-size: 1rem;
	background:none;
	border-bottom:none;
}

.card .card-header a[data-toggle="collapse"] {
  display: block;
  padding: .75rem 1.25rem;
  margin: -.75rem -1.25rem;
}

#accordion .card-header button[data-toggle="collapse"].collapsed::after {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: "\f0ab";/* angle-double-down */
  float: right;
}
#accordion .card-header button[data-toggle="collapse"]::after {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: "\f0aa";/* angle-double-up */
  float: right;
	color:#fff;
}
#accordion h4 {
	font-size:1.2rem;
	display:inline;
}

.balloon-bc {
  padding: 20px 10px;
  max-width: 100%;
  margin: 15px auto;
  text-align: right;
  font-size: 1rem;
/*	border-bottom:1px dashed #FFB85A;*/
}

/*以下、②左側のコメント*/
.balloon {
    width: 100%;
    margin: 10px 0;
    overflow: hidden;
}

.balloon .faceicon{
    float: left;
    margin-right: -50px;
    width: 80px;
}

.mycomment .faceicon
{
    float: right;
    width: 60px;
}

.balloon .faceicon img,
.mycomment .faceicon img
{
    width: 100%;
    height: auto;
}
.balloon .chatting {
    width: 100%;
    text-align: left;
}
.says {
    display: inline-block;
    position: relative;
    margin: 0 0 0 50px;
    padding: 10px;
    max-width: 60%;
    border-radius: 12px;
    background: #edf1ee;
	margin-top:1.5rem;
}

.says:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 3px;
    left: -19px;
    border: 8px solid transparent;
    border-right: 18px solid #edf1ee;
    -ms-transform: rotate(35deg);
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
}
.says p {
    margin: 0;
    padding: 0;
}

/*以下、③右側の緑コメント*/
.mycomment {
    margin: 10px 0;
}
.mycomment p{
    display: inline-block;
    position: relative;
    margin: 0 20px 0 0;
    padding: 8px;
    max-width: 60%;
    border-radius: 12px;
    background: #fcd69e;
    font-size: 15px;
	margin-top:1.5rem;
	text-align:left;
}

.mycomment p:after {
    content: "";
    position: absolute;
    top: 3px;
    right: -19px;
    border: 8px solid transparent;
    border-left: 18px solid #fcd69e;
    -ms-transform: rotate(-35deg);
    -webkit-transform: rotate(-35deg);
    transform: rotate(-35deg);
}
.n_line {
	padding:3rem 0;
	padding-top:4rem;
	color: #fcd69e;
	font-size: 24px;
	display: flex;
	align-items: center;
}
.n_line:before, .n_line:after {
	content: "";
	flex-grow: 1;
	height: 2px;
	background: #fcd69e;
	display: block;
}
.n_line:before {
	margin-right: .4em;
}
.n_line:after {
	margin-left: .4em;
}
.n_line img {
	width:1.5rem;
	height:auto;
}
.panel_border{
	border:1px solid rgba(0, 0, 0, 0.125);
}

.dropdown-menu {
	top:100%;
	right:0;
	border:3px solid #ccc;
}
.dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover{
	background-color:#ccc;
	color:#fff;
}

.japan_map {
	background-image: url("/img/top/map_japan.png");
	background-repeat:no-repeat;
	min-height:444px;
	background-position: right;
}

header {
 margin: 5px;
}
.navbar {
  margin: 0;
  padding: 0;
}
.navbar .nav li a {
  font-weight: bold;
  text-align: center;
  border-left: 1px solid rgba(255, 255, 255, .75);
  border-right: 1px solid rgba(0, 0, 0, .1);
}
.navbar .nav li:first-child a {
  border-left: 0;
}
.navbar .nav li:last-child a {
  border-right: 0;
  border-radius: 0 3px 3px 0;
}
.navbar .nav li a:hover {
  background-color: #e6ebfa;
  color: #2222ff;
}
.navbar .nav li a span {
  font-size: 73%;
  color: #2222ff;
}
.navbar .nav li a:hover span {
  color: #8f8f8f;
}
 
@media (min-width: 768px) {
 .navbar .nav {
  margin: 0;
  display: table;
  width: 100%;
 }
 .navbar .nav li {
  display: table-cell;
  float: none;
 }
 .navbar .nav li a {
  text-decoration: none;
 }
h1 {
 padding: 0;
 font-size: 11px;
	margin-bottom:0;
}
}
@media (max-width: 768px) {
 .navbar .nav li a {
  font-weight: bold;
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, .1);
  text-decoration: none;
 }
 .nav li a span {
  display: none;
 }
	h1 {
 padding: 5px;
 font-size: 11px;
}

}
.nav-top {
	margin-top:1rem;
}