@charset "utf-8";
@import "https://use.fontawesome.com/releases/v5.13.0/css/all.css";

/*** other ***/

html,
body {
	margin:0;
	padding:0;
	overflow-x:hidden;
}

.site-body,
.site-body-container,
h2,
h3,
h4 {
padding:0 !important;
margin:0 !important;
width:100% !important;
max-width:100% !important;
}

.site-header,
.site-body-bottom,
.admin-bar .vk-mobile-nav-menu-btn,
.vk-mobile-nav-menu-btn,
.wp-block-columns,
.wp-block-cover,
.wp-block-spacer,
.wp-block-heading,
.wp-block-latest-posts__list,
.footer-nav,
.site-footer-copyright,
.page-header,
.breadcrumb {
display:none !important;
}

.site-footer {
	border:none !important;
}

html,
body,
header {
overflow-x:hidden !important;
overflow-y:visible !important;
}

h2,
h3,
h3:after,
h4,
h4:after {
border:none;
background:rgba(255, 255, 255, 0.0);
}

h3:after,
h4:after {
display:none;
}

ul,
p {
margin:0;
padding:0;
}

ul li {
list-style:none;
margin:0;
padding:0;
}

/*** /other ***/

/*** font ***/

.font-weigth {
font-weight:bold;
}

.font-mincho,
.shop-view-month-container .star-kuchikomi-box h3 {
font-family:"游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/*** /font ***/

/*** スクロールall ***/

.fade-in {
opacity:0;
transition-duration:3000ms;
transition-property:opacity, transform;
}

.fade-in-up {
transform:translate(0, 50px);
}

.fade-in-down {
transform:translate(0, -50px);
}

.fade-in-left {
transform:translate(-50px, 0);
}

.fade-in-right {
transform:translate(50px, 0);
}

.scroll-in {
opacity:1;
transform:translate(0, 0);
}

/*** /スクロールall ***/

/*** .slider ***/

.fade .slick-item img {
	width:100%;
	height:100vh;
	object-fit:cover;
}

/*** /.slider ***/

/*** title ***/

.inner {
	h3 {
		font-size:2rem;
		font-weight:bold;
		text-align:center;
	}
	
	.subtitle {
		line-height:1;
		display:flex;
		align-items:center;
		justify-content:center;
		font-size:0.9rem;
		color:#F7A7A7;
	}
	
	.subtitle::before,
	.subtitle::after {
		content:"";
		width:5rem;
		border-bottom:1px solid #F7A7A7;
		margin:0 10px;
	}
}

/*** /title ***/

/*** .banner-box ***/

.banner-box {
	width:max-content;
	margin:3rem auto;
	
	.bg-box {
		background-image:url("../../uploads/2025/11/gray-bg.png");
		background-repeat:no-repeat;
		background-position:center;
		background-size:cover;
		padding:1rem 3rem;
		border:2px solid #384187;
		
		p {
			font-size:1.2rem;
			font-weight:bold;
			color:#384187;
			line-height:1;
		}
	}
}

/*** /.banner-box ***/

/*** .banner ***/

.banner {
	transform:translateY(100%);
	opacity:0;
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	transition:transform 0.4s ease, opacity 0.4s ease;
	background-color:rgba(103, 58, 183, 0.9);
	padding:1rem;
	z-index:1000;
	
	.divide-box {
		display:table;
		width:max-content;
		margin:auto;
		
		.left-box,
		.right-box {
			display:table-cell;
			width:17em;
			vertical-align:middle;
			
			.inner-box:hover {
				transition:all 0.5s;
				transform:scale(1.05, 1.05);
			}
			
			.inner-box {
				background:#FFFFFF;
				padding:0.7rem 1.5rem;
				border-radius:50vh;
				text-align:center;
				position:relative;
				box-shadow:0 3px 3px rgba(0, 0, 0, 0.6);
				transition:all 0.5s;
				
				a {
					position:absolute;
					top:0;
					left:0;
					width:100%;
					height:100%;
				}
			
				.arrange-box {
					img,
					p {
						display:inline-block;
						vertical-align:middle;
					}
					
					img {
						width:1.6em;
						height:1.6em;
						background:#384187;
						border-radius:50%;
						padding:0.2em;
					}
					
					p {
						font-size:1rem;
						font-weight:bold;
						padding-left:0.3em;
					}
				}
			}
		}
		
		.left-box {
			padding-right:0.5rem;
		}
		
		.right-box {
			padding-left:0.5rem;
		}
	}
}

.banner.fixed {
	transform:translateY(0);
	opacity:1;
}

/*** /.banner ***/

/*** .top-page-view-container ***/

/* iPhone Safariのズレ補正 */
@supports (-webkit-touch-callout: none) {
	.ab-top-two {
		left: 50%;
		transform: translateX(-50%) translateY(-50%) scale(0.9999);
	}
}

.top-page-view-container {
	position:relative;
	overflow:hidden;
	width:100%;
	
	.ab-top-one {
		position:absolute;
		top:1rem;
		left:3rem;
		width:20%;
		
		img {
			width:100%;
		}
	}
	
	.ab-top-two {
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%, -50%);
		-webkit-transform:translate(-50%, -50%);
		-ms-transform:translate(-50%, -50%);
		text-align:center;
		display:inline-block;
		white-space:nowrap;
		pointer-events:none;
		
		h2 {
			padding:0;
			margin:0;
			font-size:2.5rem;
			font-weight:bold;
			writing-mode:vertical-rl;
			text-orientation:upright;
			color:#FFFFFF;
			text-shadow:0 0 6px #000000;
			letter-spacing:0.2em;
			
			span {
				padding:0.1rem 0 0.5rem;
				
				img {
					width:2rem;
				}
			}
		}
	}
	
	.ab-top-three {
		position:absolute;
		top:1rem;
		right:3rem;
		text-align:right;
		
		.inner .img,
		.inner p {
			display:inline-block;
			vertical-align:middle;
		}
		
		.inner img {
			width:1.5em;
		}
		
		.inner .tel-p {
			font-size:1.5em;
			font-weight:bold;
			margin:0 0 0 0.3em;
			color:#FFFFFF;
			text-shadow:0 0 6px #000000;
		}
		
		.address {
			p {
				font-size:1em;
				font-weight:bold;
				color:#FFFFFF;
				line-height:1.3;
				text-shadow:0 0 6px #000000;
			}
		}
	}
	
	.ab-top-four {
		position:absolute;
		bottom:1rem;
		right:3rem;
		
		.inner {
			.box-link {
				width:13em;
				display:inline-block;
				vertical-align:middle;
				padding:0 0.5rem;
				
				.box-inner {
					background:#384187;
					border:2px solid #384187;
					box-shadow:0 3px 3px rgba(0, 0, 0, 0.6);
					position:relative;
					transition:all 0.5s;
					
					a {
						position:absolute;
						top:0;
						left:0;
						width:100%;
						height:100%;
					}
					
					.cont {
						text-align:center;
						padding:0.7rem;
						
						img,
						p {
							display:inline-block;
							vertical-align:middle;
						}
						
						img {
							width:2em;
							padding-right:0.3em;
						}
						
						p {
							font-size:1rem;
							font-weight:bold;
							color:#FFFFFF;
						}
					}
				}
				
				.box-inner:hover {
					transition:all 0.5s;
					transform:scale(1.05, 1.05);
				}
			}
			
			.box-link:last-child {
				.box-inner {
					background:#FFFFFF;
					border:2px solid #384187;
					
					.cont {
						p {
							color:#000000;
							padding-right:1em;
						}
					}
				}
			}
		}
	}
}

