@charset "utf-8";

:root {
	--main-font-family: 'Noto Sans JP', sans-serif;
	--secondary-font-family: 'Roboto Condensed', sans-serif;
	--main-txt-color: rgba(50,50,50,1.0);
	--pc_main-width: 1280px;
	--sp_header-height: 80px;
	--main-color: rgba(244,108,180,1.0);/* #f46cb4 */
	--main-color_08: rgba(244,108,180,0.8);
	--main-color_06: rgba(244,108,180,0.6);
	--main-color_04: rgba(244,108,180,0.4);
	--main-color_02: rgba(244,108,180,0.2);
	--secondary-color: rgba(255,40,130,1.0);
	--secondary-color_08: rgba(255,40,130,0.8);
	--secondary-color_06: rgba(255,40,130,0.6);
	--secondary-color_04: rgba(255,40,130,0.4);
	--secondary-color_02: rgba(255,40,130,0.2);
}
/* 初期化
----------------------- */
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

/* IE用画像荒れ対策
----------------------- */
img { -ms-interpolation-mode: bicubic; }

body {
	font-family: var(--main-font-family);
	color: var(--main-txt-color);
	word-break: break-all;
	position: relative;
}
li {
	list-style: none;
}
a {
	text-decoration: none;
}
a img {
	border: none;
}
a:hover img {
	opacity: 0.8;
}


/* header
-------------------------------------------------- */
header {
	width: 100%;
}
header h1 {
	font-weight: normal;
}
header .headerInn {
}
header .headerLogo {
}
header .headerLogoLink {
}
header .headerLogoImage {
}

/* header gNav */
header .gNav {
}
header .gNav .menuList {
}
header .gNav .menuListItem {
}
header .gNav .menuLink {
}
header .gNav .menuEn {
	font-family: var(--secondary-font-family);
}
header .gNav .menuJp {
	font-family: var(--main-font-family);
}
header .gNav .gNav_hide {
	display: none;
}


/* main
-------------------------------------------------- */
main {
}

.pankuzu {
}
.pankuzu .pankuzuList {
	display: flex;
}
.pankuzu .pankuzuListItem {
	position: relative;
}
.pankuzu .pankuzuListItem:after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	content: ">";
	color: #888;
}
.pankuzu .pankuzuListItem:last-child:after {
	content: none;
}
.pankuzu .pankuzuLink {
	color: var(--main-txt-color);
}

.pageTitle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: normal;
	border-bottom: 2px solid var(--main-color);
}
.pageTitle .pageTitle_inn {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.pageTitle .pageTitle_En {
	font-family: var(--secondary-font-family);
}
.pageTitle .pageTitle_Jp {
}

.pageTitle .pageTitle_link {
	display: block;
	border: 1px solid var(--main-color);
	border-radius: 4px;
}
.pageTitle .pageTitle_link .pageTitle_link_inn {
	color: var(--main-color);
}
.pageTitle .pageTitle_link .pageTitle_link_inn:after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f101";
}


/* footer
-------------------------------------------------- */
footer {
	background: var(--main-color);
}
footer .footerInn {
}
footer .footerInfo {}
footer .footerInfoInn {}
footer .footerTime {
	font-family: var(--secondary-font-family);
	color: #fff;
}
footer .footerTime:before {
	content: 'OPEN';
}
footer .footerTel {
	font-family: var(--secondary-font-family);
	color: #fff;
}
footer .footerTel a {
	color: #fff;
}
footer .footerTel:before {
	content: 'TEL';
}
footer .menuList {}
footer .menuListItem {}
footer .menuLink {
}
footer .menuEn {
	font-family: var(--secondary-font-family);
}
footer .menuJp {}
footer .footerLogo {}
footer .footerLogoLink {}
footer .footerLogoImage {}
footer .footerCopy {
	background: #323232;
}
footer .footerCopyTxt {
	font-family: var(--secondary-font-family);
	color: #fff;
	text-align: center;
}

/* ページ上部に戻る */
footer #page-top {
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 100;
}
footer #page-top .pageTopInn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #fff;
	background: rgba(0,0,0,0.8);
	cursor: pointer;
}
footer .thintop {
}
footer .thintop:after {
	content: "";
	display: block;
	position: absolute;
	top: 55%;
	left: 50%;
	border:  2px solid;
	border-color: transparent transparent #fff #fff;
	transform: translateY(-50%) translateX(-50%) rotate(135deg);
	-webkit-transform: translateY(-50%) translateX(-50%) rotate(135deg);
}

