@charset "utf-8";
/* CSS Document */
html {
	height:100%;
}
body {
    width: 100%;
	height:100%;
	color: #444;
    font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size:16px;
	line-height:2;
    margin: 0 auto;
	background:#FFF;
}

/*link*/
a:link,
a:visited,
a:hover {
	color:#111;
}
/*link*/
a:link {
	text-decoration: none;
}
.mtitle-box {
	border:2px solid #FFFF00;
	color:#333;
	text-align:center;
	padding: 2px 0;
	background:#FFFF00;
}
.mtitle {
  font-size: clamp(15px, 2vw, 26px);
  letter-spacing:-0.05em;
  font-weight: 600;
  line-height: 2;
  color: #8c7f79;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
}
.mtitle span {
	display:block;
	font-size:0.7em;
	letter-spacing:0.04em;
	font-weight:normal;
	background:#988c87;
	color:#FFF;
	line-height:0.96;
	padding:5px 8px;
}
.mtitle1 {
	font-size: clamp(14px, 1.5vw, 20px);
  color: #FFF;
  font-weight: bold;
  letter-spacing: 0.05em;
  background: #988c87;
  padding: 7px 10px 6px;
  line-height: 1;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;  
}
.mtitle1 span {
	font-size:0.8em;
}
.mtitle2 {
	color:#FFF;
	font-size: clamp(30px, 4vw, 46px);
  line-height: 1;
  font-weight: normal;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
  text-align: center;
  text-shadow: 0 0 10px #5f493b;
}
.mtitle2 span {
	font-size:0.8em;
}
.mtitle3 {
	text-align:center;
	position:relative;
	line-height:1;
	font-size: clamp(26px, 1.6vw, 50px);

}
.mtitle3:before {
	content:"＼";
	margin-right:10px;
	padding-left:10px;
}
.mtitle3:after {
	content:"／";
	margin-left:10px;
	padding-right:10px;	
}
.mtitle4 {
	font-size:22px;
	margin:25px 0;
	line-height:1.6;
	text-align:center;
}
.mtitle4 span {
	font-size:16px;
	color:#666;
}
.mtitle5 {
	font-size: clamp(18px, 4vw, 60px);
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    line-height: 1.1;
    color: #D52B20;	
}
.mtitle-check {
	padding-left: 1.5em;
	text-indent: -1.5em;
	padding-bottom:5px;
	font-size: clamp(15px, 1.6vw, 22px);
	font-weight:bold;
	color:#8c7f79;
	line-height:1.4;
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;	
}
.mtitle-check:before {
	font-family:'FontAwesome';
	content:"\f0da";
	font-weight:normal;
	margin-right:6px;
	padding-left:3px;
}
.mtitle-bline {
    position: relative;
	line-height: 1.5;
    font-size: 34px;
	font-weight:600;
    text-align:center;
    letter-spacing:2px;
	padding:0 0 5px;
	margin-bottom:15px;
}
.mtitle-bline span {
	font-size: 14px;
	color:#888;
}
.mtitle-bline:before {
    content: '';
    position: absolute;
    bottom:0px;
    display: inline-block;
    width: 100px;
    height: 3px;
    left: 50%;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color:#d52b20;
    border-radius: 2px;
}

.mtitle-bll {
	font-size:16px;
	border-bottom:2px solid #eee;
	color:#162133;
	background:#fff;
	position: relative;
	margin-bottom: 10px;
	text-indent:16px;
}
.mtitle-bll:after {
	position: absolute;
	font-family:'FontAwesome';
	content:"\f105";
	display: block;
	border-bottom: solid 2px #162133;
	bottom: -2px;
	width: 100px;
	text-indent:2px;
	color:#aaa;
}

.mtitle-bll span {
	background:#008db0;
	color:#555;
	font-weight:bold;
	border-radius:5px;
	font-size:13px;
	padding:5px 10px;
	margin-right:10px;
}

.mtitle-bl {
	background:#f2f2f2;
	color:#fecd2f;
	text-indent:1em;
	font-size:20px;
	overflow:hidden;
	font-weight:bold;
	border-left:2px solid #fecd2f;
	margin:0 0 5px;
	padding:3px 0;
	letter-spacing:1px;
}
.mtitle-bl span {
	background:#008db0;
	color:#fff;
	font-weight:bold;
	border-radius:5px;
	font-size:13px;
	padding:5px 10px;
	margin-right:10px;
}
.mtitle-bg {
	line-height:1.6;
	font-size: clamp(16px, 1.9w, 24px);
	background: #988c87;
	color:#FFF;
	padding:5px 10px;
	font-weight:500;
}
.mtitle-bg2 {
	line-height:2;
	font-size:28px;
	background-color:#8fcc00;
	color:#fff;
	margin:20px 0;
}
.mtitle-bg2:before {
/*	font-family:'FontAwesome';
	content:"\f073";
	margin-right:8px;
	padding-left:8px;
	color:#fff;
	font-size:20px;*/
}

.mtitle-ic {
	border-bottom:2px dotted #fecd2f;
	font-size:18px;
	text-align:left;
	padding-left:3px;
	font-weight:bold;
	color:#fecd2f;
}
.mtitle-ic:before {
	font-family:'FontAwesome';
	content:"\f0a9";
	margin-right:5px;
}

.mtitle-r {
	overflow:hidden;
	font-weight:bold;
	color:#fff;
	padding:2px 5px;
	font-size:12px;
	width:250px;
	margin: 5px 0;
	border-radius:10px;
	text-align:center;
	border:1px solid #fff;
}
.mtitle-rs, .mtitle-rs2 {
	overflow:hidden;
	font-weight:bold;
	color:#555;
	font-size:13px;
	margin:5px 0;
}
.mtitle-rs span {
	background:#ddd;
	border-radius:10px;
	padding:3px 10px;
	zoom: 1;	/* for IE */
    display: table-cell; /* for modern browser */
}
.mtitle-rs2 span {
	background:#EB6877;
	border-radius:10px;
	color:#fff;
	padding:3px 10px;
	zoom: 1;	/* for IE */
    display: table-cell; /* for modern browser */
}
.mtitle-line {
    border-top: 5px double #555;
    border-bottom: 5px double #555;
    font-weight: 600;
	font-size:30px;
	text-align:center;
	line-height:1.4;
	padding:10px 0;
	color:#222;
}
.mtitle-line span {
	font-size:0.8em;
	color:#333;
	font-weight:500;
}

/*hukidasi*/
.hukidasi {
	position: relative;
	text-align:center;
	color: #555;
	width:250px;
	background: #fff;
	font-size: 15px;
	font-weight:normal;
	line-height: 1;
	margin: 20px 0px 15px 0px;
	padding: 8px 5px 8px 10px;
	border-radius: 10px;
	border:2px solid #aaa;
}
.hukidasi:after,.hukidasi:before {
	content: "";
	position: absolute;
	top: 100%;
	height: 0;
	width: 0;
}
.hukidasi:after {
	left: 33px;
	border: 8px solid transparent;
	border-top: 11px solid #fff;
}
.hukidasi:before {
	left: 30px;
	border: 11px solid transparent;
	border-top: 13px solid #aaa;
	
}
/*yajirusi*/
.yajirusi {
	position: relative;
	background: #00a0ea;
	color:#fff;
	text-align:center;
	padding:5px 0;
	margin-bottom:20px;
	font-size:20px;
}
.yajirusi:after, .yajirusi:before {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.yajirusi:after {
	border-color: rgba(136, 183, 213, 0);
	border-top-color: #00a0ea;
	border-width: 15px;
	margin-left: -15px;
}
.yajirusi:before {
	border-color: rgba(194, 225, 245, 0);
	border-top-color: #00a0ea;
	border-width: 20px;
	margin-left: -20px;
}

/*SEO*/
#seoA {
	width: 100%;
	background:#fff;
	border-bottom:2px solid #eee;
}
#seo {
	margin: 0 auto;
	padding:3px 0 2px;
	width: 1000px;
	font-size:12px;
	line-height: 1.3;
	color:#666;
}
#seo h1 {
	text-align:left;
	font-weight:normal;
/*	display:inline;
*/	
}
#seo h1+p {
	text-align:right;
	display:inline;
}
/*head*/
@charset "UTF-8";
header {
  width: 100%;
  position:relative;
  z-index: 99999;
  /*background:#e7f5e1;*/
}

#headA {
  width: 100%;
}
.bg-head {
	position: absolute;
    top: 0;
    left: 0;
    width: 40vw;
	height:40vw;
	z-index:-1;
}
.bg-head_inner {
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff9ec;
	z-index:-1;
}
#head {
  /*background:rgba(255,255,255,0.8);  
  border-radius:0 0 20px 20px;*/ 
 /* padding:3px 0; */ 
  position: static;
  width:100%;
 /* max-width:1400px;*/
}
.logo {
	/*text-align:center;*/
	float:left;
	margin:10px 0 10px 20px;	
}
.logo a span {
	color:#624940;
	font-weight:600;
	margin-left:8px;
	font-size:18px;
}
.reservebtn {	
	background: linear-gradient(to right, #caa148 0%, #eccc79 50%, #be9e59 100%);
}	
.reservebtn a {
	width:150px;	
	color:#FFF;
	text-align:center;
	height:20px;
	line-height:20px;
	font-size: clamp(16px, 1.6vw, 20px);
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
	font-weight:normal;
	display:block;
	padding:26px 8px 25px;
}
#menuA {
  float: right;   
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#menu ul {
  margin: 0 auto;
  box-sizing: border-box;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#menu li {
  position: relative;
  flex: 1 0 auto;
  text-align: center;
  line-height: 1;
  margin:0 8px 0;
}
#menu li a {
  padding:10px 10px 10px ;
  color: #634A40;
  line-height:1;
  border-radius: 3px;
  display: block;
  font-weight:400;
  font-size: clamp(14px, 1.2vw, 15px);
  /*text-shadow: 1px 1px 1px #FFF, -1px 1px 1px #FFF, 1px -1px 1px #FFF, -1px -1px 1px #FFF;*/
}
#menu li a:hover {
  text-decoration: none;
  color: #FFF;
  background-color: #988c87;
}
#menu li a span {
  display: block;
  font-size: 12px;
  color:#777;
  letter-spacing:1px;
}
.sidetxt {
	position: absolute;
	left:45px;
	top:20px;	
	color:#634A40;
	-ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  /*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;*/
  font-size:1.2em;
  font-weight:300;
  letter-spacing:0.1em;
}

/*FLASH*/
#flashA {
	width:100%;	
}
#flash {
    display: flex;
    flex-wrap: wrap;
	position:relative;
}
#flash img {
	width:100%;
}
.flash_R,
.flash_L {
	width:50%;
}
.flashimg {
	position: relative;
	width:96%;
	max-width:1000px;
	margin:20px auto 30px;
	color: #8c7f79;
  font-size: clamp(16px, 1.7vw, 24px);
  line-height:2.2;
  font-weight: bold;
  text-align:center;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
}
.flashimg span {
	font-size:1.2em;
}
@media screen and (max-width:820px) {

/* flash */	
#flash {

}
.flashimg {
	font-size:2.3vw;
}
}
@media screen and (max-width:600px) {
#flashA {
}
#flash {
}
.flash_R,
.flash_L {
}
.flashimg {
	font-size:4.2vw;
	letter-spacing:-0.03em;
	margin:10px auto 20px;
}
}
/*パンくず*/
#pankuzu {
	float:right;
	margin: 20px 0 0;
	padding:0 8px;
	font-size:11px;
	background:rgba(255,255,255,0.8);
	
}
#pankuzu li {
	display: inline;
}
#pankuzu li a {
	display: inline;
	padding:0;
}
#pankuzu li + li:before {
    margin: 0 10px;
    content: ">";
}


/* singlepage */
#singlepage {
	padding:0 0 350px;
}
.single {
	width:92%;
	max-width:1000px;
	margin:0 auto;
	padding:50px 0;
	overflow:hidden;
}
.single1 {
	width:100%;
	margin:0 auto;
	padding:25px 0;
	overflow:hidden;
}
.single2 {
	width:100%;
	padding:30px 0 0;	
	overflow: hidden;
}
.single3 {
	width:96%;
	max-width:1400px;
	margin:0 auto;
	padding:40px 0;
	overflow:hidden;
}
.single4 {
	width:92%;
	max-width:1000px;
	margin:0 auto;
	padding:20px 0 30px;
	overflow:hidden;
}
.single5 {
	width:94%;
	max-width:1400px;
	margin:0 auto;
	padding:25px 0;
}
.single6 {
	width:94%;
	max-width:1300px;
	margin:0 auto;
	padding:60px 0 0;
	overflow:hidden;
}
#singlepage section {
	width:1000px;
	margin:0 auto;
	padding:30px 0;
}
.textwrap {
	width:1000px;
	margin:0 auto;
	padding:50px 0;
	background:rgba(255,255,255,0.8);
}
.textwrap2 {
	width:1000px;
	margin:50px auto ;
	background:rgba(255,255,255,0.8);
}

.mt-pink2 {
	color:#147240;
	font-size:18px;
	font-weight:bold;
	margin:10px 0;
	border-bottom:1px solid #555;
}
.pbox {
	padding:20px;
	overflow:hidden;
}
.textwrap h1 {
	text-align:center;
	width:auto;
	margin:0 0 20px;
}
.pprice {
	background:rgba(255,255,255,0.3);
	padding:1px 10px;
	overflow:hidden;
	font-size:15px;
	border-radius:10px;
	margin:5px 0;
}
.pprice b {
	color:#E0FF00;
}
.pprice:before {
	font-family:'FontAwesome';
	content:"\f140";
	color:#E0FF00;
	margin-right:5px;
}

.mtitle-x {
	font-size:25px;
	text-align:center;
	color:#484848;
	margin:20px 0 5px;
}

/*containar*/
#body {
	position: relative;
    width: 100%;
    min-height: 100%;
    height: auto !important;
    height: 100%;
}
#containar {
	position: relative;
	width: 980px;
    min-height: 100%;
    height: auto !important;
    height: 100%;
	margin: 0 auto;
	padding: 0;
	background: #fff;
	box-shadow:rgba(125, 125, 125, 0.5) 0px 0px 2px 2px;
}
#wrapA {
	width:100%;
}
#wrap {
	width: 1000px;
	padding: 20px 0px 280px;
	margin: 0 auto;
}

/* main */
#main {
	float: left;
	width: 710px;
}
.box {
	position:relative;
	width:90%;
	max-width:960px;
	padding:40px 40px 0 40px;
	overflow:hidden;
	margin:-5% auto 0;
	background:#FFF;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.05), 0 1px 1px rgba(0, 0, 0, 0.05);
	z-index:5555;
}
.mbox {
	margin:25px 0;
	overflow:hidden;
}
.mbox h3 {
	font-size: clamp(20px, 1.6vw, 26px);
  font-weight: 600;
  color: #634A40;
  line-height: 1.5;
  margin: 10px 0;
}
.mbox a {
	font-weight:700;
}
@media screen and (max-width: 820px) {
.mbox h3 {
	font-size:2.4vw;	
}
}
@media screen and (max-width: 600px) {
.mbox h3 {
	font-size:4.8vw;	
}	
}	
.mbox1 {
	width:92%;
	max-width:1100px;
	margin:20px auto ;
	overflow:hidden;
    display: flex;
    flex-wrap: wrap;	
    justify-content: space-between;	
}
.mbox1 p {
	width:60%;
}
.mbox1 img {
	width:38%;
}
@media screen and (max-width:820px) {
.mbox1 {
	width:100%;
	margin:0 auto;
}
.mbox1 p {
	width:92%;
	margin:5px auto 15px;
}
.mbox1 img {
	width:100%;
}	
}
/*プライバシーポリシー*/
.pp {
	margin:15px 0;
}
.pp li {
    list-style: outside decimal;
	margin:10px 0;
}
.pp li::marker {
    font-size: 1.3em;
    font-weight: 600;
    color: #503a30;
}
.mbox2 {
	border:#CCC solid 1px;
}
.mbox2text {
	padding:10px;
}
.mbox2date {
	font-size:12px;
	color:#988c87;
	text-align:right;
}
.pager_arrow {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.pager_prev,
.pager_next {
	margin:10px;
	font-size:13px;
}
.pager_prev a,
.pager_next a {
	color:#555;
}
.pager_prev a:before {
	font-family:'FontAwesome';
	content:"\f100";
	margin-right:5px;
}
.pager_next a:after {
	font-family:'FontAwesome';
	content:"\f101";
	margin-left:5px;
}
.mbox3 {
    padding:10px 20px 15px;
	border:1px solid #DDD;
	background:#FFF;
    overflow: hidden;
	border-radius:0 0 4px 4px;
}
@media screen and (max-width: 600px) {
.mbox3 {
    padding:10px 10px;
}	
}
.mbox4 {
    padding:20px 30px;
	background:#f9f8f8;
	border-radius:4px;
}
.mbox4 a {
	font-weight:600;
	color:#336633;
}
.mbox5 {
    padding:15px 20px;
    overflow: hidden;
	background:#FFF;
	border-radius:10px;
}
/*TOPお知らせ*/
.newsboxtitle {
  font-size: 26px;
  letter-spacing: 2px;
  color: #60410b;
  line-height: 1.4;
  font-weight: 600;
  padding-bottom: 5px;
  border-bottom: #60410b 1px dashed;
  line-height:1.4;
  margin-bottom:20px;
}
.newsboxcontent {
	margin:10px 0;
	overflow:hidden;
}
.newsboxcontent_title,
.newsboxcontent_title a {
	font-size: clamp(16px, 1.6vw, 20px);
    font-weight: 600;
    color: #60410b;
    line-height: 1.5;
    margin-bottom: 5px;	
}
@media screen and (max-width: 600px) {
.newsboxtitle {
	font-size: 20px;
	letter-spacing: 1px;
	text-align: center;
}
.newsboxcontent_title {
	font-size: 4.6vw;
	letter-spacing:normal;
}
}
/*お客様の声スライド*/
.voicebox {
  padding: 20px 30px;
  background: #fff;
  border-radius: 0 0 3px 3px;
  border: #d0d0cf solid 1px;
}

.voicetitle {
  font-size: 20px;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 10px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
}

.voicetitle span {
  color: #d18e8b;
  font-weight: bold;
  font-size: 3em
}

.voicebox img {
  max-width: 100%;
  height:auto;
}

@media screen and (max-width: 600px) {
.voicebox {
  padding: 3vw;
}	
  .voicetitle span {
    font-size: 40px
  }
}
.ticker {
      margin: 0 auto;
      padding: 5px 0;
      width: 100%;
      text-align: left;
      position: relative;
      overflow: hidden;
}

.ticker ul {
      width: 100%;
      position: relative;
}

.ticker ul li {
      width: 100%;
      display: none;
}
/*お客様の声スライドここまで*/
.lsingle {
	float:left;
}
.rsingle {
	float:right;
}
.lsingle,
.rsingle {
	width:48.5%;
	overflow:hidden;
}
/* footer */
/*totop*/
#page-top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  font-size: 12px;
  font-weight: bold;
	z-index:9999999;
}
#page-top a {
  color: #FFF;
  font-size: 20px;
  font-family: 'FontAwesome';
  content: "\f102";
  text-decoration: none;
  padding: 2px 12px 4px;
  text-align: center;
  display: block;
  background: #8c7f79;
  border-radius: 50%;
  /*box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 2px;*/
}
#page-top a:hover {
  background: #AAA;
  text-decoration: none;
}
@media screen and (max-width:820px) {
#page-top {
    right: 5px;
	bottom:80px;
}	
}
@media screen and (max-width:600px) {
#page-top {
    right: 10px;
	bottom:60px;
}	
#page-top a {
  font-size: 16px;
  padding: 3px 10px 3px;
}	
}
/*-------------*/
#page-top2 {
  position: fixed;
  bottom: 10px;
  right: 10px;
  font-size: 77%;
}
#page-top2 a {
    /*width: 250px;
	height:250px;*/
    color: #fff;
    /*background: url(../img/kaitori.png) no-repeat;*/
    /*border-radius: 50%;    
    padding: 30px 0;*/
    text-align: center;
    display: block;
	z-index:5555;
}
#page-top2:hover {
      text-decoration: none;
      color: #FFFFFF;
}
/* footer */
footer {
    display: flex;
    justify-content: space-around;
    flex-direction: column;
	width:100%;  
	background:#d0cdcc;
	color: #634A40;
}
#footer {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto 0;
    padding: 40px 0 40px;
    font-size: 15px;
}