/*** /.top-page-view-container ***/

/*** .top-page-news-container ***/

.top-page-news-container {
	width:90%;
	margin:3rem auto;
	
	.inner {		
		.news-lists-box {
			width:70%;
			margin:1rem auto;
			border:1px solid #666666;
			border-radius:0.5rem;
			box-shadow:0 3px 3px rgba(0, 0, 0, 0.3);
			padding:2rem;
			
			.news-list:hover {
				transition:all 0.5s;
				transform:scale(1.05, 1.05);
			}
			.news-list {
				position:relative;
				border-bottom:1px solid #999999;
				padding:0 0.5rem 0.5rem;
				transition:all 0.5s;
				
				.arrow {
					position:absolute;
					right:0;
					top:50%;
					transform:translateY(-50%);
					color:#666;
				}
				
				a {
					position:absolute;
					top:0;
					left:0;
					width:100%;
					height:100%;
				}
				
				.cont {
					ul {						
						li {
							display:inline-block;
							vertical-align:middle;
							color:#000000;
							font-size:1rem;
						}
						
						li:last-child {
							padding-left:1em;
						}
					}
				}
			}
			
			.news-list:not(:first-child) {
				padding-top:0.5rem;
			}
		}
	}
}

/*** /.top-page-news-container ***/

/*** .top-page-teller-container ***/

