@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;

	font-size: 15px;
}

body {
	font-size: 62.5%;
}

body,
table,
input, textarea, select, option {
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
	max-width: 100%;
}

a,
a:link {
	color: #e84863;
}

a:visited {
	color: #e84863;
	text-decoration: none;
}

a:hover {
	color: #e84863;
	text-decoration: underline;
}

a:active {
	color: #e84863;
	text-decoration: underline;
}

/*------------------------------------------------------------
	書式設定
------------------------------------------------------------*/
/* テキストの位置 */
.taLeft { text-align: left !important; }
.taCenter { text-align: center !important; }
.taRight { text-align: right !important; }

/* フォントの大きさ（プラス） */
.fsP1 { font-size: 1.08em !important; }
.fsP2 { font-size: 1.16em !important; }
.fsP3 { font-size: 1.24em !important; }
.fsP4 { font-size: 1.32em !important; }
.fsP5 { font-size: 1.4em !important; }

/* フォントの大きさ（マイナス） */
.fsM1 { font-size: 0.92em !important; }
.fsM2 { font-size: 0.84em !important; }
.fsM3 { font-size: 0.76em !important; }
.fsM4 { font-size: 0.68em !important; }
.fsM5 { font-size: 0.6em !important; }

/* フォントの太さ */
.fwNormal { font-weight: normal !important; }
.fwBold { font-weight: bold !important; }

/*------------------------------------------------------------
	微調整用クラス（※多用しないこと）
------------------------------------------------------------*/
.mt0 { margin-top: 0 !important; }
.mb0 { margin-bottom: 0 !important; }

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
	* html .clearfix {
		zoom: 1;
	}

	*+html .clearfix {
		zoom: 1;
	}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/

body.fixed {
	width: 100%;
	overflow-y: scroll;
	height: 100%;
}

.loading {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: #fff;
	z-index: 40000;
	display: block;
}

.slideout {
	opacity: 0;
	-webkit-transition: all .8s;
	transition: all .8s;
	z-index: -1;
}

.loading svg {
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
	position: absolute;
	left: 50%;
	top: 50%;
}

.loading svg #harima_1_ {
    animation: flash 2s linear infinite;	
}

.loading svg #wave_1_ {
    animation: wave 1s linear infinite;	
	animation-direction: alternate;
}

@keyframes wave
{
    0% {
	   -webkit-transform: translate(-1%, -.5%);
	   transform: translate(-1%, -.5%);
	}
    100% {
	   -webkit-transform: translate(1%, .5%);
	   transform: translate(1%, .5%);
	}
}

.loading svg #harima_1_ .cls-1 {
	opacity: 0;
  animation: logo_anime .2s forwards;
}

.loading svg #harima_1_ .h1 {
  animation-delay: .2s;
}

.loading svg #harima_1_ .h2 {
  animation-delay: .3s;
}

.loading svg #harima_1_ .h3 {
  animation-delay: .4s;
}

.loading svg #harima_1_ .h4 {
  animation-delay: .5s;
}

.loading svg #harima_1_ .h5 {
  animation-delay: .6s;
}

.loading svg #harima_1_ .h6 {
  animation-delay: .7s;
}

@keyframes logo_anime
{
    0% { opacity: 0; }
    100%  { opacity: 1.0; }
}

#container {
	text-align: left;
}

#main {

}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

.sp {
	display: none !important;
}

@media screen and (max-width: 767px) {
	body {
		min-width: inherit;
		font-size: 12px;
	}

	a:hover,
	a:hover img {
		opacity: 1 !important;
	}

	.sp {
		display: block !important;
	}
	
	.pc {
		display: none !important;
	}
	
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader .menu {
	width: 42px;
	height: 42px;
	float: right;
	position: fixed;
	top: 0;
	right: 0;
	cursor: pointer;
	background-color: #0FB1AD;
	z-index: 101;
	transition: opacity .25s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

#gHeader .menu span {
	width: 21px;
	height: 2px;
	position: absolute;
	top: 11px;
	left: 10px;
	cursor: pointer;
	border: none;
	background: #fff;
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
}

#gHeader .menu.on span {
	top: 10px;
	left: 9px;
}

#gHeader .menu.on .top {
	-webkit-transform: translateY(10px) translateX(0) rotate(45deg);
	-ms-transform: translateY(10px) translateX(0) rotate(45deg);
	transform: translateY(10px) translateX(0) rotate(45deg);
	background: #fff;
	width: 27px;
}

#gHeader .menu.on .middle {
	opacity: 0;
	background: #fff;
}

#gHeader .menu.on .bottom {
	-webkit-transform: translateY(-9px) translateX(0) rotate(-45deg);
	-ms-transform: translateY(-9px) translateX(0) rotate(-45deg);
	transform: translateY(-9px) translateX(0) rotate(-45deg);
	background: #fff;
	width: 27px;
}

#gHeader .menu span:nth-of-type(2) {
	top: 20px;
}

#gHeader .menu span:nth-of-type(3) {
	top: 29px;
}

@media screen and (min-width: 768px) {
}

/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
	display: none;
	width: 60%;
	height: 100%;
	position: fixed;
	top: 0;
	right: 0;
	box-sizing: border-box;
	background-color: #0FB1AD;
	overflow: auto;
	z-index: 100;
}

#gNavi ul {
	margin: 65px 28px;
}

#gNavi li {
	margin-bottom: 20px;
}

