@charset "UTF-8";
@import url("layout.css");


/*--------------------------
リセット
---------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
vertical-align: baseline;
font-family: 'Yu Gothic', sans-serif;
line-height: 1.6;
color: #111111;
}

html {
  overflow-y:scroll;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}
/*----------------------------------------------------
基本：基本タグ
------------------------------------------------------ */
/* [ PC - SP switch ] */
@media screen and (min-width: 768px) {
  .pcOFF {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  /* Smartphone */
  .spOFF {
    display: none !important;
  }
}
@media print  {
  .spOFF {
    display: none !important;
  }
}
/* -------*/
* {
  box-sizing: border-box;
}

html {
  overflow-y: scroll;
}

body {
  font-family: 'Yu Gothic', sans-serif;
}


.montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}




@media screen and (max-width: 767px) {
  /* Smartphone */
	body {
	  min-width:100%;
	}
}

a{color: #222222;}
a:hover{color: #5CA1E2;}
a:visited{color: #222222;}
a:active{color: #222222;}




/*----------------------------------------------------
共通
------------------------------------------------------ */

.tbl01{
	margin-bottom:100px;
	width:100%;
}
.tbl01 tr{
	background:#fff;
}
.tbl01 tr:nth-child(odd){
	background:#EEEEEE;
}
.tbl01 th{
	font-size:18px;
	padding:23px;
	vertical-align:top;
}
.tbl01 td{
	font-size:18px;
	padding:23px;

}
/*--------- .imgCenter --------- */
.imgCenter{
	text-align:center;
}

@media screen and (max-width: 767px) {
  /* Smartphone */

	
	.tbl01{
		margin-bottom:40px;
		width:100%;
	}
	.tbl01 tr{
		background:#fff;
	}
	.tbl01 tr:nth-child(odd){
		background:#EEEEEE;
	}
	.tbl01 th{
		font-size:15px;
		padding:10px 5px;
		width:35%;
	}
	.tbl01 td{
		font-size:15px;
		padding:10px 5px;
		width:65%;
	}

}


.flexbox{
	display: flex;
}
.flexbox-pc{
	display: flex;
}
@media screen and (max-width: 767px) {
  /* Smartphone */

	.flexbox-pc{
		display:inherit;
	}
	.flexbox-sp{
		display: flex;
	}

}


.btn{
}

.btn a{
	display: inline-block;
	background: #FFF;
	border: 2px solid #333;
	padding: 15px 40px;
	text-align: center;
	border-radius: 50px;
	text-decoration: none;
	font-weight: bold;
}
.btn a::after{
	content: "→";
	padding-left: 10px;
	color: #333;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
  /* Smartphone */

	.btn{
		text-align: center;
	}

	.btn a{
		display: inline-block;
		background: #FFF;
		border: 2px solid #333;
		padding: 10px 20px;
		text-align: center;
		border-radius: 50px;
		text-decoration: none;
		font-weight: bold;
	}

	.btn a::after{
		content: "→";
		padding-left: 10px;
		color: #333;
		font-weight: bold;
	}
}


/*----------------------------------------------------
スマホヘッダー
------------------------------------------------------ */
/* スマホヘッダー */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  z-index: 9999999;
}

#fixed-top {
  position: fixed;
  top: 0;
  background: #39ADE3;
  z-index: 99999999;
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

/* ヘッダーのロゴ */
#fixed-top .logo {
  padding: 0 0;
}

#fixed-top .logo img {
  width: auto;
  padding-top: 5px;
  padding-left: 10px;
  height: 50px;
}

/* ヘッダーのボタン関連 */
#fixed-top .headerButtons {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: right;
  justify-content: right;
}

#fixed-top .headerButtons li a {
  display: block;
}

#fixed-top .headerButtons li img {
  vertical-align: bottom;
  height: 60px;
  width: auto;
}

/* スマートフォン用ナビゲーション*/
#slidar_menu {
  background: #f2f5fd;
  padding: 10px;
  z-index: 99999999;
}

#slidar_menu .sb-right-inner .logo {
  margin: 0px 0 20px;
  text-align: center;
  overflow: hidden;

}

#slidar_menu .sb-right-inner .logo img {
  display: block;
  height: auto;
  margin: 10px auto;
  text-align: center;
}

#slidar_menu .sb-right-inner .parent .tit {
  display: block;
  background: #f0f6ff;
  padding: 5px;
  margin-bottom: 10px;
  border-radius: 3px;
  font-weight: bold;
  color: #cf1357;
}