.top-page-teller-container {
	background: linear-gradient(to bottom, #FFFFFF, #F1F1FB);
	
	.inner {
		width:90%;
		margin:auto;
		padding:2rem 0 0;
		
		.purple-bg-box {
			background-image:url("../../uploads/2025/10/teller-bg-pc.jpg");
			background-size:cover;
			background-repeat:repeat-y;
			background-position:top;
			padding:3rem 5rem;
			margin-top:3rem;
			
			.divide-box {
				display:table;
				width:100%;
				margin:auto;
				
				.left-box,
				.right-box {
					display:table-cell;
					width:50%;
					vertical-align:middle;
				}
				
				.left-box {
					padding-right:1.5rem;
					
					.title {
						font-size:1.5rem;
						font-weight:bold;
						margin-bottom:1em;
						
						span {
							font-size:2rem;
						}
					}
					
					.description {
						font-size:1rem;
						margin-bottom:1em;
						
						.underline {
							border-bottom:2px solid #384187;
						}
						
						.bold {
							font-size:1.3rem;
							font-weight:bold;
							color:#384187;
						}
					}
					
					.btn-divide-box {
						display:table;
						width:100%;
						margin-top:2rem;
						
						.left-btn-box,
						.right-btn-box {
							display:table-cell;
							width:50%;
							vertical-align:middle;
							
							/*.btn-inner:hover {
								transition:all 0.5s;
								transform:scale(1.05, 1.05);
								background:#FFFFFF;
								
								.display-parallel {
									p {
										color:#384187;
									}
								}
							}*/
							
							.btn-inner {
								/*transition:all 0.5s;*/
								border:3px solid #384187;
								background:#384187;
								position:relative;
								width:100%;
								padding:1rem;
								
								a {
									position:absolute;
									top:0;
									left:0;
									width:100%;
									height:100%;
									z-index:1000;
								}
								
								.display-parallel {
									.img,
									p {
										display:inline-block;
										vertical-align:middle;
									}
									
									.img {
										width:15%;
										
										img {
											width:100%;
										}
									}
									
									p {
										width:80%;
										text-align:center;
										font-size:1.2rem;
										font-weight:bold;
										padding-left:0.5em;
									}
								}
							}
						}
						
						.left-btn-box {
							padding-right:0.5rem;
							
							.btn-inner {
								p {
									color:#FFFFFF;
								}
							}
						}
						
						.right-btn-box {
							padding-left:0.5rem;
							
							.btn-inner {
								background:#FFFFFF;
							}
							
							/*.btn-inner:hover {
								background:#384187;
								
								.display-parallel {
									p {
										color:#FFFFFF;
									}
								}
							}*/
						}
					}
				}
				
				.right-box {
					padding-left:1.5rem;
					
					img {
						width:100%;
					}
				}
			}
			
			.btn-container {
				margin-bottom:0;
			}
		}
		
		.kakugen-box {
			.inner {
				width:max-content;
				margin:2rem auto 0;
				background-color:rgba(255, 255, 255, 0.7);
				border-radius:1rem;
				padding:1rem 5rem;
				
				ul {
					li {
						font-size:1.3rem;
						font-weight:bold;
						line-height:2.5;
					}
				}
			}
		}
		
		.method-divide-box {
			/*display:table;*/
			width:100%;
			margin:auto;
			
			.left-method-box,
			.right-method-box {
				/*display:table-cell;
				width:50%;
				vertical-align:top;*/
			}
			
			.main-title {
				margin:2rem auto 0;
				font-size:1.5rem;
				font-weight:bold;
				padding-left:0.5em;
			}
			
			.parallel-box {
				width:100%;
				margin:1rem auto 2rem;
				
				.parallel-val {
					margin:0 0.5rem 0.5rem 0;
					width:max-content;
					display:inline-block;
					
					p {
						padding:0.5rem 1rem;
						border-radius:5px;
						background:#F7A7A7;
						color:#FFFFFF;
						box-shadow:0 3px 3px rgba(0, 0, 0, 0.6);
					}
				}
			}
		}
	}
}

/*** /.top-page-teller-container ***/

/*** .top-page-schedule-container ***/

.top-page-schedule-container {
	background:#F1F1FB;
	padding-top:5rem;
	
	.ym-p {
		font-weight:bold;
		font-size:1.4rem;
		padding:1rem 0 0.5rem;
		text-align:center;
	}
	
	.divide-box {
		display:table;
		width:90%;
		margin:auto;
		
		.left-box,
		.right-box {
			display:table-cell;
			width:50%;
			vertical-align:top;
		}
		
		.left-box {
			padding-right:0.5rem;
		}
		
		.right-box {
			padding-left:0.5rem;
		}
	}
	
	.custom-calendar {
		width:100%;
		border-collapse:collapse;
		margin:auto;
		padding:2rem 0;
		
		tr:first-child th {
			padding:1rem 0.5rem;
			background:#F2EFF7;
		}
		
		th,
		td {
			border:1px solid #ddd;
			padding:0.5rem 0.5rem 3.5rem;
			width:14.28%;
			background:#FFFFFF;
		}
		
		.sat,
		.sun,
		.holiday {
			position:relative;
			color:#FF0000;
			background:#FFF0F0;
			
			span {
				position:absolute;
				top:50%;
				left:50%;
				transform:translate(-50%, -50%);
				width:90%;
				text-align:center;
				font-size:0.8rem;
				line-height:1.3;
			}
		}
	}
}

/*** /.top-page-schedule-container ***/

/*** .top-page-access-container ***/

.top-page-access-container {
	background:#F1F1FB;
	padding-top:5rem;
	
	.white-bg {
		background:#FFFFFF;
		border-radius:1rem;
		padding:2rem;
		width:70%;
		margin:1rem auto 1.5rem;
		
		.list-box {
			text-align:center;
			
			.list-val {
				width:30%;
				display:inline-block;
				vertical-align:top;
				padding:1rem;
				
				.inner-list {
					ul {
						li {
							img {
								width:30%;
							}
						}
						
						li:nth-child(2) {
							font-size:1.3rem;
							font-weight:bold;
							color:#666666;
						}
						
						li:last-child,
						li.font-m {
							font-size:1.1rem;
							font-weight:bold;
							color:#333333;
						}
						
						li.font-s {
							font-size:0.8rem;
							line-height:1;
						}
					}
				}
			}
		}
	}
	
	.map-box {
		width:100%;
		
		iframe {
			width:100%;
			height:50vh;
			margin-bottom:0;
			display:block;
		}
	}
}

/*** /.top-page-access-container ***/

/*** .my-footer-continer ***/

.my-footer-continer {
	margin:3rem auto 6rem;
	
	.divide-box {
		display:table;
		width:90%;
		margin:auto;
		
		.left-box,
		.right-box {
			display:table-cell;
			vertical-align:top;
		}
		
		.left-box {
			width:30%;
			
			ul {
				li {
					display:inline-block;
					font-size:1.1rem;
					vertical-align:middle;
					line-height:1;
					
					img {
						width:1.3em;
						padding:0 0.4em 0 0.1em;
					}
				}
			}
			
			p {
				font-size:1.5rem;
				font-weight:bold;
				
				span {
					font-size:2rem;
					padding-left:0.5em;
				}
			}
			
			.address {
				font-size:0.8rem;
				margin-top:1rem;
			}
		}
		
		.right-box {
			width:70%;
			padding-left:3rem;
			
			.right-divide-box {
				width:max-content;
				margin:0 0 0 auto;
				
				.right-val {
					/*display:table-cell;
					width:33%;*/
					display:inline-block;
					vertical-align:top;
					width:max-content;
					padding-right:5rem;
					
					ul {
						li {
							padding-bottom:0.5em;
							
							a {
								text-decoration:none;
								font-size:0.8rem;
								color:#000000;
							}
						}
					}
					
					p {
						line-height:1.2;
						
						a {
							text-decoration:none;
							font-size:0.8rem;
							color:#000000;
						}
					}
				}
			}
		}
	}
	
	.purple-line {
		width:95%;
		height:2px;
		background:#384187;
		margin:2rem auto 1rem;
	}
	
	.my-footer-copyright {
		.copyright,
		.produce {
			font-size:0.7rem;
			text-align:center;
		}
	}
}

.my-footer-continer.margin-change {
	margin-bottom:1rem;
}

/*** /.my-footer-continer ***/

/*** .header-part-box ***/

.header-part-box {
	background-image:url("../../uploads/2025/10/teller-bg-pc.jpg");
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
	
	.inner {
		width:80%;
		margin:auto;
		padding:5rem 0;
		
		.title {
			font-size:2rem;
			font-weight:bold;
			line-height:1;
		}
		
		.sub-title {
			font-size:0.9rem;
			font-weight:bold;
			margin-bottom:1.5rem;
		}
		
		.content {
			font-size:0.9rem;
		}
	}
}

/*** /.header-part-box ***/

/*** .contact-container ***/

.contact-container {
	width:100%;
	
	.content-part-box {
		width:90%;
		margin:auto;
		padding:3rem 0;
		
		h2 {
			font-size:1.5rem;
			text-align:center;
		}
		
		.contact-p {
			font-size:1rem;
			text-align:center;
			margin-top:2rem;
		}
	}
	
	.reservation-box {
		padding-bottom:1rem;
	}
	
	.tel-contact {
		width:max-content;
		margin:1.5rem auto;
		
		.inner {
			border:2px solid #989FC2;
			padding:1rem 3rem;
			background-color:rgba(152, 159, 194, 0.1);
			
			p {
				text-align:center;
				font-size:0.9rem;
			}
			
			.inline-box {
				img,
				p {
					display:inline-block;
					vertical-align:middle;
				}
				
				img {
					width:2em;
				}
				
				p {
					font-size:1.5rem;
					font-weight:bold;
				}
			}
		}
	}
}

/*** /.contact-container ***/

/*** .price-container ***/

.price-container {
	.caution-box {
		width:max-content;
		margin:3rem auto 0;
		
		.inner {
			border:2px solid #989FC2;
			padding:1rem 3rem;
			background-color:rgba(152, 159, 194, 0.1);
			
			p {
				text-align:center;
				font-size:0.9rem;
			}
		}
	}
	
	.price-table-box {
		width:100%;
		/*background-image:url("../../uploads/2025/11/gray-bg.png");
		background-repeat:repeat-y;
		background-size:cover;*/
		padding:3rem 0;
		
		.price-val {
			width:60%;
			margin:0 auto 3rem;
			background:#FFD0D0;
			border-radius:0.5rem;
			box-shadow:0 5px 10px rgba(0, 0, 0, 0.4);
			padding:2rem;
			position:relative;
			
			.inner {				
				.ab-box {
					position:absolute;
					top:0;
					left:-1.5em;
					
					
					p {
						position:relative;
						display:inline-block;
						color:#FFFFFF;
						text-shadow:0 0 5px #000000;
						font-size:1.2rem;
						font-weight:bold;
						z-index:100;
					}
					
					p:before {
						content:"";
						position:absolute;
						background:#384187;
						width:4em;
						height:4em;
						border-radius:50%;
						top:50%;
						left:50%;
						-webkit-transform:translate(-50%,-50%);
						transform:translate(-50%,-50%);
						z-index:-1;
						box-shadow:0 2px 5px rgba(0, 0, 0, 0.4);
					}
				}
				
				.title {
					font-size:2rem;
					font-weight:bold;
					text-align:center;
					text-shadow:0 0 5px #FFFFFF;
					
					.s-size {
						font-size:1rem;
					}
					
					.l-size {
						font-size:3rem;
						padding:0 0.1em 0 0.7em;
						color:#384187;
					}
				}
				
				.dashed-note {
					padding:1rem;
					background:#FFFFFF;
					
					.inner-note {
						background-color:#FFFFFF;
						background-image:linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%),
										linear-gradient(180deg, #ccc 1px, transparent 1px);
						background-size:8px 100%,
										100% 2.5em;
						padding-bottom:1px;
						
						p {
							line-height:2.5em;
						}
					}
				}
			}
		}
		
		.price-val:last-child {
			margin-bottom:0;
		}
	}
}

/*** /.price-container ***/

/*** .btn-container ***/

.btn-container {
	text-align:center;
	margin-bottom:3rem;
}

/*** .btn-container ***/

/*** .form-box ***/

.form-box {
	width:60%;
	margin:0 auto 5rem;
	
	input[type=date],
	input[type=email],
	input[type=number],
	input[type=password],
	input[type=tel],
	input[type=text],
	input[type=url],
	select,
	textarea {
		border-radius:0;
	}
	
	p:empty {
		display:none;
	}
	
	.divide-cont {
		width:100%;
		display:table;
		margin-bottom:1em;
		
		.left-cont,
		.right-cont {
			display:table-cell;
			vertical-align:middle;
		}
		
		.left-cont {
			width:15em;
			
			p {
				display:inline-block;
				vertical-align:middle;
			}
			
			.left-p {
				font-size:1rem;
				font-weight:bold;
				margin-right:0.5em;
			}
			
			.required {
				border:1px solid #FF0000;
				border-radius:3px;
				padding:0.2rem 0.5rem;
				font-size:0.7rem;
				color:#FF0000;
			}
		}
		
		.right-cont {
			input,
			select {
				margin-bottom:0;
			}
		}
		
		.lineup-cont {
			.lineup-val {
				display:inline-block;
				
				div {
					display:inline-block;
					
					select {
						width:6em;
						text-align:center;
					}
				}
			}
		}
	}
	
	.position-top {
		.left-cont,
		.right-cont {
			vertical-align:top;
		}
		
		.left-cont {
			padding-top:0.3em;
		}
	}
	
	.send-box {
		text-align:center;
		margin-top:3rem;
		
		input {
			font-size:1rem;
			padding:1rem 5rem;
			border-color:#384187;
			background:#384187;
		}
		
		.wpcf7-spinner {
			display:none;
		}
	}
}

/*** /.form-box ***/

/*** .footer-breadcrumb-box ***/

.footer-breadcrumb-box {
	background:rgba(152, 159, 194, 0.1);
	width:100%;
	
	.inner {
		width:90%;
		margin:auto;
		padding:1em;
		
		ul {
			li {
				font-size:0.9rem;
				display:inline-block;
				vertical-align:middle;
				padding:0 0.5em;
				
				a {
					color:#000000;
				}
			}
		}
	}
}

/*** /.footer-breadcrumb-box ***/

/*** .page-top-container ***/

.page-top-container {
	width:100%;
	box-shadow:0 3px 3px rgba(152, 159, 194, 0.3);
	margin-bottom:3px;
	
	.divide-box {
		display:table;
		width:95%;
		margin:auto;
		padding:0.5rem 0;
		
		.left-box,
		.right-box {
			display:table-cell;
			vertical-align:middle;
		}
		
		.left-box {
			width:40%;
			
			img {
				width:17em;
			}
		}
		
		.right-box {
			width:60%;
			
			ul {
				width:max-content;
				margin:0 0 0 auto;
				
				li {
					display:inline-block;
					width:max-content;
					padding:1rem;
					
					a {
						color:#000000;
						text-decoration-color:#000000;
					}
				}
			}
		}
	}
}

/*** /.page-top-container ***/

/*** .post-content-container ***/

.post-content-container {
	padding:3rem 0;
	background-image:url("../../uploads/2025/10/teller-bg-pc.jpg");
	background-size:cover;
	background-repeat:repeat-y;
	width:100%;
	
	.inner-box {
		width:80%;
		margin:auto;
		background:#FFFFFF;
		border-radius:0.5rem;
		padding:3rem;
		
		h2 {
			text-align:center;
			font-family:"游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		}
		
		.purple-line-box {
			width:5em;
			height:5px;
			background:#384187;
			margin:1rem auto 1.5rem;
		}
		
		p {
			margin-bottom:1em;
		}
		
		figure {
			width:70%;
			margin:0 auto 1em;
			
			img {
				width:100%;
			}
		}
		
		.btn-container {
			margin-top:3rem;
			margin-bottom:0;
		}
	}
}

/*** /.post-content-container ***/

/*** .blog-all-container ***/

.blog-all-container {
	margin:3rem auto;
	width:100%;
	
	h2.blog-all-title {
		text-align:center;
		font-family:"游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		line-height:1.2;
	}
	
	.post-list {
		width:80%;
		margin:2rem auto 0;
		
		.post-item:hover {
			transition:all 0.5s;
			transform:scale(1.05, 1.05);
		}
		
		.post-item {
			width:100%;
			border:1px solid #CCCCCC;
			box-shadow:0 3px 3px rgba(166, 166, 166, 0.6);
			border-radius:0.5rem;
			padding:1.5rem 2rem;
			margin-bottom:1rem;
			position:relative;
			transition:all 0.5s;
			
			a {
				position:absolute;
				top:0;
				left:0;
				width:100%;
				height:100%;
			}
			
			.title {
				font-family:"游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
				font-size:1.3rem;
				font-weight:bold;
				line-height:1;
			}
			
			.date {
				font-size:0.9rem;
				font-weight:bold;
				line-height:1;
				margin:0.3em 0 1em 0.3em;
				color:#BCA4DE;
			}
		}
		
		.post-item:last-child {
			margin-bottom:0;
		}
	}
}

/*** /.blog-all-container ***/

/*** .underline-hover ***/

.underline-hover {
	display:inline-block;
	position:relative;
	text-decoration:none;
}

.underline-hover::after {
	background-color:#000000;
	bottom:-4px;
	content:"";
	height:1px;
	left:0;
	position:absolute;
	transform:scale(0, 1);
	transform-origin:left top;
	transition:transform .3s;
	width:100%;
}

.underline-hover:hover::after {
	transform:scale(1, 1);
}

/*** /.underline-hover ***/

/*** .btn--yellow ***/

a.btn--yellow {
	color:#FFFFFF;
	background:#7C4BBD;
	
	span {
		padding-left:1.5rem;
		font-size:1.5rem;
		font-weight:bold;
	}
}

a.btn--yellow:hover {
	color:#FFFFFF;
	background:#7C4BBD;
}

a.btn--yellow.btn--cubic {
	border-bottom:5px solid #384187;
}

a.btn--yellow.btn--cubic:hover {
	margin-top:3px;
	border-bottom:2px solid #384187;
}

a.btn-c {
	font-size:1.2rem;
	position:relative;
	padding:0.7rem 3rem;
	border-radius:100vh;
}

a.btn-c i.fa {
  margin-right: 1rem;
}

/*a.btn-c:before {
  font-family: 'Font Awesome 5 Free';
  font-size: 1.6rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .8rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f054';
}*/

/*** /.btn--yellow ***/

@media only screen and (max-width: 1199px) {
	
	.top-page-teller-container {
		.inner {
			.purple-bg-box {
				padding:3rem;
				
				.divide-box {
					.left-box {
						.btn-divide-box {
							.left-btn-box,
							.right-btn-box {
								.btn-inner {
									padding:0.7rem 0.3rem;
								}
							}
						}
					}
				}
			}
		}
	}
	
}

@media only screen and (max-width: 1099px) {
	
	.top-page-teller-container {
        .inner {
            .purple-bg-box {
                .divide-box {
					display:block;
					width:100%;
					
					.left-box,
					.right-box {
						display:block;
						width:100%;
						padding-right:0;
						padding-left:0;
					}
					
					.left-box {
						.title {
							text-align:center;
						}
						
						.btn-divide-box {
							width:max-content;
							margin:0 auto 2rem;
							
							.left-btn-box,
							.right-btn-box {
								width:15em;
							}
						}
					}
					
					.right-box {
						width:60%;
						margin:auto;
						
						img {
							width:100%;
						}
					}
				}
			}
		}
	}
	
}

@media only screen and (max-width: 999px) {
	
	.price-container {
		.price-table-box {
			.price-val {
				width:80%;
			}
		}
	}
	
	.form-box {
		width:80%;
	}
	
}

@media only screen and (max-width: 899px) {
	
	.top-page-access-container {
		.white-bg {
			width:80%;
		}
	}
	
}

@media only screen and (max-width: 849px) {
	
	.top-page-teller-container {
		.inner {
			.kakugen-box {
				.inner {
					padding:0.7rem 1.5rem;
				}
			}
		}
	}
	
}

@media only screen and (max-width: 799px) {
	
	.top-page-news-container,
	.top-page-teller-container .inner {
		width:95%;
	}
	
	.top-page-news-container {
		.inner {
			.news-lists-box {
				width:100%;
			}
		}
	}
	
	.my-footer-continer {
		.divide-box {
			display:block;
			
			.left-box,
			.right-box {
				display:block;
				width:100%;
			}
			
			.left-box {
				text-align:center;
			}
			
			.right-box {
				padding-left:0;
				
				.right-divide-box {
					margin:2rem auto 0;
					
					.right-val {
						text-align:center;
						padding-left:1rem;
						padding-right:1rem;
					}
				}
			}
		}
	}
	
	.header-part-box {
		.inner {
			width:90%;
		}
	}
	
	.blog-all-container {
		.post-list {
			width:90%;
		}
	}
	
	.post-content-container {
		.inner-box {
			width:90%;
		}
	}
	
}

@media only screen and (max-width: 749px) {
	
	.top-page-access-container {
		.white-bg {
			width:90%;
		}
	}
	
}

@media only screen and (max-width: 699px) {
	
	.top-page-view-container {
		.ab-top-one {
			top:0.5rem;
			left:0.5rem;
			width:15em;
		}
		
		.ab-top-three {
			top:0.5rem;
			right:0.5rem;
		}
		
		.ab-top-four {
			bottom:0.5rem;
			right:0.5rem;
			
			 .inner {
				.box-link {
					padding-right:0.2rem;
					padding-left:0;
					width:12em;
					
					.box-inner {
						.cont {
							padding:0.5rem;
						}
					}
				}
				
				.box-link:last-child {
					padding-right:0;
					padding-left:0.2rem;
				}
			 }
		}
	}
	
	.top-page-teller-container {
		.inner {
			.purple-bg-box {
				padding:3rem 1.5rem;
				
				.kakugen-box {
					.inner {
						width:100%;
						padding:1.5em;
						
						ul {
							li {
								line-height:1.4;
								margin-bottom:0.8em;
							}
							
							li:last-child {
								margin-bottom:0;
							}
						}
					}
				}
			}
		}
	}
	
	.page-top-container {
		.divide-box {
			.right-box {
				ul {
					li {
						font-size:0.8rem;
					}
				}
			}
		}
	}
	
	.form-box {
		width:90%;
	}
	
	.pc-view-700 {
		display:none !important;
	}
	
}

@media only screen and (max-width: 599px) {
	
	.top-page-access-container {
		.white-bg {
			.list-box {
				.list-val {
					padding:0.2rem;
					width:48%;
				}
			}
		}
	}
	
	.page-top-container {
		.divide-box {
			.left-box {
				img {
					width:13em;
				}
			}
			
			.right-box {
				ul {
					li {
						padding:1rem 0.5rem;
					}
				}
			}
		}
	}
	
	.price-container {
		.price-table-box {
			.price-val {
				width:90%;
				
				.inner {
					.ab-box {
						left: -1em;
					}
				}
			}
		}
	}
	
	.form-box {
		width:95%;

		.divide-cont {
			.left-cont {
				width:12em;
				
				.left-p {
					margin-right:0.1em;
				}
			}
		}
	}
	
	.banner {
		.divide-box {
			.left-box,
			.right-box {
				width:15em;
			}
		}
	}
	
}

@media only screen and (max-width: 549px) {
	
	.pc-view-550 {
		display:none !important;
	}
	
	.contact-container {
		.tel-contact {
			.inner {
				padding:1rem;
			}
		}
	}
	
	.price-container {
		.caution-box {
			.inner {
				padding:1rem;
			}
		}
	}
	
}

@media only screen and (max-width: 499px) {
	
	.top-page-view-container {
		.ab-top-one {
			width:12em;
		}
		
		.ab-top-three {
			.inner {
				.tel-p {
					font-size:1.2em;
				}
			}
		}
		
		.ab-top-four {
			right:auto;
			left:50%;
			transform:translateX(-50%);
			width:max-content;
			bottom:2.5rem;
		}
	}
	
	.top-page-teller-container {
		.inner {
			.purple-bg-box {
				.divide-box {
					.left-box {
						.btn-divide-box {
							width:100%;
							
							.left-btn-box,
							.right-btn-box {
								width:50%;
								
								.btn-inner {
									.display-parallel {
										p {
											padding-left:0;
											font-size:1.1rem;
										}
									}
								}
							}
						}
					}
					
					.right-box {
						width:80%;
					}
				}
			}
		}
	}
	
	.page-top-container {
		.divide-box {
			.left-box {
				img {
					width:10em;
				}
			}
		}
	}
	
	.price-container {
		.caution-box {
			width:95%;
		}
		
		.price-table-box {
			.price-val {
				padding-top:4rem;
				
				.inner {
					.title {
						font-size:1.5rem;
						
						.l-size {
							font-size:2.3rem;
							padding-left:0.3em;
						}
					}
				}
			}
		}
	}
	
	.blog-all-container {
		.post-list {
			width:95%;
		}
	}
	
	.form-box {
		.divide-cont {
			display:block;
			
			.left-cont,
			.right-cont {
				display:block;
				width:100%;
			}
			
			.left-cont {
				margin-bottom:0.3em;
			}
		}
	}
	
	.banner {
		.divide-box {
			.left-box,
			.right-box {
				width:12em;
			}
		}
	}
	
	.post-content-container {
		.inner-box {
			width:95%;
			padding:3rem 1.5rem;
		}
	}
	
	.header-part-box {
        .inner {
            padding:3rem 0;
        }
    }
	
	.footer-breadcrumb-box {
		.inner {
			width:100%;
		}
	}
}

@media only screen and (max-width: 449px) {
	
	.page-top-container {
		.divide-box {
			width:100%;
			
			.right-box {
				ul {
					li {
						padding:1rem 0.3rem;
					}
				}
			}
		}
	}
	
	.contact-container {
		.tel-contact {
			width:100%;
			
			.inner {
				.inline-box {
					text-align:center;
				}
			}
		}
		
		.content-part-box {
			width:95%;
		}
	}
	
}

@media only screen and (max-width: 399px) {
	
	.top-page-view-container {
		.ab-top-two {
			top:45%;
		}
	}
	
	.top-page-access-container {
        .white-bg {
            .list-box {
                .list-val:last-child {
					width:60%;
				}
			}
		}
	}
	
	.top-page-news-container {
		.inner {
			.news-lists-box {
				padding:1.5rem 1rem;
			}
		}
	}
	
}

@media only screen and (min-width: 550px) {
	
	.sp-view-550 {
		display:none !important;
	}
	
}

@media only screen and (min-width: 700px) {
	
	.sp-view-700 {
		display:none !important;
	}

}

@supports (-webkit-touch-callout: none) {
	/* iPhone・iPad・iOSブラウザ専用CSS */
	.ab-top-two {
		h2 {
			padding-left:3rem !important;
		}
	}
}