#gNavi li a {
	display: block;
	color: #fff;
	font-size: 12px;
	text-decoration: none;
	line-height: 1.2;
}

#gNavi li a .en {
	margin-bottom: 5px;
	display: block;
	font-size: 14px;
	font-weight: bold;
}

#gNavi li a .en.ico:before {
	content: "-";
	padding-right: 6px;
}

#gNavi li a .jp {
	padding-left: 10px;
	position: relative;
	display: block;
}

#gNavi li a .jp:before {
	width: 5px;
	height: 1px;
	position: absolute;
	left: 0;
	top: 4px;
	background-color: #000;
	content: '';
}

@media screen and (min-width: 768px) {
#gNavi {
	display: none;
	width: 450px;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
	box-sizing: border-box;
	overflow: auto;
	z-index: 100;
}
	
	#gNavi ul {
		margin: 65px auto;
		width: 300px;
	}
	
	#gNavi li {
		margin-bottom: 30px;
	}
	
	#gNavi li a {
		font-size: 15px;
		transition: .3s;
	}
	
	#gNavi li a:hover {
		opacity: 0.7;
	}
	
	#gNavi li a .en {
		margin-bottom: 10px;
		font-size: 20px;
	}
}

/*------------------------------------------------------------
	タイトル
------------------------------------------------------------*/

/* 二重線 h2タイトル */

h2.h2-title-pink,
h2.h2-title-white {
    position: relative;
    padding: 0 35px;
    text-align: center;
    width: fit-content;
    margin: 20px auto 20px auto;
    font-size: 16px;
}

h2.h2-title-pink {
    color: #fff;
}

h2.h2-title-white {
    color: #fff;
}

h2.h2-title-pink:before,
h2.h2-title-pink:after {
	position: absolute;
    top: calc(50% - 3px);
    width: 30px;
    height: 2px;
    content: '';
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
}

h2.h2-title-white:before,
h2.h2-title-white:after {
	position: absolute;
    top: calc(50% - 3px);
    width: 30px;
    height: 2px;
    content: '';
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
}

h2.h2-title-pink:before ,
h2.h2-title-white:before {
  left: 0;
}

h2.h2-title-pink:after ,
h2.h2-title-white:after {
  right: 0;
}