#slidar_menu .sb-right-inner .parent li {
  border-bottom: solid 1px #ccc;
  margin-bottom: 10px;
  padding-bottom: 10px;
}

#slidar_menu .sb-right-inner .parent li.banner img {
  width: 100%;
  height: auto;
}

#slidar_menu .sb-right-inner .parent li.banner {
  border-bottom: none;
  margin-bottom: 5px;
  padding-bottom: 0px;
}

#slidar_menu .sb-close {
  text-align: right;
  margin-bottom: 10px;
}

#slidar_menu .sb-right-inner a {
  display: block;
  text-decoration: none;
  font-size: 18px;
  color: #333;
  font-weight: bold;
font-family: "Zen Maru Gothic", sans-serif;
}

/* テキストメニュー */
#slidar_menu .parent.txt {
  margin-bottom: 30px;
}

#slidar_menu .parent.txt li {
  background-image: url(../img/shoplist_marker.png);
  background-repeat: no-repeat;
  background-position: 98% 4px;
  background-size: 14px 14px;
}



/*----------------------------------------------------
header
------------------------------------------------------ */
.header{
	background: #FFF;
	position:fixed;
	z-index:10;
	top:0;
	left:0;
	width:100%;
}
.header .inner{
	width:100%;
	max-width:1200px;
	margin:0 auto;
	height:90px;
	display:flex;
	justify-content:space-between;
	align-items: center;
	padding: 0px 20px;
	gap: 20px;
}
.header .inner .headerLogo{
	flex-basis:35%;
	max-width: 158px;
}
.header .inner .headerLogo img{
	height:auto;
	width: 100%;
}
.header .inner .nav{
	flex-basis:45%;
}
.header .inner .navLst{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	align-items: center;      /* 垂直方向の中央寄せ */
}
.header .inner .navLst li.navItem{
}



.header .inner .navLst a{
	text-decoration: none;
	color: #000;
	font-weight: bold;
	font-family: "Zen Maru Gothic", sans-serif;
}

.header .inner .navLst a::before{
	content: "●";
	display: block;
	text-align: center;
	color: #fff;
}

.header .inner .navLst a.dot::before{
	color: #5CA1E2;
}




/*----------------------------------------------------
wrapper
------------------------------------------------------ */
#wrapper.basicPage{
	margin-top:190px;
}
@media screen and (max-width: 767px) {
  /* Smartphone */
	#wrapper.basicPage{
		margin-top:90px;
	}
}

/*----------------------------------------------------
mainVisual
------------------------------------------------------ */

#top .hero-mainimg{
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	margin: 90px auto 0px;
}

#top .hero-mainimg .mainv{
	max-width: 1200px;
	margin: 0px auto;
}

#top .hero-mainimg img{
	width: 100%;
}


@media screen and (max-width: 767px) {
  /* Smartphone */
	.hero-mainimg{
		width: 100%;
	}
	.hero-mainimg img{
		text-align: center;
		margin: 0px auto;
	}
	#top .hero-mainimg{
		width: 100%;
		max-width: 100%;
		overflow: hidden;
		margin: 60px auto 0px;
	}

	#top .hero-mainimg .mainv{
		margin: 0px auto;
		width: 100%;
	}

	#top .hero-mainimg img{
		width: 100%;
	}
}

/*----------------------------------------------------
pageVisual
------------------------------------------------------ */
.page-mainimg{
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	margin: 90px auto 0px;
}



.page-mainimg .mainv{
	max-width: 1200px;
	margin: 0px auto;
}

.page-mainimg img{
	width: 100%;
}



@media screen and (max-width: 767px) {
  /* Smartphone */
	.page-mainimg{
		width: 100%;
		max-width: 100%;
		overflow: hidden;
		margin: 60px auto 0px;
	}
}

/*----------------------------------------------------
footer
------------------------------------------------------ */
.footer{
}

.area-footer-main{
	width: 100%;

}

.area-footer-box1{
	background: url(../images/footerbg.png) no-repeat;
	background-color: #39ADE3;
	background-position-x: center;
	background-position-y: bottom;
	padding-top: 150px;
	width: 100%;
	margin: 0px auto;
	padding-top: 100px;	
	padding-bottom: 100px;
}

.area-footer-box1 h3{
	font-size: 70px;
	font-family: "Montserrat", sans-serif;
	color: #ffffff;
	line-height: 80px;
	text-align: center;
	margin-bottom: 30px;
}
.area-footer-box1 h3::before{
	border-top:solid 5px #ffffff;
	width: 40px;
	margin: 0px auto;
	content: "";
	display: block;
}

