@charset "UTF-8";

/* !HTML5 elements
---------------------------------------------------------- */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
{ display: block;}

body, div, p,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre,
form, input, textarea,
table, th, td{  
margin:0px; 
padding:0px; 
}

ul {
list-style-type: none;
}

img{
border:0px;
vertical-align:bottom;
}

table {
	border-collapse:collapse;
	border-spacing:0px;
	width: 100%;
	margin: 0 0 25px;
}

tr {
}

th {
	padding: 12px 10px 0;
	vertical-align: top;
	display: block;
	font-weight: bold;
}

td {
	padding: 12px 10px;
	vertical-align: top;
	display: block;
}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				th {
					display: table-cell;
					padding: 20px 25px;
					white-space: nowrap;
					text-align: left;
					border-bottom: 1px solid #d0d0d0;
				}
				td {
					display: table-cell;
					padding: 20px 25px;
					border-bottom: 1px solid #d0d0d0;
				}
			}
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
			}

iframe {
border: 0;
overflow: hidden;
}


/* common
------------------------------------*/

a:link,
a:visited {
	color: #FF8AB8;
	text-decoration: underline;
	transition: .3s;
}

html {
  font-size: 62.5%;
}

body {
	font-size: 1.5rem;
	text-align: center;
	line-height: 1;
	color: #000;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	overflow-x: hidden;
}

.pcTab,
.pc,
.tab { display: none;}
.sp,
.tabSp { display: block;}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				body {
					font-size: 1.7rem;
				}
				.pc,
				.sp { display: none;}
				.tab,
				.pcTab,
				.tabSp { display: block;}
			}
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
				.sp,
				.tab,
				.tabSp { display: none;}
				.pcTab,
				.pc { display: block;}
				a:hover,
				a:active {
					opacity: 0.7;
				}
			}

#header {
	width: 92%;
	max-width: 1560px;
	margin: 0 auto;
	padding: 10px 0;
}

#header h1 {
	text-align: left;
}

#header h1 img {
	width: 200px;
}

.headerBox01 {
	display: none;
}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
				#header {
					position: absolute;
					left: 50%;
					top: 0;
					transform: translateX(-50%);
					z-index: 10;
					padding: 60px 0;
					display: flex;
					justify-content: space-between;
					align-items: center;
				}
				#header h1 img {
					width: 220px;
				}
				.headerBox01 {
					display: block;
				}
				#gNavi ul {
					display: flex;
					align-items: center;
				}
				#gNavi ul li {
					margin: 0 10px;
				}
				#gNavi ul li a:link,
				#gNavi ul li a:visited {
					color: #1D1D1D;
					text-decoration: none;
					font-weight: bold;
				}
				#gNavi ul li.instagram img {
					height: 30px;
				}
				#gNavi ul li.tel img {
					height: 30px;
				}
			}
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1560px) {
				#header h1 img {
					width: 300px;
				}
				#gNavi ul li {
					margin: 0 20px;
					font-size: 2rem;
				}
				#gNavi ul li.instagram img {
					height: 40px;
				}
				#gNavi ul li.tel img {
					height: 40px;
				}
			}

#container {
	position: relative;
}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
			}


#contents {
	text-align: left;
}

#main .h2wrap {
	position: relative;
	padding: 50px 0 25px;
	margin: 0 0 45px;
	background: url(../img/title_icon01.png) no-repeat center top / 36px auto;
}

#main .h2wrap h2 {
	font-size: 3rem;
	text-align: center;
}

#main .h2wrap h2:after {
	content: '';
	display: block;
	width: 54px;
	height: 10px;
	background-color: #FF8AB8;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				#main .h2wrap {
					padding: 100px 0 25px;
					background: url(../img/title_icon01.png) no-repeat center top / 66px auto;
				}
				#main .h2wrap h2 {
					font-size: 4.4rem;
				}
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
			}

#main h3 {
	font-size: 2.2rem;
	padding: 0 0 25px;
}

#main h4 {
	font-size: 2rem;
	padding: 0 0 20px;
}

#main h5 {
	font-size: 1.8rem;
	padding: 0 0 10px;
}

#main h6 {
	font-size: 1.6rem;
	padding: 0 0 10px;
}

#main .wrap {
	padding: 50px 0 0;
}

#main .cassette {
	width: 92%;
	max-width: 1130px;
	margin: 0 auto;
	padding: 0 0 40px;
	line-height: 2;
}

#main .cassette p,
#main .cassette ul,
#main .cassette ol {
	padding: 0 0 25px;
}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
			}