/* リボン h2タイトル */
.h2-ribbon-yellow,
.h2-ribbon-red,
.h2-ribbon-green {
    position: relative;
    display: block;
    width: 12em;
    height: 46px;
    line-height: 46px;
    padding: 0 1.5rem;
    margin: 0 auto 30px auto;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.h2-ribbon-yellow::before,
.h2-ribbon-yellow::after,
.h2-ribbon-red::before,
.h2-ribbon-red::after,
.h2-ribbon-green::before,
.h2-ribbon-green::after {
    position: absolute;
    top: 0;
    width: 0px;
    height: 0px;
    border-color: #B29D02 transparent;
    border-style: solid;
    content: '';
}

.h2-ribbon-yellow::before,
.h2-ribbon-red::before,
.h2-ribbon-green::before {
    left: -15px;
    border-width: 23px 0px 23px 15px;
}

.h2-ribbon-yellow::after,
.h2-ribbon-red::after,
.h2-ribbon-green::after {
		right: -15px;
    border-width: 23px 15px 23px 0px;
}

/* Yellow */
	.h2-ribbon-yellow::before,
	.h2-ribbon-yellow::after {
	    border-color: #cea754 transparent;
	}

	h2.h2-ribbon-yellow {
		background: #cea754;
	}

/* Red */
	.h2-ribbon-red::before,
	.h2-ribbon-red::after {
	    border-color: #A31013 transparent;
	}
		h2.h2-ribbon-red {
		background: #A31013;
	}

/* Green */
	.h2-ribbon-green::before,
	.h2-ribbon-green::after {
	    border-color: #398a25 transparent;
	}
	h2.h2-ribbon-green {
		background: #398a25;
	}

/* 斜線タイトル */
h2.h2-title-line {
  position: relative;
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
  font-size: 1.2rem;
  color: #fff;
  margin-bottom: 20px;
}
 
h2.h2-title-line:before,
h2.h2-title-line:after {
  position: relative;
  display: inline-block;
  content: "";
  background: #fff;
  width: 2px;
  height: 2em;
  margin: 0 1em;
  margin-top: -.2em;
  vertical-align: middle;
}
 
h2.h2-title-line:before {
  transform: rotate(-35deg);
}
 
h2.h2-title-line:after {
  transform: rotate(35deg);
}

@media screen and (min-width: 768px) {

	/* 二重線 h2タイトル */
	h2.h2-title-pink,
	h2.h2-title-white {
	    font-size: 20px;
	}

	.h2-ribbon-yellow,
	.h2-ribbon-red,
	.h2-ribbon-green {
	    font-size: 20px;
	}

	/* リボン h2タイトル */
	h2.ribbon-title-white,
	h2.ribbon-title-pink {
		margin:0 auto 30px auto;
		text-align: center;
		font-size: 20px;
	    letter-spacing: 0.16em;
	    z-index: 1;
	}

		/* 斜線タイトル */
	h2.h2-title-line {
	  position: relative;
	  text-align: center;
	  font-weight: bold;
	  line-height: 1.3;
	  font-size: 2.2rem;
	  color: #fff;
	  margin-bottom: 30px;
	}
}


/*------------------------------------------------------------
	comBox
------------------------------------------------------------*/

.comBox {
	margin: 30px auto 0 auto;
	width: 92%;
}

@media screen and (min-width: 768px) {
	.comBox {
		margin: 50px auto 0 auto;
		width: 1000px;
	}
}

/*------------------------------------------------------------
	btn ボタン(リスト)のスタイル
------------------------------------------------------------*/

.btn-1, .btn-2 {
  display: inline-block;
  font-size: 13px;
  font-weight: bold;
/*  margin-right: 15px;
*/  padding: 5px 10px;
  width:8em;
}

.btn-1 {
  background-color: #fff;
  border: solid 2px #387a8a;
  color: #387a8a;
}

.active-1 {
  background-color: #387a8a;
  color:#fffbe9;
}

.btn-2 {
  background-color: #fff;
  border: solid 2px #c54772;
  color: #c54772;
}

.active-2 {
  background-color: #c54772;
  color:#fffdf2;
}

.day-kirikae {
    width: 83%;
	min-width:315px;
	margin:35px auto;
}

.day-kirikae li {
    width: 32.3%;
    display: inline-block;
    vertical-align: top;
    position: relative;
	text-align:center;
}

@media screen and (min-width: 768px) {
.btn-1, .btn-2 {
  font-size: 17px;
}

.day-kirikae {
    width: 460px;
	margin:35px auto;
}

.day-kirikae li {
    width: 10em;
    display: inline-block;
    vertical-align: top;
    position: relative;
	text-align:center;
}
}

/*------------------------------------------------------------
	comMap
------------------------------------------------------------*/
.comMap p {
	text-align: center;
	margin-top: .3em;
}

.areaMap .comMap p {
	color: #393939;
	margin-top: 20px;
}

.tabs img,
.tabs02 img {
	width: 100%;
	margin-bottom: 10px;
}

.tabs .link,
.tabs02 .link {
	margin-top: 5px;
	display: block;
	text-align: center;
}

.tabs .link a,
.tabs02 .link a {
	color: #000;
	font-size: 14px;
	text-decoration: underline;
}

.tabs .link a:hover,
.tabs02 .link a:hover {
	text-decoration: underline;
}


/*タブ切り替え全体のスタイル*/
.tabs,
.tabs02 {
  margin-top: 50px;
  width: 100%;
  margin: 0 auto 30px auto;
}


/*タブのスタイル*/
.tab_item,
.tab_item02 {
  width: calc(100%/2);
  height: 50px;
  border-bottom: 2px solid #D8CE83;
  background-color: rgb(255 255 255 / 30%);
  line-height: 50px;
  font-size: 15px;
  text-align: center;
  color: #c7c7c794;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"],
input[name="tab_item02"]
 {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 10px;
  clear: both;
  overflow: hidden;
  background: #fdfae9;
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming1:checked ~ #programming1_content,
#programming2:checked ~ #programming2_content,
#programming3:checked ~ #programming3_content {
  display: block;
}

#all02:checked ~ #all_content02,
#programming01:checked ~ #programming01_content,
#programming02:checked ~ #programming02_content,
#programming03:checked ~ #programming03_content {
  display: block;
}


/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item,
.tabs02 input:checked + .tab_item02 {
  background-color: #cea754;
  color: #fff;
}


@media screen and (min-width: 768px) {
	.tab_content {
	    display: none;
	    padding: 20px;
	    clear: both;
	    overflow: hidden;
	    background: rgb(255 252 231);
	}

	.comMap {
		text-align: center;
	}

	.comMap img {
		max-width: 1000px;
		margin-bottom: 20px;
		}

	.comMap .link {
		margin-top: 15px;
	}

	.comMap .link a {
		font-size: 15px;
	}

	.comMap .link a:hover {
		text-decoration: none;
	}

	.tabs,
	.tabs02 {
	  margin-top: 50px;
	  width: 1000px;
	  margin: 0 auto 40px auto;
	}
}



/*------------------------------------------------------------
	comShopList
------------------------------------------------------------*/
.comShopList {
	margin: -5px 0 27px;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	justify-content: center;
	gap: 10px;
}

.comShopList li {
	margin-top: 5px;
	width: calc(50% - 6px);
	display: inline-block;
	vertical-align: top;
	position:relative;
	background: #fff;
	border-radius: 16px;
	transition: .3s;
}

img.new-shop {
	width:45px;
	position:absolute;
	top:2px;
	left:2px;
}

span.no_flg {
	font-family: "Zen Maru Gothic", serif;
	width: 36px;
	height: 36px;
	padding-top: 1px;
	background-color: #DB5167;
	color: #fff;
	border: 2px solid #fff;
	border-radius: 50%;
	text-align: center;
	font-weight: 600;
	box-sizing: border-box;
	position: absolute;
	top: -5px;
	left: -6px;
	font-size: 18px;
}

img.ec_flg {
	width:45px;
	position:absolute;
	top:2px;
	left:2px;
}

.ec-title {
	color: #ffffff;
	background: #c8bca0;
	width: 100%;
	display: block;
	padding: 2px 0;
	margin-bottom: -10px;
	text-align: center;
	font-weight: bold;
}

.comShopList li a {
	padding-bottom: 40px;
	display: block;
	text-decoration: none;
}

.comShopList li .pho {
	margin-bottom: 6px;
	position: relative;
}

.comShopList li .pho img {
	width: 100%;
	border-radius: 16px 16px 0 0;
}

.comShopList li p.name-logo img {
  display: block;
  height: 28px;
  text-align: center;
  margin: 0 auto;
}

.comShopList li .telop_3 {
  position: absolute;
  width: 100%;
  background: rgb(0 0 0 / 52%);
  color: #fff;
  font-weight: bold;
  padding: 5px 0;
  bottom: 0px;
  font-size: 0.8rem;
}

.comShopList li .telop_4 {
  display: inline-block;
  background: #FEA710;
  color: #fff;
  font-weight: bold;
  font-size: 0.7rem;
  border-radius: 50px;
  margin: 0 auto;
  padding: 2px 16px;
}
.comShopList li .shop_catch {
	margin-bottom: 1px;
	padding: 0px 5px 8px 5px;
	color: #000;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
}

.comShopList li .shop_catch .txt {
  margin-top: 6px;
  display: block;
  color: #000000;
  font-size: 0.8rem;
  font-weight: bold;
}
.comShopList li .name {
	margin-bottom: 1px;
	padding: 5px 5px 3px 5px;
	color: #000;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
}

.comShopList li .name .txt {
	margin-top: 4px;
	display: block;
	color: #9a9a9a;
	font-size: 0.73rem;
}

.comShopList li .note {
	padding: 0 6px;
  text-align: right;
  line-height: 1;
  position: absolute;
  bottom: 8px;
  left: 4px;
}

.comShopList li .note .txt-a {
	margin-left: 3px;
	padding: 3px 5px;
	display: inline-block;
	font-size: 11px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	border-radius: 50px;
	overflow: hidden;
	background-color: #ffffff;
	border: 2px solid #00B1AD;
	color: #00B1AD;
	z-index: 3;
}

.comShopList li .note .txt-b {
	margin-left: 3px;
	padding: 3px 5px;
	display: inline-block;
	color: #FFF;
	font-size: 11px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	border-radius: 50px;
	overflow: hidden;
	background-color: #00B1AD;
	border: 2px solid #00B1AD;
	z-index: 3;
}

.comShopList li .note .txt-c {
	margin-left: 3px;
	padding: 3px 5px;
	display: inline-block;
	color: #FFF;
	font-size: 11px;
	text-align: center;
	line-height: 1;
	border-radius: 50px;
	overflow: hidden;
	background-color: #D97C38;
}

.comShopList li.arrow_r {
  position: relative;
  display: inline-block;
}
.comShopList li.arrow_r:before {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px #DB5167;
	border-right: solid 2px #DB5167;
	transform: rotate(45deg);
	position: absolute;
	/* top: 0; */
	right: 17px;
	bottom: 15px;
	margin: auto;
}

.comShopList li:hover {
	opacity: 0.7;
}

@media screen and (min-width: 768px) {
	.comShopList {
		margin: -20px -22px 0;
	}

	.comShopList li {
		width: calc(24% - 6px);
		display: inline-block;
		position:relative;
	}
	
	.comShopList li .telop_3 {
	  padding: 7px 0;
	  font-size: 16px;
	}

	.comShopList li .telop_4 {
		display: block;
		width: 60%;
		background: #FEA710;
		color: #fff;
		font-weight: bold;
		font-size: 14px;
		border-radius: 50px;
		margin: 0 auto;
	}

	.popBox .inner .telop_3 {
	  font-size: 1.2rem;
	}

	.popBox .inner .telop_4 {
	  font-size: 14px !important;
	}

	.popBox .inner .telop_5 {
	  display: inline-block;
	  /* width: 40%; */
		background: #E2F4F5;
		color: #0fb1ad;
	  font-weight: bold;
	  font-size: 14px;
	  text-align: center;
	  border-radius: 50px;
	  margin: 0 auto 5px auto;
	  padding: 4px 10px;
	}

	.popBox .inner .telop_6 {
	  display: inline-block;
	  /* width: 40%; */
	  background: #fffce4;
	  color: #fea710;
	  font-weight: bold;
	  font-size: 14px;
	  text-align: center;
	  border-radius: 50px;
	  margin: 0 auto 5px auto;
	  padding: 4px 10px;
	}

	.comShopList li a {
		padding-bottom: 40px;
		border-radius: 16px;
	}

	.comShopList li p.name-logo img {
	  height: 34px;
	}

	.comShopList li .pho {
		margin-bottom: 15px;
	}

	.comShopList li .name {
		margin-bottom: 7px;
		font-size: 16px;
	}

	.comShopList li .name .txt {
		margin-top: 5px;
		font-size: 14px;
	}

	.comShopList li .shop_catch .txt {
	  padding: 5px 5px 10px 5px;
	  font-size: 15px;
	}
	.comShopList li .note {
  	bottom: 10px;
		padding: 0 10px;
	}

	.comShopList li .note .txt {
		margin-left: 5px;
		font-size: 12px;
	}

	.comShopList li.arrow_r:before {
		bottom: 17px;
	}
}

/*------------------------------------------------------------
	popBox
------------------------------------------------------------*/
.popBox {
	display: none;
	padding: 24px 13px;
	width: 100%;
	box-sizing: border-box;
	z-index: 102;
}

.fancybox-skin {
	background-color: transparent !important;
}

.fancybox-close {
    top: 15px !important;
    right: -3px !important;
	background: url(../image/close_btn.png) no-repeat !important;
	background-size: 35px auto !important;
}

.fancybox-overlay {
	background:rgba(50,30,30,0.8) !important;
}

.popBox .inner {
	width: 100%;
	background-color: #FFF;
	border-radius: 20px;
}

.popBox .inner .photo {
	position: relative;
}
.popBox .inner .photo img {
	width: 100%;
	border-radius: 20px 20px 0 0;
}

.popBox .inner .zukan img {
	width: 70%;
	text-align: center;
	display: block;
	margin:0 auto;
	padding-top: 20px;
}

.popBox .inner .txtArea {
	padding: 13px 15px;
}


.popBox .inner p.name-logo img {
	display: block;
  height: 50px;
  text-align: center;
  margin: 0 auto;
}

.popBox .inner .name {
	text-align: center;
	color: #000;
	font-size: 16px;
	font-weight: bold;
}

.popBox .inner .name .txt {
	display: block;
	color: #979797;
	font-size: 12px;
	font-weight: 500;
}

.popBox .inner .name .txt a.sponsor_url {
	color: #979797;
	font-size: 12px !important;
}

.popBox .inner .shop_catch .txt {
	text-align: left;
	color: #000;
	margin-top: 18px;
	font-weight: bold;
	font-size: 1rem;
}

.popBox .inner .telop_3 {
  position: absolute;
  width: 100%;
  background: rgb(0 0 0 / 52%);
  color: #fff;
  font-weight: bold;
  padding: 11px 0;
  bottom: 0px;
  font-size: 1rem;
  text-align: center;
}

.popBox .inner .telop_4 {
  display: block;
  width: 40%;
  background: #FEA710;
  color: #fff;
  font-weight: bold;
  font-size: 0.8rem;
  text-align: center;
  border-radius: 50px;
  margin: 10px auto;
  padding: 4px 10px;
}

.popBox .inner .telop_5 {
  display: inline-block;
  /* width: 40%; */
	background: #E2F4F5;
	color: #0fb1ad;
  font-weight: bold;
  font-size: 0.8rem;
  text-align: center;
  border-radius: 50px;
  margin: 0 auto 5px auto;
  padding: 4px 10px;
}

.popBox .inner .telop_6 {
  display: inline-block;
  /* width: 40%; */
  background: #fffce4;
  color: #fea710;
  font-weight: bold;
  font-size: 0.8rem;
  text-align: center;
  border-radius: 50px;
  margin: 0 auto 5px auto;
  padding: 4px 10px;
}

.popBox .inner .shop_catch {
	margin-top: 1rem;
}

.popBox .inner .note {
	margin: 10px 0;
	text-align: center;
	line-height: 1;
}

.popBox .inner .note .txt-a {
	margin-left: 3px;
	padding: 5px 6px;
	display: inline-block;
	font-size: 13px;
	text-align: center;
	line-height: 1;
	border-radius: 50px;
	overflow: hidden;
  background-color: #ffffff;
  border: 2px solid #00B1AD;
  color: #00B1AD;
}

.popBox .inner .note .txt-b {
	margin-left: 3px;
	padding: 5px 6px;
	display: inline-block;
	color: #FFF;
	font-size: 13px;
	text-align: center;
	line-height: 1;
	border-radius: 50px;
	overflow: hidden;
  background-color: #00B1AD;
  border: 2px solid #00B1AD;
}

.popBox .inner .note .txt-c {
	margin-left: 3px;
	padding: 5px 6px;
	display: inline-block;
	color: #FFF;
	font-size: 13px;
	text-align: center;
	line-height: 1;
	border-radius: 50px;
	overflow: hidden;
	background-color: #D97C38;
}


.popBox .inner .text {
/*	height:4.5em;
*/	margin-bottom: 15px;
	text-align: left;
	font-size: 12px;
	line-height: 1.75;
	clear:both;
	overflow: auto;
	line-height: 1.1rem;
}

.popBox .inner .text::-webkit-scrollbar{ 
    width: 7px;
}

.popBox .inner .text::-webkit-scrollbar-thumb{ 
    background: #684937;
    border-radius: 10px;
}

.popBox .inner .text::-webkit-scrollbar-track-piece:start{
    background: #E5E5E5;
    border-radius: 10px;
}

.popBox .inner .text::-webkit-scrollbar-track-piece:end{
    background: #fff;
    border-radius: 10px;
}

.popBox .inner a {
	color: #DB5167;
	word-break: break-all;
	text-decoration: underline;
}

.popBox .inner a:hover {
	text-decoration: none;
	color: #DB5167;
}

@media screen and (min-width: 768px) { /*PC*/
	.popBox {
		margin: 0 auto;
		width: 500px;
	}

	.fancybox-close {
		width: 44px !important;
		height: 44px !important;
		top: 10px !important;
		right: 0px !important;
		background-size: 44px auto !important;
	}

	.popBox .inner .txtArea {
		padding: 15px 20px;
	}

	.popBox .inner .shop_catch {
		margin-top: 14px;
	}
	.popBox .inner .name {
		font-size: 18px;
	}

	.popBox .inner .name .txt {
		margin-top: 0;
		font-size: 14px;
	}

	.popBox .inner .name .txt a.sponsor_url {
		font-size: 14px !important;
	}

	.popBox .inner .note {
		margin: 10px 0;
	}

	.popBox .inner .note .txt-a,
	.popBox .inner .note .txt-b {
		margin-left: 5px;
		font-size: 14px;
	}

	.popBox .inner .text {
		margin-bottom: 15px;
		font-size: 15px;
		line-height: 1.28rem;
	}

	.popBox .inner a:hover {
		text-decoration: underline;
	}
}

/*------------------------------------------------------------
	BAKERY SHOP LIST / Colabo Bread
------------------------------------------------------------*/

.schedule {
	width:94%;
	padding:3%;
	margin:0 auto 20px auto;
	background: #fff;
	box-shadow: 0px 24px 25px -22px #0000001f;
	border-radius: 20px;
 }


.schedule img {
	width:100%;
}

.colabo-bread {
    width: 96%;
    padding: 8% 2% 8% 2%;
    margin-top: 50px;
    margin-bottom: 60px;
	background:
	url(../image/topleft.png) left 10px top 10px no-repeat,
	url(../image/topright.png) right 10px top 10px no-repeat,
	url(../image/bottomright.png) right 10px bottom 10px no-repeat,
	url(../image/bottomleft.png) left 10px bottom 10px no-repeat,
	#fff;
}

.colabo-text {
    text-align: center;
    width: 90%;
	margin: 0 auto 20px auto;
}

.colabo-breadList {
	margin: -5px 0 27px;
	text-align: center;
}

.colabo-breadList li {
    margin: 5px 1.5%;
    width: 46%;
    display: inline-block;
    vertical-align: top;
	position:relative;
}

.colabo-breadList li a {
	padding-bottom: 6px;
	display: block;
	text-decoration: none;
}

.colabo-breadList li .name {
	margin-bottom: 1px;
	padding: 8px 5px 0 5px;
	color: #534741;
	font-size: 12px;
	text-align: center;
	line-height: 1.2;
}

.colabo-breadList li .name .txt {
	margin-top: 4px;
	display: block;
	color: #979797;
	font-size: 12px;
}

.colabo-breadList li .note {
	padding: 0 6px;
	text-align: right;
	line-height: 1;
}

.colabo-breadList li .note .txt-a {
	margin-left: 3px;
	padding: 3px 5px;
	display: inline-block;
	color: #FFF;
	font-size: 11px;
	text-align: center;
	line-height: 1;
	border-radius: 50px;
	overflow: hidden;
	background-color: #4d7775;
}

.colabo-breadList li .note .txt-b {
	margin-left: 3px;
	padding: 3px 5px;
	display: inline-block;
	color: #FFF;
	font-size: 11px;
	text-align: center;
	line-height: 1;
	border-radius: 50px;
	overflow: hidden;
	background-color: #A12229;
}

.trim-wrap{
  position:relative;
  width:100%;
  height:0;
  padding-bottom:100%;/* 幅に対する縦のサイズ */
  overflow:hidden;
  background-color:#e2dede;
}

.trim-wrap>img{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:auto;
  height:auto;
  max-width:150%;
  max-height:initial;
}

.no-img {
	height:26px;
	position:absolute;
	left:5px;
	top:-15px;
	z-index:10;
}

@media screen and (min-width: 768px) {

	.schedule {
		width:94%;
		padding:3%;
		margin-bottom:40px;
	}
	
	h2.colabo-title {
		position: relative;
		text-align:center;
		display:block;
		width:260px;
		margin:0 auto 50px auto;
		font-size:18px;
	}
	
	h2.colabo-title:before {
	  content: "";
	  position: absolute;
	  left: 0;
	  bottom: -20px;
	  width: 260px;
	  height: 5px;
	  background: -webkit-repeating-linear-gradient(-45deg, #33201e, #33201e 2px, #f3f3f3 2px, #f3f3f3 5px);
	  background: repeating-linear-gradient(-45deg, #33201e, #33201e 2px, #f3f3f3 2px, #f3f3f3 5px);
	}
	
	h2.colabo-title:after {
	  content: "";
	  position: absolute;
	  left: 0;
	  top: -20px;
	  width: 260px;
	  height: 5px;
	  background: -webkit-repeating-linear-gradient(-45deg, #33201e, #33201e 2px, #f3f3f3 2px, #f3f3f3 5px);
	  background: repeating-linear-gradient(-45deg, #33201e, #33201e 2px, #f3f3f3 2px, #f3f3f3 5px);
	}

	.schedule img {
		width:100%;
		margin-bottom: 20px;
	}

	.colabo-bread {
		width: 94%;
		padding:90px 3% 50px 3%;
		margin-bottom: 60px;
		
		background:
		url(../image/topleft.png) left 30px top 30px no-repeat,
		url(../image/topright.png) right 30px top 30px no-repeat,
		url(../image/bottomright.png) right 30px bottom 30px no-repeat,
		url(../image/bottomleft.png) left 30px bottom 30px no-repeat,
		#fff;
	}

	.colabo-text {
		width: 700px;
		margin-bottom:60px;
		text-align:center;
	}
	.colabo-breadList {
		margin: -20px -22px 80px;
	}

	.colabo-breadList li {
		margin: 20px 12px 0;
		width: 350px ;
		display: inline-block;
	}

	.colabo-breadList li a {
		transition: .3s;
	}

	.colabo-breadList li a:hover {
		opacity: 0.7;
	}

	.colabo-breadList li .pho {
		margin-bottom: 15px;
	}

	.colabo-breadList li .name {
		margin-bottom: 10px;
		font-size: 16px;
		margin-top: 10px;
	}

	.colabo-breadList li .name .txt {
		margin-top: 5px;
		font-size: 14px;
	}

	.colabo-breadList li .note {
		padding: 0 10px;
	}

	.colabo-breadList li .note .txt {
		margin-left: 5px;
		font-size: 12px;
	}
	
	.colabo-breadList li .pho img {
		width:260px;
		height:260px;
		object-fit: cover; 
	}

	.no-img {
		height:40px;
		position:absolute;
		left:10px;
		top:-25px;
		z-index:10;
	}
}


/*------------------------------------------------------------
	comTab
------------------------------------------------------------*/

.comTab-pink th,
.comTab-pink td,
.comTab-black th,
.comTab-black td {
	padding: 6px 1px 6px;
	width: 82%;
	font-size: 0.75rem;
	vertical-align: middle;
	text-align: left;
}

.comTab-pink th,
.comTab-black th  {
	padding: 5px 4px 6px 3px;
	width: 18%;
	font-weight: 500;
	text-align: center;
}

.comTab-pink,
.comTab-black {
	margin-bottom: 10px;
	width: 100%;
	border-collapse: collapse;
}

.comTab-pink {
	border-top: 1px solid #fff;
	color: #fff;
}

.comTab-black {
	border-top: 1px solid #3E3E3E;
	color: #3E3E3E;
}

.comTab-black th.th-yellow {
	background: #FFFCE4;
}

.comTab-black th.th-pink {
	background: #FAE7EA;
}

.comTab-black th.th-grey {
	background: #EFEFEF;
}

.comTab-black td p span.reserve {
	font-weight: bold;
	color: #DB5167;
	font-size: 0.97rem;
}

.comTab-pink td p, 
.comTab-black td p {
	padding-left: 13px;
	font-size: 0.8rem;
}

.comTab-pink td p a, 
.comTab-black td p a{
	font-size: 0.8rem;
}

.comTab-pink th {
	border-bottom: 1px solid #fff;
}

.comTab-black th {
	border-bottom: 1px solid #3E3E3E;
	font-weight: bold;
}

.comTab-pink td {
	border-bottom: 1px solid #fff;
}

.comTab-black td {
	border-bottom: 1px solid #3E3E3E;
}

.comTab-pink td p {
	border-left: 1px solid #fff;
}

.comTab-black td p {
	border-left: 1px solid #3E3E3E;
}


@media screen and (max-width: 374px) { /*SP*/
	.comTab-pink th,
	.comTab-pink td,
	.comTab-black th,
	.comTab-black td  {
		width: 76%;
	}
	
	.comTab-pink th,
	.comTab-black th  {
		width: 24%;
	}
}

@media screen and (min-width: 768px) { /*PC*/
	.comTab-pink,
	.comTab-black {
		margin-bottom: 20px;
		width: 100%;
	}

	.comTab-pink th,
	.comTab-pink td,
	.comTab-black th,
	.comTab-black td  {
		padding: 7px 10px;
		font-size: 13px;
	}

	.comTab-pink th,
	.comTab-black th  {
		padding: 7px 5px;
	}

	.comTab-pink td p, 
	.comTab-black td p {
		padding-left: 15px;
		font-size: 1rem;
		line-height: 1.15rem;
	}

	.comTab-pink td p a, 
	.comTab-black td p a{
		font-size: 1rem;
	}
}


/*------------------------------------------------------------
	comTab
------------------------------------------------------------*/
.comTab {
	margin-bottom: 15px;
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #fff;
	color: #fff;
}

.comTab th,
.comTab td {
	padding: 6px 1px 6px;
	width: 82%;
	font-size: 12px;
	vertical-align: middle;
	text-align: left;
	border-bottom: 1px solid #fff;
}

.comTab th {
	padding: 5px 4px 6px 3px;
	width: 18%;
	font-weight: 500;
	text-align: center;
}

.comTab td p {
	padding-left: 12px;
	font-size: 13px;
	border-left: 1px solid #fff;
}

@media screen and (max-width: 374px) { /*SP*/
	.comTab th,
	.comTab td {
		width: 76%;
	}
	
	.comTab th {
		width: 24%;
	}
}

@media screen and (min-width: 768px) { /*PC*/
	.comTab {
		margin-bottom: 20px;
		width: 100%;
	}

	.comTab th,
	.comTab td {
		padding: 10px;
		font-size: 13px;
	}

	.comTab th {
		padding: 10px 5px;
	}

	.comTab td p {
		font-size: 14px;
		padding-left: 15px;
	}
}

/*------------------------------------------------------------
	presemtList
------------------------------------------------------------*/
.present-title {
	width: 98%;
	text-align: center;
	margin: 0 auto 30px auto;
	display: block;
}

.presentList {
	margin: 30px 0 -10px 0;
	text-align: center;
	color: #fff;
}

.presentList li {
	/* margin-top: 5px; */
    width: 47%;
    margin: 0 1% 30px 1%;
    display: inline-block;
    vertical-align: top;
    position: relative;
}

.presentList li a {
	padding-bottom: 6px;
	display: block;
}

	
.presentList .photo {
	margin-bottom: 15px !important;
	position: relative;
}	

.presentList .photo img {
	width: 100%;
}

.presentList img.pre-ico {
	position: absolute;
	top: -20px;
  left: -5px;
  width: 58px;
}

	
.presentList li h4 {
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: bold;
}

#main .contents .innerBox .presentList li p.text {
	font-size: 12px;
	text-align: left;
}

@media screen and (min-width: 768px) {
	.present-title {
	    width: 500px;
	    text-align: center;
	    margin: 0 auto 50px auto;
	    display: block;
	}
	.presentList {
		margin: -20px -22px 50px;
		margin-top: 20px;
	}

	.presentList li {
    margin: 0px 7px 0;
    width: 242px;
    display: inline-block;
    position: relative;
	}
	
	.presentList .photo {
		margin-bottom: 15px !important;
	}	

	.presentList .photo img {
		width: 100%;
	}

	.presentList img.pre-ico {
		position: absolute;
		top: -20px;
    left: -16px;
    width: 80px;
	}
	.presentList li a {
		padding-bottom: 10px;
		transition: .3s;
	}

	.presentList li a:hover {
		opacity: 0.7;
	}

	.presentList li .pho {
		margin-bottom: 15px;
	}

	.presentList li h4 {
	    height: 2em;
	    font-size: 18px;
	}

	#main .contents .innerBox .presentList li p.text {
		font-size: 15px;
		text-align: left;
	}

}

/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink a {
	padding: 10px 5px;
	text-align: center;
	display: block;
	background-color: #FFF;
	border: 1px solid #000;
	color: #000;
}

.comLink a span {
	padding-right: 9px;
	display: inline-block;
	font-size: 12px;
	font-weight: bold;
	background: url(../image/icon03.png) no-repeat top 5px right;
	background-size: 5px auto;
}

@media screen and (min-width: 768px) {
	.comLink {
		text-align: center;
	}
	
	.comLink a {
		padding: 10px;
		width: 480px;
		box-sizing: border-box;
		display: inline-block;
		transition: .3s;
	}
	
	.comLink a:hover {
		opacity: 0.7;
	}

	.comLink a span {
		padding-right: 25px;
		font-size: 15px;
		background-position: top 5px right;
		background-size: 8px auto;
	}
}

/*------------------------------------------------------------
	star
------------------------------------------------------------*/

/* 星空の背景のスタイル */
.stars {
  position: relative;
	background-image: linear-gradient(0deg,#03378b, #0f0f2b); /* 星空の背景色 */
  overflow: hidden; /* 星が枠外にはみ出すのを防ぐ */
}

/* 星のスタイル */
.star {
  position: absolute;
  display: block;
  background-color: #aeae8e; /* 星の色 */
  border-radius: 50%;
  box-shadow: 0 0 4px 2px rgba(#fff, 0.2); /* 星の影 */
  opacity: 0;
  animation: twinkle 5s infinite;
}

/* 星がキラキラ光るアニメーション */
@keyframes twinkle {
  0% {
    opacity: 0;
  }

  50% {
    transform: scale(1.1);
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: scale(1);
  }
}

/*------------------------------------------------------------
	fadeIn
------------------------------------------------------------*/
.fadeIn{
	animation-name:fadeInAnime;
	animation-duration:2s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
/*------------------------------------------------------------
	pageTop
------------------------------------------------------------*/
.pageTop {
	position: fixed;
	right: -100px;
	bottom: 30px;
	z-index: 50;
	transition: .6s;
}

.pageTop.on {
	right: 10px;
}

.pageTop img {
	width: 58px;
	transition: .6s;
	transform:rotate(0deg);
}

@media screen and (min-width: 768px) {
	.pageTop a:hover img {
		transform:rotate(5deg);
	}

	.pageTop img {
		width: 70px;
	}
}

@media all and (-ms-high-contrast:none) {
	.comTab th {
		padding: 14px 10px 9px;
	}
	
	.comTab td p {
		padding-top: 5px;
	}
	
	.comShopList li .note .txt {
		padding: 5px 3px 1px;
		
	}
	
	.popBox .inner .note .txt {
		padding: 5px 3px 1px;
	}
	
	.comLink a {
		padding: 13px 10px 7px;
	}
	
	.comLink a span {
		background-position: top 2px right;
	}
}



/*続きを読むボタン*/

/*全体*/
.hidden_box {
    margin: 2em 0;
    padding: 0;
}

/*ボタン装飾*/
.hidden_box label {
	display:block;
	width:90%;
    padding: 25px 5%;
    font-weight: bold;
    background: #387a8a;
	color:#fff;
    border-radius: 5px;
    cursor :pointer;
    transition: .5s;
	text-align:center;
}

/*アイコンを表示*/
.hidden_box label:before {
    display: inline-block;
    content: '＋';
    font-family: 'FontAwesome';
    padding-right: 10px;
    transition: 0.2s;
}

/*ボタンホバー時*/
.hidden_box label:hover {
    background: #1a4c58;
	color:#fff;
}

/*アイコンを切り替え*/
.hidden_box input:checked ~ label:before {
     content: '−';
/*     -webkit-transform: rotate(360deg);
     transform: rotate(360deg);
*/     color: #fff;
}

/*チェックは見えなくする*/
.hidden_box input {
    display: none;
}

/*中身を非表示にしておく*/
.hidden_box .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}

/*マーカー*/
.maker {
	background:linear-gradient(transparent 60%, #f1f176 60%);
	color:#c11b1b;
	text-decoration: underline;
}




@media screen and (min-width: 768px) {
	.br-sp {
	display: none;
	}
}

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