.area-footer-box1 .txtbox p{
	text-align: center;
	color: #fff;
}

.area-footer-box1 .foottel{
	display: flex;
	max-width: 640px;
	margin: 30px auto;
	justify-content: space-around;
	align-items: center;
	gap: 50px;
}
.area-footer-box1 .foottel .telno{text-align: right;}

.area-footer-box1 .foottel .telno p{
	font-size: 40px;
	font-family: "Montserrat", sans-serif;
	font-weight: bold;
	color: #fff;
}
.area-footer-box1 .foottel .telno p::before{
	content: url(../images/foottel.png);

}
.area-footer-box1 .foottel .telno span{
	color: #fff;
}


.area-footer-box2{
	width: 100%;
	background: #111;
	padding-top: 50px;	
	padding-bottom: 20px;
}

.area-footer-box2 .flexbox{
	max-width: 1200px;
	margin: 0px auto;
	justify-content: space-between;
	gap: 30px;
}

.area-footer-box2 .flexbox .nav-sns{
	margin-right: auto;
	display: flex;
	gap: 20px;
}

.area-footer-box2 .foot-logo{}

.area-footer-box2 .nav-footer{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 20px;
}

.area-footer-box2 .nav-footer li a{
	font-weight: bold;
	text-decoration: none;
	color: #fff;

}

.area-footer-box2 .nav-footer .snsicon{
max-width: 40px;
}
.area-footer-box2 .nav-footer .snsicon img{
max-width: 40px;
}

.area-footer-copy{
	text-align: center;
	background: #111;
	padding: 20px;
}

/* address  */

.area-footer-copy address {
	color: #fff;
}
.area-footer-copy address a{
	color:  #fff;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
  /* Smartphone */
  .area-footer-main{
		width: 100%;
	}
	.area-footer-box1 h3{
		font-size: 40px;
		font-family: "Montserrat", sans-serif;
		color: #ffffff;
		line-height: 40px;
		text-align: center;
		margin-bottom: 30px;
	}
	.area-footer-box1 h3::before{
		border-top:solid 5px #ffffff;
		width: 30px;
		margin: 0px auto;
		content: "";
		display: block;
	}
	.area-footer-box1 .txtbox{
		padding: 0px 10px;
	}
	.area-footer-box1 .foottel{
		display: block;
	}
	.area-footer-box1 .foottel .telno{text-align: center; margin-bottom: 15px;}
	.area-footer-box1 .foottel .btn{text-align: center;}

	.area-footer-box2 .flexbox{
		display: block;
		text-align: center;
	}
	.area-footer-box2 .flexbox .nav-sns{
		justify-content: center;
		padding-top: 20px;
	}
	.area-footer-box2 .nav-footer{
		display: block;
		padding: 20px;
	}

}


/*----------------------------------------------------
top page
------------------------------------------------------ */

.top-contents{
	max-width: 1200px;
	margin: 50px auto;
}

.top-service{
	margin-bottom: 100px;
}

.top-service .flexbox{
	gap: 50px;
}


.top-service .flexbox h3{
	font-size: 70px;
	font-family: "Montserrat", sans-serif;
	color: #286DB2;
	line-height: 80px;
}
.top-service .flexbox h3::before{
	border-top:solid 5px #286DB2;
	width: 40px;
	content: "";
	display: block;
}
.top-service .flexbox p{
	margin-bottom: 1em;
}

.top-service .bx-wrapper{
	-moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    background: none;
	margin-top: 50px;
}

.top-service .boldtxt{
	font-weight: bold;
	margin-bottom: 1em;
}


.top-about{
	margin-bottom: 100px;
	padding: 150px 0px 0px;
	background: #F2F4F7;
}

.top-about .flexbox{
	gap: 50px;
}

.top-about .flexbox h3{
	font-size: 70px;
	font-family: "Montserrat", sans-serif;
	color: #286DB2;
	line-height: 80px;
}
.top-about .flexbox h3::before{
	border-top:solid 5px #286DB2;
	width: 40px;
	content: "";
	display: block;
}

.top-about .flexbox .fleximg02{
	margin-top: 230px;
}

.top-about .flexbox .fleximg02 img{
	position: relative;
    bottom: -50px;
}

.top-about .boldtxt{
	font-weight: bold;
	margin-bottom: 1em;
}