#pagetop {
	position: fixed;
	right: 4%;
	bottom: 30px;
}

#pagetop a img {
	width: 65px;
}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
				#pagetop {
					bottom: 100px;
				}
			}


#footer {
	overflow: hidden;
}

#footerlogo {
	padding: 20px 0;
}

#footerlogo img {
	width: 200px;
}

#copyright {
	font-size: 1.2rem;
	background-color: #FF8AB8;
	padding: 10px 0;
	color: #fff;
}


			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				#footerlogo {
					padding: 0 0 50px;
				}
				#footerlogo img {
					width: 300px;
				}
				#copyright {
					font-size: 1.6rem;
					padding: 20px 0;
				}
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
				#copyright {
					font-size: 2rem;
					padding: 30px 0;
				}
			}


.columnRight {
	display: block;
	float: right;
}

.columnLeft {
	display: block;
	float: left;
}

.textRed {
	color: #b63463;
}

.bold {
	font-weight: bold;
}

.fontS {
	font-size: 1.2rem;
}

.fontL {
	font-size: 1.6rem;
}

.centerH {
	display: flex;
	align-items: center;
}

.img {
	text-align: center;
}

.img img {
	max-width: 100%;
}

ul.disc > li {
	list-style-type: disc;
	margin: 0 0 0 20px;
	padding: 0 0 0 10px;
}

ol.decimal > li {
	list-style-type: decimal;
	margin: 0 0 0 20px;
	padding: 0 0 0 10px;
}

ol ul {
	padding: 10px 0 !important;
}

.flexList li {
	padding: 0 0 10px;
}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				.center {
					text-align: center;
				}
				.flex {
					display: flex;
					justify-content: space-between;
				}
				.reverse {
					flex-direction: row-reverse;
				}
				.fontS {
					font-size: 1.5rem;
				}
				.fontL {
					font-size: 2rem;
				}
				.flexList {
					display: flex;
					flex-wrap: wrap;
				}
				.flexList2 li {
					width: 48%;
					margin: 0 4% 0 0;
				}
				.flexList2 li:nth-child(2n) {
					margin: 0;
				}
				.flexList3 li {
					width: 32%;
					margin: 0 2% 0 0;
				}
				.flexList3 li:nth-child(3n) {
					margin: 0;
				}
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
			}


.title01 {
	font-size: 2.4rem !important;
	font-weight: normal;
	color: #FF8AB8;
}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				.title01 {
					font-size: 2.8rem !important;
				}
			}
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
				.title01 {
					font-size: 3.8rem !important;
				}
			}


/* tableWrap
------------------------------------*/

.tableWrap {
	overflow-x: scroll;
	margin: 0 0 25px;
}

.tableWrap p {
	padding: 0 0 10px;
}

.tableWrap table {
	margin: 0;
}

.tableWrap table tr th,
.tableWrap table tr td {
	display: table-cell;
	border: 1px solid #d0d0d0;
	vertical-align: middle;
	text-align: center;
	white-space: nowrap;
	padding: 12px 10px;
}

.tableWrap table tr th {
	background-color: #e4e4e4;
}


			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				.tableWrap {
					overflow: auto;
				}
				.tableWrap table tr th,
				.tableWrap table tr td {
					padding: 20px 25px;
				}
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
				.tableWrap p {
					display: none;
				}
			}

.tableBox table {
	border-top: 1px solid #d0d0d0;
	border-left: 1px solid #d0d0d0;
}

.tableBox table tr th,
.tableBox table tr td {
	border-right: 1px solid #d0d0d0;
	border-bottom: 1px solid #d0d0d0;
	vertical-align: middle;
	padding: 12px 10px;
}

.tableBox table tr th {
	background-color: #e4e4e4;
}


			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				.tableBox table tr th,
				.tableBox table tr td {
					padding: 20px 25px;
				}
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
			}




/* formWrap
------------------------------------*/

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}

.formWrap table th .textRed {
	display: inline-block;
	padding: 0 0 0 5px;
}

.formWrap input[type="text"],
.formWrap input[type="email"] {
	width: 100%;
	line-height: 40px;
	height: 40px;
	padding: 1px 5px;
	font-size: 16px;
	box-sizing: border-box;
	border: 1px solid #ddd;
}

.formWrap input[type="text"].date {
	width: 150px;
}
.formWrap input[type="text"].time {
	width: 50px;
}

.formWrap textarea {
	width: 100%;
	border: 1px solid #ddd;
	font-size: 16px;
	padding: 1px 5px;
	box-sizing: border-box;
}