.noData {
	text-align: center;
}

/* navigator */
.appNavigator {
    display: none;
}


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

	.pc_show {
		display: block;
	}
	.pc_hide {
		display: none;
	}
	.pc_block {
		display: block;
	}

	/* header
	-------------------------------------------------- */
	header {
	}
	header .headerLogo {
		/* width: 370px; */
		height: 90px;
	}
	header .headerLogoLink {
		display: block;
		height: 100%;
	}
	header .headerLogoImage {
		display: block;
		height: 100%;
	}
	header .headerTxt {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	header h1 {
		font-size: 12px;
		color: #555;
	}
	header .headerInn {
		display: flex;
		justify-content: space-between;
		width: var(--pc_main-width);
		margin: 0 auto;
		padding: 5px 0 10px;
	}

	header .headerInfo {
	}
	header .headerInfo_text {
		font-size: 18px;
		line-height: 1.0;
		margin-bottom: 2px;
	}
	header .headerInfoInn {
		display: flex;
	}
	header .headerTime_pc {
		font-family: var(--secondary-font-family);
		font-size: 38px;
		margin-right: 20px;
	}
	header .headerTime_pc:before {
		content: 'OPEN';
		font-size:  28px;
		margin-right: 5px;
	}
	header .headerTel_pc {
		font-family: var(--secondary-font-family);
		font-size: 38px;
	}
	header .headerTel_pc:before {
		content: 'TEL';
		font-size: 28px;
		margin-right: 5px;
	}

	/* header gNav */
	header .gNav {
		border-top: 1px solid var(--main-color);
		border-bottom: 1px solid var(--main-color);
	}
	header .gNav .menuList {
		display: flex;
		flex-wrap: wrap;
		width: var(--pc_main-width);
		border-right: 1px solid var(--main-color);
		border-left: 1px solid var(--main-color);
		margin: 0 auto;
	}
	header .gNav .menuListItem {
		width: calc(100% / 7);
		border-right: 1px solid var(--main-color);
		border-bottom: 1px solid var(--main-color);
	}
	header .gNav .menuListItem:nth-child(7n+7) {
		border-right: none;
	}
	header .gNav .menuListItem:nth-child(7n+1):nth-last-child(-n+7),		/* 7列リストの1番左下にある要素 */
	header .gNav .menuListItem:nth-child(7n+1):nth-last-child(-n+7) ~ li	/* 7列リストの1番左下にある要素以降にあるliすべて */
	{
        border-bottom: none;
    }
	header .gNav .menuLink {
		display: block;
		color: var(--main-color);
		line-height: 1.1;
		padding: 12px 0;
		overflow: hidden;
		position: relative;
		transition: ease 0.2s;
	}
	header .gNav .menuLinkInn {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		position: relative;
		z-index: 3;
	}
	header .gNav .menuLink:hover .menuLinkInn {
		color:#fff;
	}
	header .gNav .menuLink:before {
		position: absolute;
		bottom:0;
		left: 0;
		content: '';
		width: 100%;
		height: 0;
		background: var(--main-color);
		z-index: 2;
		transition: 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	}
	header .gNav .menuLink:hover:before{
		height: 100%;
		background: var(--main-color);
	}
	header .gNav .menuEn {
		font-size: 18px;
	}
	header .gNav .menuJp {
		font-size: 11px;
	}

	/* main
	-------------------------------------------------- */
	main {
		width: var(--pc_main-width);
		margin: 0 auto;
	}

	.pankuzu {
		margin: 15px 0;
	}
	.pankuzu .pankuzuList {
	}
	.pankuzu .pankuzuListItem {
		margin-right: 20px;
	}
	.pankuzu .pankuzuListItem:after {
		right: -14px;
		font-size: 10px;
		margin-top: 1px;
	}
	.pankuzu .pankuzuLink {
		font-size: 12px;
	}
	.pankuzu a.pankuzuLink:hover {
		color: var(--main-color);
	}

	.pageTitle {
		margin-bottom: 15px;
		padding-bottom: 5px;
	}
	.pageTitle .pageTitle_En {
		font-size: 50px;
	}
	.pageTitle .pageTitle_Jp {
		font-size: 20px;
		margin-left: 10px;
	}

	.pageTitle .pageTitle_link {
		font-size: 14px;
		padding: 10px 20px;
		overflow: hidden;
		position: relative;
		transition: ease 0.2s;
	}
	.pageTitle .pageTitle_link:before {
		position: absolute;
		bottom:0;
		left: 0;
		content: '';
		width: 100%;
		height: 0;
		background: var(--main-color);
		z-index: 2;
		transition: 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	}
	.pageTitle .pageTitle_link:hover:before {
		height: 100%;
		background: var(--main-color);
	}
	.pageTitle .pageTitle_link .pageTitle_link_inn {
		position: relative;
		z-index: 3;
	}
	.pageTitle .pageTitle_link .pageTitle_link_inn:after {
		margin-left: 3px;
	}
	.pageTitle .pageTitle_link:hover .pageTitle_link_inn {
		color: #fff;
	}


	/* footer
	-------------------------------------------------- */
	footer {
		margin-top: 40px;
		padding: 30px 0 0;
	}
	footer .footerInn {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: var(--pc_main-width);
		margin: 0 auto 30px;
	}
	footer .footerInfo {}
	footer .footerInfoInn {
		display: flex;
		margin-bottom: 5px;
	}
	footer .footerTime {
		font-size: 28px;
		margin-right: 15px;
	}
	footer .footerTime:before {
		font-size: 20px;
		margin-right: 5px;
	}
	footer .footerTel {
		font-size: 28px;
	}
	footer .footerTel:before {
		font-size: 20px;
		margin-right: 5px;
	}
	footer .menuList {
		display: flex;
	}
	footer .menuListItem {
		margin-right: 15px;
	}
	footer .menuListItem:last-child {
		margin-right: 0;
	}
	footer .menuLink {
		color: #fff;
	}
	footer .menuEn {
		display: none;
	}
	footer .menuJp {
		font-size: 14px;
	}
	footer .footerLogo {
		width: 140px;
	}
	footer .footerLogoLink {
		display: block;
	}
	footer .footerLogoImage {
		width: 100%;
	}
	footer .footerCopy {
		padding: 10px 0;
	}
	footer .footerCopyTxt {
		font-size: 12px;
	}

	/* ページ上部に戻る */
	footer #page-top {
		width: 90px;
		height: 90px;
		padding: 10px;
	}
	footer #page-top .pageTopInn {
	}
	footer .thintop {
	}
	footer .thintop:after {
		width: 11px;
		height: 10px;
	}

	.noData {
		font-size: 16px;
		padding: 100px 0 50px;
	}
}