@media screen and (max-width: 767px) {
  /* Smartphone */

	.top-contents{
		padding: 10px;
	}
	.top-service{
	}
	.top-service .flexbox{
		display: block;
	}
	.top-service .flexbox h3{
		font-size: 40px;
		font-family: "Montserrat", sans-serif;
		color: #286DB2;
		text-align: center;
		line-height: 40px;
		margin-bottom: 20px;
	}
	.top-service .flexbox h3::before{display: none;}
	.top-service .flexbox h3::after{
		border-top:solid 5px #286DB2;
		width: 30px;
		content: "";
		display: block;
		margin: 10px auto;
	}


	.top-about{
		margin-bottom: 100px;
		padding: 10px;
		background: #F2F4F7;
	}

	.top-about .flexbox{
		display: block;
	}
	.top-about .flexbox .fleximg01{
		width: 100%;
	}
	.top-about .flexbox h3{
		font-size: 40px;
		font-family: "Montserrat", sans-serif;
		color: #286DB2;
		text-align: center;
		line-height: 40px;
		margin-bottom: 20px;
	}
	.top-about .flexbox h3::before{display: none;}
	.top-about .flexbox h3::after{
		border-top:solid 5px #286DB2;
		margin: 10px auto;
		width: 30px;
		content: "";
		display: block;
	}
	.top-about .flexbox .fleximg02{
		width: 100%;
		margin-top:0px ;
		text-align: right;
	}

}



/*----------------------------------------------------
page
------------------------------------------------------ */



.pankz{
	width: 100%;
	max-width: 1200px;
	margin: 10px auto;
}

.pankz ul{
	display: flex;
	justify-content: flex-start;
}

.pankz ul li a,.pankz ul li{
	text-decoration: none;
	font-weight: bold;
}

.pankz ul li a::after{
	content: ">";
	margin: 0 20px;
}



.tit{
	font-size: 48px;
	color: #1850AC;
	font-family:  "Zen Maru Gothic", sans-serif;
	font-weight: bold;
	text-align: center;
}

 .tit span{
	font-size: 40px;
	display: block;
	color: #1850AC;
	text-align: center;
}

.tit::after{
	border-bottom:solid 5px #1850AC;
	width: 40px;
	margin: 15px auto;
	content: "";
	display: block;
}

@media screen and (max-width: 767px) {
  /* Smartphone */
	.tit{
		font-size: 36px;
		color: #1850AC;
		font-family:  "Zen Maru Gothic", sans-serif;
		font-weight: bold;
		text-align: center;
		line-height: 34px;
	}

	.tit span{
		font-size: 26px;
		display: block;
		color: #1850AC;
		text-align: center;
	}

	.tit::after{
		border-bottom:solid 5px #1850AC;
		width: 30px;
		margin: 20px auto;
		content: "";
		display: block;
	}

}



.area-main{

}

.area-main-content{
	margin: 50px auto 100px; 
	max-width: 100%;
}


.page-titbox{
	background: #FFFDF1;
	padding: 40px;
}

.page-titbox .txtbox{
	max-width: 1000px;
	margin: 50px auto;
	text-align: center;
}

.page-titbox .txtbox .boldtxt{
	font-weight: bold;
	font-size: 120%;
	margin-bottom: 1em;
}


@media screen and (max-width: 767px) {
  /* Smartphone */
	.area-main-content{
		margin: 0px auto; 
	
	}
	.page-titbox{
		background: #FFFDF1;
		padding: 10px;
	}

}



/*----------------------------------------------------
service page
------------------------------------------------------ */

.page-service{
	padding: 50px 0px;
	max-width: 1200px;
	margin: 0px auto;
}

.page-service .flexbox{
	border-bottom: 2px #ccc solid ;
	padding: 30px 0px;
	flex-wrap: wrap;
	gap:30px 20px;
	justify-content: space-between;
}

.page-service .flexbox .flexbox-l{flex-basis: 53%;}


.page-service .flexbox .flexbox-l .service-tit::before{
    background: #7DD0FC;
    content: "";
    border-radius: 10px;
    display: block;
    width: 10px;
    height: 5em;
    float: left;
}

.page-service .flexbox .flexbox-l .service-tit p{
font-size: 18px;
padding-left: 20px;
}

.page-service .flexbox .flexbox-l .service-tit h3{
font-size: 30px;
padding-left: 20px;
}

.page-service .flexbox .flexbox-l .txtbox{
	padding: 20px;
}
.page-service .flexbox .flexbox-l .txtbox ul{
margin-top: 30px;
}
.page-service .flexbox .flexbox-l .txtbox ul li{
	background: #F8F3D9;
	padding: 20px;
	font-size: 90%;
	font-weight: bold;
	margin-bottom: 15px;
	max-width: 450px;
}

.page-service .flexbox .flexbox-r{flex-basis: 40%;}