/*f_navi フッターmenuツリー*/

.f_navi {
    width: calc(100% - 300px);
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.f_navi li {
    width: 25.3%;
    margin-left: 8%;
	line-height:1.6;
}

.f_navi li p {
    font-size: 16px;
    font-weight: 600;
	margin-bottom:10px;
    border-bottom: 1px dotted #AAA;
}

.f_navi li ul li {
    width: 100%;
	margin:0 0 10px;
}

.f_navi li ul li a {
    width: 100%;
    display: block;
    text-decoration: none;
    color: #FFF;
    font-size: 14px;
    font-weight: 400;
    /*margin: 3px 0;*/
}
.f_navi li ul li a:before {
	font-family:'FontAwesome';
	content:"\f0da";
	margin-right:8px;
}

/*f_navi フッターmenuツリー*/

.logo-f {
    float: left;
    max-width: 280px;
    line-height: 1.8;
    overflow: hidden;
}
.foottel {
	margin-top:5px;
	font-size:14px;
	line-height:1.6;
}
.foottel span {
	font-size:18px;
	font-weight:600;
	letter-spacing:1px;
}
.footsns {
    display: flex;
    flex-wrap: wrap;
    justify-content:space-between;	
	margin-top:10px;
}
.footsns p {
	width:48.5%;
}
.footsns p img {
	width:100%;
}
#footer address {
    line-height: 1.8;
    font-weight: 300;
    font-size: 13px;
    letter-spacing: 0.1em;
}

#footer address span {
    font-size: 16px;
    font-weight: 500;
}

#footer a:link,
#footer a:visited {
    color: #634A40;
}


/* fnavi */

#fnavi {
    width: 100%;
    margin: 0px 0 5px;
    border-bottom: 1px #CCC solid;
    padding-bottom: 5px;
}

#fnavi li {
    display: inline-block;
    list-style: none;
    text-align: center;
    padding: 0;
    margin: 0 10px;
    font-size: 13px;
    letter-spacing: 1px;
    font-weight: 400;
}

#fnavi li:before {
    font-family: 'FontAwesome';
    content: "\f0da";
    margin-right: 5px;
}

#fnavi li a:link,
#fnavi li a:visited,
#fnavi li a:hover {
    color: #222 !important;
    text-decoration: none;
}
.copyright {
	/*text-align:center;*/
  letter-spacing:1px;
  width: 100%;
  font-size: 10px;
  padding:5px 0;
  font-weight:300;
  line-height:1.6;
}
@media screen and (max-width: 820px) {
#footer {
  width: 90%;
  padding:20px 0 130px;
}	
.f_navi {
	display:none;
}
.logo-f {
	float:none;
	max-width:500px;
	margin:0 auto;
	text-align:center;
}
.footsns {
	width:50%;
	margin:10px auto;
}
}
@media screen and (max-width:600px) {
#footer {
  padding:20px 0 70px;
}
.logo-f {
	max-width:none;
}
.logo-f img {
	max-width:45vw;
}
.footsns {
	width:100%;
}
}
.contactbx {
  text-align: center;
  margin: 10px 0 ;
}
.contactbx li {
  display: inline-block;
  margin: 0 5px;
}
.contactbx a {
  width: 100%;
  display: block;
  text-decoration:none;
}
.contactbx li a:link, .contactbx li a:visited, .contactbx li a:hover {
  color: #FFF;
}
.contactbx li:hover {
  opacity: 0.8;
}
.contactbx .tl a {
  background: #00b900 ;
  line-height:1;
  width: 400px;
  font-weight: normal;
  padding:8px 0 12px;
  border-radius: 0px;
  letter-spacing: 2px;
  font-size: 22px;
  border:1px solid #777;  
  border-radius:5px;
}
.contactbx .tl2 a {
  background: #fecd2f ;
  line-height:1;
  width: 400px;
  font-weight: normal;
  padding:8px 0 12px;
  border-radius: 0px;
  letter-spacing: 2px;
  font-size: 22px;
  border:1px solid #777;
  border-radius:5px;  
}
.contactbx .ml a {
  background: #fecd2f;
  width: 400px;
  font-weight: 400;
  padding: 0;
  border-radius: 0px;
  border:1px solid #777;  
  letter-spacing: 1px;
  font-size: 20px; 
  border-radius:10px;
  font-family: 'Noto Sans JP', sans-serif;
}
.contactbx .ml2 a {
  background: #00b900;
  width: 400px;
  font-weight: 400;
  padding: 0;
  border-radius: 0px;
  border:1px solid #777;  
  letter-spacing: 1px;
  font-size: 20px; 
  font-family: 'Noto Sans JP', sans-serif;
}
.contactbx .tl a:before {
  /*font-family:'FontAwesome';
	content:"\f10b";
	margin-right: 10px;*/
}
.contactbx .tl2 a:before {
  font-family:'FontAwesome';
	content:"\f003";
  margin-right: 10px;
}
.contactbx .ml a:before {
  /*font-family:'FontAwesome';
	content:"\f003";
  margin-right: 15px;*/
}
.contactbx .ml a:link, .contactbx .ml a:visited,
.contactbx .ml2 a:link, .contactbx .ml2 a:visited {
  color: #FFF;
}
.contactbx .ml a:hover {
/*  color: #fff;*/
  background: #69d0e3;
}
.contactbx .ml2 a:hover {
/*  color: #fff;*/
  background: #028202;
}
.contactbx .tl a:link, .contactbx .tl a:visited {
  color: #FFF;
}
.contactbx .tl2 a:link, .contactbx .tl a:visited {
  color: #FFF;
}
.contactbx .tl a:hover {
/*  color: #fff;*/
  background: #00b900;
}
.contactbx .tl2 a:hover {
/*  color: #fff;*/
  background: #a5a6cd;
}
.mttl_contact {
    text-align: center;
    font-size: 2rem;
    /*line-height: 1.4;*/
    position: relative;
    letter-spacing: 1px;
	font-weight:500;
	margin-bottom:10px;
	font-family: 'Josefin Sans', sans-serif;
	color:#555;
}
.mttl_contact span {
    font-size: 1.4rem;
    color: #333;
	font-weight:400;	
    margin-left: 10px;
    border-left: 2px solid #333;
    padding-left: 10px;
	font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 768px) {
  .contact {
    width: 90%;
    margin: 0 auto;
  }

  .mttl_contact {
    float: none;
    text-align: center;
    font-size: 26px;
    letter-spacing: 1px;
  }
  .mttl_contact span {
    font-size: 1.1rem;
    letter-spacing: 1px;
  }

  .contactbx {
    width: 90%;
    margin: 16px auto !important;
  }
  .contactbx li {
    display: block !important;
	margin: 0 0 10px;
  }
  .contactbx .tl a,
  .contactbx .tl2 a {
    display: block;
    width: 100% !important;
	font-size:18px;
  }
  .contactbx .ml a,
  .contactbx .ml2 a {
    display: block;
    width: 100% !important;
  }
}

/*TOPICS背景*/
.bg-wall {
  background:url(../img/top_bg.webp);/*背景色*/
  background-size:100%;
  background-position:bottom;
  background-repeat: no-repeat;
}
.bg-wall2 {
	position:relative;
	overflow:hidden;
}
.bg-wall2:before {
	content:"";
	display: inline;
	position:absolute;
	bottom:0;
	right:-34vw;
	width:50vw;/*横幅*/
	height: 80%;/*縦幅*/
  background:url(../img/bg-wall2.jpg);/*背景色*/
    background-size:cover;
  z-index:-1;
  animation: fluidrotate 30s ease 0s infinite;/*アニメーションの設定*/
}
@keyframes fluidrotate {  
	  
0%, 100% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
}
14% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
}
28% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
}
42% {
    border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
}
56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
}
70% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
}
84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
}
}
.bg-wall3 {
	background-image: url(../img/wall3.png),url(../img/wall33.png);
    background-position: top left, right bottom;
    background-repeat:no-repeat;
}
.bg-wall4 {
	background-image: url(../img/wall4.jpg);
    background-position: center bottom;
    background-repeat: no-repeat;
	padding-bottom:55vh;
	background-size:100vw;
}
@media screen and (min-width:1680px) {
.bg-wall4 {
	padding-bottom:55vh;	
	background-size:80vw;
}	
}
.bg-01 {
	position: relative;
	padding:20px 0 0;
}
.bg-01:before {
    position: absolute;
    content: "";
    width: 70%;
    height: 100%;
    top: auto;
    bottom: 0;
    right: 0;
    /*opacity: .5;*/
    background-image: linear-gradient(0deg, transparent 34px, #e8e8e8 35px),linear-gradient(90deg,  transparent 34px, #e8e8e8 35px);
	background-color: #FFF;
	background-size: 35px 35px;
    z-index: -1;
}
@media screen and (max-width:820px) {	
.bg-01:before{
  background-image: none;
}
}


.bg-02 {
	position: relative;
}
.bg-02:before {
    position: absolute;
    content: "";
    width: 65vw;
    height: 100%;
	background:#F1F1F1;
    z-index: -1;
}
@media screen and (max-width: 600px) {
.bg-02:before {
    width: 75vw;
}
}
/*テーブル*/
table {
}
table th {
	vertical-align: middle;
	padding: 5px 10px;
	border: #DDD 1px solid;
}
table td {
	padding: 5px 10px;
	vertical-align:middle;
	border: #DDD 1px solid;
}
/*fee */
  .fee {
    width: 99%;
	margin:0 auto 0;
  }
  .fee th {
	  background:#EEE;
	  font-weight:500;
	  text-align:left;
	  padding:0 10px;
	  vertical-align: middle;
	  line-height: 1.5;
	  border: #DDD 1px solid;
  }
  .fee td {
	  line-height:1.3;
	  padding:10px 15px;
	  vertical-align:middle;
	  border: #DDD 1px solid;
	  }  
@media screen and (max-width: 600px) {
  .fee {
    width: 98%;
	font-size:14px;
	border: #DDD 1px solid;	
  }	
  .fee th {
	padding:5px 10px;
  }
  .fee th,
  .fee td {
    display: block;
	border:none;		
  }
  .fee td {
	padding:10px;
  }  
}
/*fee2 */
  .fee2 {
	  width:98%;
	  margin:0 auto;   
  }
  .fee2 th {
	  background:#634A40;
	  color:#FFF;
	  padding:8px 0;
	  text-align:center;
	  border: #DDD 1px solid;	  
  }
  .fee2 td {
	  background:#FFF;
	  padding:8px 15px;
	  border: #634A40 1px solid;		  
  } 
  .fee2 td a {
	  color:#634A40;
	  font-weight:600;
  }
@media screen and (max-width: 600px) {
  .fee2 {
  }	
  .fee2 th {
    display: block;
	border:none;	
  }
  .fee2 td {
    display: block;
	text-align:center;
  }   
}
/*fee3 */
  .fee3 {
    width: 99%;
	margin:0 auto;
  }
  .fee3 th {
	  background:#d52b20;
	  color:#FFF;
	  font-weight:500;	  
	  text-align:center;
	  line-height:1.5;
	  padding:15px 0;	  
  }
 .fee3 td {
	  padding:5px 15px;
	  }
 .fee3 td b {
	  font-weight:500;
	  }
@media screen and (max-width: 600px) {
  .fee3 {
    width: 98%;
  }	
  .fee3 th {
    border-bottom: none;
	padding:10px 0;
  }
  .fee3 td  {
	font-size:16px;	
  }
  .fee3 td span {
	  font-size:1.8em;
  }
  .fee3 th,
  .fee3 td {
    display: block;
  }
  .fee3 td {
	text-align:center;
  } 
  .fee3 td.tableimg {
	  width:auto;
  } 
}
/*新メールフォーム*/
.form {
	margin:10px 0 10px;
}
.form dt span {
	color:#fff;
	background:#FF0000;
	padding: 0 5px 0;
	margin-right:5px;
	font-size:10px;
	border-radius:2px;
	position:relative;
	top:-2px;
}
.form dl {
	margin:10px 0;
}
.form dt {
	float: left;
	width:280px;
	padding-top: 20px;
	margin-right:30px;
	text-align:right;
}
.form dd {
	padding-left:310px;
	padding-bottom: 20px;
	padding-top: 23px;
}
.form dd p {
	font-size:15px;
	padding-top:5px;
	color:#444;
}
.form dd a:link,
.form dd a:visited,
.form dd a:hover {
	color:#932e4b;
	font-weight:500;
}
.form dd:last-child {
	border-bottom:0px;
	margin-bottom:0px;
}
.textarea, textarea, .dropdown {
	border-radius:2px;
	border:1px solid #ddd;
	padding:10px;
}
.textarea {
	border-radius:2px;
	border:1px solid #ddd;
	height:30px;
	padding:0 5px;
}

.form button {
}
.form-button {
	padding:5px;
	border-radius:5px;
	text-align:center;
	margin:10px 0;
}
#mailform button {
	cursor:pointer;
	display: block;
	margin: 0 auto 5px;
	padding: 10px 0 10px;
	color: #fff;
	text-align: center;
	width: 250px;
	border-radius: 5px;
	background:#111;
	font-size: 16px;
	/*font-weight: bold;*/
}
#mailform button:before{
	font-family:'FontAwesome';
	content:"\f003";
	margin-right:6px;
}
#mailform button:hover {
	color: #FFF;
    background-color:#336633;
}
#mailform button *,
.form-button * {
	-moz-transition: 0.2s;
	-ms-transition: 0.2s;
	-o-transition: 0.2s;
	transition: 0.2s;
}
/*RadioとText*/
label.radio_text {
	cursor       : pointer;
	position     : relative;
	margin-right : 20px;
	overflow     : hidden;
	padding-left : 20px;
	display      : inline-block;
}
label.radio_text:before {
	position      : absolute;
	width         : 15px;
	height        : 15px;
	border        : 1px solid #ccc;
	border-radius : 50%;
	left          : 0px;
	top           : 2px;
	content       : '';
	z-index       : 3;
}
label.radio_text:after {
	content          : '';
	position         : absolute;
	width            : 11px;
	height           : 11px;
	border-radius    : 100%;
	left             : 3px;
	top              : 5px;
	background-color : #aaa;
	z-index          : 1;
}
label.radio_text input[type="radio"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position   : absolute;
	z-index    : 2;
	width      : 20px;
	height     : 20px;
	left       : -23px;
	top        : 0px;
	margin     : 0px;
	box-shadow : 20px -1px #FFF;
}
label.radio_text input[type="radio"]:checked {
	box-shadow : none;
}
label.radio_text input[type="radio"]:focus {
	opacity    : 0.2;
	box-shadow : 20px -1px #FFF;
}
/*CheckBoxとText */
label.checkbox_text {
	cursor       : pointer;
	position     : relative;
	padding-left : 25px;
	padding-bottom : 5px;	
	margin-right : 20px;
	overflow     : hidden;
	display      : inline-block;
	box-sizing   : border-box;
	line-height:1;
}
label.checkbox_text:before {
	content  : '';
	position : absolute;
	width    : 18px;
	height   : 18px;
	left     : 0px;
	top      : 0;
	border   : 1px solid #ccc;
	z-index  : 3;
}
label.checkbox_text:after {
	content           : '';
	position          : absolute;
	top               : 40%;
	left              : 5px;
	display           : block;
	margin-top        : -9px;
	width             : 8px;
	height            : 12px;
	border-right      : 3px solid #aaa;
	border-bottom     : 3px solid #aaa;
	transform         : rotate(45deg);
	z-index           : 1;
}
label.checkbox_text input[type="checkbox"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position   : absolute;
	left       : -40px;
	width      : 20px;
	height     : 20px;
	display    : block;
	box-shadow : 41px 0px #FFF;
	z-index    : 2;
	margin     : 0px;
	padding    : 0px;
}
label.checkbox_text input[type="checkbox"]:checked {
	box-shadow : none;
}
label.checkbox_text input[type="checkbox"]:checked:focus {
	box-shadow : 40px 0px #666;
	opacity    : 0.1;
}
label.checkbox_text input[type="checkbox"]:focus {
	box-shadow : 41px 0px #EEE;
}
.fm-text {
	padding:10px;
	font-size:12px;
	margin:10px 0;
	text-align:center;
}
/* /新メールフォーム */
/*枠*/
.tbox {
    padding: 15px 20px;
}
/*枠*/
.topbox {
    margin:0 0 0 65px;
    letter-spacing: 0.1em;
    line-height: 2.2;
	overflow:hidden;
}
.topbox h2 {
	font-size: clamp(16px, 1.6vw, 20px);
	margin:10px 0 0;
	font-weight:500;
	line-height:2;
	color:#634A40;	
}
.topbox h3 {
	font-size: clamp(16px, 1.6vw, 20px);
	font-weight:600;
	letter-spacing:0.1em;	
	color:#634A40;
}
/* photoboxギャラリー*/
.works {
	width:100%;
	margin:10px auto 0;
	padding:10px;
}
.works ul {
	margin-right:-21px;
	margin-bottom:-10px;
	overflow:hidden;
}
.works .gallery  {
	background:#eee;
	width:216px;
	height:216px;
	line-height:216px;
	text-align:center;
	vertical-align:middle;
	overflow:hidden;
}
.works .gallery img {
	max-width:216px;
	max-height:216px;
	vertical-align:middle;
}
.works li {
	float:left;
	width:216px;
	margin-right:20px;
	margin-bottom:20px;
	font-size:10px;
}
.works li span {
}
.works dl {
	background:#222;
	height:45px;
	color:#fff;
	padding:10px 0;
	margin-top:5px;
	border: 0px solid #fff;
}
.works li dt {
	font-weight:bold;
	text-align:center;
	font-size:12px;
	border-radius:5px;
	line-height:1.6;
}
.works li dd {
	padding:5px 0 0;
	text-align:center;
}
/* photoboxギャラリー*/
.works {
    width:100%;
    margin:10px auto 0;
    padding:10px;
}
.works ul {
    margin-right:-21px;
    margin-bottom:-10px;
    overflow:hidden;
}
.works .gallery  {
    background:#eee;
    width:225px;
    height:225px;
    line-height:225px;
    text-align:center;
    vertical-align:middle;
    overflow:hidden;
}
.works .gallery img {
    max-width:225px;
    max-height:225px;
    vertical-align:middle;
}
.works li {
    float:left;
    width:225px;
    margin-right:20px;
    margin-bottom:20px;
    font-size:10px;
}
.works li span {
}
.works dl {
    color:#000;
    padding:10px 0;
}
.works li dt {
    font-weight: normal;
    text-align:center;
    font-size:11px;
    border-radius:5px;
    line-height:1.6;
}
.works li dd {
    padding:5px 0 0;
    text-align:center;
}
/*フォトギャラリー*/
/*.photo*/
.photo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top:20px;
}

