/* フォント */
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@500&family=Shippori+Mincho&display=swap');
/* --------------------------------------------------
 * reset
 * 元：Bootstrap Reboot v4.6.1
-------------------------------------------------- */
/*!
 * Bootstrap Reboot v4.6.1 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-family: sans-serif;
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
	display: block;
}

body {
	margin: 0;
	/* font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; */
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	text-align: left;
	background-color: #fff;
}

[tabindex="-1"]:focus:not(:focus-visible) {
	outline: 0 !important;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: 0.5rem;
}

p {
	margin-top: 0;
	margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
	cursor: help;
	border-bottom: 0;
	-webkit-text-decoration-skip-ink: none;
	text-decoration-skip-ink: none;
}

address {
	margin-bottom: 1rem;
	font-style: normal;
	line-height: inherit;
}

ol,
ul,
dl {
	margin-top: 0;
	margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
	margin-bottom: 0;
}

dt {
	font-weight: 700;
}

dd {
	margin-bottom: .5rem;
	margin-left: 0;
}

blockquote {
	margin: 0 0 1rem;
}

b,
strong {
	font-weight: bolder;
}

small {
	font-size: 80%;
}

sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

sub {
	bottom: -.25em;
}

sup {
	top: -.5em;
}

a {
	color: #007bff;
	text-decoration: none;
	background-color: transparent;
}

a:hover {
	color: #0056b3;
	text-decoration: underline;
}

a:not([href]):not([class]) {
	color: inherit;
	text-decoration: none;
}

a:not([href]):not([class]):hover {
	color: inherit;
	text-decoration: none;
}

pre,
code,
kbd,
samp {
	font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: 1em;
}

pre {
	margin-top: 0;
	margin-bottom: 1rem;
	overflow: auto;
	-ms-overflow-style: scrollbar;
}

figure {
	margin: 0 0 1rem;
}

img {
	vertical-align: middle;
	border-style: none;
}

svg {
	overflow: hidden;
	vertical-align: middle;
}

table {
	border-collapse: collapse;
}

caption {
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	color: #6c757d;
	text-align: left;
	caption-side: bottom;
}

th {
	text-align: inherit;
	text-align: -webkit-match-parent;
}

label {
	display: inline-block;
	margin-bottom: 0.5rem;
}

button {
	border-radius: 0;
}

button:focus:not(:focus-visible) {
	outline: 0;
}

input,
button,
select,
optgroup,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

[role="button"] {
	cursor: pointer;
}