.page-service .flexbox .flexbox-b{flex-basis: 100%;}

.page-service .flexbox .flexbox-b .btn-box{display: flex; justify-content: right; gap: 20px;}



@media screen and (max-width: 767px) {
  /* Smartphone */
	.page-service{
		padding: 20px 10px;
	}

	.page-service .flexbox{
		display: block;
	}

	.page-service .flexbox .flexbox-r img{
		width: 100%;
	}

	.page-service .flexbox .flexbox-b .btn-box{display: block;}
	.page-service .flexbox .flexbox-b .btn-box .btn{margin-bottom: 10px;}


	.page-service .flexbox .flexbox-l .service-tit::before{
		background: #7DD0FC;
		content: "";
		border-radius: 10px;
		display: block;
		width: 8px;
		height: 4em;
		float: left;
	}
	.page-service .flexbox .flexbox-l .service-tit p{
		font-size: 16px;
		padding-left: 20px;
	}

	.page-service .flexbox .flexbox-l .service-tit h3{
		font-size: 24px;
		padding-left: 20px;
	}


}


/*----------------------------------------------------
about page
------------------------------------------------------ */

.page-about{
	padding: 50px 0px;
	max-width: 1200px;
	margin: 0px auto;
}


.page-about .about-table{
	max-width: 800px;
	width: 100%;
	margin: 0px auto;
	border-top: 2px solid#ccc;
	border-collapse: collapse;
}

.page-about .about-table th{
	background: #E3F2F6;
	font-size: 120%;
	padding: 20px;
	text-align: center;
	border-bottom: 2px solid#ccc;
}

.page-about .about-table td{
	background: #fff;
	font-size: 120%;
	padding: 20px 15px 20px 40px;
	text-align: left;
	border-bottom: 2px solid#ccc;
}


@media screen and (max-width: 767px) {
  /* Smartphone */
	.page-about{
		padding: 20px 10px;
	}

	.page-about .about-table{
		width: 100%;
		display: block;
	}
	.page-about .about-table tbody,.page-about .about-table tr{display: block;}
	.page-about .about-table th{
		display: block;
		padding: 10px;
		text-align: left;
		font-size: 100%;
	}

	.page-about .about-table td{
		display: block;	
		padding: 10px;
		text-align: left;
		font-size: 100%;
	}

}




/*----------------------------------------------------
amusement page
------------------------------------------------------ */

.page-amusement{
	padding: 50px 0px;
	max-width: 1100px;
	margin: 0px auto;
}

.page-amusement .amlist{

}

.page-amusement .amlist li{

} 



.page-amusement .flexbox{
	border-bottom: 2px #ccc solid ;
	padding: 30px 0px;
	flex-wrap: wrap;
	gap:30px 20px;
	justify-content: space-between;
	position: relative;
}

.page-amusement .flexbox .flexbox-l{flex-basis: 45%; }


.page-amusement .flexbox .flexbox-l .am-tit::before{
    background: #7DD0FC;
    content: "";
    border-radius: 10px;
    display: block;
    width: 10px;
    height: 3em;
    float: left;
}

.page-amusement .flexbox .flexbox-l .am-tit p{
font-size: 18px;
padding-left: 20px;
}

.page-amusement .flexbox .flexbox-l .am-tit h3{
font-size: 30px;
padding-left: 20px;
}

.page-amusement .flexbox .flexbox-l .am-catch{
	position: absolute;
	top:230px;
	text-align: right;
	right: 380px;
}

.page-amusement .flexbox .flexbox-l .am-catch h4{
	background: #EA80BB;
	padding: 5px 10px;
	font-size: 26px;
	margin-bottom: 10px;
	display: inline-block;
	color: #fff;
}

.page-amusement .flexbox .flexbox-l .am-profile{
	margin-top: 50px;
	padding-left: 30px;
}
.page-amusement .flexbox .flexbox-l .am-profile li{
	margin-bottom: 20px;
}
.page-amusement .flexbox .flexbox-l .am-sns{padding-left: 30px;}
.page-amusement .flexbox .flexbox-l .am-sns ul{display: flex; gap: 10px;}

.page-amusement .flexbox .flexbox-l .txtbox{
	padding: 20px;
}
.page-amusement .flexbox .flexbox-l .txtbox ul{
margin-top: 30px;
}
.page-amusement .flexbox .flexbox-l .txtbox ul li{
	background: #F8F3D9;
	padding: 20px;
	font-size: 90%;
	font-weight: bold;
	margin-bottom: 15px;
	max-width: 450px;
}