.formWrap #btn {
	text-align: center;
}

.formWrap #btn input[type="submit"] {
	display: inline-block;
	width: 100%;
	max-width: 350px;
	height: 40px;
	margin: 0 auto;
	border: none;
	cursor: pointer;
	background-color: #b63463;
	color: #fff;
	font-size: 100%;
}

.formWrap #btn input[type="submit"]:hover {
	opacity: 0.7;
}

.formWrap #btn button[type="submit"] {
	display: inline-block;
	width: 100%;
	max-width: 350px;
	height: 40px;
	margin: 20px auto 0;
	border: none;
	cursor: pointer;
	background-color: #eee;
	color: #000;
	font-size: 100%;
}

.formWrap #btn button[type="submit"]:hover {
	opacity: 0.7;
}


			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
				.formWrap #btn button[type="submit"] {
					margin: 0 0 0 20px;
				}
			}


/* tab sp menu
------------------------------------*/

.menu-btn {
	position: absolute;
    cursor: pointer;
    z-index: 1501;
    right: 4%;
    top: 10px;
	width: 62.5px;
	height: 54px;
	padding: 10px;
	box-sizing: border-box;
}

.menu-btnIn {
	position: relative;
	width: 44px;
	height: 34px;
}

.menu-btnIn span {
	position: absolute;
	left: 0;
	width: 44px;
	height: 2px;
	background-color: #000;
}

.index .menu-btnIn span  {
	background-color: #fff;
}

.menu-btnIn,
.menu-btnIn span {
	display: inline-block;
	transition: all .5s;
	box-sizing: border-box;
}

.menu-btnIn span:nth-of-type(1) {
	top: 0;
}

.menu-btnIn span:nth-of-type(2) {
	top: 16px;
}

.menu-btnIn span:nth-of-type(3) {
	bottom: 0;
}

			/* 開閉用ボタンがクリックされた時のスタイル */
			.menu-btn.active {
				z-index: 1501;
			}
			.index .menu-btn.active .menu-btnIn span {
				background-color: #000;
			}
			.menu-btn.active span:nth-of-type(1) {
				-webkit-transform: translateY(20px) rotate(-45deg);
				transform: translateY(16px) rotate(-45deg);
			}
			.menu-btn.active span:nth-of-type(2) {
				opacity: 0;
			}
			.menu-btn.active span:nth-of-type(3) {
				-webkit-transform: translateY(-20px) rotate(45deg);
				transform: translateY(-16px) rotate(45deg);
			}


.menu {
	position: fixed;
    top: 0;
    left: 100%;
    width: 100vw;
    height: 100%;
    -webkit-transition: all .5s;
    transition: all .5s;
    box-sizing: border-box;
    z-index: 1500;
    background-color: #fff;
}

.menu div {
	height: 100%;
	margin: 0 auto;
    overflow: auto;
    box-sizing: border-box;
    position: relative;
    padding: 74px 4% 0;
	font-size: 15px;
	font-weight: bold;
}

.menu div > ul {
	margin: 0 0 67px;
}

.menu div > ul > li {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

.menu div ul li a {
    display: block;
    padding: 20px 0;
}

.menu div ul li a:link,
.menu div ul li a:visited {
	color: #000;
	text-decoration: none;
}

.menu div ul li ul {
	font-weight: normal;
	padding: 0 0 10px;
}

.menu div ul li ul li a {
	padding: 10px 0;
	font-size: 1.2rem;
}

.menu div ul li a {
	position: relative;
}

.menu div > ul {
	border-top: 1px solid #565656;
}

.menu div > ul > li {
	border-bottom: 1px solid #565656;
}


/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu {
    -webkit-transition: all .5s;
    transition: all .5s;
    left: 0%;
}

body.open {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
}

			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
				.menu-btn {
					display: none;
				}
				.menu {
					display: none;
				}
			}


/* tab sp menu カスタマイズ
------------------------------------*/

.menu div ul li.instagram a img {
	height: 40px;
}

.menu div ul li.tel {
	padding: 15px 0;
}

.menu div ul li.tel img {
	height: 30px;
}


			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				.menu div ul li.tel img {
					height: 40px;
				}
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
			}



/* indexLayout
------------------------------------*/

.indexLayout #mainImg {
	position: relative;
}

.indexLayout #mainText {
	padding: 20px 0;
	text-align: center;
}