select {
	word-wrap: normal;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
	cursor: pointer;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

input[type="radio"],
input[type="checkbox"] {
	box-sizing: border-box;
	padding: 0;
}

textarea {
	overflow: auto;
	resize: vertical;
}

fieldset {
	min-width: 0;
	padding: 0;
	margin: 0;
	border: 0;
}

legend {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 0;
	margin-bottom: .5rem;
	font-size: 1.5rem;
	line-height: inherit;
	color: inherit;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	outline-offset: -2px;
	-webkit-appearance: none;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button;
}

output {
	display: inline-block;
}

summary {
	display: list-item;
	cursor: pointer;
}

template {
	display: none;
}

[hidden] {
	display: none !important;
}

/* --------------------------------------------------
 * html
 * メモ：rem(A2.1-)/vw(A4.4-)/calc(A5-)
-------------------------------------------------- */
html {
	font-size: 10px;
}
@media(min-width:1025px) {
	html {
		font-size: 62.5%;
	}
}/*rootのフォントサイズを10pxに。これで1rem=10pxになる*/
@media(max-width:320px) {
	html {
		font-size: 9px;
	}
}/*古いiPhoneはrootのフォントサイズを9pxに*/
body {
	background-color: #FFF5F5;
	font-family: 'Shippori Mincho', serif;
	font-weight: 400;
	font-size: 1.4rem;
	color: #111;
}
ul, ol {
	list-style-type: none;
}
ul, ol, dl, address {
	margin: 0;
	padding: 0;
}
img {
	max-width: 100%;
}

/* --------------------------------------------------
 * common
 *
-------------------------------------------------- */
.wrapper {
	position: relative;
	background-color: #FFFFFF;
}
@media(min-width:1025px) {
	.wrapper {
		width: 640px;
		margin: 0 auto;
	}
}
/*header*/
.header {
	background-color: #FD9999;
	color: #FFFFFF;
}
.header h1 {
	margin: 0;
	text-align: center;
	font-size: 2.0rem;
}
.title_small {
	font-size: 1.4rem;
}
/*main*/
.main {
	padding: 1.4rem 0.6rem 0;
	text-align: center;
}
/*list*/
.list-title {
	display: inline-block;
	margin: 0 auto;
	padding: 0.8rem 2rem 1rem;
	background-color: #FD9999;
	border-radius: 1rem;
	line-height: 1;
	color: #FFFFFF;
	text-align: center;
	font-size: 3rem;
}
.list {
	margin: 1.4rem -6px 0;
}
.list-box {
	float: left;
	width: calc(50% - 12px);
	height: calc((50vw - 12px) / 3 * 4);
	margin: 0 6px 25px;
	background-repeat: none;
	background-position: center center;
	background-size: cover;
	border-radius: 10px;
	position: relative;
}
@media(min-width:1025px) {
	.list-box  {
		height: calc((320px - 12px) / 3 * 4);
	}
}
.list-box a {
	display: block;
	width: 100%;
	height: 100%;
	color: #111;
}
.list-box>a>ul, .prof-text {
	position: absolute;
	bottom: 4px;
	width: calc(100% - 8px);
	max-width: calc(80vh / 4 * 3 - 8px);
	margin: 0 4px;
	padding: 4px;
	background: rgba(255, 255, 255, 0.6);
	border-radius: 8px;
	text-align: center;
}
.list-box>a>ul>li:not(.time) {
	line-height: 1.4;
}
.list-name {
	margin: 0;
	line-height: 1;
	font-size: 1.8rem;
}
.list-box small {
	font-size: 1.2rem;
}
@media(max-width:414px) {
	.list-box small {
		font-size: 1rem;
	}
}
.list-caption, .list-description {
	font-size: 1.2rem;
	line-height: 1.4rem;
	text-align: left;
}
.list-box .time {
	font-size: 1.6rem;
	color: #FE4B82;
}
.list-box li ul {
	font-size: 0;
}
.list-box li ul li {
	width: 50%;
	display: inline-block;
	font-size: 1.2rem;
	line-height: 1.4rem;
	text-align: left;
}
.list-box li table, .sep_list {
	width: 100%;
	margin: 0 auto;
}
.list-box li th {
	font-weight: 400;
	text-align: left;
}
.list-box li td {
	text-align: left;
}
.list-box li .table-min {
	font-size: 1.2rem;
	line-height: 1.4rem;
}
@media(max-width:414px) {
	.list-box li .table-min {
		font-size: 1rem;
	}
}
.list-box li .table-min tr {
	display: inline-block;
}
.list-box li .table-min tr:first-child {
	width: 62%;
}
.list-box li .table-min tr:last-child {
	width: 38%;
}
.status_new:before {
    height: 0;
    padding: 12.5%;
    border-radius: 50%;
    background: #f264a5;
    content: "";
}
.status_new:before, .status_new:after {
    display: block;
    position: absolute;
    top: -5px;
    right: -5px;
}
.status_new:after {
    width: 25%;
    margin-top: 12.5%;
    border-radius: 50%;
    color: #fff;
    font-weight: bold;
    font-size: 3.8vw;
    text-align: center;
    content: "NEW";
    transform: translateY(-50%);
}
@media(min-width:1025px) {
	.status_new:after {
		font-size: 2.4rem;
	}
}

/*footer*/
.footer {
	margin-top: 8%;
	padding: 1.4rem 0 0.6rem;
	background-color: #FD9999;
	text-align: center;
	visibility: hidden;
}
.footer address a {
	color: #FFFFFF;
	font-size: 1.8rem;
}
/*float-menu*/
#float-menu {
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 99;
	overflow: hidden;
	pointer-events: none;
}
@media(min-width:1025px) {
	#float-menu {
		width: 640px;
	}
}
#nav-open {
	position: absolute;
	right: 0;
	display: block;
	margin: 4px;
	transition: 0.3s ease-in-out;
	pointer-events: all;
	opacity: 1;
}
.nav-icon {
	display: block;
	width: 52px;
	height: 52px;
	border-radius: 26px;
	background: rgba(0, 0, 0, 0.5);
	text-align: center;
	position: relative;
}
.nav-icon:hover, .nav-icon:active, .nav-icon:focus {
	cursor: pointer;
}
.nav-icon img {
	margin-top: -3px;
}
.nav-icon:after {
	display: block;
	margin-top: -1.4rem;
	font-size: 1.2rem;
	color: #FFFFFF;
	text-align: center;
	letter-spacing: -3px;
	content: "メニュー";
}
#nav-close {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	pointer-events: none;
	cursor: pointer;
	transition: 0.3s ease-in-out;
}
@media(min-width:1025px) {
	#nav-close {
		width: 640px;
		margin: 0 auto;
	}
}
#nav-content {
	overflow: auto;
	position: absolute;
	top: 0;
	right: 0;
	width: 80%;
	min-width: 300px;
	padding-top: 60px;
	padding-left: 1rem;
	transition: 0.3s ease-in-out;
	transform: translateY(-100%);
}
.menu-close {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 52px;
	height: 52px;
	border-radius: 26px;
	background: rgba(0, 0, 0, 0.5);
	cursor: pointer;
}
.nav-menu li {
	margin: 1.2rem 0.4rem;
	transition: 0.3s;
}
.nav-menu li a {
	display: block;
	padding: 1.2rem;
	border-radius: 1rem;
	background: #FD9999;
	color: #FFFFFF;
	font-size: 1.6rem;
	text-align: center;
}
.nav-menu li a:hover {
	text-decoration: none;
}
.nav-menu li:hover, .nav-menu li:active, .nav-menu li:focus {
	transform: translateX(-10px);
}
#nav-input:checked ~ #nav-content {
	transform: translateY(0);
	pointer-events: all;
}
#nav-input:checked ~ #nav-open {
	opacity: 0;
}
#nav-input:checked ~ #nav-close {
	display: block;
	pointer-events: all;
}
/*float*/
.float {
	position: fixed;
	bottom: 0;
	z-index: 50;
	width: 100%;
	opacity: 0;
	transform: translateY(100%);
	transition: 0.5s;
	/* animation: floatin 1.5s ease-out; */
}
@media(min-width:1025px) {
	.float {
		width: 640px;
	}
}
.is-fixed .float {
	opacity: 1;
	transform: translateY(0);
}
@keyframes floatin {
	0% {opacity: 0; transform: translateY(100%);}
	66% {opacity: 0; transform: translateY(100%);}
	100% {opacity: 1; transform: translateY(0);}
}
.float-btn {
	background: rgba(0, 0, 0, .5);
}
.float-btn li {
	float: left;
	width: 20%;
	text-align: center;
	border: 1px solid #FE4B82;
	border-bottom-width: 0;
}
.float-btn li a {
	display: block;
	margin: 0 0.2rem;
	padding: 0.4rem 0 0.2rem;
	font-size: 1.6rem;
	color: #FFFFFF;
}
.float-isolated {
	text-align: right;
}
.float-tel {
	display: inline-block;
	width: 60px;
	height: 60px;
	margin: 4px 4px 8px;
	background: rgba(0, 0, 0, .5);
	border-radius: 50%;
}
@media(min-width:640px) {
	.float-tel {
		width: 80px;
		height: 80px;
	}
}

/* --------------------------------------------------
 * class
 *
-------------------------------------------------- */
.cf:after, .clearfix:after {
	content: "";
	clear: both;
	display: table;
}
.dp-n {
	display: none;
}
.vb-h {
	visibility: hidden;
}
.dp-ib {
	display: inline-block;
}

.maru {
	font-family: 'Kiwi Maru', fantasy;
	font-weight: 500;
}
.ao {
	background-color: #54BAFE;
}

.col_red {
	color: #FF0033;
}