.page-amusement .flexbox .flexbox-r{flex-basis: 50%;}

.page-amusement .flexbox .flexbox-r .txtbox{padding-right: 20px;}
.page-amusement .flexbox .flexbox-r .txtbox p{margin-bottom: 20px;}



.page-amusement .flexbox .flexbox-b{flex-basis: 100%;}

.page-amusement .flexbox .flexbox-b .btn-box{display: flex; justify-content: right; gap: 20px;}


@media screen and (max-width: 767px) {
  /* Smartphone */
	.page-amusement{
		padding: 20px 10px;
	}

	.page-amusement .flexbox{
	}
	.page-amusement .flexbox div:nth-of-type(1){flex-basis: 100%;}
	.page-amusement .flexbox div:nth-of-type(2){flex-basis: 54%;}
	.page-amusement .flexbox div:nth-of-type(3){flex-basis: 39%;}
	.page-amusement .flexbox div:nth-of-type(4){flex-basis: 100%;}

	.page-amusement .flexbox .flexbox-l img{width: 100%;}
	.page-amusement .flexbox .flexbox-r img{width: 100%;}

	.page-amusement .flexbox .flexbox-l .am-catch{
		position: static;
		text-align: left;
		margin-top: 10px;
		margin-left: 20px;
	}

	.page-amusement .flexbox .flexbox-l .am-catch h4{
		background: #EA80BB;
		padding: 5px;
		font-size: 20px;
		margin: 5px 0px;
		display: inline-block;
		color: #fff;
	}

	.page-amusement .flexbox .flexbox-l .am-profile{
		margin-top: 10px;
		padding-left: 20px;
	}
	.page-amusement .flexbox .flexbox-l .am-profile li{
		margin-bottom: 10px;
	}

}





/* ==========================================================
contact
========================================================== */
.contact_box{
	max-width: 900px;
	width: 90%;
	margin: 20px auto 50px;
}


.area-contact .table-contact{
	background: #fdf9f7;
	padding: 50px;
}

.table-contact table{
	width: 100%;
	margin: 5px auto;
}
.table-contact td{
	padding: 20px;
	border-top: 2px dotted #ccc;
}

.table-contact strong{
	line-height: 200%;
	margin: 5px 10px;
}
.table-contact input,
.table-contact textarea{
	display: block;
	padding: 10px;
	border: 2px #ccc solid;
	width: 100%;
	margin: 10px 0px;
	box-sizing: border-box;
	font-size: 100%;
}
.table-contact input[type="radio"]{
	display: inline-block;
	width: inherit;
}

.table-contact select{
	padding: 10px;
	border: 2px #ccc solid;
	margin: 10px 0px;
	box-sizing: border-box;
	font-size: 100%;
}

.table-contact .contact-abs:before{
	content: "必須";
	background: #DB0004;
	padding: 5px;
	margin: 5px 0px;
	color: #fff;
	
}
.table-contact .contact-std:before{
	content: "任意";
	background: #016DD9;
	padding: 5px;
	color: #fff;
	margin: 5px 0px;
}
.contact-abs .wpcf7-list-item {
	display: block;
}


.wpcf7 input[type="submit"]{
	border: 2px #fff solid;
	border-radius: 5px;
	background: #D0115B;
	color: #fff;
	font-weight: bold;
	font-size: 140%;
	padding: 10px 20px;
	box-shadow: 0px 1px 6px -1px #444;
	display: block;
	max-width: 400px;
	margin: 10px auto;
	cursor: pointer;
}
.wpcf7 input[type="submit"]:hover{
	box-shadow: 0px 1px 4px -1px #444;
}
/* エラー */
.wpcf7-validation-errors{
	background: #fff;
}


/*============================================================
* blog 
==============================================================*/



.blogArea{
	display: flex;
	justify-content: space-between;
    width: 1170px;
    margin: auto;
    position: relative;
    padding: 50px 0px;
}
.blogArea__main{
	flex-basis: 70%;
}
.blogArea__side{
	flex-basis: 27%;
}



.blogArea__main .post__item{
	padding-bottom: 10px;
	margin-bottom: 40px;
	background: #e6f7ff;
	position: relative;
}

.blogArea__main .post__item .date{
	position: absolute;
    top: -22px;
    left: 10px;
    padding: 1px 10px;
    background: #39A5C9;
    font-size: 90%;
    color: #fff;
    border-radius: 4px 4px 0px 0px;

}


.blogArea__main .postdetail{
	margin: 20px;
    padding: 20px;
    line-height: 1.8;
    background: #fff;
	border-radius: 6px;
	overflow: hidden;
}