.photo li {
  width: calc(100%/4 - 20px);
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 10px 10px;
  text-align: center;
}

.photo a {
  display: block;
  padding-bottom: 80.25%;
  height: 0;
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
}

.photo img {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  min-width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.photo h3 {
  text-align: center;
  line-height: 1.6;
  color: #02012b;
  font-size:16px;
  font-weight:500;
}
.photo p {
  text-align: center;
  line-height: 1.5;
  color: #555;
  font-size:13px;
  font-weight: 300;
}
@media screen and (max-width: 820px) {
.photo li {
    width: calc(100%/2 - 20px);
}
}
@media screen and (max-width: 600px) {
  .photo li {
    width: calc(100%/2 - 10px);
    margin: 0 5px 5px;
  }

  .photo:nth-child(2n) {
    margin-right: 0;
  }
  .photo h3 {
    font-size: 14px;
  }
  .photo p {
    font-size: 12px;
  }
}
/*新着情報（トピックス）*/
.news-ttl {
  width: 20%;
  font-family: 'Montserrat', sans-serif;
  vertical-align: middle;
  text-align: left;
  color: #FFF;
  font-size: 32px;
  text-align:center;
  /*border-right: 1px solid #EEE;*/
  line-height: 1.2;
  letter-spacing: 2px;
}
.news-ttl  span {
    font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue",YuGothic,"ヒラギノ角ゴ ProN W3",Hiragino Kaku Gothic ProN,Arial,"メイリオ",Meiryo,sans-serif;
    font-size: 1.2rem !important;
    display: block;
  }
.news-bx {
  flex: 1;
  width: calc(100% - 60px);
  padding:0 30px;
}
.news {
	max-height: 300px;
	overflow:auto;
}
.news dt {
	float: left;
	width: 8em;
	border-radius:3px;
	margin-top: 8px;
	color: #8c7f79;	
	background:#eae8e7;
	text-align:center;
	font-size:0.7em;
}
.news dd {
	padding-left:7em;
	padding-bottom: 5px;
	padding-top: 5px;
	border-bottom: dashed 1px #CCC;
	font-size:15px;
}
.news dd a:link,
.news dd a:visited,
.news dd a:hover {
	color:#8c7f79;
	font-weight: 500;
	font-size:16px;	
}
/*.news2 */
.news2 {
	max-height: 900px;
	overflow:auto;
/*	padding-bottom:50px;*/
}
.news2 dt {
	float: left;
	width: 6em;
	padding-top: 8px;
	line-height: 1.8;
	font-weight:400;
	color:#fecd2f;
}
.news2 dd {
	padding-left:7em;
	padding-bottom: 10px;
	padding-top: 8px;
	line-height: 1.8;
	/*border-bottom: dotted 1px #555;*/
}
/*新着情報（トピックス）*/
.newsl dl {
}
.newsl dt {
	float: left;
	width:130px;
	padding-top: 10px;
	line-height: 1.3;
	color:#333;
	font-weight:bold;
}
.newsl dd {
	padding-left:140px;
	padding-bottom: 20px;
	padding-top: 10px;
	line-height: 1.6;
	font-size:15px;
	border-bottom: dotted 1px #b6ae83;
}
.news dd:last-child {
/*	border-bottom:0px;
	padding-bottom:0px;
*/
}
.newsl dd b {
	color:#594C39;
}
.news-s {
	margin:15px 0;
}
.news-s dt {
	font-size:14px;		
	float: left;
	width: 6em;
	line-height: 1.6;
	padding-bottom:3px;
	font-weight:400;
	color:#FFF;
	background:#988c87;
	text-align:center;
}
.news-s dd {
	font-size:15px;	
	padding-left:7em;
	padding-bottom: 15px;
	line-height: 1.6;
	/*border-bottom: dashed 1px #333;*/
}
.news-s dd a {
	color: #8c7f79;
	font-weight:600;	
}
.news-s dd:last-child {
	padding-bottom: 0;

}
.news-sr {
	letter-spacing:1px;
	margin-top:20px;
}
.news-sr dt {
	float: left;
	width: 6em;
	padding-top: 13px;
	line-height: 1.6;
	font-weight:700;
	color:#777;
}
.news-sr dd {
	padding-left:7em;
	padding-bottom: 15px;
	padding-top: 13px;
	line-height: 1.6;
	border-bottom: dashed 1px #AAA;	
}
.news-bl {
	overflow:hidden;
	margin:0 auto;
	padding:10px;
}
.news-bl:nth-child(odd) {
  background:#F7F7F7; !important;
}
.news-bl dt {
	float: left;
	width: 10em;
	color:#444;
	text-align:center;
	font-weight:500;
	font-size:16px;	
}
.news-bl dd {
	padding-left:11em;
	/*border-bottom: dotted 1px #aaa;*/
}
.news-bl dd h3 {
	font-size:18px;
	color:#555;
}
.news-r {
    display: flex;
    flex-wrap: wrap;
    justify-content:center;
	margin-bottom:15px;
}
.news-r dt {
	text-align:center;
	border-radius:3px;
	color:#FFF;
	background:#111;
	font-weight:400;
	line-height:1;
	padding:7px 15px 0;
}
.news-r dd {
	margin-left:25px;
}
/*.textBox .photoBox*/
.textBox .photoBox {
    width: 50%;
    float: left;
    height: 447px;
    background: url(../img/photobox1.jpg) no-repeat right top;
    background-size: cover;
}
.normal {
	letter-spacing:normal;
}
/* list-check */
.list-check {
	overflow:hidden;
	font-weight:400;
	/*color:#FFF;*/
}
.list-check li:before {
	font-family:'FontAwesome';
	content:"\f0a9";
	margin-right:8px;
	padding-left: 5px;
	color:#988c87;
}
.list-check li {
	padding-bottom:5px;
	border-bottom: dashed 1px #888;
	font-size:18px;
	margin-bottom:10px;
	font-weight:500;
}
.list-check li:last-child {
	/*border-bottom: 0px;*/
}
.list-check li p {
	font-size:15px;
	font-weight:300;
	padding-left:0;
}
.list-check li img {
	float:right;
}
/* list-check */
.list-check2 {
}
.list-check2 li {
	margin:8px 0;
	line-height:1.6;
	border-bottom: dashed 1px #CCC;
	padding-bottom:3px;
	font-size:15px;
}
.list-check2 li a {
	color:#8c7f79;
	font-weight: 500;
	font-size:16px;	
}
/* list-check3 */
.list-check3 {
	overflow:hidden;
	margin-top:10px;
}
.list-check3 li:before {
	font-family:'FontAwesome';
	content:"\f0a9";
	margin-right:5px;
	font-weight:normal;
	color:#634A40;
}
.list-check3 li {
	float:left;
	margin-right:25px;
}
.list-check3 li:last-child {
	margin-right:0;
}
/* list-check4 */
.list-check4 {
	margin-top:20px;
	
}
.list-check4 li {
	/*background: linear-gradient(#60410b, #7F673B);*/
	background:#de96a9;
	border-radius:5px;
	margin-top:15px;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(0, 0, 0, 0.2);	
}
.list-check4 li:first-child {
	background:#a9de96;
}
.list-check4 li a {
	font-size: clamp(18px, 1.7vw, 28px);
	color:#634A40;
	font-weight:600;
	display:block;
	padding:0 20px;
}
.list-check4 li a:before {
	font-family:'FontAwesome';
	content:"\f046";
	margin-right:8px;
}
.list-check4 li:hover {
	background:#e7f5e1;	
}
/*plice list*/
.lbox {
  float: left
}
.rbox {
  float: right;
}
.lbox,
.rbox {
	width:49%;
}
@media screen and (max-width: 600px) {
.lbox,
.rbox {
	width:100%;
	float:none;
}	
}
.pricelist {
	overflow:hidden;
	line-height:1;
	font-weight:bold;
	font-size: clamp(20px, 1.8vw, 24px);
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
}
.pricelist dt {
	float: left;
	padding-top:10px;
}
.pricelist dt:before {
	font-family:"Font Awesome 5 Free";
	content:"\f0a9";
	margin-right:5px;
	margin-left:3px;
	color:#988c87;
}
.pricelist dd {
	text-align:right;
	border-bottom: dotted 1px #aaa;
	margin-bottom:8px;
}
.pricelist dd span {
	font-size: 1.6em;
    color: #E66106;
	margin-right:3px;
}
.pricelist dd p {
	color:#555;
	font-size:0.7em;
	text-align:left;
	margin:3px 0 5px;
    font-family: 'Noto Sans JP', sans-serif;
	font-weight:500;
}
@media screen and (max-width: 600px) {
.pricelist {
	font-size:4.8vw;
}
.pricelist dt {
	padding-top:8px;
}
.pricelist dd {
	font-size:4.4vw;
	padding-bottom:4px;
	margin-bottom:10px;	
}
.pricelist dd span {
	font-size: 2em;
}
.pricelist dd p {
	font-size:0.8em;
	margin:8px 0 8px;
}
}
/*.list-bnr*/
.list-bnr {
/*  margin: 20px auto;*/
  font-size:18px;
  font-weight: 500;
  overflow: hidden;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}
.list-bnr li {
  width: calc(24% - 10px);
  background:#fecd2f;
  margin-bottom: 15px;
  position: relative;
  box-shadow: rgba(0, 0, 0, 0.4) 4px 4px 0 0;
}
.list-bnr li:before {
	font-family:'FontAwesome';
	content:"\f101";
	font-weight: 900;
	content: "";
	/*margin-right: 5px;*/
  position: absolute;
  left: 90%;
  bottom: 25%;
  color: #777;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  
}
.list-bnr li:hover:before {
  left: 92%;
}
.list-bnr li a {
  width: 100%;
  height: 100%;
  display: block !important;
  padding: 13px;
  font-weight:400;
  text-decoration:none;
}
.list-bnr li a span {
	font-size:0.8em;
	letter-spacing:1px;
	font-style:italic;
	color:#babff6;
}
.list-bnr li a:link, .list-bnr li a:visited, .list-bnr li a:hover {
  color: #777;
}
.list-bnr li:hover {
  background: #daccb7;
}
.list-bnr li:nth-child(3n+2):last-child {
  /*margin-right: 33.4%;*/
}
/*.list-bnr2*/
.list-bnr2 {
/*  margin: 20px auto;*/
  font-size:18px;
  font-weight: 500;
  overflow: hidden;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;  
}
.list-bnr2 li {
  width: calc(50% - 10px);
    background:#178524;
  margin-bottom: 15px;
  position: relative;
  box-shadow: rgba(0, 0, 0, 0.4) 4px 4px 0 0;
}
.list-bnr2 li:before {
	font-family:'FontAwesome';
	content:"\f101";
	font-weight: 900;
	content: "";
	/*margin-right: 5px;*/
  position: absolute;
  left: 90%;
  bottom: 25%;
  color: #FFF;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  
}
.list-bnr2 li:hover:before {
  left: 92%;
}
.list-bnr2 li a {
  width: 100%;
  height: 100%;
  display: block !important;
  padding: 13px;
  font-weight:400;
  text-decoration:none;
}
.list-bnr2 li a span {
	font-size:0.8em;
	letter-spacing:1px;
	font-style:italic;
	color:#babff6;
}
.list-bnr2 li a:link, .list-bnr2 li a:visited, .list-bnr2 li a:hover {
  color: #FFF;
}
.list-bnr2 li:hover {
  background: #88AAFF;
}
.list-bnr2 li:nth-child(3n+2):last-child {
  /*margin-right: 33.4%;*/
}
/* list-pdf */
.list-pdf {
	overflow:hidden;
	margin:5px 0;
	font-weight:bold;
	font-size:14px;
}
.list-pdf li:before {
	content:url(../img/icon_pdf.gif);
	margin-right:6px;
}
.list-pdf li {
	padding-left: 1.5em;
	text-indent: -1.5em;
	margin-bottom:5px;
	border-bottom:1px dotted #ccc;
}
.list-photo {
	overflow:hidden;	
}
.list-photo li {
	width:calc(100% - 22px);
	border:#AAA 1px solid;
	padding:10px;
	margin-bottom:15px;
}
.list-photo li img {
	width:100%;
}
/* linkbtn */
.linkbtn {
	width:100%;
	margin:10px 0;
}
.linkbtn ul {
	margin-right:-20px;
	margin-bottom: -20px;
}
.linkbtn li {
	float:left;
	margin-right:20px;
	margin-bottom:20px;
}
.linkbtn li a {
	display:block;
	width:333px;
	height:40px;
	line-height:40px;
	background:#ff9bc8;
	color:#fff;
	font-size:15px;
	font-weight:bold;
	text-align:center;
	border-radius:10px;
}
.linkbtn li a:link,
.linkbtn li a:visited,
.linkbtn li a:hover {
	color:#fff;
	text-decoration:none;
}
.linkbtn li a:hover {
	background:#ffc8e1;
}
.linkbtn li a:before {
	font-family:'FontAwesome';
	content:"\f0a9";
	margin-right:10px;
}
.linkbtn * {
  -webkit-transition: 0.1s;
  -moz-transition: 0.1s;
  -ms-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;
}
/*.blog_card（トピックス）*/
.blog_card {
    display: flex;
    flex-wrap: wrap;	
}
.blog_card li {
  width: calc(24% - 22px);
  margin-right:1%;
  padding: 10px;
  background-color: #FFF;
  border: 1px solid #CCC;
  margin-bottom:15px;
}
.blog_card li .blog_img {
	width:100%;
	height:22vh;
}
.blog_card li .blog_img img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.blog_card li .blog_date {
	font-size:13px;
	letter-spacing:1px;
	color:#555;
	line-height:1.2;
	padding-top:3px;
}
.blog_card li .blog_title {
  line-height: 1.5;
  font-weight:500;
  font-size:18px;
}
.blog_card li a:link,
.blog_card li a:visited {
	text-decoration:none;
  color:#d52b20;	
}
@media screen and (max-width: 820px) {
.blog_card {
    justify-content: space-between;
}	
.blog_card li {
  width: calc(48.5% - 22px);
  margin-right:0;
  margin-bottom:20px;  
}	
}
@media screen and (max-width: 600px) {
.blog_card {
}
.blog_card li {
  width: calc(100% - 22px);
}
.blog_card li .blog_title {
	font-size:16px;
}
}
/*FAQ*/
.todaycontainer {
	display: flex;
  flex-wrap: wrap;	
	
}
.todaybox {
    width: 92%;
    margin: 0 auto;
}
.todaybox dt {
	padding: 5px 0;
	/*text-align:center;*/
    font-weight: 600;
	font-size: clamp(16px, 2.4vw, 28px);
	/*background: linear-gradient(#60410b, #7F673B);
	border-radius: 10px 10px 0 0;
	color: #FFF;*/
	margin-bottom:35px;
	/*box-shadow: 3px 4px #666;
	width:25%;*/
	position:relative;	
}
.todaybox dt:before {
	/*content: "Q";
	margin-right:15px;
	color: #483C34;
	background: #fcb589;
	font-size:20px;	
	width: 2em;
	height: 2em;
	font-weight:600;
	display:inline-block;
	text-align:center;
	line-height:1.7;
	border-radius:4px;	*/
}
.todaybox dd {
	padding:5px 0 25px;
}
.todaybox dd:before {
	/*content:"A";
	margin-right:15px;
	color: #FFF;
	background: #483C34;
	font-size:20px;	
	width: 2em;
	height: 2em;	
	font-weight:600;
	display:inline-block;
	text-align:center;
	line-height:1.8;
	border-radius:4px;*/
}
.guide_title {
}
.guide_title::after {
	font-family:'FontAwesome';
	color: #FFF; 
	content: "\f13a";
	position: absolute;
	top:0;
	right: 30px;
	font-size: clamp(16px, 3vw, 36px);
	font-weight:normal;
}
.guide_title.active::after {
	font-family:'FontAwesome';
	content: "\f139";
	color: #FFF; 
}
.guide_detail { 
display: none;
}
@media screen and (max-width: 820px) {
.todaybox dt {
	font-size:2.8vw;
}
}
@media screen and (max-width: 600px) {
.todaybox {
	width: 95%;
}
.todaybox dt {
	font-size:4.6vw;
	padding: 10px 0;
	margin-bottom: 30px;
}
.todaybox dt::before,
.todaybox dd::before {
	font-size:4vw;
}
.todaybox dd {
	font-size:15px;
}
.guide_title::after,
.guide_title.active::after {
	font-size:4.2vw;
	top:15px;
	right: 20px;
}
}

/* ===== Design 3: Card Style ===== */
.tab-container ol {
    display: flex;
	flex-wrap: wrap;
    gap: 15px;
	margin-top:10px;
	margin-bottom:25px;
	list-style:none;
	padding:0;
}

.tab-container ol li {
	width:calc(33% - 12px); /*padding0 gap10*/
    /*flex: 1;*/
    padding: 17px 0;
	line-height:1;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background: #FFF;
    border: 1px solid #635a55;
    border-radius: 4px;
    color: #635a55;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	font-size: clamp(18px, 1.6vw, 21px);
	font-weight:normal;
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
}

.tab-container ol li.selected {
    color: #FFF;
	background: #726a66;
    box-shadow: 0 3px 8px rgba(132, 132, 132, 0.4);
    transform: translateY(-2px);
}

.tab-container ol li:not(.selected):hover {
    border-color: #635a55;
    color: #635a55;
    transform: translateY(-1px);
}

.tab-container .tab-content {
    display: none;
    /*padding: 24px;
    min-height: 150px;
    background: white;
	border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);*/
}

.tab-container .tab-content.selected {
    display: block;
}
@media screen and (max-width: 820px) {
.tab-container ol li {
	font-size:2.4vw;
}
}
@media screen and (max-width: 600px) {
.tab-container ol {
}
.tab-container ol li {
	font-size:3.9vw;
    padding: 15px 0;
}	
}
/*本日出演の占い師*/
.top_today {
  box-sizing: border-box;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.top_today li {
  width: calc(12.5% - 22px);
  border: #CCC 1px solid;
  background: #FFF;
  padding: 5px;
  margin: 0 5px 10px;
  box-shadow: 2px 2px 3px gray;
  border-radius:5px;
}

.top_today li p {
  font-weight:400;
  font-size: 13px;
  line-height: 1;
}

.top_today li img {
  max-width: 100%;
  margin-bottom: 3px;
  height:auto;
}
@media screen and (max-width: 820px) {
.top_today li {
  width: calc(25% - 22px);
}
}
@media screen and (max-width: 600px) {
.top_today li {
  width: calc(33.3% - 22px);
}
}
/*プライスリスト*/
.price {
	font-size: 14px;
	overflow:hidden;
	width:50%;
}
.price dt {
	float: left;
	padding-top: 5px;
	line-height: 1.3;
}
.price dt:before {
	font-family:'FontAwesome';
	content:"\f0a9";
	margin-right:5px;
}

.price dt span {
	font-size:13px;
}
.price dd {
/*	font-family: 'Ceviche One', cursive;

*/	text-align:right;
	padding-bottom: 3px;
	padding-top: 5px;
	line-height: 1.3;
	border-bottom: dotted 1px #aaa;
	color:#fecd2f;
}
.cbtn {
	width:100%;
	max-width:350px;
	margin:10px 0 0;
}
.cbtn a{
	text-align:center;
	display:block;
	background:#b0a6a2;
	border-radius:3px;
	padding:3px 0;
	font-size: 15px;
}
.cbtn a:link,
.cbtn a:visited {
	color: #FFF;
}
.cbtn a:hover{
	color: #FFF;
	background:#8c7f79;
}
.cbtn a:before {
 	font-family:'FontAwesome';
	content:"\f105";
	margin-right:5px;
 }
/*.cbtn2*/
.cbtn2 {
	width: 90%;
	max-width:440px;	
    margin:25px auto 0;	
}
.cbtn2 a {
	display:block;
    padding: 10px 0;
    background: #b8a484;
    border-radius: 80px;
    position: relative;
    text-align: center;
	font-size:18px;
	font-weight:bold;
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
	color:#FFF;
}
.cbtn2 a::before {
    content: "";
    position: absolute;
    display: block;
    top: 6px;
    bottom: 6px;
    left: 6px;
    right: 6px;
    opacity: 0.5;
    border: 1px solid #fff;
    border-radius: 80px;
}
.cbtn2 a:hover{
	color: #FFF;
	background:#8c7f79;
}
/*.cbtn3*/ 
.cbtn3 {
	margin-top:15px;
}
.cbtn3 a {
	display:block;
	padding:5px 15px;
	border:#988c87 solid 1px;
	background:#FFF;
	font-size:15px;
	font-weight:500;
	color:#79706c;
	border-radius: 40px;
}
.cbtn3 a:hover {
	background:#988c87;
	color:#FFF;
}
.cbtn3 a:before {
 	font-family:'FontAwesome';
	content:"\f138";
	margin-right:5px;
	color:#988c87;
 }
/*.cbtn4*/
.cbtn4 {
	width:100%;
	max-width:400px;
	margin:15px auto ;
}
.cbtn4 a {
	font-size: clamp(16px, 2.6vw, 28px);
	font-weight:600;
	background:#d52b20;
	text-align:center;
	display:block;
	border-radius:15px;
}
.cbtn4 a:link,
.cbtn4 a:visited {
	color: #FFF;
	text-decoration:none;
}
.cbtn4 a:hover{
	background:#111;
}
.cbtn4 a:before {
 	font-family:'FontAwesome';
	content:"\f101";
	margin-right:5px;
}
/* figure.snip1200
----------------------------------*/
figure.snip1200 {
  /*font-family: 'Raleway', Arial, sans-serif;*/
  position: relative;
  overflow: hidden;
  margin: 0;
  min-width: 220px;
  max-width: 100%;
  max-height: 600px;
  width: 100%;
  background: #333;
  color: #ffffff;
  text-align: center;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
  font-size: 14px;
  line-height:230%;
  border-radius:8px;  
}
figure.snip1200 * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.45s ease-in-out;
  transition: all 0.45s ease-in-out;
}
figure.snip1200 img {
  max-width: 100%;
  position: relative;
  opacity: 0.9;
}
figure.snip1200 figcaption {
  position: absolute;
  top: 45%;
  left: 7%;
  right: 7%;
  bottom: 45%;
  border: 1px solid white;
  border-width: 1px 1px 0;
}
figure.snip1200 .heading {
  overflow: hidden;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  position: absolute;
  bottom: 0;
  width: 100%;
}
figure.snip1200 h2 {
  display: table;
  margin: 0 auto;
  padding: 0 10px;
  position: relative;
  text-align: center;
  font-weight: 600;
  color:rgba(255,255,255,1.00);
  font-size: clamp(16px, 2vw, 26px);
  text-shadow: 0 0 10px #222;
  letter-spacing:0.05em;
}
figure.snip1200 h2:before,
figure.snip1200 h2:after {
  position: absolute;
  display: block;
  width: 1000%;
  height: 1px;
  content: '';
  background: white;
  top: 50%;
}
figure.snip1200 h2:before {
  left: -1000%;
}
figure.snip1200 h2:after {
  right: -1000%;
}
figure.snip1200 p {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  width: 100%;
  padding: 0 20px;
  margin: 0;
  opacity: 0;
  line-height: 1.6em;
  font-size: 16px;
  line-height:230%;
  color:rgba(255,255,255,1.00);
}
figure.snip1200 p span {
	font-size:1.4em;
}
figure.snip1200 a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}
figure.snip1200:hover img,
figure.snip1200.hover img {
  opacity: 0.25;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
figure.snip1200:hover figcaption,
figure.snip1200.hover figcaption {
  top: 7%;
  bottom: 7%;
}
figure.snip1200:hover p,
figure.snip1200.hover p {
  opacity: 1;
  -webkit-transition-delay: 0.35s;
  transition-delay: 0.35s;
}
@media screen and (max-width:820px) {
figure.snip1200 {
  border-radius:0;  
}
figure.snip1200 h2 {
	font-size:2.6vw;
}
}
@media screen and (max-width:600px) {
figure.snip1200 h2 {
	font-size:5vw;
}
} 
/* hovereffect　figure*/
.snip1445 {
    position: relative;
    overflow: hidden;
	border-radius:4px;	
}

.snip1445 * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.55s ease;
    transition: all 0.55s ease
}
.snip1445 img {
    object-fit: cover;
    height: 100%;
    width: 100%;
    backface-visibility: hidden;
    vertical-align: top;		
}