/* --------------------------------------------------
スマホ
-------------------------------------------------- */
@media all and (max-width: 767px) {

	.sp_show {
		display: block;
	}
	.sp_hide {
		display: none;
	}
	.sp_block {
		display: block;
	}

	/* header
	-------------------------------------------------- */
	header {
		display: flex;
		align-items: center;
		position: fixed;
		height: var(--sp_header-height);
		background: rgba(255,255,255,1.0);
		border-bottom: 1px solid var(--main-color);
		box-shadow: 0 1px 3px rgba(0,0,0,0.1);
		-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.1);
		-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.1);
		padding-top: 20px;
		z-index: 9999;
	}
	header h1 {
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 20px;
		font-size: 12px;
		color: #fff;
		text-align: center;
		background: var(--main-color);
	}
	header .headerInn {
	}
	header .headerLogo {
		width: auto;
		margin-left: 1px;
	}
	header .headerLogoLink {
		display: block;
	}
	header .headerLogoImage {
		display: block;
		height: calc(var(--sp_header-height) - 45px);
	}

	/* header headerTime_sp */
	header .headerTime_sp {
		position: fixed;
		top: 20px;
		right: 108px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		height: calc(var(--sp_header-height) - 20px);
		margin-right: 5px;
	}
	header .headerTime_sp_time {
		font-family: var(--secondary-font-family);
		font-size: 16px;
		color: #555;
		line-height: 1.0;
		margin-bottom: 3px;
	}
	header .headerTime_sp_time:before {
		content: 'OPEN';
		font-size: 13px;
		margin-right: 3px;
	}
	header .headerTime_sp_text {
		font-family: var(--main-font-family);
		font-size: 10px;
		color: #555;
		font-weight: 300;
		line-height: 1.0;
	}

	/* header headerTel_sp */
	header .headerTel_sp {
		position: fixed;
		top: 20px;
		right: calc(var(--sp_header-height) - 26px);
		/* background: var(--main-color_02); */
	}
	header .headerTel_sp:after {
		position: absolute;
		bottom: 7px;
		display: block;
		width: calc(var(--sp_header-height) - 26px);
		font-family: var(--secondary-font-family);
		content: 'TEL';
		font-size: 10px;
		color: var(--main-color);
		font-weight: bold;
		text-align: center;
	}
	header .headerTel_spLink {
		display: flex;
		justify-content: center;
		width: calc(var(--sp_header-height) - 26px);
		height: calc(var(--sp_header-height) - 21px);
		font-size: 24px;
		color: var(--main-color);
		padding-top: 5px;
	}
	header .headerTel_spLink i {
		transform: rotate(-45deg);
		transform-origin: 75% 25%;
	}

	/* header headMenubtn */
	header .headMenubtn {
		position: fixed;
		top: 20px;
		right: 0;
		width: calc(var(--sp_header-height) - 26px);
		height: calc(var(--sp_header-height) - 21px);
		/* background: var(--main-color_02); */
	}
	header .headMenubtn:after {
		position: absolute;
		bottom: 7px;
		display: block;
		width: calc(var(--sp_header-height) - 26px);
		font-family: var(--secondary-font-family);
		content: 'MENU';
		font-size: 10px;
		color: var(--main-color);
		font-weight: bold;
		text-align: center;
	}
	header .headMenubtn span {
		position: absolute;
		left: 13px;
		width: 28px;
		height: 3px;
		background: var(--main-color);
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	header .headMenubtn span:nth-child(1) { top: 13px; }
	header .headMenubtn span:nth-child(2) { top: 22px; }
	header .headMenubtn span:nth-child(3) { top: 31px; }

	header .headMenubtn.open {
	}
	header .headMenubtn.open:after {
		content: 'CLOSE';
	}
	header .headMenubtn.open span {
	}
	header .headMenubtn.open span:nth-child(1) {
		top: 22px;
		-webkit-transform: translateY(0px) rotate(-45deg);
		transform: translateY(0px) rotate(-45deg);
	}
	header .headMenubtn.open span:nth-child(2) {
		opacity: 0;
	}
	header .headMenubtn.open span:nth-child(3) {
		top: 40px;
		-webkit-transform: translateY(-18px) rotate(45deg);
		transform: translateY(-18px) rotate(45deg);
	}

	/* header gNav */
	header .gNav {
		display: none;
		position: absolute;
		top: var(--sp_header-height);
		width: 100%;
		height: 100vh;
		background: rgba(255,255,255,0.95);
		padding: 3vw;
	}
	header .gNav .menuList {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	header .gNav .menuListItem {
		width: 48%;
		margin-bottom: 3vw;
		position: relative;
	}
	header .gNav .menuListItem:after {
		position: absolute;
		top: 50%;
		right: 2%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		font-family: "Font Awesome 6 free";
		font-weight: bold;
		content: '\f105';
	}
	header .gNav .menuLink {
		display: flex;
		align-items: baseline;
		border-bottom: 1px solid var(--main-txt-color);
		color: var(--main-txt-color);
		padding: 3.75vw 1.25vw 2.25vw;
	}
	header .gNav .menuEn {
		font-size: 5.0vw;
		font-weight: bold;
	}
	header .gNav .menuJp {
		font-size: 3.125vw;
		margin-left: 1.0vw;
	}
	header .gNav .closeBtnBox {
		display: flex;
		justify-content: center;
		margin-top: 10vw;
	}
	header .gNav .closeBtn {
		font-family: var(--secondary-font-family);
		font-size: 5vw;
		font-weight: 600;
		text-align: center;
		padding: 1vw;
		cursor: pointer;
	}
	header .gNav .closeBtn:before {
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		font-family: "Font Awesome 6 free";
		font-weight: bold;
		content: '\f00d';
		margin-right: 2vw;
	}


	/* main
	-------------------------------------------------- */
	main {
		padding-top: var(--sp_header-height);
	}

	.pankuzu {
		margin-bottom: 1.5vw;
		padding: 0 2vw;
	}
	.pankuzu .pankuzuList {
		overflow-x: auto;
		white-space: nowrap;
		overflow-scrolling: touch;
		-webkit-overflow-scrolling: touch;
		overflow-y: hidden;
	}
	.pankuzu .pankuzuListItem {
		margin-right: 4vw;
	}
	.pankuzu .pankuzuListItem:after {
		right: -3vw;
		font-size: 2.75vw;
		margin-top: 0.25vw;
	}
	.pankuzu .pankuzuLink {
		font-size: 3vw;
	}

	.pageTitle {
		margin: 0 2vw 2.5vw;
		padding-bottom: 1vw;
	}
	.pageTitle .pageTitle_En {
		font-size: 8vw;
	}
	.pageTitle .pageTitle_Jp {
		font-size: 3.25vw;
		margin-left: 1vw;
	}

	.pageTitle .pageTitle_link {
		font-size: 3.25vw;
		padding: 1.5vw 4vw;
	}
	.pageTitle .pageTitle_link .pageTitle_link_inn {
	}
	.pageTitle .pageTitle_link .pageTitle_link_inn:after {
		margin-left: 0.5vw;
	}


	/* footer
	-------------------------------------------------- */
	footer {
		margin-top: 5vw;
	}
	footer .footerInn {
		padding: 5vw 3vw;
	}
	footer .footerInfo {
		margin-bottom: 5vw;
	}
	footer .footerInfoInn {
		display: flex;
		justify-content: space-around;
		align-items: last baseline;
		margin-bottom: 2vw;
	}
	footer .footerTime {
		font-size: 6.25vw;
		font-weight: bold;
	}
	footer .footerTime:before {
		font-size: 4.5vw;
		font-weight: normal;
	}
	footer .footerTel {
		font-size: 6.5vw;
		font-weight: bold;
	}
	footer .footerTel:before {
		font-size: 4.5vw;
		font-weight: normal;
	}
	footer .menuList {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	footer .menuListItem {
		width: 48%;
	}
	footer .menuLink {
		display: flex;
		align-items: baseline;
		color: rgba(255,255,255,0.9);
		border-bottom: 1px solid rgba(255,255,255,0.8);
		padding: 3.25vw 1.75vw 1.75vw;
	}
	footer .menuEn {
		font-size: 4.5vw;
	}
	footer .menuJp {
		font-size: 2.75vw;
		margin-left: 0.5vw;
	}
	footer .footerLogo {
		width: 33.33%;
		margin: 0 auto;
	}
	footer .footerLogoLink {
		display: block;
	}
	footer .footerLogoImage {
		display: block;
		width: 100%;
	}
	footer .footerCopy {
		padding: 2.5vw 0;
	}
	footer .footerCopyTxt {
		font-size: 3vw;
	}
	footer .closeBtnBox {
		display: none;
	}

	footer #page-top {
		width: 14vw;
		height: 14vw;
		padding: 1.0vw;
	}
	footer #page-top .pageTopInn {
	}
	footer .thintop {
	}
	footer .thintop:after {
		width: 2vw;
		height: 2vw;
	}

    /* footer */
    #entrance footer .appNavigator {
        display: none;
    }
    footer .appNavigator {
        display: block;
        height: 16.533vw;
    }
    footer .appNavigator__wrap {
        position: fixed;
        width: 100%;
        left: 0;
        bottom: 0;
        background: rgb(0, 0, 0, 0.8);
    }
    footer .appNavigator__items {
        display: flex;
    }
    footer .appNavigator__item {
        width: calc(100% / 4);
    }
    footer .appNavigator__link {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        padding: 2.667vw 0;
        color: white;
    }
    footer i {
        font-size: 6vw;
    }
    footer i.icon__tel {
        transform: rotate(-45deg);
    }
    footer .appNavigator__title {
        margin-top: 0.533vw;
        font-size: 3.2vw;
        font-weight: bold;
    }

	.noData {
		font-size: 3.5vw;
		padding: 10vw 0;
	}
}