.blogArea__main .date{
	padding: 0px 20px;
    text-align: right;
}

.blogArea__main .posttit{
	color: #39A5C9;
    font-size: 26px;
    margin-bottom: 10px;
    font-weight: 700;
    line-height: 1.5;
    background: #f9f8f8;
    padding: 20px 5px 20px 20px;
    border-bottom: 5px solid #39A5C9;
}

.blogArea__main .posttit a{
	color: #000;
}


.blogArea__main .postdetail img{
	width: 100%;
	height: auto;
	padding: 10px 0px;
}

/*　リストのアイキャッチ画像　*/
.blogArea__main .postthumb {float: left;}
.blogArea__main .postthumb img{
	width: inherit;
	height: auto;
	padding: 0px 30px 0px 0px;
}

.blogArea__main .postdetail p{
	margin-bottom: 2em;
}


.blogArea__main .postdetail strong{
	font-weight: bold;
}

.blogArea__side > div{
	padding-bottom:  20px;
}

.blogArea__side h3{
    color: #fff;
    padding: 6px 10px;
    background: #ccb797;
    margin-bottom: 10px;
    font-size: 110%;
    font-weight: bold;
}
.blogArea__side ul{ margin-bottom: 30px;}
.blogArea__side ul li{
	border-bottom: #ccc dotted 1px;
	padding: 10px;
}
.blogArea__side ul li a{
	font-size: 90%;
}

.blogArea__main #next{
	padding: 10px 0px;
	margin: 10px auto;
	width: 90%;
}

.blogArea__main #next a{
    display: block;
    padding: 10px;
    font-size: 15px;
    margin-bottom: 10px;
    text-align: center;
    text-decoration: none;
    color: #333;
	background: #e6f7ff;
	border-radius: 5px;
}
.blogArea__main #next a:hover{
	background: #95d9f9;
}

.blogArea__main #next a:first-of-type:before{
	content: "← 前の記事を見る";
    display: block;
    font-size: 12px;
    color: #39A5C9;
}

.blogArea__main #next a:last-of-type:before{
	content: "次の記事を見る →";
    display: block;
    font-size: 12px;
    color: #39A5C9;
}

.postcatlist2{
	background: #fff;
}

.postcatlist2 h2{
	color: #A8844B;
    padding: 10px;
    font-size: 110%;
    margin-top: 20px;
    margin-bottom: 20px;
    font-weight: bold;
}

.postcatlist2 ul{
}
.postcatlist2 li a{
	background: #fee6ff;
    display: block;
    padding: 7px;
    font-size: 13px;
    margin: 5px;
    text-decoration: none;
    color: #333;
	border-radius: 3px;

}
.postcatlist2 li a:hover{
	background: #95d9f9;
}


/* #tinymce スタイル */

.postdetail h2,#tinymce h2{
	background: #efefef;
	border-left: 10px #39A5C9 solid;
	border-radius: 6px;
	padding: 6px;
	margin: 20px 0 10px;
	font-size: 130%;
	display: block;
}


.postdetail h3,#tinymce h3{
	background: #ffe0e6;	
	display: inline-block;
}

.postdetail ul,#tinymce ul{
    padding: 1em;
    background: #fffbed;
    border: 3px dotted #cca55e;
    border-radius: 0.5em;
    width: 98%;
    box-sizing: border-box;
    margin: 1em auto;
    display: block;
}

.postdetail ul li,#tinymce ul li{
	list-style-position: inside;
	color: #966712;
	padding-left: 0.5em;
    margin-bottom: 10px;
}


.shop_reserve{
	margin: 20px;
    padding: 20px;
    line-height: 1.8;
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
}

.shop_reserve h3{
	font-weight: bold;
	font-size: 120%;
	color: #9F1547;
}
.shop_reserve h4{
	color: #9F1547;
}

.shop_reserve p{
	margin-bottom: 15px;
}