.snip1445 figcaption {
    position: absolute;
    top: 0;
    right:0;
}
.snip1445 h2 {
    width: 180px;	
	font-size:15px;
	color:#FFF;
	background:#634A40;
	line-height:1;
	padding:8px 0 10px;
	font-weight:300;
    text-align: center;	
	letter-spacing:0.1em;	
	border-radius:0 5px 0 5px;	
}
.snip1445 a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}
figure.snip1445:hover img,
figure.snip1445.hover img {
  opacity: 0.65;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.snip1445:hover figcaption:before,
.snip1445.hover figcaption:before,
.snip1445:hover figcaption:after,
.snip1445.hover figcaption:after,
.snip1445:hover figcaption div:before,
.snip1445.hover figcaption div:before,
.snip1445:hover figcaption div:after,
.snip1445.hover figcaption div:after {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
}

.snip1445:hover figcaption:before,
.snip1445.hover figcaption:before,
.snip1445:hover figcaption:after,
.snip1445.hover figcaption:after {
    -webkit-transition-delay: 0.15s;
    transition-delay: 0.15s
}
/* tab */
.tab {
	zoom: 1;
	list-style: none;
	margin: 0 auto 5px;
	padding: 0;
	padding:3px 0;
	font-size:12px;
	width:1000px;
}
.tab li {
	float:left;
	text-align:left;
	font-weight:bold;
	margin-right:10px;
	text-decoration: none;
}
.tab li a {
	display:block;
	padding: 3px 5px;
	cursor:pointer;
	width:220px;
border-top: 1px solid #ccc;  
    border-right: 1px solid #999;  
    border-bottom: 1px solid #999;  
    border-left: 1px solid #ccc;  
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+1,e8ddce+100 */
background: #ffffff; /* Old browsers */
background: -moz-linear-gradient(top,  #ffffff 1%, #e8ddce 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #ffffff 1%,#e8ddce 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #ffffff 1%,#e8ddce 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e8ddce',GradientType=0 ); /* IE6-9 */
}
.tab li a:before {
	font-family:'FontAwesome';
	content:"\f0da";
	margin-right:3px;
}
.tab li a:hover {
	background: #E5D6C3;
	color:#555;
	text-decoration:none;
}
.tab .active {
	background: #E5D6C3;
	color:#555;
}
.tab .active:before {
	margin-right:3px;
}
.tab li:last-child {
	margin-right:0px;
}
.panel {
	display:none;
}
.pcshow {
	display:block;
}

/* Flow */
.flowtitle {
	font-weight:bold;
}
.flowtitle span:before {
	background:#00A0E9;
	color:#FFFFFF;
	border-radius:5px 5px 0 0;
	padding:5px;
}
.flowtitle:before {
	font-family:'FontAwesome';
	content:"\f0a4";
	margin-right:5px;
}
.flow_box {
	position: relative;
	background: #fff;
	border: 5px solid #00a0e9;
	padding:5px;
	margin-bottom:20px;
}
.flow_boxa {
	position: relative;
	background: #fff;
	border: 5px solid #00a0e9;
	padding:5px;
	margin-bottom:20px;
}
.flow_box:after, .flow_box:before {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.flow_box:after {
	border-top-color: #00a0e9;
	border-width: 20px;
	margin-left: -20px;
}
.flow_box:before {
	border-top-color: #00a0e9;
	border-width: 27px;
	margin-left: -27px;
}
/*.photobx-l*/
.photobx-l {
display: -webkit-flex;
display: flex;
justify-content:flex-end;
width: 100%;
min-width: 1000px;
margin: 0 auto;
}
.photobx-ll {
display: -webkit-flex;
display: flex;
justify-content:flex-start;
width: 100%;
/*min-width: 1000px;*/
margin: 0 auto;
}
.pbx {
background:rgba(255,255,255,0.9);
width: 44%;
height:auto;
vertical-align: middle;
padding:50px 3% ;
}
.pbx_img img {
}
.pbx_img {
flex: 1;
width: 100%;
}
.pbx h4,
.pbx2 h4 {
	font-size:28px;
	font-weight:400;
	line-height:1.8;
	color:#fecd2f;
}
.pbx h3 {
	font-size:28px;
	letter-spacing:0.1em;
	font-weight:600;
	text-align:center;
	color:#FFF;
	background:#FF6622;
	margin-bottom:10px;
	line-height:1.8;
}
.pbxbox {
	background-color: #FF0000;
	color:#FFF;
	padding:15px;
	margin-top:20px;
}
.pbxbox h5 {
	font-size:24px;
	line-height:1.6;
	margin-bottom:10px;
	text-align:center;
}
.pbxbox h6 {
	background:#FFF;
	color:#FF0000;
	font-size:24px;
	font-weight:600;
	margin-bottom:10px;	
	line-height:1.6;
	padding:8px 0;
	text-align:center;
}
.pbxbox h6 span {
	text-decoration:line-through;
	font-size:20px;	
	color:#333;	
	font-weight:500;	
}
.pbx2 {
background:rgba(0,0,0,0.8);
width: 35%;
height:auto;
vertical-align: middle;
padding:10px 3% 40px;
float:right;
/*text-align:center;*/
color:#FFF;
}
.pbx2 img {
	/*max-width:90%;*/
}
.bg-image1 {
	background: url(../img/bg-image1.jpg) no-repeat center/auto;
    height: 300px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.bg-image2 {
	background: url(../img/bg-image2.jpg) no-repeat center/auto;
    height: 300px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.bg-image3 {
background-image: url(../img/bg-image3.jpg);
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
-moz-background-size: cover;
}
.bg-image4 {
background-image: url(../img/bg-image4.jpg);
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
-moz-background-size: cover;
}
.mtitle-ll {
	text-align: center;
	/*color:#fecd2f;*/
	font-size: 30px;
	line-height: 2;
	padding-top:40px;
	margin-bottom: 35px;
	position: relative; 
    letter-spacing: 0.1em;
    font-family: "Sawarabi Mincho", serif;
	font-weight:normal;
}
.mtitle-ll:after {
	content: "";
	width: 80px;
	height: 2px;
	background: #FFF;
	display: block;
	position: absolute;
    top: 100px;
	bottom: 0;
	margin: auto;
	right: 0;
	left: 0; 
}
.mtitle-ll span {
	font-size: 18px;
	display: block; 
}
.bg-img1 {
	padding:30px 0;
	background-image:url(../img/bgp3.jpg);
	background-attachment:fixed;
}

/* accordion */
dl.accordion {
	background:#FFF;
	width:710px;
	margin:5px auto 20px;
	font-size:13px;
}
dl.accordion dt {
	padding-left: 25px;
    background:url(img/open.png) 1% center no-repeat,-moz-linear-gradient(top, #FFF, #FFF);
    background:url(img/open.png) 1% center no-repeat,-webkit-gradient(linear, left top, left bottom, from(#FFF), to(#FFF));
    border-bottom:1px solid #DDD;
	height:40px;
	text-indent:10px;
	line-height:40px;
	color:#41822b;
	font-weight:bold;
	cursor:pointer;
}
dl.accordion dt:hover {
	opacity:0.7;
	filter: alpha(opacity=70);
}
dl.accordion dt.open {
    background:url(img/close.png) 1% center no-repeat,-moz-linear-gradient(top, #FFF, #FFF);
    background:url(img/close.png) 1% center no-repeat,-webkit-gradient(linear, left top, left bottom, from(#FFF), to(#FFF));
}
dl.accordion dd {
	background:#f0f4ee;
	margin: 10px;
	padding:10px;
	line-height:1.5;
	display:none;
	border-radius: 10px;
}
dl.accordion dd strong {
	display:block;
	margin: 10px 0;
}
/* SNS LINK */
#snslink {
	font-family:'FontAwesome';
	width:100%;
	font-size:20px;
	padding-top:20px;
}
#snslink li {
	line-height:30px;
	padding:10px 13px;
	background:#fff;
	color:#000;
	border-radius:1000px;
	display:inline;
	margin:10px;

}
#snslink li:hover {
	opacity:0.5;
}
/*link*/
#snslink a:link,
#snslink a:visited,
#snslink a:hover {
	color:#000;
	text-decoration:none;
}

.tarea {
	width:90%;
	margin:0 auto;
}
/*youtube*/
.youtube{
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}
.youtube iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
/* title */
.mtitle-point {

	font-size:15px;
	font-weight:bold;
	line-height:20px;
	margin:10px 0;
	color:#247B4B;
}
.mtitle-point span {
	background:#247B4B;
	display:inline-block;
	padding:10px;
	width:10px;
	height:10px;
	line-height: 12px;
	text-align:center;
	border-radius:100px;
	color:#fff;
	margin-right:5px;
}


/* tcon */
.tcon2 {
	width:296px;
	font-size:13px;
	background:#fff;
	position:relative;
	padding:5px;
    box-shadow:rgba(0,0,0,0.2) 0 0 2px 1px;
	border-radius:5px;
	margin:0 auto 20px;
}
.tcon2 dt {
	margin-bottom:10px;
}
.tcon2 dd {
	padding:10px;
}
.tclink a {
	display: block;
	width: 180px;
	height: 30px;
	line-height: 30px;
	position: absolute;
	top: 220px;
	left: 156px;
	background: #fecd2f;
	text-align: left;
	color: #fff;
	font-size: 15px;
	font-weight:bold;
	text-indent: .5em;
	box-shadow:rgba(0,0,0,0.3) 0 2px 1px;
	border-radius:5px;
}
	
/* tcon */
.tcon {
	width:230px;
	font-size:12px;
	position:relative;
	margin-bottom:20px;
}
.tcon dl {
}
.tcon dt {
	text-align:center;
	font-weight:bold;
	color:#58350A;
	margin:5px 0;
}
.tcon dd {
	font-size:12px;
	line-height:1.3;
}
.tclink a {
	display: block;
	width: 150px;
	height: 30px;
	line-height: 30px;
	position: absolute;
	top: 211px;
	left: 186px;
	background: #363636;
	text-align: left;
	color: #fff;
	font-size: 12px;
	text-indent: .5em;
	box-shadow:rgba(0,0,0,0.3) 0 2px 1px;
}
.tclink a:hover {
	text-decoration:none;
	background:#313AA3;
}
.tclink * {
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;

}
.tclink a:before {
	font-family:'FontAwesome';
	content:"\f0a9";
	margin-right:5px;
	font-size:12px;
}




/* mtitle-cline */
.mtitle-cline {
	display: table;
	text-align: center;
	white-space: nowrap;
	font-size:25px;
	letter-spacing:2px;
	color:#0065b3;
	margin-bottom:20px;
	line-height:0.5;
}
.mtitle-cline span {
  font-size:13px;
}
.mtitle-cline:after, .mtitle-cline:before {
color:#0065b3;
content: '';
display: table-cell;
width: 50%;
background: -webkit-linear-gradient(transparent 50%, currentColor 50%, currentColor -webkit-calc(50% + 5px), transparent -webkit-calc(50% + 5px));
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, currentColor), color-stop(currentColor calc(50% + 5px)), to(transparent calc(50% + 5px)));
background: linear-gradient(transparent 50%, currentColor 50%, currentColor calc(50% + 2px), transparent calc(50% + 2px));
-webkit-background-clip: padding;
background-clip: padding;
}
.mtitle-cline:after {
border-left: 2em solid transparent;
}
.mtitle-cline:before {
border-right: 2em solid transparent;
}
 
 /* halfbox */
#contentwrap {
	padding:0;
}
.rhalf {
}
.lhalf {
}
.rhalf {
	width:50%;
	height:350px;
	color:#fff;
	display:table;
	position:static;
	text-align:right;
}
.lhalf {
	width:50%;
	height:350px;
	color:#fff;
	display:table;
	background:rgba(0,0,0,0.5);
	position:static;
	
}
.hotel {
	position:relative;
	top:-135px;
	right:0;
	left:0;
	bottom:0;
	z-index:9999;
	width:200px;
	height:243px;
	display:table-cell;
 }
.rhalf h1,
.lhalf h1 {
font-family: 'Arimo', sans-serif;	font-size:18px;
	letter-spacing:2px;
	text-align:center;
	font-weight:bold;
	margin-bottom:20px;
}

.rhalf-img {
	float:right;
	background-image:url(../img/rhalf-img.jpg);
}
.lhalf-img {
	float:left;
	background-image:url(../img/lhalf-img.jpg);
}
.rhalf-img,
.lhalf-img {
	width:50%;
	height:350px;
	color:#fff;
	background-position: center center;
	background-repeat:no-repeat;
	background-size:cover;
	-moz-background-size:cover;
	background-color: #eee;
}

.twrap {
	margin:0 auto;
	padding:15px 30px;
	display:table-cell;
	text-align:left;
}
.mtitle-crown {
	font-size:50px;
	font-size: clamp(20px, 2.2vw, 36px);	
	line-height:1;
	letter-spacing:0.1em;
	font-weight:500;
	text-align:center;
	position:relative;
	margin:30px 0 0;
}
.mtitle-crown:before {
	content: "";
    display: inline-block;
    background-image: url(../img/mtitle.png);
    background-size: contain;
    width: 285px;
	max-width: 100%;
    height: 75px;
    position: absolute;
	top:-40px;
	right: 0;
	left: 0;
	margin: 0 auto;
}
.mtitle-big0 {
	font-family:  "游明朝", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: clamp(26px, 4.2vw, 60px);
	font-weight:normal;
    letter-spacing: 0.3em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	text-orientation: upright;
    line-height: 1.8;
	color:#af9f94;
}
.mtitle-big0 span {
	font-size:0.8em;
	letter-spacing:0.1em;
	color:#555;	
}
.mtitle-big {
	font-size: clamp(20px, 4.2vw, 54px);
  text-align: right;
  line-height: 0.1;
  font-weight: normal;
  color: #d5d1cf;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
}
.mtitle-big span {
	font-size: clamp(14px, 1.5vw, 20px);
	display:block;
	color: #FFF;	
	font-weight:bold;
	letter-spacing:0.05em;
	background: #988c87;
	display: flex;
	text-align: center;
	margin: 0 auto;
	padding:7px 10px 6px;
  line-height: 1;	
	z-index:99999;
}
.mtitle-big1 {
	font-size: clamp(22px, 5vw, 70px);	
	line-height:1;
	font-weight:normal;
	color:#cbc6c3;
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
}
.mtitle-big1 span {
	font-size: clamp(16px, 1.6vw, 28px);
	color:#af9f94;
	font-weight:700;
}
.mtitle-big2 {
	font-size: clamp(22px, 5vw, 70px);	
	line-height:1;
	font-weight:normal;
	color:#cbc6c3;
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
	text-align:center;
	margin-bottom:10px;
}
.mtitle-big2 span {
	display:block;
	font-size:0.3em;
	color:#988c87;
}
.mtitle-big3 {
	font-size: clamp(20px, 1.8vw, 26px);
	line-height:1.6;
	font-weight:700;
	color:#634A40;
	margin-bottom:20px;
}
.mtitle-big3 span {
	font-size:26px;
}
.mtitle-big4 {
	font-size: clamp(18px, 2.2vw, 34px);
	text-align:center;
	line-height:1.6;
	font-weight:600;
	color:#FFF;
	letter-spacing:0.02em;
}
.mtitle-middle {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	border-bottom: 1px solid #AAA;
/*	padding-bottom:5px;*/
	font-size:26px;
	font-weight:normal;
	/*text-align:left;*/
	line-height:1.4;
	color:#392e1e;
}
.mtitle-middle span {
	font-size:0.8em;
	color:#777;	
}
.mtitle-middle:first-letter {
    font-size: 1.3em;
	/*color:#CCC;*/
	padding-right:3px;
}
.mtitle-middle2 {
	border-bottom: 1px dashed #777;
	padding-bottom:5px;
	font-size:24px;
	color:#555;
	line-height:1.4;
	letter-spacing:1px;
	font-weight:500;
	margin:15px 0 10px;
}
.mtitle-middle2 span {
	color:#fecd2f;
	font-size:2.6em;
	font-style:italic;
	padding-right:5px;
}
.mtitle-middle2:first-letter {
    font-size: 1.2em;
	color:#f97233;
}
.mtitle-middle2:before {
 	/*font-family:'FontAwesome';
	content:"\f0a9";
	margin-right:5px;
	font-style:normal;
	padding-left:3px;*/
}
.mtitle-price {
	font-size:20px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height:1.4;
	color:#FF0000;
	font-weight:600;
	letter-spacing:1px;
	text-align:center;
	margin-top:5px;
}
.mtitle-price span {
	font-size:2.2em;
	padding:0 2px;
	font-weight:700;	
	/*font-style:italic;*/
}
.mtitle-price2 {
	font-size:22px;
	letter-spacing:1px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#d70f0f;
	line-height:1.6;
	font-weight:600;
	margin-bottom:10px;
}
.mtitle-price2 span {
	font-size:1.2em;
}
.mtitle-cap {
	color:#111;
	font-size:22px;
	margin-bottom:10px;
	line-height:1.6;
	border-bottom:#111 1px dashed;
	padding-bottom:5px;
}
.mtitle-cap span {
	font-size:1.2em;
	color:#fecd2f;
}
.mtitle-cap2 {
	/*position: relative;*/
	border-bottom: 1px dashed #555;
	padding-bottom:5px;
	margin:0px 0 10px;
	font-size:24px;
	font-weight:normal;
	text-align:left;
	line-height:1.2;
	color:#222;
	letter-spacing:1px;
}
.mtitle-cap2 span {
	font-size:0.8em;
	color:#555;
}
.mtitle-cap2:first-letter {
    font-size: 1.4em;
	color:#fecd2f;
	padding-right:2px;
}
/* listFlow */
.listFlow {}
.listFlow li {
	margin-bottom:9px;
	padding-bottom:9px;
	background:transparent url("../img/bg_listflow.png") 42px 100% no-repeat;
	overflow:hidden;
}
.listFlow .lastItem {
	margin-bottom:0;
	padding-bottom:0;
	background:none;
}
.listFlow dl {
	display:table;
	width:100%;
}
.listFlow dl dt {
	display:table-cell;
	padding:10px 0;
	border:1px solid #fecd2f;
	width:20%;
	background:#fecd2f;
	font-size:20px;
	text-align:center;
	vertical-align:middle;
	line-height:1.2;
	/*border-radius:5px 0 0 5px;*/
}
.listFlow dl dt .num {
	display:block;
	font-size:1.8em;
	font-weight:600;
}
.listFlow dl dd {
	display:table-cell;
	padding:15px 20px;
	border-top:1px solid #c8c8c8;
	border-right:1px solid #c8c8c8;
	border-bottom:1px solid #c8c8c8;
	vertical-align:middle;
	/*border-radius:0 5px 5px 0;*/
	background:#FFF;
}
.listFlow h4 {
	font-weight:600;
	font-size:20px;
	letter-spacing:1px;
	line-height:2;
	padding: 0 0 3px 0px;
	margin-bottom: 20px;
	border-bottom: 1px solid #ccc;
}
.listFlow dl dd img {
	width:250px;
}
/*.listFlow2*/
.listFlow2 {
	width:100%;
	margin:20px 0;
}
.listFlow2 li {
margin-bottom:5px;
	/*	padding-bottom:9px;*/
}
.listFlow2 .lastItem {
	margin-bottom:0;
	padding-bottom:0;
	background:none;
}
.listFlow2 dl {
	display:table;
	width:100%;
}
.listFlow2 dl dt {
	display:table-cell;
	padding:10px 0;
	border:1px solid #c8c8c8;
	width:20%;
	background: #e1f4f5;
	color:#555;
	font-weight:500;
	text-align:center;
	vertical-align:middle;
	line-height:1.6;
}
.listFlow2 dl dt .num {
	display:block;
	font-size:21px;
	font-size:1.32rem;
}
.listFlow2 dl dd {
	display:table-cell;
	padding:15px 20px;
	border-top:1px solid #c8c8c8;
	border-right:1px solid #c8c8c8;
	border-bottom:1px solid #c8c8c8;
	vertical-align:middle;
	background-color:rgba(255,255,255,1.00);
	color:#333;
}

/*.picup-1 */
.picup-1{
	width:100%;
/*	min-width:1000px;*/
	margin:0 auto;
}
.picup-1 ul {
	overflow: hidden;
	background: #fff;
}
.picup-1 ul li {
	overflow: hidden;
	position: relative;
	padding:0;
}
.picup-1 ul li div {
	position: relative;
	padding: 25px 0 0;
	text-align: center;
    width: 100%;	
}
.picup-1 ul li p {
	font-size:18px;
	color:#fff;
	line-height:1.5;
}
.picup-1 ul li img {
}

.picup-1 ul li .bg {
	width: 101%;
	height: 700px;
	position: absolute;
	top: 0;
	left: 0;
}

.picup-1 ul li.pic3a .bg {
	background: url(../img/pr-img1.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-1 ul li.pic3b .bg {
	background: url(../img/pr-img2.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-1 ul li.pic3c .bg {
	background: url(../img/pr-img3.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-1 ul li .bg {
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
	opacity: 1;
}
.picup-1 ul li:hover .bg {
	opacity: 0.8;
	transform: scale(1.04);
	-webkit-filter: blur(5px);
	-moz-filter: blur(5px);
	-o-filter: blur(5px);
	-ms-filter: blur(5px);
	filter: blur(5px);}
.picbox {
	width:1000px;
	margin:0 auto;
}

.picup-2{
	width:100%;
	min-width:1000px;
}
.picup-2 ul {
	overflow: hidden;
	background-color:#fff;
}
.picup-2 ul li {
	width: 50%;
	float: left;
	overflow: hidden;
	position: relative;
	padding: 20px 0;
}
.picup-2 ul li a {

	text-align: center;
}
.picup-2 ul li a .logo {
	position: relative;
	padding: 100px 0;
	float:none;
}
.picup-2 ul li a .logo img:hover {
	opacity:1;
}
.picup-2 ul li a .bg {
	width: 100%;
	height: 380px;
	position: absolute;
	top: 0;
	left: 0;
	background-color:#fff;
}
.picup-2 ul li.pic3a .bg {
	background: url(../img/pic3d.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-2 ul li.pic3b .bg {
	background: url(../img/pic3e.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-2 ul li.pic3c .bg {
	background: url(../img/pic3c.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-2 ul li.pic3d .bg {
	background: url(../img/pic3d.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-2 ul li .bg {
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
/*     -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    filter: grayscale(100%);
 */	opacity: 0.8;
}
.picup-2 ul li:hover .bg {
	opacity: 0.2;
	transform: scale(1.03);
/*     -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    filter: grayscale(0%);
 */}
 
 
/* linkbtn */
.picup-2 ul li .linkbtn {
	width:100%;
}
.picup-2 ul li .linkbtn ul {
	margin-right:-20px;
	text-align: center;
}
.picup-2 ul li .linkbtn li {
float: none ;
display: inline-block;
	margin-right:10px;
	margin-bottom:10px;
	width:160px;
	height:40px;
	line-height:40px;
	background:#fff;
	color:#fecd2f;
	font-size:14px;
	font-weight:normal;
	border-radius:3px;
	text-align: center;
	padding: 0;
}
.picup-2 ul li .linkbtn li a {
}
.picup-2 ul li .linkbtn li a:link,
.picup-2 ul li .linkbtn li a:visited,
.picup-2 ul li .linkbtn li a:hover {
	color:#fecd2f;
	text-decoration:none;
}
.picup-2 ul li .linkbtn li:hover {
	background:#B8DF64;
}
.picup-2 ul li .linkbtn li a:after {
	font-family:'FontAwesome';
	content:"\f054";
	margin-left:13px;
}
.linkbtn * {
  -webkit-transition: 0.1s;
  -moz-transition: 0.1s;
  -ms-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;
}

.picup-3 {
	width:100%;
	min-width:1000px;
	text-align: left;
}
.picup-3 ul {
	overflow: hidden;
}
.picup-3 ul li {
	width: 33.3%;
	float: left;
	height:auto;
	overflow: hidden;
	position: relative;
	
}
.picup-3 ul li:first-child {
	width: 33.4%
}
.picup-3 ul li a {
	display: block;
	text-align: left;
	overflow:hidden;
	color:#fff;
}
.picup-3 ul li a .logo {
	position: relative;
	text-align: left;
	color:#fff;
	background: none;
}
.picup-3 ul li .bg {
	width: 101%;
	height: 300px;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #111;
}
.picup-3 ul li.pic3a .bg {
	background: url(../img/pic3a.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-3 ul li.pic3b .bg {
	background: url(../img/pic3b.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-3 ul li.pic3c .bg {
	background: url(../img/pic3c.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-3 ul li.pic3d .bg {
	background: url(../img/pic3d.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3e .bg {
	background: url(../img/pic3e.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3f .bg {
	background: url(../img/pic3f.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3g .bg {
	background: url(../img/pic3g.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3h .bg {
	background: url(../img/pic3h.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3i .bg {
	background: url(../img/pic3i.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3j .bg {
	background: url(../img/pic3j.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3k .bg {
	background: url(../img/pic3k.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3l .bg {
	background: url(../img/pic3l.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li .bg {
	-webkit-transition: all 0.4s;
	transition: all 0.4s;

}
.picup-3 ul li:hover .bg {
	opacity: 0.6;
	transform: scale(1.03);
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    filter: grayscale(0%);
}


.picup-4{
	width:100%;
	margin: 0;
}
.picup-4 ul {
	overflow: hidden;
/*	background-color:#999;*/
}
.picup-4 ul li {
	width: 25%;
	float: left;
	overflow: hidden;
	position: relative;
}
.picup-4 ul li a {
	display: block;
	text-align: center;
}
.picup-4 ul li a .logo {
	position: relative;
	padding: 0;
	float:none;
}
.picup-4 ul li a .logo img {
	width:75%;
}
.picup-4 ul li a .logo img:hover {
	opacity:1;
}
.picup-4 ul li a .bg {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color:#FFF500;
}
.picup-4 ul li.pic3a .bg {
	background: url(../img/pic3a.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-4 ul li.pic3b .bg {
	background: url(../img/pic3b.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-4 ul li.pic3c .bg {
	background: url(../img/pic3c.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-4 ul li.pic3d .bg {
	background: url(../img/pic3d.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-4 ul li .bg {
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
/*     -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    filter: grayscale(100%);
 */	opacity: 0.8;
}
.picup-4 ul li:hover .bg {
	opacity: 0.3;
	transform: scale(1.03);
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    filter: grayscale(0%);
}
/*ブログ*/

.textwrap .title2 {
	font-size: 16px;
	line-height: 150%;
	color: #FFFFFF;
	float: none;
	text-align: left;
	font-weight: normal;
	height: auto;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 10px;
	background-color: #fecd2f;
	padding-right: 10px;
	margin-bottom: 10px;
}

.blog {
	padding-top: 10px;
	padding-bottom: 0px;
	padding-right: 0px;
	padding-left: 0px;
}

.blog dl {
}

.blog dt {
	font-size: small;
	font-weight: bold;
	line-height: 1.3%;
	color: #333;
	margin: 0px;
	padding-top: 12px;
	padding-right: 8px;
	padding-bottom: 8px;
	text-align: center;
	letter-spacing: 0.1em;
}

.blog dd {
	font-size: 14px;
	padding-top: 2px;
	padding-right: 0px;
	padding-bottom: 5px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #80c269;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 10px;
	margin-left: 0px;
}


.picup-2{
	width:100%;
	min-width:1000px;
}
.picup-2 ul {
	overflow: hidden;
	background-color:#fff;
}
.picup-2 ul li {
	width: 50%;
	float: left;
	overflow: hidden;
	position: relative;
	padding: 20px 0;
}
.picup-2 ul li a {

	text-align: center;
}
.picup-2 ul li a .logo {
	position: relative;
	padding: 100px 0;
	float:none;
}
.picup-2 ul li a .logo img:hover {
	opacity:1;
}
.picup-2 ul li a .bg {
	width: 100%;
	height: 380px;
	position: absolute;
	top: 0;
	left: 0;
	background-color:#fff;
}
.picup-2 ul li.pic3a .bg {
	background: url(../img/pic3d.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-2 ul li.pic3b .bg {
	background: url(../img/pic3e.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-2 ul li.pic3c .bg {
	background: url(../img/pic3c.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-2 ul li.pic3d .bg {
	background: url(../img/pic3d.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-2 ul li .bg {
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
/*     -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    filter: grayscale(100%);
 */	opacity: 0.8;
}
.picup-2 ul li:hover .bg {
	opacity: 0.2;
	transform: scale(1.03);
/*     -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    filter: grayscale(0%);
 */}
 
 
/* linkbtn */
.picup-2 ul li .linkbtn {
	width:100%;
}
.picup-2 ul li .linkbtn ul {
	margin-right:-20px;
	text-align: center;
}
.picup-2 ul li .linkbtn li {
float: none ;
display: inline-block;
	margin-right:10px;
	margin-bottom:10px;
	width:160px;
	height:40px;
	line-height:40px;
	background:#fff;
	color:#fecd2f;
	font-size:14px;
	font-weight:normal;
	border-radius:3px;
	text-align: center;
	padding: 0;
}
.picup-2 ul li .linkbtn li a {
}
.picup-2 ul li .linkbtn li a:link,
.picup-2 ul li .linkbtn li a:visited,
.picup-2 ul li .linkbtn li a:hover {
	color:#fecd2f;
	text-decoration:none;
}
.picup-2 ul li .linkbtn li:hover {
	background:#B8DF64;
}
.picup-2 ul li .linkbtn li a:after {
	font-family:'FontAwesome';
	content:"\f054";
	margin-left:13px;
}
.linkbtn * {
  -webkit-transition: 0.1s;
  -moz-transition: 0.1s;
  -ms-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;
}

.picup-3 {
	width:100%;
	min-width:1000px;
	text-align: left;
}
.picup-3 ul {
	overflow: hidden;
}
.picup-3 ul li {
	width: 33.3%;
	float: left;
	height:220px;
	overflow: hidden;
	position: relative;
	
}
.picup-3 ul li:first-child {
	width: 33.4%
}
.picup-3 ul li a {
	display: block;
	text-align: left;
	overflow:hidden;
	color:#fff;
}
.picup-3 ul li a .logo {
	position: relative;
	text-align: left;
	color:#fff;
	background: none;
}
.picup-3 ul li .bg {
	width: 101%;
	height: 300px;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #111;
}
.picup-3 ul li.pic3a .bg {
	background: url(../img/pic3a.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-3 ul li.pic3b .bg {
	background: url(../img/pic3b.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-3 ul li.pic3c .bg {
	background: url(../img/pic3c.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-3 ul li.pic3d .bg {
	background: url(../img/pic3d.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3e .bg {
	background: url(../img/pic3e.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3f .bg {
	background: url(../img/pic3f.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3g .bg {
	background: url(../img/pic3g.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3h .bg {
	background: url(../img/pic3h.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3i .bg {
	background: url(../img/pic3i.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3j .bg {
	background: url(../img/pic3j.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3k .bg {
	background: url(../img/pic3k.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li.pic3l .bg {
	background: url(../img/pic3l.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.picup-3 ul li .bg {
	-webkit-transition: all 0.4s;
	transition: all 0.4s;

}
.picup-3 ul li:hover .bg {
	opacity: 0.6;
	transform: scale(1.03);
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    filter: grayscale(0%);
}


.picup-4{
	width:100%;
	margin: 0;
}
.picup-4 ul {
	overflow: hidden;
/*	background-color:#999;*/
}
.picup-4 ul li {
	width: 33.3%;
	float: left;
	overflow: hidden;
	position: relative;
}
.picup-4 ul li a {
	display: block;
	text-align: center;
}
.picup-4 ul li a .logo {
	position: relative;
	padding: 0;
	float:none;
}
.picup-4 ul li a .logo img {
	width:75%;
}
.picup-4 ul li a .logo img:hover {
	opacity:1;
}
.picup-4 ul li a .bg {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color:#FFF500;
}
.picup-4 ul li.pic3a .bg {
	background: url(../img/pic3a.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-4 ul li.pic3b .bg {
	background: url(../img/pic3b.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-4 ul li.pic3c .bg {
	background: url(../img/pic3c.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-4 ul li.pic3d .bg {
	background: url(../img/pic3d.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.picup-4 ul li .bg {
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
/*     -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    filter: grayscale(100%);
 */	opacity: 0.8;
}
.picup-4 ul li:hover .bg {
	opacity: 0.3;
	transform: scale(1.03);
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    filter: grayscale(0%);
}



.timeline > li {
	overflow: hidden;
	margin: 0;
	position: relative;
}
.timeline-date {
	width: 130px;
	float: left;
	text-align:left;
	margin-top: 10px;
	color:#fecd2f;
	font-weight: bold;
}
.timeline-content {
	width: 75%;
	float: left;
	border-left: 3px #ccc solid;
	padding: 10px 0 10px 30px;
}
.timeline-content:before {
	content: '';
	width: 12px;
	height: 12px;
	background: #fecd2f;
	position: absolute;
	left: 126px;
	top: 17px;
	border-radius: 100%;
}
.hidden {
	display:none;
}
/* ビフォーアフター */
.ba {
    margin: 10px auto 30px;
    width:100%;
    position: relative;
    line-height: 1.4; /* 繝�く繧ｹ繝医�謖�ｮ� */
}
.ba:before {
    margin: -20px 0 0 -10px; 
    border: 20px solid transparent;
    border-left-color: #d52b20;
    content: "";
    position: absolute;
    top: 43%; 
    left: 50%;
}
 
/* float繧剃ｽｿ縺��縺ｧclearfix縺ｮ謖�ｮ� */
.ba:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
}
 
/* ビフォーアフター */
.beforeBox,
.afterBox {
    padding: 3px;
    width: 45%;
	background-color:#fff;
    position: relative;
	color: #333;
	text-align: center;
}
.ba .beforeBox {
    float: left;
}
.ba .beforeBox img{
    width:100%;
}
.ba .afterBox {
    float: right;
}
.ba .afterBox img{
    width:100%;
}
.ba .beforeBox p,
.ba .afterBox p {
	margin-top:5px;
}
.shadow {
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.05), 0 1px 1px rgba(0, 0, 0, 0.05);	
}
/*.concept-wrap*/
.concept-wrap {
  position: relative;
  padding: 70px 0;
  background: url("../img/mv_bg.jpg") repeat 0 0;
}
.concept-wrap .bg-back {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #eee;
  width: 50%;
  height: 100%;
}
.concept-wrap .concept-inner {
  position: relative;
  display: table;
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
}
.concept-wrap .figure {
  position: absolute;
  top: 0;
  right: 0;
  display: table-cell;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  width: 74%;
  height: 100%;
}
.concept-wrap .figure2 {
  position: absolute;
  top: 0;
  left: 0;
  display: table-cell;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  width: 74%;
  height: 100%;
}
.concept-wrap .fig01 {
  background-image: url("../img/fig01.jpg");
  /*border-radius:15px;*/
}
.concept-wrap .fig02 {
  background-image: url("../img/fig02.jpg");
  /*border-radius:15px;  */
}
.concept-wrap .in-wrap {
  position: relative;
  float: left;
  width: 800px;
  padding: 50px 0;
}
.concept-wrap .in-wrap2 {
  position: relative;
  float: right;
  width: 800px;
  padding: 50px 0;
}
.concept-wrap .in-wrap .concept-box {
  background-color: rgba(255, 255, 255, 0.9);
  width: 600px;
  padding:30px;
  font-weight:300;
/*  border-radius:15px; */ 
}
.concept-wrap .in-wrap2 .concept-box {
  background-color: rgba(255, 255, 255, 0.9);
  width: 600px;
  padding:30px;
  font-weight:300;
  float: right;
/*  border-radius:15px; */  
}
.concept-wrap .in-wrap .concept-box .conts-ttl {
  font-size: 24px;
  line-height:1.6;
  font-weight: 400;
  margin-bottom:20px;
  color: #555; 
}
.concept-wrap .in-wrap2 .concept-box .conts-ttl {
  font-size: 28px;
  line-height:1.6;
  text-align:center;
    /*font-weight: normal;*/
    /* color: #FFF; */
}
.concept-wrap .in-wrap2 .concept-box .conts-ttl span {
  font-size: 0.8em;
  color: #ffe0d6;
  font-family: 'Josefin Sans', sans-serif;
  letter-spacing:1px;
}
/* blog_top_list */
.blog_top_list {
position: relative;
margin: 0 0 25px !important;
padding: 0 !important;
width: 100% !important;
height: auto;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
.blog_top_list .blog_bx {
transition: .3s ease-in-out;
width: calc(33.33% - 30px) !important;
font-size: 12px;
margin: 14px;
position: relative;
background: #fff;
}
.blog_top_list .blog_bx a {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 1;
}
.blog_bx_flex {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.blog_bx_flex:hover {
background: #f2f2f2;
}
.blog_bx_flex figcaption {
display: block;
text-align: center;
width: 100%;
height: 250px;
overflow: hidden;
background-color: #fff;
background-position: center center;
background-repeat: no-repeat;
float: none;
}
.blog_bx_flex figcaption * {
-moz-transition: 0.3s;
-ms-transition: 0.3s;
-o-transition: 0.3s;
transition: 0.3s;
}
.blog_bx_cont {
	margin:5px 0;
}
.blog_bx_flex .blog_bx_date {
	font-size:13px;
	letter-spacing:1px;
	color:#555;
}
.blog_bx_flex img {
vertical-align: middle;
height: 100%;
width: 100%;
object-fit: cover;
}
.blog_bx_flex:hover img {
opacity: 1 !important;
transform: scale(1.1);
}
.blog_bx_flex .blog_bx_ttl {
font-size:14px;
line-height:1.5;
font-weight:500;
}
@media screen and (max-width: 820px) {
.blog_top_list .blog_bx {
width: calc(50% - 20px) !important;
margin: 10px;
}	
}
@media screen and (max-width: 600px) {	
.blog_top_list {
}
.blog_top_list .blog_bx {

width: calc(100% - 0px) !important;
margin: 0px 0 20px;
}
.blog_top_list .blog_bx figcaption {
	height: 100px;
    width: 30%;
}
.blog_bx_cont {
	width:66%;
	margin:0;
}
.blog_bx_flex .blog_bx_ttl {
font-size:13px;
font-weight:400;
}
}
/*blog entry 2column*/
#blog_flexwrap {
	display:-webkit-flex;
	display:flex;
	width:1000px;
	margin:20px auto 100px
}
#blog_flexwrap #blog_side {
	width:230px;
	margin-left:25px
}
#blog_flexwrap #blog_main {
	flex:1
}
#blog_flexwrap #blog_main section {
	margin-bottom:25px
}
.blog_sttl01 {
	background:#fecd2f ;
	color:#FFF;
	font-size:20px;
	overflow:hidden;
	font-weight:bold;
	margin:0;
	padding:5px 10px;
	line-height:1.8;
}
.blog_sttl01:before {
	/*font-family:"Font Awesome 5 Free";
	font-weight:900;
	content:"\f0ca";
	margin-right:5px*/
}
.blog_sidebox {
	color:#222;
	background: #1a1a1a;	
	padding:10px;
}
.blog_sidebox a:link,
.blog_sidebox a:visited {
	color:#FFF;
}
.blog_mttl {
	width:calc(100% - 20px);
	background:#fecd2f ;
	color:#FFF;
	font-size:22px;
	overflow:hidden;
	font-weight:bold;
	margin:0;
	padding:5px 10px;
	line-height:1.8;
	border-right:1px #fecd2f solid;	
}
.blog_time {
	padding-top:0px;
	font-weight:normal;
	margin-bottom:15px;
	font-size:13px;
}
.blog_time:before {
	/*font-family:"Font Awesome 5 Free";
	font-weight:900;
	content:"\f017";
	margin-right:5px;
	font-weight:normal*/
}
.blog_box {
	min-height:300px;
	position:relative;
	color:#FFF;
	background: #1a1a1a;	
	/*background:#222;*/
	padding:10px;
	box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(0, 0, 0, 0.1);	
}
.blog_box img {
	max-width:100%;
	padding:15px 0
}
@media screen and (max-width: 768px) {
#blog_flexwrap {
display:-webkit-block;
display:block;
width:95%;
margin:20px auto 30px
}
#blog_flexwrap #blog_main {
width:100%;
flex:1;
margin-bottom:20px
}
#blog_flexwrap #blog_side {
width:100%;
margin-left:0px
}
.pages {
position:static;
bottom:0;
margin-top:30px;
width:100%
}
.page_next {
float:none;
width:100%;
margin-bottom:10px
}
.page_prev {
float:none;
text-align:left;
width:100%
}
}
/*一日の流れ*/
.day_flow {
	font-weight:400;
}
.day_flow dt {
    color: #FFF;
	font-size:20px;
    padding: 0 10px;
    font-weight: 500;
}
.day_flow dd {
    border-left: 4px dotted #CCC;
    margin-left: 25px;
    padding: 5px 20px;
    box-sizing: border-box;
}
.day_flow dd:last-child {
    border: none;
}
/* 年間行事予定 */
.yearly {
	width:99%;
	margin:10px auto 0;
	padding:20px 0;
}
.yearly ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.yearly .gallery  {
	position: relative;
	top:-37px;
	background:#FFFBD2;
	width:95%;
	height:auto;
	text-align:center;
	vertical-align:middle;
	overflow:hidden;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: -25px;
}
.yearly .gallery img {
	width: 100%;
	height:auto;
	object-fit: cover;
	vertical-align:middle;
}
.yearly li {
	width: calc(33% - 30px);
	margin-right:20px;
	margin-bottom: 30px;
	padding: 0 5px 5px;
	box-shadow:
	rgba(0,0,0,0.1) 0px 0px 0px 1px,
	rgba(0,0,0,0.2) 1px 1px 0px 1px;
	position: static;
	background:#FFF;
}
.yearly li h4 {
	width: 60px;
	height: 60px;
	line-height: 60px;
	border-radius:100px;
	z-index: 9999;
	top:-30px;
	left: -10px;
	position: relative;
	font-weight:bold;
	text-align:center;
	font-size:20px;
	background: #c49f8d;
	color:#fff;
	margin-bottom: -10px;
	box-shadow:rgba(0,0,0,0.2) 1px 1px 0px 0px;
}
.yearly li p {
	text-align:left;
	font-size: 14px;
}

.yearly li p:before {
	font-family:'FontAwesome';
	content:"\f0a9";
	margin-right:3px;
	color:#94CB89;
}
@media screen and (max-width: 600px) {
.yearly {
	margin:0 auto;
	padding:0;
}
.yearly ul {
	display: block;
}
.yearly .gallery  {
	background:#fff;
	width:95%;
	height:auto;
}
.yearly .gallery img {
	width: auto;
	height:auto;
	object-fit:contain;
	vertical-align:middle;
}
.yearly li {
	width: 85%;
	margin: 40px auto;
	padding: 0 5px 5px;
	box-shadow:
	rgba(0,0,0,0.1) 0px 0px 0px 1px,
	rgba(0,0,0,0.2) 1px 1px 0px 1px;
	position: static;
}
.yearly li p {
	padding-left:10px;
}
}
.feature {
}
.feature li {
    font-size: 20px;
	font-weight:500;
    /*letter-spacing: .1em;*/
    border-bottom: 1px dashed #555;
    padding: 15px 0 15px 60px;
    position: relative;
}
.feature li span {
	font-size:1.2em;
	padding-left:3px;
	color:#FF6622;
}
.feature li p {
	font-size:16px;
	font-weight:normal;
}
.feature li:before {
  content: "";
  display: block;
  background-image:url(../img/point-1.png);
  width: 45px;
  height: 45px;
  position: absolute;
  left: 0;
  background-size: contain;
  margin: auto;
  top: 0;
  bottom: 0;
}
.feature li:nth-child(2):before {
  background-image: url(../img/point-2.png);
}
.feature li:nth-child(3):before {
  background-image: url(../img/point-3.png);
}
.feature li:nth-child(4):before {
  background-image: url(../img/point-4.png);
}
.feature li:nth-child(5):before {
  background-image: url(../img/point-5.png);
}
.feature li:nth-child(6):before {
  background-image: url(../img/point-6.png);
}
.feature li:nth-child(7):before {
  background-image: url(../img/point-7.png);
}
.calendar_head {
  color: #fefefe;
  background: #111;
  text-align: center;
  padding: 4px;
}
.calendar-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 0.9em;
}
.calendar-box div.calendar {
  width: 49%;
}
.calendar-box table {
  width: 100%;
  text-align: center;
}
.calendar-box table th,
.calendar-box table td {
  width: 14.28%;
  border: 0.9px solid #aaa;
  font-weight: normal;
  padding: 5px;
  height: 45px;
  color: #555;
}
.calendar-box table th {
  background: #f0ebdd;
  vertical-align: middle;
  font-weight: 600;
  text-align: center;
}
.calendar-box table td {
  background: #fefefe;
}
.calendar-box th.sun,
.calendar-box td.sun {
  color: #FF0000;
}
.calendar-box th.sat,
.calendar-box td.sat {
  color: #104398;
}
.calendar-box .off {
  background: #ffd0bb;
}
.calendar-box .item {
  background: #ffe6e6;
  font-size: 1rem;
  color: #000;
}
.calendar-box .item-td {
  background: #ff9999;
}
.calendar-box .item-td .days {
  color: #FF6600;
}
.calendar-box .item-td .item {
  display: none;
}
.arrow {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
  margin-bottom: 5px;
  font-size: 14px;
}
.arrow a {
  display: block;
  background: #eee;
  padding: 5px 8px;
  cursor: pointer;
}
.arrow a:link, .arrow a:visited {
  color: #333;
}
.arrow a:first-of-type {
  margin-right: 5px;
}
.arrow-before:before {
 	font-family:'FontAwesome';
	content:"\f0d9";
	margin-right:5px;
 }	
.arrow-after:after {
 	font-family:'FontAwesome';
	content:"\f0da";
	margin-left:5px;
 }	 
@media screen and (max-width:820px) { 
.calendar-box div.calendar {
	width:100%;
	margin-bottom:25px;
}
}
/*.blog_list*/
.blog_list {
	margin:20px 0;	
}
.blog_list li {
	overflow:hidden;
	padding:25px 0;
	border-bottom:dashed 1px #555;
	font-size: 15px;
}
.blog_list .imgbox {
	float:left;
	width:26%;
	height:200px;
	margin-right:15px;
}
.blog_list .imgbox img {
vertical-align: middle;
height: 100%;
width: 100%;
object-fit: cover;
}
.blog_list li h3 {
	font-size:20px;
	line-height:1.3;
	margin-bottom:5px;
	font-weight:600;
}
.blog_list li .hiniti {
	font-size:14px;	
	color:#AAA;
	letter-spacing:1px;
}
.more {
	width:120px;
	margin-top:10px;
	margin-left:auto;
	font-size:13px;
	text-align:center;
	background:#336633;
	color:#FFF;
	padding:0 0 2px;
	border-radius:3px;
}
@media screen and (max-width: 600px) {	
.blog_list {
	margin:0;
}
.blog_list li {
	font-size:14px;
}
.blog_list .imgbox {
	float:none;
	width:100%;
	height:220px;
	margin-right:0;
	margin-bottom: 10px;
}
.blog_list li h3 {
	font-size:18px;
}
.more {
	margin-top:10px;
}
}
/*お問い合わせ*/
.Contactsection {
	width:100%;
	margin:150px 0 100px;
	position: relative;
	z-index: 4;
}
.Contactsection::before {
  content: "";
  z-index: -1;
  position: absolute;
  left: 0;
  top: -55px;
  width: 45%;
  background:#c30d23;
  height:125%;
}
.Contactsection iframe {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
}
.mtitle-tel{
	line-height:1;
	margin:15px 0 5px;
}
.mtitle-tel span{
	font-size:28px;
	font-weight:600;
	font-family: 'Poppins', sans-serif;

}
.mtitle-tel span:before {
  content: "TEL.";
  margin-right:5px;
  font-size:14px;
  letter-spacing:1px;
}
.mtitle-tel a:link,
.mtitle-tel a:visited,
.mtitle-tel a:hover {
	color:#FFF;
}
.contactbtn {
	font-size:34px;
	color:#FFF;
	line-height:1.4;
	margin-top:10px;
}
@media screen and (max-width:600px) {
.Contactsection {
	margin:40px 0 10px;
}
.Contactsection::before {
	top:-30px;
	width:30%;
	height:100%;
}
	
}
.title-l {
    position: relative;
    width: 90%;
	max-width:1200px;
	margin:0 auto;
	height:250px;
}
.mtitle-s  {
	background:#111;
    position:absolute;
    bottom: -4em;
    right: 0;
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	width:70px;
	padding:20px 0;
}
.mtitle-s:before {
	content: "";
    position: absolute;
    right: 0;
    bottom:-35px;
    left: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-color: #111 transparent transparent transparent;
    border-width: 35px 35px 0 35px;	
}
.mtitle-s p {
	/*font-size:40px;*/
	font-size: 1.8rem;
    color: #FFF;
	font-weight:600;
	background:#111;
	letter-spacing:0.15em;
    line-height:70px;
}
@media screen and (max-width: 820px) {
.title-l {
}
.mtitle-s {
	bottom: auto;
    top: 0;
}
.mtitle-s p {
	font-size: 1.4rem;
}
}
@media screen and (max-width: 600px) {
.title-l {
	height:180px;
}
.mtitle-s {
	width:40px;
	padding: 10px 0;
}
.mtitle-s p {
	font-size: 1rem;
	line-height: 40px;
}
.mtitle-s::before {
	bottom:-20px;
	border-width: 20px 20px 0 20px;
}
}
/*.feature-dl*/
.feature-dl {
	width:90%;
	margin:0 auto;
}
.feature-dl .inner {
  display: flex;
  flex-wrap: wrap;
  background:#FFF;
  padding: 20px;
  /*box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);*/
  border:#CCC solid 1px;
  align-items: flex-start;
}
.feature-dl .inner dt {
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: 0.2em;
  position: relative;
  z-index: 1;
  font-style: italic;
  font-weight:500;
}
.feature-dl .inner dt:before {
  position: absolute;
  content: "";
  left: -30px;
  top: 0;
  width: 140%;
  height: 50px;
  background: #fecd2f;
  z-index: -1;
}
.feature-dl .inner dt span {
  /*color: #f0eae5;*/
  font-size: 2.4em;
  font-weight:600;
}
.feature-dl .inner dd {
  flex: 1;
  margin-left: 8%;
}
.feature-dl .inner:not(:first-child) {
  margin-top: 40px;
}
@media screen and (max-width: 600px) {
	.feature-dl {
	width:96%;
	}
  .feature-dl .inner {
    flex-direction: column;
  }
  .feature-dl .inner dt {
    font-size: 13px;
    margin-bottom: 25px;
  }
  .feature-dl .inner dt span {
   
  }
  .feature-dl .inner dt:before {
    height: 40px;
  }
  .feature-dl .inner dd {
    margin-left: 10px;
  }
}
.feature-dl .feature-title {
  font-size:26px;
  line-height: 1.5;
  padding-bottom: 5px;
  border-bottom: 1px dashed #CCC;
  margin-bottom: 10px;
  font-weight:600;  
}
.feature-dl .feature-title .upper {
  color: #FF0000;
  display: block;
  font-size: 1.7rem;
}
.feature-dl h3 {
	font-size:24px;
	line-height:1.5;
	letter-spacing:2px;
	color:#555;
	margin-bottom:5px;
}
@media screen and (max-width: 820px) {
.feature-dl .feature-title {
	font-size:24px;
}
.feature-dl h3 {
	font-size:20px;
	margin:10px 0;
}
}
@media screen and (max-width: 600px) {
  .feature-dl .feature-title {
    font-size: 20px;
	font-size: clamp(14px, 5.4vw, 24px);
  }
  .feature-dl h3 {
	  font-size:18px;
	  margin-top:5px;
	  letter-spacing:1px;
  }
  .feature-dl .feature-title .upper {
    font-size: 1.4rem;
  }
}
/*purpose*/
.tp_bg_box {
    position: relative;
	padding:4vw 0 35vw;
}
.tp_bg_box:before {
	content:"";
	position:absolute;
	background-image:url(../img/top_bg.webp);
	background-position:bottom center;
	background-size:100%;
	background-repeat:no-repeat;
	width:100vw;
	height:100%;
	top:0;
	right:0;
	z-index:-1
}
.tp_bg {
    position: relative;
    width:96%;
	max-width:1580px;
    margin: 0 auto ;	
}

.tp_deco {
    position: absolute;
    width: 10%;
    right: 5%;
    display: block;
    top: 0;
	z-index:100;
   backdrop-filter: blur(1px);
   -webkit-backdrop-filter: blur(1px);	
}
.tp_deco img {
	width:100%;
	height:auto;
}
.tp_cont {
	margin-left:15%;
}
.tp_bg .tp_main img {
	border-radius:8px;
}
.tp_cont figure {
    position: relative;
}
.tp_cont figure img {
	width:100%;
	height:auto;
}
.tp_bg .img-sub {
    position: absolute;
    top: -2vw;
    left: 0;
    width: 42%;
}
.tp_bg .img-sub img {
	border-radius:8px;
	border:#FFF 10px solid;
}
.tp_bg .tp_text {
    position: absolute;
    top: 38vw;
    left: 3%;
	border-radius:10px;
	background:#FFF;
	width: 85%;
	padding: 2em;
	font-size: clamp(12px, 1.2vw, 16px);
	line-height:2.2;
	letter-spacing:0.02em;
}
@media screen and (max-width:820px) {
.tp_bg_box {
	padding:4vw 0 58vw;
}
.tp_deco {
}
.tp_cont {
}
.tp_bg .img-sub {
}
.tp_bg .tp_text {
	font-size:1.7vw;
}
}
@media screen and (max-width:600px) {
.tp_bg_box {
	padding:8vw 0 5vw;
}
.tp_bg {
	width:100%;
	margin:2vw 0 0;
}
.tp_cont {
	margin:0;
}
.tp_deco {
    width: 17vw;
	right:3vw;
}
.tp_bg .tp_main img {
	border-radius:0;
}
.tp_bg .img-sub {
	top:-7vw;
	left:-10px;
	width: 45vw;
}
.tp_bg .img-sub img {
  border-radius: 4px;
  border: #FFF 5px solid;
}
.tp_bg .tp_text {
	position:relative;
	top:-3vw;
	right:0;
	left:0;
	bottom:0;
	margin:auto;
	width:calc(92% - 6vw);
	padding:3vw;
	font-size:15px;
	border-radius: 3px;	
	background:#f9f8f8;
}
}
/* contact_bnr
----------------------------------*/
.contact_bnr {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  /*padding: 30px 10px;
  background:rgba(255,255,255,0.9);
  border-radius: 10px;*/
  max-width: 1000px;
  margin: 35px auto 5px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 820px) {
 /* .contact_bnr {
    max-width: 90%;
  }*/
}
@media screen and (max-width: 600px) {
  .contact_bnr {
    margin: 25px auto;
  }
}
.contact_bnr li {
  width: 33%;
}
.contact_bnr > li:not(:last-child) {
  border-right: 1px dashed #CCC;
}
.contact_bnr li p {
	text-align:center;
	font-size:14px;
	font-weight:500;
	margin-top:-10px;
}
@media screen and (max-width: 600px) {
  .contact_bnr > li {
    width: 90%;
    margin: 0 auto;
  }
  .contact_bnr > li:not(:last-child) {
    border-right: 0;
    border-bottom: 1px dashed #CCC;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
}
.contact_bnr > li .bnr_tel {
  font-size:26px;  
}
.contact_bnr > li .bnr_tel:before {
font-family: "FontAwesome";
content: "";
}
.contact_bnr > li .bnr_mail {
  letter-spacing: 0.1em;
  font-size:24px;  
}
.contact_bnr > li .bnr_mail:before {
	font-family:'FontAwesome';
	content:"\f003";
}
.contact_bnr > li .bnr_fax {
  font-size:24px;  
}
.contact_bnr > li .bnr_fax:before {
	font-family:'FontAwesome';
	content:"\f1ac";
}
.contact_bnr > li a,
.contact_bnr > li span {
  display: block;
  color: #000;
  font-weight: 400;
  text-align: center;
  padding-top: 50px;
  position: relative;
  margin-right: auto;
  margin-left: auto;
  font-family: 'Poppins', sans-serif;
}
.contact_bnr > li a:hover,
.contact_bnr > li span:hover {
  color: #222;
}
.contact_bnr > li a:before,
.contact_bnr > li span:before {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  font-size: 26px;
  width: 50px;
  height: 50px;
  text-align: center;
  line-height: 50px;
  /*border: 1px solid #AAA;*/
  border-radius: 50%;
  font-weight:normal;
  color:#FFF;
  background:#d52b20;
}
@media screen and (max-width: 820px) {
  .contact_bnr > li a,
.contact_bnr > li span {
    font-size: 1.6rem;
  }
.contact_bnr > li .bnr_tel,
.contact_bnr > li .bnr_fax,
.contact_bnr > li .bnr_mail {
  font-size:20px;
  font-size: clamp(14px, 2.6vw, 26px);
}
}
@media screen and (max-width: 600px) {
.contact_bnr > li .bnr_tel, .contact_bnr > li .bnr_fax, .contact_bnr > li .bnr_mail {
  font-size: clamp(14px, 5.8vw, 26px);
}
.contact_bnr li p {
	font-weight:400;
}
}
.contactbox {
	background:#FFF;
	padding:30px;
	z-index:9999;
}
/*フッター上のお問合せ*/
.bnr_bg {
    position: relative;
    width: 100%;
	margin-top:30px;
}
.bnr_bg .bnr_text {
	width: 80%;
    max-width: 960px;
    background: rgba(255,255,255,1);
    padding:30px;
    overflow: hidden;
    position: relative;
    margin:0 auto 0;
	border-radius:5px;
}
.bnr_bg img {
	margin-top:-16vh;
	width:100%;
}
@media screen and (max-width:820px) {
.bnr_bg .bnr_text {
    margin: -50px auto 0;
	width: 90%;
}
.bnr_bg img {
	margin-top:-50px;
}
}
@media screen and (max-width:600px) {
.bnr_bg {
	margin-top:0;
}
.bnr_bg .bnr_text {
	width: 80%;
    margin: 0 auto 0;
	padding:15px;
}
.bnr_bg img {
  margin-top: -20px;
}
}
/*ご利用の流れ*/
:root {
  --flowchart-size: 80px;/* 番号大きさ 変更可 */
  --flowchart-border: 30px;/* 縦線太さ 変更可(12px以上) */
  --flowchart-gradient: linear-gradient(to right, #d52b20 0%, #f0554b 100%);/* 番号背景 変更可 */
}
.flowchart {
  list-style: none !important;
  counter-reset: flownum;/* リストアイテムの名称(任意) */
  position: relative;
  margin: 2em 0;/* フローチャートと前後要素との距離(任意) */
  padding: 0 !important;
}
.flowchart li {
  position: relative;
  padding: 0 0 0 calc(var(--flowchart-size) + var(--flowchart-border) + 15px + 30px);
}
.flowchart-content {
  position: relative;
  padding: 0 0 4em;
}

/* 縦線デザイン */
.flowchart::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: calc(var(--flowchart-size) + 15px);
  width: var(--flowchart-border);
  height: calc(100% + 6px);
  background: rgb(230,230,230);
  border-radius: 30px;/* 縦線角の丸み, 不要ならこの一行削除 */
}

/* 番号部位デザイン */
.flowchart li::before {
  content: counter(flownum);
  counter-increment: flownum;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -.4em;/* 通常は 0, 横に並ぶタイトルとのバランスを見て調整 */
  left: 0;
  z-index: 2;
  width: var(--flowchart-size);
  height: var(--flowchart-size);
  border-radius: 50%;/* 番号円形, 四角形で良ければこの一行削除 */
  background: var(--flowchart-gradient);
  color: #FFF;/* 番号文字色 */
  font-size: 36px;
  line-height:1;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;  
}

/* ドットデザイン */
.flowchart li::after {
  content: "";
  display: block;
  position: absolute;
  top: .2em;/* 破線とのバランスを見て適宜調整 */
  left: calc(var(--flowchart-size) + 15px + 2px);
  width: calc(var(--flowchart-border) - 4px);
  height: calc(var(--flowchart-border) - 4px);
  border-radius: 50%;
  background: #CCC;/* ドットの色 */
}

/* 工程タイトル */
.flowchart-title {
  position: relative;
  font-size:1.6em;
  font-weight: 500;
  line-height: 1;/* 大きめの文字は 1.2 〜 1.4 程度で調整すると良い */
}

/* タイトル横破線 デザイン */
.flowchart-title::before {
  content: "";
  display: block;
  position: absolute;
  top: .5em;
  left: calc(calc(calc(var(--flowchart-border) / 2) + 30px) * -1);
  width: 28px;
  border-top: 1px dashed rgb(150,150,150);/* 破線の太さと色 */
}

/* p要素を利用した場合の調整 */
.flowchart li p {
  margin: 1em 0 !important;
}
.flowchart li p:last-of-type {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 600px) {
:root {
  --flowchart-size: 34px;/* 番号大きさ 変更可 */
  --flowchart-border: 10px;/* 縦線太さ 変更可(12px以上) */
}
.flowchart::before {
  left: calc(var(--flowchart-size) + 8px);
}
.flowchart li {
  padding: 0 0 0 calc(var(--flowchart-size) + var(--flowchart-border) + 8px + 30px);
}
.flowchart li::after {
  left: calc(var(--flowchart-size) + 8px + 2px);
  top: .5em;
}
.flowchart-content {
  padding: 0 0 2em;
}
/* 番号部位デザイン */
.flowchart li::before {
  top: -.4em;/* 通常は 0, 横に並ぶタイトルとのバランスを見て調整 */
  font-size: 16px; 
}
.flowchart-title {
  font-size: 1.2em;
}
.flowchart-title::before {
  top: .5em;
}
.flowchart li p:last-of-type {
	font-size:15px;
}
}
/*サイトマップ*/
.sitemap {
	width:96%;
	max-width:440px;
	margin:20px auto;
}
.sitemap ul li {
	font-weight:600;
}
.sitemap ul li a {
	/*color:#555;*/
	margin-left:5px;
	font-size:1.1em;	
}
.sitemap ul li a:before {
 	font-family:'FontAwesome';
	content:"\f0a9";
	font-size:0.8em;
	margin-right:10px;
	color:#AAA;
 }
.sitemap ul li ul {
  margin-top: .5em;
  margin-bottom: .75em;
  margin-left: 2.5em;
}
.sitemap ul li ul li {
  margin-bottom: .25em;
  position: relative;
}
 
.sitemap ul li ul li::before {
  content: "";
  position: absolute;
  top: -0.1em;
  left: -16px;
  width: 15px;
  height: calc(100% + .75em);
  border-left: 1px solid #AAA;
}
 
.sitemap ul li ul li:last-child::before {
  height: calc(1em + .25em);
}
 
.sitemap ul li ul li::after {
  content: "";
  position: absolute;
  top: 1.1em;
  left: -16px;
  width: 15px;
  border-bottom: 1px solid #3972b2;
}
/*ジビエ*/
.top-intro {
  position: relative;
  padding: 60px 0;
  margin:20px 0;
}

.top-intro:before {
  right: 0;
  top: 0;
  background: url(../img/bg-intro.jpg);
  background-size: cover;
  position: absolute;
  content: "";
  width: 65%;
  height: 100%;
  z-index: -1;
  /*opacity: 0.9;*/
  border-radius:10px;  
}

.top-box {
  width: 40%;
  background: rgba(255,255,255,0.9);
  position: relative;
  left: 0;
  top: 0;
  z-index: 5;
  padding: 20px 50px 50px;
  border-radius:10px;
  line-height:2.4;
  letter-spacing:1px;
}
.top-box h2 {
	font-size: clamp(20px, 2.6vw, 36px);
	line-height: 1.6;
	font-weight:600;
	margin-bottom: 20px;
	letter-spacing:0.1em;
	border-bottom:dashed 1px #AAA;
}
.top-box h2:first-letter {
	font-size:1.4em;
	color:#366531;
}
@media screen and (max-width: 820px) {
  .top-intro {
    padding: 20px 0;
	margin:0;
  }
  .top-intro:before {
    height:40vh;
    width: 100%;
  }
  .top-box {
    width: calc(90% - 100px);
    margin: 30vh auto 0;
  }
  .top-box h2 {
	font-size: 4vw;
  }
}

@media screen and (max-width: 600px) {
  .top-intro:before {
    height: 30vh;
  }

  .top-box {
    width: calc(90% - 40px);
    padding: 10px 20px 20px;
    margin: 20vh auto 0;
	line-height:1.8;
	letter-spacing:.5px;
	font-size:15px;
  }

  .top-box h2 {
	font-size: 5.6vw;
	margin-bottom:10px;
  }
}
.conceptbox_bg {
	position:relative;
	background-image:url(../img/bg-title1.jpg);	
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	background-attachment:scroll;
	padding: 8vw 0 0;
	margin:0 0 7vw;
	overflow:hidden;
}
.conceptbox { 
}
.text_area {
	width:55vw;
	max-width:900px;
	background: #FFF;
	border-radius:0 4px 0 0;
    padding: 6vw ; 
    -webkit-box-sizing: border-box;
    box-sizing: border-box;	
}
.vision {
	letter-spacing: 0.05em;
	line-height: 2.2;
}
@media screen and (max-width: 820px) {
.text_area {
	width:75vw;
	max-width:900px;	
}
.vision {
	font-size:16px;
}
}
@media screen and (max-width: 600px) {
.conceptbox_bg {
	margin:0;
}
.text_area {
	width:90%;
	margin:0 auto 10vw;
	background:rgba(255,255,255,0.9);
	padding: 5vw;
	border-radius: 4px;
}
}
/*TOPキャンペーンバナー*/
.cam_banner {
	padding:25px 0 ;
	text-align:center;
	background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, #F7F7F7 10px, #F7F7F7 20px);
}
.cam_banner img {
	max-width:100%;
}
/*アクセスCSS*/
.way_flow {
}
.way_flow dt {
	font-size: clamp(16px, 1.8vw, 24px);
  font-weight: 500;
  color: #8c7f79;
  line-height: 1.4;
    padding: 8px 15px;
    font-size: 20px;
	font-weight:600;
    border-radius: 3px;
}
.way_flow dd {
    border-left: 3px dotted #cbc6c3;
    margin-left: 25px;
    padding: 10px 15px;
    box-sizing: border-box;
}
.way_flow dd img {
	width:49%;
	max-width:300px;
	margin-right:1%;
}
.way_flow dd:last-child {
    border: none;
}
@media screen and (max-width: 600px) {
.way_flow dt {
    font-size: 16px;
}
.way_flow dd img {
	width:100%;
	max-width:none;
	margin-right:0;
	margin-bottom:3px;
}
}
/*占い師一覧ページ*/
.list {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
}
.list li {
    width:calc(16.66% - 22px);
	margin:0 10px 20px;
	border:1px #AAA solid;
	overflow:hidden;
	background:#f9f8f8;
}
.list li h3 {
	color: #FFF;
	font-weight:500;
	text-align:center;
	letter-spacing:1px;
	font-size:16px;
	line-height:1.1;
	padding:5px 0;
	background:#988c87;		
}
.list li h3 span {
	font-size:12px;
	/*color:#937352;*/
}
.list li p {
	margin:5px;
	font-size:13px;
	line-height:1.5;
	font-weight:400;
}
.list li img {
	width:100%;
}
.zaiseki {
	display: flex;
	flex-wrap: wrap;
	gap:6px;
	margin:10px 5px;	
}
.zaiseki p {
	font-size:13px;
	padding:5px 8px 7px;
	border-radius:3px;
	color: #635a55;
	font-weight:500;	
	line-height:1;	
	margin:0;
}
.zaiseki p.shinjuku {
	background: #e7f4fe;
}
.zaiseki p.shinjuku_annex {
	background: #b8e0eb;
}
.zaiseki p.ikebukuro {
	background: #fff375;
}

.zaiseki p.ginza {
	background: #d7efce;
}
.zaiseki p.shibuya {
	background: #fee2e5;
}
.zaiseki p.yokohama {
	background: #ffcc66;
}
.zaiseki p.namba {
	background: #f1e6fa;
}
@media screen and (max-width: 820px) {
.list li {
    width:calc(25% - 22px);
}			
}
@media screen and (max-width: 600px) {
.list li h3 {
	font-size:4.3vw;
	letter-spacing:normal;
}
.list li {
    width:calc(50% - 12px);
	margin:0 5px 10px;	
}	
}
.bannerbox {
  display: flex;
  flex-wrap: wrap;
  background:#FFF;
  margin:0 0 20px;
  border: #d0d0cf solid 1px;
}
.bannerbox h4 {
	font-size: clamp(18px, 2vw, 24px);
	font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
	font-weight:normal;
	color: #8c7f79;
	line-height: 1;
	margin-bottom:15px;
}
.bannerbox > div {
  width: 50%;
}
.bannerbox .imgbox {
	background:url(../img/imgbox.jpg);
	background-size:cover;
	background-position:center;
}
.bannerbox .imgbox2 {
	background:url(../img/imgbox2.jpg);
	background-size:cover;
	background-position:center;
}
.bannerbox .txt_area {
  width: 50%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  box-sizing: border-box;
  padding: 2em 3em;
  background: #fff;
}
@media screen and (max-width: 820px) {
  .bannerbox h4 {
	  font-size:2.8vw;
  }	
}
@media screen and (max-width: 600px) {
  .bannerbox {
    display: block;
  }

  .bannerbox > div {
    width: 100%;
  }
  .bannerbox .imgbox,
  .bannerbox .imgbox2 {
	  min-height:200px;
  }
  .bannerbox .txt_area {
    width: 100%;
    padding: 1.5em 1em;
    display: block;
	font-size:14px;
  }
.bannerbox h4 {
	font-size:5vw;
	margin-bottom: 8px;
}	
}
.single_news {
	width: 92%;
	max-width: 1000px;
    margin: 0 auto;
    position: relative;
}
.news-box {
    margin: -30px auto 0;
    padding: 15px 30px 30px;
    position: relative;
    z-index: 10;
    max-width: 1000px;
    background: #FFF;
	box-shadow: 2px 2px 10px -3px rgb(91 98 102 / 60%);
}
.rel_box {
  position: relative;
  z-index: 2;
	width:95%;
	max-width: 1400px;
	margin: 0 auto;
	padding:0 0 50px;
	overflow: hidden;  
}
.sec1-wrap2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
}

.sec1-wrap2 + .sec1-wrap2 {
  margin-top: 120px;
}

.sec1-wrap2 .sec1-img-box {
  width: 68%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  order: 2;
}

.sec1-wrap2 .sec1-img-box img {
  width: 100%;
  border-radius:8px;
}

.sec1-wrap2 .sec1-img-box .sec1-img01 {
  width: 56%;
}

.sec1-wrap2 .sec1-img-box .sec1-img02 {
  width: 42%;
}

.sec1-wrap2 .sec1-img-box .sec1-img03 {
  width: 100%;
}

.sec1-wrap2 .sec1-box {
  width: 27%;
}
.sec1-wrap2 .sec1-box2 {
  width: 27%;
  order:2;
}

@media all and (max-width:820px) {
.rel_box {
	width:100%;
}
  .sec1-wrap2 {
    flex-direction: column;
  }

  .sec1-wrap2 + .sec1-wrap2 {
    margin-top: 60px;
  }

  .sec1-wrap2 .sec1-img-box {
    width: 100%;
    margin-bottom: 20px;
    order: -1;
  }
.sec1-wrap2 .sec1-img-box .sec1-img01 {
  width: 58%;
}
.sec1-wrap2 .sec1-img-box .sec1-img02 {
  width: 41%;
}
.sec1-wrap2 .sec1-img-box img {
	border-radius:0;
	
}
  .sec1-wrap2 .sec1-box,
   .sec1-wrap2 .sec1-box2 {
    width: 90%;
  }
  .sec1-wrap2 .sec1-box h2,
  .sec1-wrap2 .sec1-box2 h2 {
	  text-align:center;
  }
}
@media all and (max-width:600px) {
.rel_box {
	padding:0 0 5px;
}
}
/* 背景100% */
.bg-title1 {
	background-image:url(../img/bg-title1.jpg);	
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	-moz-background-size:cover;
	background-attachment:scroll;
	padding:50px 0;
	overflow:hidden;
}
@media screen and (max-width:820px) {
.bg-title1 {
	background-attachment: scroll;
	padding:5vw 0;
  }   
}
@media screen and (min-width : 320px) and (max-width: 600px) {
.bg-title1 {
}
}
.box_style_E {
  position: relative;
  margin:30px 0 30px;
  display: flex;
  overflow:hidden;
  min-height: 300px;
}
.box_style_E:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 48%;
  height: 100%;
  border-radius:0 4px 4px 0;
  background: url(../img/bg_E.jpg) no-repeat center;
  background-size: cover;
}
.box_styleF:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  width: 48%;
  height: 100%;
  border-radius:4px 0 0 4px;
  background: url(../img/bg_F.jpg) no-repeat center;
  background-size: cover;
}
.box_style_E .inner {
  width: 47%;
  margin-left: auto;
}
.box_styleF .inner {
  width: 47%;
  margin-right: auto;
}
.box_style_E .innerbox,
.box_styleF .innerbox {
	background:#fff9ec;
	padding:10px 15px;
	margin-top:20px;
	border-radius: 4px;
}
.box_style_E .inner h2 {
font-size: clamp(22px, 5vw, 70px);
  line-height: 1;
  font-weight: normal;
  color: #cbc6c3;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
  margin-bottom: 10px;
}
.box_style_E .inner h2 span {
  display: block;
  font-size: 0.3em;
  color: #988c87;
}
.box_style_E .inner img,
.box_styleF .inner img {
	display:block;
	max-width:250px;
	margin-bottom:10px;
}
.content_box {
  width: 90%;
  margin: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  padding: 60px 0 70px;
}
.inner_title {
	font-size: clamp(22px, 5vw, 70px);
  line-height: 1;
  font-weight: normal;
  color: #cbc6c3;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E;
  margin-bottom: 10px;	
}
.inner_title span {
  font-size: 0.3em;
  color: #988c87;
}
@media screen and (max-width: 820px) {
  .box_style_E,
  .box_styleF {
    margin: 20px 0 20px;
    display: block;
  }
  .box_style_E:before,
  .box_styleF:before {
    position: relative;
    display: block;
    width: 100%;
    height: 35vh;
	border-radius:0;
  }     
  .box_style_E .inner,
  .box_styleF .inner {
    width: 100%;
  } 
  .content_box {
    padding: 30px 0;
    width: 90%;
  }
}
@media screen and (max-width:600px) {
  .box_style_E,
  .box_styleF {
    margin:15px 0 0;
  }	
  .content_box {
    padding: 10px 0;
    width: 94%;
  }  
}

/* スケジュール関連追加 */

    /* ===== 前後ナビ ===== */
    ul.sche_arrow {
      display: flex;
      justify-content: space-between;
      list-style: none;
      padding: 0;
      margin: 0 0 1rem;
    }

    ul.sche_arrow li a {
      font-size: 0.88rem;
      color: #7a6a3e;
      text-decoration: none;
      padding: 0.4rem 0.9rem;
      border: 1px solid #c8b890;
      border-radius: 4px;
      transition: background 0.2s, color 0.2s;
      display: inline-block;
    }

    ul.sche_arrow li a:hover {
      background: #7a6a3e;
      color: #fff;
    }

    /* ===== 3カラムグリッド ===== */
    ul.schedule {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
      list-style: none;
      padding: 0;
      margin: 0;
    }

    ul.schedule>li {
      border: 1px solid #ddd5bc;
      border-radius: 6px;
      overflow: hidden;
    }

    /* ===== 日付ヘッダー ===== */
    ul.schedule>li>h5 {
      background: #b8a484;
      color: #fff;
      text-align: center;
      font-size: 0.95rem;
      font-weight: 700;
      padding: 0.65rem 0.5rem;
      margin: 0;
      letter-spacing: 0.06em;
    }

    ul.schedule>li>h5 span {
      display: none;
    }

    /* ===== 占い師リスト ===== */
    ul.schedule_list {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    ul.schedule_list>li {
      border-bottom: 1px solid #ede8dc;
    }

    ul.schedule_list>li:last-child {
      border-bottom: none;
    }

    ul.schedule_list>li>a {
      display: flex;
      align-items: center;
      gap: 0.7rem;
      padding: 0.5rem 0.7rem;
      text-decoration: none;
      background: #fff;
      transition: background 0.2s;
    }

    ul.schedule_list>li>a:hover {
      background: #faf7f0;
    }

    /* ===== 占い師写真 ===== */
    ul.schedule_list>li>a img {
      width: 65px !important;
      height: auto !important;
      /*flex-shrink: 0;
      border-radius: 3px;*/
      display: block;
    }

    /* ===== 名前・時間のラッパー ===== */
    ul.schedule_list .sche_info {
      flex: 1;
      min-width: 0;
    }

    ul.schedule_list .sche_info p {
      margin: 0;
      line-height: 1.5;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    ul.schedule_list .sche_info p.name {
      font-size: 0.88rem;
      font-weight: 700;
      color: #333;
    }

    ul.schedule_list .sche_info p.time {
      font-size: 0.78rem;
      color: #888;
      margin-top: 0.2rem;
    }

    /* ===== スマホ（コンパクト） ===== */
    @media (max-width: 767px) {
      ul.schedule {
        display: block;
      }

      ul.schedule>li {
        margin-bottom: 8px;
        background: #FFF;
      }

      ul.schedule>li>h5 {
        font-size: 0.85rem;
        padding: 0.2rem 0.5rem;
        letter-spacing: 0;
        text-align: left;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
      }

      ul.schedule>li>h5 span {
        display: block;
        text-align: right;
        font-weight: 400;
        letter-spacing: 0.05em;
      }

      ul.schedule_list {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        gap: 3px;
        padding: 3px 3px 8px;
      }

      ul.schedule_list>li {
        border-bottom: none;
        align-items: center;
        justify-content: center;
        flex: 0 0 16.2vw;

      }

      ul.schedule_list>li>a {
        flex-direction: column;
        align-items: center;
        gap: 0.3rem;
        padding: 0;
        text-align: center;
      }

      ul.schedule_list>li>a img {
        width: 100% !important;
      }

      ul.schedule_list .sche_info {
        width: 100%;
        text-align: center;
      }

      ul.schedule_list .sche_info p.name {
        font-size: 0.64rem;
        font-weight: 400;
        white-space: normal;
      }

      ul.schedule_list .sche_info p.time {
        font-size: 0.5rem;
      }
    }