.indexLayout #mainText img {
	height: 50px;
}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				.indexLayout #mainImg {
					margin: 0 0 30px;
				}
				.indexLayout #mainText {
					position: absolute;
					z-index: 10;
					left: 50%;
					bottom: 10px;
					transform: translateX(-50%);
				}
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
				.indexLayout #mainText {
					bottom: 100px;
				}
				.indexLayout #mainText img {
					height: 76px;
				}
			}


.indexLayout #c01 .cassette .box01 {
	background-color: #FFF1ED;
	padding: 25px 20px 0;
}

.indexLayout #c01 .cassette .box01 .name {
	font-size: 1.8rem;
	text-align: right;
}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				.indexLayout #c01 .cassette .box01 {
					padding: 35px 30px 10px;
				}
				.indexLayout #c01 .cassette .box01 .name {
					font-size: 2.4rem;
				}
			}
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
				.indexLayout #c01 .cassette .box01 {
					background: url(../img/c01_bg01.png) no-repeat center center / 1115px auto;
					padding: 90px 90px 0 420px;
					box-sizing: border-box;
					min-height: 513px;
				}
			}


.indexLayout #c02 .cassette .box02 img,
.indexLayout #c02 .cassette .box03 img {
	max-width: 240px;
}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				.indexLayout #c02 .cassette .box01 img {
					width: 506px;
				}
				.indexLayout #c02 .cassette .box02.flex,
				.indexLayout #c02 .cassette .box03.flex {
					justify-content: space-between;
					align-items: center;
				}
				.indexLayout #c02 .cassette .box02.flex div,
				.indexLayout #c02 .cassette .box03.flex div {
					width: 48%;
				}
				.indexLayout #c02 .cassette .box02 img,
				.indexLayout #c02 .cassette .box03 img {
					max-width: 340px;
				}
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
			}


.indexLayout #c03 .box {
	padding: 0 0 60px;
}

.indexLayout #c03 .box:last-child {
	padding: 0;
}

.indexLayout #c03 .cassette .titleImg {
	text-align: center;
}

.indexLayout #c03 .cassette .titleImg img {
	width: 400px;
	max-width: 100%;	
}

.indexLayout #c03 .cassette .btn img {
	height: 50px;
}

.indexLayout #c03 .cassette .number {
	padding: 0 0 40px;
}

.indexLayout #c03 .cassette .number span {
	display: inline-block;
	padding: 5px 20px;
	border: 1px solid #1D1D1D;
}

.indexLayout #c03 .cassette .map {
	margin: 0 0 40px;
}

.indexLayout #c03 .cassette .carousel .bx-wrapper .bx-prev {
	background: url(../img/prev.png) no-repeat center center / 19px auto;
}

.indexLayout #c03 .cassette .carousel .bx-wrapper .bx-next {
	background: url(../img/next.png) no-repeat center center / 19px auto;
}

.indexLayout #c03 .cassette .carousel .bx-wrapper .bx-prev:hover {
	opacity: 0.6;
}

.indexLayout #c03 .cassette .carousel .bx-wrapper .bx-next:hover {
	opacity: 0.6;
}

			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				.indexLayout #c03 .cassette .flex {
					justify-content: space-between;
				}
				.indexLayout #c03 .cassette .flex > div {
					width: 48%;
				}
				.indexLayout #c03 .cassette .titleImg {
					padding: 0 0 40px;
				}
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
				.indexLayout #c03 .box {
					padding: 60px 0 100px;
				}
				.indexLayout #c03 .cassette .carousel .bx-wrapper .bx-prev {
					left: -40px;
				}
				.indexLayout #c03 .cassette .carousel .bx-wrapper .bx-next {
					right: -40px;
				}
			}


.indexLayout #c04 .cassette .title01 {
	text-align: center;
}

.indexLayout #c04 .cassette .img img {
	width: 332px;
}

.indexLayout #c04 .cassette .tel {
	text-align: center;
}

.indexLayout #c04 .cassette .tel img {
	height: 30px;
}
.indexLayout #c04 .cassette  .re_btn {
    display: block;
    max-width: 400px;
    margin: 0 auto;
}


			/* 【タブレット用のスタイル記述】 */
			@media screen and (min-width: 761px) {
				.indexLayout #c04 .cassette .tel img {
					height: 40px;
				}
			}		
			/* 【PC用のスタイル記述】 */
			@media screen and (min-width: 1130px) {
			}


/* clearfix
------------------------------------*/

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

.clearfix {
display: inline-block;
}

/* exlude MacIE5 \*/
* html .clearfix {
height: 1%
}

.clearfix {
display:block;
}
/* end MacIE5 */