@media screen and (max-width: 767px) {
  /* Smartphone */



	.blogArea{
		justify-content: space-between;
		margin: auto;
		position: relative;
		padding: 40px 0px;
		width: 100%;
		display: block;
	}
	.blogArea__main{
		margin-bottom: 20px;
	}
	.blogArea__side{
		background-color: #eee;
	}
	.blogArea__side h2{
		color: #A8844B;
		padding: 10px;
		font-size: 110%;
		margin-top: 20px;
		margin-bottom: 20px;
		font-weight: bold;
		text-align: center;
	}


	.blogArea__main .post__item{
		padding-bottom: 10px;
		margin-bottom: 20px;
		background: #e6f7ff;
		position: relative;
	}

	.blogArea__main .post__item .date{
		position: absolute;
		top: -22px;
		left: 10px;
		padding: 1px 10px;
		background: #39A5C9;
		font-size: 90%;
		color: #fff;
		border-radius: 4px 4px 0px 0px;

	}


	.blogArea__main .postdetail{
		margin: 10px;
		padding: 15px;
		line-height: 1.8;
		background: #fff;
		border-radius: 6px;
		overflow: hidden;
	}

	.blogArea__main .date{
		padding: 0px 20px;
		text-align: right;
	}

	.blogArea__main .posttit{
		color: #39A5C9;
		font-size: 20px;
		margin-bottom: 10px;
		font-weight: 700;
		line-height: 1.5;
		background: #f9f8f8;
		padding: 10px;
		border-bottom: 5px solid #39A5C9;
	}


	.blogArea__main .postdetail img{
		width: 100%;
		height: auto;
		padding: 10px 0px;
	}

	/*　リストのアイキャッチ画像　*/
	.blogArea__main .postthumb {float: left;}
	.blogArea__main .postthumb img{
		width: inherit;
		height: auto;
		padding: 0px 30px 0px 0px;
	}

	.blogArea__main .postdetail p{
		margin-bottom: 1em;
	}


	.blogArea__main .postdetail strong{
		font-weight: bold;
	}

	.blogArea__side > div{
		padding-bottom:  20px;
	}

	.blogArea__side h3{
		color: #fff;
		padding: 6px 10px;
		background: #ccb797;
		margin-bottom: 10px;
		font-size: 110%;
		font-weight: bold;
	}
	.blogArea__side ul{ margin-bottom: 0px;}
	.blogArea__side ul li{
		border-bottom: #ccc dotted 1px;
		padding: 10px;
	}
	.blogArea__side ul li a{
		font-size: 90%;
	}

	.blogArea__main #next{
		padding: 10px 0px;
		margin: 10px auto;
		width: 90%;
	}

	.blogArea__main #next a{
		display: block;
		padding: 10px;
		font-size: 15px;
		margin-bottom: 10px;
		text-align: center;
		text-decoration: none;
		color: #333;
		background: #e6f7ff;
		border-radius: 5px;
	}
	.blogArea__main #next a:hover{
		background: #95d9f9;
	}

	.blogArea__main #next a:first-of-type:before{
		content: "← 前の記事を見る";
		display: block;
		font-size: 12px;
		color: #39A5C9;
	}

	.blogArea__main #next a:last-of-type:before{
		content: "次の記事を見る →";
		display: block;
		font-size: 12px;
		color: #39A5C9;
	}

	.postcatlist2{
		background: #fff;
	}

	.postcatlist2 h2{
		color: #A8844B;
		padding: 10px;
		font-size: 110%;
		margin-top: 20px;
		margin-bottom: 20px;
		font-weight: bold;
		text-align: center;
	}

	.postcatlist2 ul{
	}
	.postcatlist2 li a{
		background: #fee6ff;
		display: block;
		padding: 7px;
		font-size: 13px;
		margin: 5px;
		text-decoration: none;
		color: #333;
		border-radius: 3px;

	}
	.postcatlist2 li a:hover{
		background: #95d9f9;
	}


	/* #tinymce スタイル */

	.postdetail h2,#tinymce h2{
		background: #efefef;
		border-left: 10px #39A5C9 solid;
		border-radius: 6px;
		padding: 6px;
		margin: 20px 0 10px;
		font-size: 130%;
		display: block;
	}


	.postdetail h3,#tinymce h3{
		background: #ffe0e6;	
		display: inline-block;
	}

	.postdetail ul,#tinymce ul{
		padding: 1em;
		background: #fffbed;
		border: 3px dotted #cca55e;
		border-radius: 0.5em;
		width: 98%;
		box-sizing: border-box;
		margin: 1em auto;
		display: block;
	}

	.postdetail ul li,#tinymce ul li{
		list-style-position: inside;
		color: #966712;
		padding-left: 0.5em;
		margin-bottom: 10px;
	}



	.shop_reserve{
		margin: 10px;
		padding: 15px;
		line-height: 1.8;
		background: #fff;
		border-radius: 6px;
		overflow: hidden;
		text-align: center;
	}

	.shop_reserve h3{
		font-weight: bold;
		font-size: 120%;
		color: #9F1547;
	}
	.shop_reserve h4{
		color: #9F1547;
	}

	.shop_reserve p{
		margin-bottom: 15px;
	}
}