@charset "UTF-8";
/* base
==================================*/
h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
blockquote,
ul,
li,
ol,
dl,
dd,
tr {
  font-size: 16px;
  line-height: 1.45;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1;
}

a {
  color: #1E1521;
  text-decoration: none;
  transition: 0.3s;
}

.op {
	transition: 0.3s opacity ease;
}
@media (min-width: 960px) {
	a:hover {
		text-decoration: none;
	}

	a.tel {
		pointer-events: none;
		cursor: default;
	}
  
	.op:hover {
		opacity: .7;
		transition: 0.3s opacity ease;
	}
}

.is-hide {
	display: none;
}

@media (min-width: 801px) {
  .sp {
    display: none !important;
  }
}

@media (max-width: 800px) {
  .pc {
    display: none !important;
  }
}

#AllBox {
	word-break: break-all;
}

/* main
==================================*/
main {
  display: block; /*IE対策*/
  overflow: hidden;
}

/*　Retina対応時のCSS↓　*/
/* header
==================================*/
header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	/* background: #fff; */
	width: 100%;
	height: 93px;
	padding: 0 55px;
	transition: background .2s ease-in-out;
}

header.scroll {
	background: #fdf4fc;
	transition: background .2s ease-in-out;
}

.header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 100%;
}

.header_inner .logo {
	width: 270px;
	margin-right: 10px;
}

.header_inner .logo.white {
	display: none;
}

.header_inner .logo img {
	width: 100%;
}
.header_inner .logo.purple{
  transition: opacity .3s ;
  opacity: 1;
}

.header_links {
	width: calc(100% - 280px);
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.header_user {
	width: 76px;
	height: 76px;
	border-radius: 100%;
	background: url('../images/common/user_bg.svg') no-repeat;
	background-size: 100% 100%;
	position: relative;
	transition: background .5s ease;
}


.header_user a {
	font-size: 10px;
	font-weight: 500;
	color: #fff;
	display: flex;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding-top: 44px;
	position: relative;
}

.header_user a::before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 22px;
	z-index: 2;
	width: 15px;
	height: 18px;
	background: url('../images/common/icon_user.svg') center center no-repeat;
	background-size: 100% 100%;
}

#menu-toggle {
	display: none;
}

#g_navi {
	width: calc(100% - 104px);
	
	margin-right: 30px;
}

.g_navi_ul {
	display: flex;
	justify-content: flex-end;
}

.g_navi_ul li+li {
	margin-left: 34px;
}

.g_navi_ul li a {
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #1e1521;
	display: block;
	position: relative;
}

.g_navi_ul li a::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%,0);
	z-index: 3;
	width: 17px;
	height: 16px;
	background: url('../images/common/icon_navi.svg') no-repeat;
	background-size: cover;
	opacity: 0;
	transition: transform .3s ease,opacity 0.2s ease;
}

#g_navi .navi_links {
	display: none;
}

@media (min-width: 960px) {
	.header_user:hover {
		background: url('../images/common/user_bg_hover.svg') no-repeat;
		background-size: 100% 100%;
		transition: background .5s ease;
	}
	
	.g_navi_ul li a:hover {
		overflow: visible;
	}
	
	.g_navi_ul li a.here::before,
	.g_navi_ul li a:hover::before {
		transform: translate(-50%,-20px);
		opacity: 1;
		transition: transform .3s ease,opacity 0.3s ease;
	}
}

@media (max-width: 1280px) {
	.header_inner .logo {
	    width: 260px;
	}
	
	.header_links {
	    width: calc(100% - 270px);
	}
}

@media (max-width: 1270px) {
	.header_inner .logo {
	    width: 240px;
	}
	
	.header_links {
	    width: calc(100% - 250px);
	}
}

@media (max-width: 1250px) {
	.g_navi_ul li+li {
	    margin-left: 20px;
	}
}

@media (max-width: 1185px) {
	.header_inner .logo {
	    width: 200px;
	}
	
	.header_links {
	    width: calc(100% - 210px);
	}
	
	#g_navi {
	    width: calc(100% - 90px);
	    margin-right: 20px;
	}
	
	.header_user {
	    width: 70px;
	    height: 70px;
	}
}

@media (max-width: 1126px) {
	header {
		padding: 0 30px;
	}
	
	.g_navi_ul li a {
		font-size: 14px;
	}
}

@media (max-width: 1002px) {
	.header_inner .logo {
	    width: 180px;
	}
	
	.header_links {
	    width: calc(100% - 190px);
	}
	
	header {
		padding: 0 20px;
	}
}

@media (max-width: 960px) {
	.header_inner .logo {
	    width: 160px;
	}
	
	.header_links {
	    width: calc(100% - 170px);
	}
	
	.g_navi_ul li+li {
		margin-left: 15px;
	}
	
}

@media (max-width: 920px) {
	.g_navi_ul li a {
		font-size: 12px;
	}
}

@media (max-width: 840px) {
	header {
		padding: 0 15px;
	}
	
	.g_navi_ul li+li {
		margin-left: 10px;
	}
}

@media (max-width: 815px) {
    #g_navi {
        margin-right: 15px;
    }
	
	.g_navi_ul li+li {
		margin-left: 7px;
	}
}

@media (max-width: 800px) {
	header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 999;
		/* background: #fff; */
		width: 100%;
		height: 78px;
		padding: 0;
	}
	
	.header_inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: 100%;
	}
	
	.header_inner .logo {
		width: 194px;
		margin-right: 10px;
		position: fixed;
		left: 19px;
		top: 27px;
		z-index: 1000;
	}
	
	/* .header_inner .logo.purple {
		transition: opacity .3s ; 
	} */
	
	.header_inner .logo.white {
		display: block;
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s ease-in-out  .2s; 
	}
	
	header.open .header_inner .logo.white {
		opacity: 1;
		pointer-events: initial;
		transition: opacity .3s ease-in-out; 
	}
	
	header.open .header_inner .logo.purple {
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s ease-in-out; 
	}
	
	
	.header_links {
		width: calc(100% - 204px);
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
	
	.header_user {
		position: fixed;
		right: 70px;
		top: 12px;
		z-index: 1000;
		width: 55px;
		height: 55px;
		border-radius: 100%;
		background: url('../images/common/user_bg.svg') no-repeat;
		background-size: 100% 100%;
	}
	
	.header_user a {
		font-size: 9px;
		font-weight: 500;
		letter-spacing: -0.06em;
		width: 100%;
		height: 100%;
		padding-top: 34px;
	}
	
	.header_user a::before {
		top: 16.5px;
		z-index: 2;
		width: 12px;
		height: 14px;
	}
	
	#menu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		position: fixed;
		right: 10px;
		top: 12px;
		z-index: 1000;
		width: 55px;
		height: 55px;
		border-radius: 100%;
		background: url('../images/common/menu_bg.svg') no-repeat;
		background-size: 100% 100%;
	}
	
	#menu-toggle .line {
		width: 100%;
		height: 100%;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		padding-bottom: 3px;
		/* width: 30px;
		height: 20px; */
	}
	
	#menu-toggle .line span {
		width: 3px;
		height: 3px;
		border-radius: 100%;
		background: #fff;
		transition: .3s ease;
	}
	
	#menu-toggle .line span+span {
		margin-left: 3px;
	}
	
	#menu-toggle .line.show span {
		width: 18px;
		height: 1.5px;
		border-radius: 18px;
		transition: .3s ease;
	}
	
	#menu-toggle .line.show span:first-child {
		transform: translate(19px, -3px) rotate(-30deg);
	}
	
	#menu-toggle .line.show span:nth-child(2) {
		opacity: 0;
	}
	
	#menu-toggle .line.show span:last-child {
		transform: translate(-19px, -3px) rotate(30deg);
	}
	
	/* #menu-toggle .line::before {
		content: '';
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 24px;
		z-index: 2;
		width: 15px;
		height: 3px;
		background: url('../images/common/menu_open.svg') no-repeat;
		background-size: cover;
		transition: all .3s ease;
	}
	
	#menu-toggle .line.show::before {
		top: 20px;
		z-index: 2;
		width: 13.5px;
		height: 8px;
		background: url('../images/common/menu_close.svg') no-repeat;
		background-size: cover;
		transition: all .3s ease;
	}
	 */
	#menu-toggle .line::after {
		content: 'メニュー';
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 34px;
		z-index: 2;
		font-size: 9px;
		font-weight: 500;
		color: #fff;
		width: 100%;
		text-align: center;
		transition: all .3s ease;
		letter-spacing: -0.06em;
	}
	
	#menu-toggle .line.show::after {
		content: '閉じる';
		transition: all .3s ease;
	}
	
	
	#g_navi {
		width: 100%;
		margin-right: 0;
		padding: 76px 0 37.5px;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 900;
		height: 100vh;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		background: #44365a;
		display: none;
	}
	
	.g_navi_inner {
		height: 100%;
		overflow-y: auto;
		overflow-x: hidden;
		padding: 0 35px;
	}
	
	.g_navi_ul {
		display: block;
	}
	
	.g_navi_ul li+li {
		margin-left: 0;
	}
	
	.g_navi_ul li a {
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 0;
		color: #f0f0f0;
		padding: 26px 0 15px;
		text-align: center;
	}
	
	.g_navi_ul li a::before {
		content: '';
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: auto;
		bottom: 0;
		z-index: 3;
		width: 100%;
		height: 13px;
		background: url('../images/common/navi_border.svg') no-repeat center;
		background-size: 100%;
		opacity: 1;
	}
	
	#g_navi .navi_links {
		display: block;
		margin-top: 32px;
	}
	
	#g_navi .navi_links .youtube_links {
		margin-bottom: 30px;
	}
	
	#g_navi .navi_links .youtube_links a {
		display: block;
	}
	
	#g_navi .navi_links .youtube_links a+a {
		margin-top: 14px;
	}
	
	#g_navi .navi_links .navi_links_ul {
		display: flex;
		margin-left: -10px;
	}

	#g_navi .navi_links .navi_links_ul a {
		font-size: 12px;
		line-height: 1.75;
		letter-spacing: 0;
		padding: 0 10px;
		color: #f0f0f0;
	}
	
	#g_navi .navi_links .navi_links_ul li+li a {
		border-left:  1px solid #fdf4fc;
	}
}

/* footer
==================================*/
footer {
	overflow: hidden;
}
.footer_inner {
	background: url('../images/common/footer_bg.webp') no-repeat;
	background-size: cover;
	position: relative;
	z-index: 5;
}

#pageTop {
	position: absolute;
	right: -2px;
	bottom: 33px;
	z-index: 10;
	width: 93px;
	height: 116px;
}

#pageTop a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

#pageTop a::before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 10;
	width: 93px;
	height: 93px;
	background: url('../images/common/footer_cat.svg') center no-repeat;
	background-size: cover;
	transition: opacity .3s ease;
}


.footer_inner .container {
    max-width: 1386px;
	padding-left: 93px;
	padding-right: 93px;
}

.footer_section {
	padding: 100px 0 30px;
}

.footer_links {
	display: flex;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto 54px;
}

.footer_links a {
	display: block;
	width: 50%;
}

.footer_links a+a {
	margin-left: 20px;
}

.footer_links a img {
	width: 100%;
}

.footer_box {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.footer_info dt,
.footer_info dt a,
.footer_info dd {
	font-size: 12px;
	line-height: 2.08;
	font-weight: 500;
	color: #fdf4fc;
}

.footer_info dt span {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.42;
}

.footer_box nav {
	display: flex;
	margin-right: -10px;
}

.footer_box nav ul {
	display: flex;
}

.footer_box nav a {
	font-size: 12px;
	letter-spacing: 0.15em;
	line-height: 1;
	color: #fdf4fc;
	padding: 0 10px;
}

.footer_box nav li+li a {
	border-left: 1px solid #fdf4fc;
}

.footer_box nav ul+ul li:first-child a {
	border-left: 1px solid #fdf4fc;
}

.copy {
	background: #663f8c;
	text-align: center;
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #fff;
	padding: 13px;
}

@media (min-width: 960px){
	#pageTop a:hover::before {
		opacity: 0;
		transition: opacity .3s ease;
	}
	
	
	#pageTop a::after {
		content: '';
		position: absolute;
		right: 2.1px;
		bottom: 0;
		margin-bottom: -7.5px;
		z-index: 10;
		width: 80px;
		height: 115px;
		background: url('../images/common/footer_cat02.svg') center no-repeat;
		background-size: cover;
		transform: translateY(-100%);
		opacity: 0;
		transition: opacity .3s ease;
	}
	
	
	#pageTop a:hover::after {
		opacity: 1;
		transition: opacity .3s ease;
	}
	
}

@media (max-width: 1094px) {
	.footer_box nav {
		display: block;
		margin-right: 0;
	}
	
	.footer_box nav ul+ul li:first-child a {
		border-left: none;
	}
}

@media (max-width: 900px) {
	.footer_inner .container {
		padding-left: 45px;
		padding-right: 45px;
	}
}

@media (max-width: 800px) {
	.footer_inner::after {
		transform: scale(0.78);
		transform-origin: right bottom;
	}
	
	.footer_inner .container {
		padding-left: 20px;
		padding-right: 20px;
	}
	
	
	.footer_section {
		padding: 50px 0 42px;
	}
	
	.footer_links {
		display: block;
		margin: 0 auto 70px;
	}
	
	.footer_links a {
		width: 100%;
	}
	
	.footer_links a+a {
		margin-left: 0;
		margin-top: 10px;
	}
	
	.footer_links a img {
		width: 100%;
	}
	
	.footer_box {
		display: block;
	}
	
	.footer_info dt,
	.footer_info dt a {
		line-height: 1.5;
		font-size: 15px;
	}
	
	.footer_info dd {
		font-weight: 500;
		font-size: 12px;
		line-height: 2.08;
	}
	
	.footer_info dt span {
		line-height: 1.5;
		font-size: 15px;
	}
	
	.footer_box nav {
		margin-top: 35px;
		margin-right: 0;
		margin-left: -10px;
		display: block;
	}
	
	.footer_box nav ul {
		display: flex;
		flex-wrap: wrap;
	}
	
	.footer_box nav a {
		font-size: 12px;
		letter-spacing: 0;
	}
	
	.footer_box nav li a {
		border-left: none;
		position: relative;
		display: inline-block;
	}
	
	.footer_box nav li a::before {
		content: '';
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 1px;
		height: 13px;
		background: #fdf4fc;
	}
	
	.footer_box nav li:last-child a::before {
		content: unset;
	}
	
	.footer_box nav li+li a {
		border-left: none;
	}
	
	.copy {
		font-size: 10px;
		letter-spacing: 0;
	}
	
}

/* loader
==================================*/
#loader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  z-index: 1001;
}

/* Animation
==================================*/
.c-anim-up {
  transform: translate(0, 30px);
  opacity: 0;
  transition: 0.3s ease;
}

.move {
  transform: translate(0, 0);
  opacity: 1;
}

.delay1 {
  -moz-transition-delay: 300ms;
  -webkit-transition-delay: 300ms;
  -o-transition-delay: 300ms;
  -ms-transition-delay: 300ms;
}

.delay2 {
  -moz-transition-delay: 600ms;
  -webkit-transition-delay: 600ms;
  -o-transition-delay: 600ms;
  -ms-transition-delay: 600ms;
}

.delay3 {
  -moz-transition-delay: 900ms;
  -webkit-transition-delay: 900ms;
  -o-transition-delay: 900ms;
  -ms-transition-delay: 900ms;
}

.delay4 {
  -moz-transition-delay: 1200ms;
  -webkit-transition-delay: 1200ms;
  -o-transition-delay: 1200ms;
  -ms-transition-delay: 1200ms;
}

.delay5 {
  -moz-transition-delay: 1500ms;
  -webkit-transition-delay: 1500ms;
  -o-transition-delay: 1500ms;
  -ms-transition-delay: 1500ms;
}

.delay6 {
  -moz-transition-delay: 1800ms;
  -webkit-transition-delay: 1800ms;
  -o-transition-delay: 1800ms;
  -ms-transition-delay: 1800ms;
}

.delay7 {
  -moz-transition-delay: 2100ms;
  -webkit-transition-delay: 2100ms;
  -o-transition-delay: 2100ms;
  -ms-transition-delay: 2100ms;
}

/*==================================
  Component
==================================*/
html {
  overflow: auto;
  font-size: 62.5%;
}

html.no_move {
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

img[src$=".png"], img[src$=".jpg"] {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.container {
  max-width: 1300px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 50px;
  padding-right: 50px;
  box-sizing: border-box;
}

@media (max-width: 1118px) {
	.container  {
		padding: 0 30px;
	}
	
}

@media (max-width: 1002px) {
	.container  {
		padding: 0 20px;
	}
}

@media (max-width: 800px) {
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
}
.row .col {
  position: relative;
  width: 100%;
  min-height: 1px;
  box-sizing: border-box;
}
.row .col.col_4 {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
}

/*==================================
	リスト系
==================================*/

/*==================================
	ページナビ
==================================*/
.page_navigation .wp-pagenavi {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 100px 0 150px;
	font-family: "Cinzel", system-ui;
	position: relative;
	z-index: 10;
}

.page_navigation .wp-pagenavi .page-numbers,
.page_navigation .wp-pagenavi .current {
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1;
	color: #1E1521;
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: 0 10px;
	position: relative;
}

.page_navigation .wp-pagenavi .page-numbers::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: calc(100% - 5px);
	width: 0;
	height: 100%;
	border-top: 1px solid #B5AFBC;
	border-bottom: 1px solid #B5AFBC;
	transition: width .3s ease;
	transform-origin: center;
}

.page_navigation .wp-pagenavi .page-numbers::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	width: 0;
	height: calc(100% - 5px);
	border-top: 2px solid #7C6F8C;
	border-bottom: 2px solid #7C6F8C;
	transition: width .3s ease;
	transform-origin: center;
}

.page_navigation .wp-pagenavi .page-numbers.dots {
	width: 20px;
	vertical-align: super;
}

.page_navigation .wp-pagenavi .page-numbers.dots {
	pointer-events: none;
}

.page_navigation .wp-pagenavi .page-numbers.dots,
.page_navigation .wp-pagenavi .page-numbers.prev,
.page_navigation .wp-pagenavi .page-numbers.next{
	border: none;
}

.page_navigation .wp-pagenavi .current+.page-numbers {
	color: #7C6F8C;
}

.page_navigation .wp-pagenavi .page-numbers.current::before {
	width: calc(100% - 5px);
}

.page_navigation .wp-pagenavi .page-numbers.current::after {
	width: 100%;
}
	
.page_navigation .wp-pagenavi .next,
.page_navigation .wp-pagenavi .prev {
	position: relative;
	font-weight: 500;
	box-sizing: border-box;
	text-indent: -999rem;
	
}

.page_navigation .wp-pagenavi .next::before,
.page_navigation .wp-pagenavi .prev::before {
	content: unset;
}

.page_navigation .wp-pagenavi .next::after,
.page_navigation .wp-pagenavi .prev::after {
	content: unset;
}

.page_navigation .wp-pagenavi .prev {
	background: url('../images/common/icon_arrow_prev.svg') no-repeat center;
	background-size: 44px 18px;
}

.page_navigation .wp-pagenavi .next {
	background: url('../images/common/icon_arrow_next.svg') no-repeat center;
	background-size: 44px 18px;
}

@media (min-width: 960px) {
	.page_navigation .wp-pagenavi .page-numbers.current {
		color: #1E1521;
	}
	
	.page_navigation .wp-pagenavi .page-numbers:hover::before {
		width: calc(100% - 5px);
		transition: width .3s ease;
		transform-origin: center;
	}
	
	.page_navigation .wp-pagenavi .page-numbers:hover::after {
		width: 100%;
		transition: width .3s ease;
		transform-origin: center;
	}
	
	.page_navigation .wp-pagenavi .page-numbers.next:hover,
	.page_navigation .wp-pagenavi .page-numbers.prev:hover {
		background-color: transparent;
		border: none;
		transform: translateX(-5px);
	}
	
	.page_navigation .wp-pagenavi .page-numbers.next:hover {
		transform: translateX(5px);
	}

}

@media (max-width: 800px) {
	.page_navigation .wp-pagenavi {
		padding: 50px 0 45px;
	}
	
	.page_navigation .wp-pagenavi .nav-links {
		display: flex;
	}
	
	.page_navigation .wp-pagenavi .page-numbers,
	.page_navigation .wp-pagenavi .current {
		font-size: 23px;
		letter-spacing: 0.08em;
		line-height: 1;
		width: 27px;
		height: 27px;
		margin: 0 6px;
	}
	
	.page_navigation .wp-pagenavi .page-numbers::before {
		content: unset;
	}
	
	.page_navigation .wp-pagenavi .page-numbers::after {
		content: unset;
	}
	
	.page_navigation .wp-pagenavi .page-numbers.dots {
		width: 19px;
		margin: 0 3px;
	}
	
	.page_navigation .wp-pagenavi .prev,
	.page_navigation .wp-pagenavi .next {
		width: 33px;
	}
	
	.page_navigation .wp-pagenavi .prev {
		left: -7px;
	}
	
	.page_navigation .wp-pagenavi .next {
		right: -7px;
	}
	
	.page_navigation .wp-pagenavi .prev {
		background: url('../images/common/icon_arrow_prev.svg') no-repeat center;
		background-size: 33px 14px;
	}
	
	.page_navigation .wp-pagenavi .next {
		background: url('../images/common/icon_arrow_next.svg') no-repeat center;
		background-size: 33px 14px;
	}
  
}

/*==================================
	pager_wrap
==================================*/
.pager_wrap {
	padding: 100px 0 118px;
	max-width: 390px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 20;
}

.pager_wrap ul {
  position: relative;
}

.pager_wrap ul .list a {
	max-width: 162px;
	width: 100%;
	height: 33px;
	line-height: 1;
	font-size: 16px;
	color: #44365a;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	position: relative;
	padding-bottom: 15px;
	transition: color .5s ease;
}

.pager_wrap ul .list a::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 3px;
	z-index: 1;
	width: 100%;
	height: 1px;
	background: #663f8c;
	transition: background .5s ease;
}

.pager_wrap ul .list a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	width: 100%;
	height: 2px;
	background: #663f8c;
	transition: background .5s ease;
}

.pager_wrap ul .prev, 
.pager_wrap ul .next {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 44px;
  height: 33px;
}

.pager_wrap ul .prev {
  left: 0;
}

.pager_wrap ul .next {
  right: 0;
}


.pager_wrap ul .prev a, 
.pager_wrap ul .next a {
	display: block;
	width: 100%;
	height: 100%;
	transition: transform .5s ease;
}

.pager_wrap ul .prev a {
	background: url('../images/common/icon_arrow_prev.svg') no-repeat center;
	background-size: 44px 18px;
}

.pager_wrap ul .next a {
	background: url('../images/common/icon_arrow_next.svg') no-repeat center;
	background-size: 44px 18px;
}

@media (min-width: 960px) {
	.pager_wrap ul .list a:hover {
		color: #8a57ba;
		transition: color .5s ease;
	}
	
	.pager_wrap ul .list a:hover::before {
		background: #8a57ba;
		transition: background .5s ease;
	}
	
	.pager_wrap ul .list a:hover::after {
		background: #8a57ba;
		transition: background .5s ease;
	}
	
	.pager_wrap .prev a:hover  {
		transform: translateX(-5px);
		transition: transform .5s ease;
	}
	
	.pager_wrap .next a:hover  {
		transform: translateX(5px);
		transition: transform .5s ease;
	}
}

@media (max-width: 800px) {
	.pager_wrap {
		padding: 50px 0 50px;
		max-width: 323px;
	}
	
	.pager_wrap ul .list a {
		height: 40px;
		padding-bottom: 17px;
	}
	
	.pager_wrap ul .list a::before {
		bottom: 4px;
	}
	
	.pager_wrap ul .prev, 
	.pager_wrap ul .next {
	  width: 35px;
	  height: 40px;
	}
	
	.pager_wrap ul .prev {
	  left: 0;
	}
	
	.pager_wrap ul .next {
	  right: 0;
	}
	
	.pager_wrap ul .prev a {
		background: url('../images/common/icon_arrow_prev.svg') no-repeat center;
		background-size: 33px 14px;
	}
	
	.pager_wrap ul .next a {
		background: url('../images/common/icon_arrow_next.svg') no-repeat center;
		background-size: 33px 14px;
	}
}

/*==================================
  Contact_reset
==================================*/
main#Contact {
  /*------ Reset CSS ------*/
  /*------ Reset END ------*/
}
form input {
  -webkit-appearance: none;
}
form input[type=text],
form input[type=password],
form input[type=email],
form input[type=tel],
form input[type=number] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  width: 100%;
  font-weight: 500;
}

/* main#Contact input[type=radio] {
  opacity: 0;
  margin: 0;
  width: 0;
  height: 0;
  font-size: 0;
  line-height: 1;
}
main#Contact input[type=radio]:checked + label {
  background: #ff0000;
} */
form input[type=checkbox] {
  opacity: 0;
  margin: 0;
  width: 0;
  height: 0;
  font-size: 0;
  line-height: 1;
}
/* main#Contact input[type=checkbox]:checked + label {
  background: #ff0000;
} */
form input::-moz-placeholder {
  color: #b7b7b7;
}

form input::placeholder {
  color: #b7b7b7;
}

form input:-ms-input-placeholder {
  color: #b7b7b7;
}

form input::-webkit-input-placeholder {
  color: #b7b7b7;
}

form button,
form input[type=button],
form input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  font-weight: 500;
}
form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  border-radius: 0;
  font-weight: 500;
}
form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
  border-radius: 0;
}

form .alert {
  color: #d02020;
  font-size: 16px;
}

/*==================================
  Contact_base
==================================*/
/* input, textarea
--------------------------------*/
/* radio_button
--------------------------------*/
main#Contact {
  /*------ Form Base ------*/
  /*------ Form Base END ------*/
}
@-webkit-keyframes onAutoFillStart {}
@keyframes onAutoFillStart {}
span.error {
  color: #d02020;
  display: block;
  margin: 7px 0;
}

/* main#Contact input:-webkit-autofill {} */
input[type=text]:-webkit-autofill ,
input[type=email]:-webkit-autofill ,
input[type=tel]:-webkit-autofill ,
input[type=search]:-webkit-autofill ,
input[type=url]:-webkit-autofill ,
input[type=password]:-webkit-autofill ,
textarea:-webkit-autofill,
input[type=text]:autofill ,
input[type=email]:autofill ,
input[type=tel]:autofill ,
input[type=search]:autofill ,
input[type=url]:autofill ,
input[type=password]:autofill ,
textarea:autofill {
  -webkit-animation-name: onAutoFillStart;
          animation-name: onAutoFillStart;
  background: rgb(255, 255, 255) !important;
  -webkit-transition: background-color 50000s ease-in-out 0s;
  transition: background-color 50000s ease-in-out 0s;
}
main#Contact input[type=text]:focus,
main#Contact input[type=email]:focus,
main#Contact input[type=tel]:focus,
main#Contact input[type=search]:focus,
main#Contact input[type=url]:focus,
main#Contact input[type=password]:focus,
main#Contact textarea:focus {
  color: #1E1521;;
  /* background-color: #fcfcff; */
}
main#Contact .ERR {
  color: #d02020;
}
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number] {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.03em;
  padding: 12px 21px;
  border: 1px solid #d6d2f3;
  background: #fcfcff;
  box-sizing: border-box;
  color: #1E1521;;
  width: 100%;
  font-weight: 500;
}

main#Contact .zip-wrap input {
  padding: 12px 21px 12px 55px;
  width: 100%;
}

/* main#Contact input[type=button] {
  font-size: 16px;
  line-height: 1.625;
  letter-spacing: 0.03em;
  font-weight: 500;
  color: #1E1521;;
  max-width: 140px;
  width: 100%;
  background: #fcfcff;
  border: 1px solid #d6d2f3;
  padding: 10px 19px;
  box-sizing: border-box;
  transition: all 0.3s ease;
  cursor: pointer;
}

main#Contact input[type=button]:hover {
  background: none;
} */

main#Contact input[type=checkbox] + label {
	padding-left: 34px;
	position: relative;
	margin-right: 16px;
	font-weight: 500;
	cursor: pointer;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 1;
	font-weight: 500;
}

main#Contact input[type=checkbox] + label::before {
    content: "";
    display: block;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: 0;
    z-index: 1;
    width: 25px;
    height: 25px;
    background: url(../images/common/icon_check_bg.svg) no-repeat;
    background-size: 25px 25px;
}

main#Contact input[type=checkbox] + label::after {
    content: "";
    opacity: 0;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 25px;
    height: 25px;
    background: url(../images/common/icon_check.svg) no-repeat;
    background-size: 25px 25px;
}

main#Contact input[type=checkbox]:checked + label {
  background: none;
}
main#Contact input[type=checkbox]:checked + label::after {
  opacity: 1;
}

main#Contact input[type=radio] + label {
  padding-left: 27px;
  position: relative;
  margin-right: 27px;
  cursor: pointer;
}
main#Contact input[type=radio] + label::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 17px;
  height: 17px;
  border: 1px solid #d6d2f3;
  background: #fcfcff;
  box-sizing: border-box;
  border-radius: 50%;
}
main#Contact input[type=radio] + label::after {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 9px;
  height: 9px;
  background: #000;
  border-radius: 50%;
  opacity: 0;
}
main#Contact input[type=radio]:checked + label {
  background: none;
}
main#Contact input[type=radio]:checked + label::after {
  opacity: 1;
}
main#Contact .select-box {
  overflow: hidden;
  width: 60%;
  text-align: center;
  position: relative;
  border-radius: 2px;
  background: #fcfcff;
}
main#Contact .select-box select {
  font-size: 16px;
  color: #1E1521;;
  letter-spacing: 0.035em;
  width: 100%;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  padding: 12px 38px 12px 21px;
}
main#Contact .select-box select::-ms-expand {
  display: none;
}

main#Contact .select-box::before {
  position: absolute;
  top: 1.25em;
  right: 21px;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #000;
  pointer-events: none;
}
main#Contact textarea {
  font-size: 16px;
  line-height: 1.45;
  letter-spacing: 0.08em;
  border: 1px solid #d6d2f3;
  background: #fcfcff;
  box-sizing: border-box;
  width: 100%;
  padding: 25px 30px;
  min-height: 190px;
  border-radius: 5px;
  font-weight: 500;
}


/* main#Contact .submit_area span {
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0.13em;
  color: #1E1521;;
  width: 262px;
  background: #fcfcff;
  box-sizing: border-box;
  font-feature-settings: "palt";
  position: relative;
  display: inline-block;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #d6d2f3;
  transition: all 0.3s ease;
} */

main#Contact .submit_area span input[type=submit] {
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0.13em;
  color: #1E1521;;
  cursor: pointer;
  width: 100%;
  height: 58px;
  box-sizing: border-box;
}
main#Contact .submit_area span:hover {
  background: none;
}
main#Contact .submit_area span:hover input[type=submit] {
  color: #1E1521;;
}
main#Contact .submit_area ul.koumoku {
  max-width: 650px;
  margin: 20px auto 0;
}
main#Contact .submit_area ul.koumoku li {
  font-size: 17px;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #1E1521;
  width: 315px;
  /* background: #5f4b08; */
  box-sizing: border-box;
  font-feature-settings: "palt";
  position: relative;
  display: inline-block;
  text-align: center;
  box-sizing: border-box;
  /* border: 3px solid #5f4b08; */
  /* transition: all 0.3s ease; */
}
main#Contact .submit_area ul.koumoku li input[type=submit] {
  font-size: 17px;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #1E1521;
  cursor: pointer;
  width: 100%;
  height: 62px;
  box-sizing: border-box;
}
main#Contact .submit_area ul.koumoku li:hover {
  background: none;
}
main#Contact .submit_area ul.koumoku li:hover input[type=submit] {
  color: #1E1521;;
}
main#Contact .submit_area ul.koumoku li:hover svg path {
  fill: #000;
}
main#Contact .btn_back {
  text-align: center;
}
main#Contact .btn_back input {
  font-size: 17px;
  line-height: 1;
  /* letter-spacing: 0.13em; */
  color: #fff;
  /* width: 262px; */
  background: #fcfcff;
  box-sizing: border-box;
  font-feature-settings: "palt";
  position: relative;
  display: inline-block;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #d6d2f3;
  /* transition: all 0.3s ease; */
  /* height: 80px; */
  padding: 15px 15px 14px;
}
main#Contact .contact_back {
  margin-top: 30px;
  text-align: center;
}

main#Contact .contact_back a {
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0.13em;
  box-sizing: border-box;
  font-feature-settings: "palt";
  position: relative;
  display: inline-block;
  text-align: center;
  box-sizing: border-box;
}

/*==================================
  Contact
==================================*/
main#Contact .contents {
	padding-bottom: 100px;
	position: relative;
}

main#Contact .contents::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: -16px;
    z-index: 2;
    width: 474px;
    height: 421px;
    background: url(../images/news/flower.svg) no-repeat;
    background-size: cover;
}

main#Contact .form-sec {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 3;
}

main#Contact form {
	margin-top: 53px;
}

.agree_area {
  margin: 50px 0 0;
  text-align: center;
}
.agree_area .accept a{
  color: #481C67;
  text-decoration: underline;
}
.agree_area .accept a:hover{
  text-decoration: none;
}

form .need {
  color: #d02020;
  font-size: 14px;
  letter-spacing: 0.08em;
  display: inline-block;
  margin-left: 6px;
}

main#Contact table {
  display: block;
}

main#Contact table tbody {
  display: block;
}

main#Contact table tr {
	display: flex;
	width: 100%;
	position: relative;
	z-index: 2;
	/* padding: 25px 0; */
}

main#Contact table tr::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	border: 1px solid #d6d2f3;
	background: #fcfcff;
	border-radius: 5px;
}

main#Contact table tr+tr {
	margin-top: 22px;
}

main#Contact table tr th {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.08em;
  font-weight: 500;
  display: block;
  text-align: left;
  width: 213px;
  padding: 25px 0 25px 20px;
  position: relative;
}

main#Contact table tr th::before {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 1px;
	height: calc(100% - 50px);
	background: #d6d2f3;
}

main#Contact table tr td {
  display: block;
  width: calc(100% - 213px);
  padding: 0 30px;
}

main#Contact input[type=text],
main#Contact textarea {
	border: none;
	background: transparent;
	padding: 25px 0;
}

/* main#Contact table tr.address {
	margin-bottom: 138px;
} */

main#Contact table tr.address td {
	position: relative;
	padding: 0 30px 0 0;
}

main#Contact table tr.address::before {
	height: 80px;
	background: #fcfcff;
}

main#Contact table tr.address td .address_info {
	/* position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 80px;
	border: 1px solid #d6d2f3;
	background: #fcfcff;
	border-radius: 5px;
	padding: 0 25px;
	transform: translateY(100%);
	margin-top: 12px; */
	display: block;
	width: calc(100% + 30px);
}

main#Contact table tr.address th::before {
    top: 40px;
}

main#Contact table tr.address td .address_info input {
	width: 100%;
	height: 80px;
	margin-top: 12px;
	border: 1px solid #d6d2f3;
	background: #fcfcff;
	border-radius: 5px;
	padding: 0 25px;
}

main#Contact table tr.address th::before {
    height: 30px;
}

main#Contact input[type=text].zip {
	width: 100%;
	padding: 25px 30px;
}

main#Contact .zip-wrap {
  display: inline-block;
  width: 100%;
  position: relative;
  padding-left: 30px;
}

main#Contact .zip-wrap::before {
  content: "〒";
  font-size: 16px;
  position: absolute;
  top: 28px;
  left: 30px;
  margin: auto;
  color: #2d2430;
}

.checkAgree a {
	background: linear-gradient(#1e1521, #1e1521) 0 100%/0 1px no-repeat;
	background-size: 100% 1px;
	padding-bottom: 2px;
	transition: background-size .3s ease;
}

.submit_area {
  margin-top: 60px;
  text-align: center;
}


.button_area_inner {
	font-size: 17px;
	line-height: 1;
	letter-spacing: 0.08em;
	font-weight: 500;
	color: #fff;
}
main#Contact .form_wrap > p {
  margin-top: 0 !important;
  font-size: 18px;
  line-height: 1.45;
  letter-spacing: 0.08em;
  font-weight: 500;
}

main#Contact.sfm2 td p {
  overflow-wrap: break-word;
}

main#Contact.sfm2 table tr td {
	padding: 25px 30px;
}

main#Contact .submit_area ul.koumoku li {
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0.13em;
    box-sizing: border-box;
    font-feature-settings: "palt";
    position: relative;
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
    /* transition: all 0.3s ease; */
}


main#Contact .submit_area .button_area {
	/* position: absolute; */
	left: 0;
	top: 0;
	width: 100%;
}

main#Contact .btn_back input {
	position: absolute;
}

@media (min-width: 960px) {
	.checkAgree a:hover {
		background-size: 0 1px;
		transition: background-size .3s ease;
	}
}

@media (max-width: 800px) {
	span.error {
		margin: 7px 0 0;
	}
	main#Contact .contents {
		padding-bottom: 0;
		position: relative;
		z-index: 2;
	}
	
	main#Contact .contents::before {
		right: 0px;
		bottom: 0px;
		transform: scale(0.685);
		transform-origin: right bottom;
	}
	
	main#Contact .breadcrumb {
		margin-top: 55.5px;
	}
	
	main#Contact form {
		margin-top: 40px;
	}
	
	.agree_area {
	  margin: 25px 0 0;
	}
	
	form .need {
	  font-size: 12px;
	  margin-left: 5px;
	}
	
	
	main#Contact table tr {
		display: block;
	}
	
	main#Contact table tr::before {
		content: unset;
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
		
	}
	
	main#Contact table tr+tr {
		margin-top: 26px;
	}
	
	main#Contact table tr th {
	  width: 100%;
	  padding: 0;
	  line-height: 1.45;
	}
	
	main#Contact table tr th::before {
		content: unset;
	}
	
	main#Contact table tr td {
	  display: block;
	  width: 100%;
	  padding: 0;
	  margin-top: 10px;
	}
	
	main#Contact input[type=text],
	main#Contact textarea {
		border: 1px solid #d6d2f3;
		background: #fcfcff;
		border-radius: 5px;
		padding: 18px 20px;
		height: 50px;
	}
	
	main#Contact textarea {
		min-height: 200px;
	}
	
	main#Contact table tr.address {
		margin-bottom: 0;
	}
	
	main#Contact table tr.address td {
		position: relative;
		padding: 0;
	}
	
	main#Contact table tr.address::before {
		content: unset;
		height: 80px;
		background: #fcfcff;
	}
	
	main#Contact table tr.address td .address_info {
		margin-top: 10px;
		width: 100%;
	}
	
	main#Contact table tr.address td .address_info input {
		margin-top: 0;
		padding: 18px 20px;
		height: 50px;
	}
	
	
	main#Contact table tr.address th::before {
	    height: 30px;
	}
	
	main#Contact input[type=text].zip {
		width: 100%;
	}
	
	main#Contact .zip-wrap {
	  display: inline-block;
	  width: 100%;
	  position: relative;
	  padding-left: 0;
	}
	
	main#Contact input[type=text].zip {
		padding: 18px 20px 18px 42px;
	}
	
	main#Contact .zip-wrap {
	  padding-left: 0;
	}
	
	main#Contact .zip-wrap .error {
		margin-left: 0;
	}
	
	
	main#Contact .zip-wrap::before {
	  top: 14px;
	  left: 20px;
	}
	
	.submit_area {
	  margin-top: 53px;
	  text-align: center;
	}
	
	.button_area_inner {
		font-size: 15px;
	}
	
	main#Contact .form_wrap > p {
	  font-size: 14px;
	}
	
	main#Contact.sfm2 td p {
	  overflow-wrap: break-word;
	}
	
	main#Contact.sfm2 table tr td {
	    padding: 0;
	}
	
	main#Contact.sfm2 .submit_area ul.koumoku li {
	  width: 284px;
	  margin: 10px auto 0;
	}
	
	main#Contact.sfm2 .btn_back.left,
	main#Contact.sfm2 .send.right {
		float: unset;
	}

	main#Contact .submit_area ul.koumoku {
		display: flex;
		flex-direction: column-reverse;
	}
	
}
/*==========================================
  Common
==========================================*/
main {
	position: relative;
	
}

main::after {

}


/*==========================================
  teaser
==========================================*/
#teaser {
	padding: 170px 0 176px;
	position: relative;
	/* z-index: 4; */
}

#teaser::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	background: url('../images/common/teaser.webp') no-repeat;
	background-size: cover;
}

.teaser_head {
	color: #371A6A;
	font-size: 52px;
	letter-spacing: 0.15em;
	line-height: 1.75;
	font-weight: 500;
	text-align: center;
	position: relative;
	z-index: 5;
}

.teaser_head::before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 131px;
	height: 31px;
	transform: translate(-50%,100%);
	background: url('../images/common/icon_teaser.svg') no-repeat;
	background-size: cover;
}

.contents {
	position: relative;
	z-index: 3;
}

.contents.contents_lng {
	padding-bottom: 100px;
}

.contents .contents_bg {
	position: absolute;
	left: 0;
	top: -90px;
	width: 100%;
	height: 1393px;
	/* height: calc(100% - 250px); */
	z-index: -1;
	clip-path: ellipse(110% 50% at 50% 50%);
}

.contents .contents_bg::before {
	/* border-radius: 50% 50% 0 0 / 20% 20% 0 0; */
	content: '';
	position: absolute;
	top: -427px;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-size: cover;
	background: url('../images/common/main_bg.webp') no-repeat;
	background-size: cover;
}

@media screen and (max-width: 800px) {
	/*==========================================
	  teaser
	==========================================*/
	#teaser {
		padding: 118px 0 107px;
	}
	
	#teaser::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		z-index: -2;
		width: 100%;
		height: 100%;
		
		background: url('../images/common/sp/teaser.webp') no-repeat;
		background-size: cover;
	}
	
	.teaser_head {
		font-size: 30px;
		letter-spacing: 0;
		line-height: 1.45;
		font-weight: 500;
		text-align: center;
		position: relative;
	}
	
	.teaser_head::before {
		width: 98px;
		height: 24px;
	}
	
	.contents {
		position: relative;
		z-index: 3;
		padding-top: 35px;
		display: flex;
		flex-direction: column-reverse;
	}
	.contents.contents_lng {
		padding-bottom: 0px;
	}
	
	.contents .contents_bg {
		position: absolute;
		left: 0;
		top: -40px;
		width: 100%;
		height: 1393px;
		z-index: -1;
		clip-path: ellipse(177% 50% at 50% 50%);
	}
	
	.contents .contents_bg::before {
		top: -123px;
		z-index: -1;
		width: 100%;
		height: 100%;
		background: url('../images/common/sp/main_bg.webp') no-repeat center;
		background-size: cover;
	}
}
/*==========================================
  Breadcrumbs
==========================================*/
.breadcrumb {
	padding: 0 0 57px;
	position: relative;
	z-index: 99;
}

.breadcrumb ul {
	display: flex;
	justify-content: flex-end;
}

.breadcrumb li {
	padding-right: 23px;
	position: relative;
	word-break: keep-all;
	white-space: nowrap;
}

.breadcrumb ul li:last-child {
	word-break: break-all;
	white-space: unset;
	padding-right: 0;
}

.breadcrumb li::before {
	content: '';
	position: absolute;
	right: 8.5px;
	top: 7px;
	width: 5.37px;
	height: 5.37px;
	background: url('../images/common/icon_breadcrumb.svg') no-repeat center;
	background-size: 100% auto;
}

.breadcrumb ul li:last-child::before {
	content: unset;
}

.breadcrumb li,
.breadcrumb li a {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 17px;
	color: #1E1521;
	word-break: keep-all;
	white-space: nowrap;
}


@media screen and (min-width: 960px) {
	.breadcrumb li a:hover {
		color: #371A6A;
	}
}

@media screen and (max-width: 800px) {
	.breadcrumb {
		/* position: absolute;
		left: 0;
		bottom: 0;
		z-index: 100; */
		padding: 30px 0;
		width: 100%;
	}
	
	.breadcrumb ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	
	.breadcrumb li {
		padding-right: 14px;
	}

	
	.breadcrumb li::before {
		top: 5px;
		right: 5px;
		width: 4px;
	}
	
	
	.breadcrumb li,
	.breadcrumb li a {
		font-size: 10px;
		line-height: 14.5px;
	}
	
	.breadcrumb ul li:last-child {
		word-break: break-all;
		padding-right: 0;
		/* overflow:hidden;
		text-overflow: ellipsis;
		width: 144px; */
	}
	
}


/*==========================================
  Layout
==========================================*/

.search_wrap {
  width: 100%;
  max-width: 1060px;
  background: #fff;
  /* margin-top: 200px; */
  padding: 8px;
  clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 40px 100%, 0 calc(100% - 40px));
}

.search_wrap .search_inner {
  background: #D8C6A0;
  padding: 4px;
  width: 100%;
  clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 36px, 100% 100%, 36px 100%, 0 calc(100% - 36px));
}

.search_wrap .search_box {
  background: #fff;
  width: 100%;
  /* height: 520px; */
  clip-path: polygon(0 0, calc(100% - 34px) 0, 100% 34px, 100% 100%, 34px 100%, 0 calc(100% - 34px));
  position: relative;
}

.search_wrap .search_box:before,
.search_wrap .search_box:after {
  position: absolute;
  z-index: 1;
  width: 56px;
  height: 56px;
  background: url(../images/top/icon_search_area.svg) center center no-repeat;
  background-size: cover;
  content: '';
}

.search_wrap .search_box:before {
  left: 4px;
  top: 4px;
}

.search_wrap .search_box:after {
  right: 4px;
  bottom: 4px;
  transform: scale(-1,-1);
}

@media (min-width: 960px) {
	.button_area:hover .button_area_inner {
		background: #8A57BA;
		transition: background .5s ease;
	}
	
}

@media (max-width: 800px) {
	.search_wrap .search_box:before,
	.search_wrap .search_box:after {
	  width: 28px;
	  height: 28px;
	}
	
}

/* button_link
==================================*/

.button_link {
	max-width: 200px;
	width: 100%;
	line-height: 1;
	font-size: 16px;
	padding-bottom: 20px;
	color: #44365a;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	position: relative;
	padding-bottom: 15px;
	transition: color .5s ease;
}

.button_link::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 3px;
	z-index: 1;
	width: 100%;
	height: 1px;
	background: #663f8c;
	transition: background .5s ease;
}

.button_link::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	width: 100%;
	height: 2px;
	background: #663f8c;
	transition: background .5s ease;
}

.button_link span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	position: relative;
	padding: 0 20px;
	white-space: nowrap;
}

.button_link span::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	width: 20px;
	height: 20px;
	background: url('../images/common/icon_btn02.svg') no-repeat;
	background-size: cover;
	transition: background .5s ease;
}


@media (min-width: 960px) {
	.button_link:hover {
		color: #8a57ba;
		transition: color .5s ease;
	}
	
	.button_link:hover::before {
		background: #8a57ba;
		transition: background .5s ease;
	}
	
	.button_link:hover::after {
		background: #8a57ba;
		transition: background .5s ease;
	}
	
	.button_link:hover span::before {
		background: url('../images/common/icon_btn02_hover.svg') no-repeat;
		background-size: cover;
		transition: background .5s ease;
	}
	
}

@media (max-width: 800px) {
	.button_link {
		max-width: 212px;
		padding-bottom: 14px;
	}
	
	.button_link span {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		position: relative;
	}
	
	.button_link span::before {
		width: 17.5px;
		height: 17.5px;
	}
}

.button_password a{
  max-width: 255px;
}

/* img hover
==================================*/
.img_hidden {
	overflow: hidden;
	display: block;
}

.img_scale {
	display: inline-block;
	transition: transform .5s ease;
  height: 100%;
  width: 100%;
}

@media screen and (min-width: 960px) {
	.img_link:hover .img_scale {
		transform: scale(1.08);
		transition: transform .5s ease;
	}
}


/*==================================
  Top
==================================*/
.top_head {
	font-size: 38px;
	letter-spacing: 0.15em;
	font-weight: 500;
	text-align: center;
	margin-bottom: 20px;
	position: relative;
	line-height: 1.44;
	z-index: 10;
}

.top_head span {
	display: inline-block;
	padding-bottom: 30px;
	position: relative;
}

.top_head span::before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	z-index: 3;
	width: 186px;
	height: 30px;
	background: url('../images/common/icon_head.svg') no-repeat;
	background-size: cover;
}

.main_visual {
	position: relative;
}

.main_visual_bg img ,
.main_visual_bg picture {
	width: 100%;
}

.main_visual_word {
	position: absolute;
	left: 50%;
  /* top: calc(100vw* 220 / 1400); バナー無し*/
  top: calc(100vw* 110 / 1400);/*バナー有り*/
  width: calc(100%* 945 / 1400);
	/* max-width: 945px; */
	/* width: 100%; */
	transform: translateX(-50%);
	/* top: 19.413vw;
	top: 19.413vw;
	z-index: 3;
	width: 67.9455vw; */
	/* top: 270px; */
	/* height: 270px; */
}

.main_visual_banner{
  position: absolute;
	left: 50%;
  transform: translateX(-50%);
  top: calc(100vw* 380 / 1400);
  width: calc(100%* 327 / 1400);
	/* max-width: 327px; */
}

.main_visual_text{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(100vw* 540 / 1400);
  display: block;
  text-align: center;
  font-weight: 600;
  z-index: 10;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.15rem;
  width: 100%;
}
.main_visual_button{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(100vw* 615 / 1400);
  display: flex;
  width: 100%;
  max-width: 650px;
}
.main_visual_button .text::before {
  display: none;
}

.top_search {
	position: relative;
	margin-top: -500px;
	padding-bottom: 70px;
}

.top_search::before {
	content: '';
	position: absolute;
	left: 0;
	top: -130px;
	z-index: 1;
	background: url('../images/top/left_tree01.webp') no-repeat;
	width: 339px;
	height: 100%;
	background-size: 100% auto;
}

.top_search::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	background: url('../images/top/right_flower.webp') no-repeat;
	width: 363px;
	height: 339.5px;
	background-size: 100% auto;
}

.top_search .container {
	position: relative;
  max-width: 1215px;
}

.top_search .container::before {
	content: '';
	position: absolute;
	margin-top: -3px;
	content: '';
	position: absolute;
	right: 26px;
  top: 25px;
	z-index: 10;
	width: 321px;
	height: 263px;
	background: url('../images/top/icon_cat.svg') no-repeat;
	background-size: cover;
	transform: translateY(-100%);
}


#Top .contents .contents_bg {
	top: -90px;
	height: 200%;
	z-index: -1;
	clip-path: ellipse(89% 50% at 50% 50%);
}

#Top .contents .contents_bg::before {
    top: -125px;
}

#Top .search_wrap {
    width: 100%;
    max-width: 1115px;
	position: relative;
	z-index: 10;
}


.search_wrap .search_box {
	padding: 26px 40px 36px ;
}

.search_wrap .search_cont {
	display: block;
	width: 100%;
}

.search_wrap dl {
	display: flex;
	position: relative;
	padding-bottom: 40px;
}

.search_wrap dl::after {
	content: '';
	position: absolute;
	left: 76px;
	bottom: 50%;
	transform: translateY(50%);
	z-index: 3;
	width: 46px;
	height: 17px;
	background: url('../images/top/icon_search_decoration.svg') no-repeat;
}

.search_wrap dl:first-child::after {
	margin-bottom: -20px;
}

.search_wrap dl:last-child::after {
	content: unset;
}


.search_wrap dl:first-child,
.search_wrap dl:last-child {
	align-items: center;
}

.search_wrap dt {
	font-size: 24px;
	letter-spacing: 0.08em;
	font-weight: 500;
	line-height: 1;
	pointer-events: none;
	width: 256px;
	/* width: calc(100% - 755px); */
	
	display: block;
}

.search_wrap dd {
	width: calc(100% - 276px);
	/* width: 745px; */
	margin-left: 10px;
	display: block;
}

.search_wrap dt span.small {
	font-size: 20px;
}

.search_wrap input[type=text] {
	width: 100%;
	height: 60px;
	display: block;
	border: none;
	outline: none;
	background: #f5f5f5;
	padding: 18px 34px;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1;
	border-radius: 5px;
}

.ui-datepicker{
  width: 22em !important;
}
td.ui-datepicker-week-end:last-child a.ui-state-default{
  background-color: #eaeaff;
  color: #00f!important;
}
td.ui-datepicker-week-end a.ui-state-default{
  background-color: #ffecec;
  color: #f00!important;
}
td.ui-datepicker-week-end a.ui-state-hover{
  opacity: 0.8;
}
.search_calendar{
  display: flex;
  gap: 30px;
}
.calendar_wrap{
  position: relative;
  width: 290px;
}
.calendar_wrap + .calendar_wrap::before{
  content: "〜";
  position: absolute;
  left: -22px;
  top: 50%;
  transform: translateY(-50%);
}
img.ui-datepicker-trigger{
  width: 20px;
  height: 19px;
  cursor: pointer;
  vertical-align: middle;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

input[type=text]::placeholder {
	color: #b8b1b8;
}

.search_wrap tbody {
	display: block;
	width: 100%;
}

.search_wrap .item {
	display: flex;
}
.search_wrap .item .time{
  text-align: left;
}
.search_wrap input[type=checkbox] + label {
	display: inline;
	font-weight: 500;
}

.search_wrap .item+.item {
	margin-top: 30px;
}

.search_wrap .item .all {
	width: 85px;
	position: relative;
}

.search_wrap .item .all::before {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
	width: 1px;
	height: 25px;
	background: #b8b1b8;;
}

.search_wrap .item .list_box {
	width: calc(100% - 85px);
	padding-left: 20px;
}

.search_wrap .item .check-list {
	display: flex;
	flex-wrap: wrap;
}

.search_wrap .item .check-list.time {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 10px 13px;
  height: auto;
}

.search_wrap .item .check-list li {
	margin-bottom: 10px;
}


.search_wrap .item .check-list.time li {
	margin: 0;
}

.search_wrap .item .check-list.time li label {
	margin-right: 0;
	white-space: nowrap;
}

.search_wrap .item .all,
.search_wrap .item .list_box li {
	position: relative;
}

.search_wrap .item input[type=checkbox] {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

.search_wrap .item .counseling_cont {
	margin-top: 26px;
}

.search_wrap .item .counseling_cont .title {
	margin-bottom: 14px;
	color: #6f6f6f;
	letter-spacing: 0.08em;
	font-size: 16px;
	background:linear-gradient(to right,#b8b1b8 50%,rgba(255,255,255,0) 0%);
	background-position: center;
	background-size: 5px 1px;
	background-repeat: repeat-x;
	font-weight: 500;
}

.search_wrap .item .counseling_cont .title span {
	background: #fff;
	padding-right: 10px;
}

input[type=checkbox]  {
	background: #b8b1b8;
	border-radius: 3px;
	border: none;
}

input[type=checkbox] {
	opacity: 0;
	margin: 0;
	width: 0;
	height: 0;
	font-size: 0;
	line-height: 1;
}

input[type=checkbox] + label {
	padding-left: 34px;
	position: relative;
	margin-right: 16px;
	cursor: pointer;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 1;
	display: inline-block;
}

input[type=checkbox] + label::before {
	content: "";
	display: block;
	position: absolute;
	top: -1px;
	left: 0;
	z-index: 1;
	width: 25px;
	height: 25px;
	background: url('../images/common/icon_check_bg.svg') no-repeat;
	background-size: 25px 25px;
	
	border-radius: 3px;
}

input[type=checkbox] + label::after {
	content: "";
	opacity: 0;
	position: absolute;
	left: 0;
	top: -1px;
	z-index: 2;
	width: 25px;
	height: 25px;
	background: url('../images/common/icon_check.svg') no-repeat;
	background-size: 25px 25px;
	
	border-radius: 3px;
}

input[type=checkbox]:checked + label {
	background: none;
}

input[type=checkbox]:checked + label::after {
	opacity: 1;
}

@media (max-width: 800px) {
  input[type=checkbox] + label::before,
  input[type=checkbox] + label::after{
    top: -2px;
  }
}

.button_area {
	position: relative;
	cursor: pointer;
	max-width: 315px;
	width: 100%;
	height: 62px;
	margin-right: auto;
	margin-left: auto;
	-webkit-mask-image: url('../images/top/btn_windows.svg');
	mask-image: url('../images/top/btn_windows.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	display: block;
}

.button_area input {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 20;
	cursor: pointer;
}

.button_area::before,
.button_area::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 25px;
	height: 100%;
	background: url('../images/top/btn_decoration_white.svg') no-repeat center;
	background-size: 100% auto;
	transition: background .5s linear;
	pointer-events: none;
}

.button_area::after {
	left: auto;
	right: 0;
	transform: scale(-1);
}

.button_area_inner {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #663F8C;
  text-align: center;
	transition: background .5s ease;
}

.button_area_inner .text {
	display: inline-flex;
	align-items: center;
	position: relative;
	z-index: 3;
	color: #fff;
	font-size: 17px;
	letter-spacing: 0.08em;
	line-height: 1.47;
  padding: 2px 0 3px;
}

.button_area_inner .text::before {
	content: '';
	width: 24px;
	height: 23px;
	background: url('../images/common/icon_btn01.svg') no-repeat;
	background-size: cover;
	margin-right: 7px;
}

.top_therapist {
	padding: 70px 0 90px;
	position: relative;
	/* z-index: ; */
}

.top_therapist .top_head {
	margin-bottom: 80px;
}

.top_therapist.popular {
	background: url('../images/top/popular_bg.webp') no-repeat;
	background-size: cover;
	position: relative;
}

.top_therapist.popular::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	width: 167px;
	height: 409px;
	background: url('../images/top/left_tree.webp') no-repeat;
	background-size: cover;
	transform: translateY(50%);
}

.popular_list {
	max-width: 1115px;
	width: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: 62px;
	position: relative;
	z-index: 5;
}

.popular_list .therapist_item {
	position: relative;
}

.popular_list .therapist_item .popular_number {
	position: absolute;
	top: 20px;
	left: 0;
	z-index: 3;
	font-family: "Cinzel", system-ui;
	color: #866cb6;
	transform: translate(-100%,-100%);
	display: inline-block;
	margin-left: 5px;
}


.therapist_item.popular01 .popular_number,
.therapist_item.popular02 .popular_number,
.therapist_item.popular03 .popular_number {
	top: 10px;
}

.popular_list .therapist_item .popular_number::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 29px;
	height: 25px;
	background: url('/images/top/icon_no.svg') no-repeat;
	background-size: cover;
	transform: translateY(-100%);
}

.therapist_item.popular01 .popular_number::before {
	margin-top: 10px;
	width: 38px;
	height: 33px;
	background: url('/images/top/icon_no1.svg') no-repeat;
	background-size: cover;
}

.therapist_item.popular02 .popular_number::before {
	margin-top: 10px;
	width: 38px;
	height: 33px;
	background: url('/images/top/icon_no2.svg') no-repeat;
	background-size: cover;
}

.therapist_item.popular03 .popular_number::before {
	margin-top: 10px;
	width: 38px;
	height: 33px;
	background: url('/images/top/icon_no3.svg') no-repeat;
	background-size: cover;
}

.popular_list .therapist_item .popular_number .no {
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}

.popular_list .therapist_item .popular_number .number {
	font-size: 24px;
	font-weight: 500;
	line-height: 1;
}

.therapist_item.popular01 .popular_number .no,
.therapist_item.popular02 .popular_number .no,
.therapist_item.popular03 .popular_number .no {
	font-size: 20px;
}

.therapist_item.popular01 .popular_number .number,
.therapist_item.popular02 .popular_number .number,
.therapist_item.popular03 .popular_number .number {
	font-size: 39.25px;
}

.therapist_item.popular01 .popular_number {
	color: #a69938;
}

.therapist_item.popular02 .popular_number {
	color: #919191;
}

.therapist_item.popular03 .popular_number {
	color: #8b695f;
}

.popular_list .therapist_image {
	position: relative;
	width: 166px;
	height: 166px;
	margin: 0 auto;
}

.popular_list .therapist_image::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
	width: calc(100% + 24.5px);
	height: calc(100% + 24.5px);
	/* background: url('../images/top/popular_window04.png') no-repeat; */
	background: url('../images/top/popular_window04.svg') no-repeat;
	background-size: 100% 100%;
}


.popular_list .therapist_item.popular01 .therapist_image::after {
	width: calc(100% + 40px);
	height: calc(100% + 40px);
	background: url('../images/top/popular_window01.svg') no-repeat;
	background-size: 100% 100%;
}

.popular_list .therapist_item.popular02 .therapist_image::after {
	width: calc(100% + 35px);
	height: calc(100% + 35px);
	background: url('../images/top/popular_window02.svg') no-repeat;
	background-size: 100% 100%;
}

.popular_list .therapist_item.popular03 .therapist_image::after {
	width: calc(100% + 24.5px);
	height: calc(100% + 24.5px);
	/* background: url('../images/top/popular_window03.png') no-repeat; */
	background: url('../images/top/popular_window03.svg') no-repeat;
	background-size: 100% 100%;
	margin-top: 1px;
}

.therapist_image .img_hidden {
	position: relative;
	padding-top: 100%;
}

.therapist_image picture {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 102%;
	height: 102%;
	object-fit: cover;
}

.therapist_image .img_hidden img{
  aspect-ratio: 1 / 1;
  height: 100%;
}

.popular_list .therapist_image .img_hidden {
	border-radius: 100%;
	border: 1px solid #ad96da;
}

.popular_list  .therapist_item.popular01 .therapist_image .img_hidden {
	border: 1px solid #beab26;
}

.popular_list  .therapist_item.popular02 .therapist_image .img_hidden {
	border: 1px solid #919191;
}

.popular_list  .therapist_item.popular03 .therapist_image .img_hidden {
	border: 1px solid #8b695f;
}

.therapist_info {
	margin-top: 30px;
}

.therapist_info .title {
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.15em;
	margin-bottom: 10px;
	text-align: center;
}

.star_wrap .star {
	text-align: center;
	max-width: 135px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

/* .star_wrap .star::after {
	content: '';
	font-size: 16px;
	line-height: 1;
	font-weight: 500;
	letter-spacing: 0.15em;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
}

.star_wrap .star.star01::after {
	content: '1';
}

.star_wrap .star.star02::after {
	content: '2';
}

.star_wrap .star.star03::after {
	content: '3';
}

.star_wrap .star.star04::after {
	content: '4';
}

.star_wrap .star.star05::after {
	content: '5';
} */

.star_wrap .star span {
	display: inline-block;
	width: 90px;
	height: 14px;
	background: url('../images/top/icon_star.svg') no-repeat;
	background-size: 100% 14px;
	position: relative;
	margin-right: 7px;
}

.star_wrap .star span::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: url('../images/top/icon_star_active.svg') no-repeat;
	background-size: auto 14px;
}

.star_wrap .star.star0 span::before  {
	width: 0%;
}

.star_wrap .star.star01 span::before  {
	width: 20%;
}

.star_wrap .star.star02 span::before  {
	width: 40%;
}

.star_wrap .star.star03 span::before  {
	width: 60%;
}

.star_wrap .star.star04 span::before  {
	width: 80%;
}

.star_wrap .star.star05 span::before  {
	width: 100%;
}

.therapist_info ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-top: 10px;
	gap: 10px;
}

.therapist_info li {
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 3px;
}

.therapist_info li::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: calc(100% - 12px);
	height: 100%;
	border-top: 1.5px solid #b3a17a;
	border-bottom: 1.5px solid #b3a17a;
}

.therapist_info li span,
.therapist_info li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 20px;
	padding: 0 7px;
	border: 1px solid #c5b8a6;
	background: #f9f3e6;
	position: relative;
	white-space: nowrap;
	transition: opacity .3s ease;
}


.therapist_info li span::before,
.therapist_info li span::after,
.therapist_info li a::before,
.therapist_info li a::after {
	content: '';
	position: absolute;
	left: -4px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 7px;
	height: calc(100% + 9px);
	background: url('../images/top/icon_border_gold.svg') no-repeat;
	background-size: 100% 100%;
}

.therapist_info li span::after,
.therapist_info li a::after {
	left: auto;
	right: -4px;
	transform: translateY(-50%) scale(-1);
}

.top_therapist.on {
	background: url('../images/top/therapist_bg.webp') no-repeat right bottom;
	background-size: cover;
}

.top_therapist.on .top_head {
	margin-bottom: 28px;
}

.top_therapist .swiper-slide {
	width: 180px;
}

.therapist_list .therapist_item .therapist_image {
	border-radius: 100%;
	width: 180px;
	height: 180px;
	margin: 0 auto;
	padding: 6px;
	border: 1px solid #e0d4f8;
	border-radius: 100%;
}

.therapist_list .therapist_item .therapist_image .img_hidden {
	border-radius: 100%;
}

.therapist_list .therapist_item .therapist_image picture {
    width: 100%;
    height: 100%;
}

.therapist_list .therapist_item .therapist_info {
    margin-top: 10px;
}

.top_therapist .therapist_list {
	position: relative;
	max-width: 1115px;
	width: 100%;
	margin: 0 auto;
}

.top_therapist .therapist_list .swiper_btn {
	position: absolute;
	top: 143px;
	width: 58px;
	height: 43px;
	z-index: 5;
	transition: .5s transform ease;
}

.top_therapist .therapist_list .swiper_btn.prev {
	left: -25px;
	margin-left: -58px;
}

.top_therapist .therapist_list .swiper_btn.next {
	right: -25px;
	margin-right: -58px;
}

.top_therapist .therapist_list .swiper_btn a {
	display: block;
	width: 100%;
	height: 100%;
}

.top_therapist .therapist_list .swiper_btn.prev a {
	background: url('../images/common/icon_arrow_prev.svg') no-repeat center;
	background-size: 58px 43px;
}

.top_therapist .therapist_list .swiper_btn.next a {
	background: url('../images/common/icon_arrow_next.svg') no-repeat center;
	background-size: 58px 43px;
}

.top_therapist .therapist_list .swiper-button-prev,
.top_therapist .therapist_list .swiper-button-next {
	display: none;
}

.therapist_button {
	margin-top: 56px;
}

.top_voice {
	padding: 70px 0 90px;
	position: relative;
  background: url('../images/top/voice_bg.webp') no-repeat;
	background-size: cover;
	position: relative;
}
.top_voice::before {
	content: '';
	position: absolute;
  right: 0;
  bottom: 110px;
	z-index: 1;
  width: 296px;
  height: 306px;
	background: url('../images/top/voice_tree.webp') no-repeat;
	background-size: cover;
	transform: translateY(50%);
}
.top_voice .swiper-wrapper{}
.top_voice .voice_list{
  position: relative;
  max-width: 1115px;
  width: 100%;
  margin: 0 auto;
}
.top_voice .voice_list .swiper_btn{
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  /* top: 265px; */
  width: 58px;
  height: 43px;
  z-index: 5;
  transition: .5s transform ease;
}
.top_voice .voice_list .swiper_btn.next{
  right: -17px;
  margin-right: -6px;
}
.top_voice .voice_list .swiper_btn.prev{
  left: -17px;
  margin-left: -6px;
}
.top_voice .voice_list .swiper_btn a{
  display: block;
  width: 100%;
  height: 100%;
}
.top_voice .voice_list .swiper_btn.next a{
  background: url(../images/common/icon_arrow_next.svg) no-repeat center;
  background-size: 48px 20px;
}
.top_voice .voice_list .swiper_btn.prev a{
  background: url(../images/common/icon_arrow_prev.svg) no-repeat center;
  background-size: 48px 20px;
}
.top_voice .voice_list .swiper-button-prev,
.top_voice .voice_list .swiper-button-next {
  display: none;
}

.top_voice .voice_item{
  padding: 4px;
  border-radius: 10px;
  background: #fff;
  height: auto;
}
.top_voice .voice_item .voice_inner{
  border: 2px solid #d8c6a0;
  border-radius: 10px;
  padding: 25px 30px;
  height: 100%;
  display: flex;
  flex-direction: column;

}
.top_voice .voice_head{
  display: flex;
  justify-content: flex-start;
  text-align: left;
}
.top_voice .voice_head .star{
  margin: 0;
  max-width: 110px;
  text-align: left;
}
.top_voice .voice_head .user{
  padding-left: 35px;
  font-weight: 500;
}
.top_voice .voice_info{
  padding: 25px 0 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.top_voice .voice_info .text{
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 15;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  white-space: normal;
}
.top_voice .voice_info .link{
  padding-top: 15px;
}
.top_voice .voice_info .link a{
  width: 105px;
  line-height: 1;
  font-size: 14px;
  color: #451c6b;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-bottom: 10px;
  transition: color .5s ease;
  background: linear-gradient(#451c6b, #451c6b) 0 100% / 0 2px no-repeat;
  background-size: 100% 2px;
  position: relative;
  transition: background .3s ease;
}
.top_voice .voice_info .link a:hover{
  background-size: 0 2px;
  transition: background .3s ease;
}
.top_voice .voice_info .link a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 5px;
  width: 5px;
  height: 5px;
  background: url(../images/common/icon_breadcrumb.svg) no-repeat;
  background-size: cover;
}
.top_voice .therapist_date{
  padding-top: 10px;
  border-top: 1px solid #b3a17a;
}
.top_voice .therapist_date a{
  display: flex;
  align-items: center;
}
.top_voice .therapist_date span{
  display: block;
}
.top_voice .therapist_date .icon{
  width: 37px;
  margin-right: 8px;
}
.top_voice .therapist_date .icon picture{
  display: block;
  width: 37px;
  height: 37px;
  border-radius: 100%;
  overflow: hidden;
}
.top_voice .therapist_date .icon picture img{
  aspect-ratio: 1 / 1;
  height: 100%;
}
.top_voice .therapist_date .title{
  width: calc(100% - 46px);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1;
}
.top_voice .therapist_date .text{
  width: calc(100% - 46px);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1;
}


@media (max-width: 800px){
  .top_voice{
    padding: 50px 0;
    background-image: url(../images/top/sp/voice_bg.webp);
  }
  .top_voice::before{
    bottom: 50px;
    width: 112px;
    height: 153px;
  }
  .top_voice .voice_list {
    padding: 0;
  }
  .top_voice .voice_list .swiper_btn.prev,
  .top_voice .voice_list .swiper_btn.next{
    display: none;
  }
  .top_voice .voice_list .swiper-wrapper{
    display: block;
  }
  .top_voice .voice_info .text {
    /* -webkit-line-clamp: 5; */
  }
  .top_voice .voice_item{
    font-size: 14px;
    padding: 3.5px;
    border-radius: 5px;
  }
  .top_voice .voice_item + .voice_item{
    margin-top: 8px;
  }
  .top_voice .voice_item .voice_inner{
    border-radius: 5px;
    padding: 25px 20px;
  }
  .top_voice .voice_head .user{
    padding-left: 12px;
  }
  .top_voice .voice_head .star{
    max-width: 85px;
  }
  .top_voice .voice_info{
    padding: 15px 0 20px;
  }
  .top_voice .therapist_date{
    padding-top: 10px;
  }
  .top_voice .therapist_date dt{
    width: 24px;
    margin-right: 7px;
  }
  .top_voice .therapist_date dt picture{
    width: 24px;
    height: 24px;
  }
  .top_voice .therapist_date dd{
    width: calc(100% - 31px);
    font-size: 12px;
  }
}




.top_blog {
	padding: 62px 0 80px;
	background: url('../images/top/blog_bg.webp') no-repeat;
	background-size: cover;
}

.blog_list {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 60px;
	position: relative;
	z-index: 10;
}

.blog_image_wrap {
	position: relative;
}

.blog_image_wrap::before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 5px;
	z-index: 3;
	width: calc(100% - 10px);
	height: 100%;
	background: url('../images/top/blog_image_top.svg') no-repeat;
	background-size: 100% auto;
}

.blog_image {
	aspect-ratio: 255 / 228;
	margin-right: auto;
	margin-left: auto;
	-webkit-mask-image: url('../images/top/mask_window.svg');
	mask-image: url('../images/top/mask_window.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	position: relative;
}

.blog_image::before,
.blog_image::after {
	content: '';
	position: absolute;
	left: 5px;
	bottom: 5px;
	z-index: 3;
	width: 32px;
	height: 32px;
	background: url('../images/top/icon_blog_area.svg') no-repeat;
	background-size: cover;
}

.blog_image::after {
	transform: scale(-1,1);
	left: auto;
	right: 5px;
}
.blog_image img{
  aspect-ratio: 255 / 228;
}

.blog_item .blog_info {
	margin-top: 15px;
}

.blog_item .blog_info .date {
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.08em;
	transition: .3s ease color;
}

.blog_item .blog_info .title {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.08em;
	margin-top: 10px;
	transition: .3s ease color;
	
}

.blog_item .blog_info .name {
	margin-top: 18px;
	display: flex;
	align-items: center;
	padding-top: 10px;
	border-top: 1px solid #b3a17a;
}


.blog_item .blog_info .name dt {
	width: 37px;
	margin-right: 8px;
}

.blog_item .blog_info .name dt picture {
	display: block;
	width: 37px;
	height: 37px;
	border-radius: 100%;
	overflow: hidden;
}
.blog_item .blog_info .name dt picture img{
  aspect-ratio: 1/1;
}

.blog_item .blog_info .name dd {
	width: calc(100% - 46px);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1;
}

.blog_button {
	margin-top: 60px;
	
	position: relative;
	z-index: 5;
}

.top_news {
	background: url('../images/top/news_bg.webp') no-repeat left top;
	background-size: cover;
	position: relative;
	padding: 60px 0 70px;
}

.top_news::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 840px;
	height: 840px;
	background: url('../images/top/img_astrolabe.webp') no-repeat;
	background-size: cover;
	transform: translate(-50%,-50%);
	pointer-events: none;
}

.top_news::after {
	content: '';
	position: absolute;
	right: 0;
	/* bottom: -150px; */
  bottom: 0;
	z-index: 1;
	width: 411px;
	/* height: 482px; */
  height: 332px;
	background: url('../images/top/news_flower.webp') no-repeat;
	background-size: cover;
	pointer-events: none;
}

.top_news_list {
	position: relative;
	z-index: 10;
}

.top_news_list .news_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.top_news_list .news_list a {
	display: flex;
	align-items: center;
}

.top_news_list .news_list a .img_wrap {
	width: 174px;
	margin-right: 18px;
	margin-bottom: 0;
}

.top_news_list .news_list a .info {
	width: calc(100% - 196px);
}

.top_news_list .news_li a .date {
    margin-right: 10px;
}

.news_button {
	margin-top: 60px;
	position: relative;
	z-index: 10;
}

.top_about{
  background: url(../images/top/about_bg.webp) no-repeat left top / cover;
  position: relative;
  padding: 60px 0 70px;
}
.top_about::before{
  content: '';
  position: absolute;
  left: 0;
  top: -20px;
  z-index: 1;
  width: 251px;
  height: 244px;
  background: url(../images/top/about_leaf.webp) no-repeat left top / cover;
  pointer-events: none;
}
.top_about::after{
  content: '';
  position: absolute;
  right: 0;
  bottom: -290px;
  z-index: 1;
  width: 251px;
  height: 244px;
  background: url(../images/top/mind_flower.webp) no-repeat right bottom / cover;
  pointer-events: none;
}
.top_about .top_about_head{
  width: 623px;
  margin: 0 auto;
  padding-bottom: 46px;
  position: relative;
  z-index: 3;
}
.top_about .top_about_head::after{
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 3;
  width: 61px;
  height: 23px;
  mask: url(../images/top/icon_search_decoration.svg) no-repeat center center / 100% auto;
  background-color: #b19f79;

}

@media (max-width: 800px) {
  .top_about{
    background-image: url(../images/top/sp/about_bg.webp);
    padding: 50px 0 0;
  }
  .top_about::before{
    top: -36px;
    width: 98px;
    height: 96px;
  }
  .top_about::after{
    background-position: right top;
    background-size: 100% auto;
    bottom: -220px;
    right: -22px;
    width: 113px;
    height: 150px;
  }
  .top_about .top_about_head{
    width: calc(100vw* 669 / 780);
    padding-bottom: 30px;
  }
  .top_about .top_about_head::after{
    width: 40px;
    height: 15px;
  }
}


.top_mind{
  background: url(../images/top/mind_bg.webp) no-repeat left top;
  background-size: cover;
  position: relative;
  padding: 60px 0 70px;
}
.top_mind::before{
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 736px;
  height: 630px;
  background: url(../images/top/mind_flower2.webp) no-repeat right bottom / cover;
  pointer-events: none;
}
.top_mind::after{
  content: '';
  position: absolute;
  left: 0;
  top: calc(100%* 515 / 1400);
  z-index: 1;
  width: 451px;
  height: 515px;
  background: url(../images/top/mind_leaf.webp) no-repeat left top / cover;
  pointer-events: none;
}
.top_mind .container{
  position: relative;
  z-index: 3;
}
@media (max-width: 800px) {
  .top_mind{
    background-image: url(../images/top/sp/mind_bg.webp);
    padding: 50px 0;
  }
  .top_mind::after{
    width: 211px;
    height: 369px;
    top: calc(100%* 235 / 780);
  }
  .top_mind::before{
    width: 450px;
    height: 315px;
  }
}


@media (min-width: 960px) {
	.top_therapist .therapist_list .swiper_btn.prev:hover {
		transform: translateX(-5px);
		transition: .5s transform ease;
	}
		
	.top_therapist .therapist_list .swiper_btn.next:hover {
		transform: translateX(5px);
		transition: .5s transform ease;
	}
	
	.blog_item:hover .blog_info .date,
	.blog_item:hover .blog_info .title,
	.blog_item:hover .blog_info .name {
		color: #866cb6;
		transition: .3s ease color;
	}
	
	.therapist_info li a:hover {
		opacity: 0.7;
		transition: opacity .3s ease;
	}
}



@media (max-width: 1650px) {
	.main_visual_word {
    /* top: calc(100vw* 195 / 1400); */
	    /* top: 18vw; */
	    /* width: 60vw; */
	}
  
  .main_visual_banner{
     /* top: calc(100vw* 195 / 1400); */
  }
  .main_visual_text{
    top: calc(100vw* 530 / 1400);
  }
	
	.top_search {
    margin-top: -450px;
	}
	
	.top_search .container::before {
	    margin-top: 30px;
	    /* right: 104px; */
	    transform: translateY(-100%) scale(0.9);
	}
	
}

@media (max-width: 1550px) {
	.main_visual_word {
	    /* top: 17vw; */
	    /* width: 55vw; */
	}
	
	.top_search {
	    margin-top: -400px;
	}
	
}

@media (max-width: 1370px) {
	.main_visual_word {
      /* top: calc(100vw* 155 / 1400); */
	    /* top: 13vw; */
	    /* width: 50vw; */
	}
  .main_visual_text{
    /* top: calc(100vw* 474 / 1400); */
  }
	
	.top_search {
	    margin-top: -300px;
	}
	
	#Top .contents .contents_bg {
	    clip-path: ellipse(99% 50% at 50% 50%);
	}
	
}



@media (max-width: 1330px) {
	.top_therapist .therapist_list .swiper_btn.prev {
	    left: 0;
	}
	
	.top_therapist .therapist_list .swiper_btn.next {
	    right: 0;
	}
	
}

@media (max-width: 1300px) {
	.popular_list {
	    gap: 30px;
		padding: 0 20px;
	}
	
	.popular_list .therapist_image {
	    width: 145px;
	    height: 145px;
	}
	
	.popular_list .therapist_image::after {
		width: calc(100% + 20px);
		height: calc(100% + 20px);
	}
	
	
	.popular_list .therapist_item.popular01 .therapist_image::after {
		width: calc(100% + 38px);
		height: calc(100% + 38px);
	}
	
	.popular_list .therapist_item.popular02 .therapist_image::after {
		width: calc(100% + 30px);
		height: calc(100% + 30px);
	}
	
	.popular_list .therapist_item.popular03 .therapist_image::after {
		width: calc(100% + 20px);
		height: calc(100% + 20px);
	}
	
	.popular_list .therapist_item .popular_number {
	    margin-left: 28px;
		top: 2px;
	}
	
	.therapist_item.popular01 .popular_number::before,
	.therapist_item.popular02 .popular_number::before,
	.therapist_item.popular03 .popular_number::before {
		margin-top: 4px;
		width: 29px;
		height: 26px;
	}
	
	.therapist_item.popular01 .popular_number .number, 
	.therapist_item.popular02 .popular_number .number, 
	.therapist_item.popular03 .popular_number .number {
	    font-size: 28px;
	}
	
	.therapist_item.popular01 .popular_number .no, 
	.therapist_item.popular02 .popular_number .no, 
	.therapist_item.popular03 .popular_number .no {
	    font-size: 18px;
	}
	
	.top_therapist .swiper-slide {
		width: 150px;
		/* margin-right: 30px !important; */
	}
	
	.therapist_list .therapist_item .therapist_image {
	    width: 150px;
	    height: 150px;
	}
	
	
}

@media (max-width: 1260px) {
  .top_search .container::before{
    right: -35px;
  }
  .top_search::before{
    width: 240px;
  }
	.top_therapist .therapist_list .swiper_btn {
		width: 47px;
		height: 36px;
	}
	
	.top_therapist .therapist_list .swiper_btn.prev {
		margin-left: 0;
	    left: -23px;
	}
	
	.top_therapist .therapist_list .swiper_btn.next {
		margin-right: 0;
	    right: -23px;
	}
	
	#Top .top_therapist .therapist_list {
	    padding: 0 30px;
	}
	
	#Top .top_therapist .therapist_list .swiper_btn.prev a {
		background: url('../images/common/icon_arrow_prev.svg') no-repeat center;
		background-size: 47px 36px;
	}
	
	#Top .top_therapist .therapist_list .swiper_btn.next a {
		background: url('../images/common/icon_arrow_next.svg') no-repeat center;
		background-size: 47px 36px;
	}
}

@media (max-width: 1200px) {
	.search_wrap .item .check-list.time {
	    display: grid;
	    grid-template-columns: repeat(3, 1fr);
	    gap: 10px 13px;
      padding-right: 0;
	}
	
	.top_news_list .news_list a .img_wrap {
		width: 160px;
		margin-right: 15px;
	}
	
	.top_news_list .news_list a .info {
		width: calc(100% - 175px);
	}
	
	#Top .top_therapist .therapist_list {
	    padding: 0 40px;
	}
	
	
	.top_therapist .therapist_list .swiper_btn.prev {
	    left: -19px;
	}
	
	.top_therapist .therapist_list .swiper_btn.next {
	    right: -19px;
	}
	
	.top_search {
	    margin-top: -250px;
	}
	
	.top_search .container::before {
		right: -90px;
		/* right: 35px; */
		transform: translateY(-100%) scale(0.9);
	}
	.top_search::before{
    left: -40px;
    top: -160px;
  }
	.blog_list {
		padding: 0 20px;
	}
	
}

@media (max-width: 1100px) {
	.top_news_list .news_list {
	    gap: 20px;
	}
	
	.top_therapist .therapist_list .swiper_btn.prev {
	    left: -8px;
	}
	
	.top_therapist .therapist_list .swiper_btn.next {
	    right: -8px;
	}
}

@media (max-width: 1080px) {
	.main_visual_word {
      /* top: 11vw; */
	}
	
	.top_news_list .news_list a .img_wrap {
		width: 120px;
		margin-right: 10px;
	}
	
	.top_news_list .news_list a .info {
		width: calc(100% - 130px);
	}
	
	.therapist_info .title {
	    font-size: 18px;
	}
	
	.therapist_info li {
	    font-size: 10px;
		letter-spacing: -0.02em;
	}
	
	.top_search {
	    margin-top: -200px;
	}
	
	#Top .contents .contents_bg {
		clip-path: ellipse(116% 50% at 50% 50%);
	}
	
	.top_search .container::before {
		transform: translateY(-100%) scale(0.85);
	}
	
	.blog_list {
		gap: 30px;
	}
	
}

@media (max-width: 990px) {
  .top_search .container::before{
    right: -140px;
  }
  .top_search::before{
    left: -40px;
    top: -100px;
  }
  .main_visual_banner {
    width: calc(100% * 390 / 1400);
  }
  .main_visual_text {
    top: calc(100vw * 550 / 1400);
  }
  .search_wrap .item .check-list.time {
    grid-template-columns: repeat(2, 1fr);
	}

}
@media (max-width: 975px) {
  .main_visual_text {
    /* top: calc(100vw* 455 / 1400); */
  }
  .main_visual_button{
    top: calc(100vw * 655 / 1400);
  }
	

}

@media (max-width: 960px) {
	#Top .top_therapist .therapist_list .swiper_btn.prev a {
		background: url('../images/common/icon_arrow_prev.svg') no-repeat center;
		background-size: 37px 15px;
	}
	
	#Top .top_therapist .therapist_list .swiper_btn.next a {
		background: url('../images/common/icon_arrow_next.svg') no-repeat center;
		background-size: 37px 15px;
	}

	.top_therapist .therapist_list .swiper_btn.prev {
		left: -15px;
	}
	
	.top_therapist .therapist_list .swiper_btn.next {
		right: -15px;
	}
		
	.popular_list {
	    gap: 20px;
		padding: 0 20px;
	}
	
	.popular_list .therapist_image {
	    width: 120px;
	    height: 120px;
	}
	
	.popular_list .therapist_image::after {
		width: calc(100% + 18px);
		height: calc(100% + 18px);
	}
	
	
	.popular_list .therapist_item.popular01 .therapist_image::after {
		width: calc(100% + 30px);
		height: calc(100% + 30px);
	}
	
	.popular_list .therapist_item.popular02 .therapist_image::after {
		width: calc(100% + 26px);
		height: calc(100% + 26px);
	}
	
	.popular_list .therapist_item.popular03 .therapist_image::after {
		width: calc(100% + 18px);
		height: calc(100% + 18px);
	}
	
	.popular_list .therapist_item .popular_number {
	    top: -3px;
	}
	
	.popular_list .therapist_item .popular_number .number {
		font-size: 24px;
	}
	
	.popular_list .therapist_item .popular_number .no {
	    font-size: 14px;
	}
	
	.popular_list .therapist_item .popular_number::before {
	    width: 26px;
	    height: 23px;
	}
	
	
	.therapist_item.popular01 .popular_number::before,
	.therapist_item.popular02 .popular_number::before,
	.therapist_item.popular03 .popular_number::before {
		margin-top: -5px;
		width: 26px;
		height: 23px;
	}
	
	.therapist_item.popular01 .popular_number .number, 
	.therapist_item.popular02 .popular_number .number, 
	.therapist_item.popular03 .popular_number .number {
	    font-size: 20px;
	}
	
	.therapist_item.popular01 .popular_number .no, 
	.therapist_item.popular02 .popular_number .no, 
	.therapist_item.popular03 .popular_number .no {
	    font-size: 16px;
	}
	
	.top_therapist .swiper-slide {
		width: 120px;
		margin-right: 20px;
		padding:20px 0 0 0;
	}
	
	.therapist_list .therapist_item .therapist_image {
	    width: 120px;
	    height: 120px;
	}
	
	.top_therapist .therapist_list .swiper_btn {
		 top: 119px;
	}
	   
	
}



@media (max-width: 935px) {
	.main_visual_word {
	    /* top: 10vw; */
	    /* width: 50vw; */
    }
 
}

@media (max-width: 910px) {
  .main_visual_banner{
    top: calc(100vw * 395 / 1400);
    width: calc(100% * 420 / 1400);
  }
  .main_visual_text {
    top: calc(100vw * 590 / 1400);
  }
  .main_visual_button {
    top: calc(100vw * 725 / 1400);
  }
  .top_search {
    margin-top: -120px;
  }
	.top_news_list .news_list {
	    gap: 20px;
	}
	
	.top_news_list .news_list a .img_wrap {
		width: 105px;
	}
	
	.top_news_list .news_list a .info {
		width: calc(100% - 115px);
	}
	
	.top_news_list .news_li a .title {
	    margin-top: 5px;
	    font-size: 12px;
	}
	
	.top_news_list .news_li a .date {
	    margin-right: 5px;
	}
	
}
@media (max-width: 900px) {
  .top_search .container::before{
    right: -165px;
  }
}
@media (max-width: 870px) {
  .calendar_wrap{
    width: 100%;
  }
	.search_calendar{
    flex-flow: wrap;
  }
  .calendar_wrap + .calendar_wrap::before{
    left: 50%;
    top: -28px;
    transform: translate(-50%, 0) rotate(90deg);
  }
}
@media (max-width: 850px) {
  .top_search .container::before{
    right: -180px;
  }
	.popular_list {
	    padding: 0 10px;
	}
	
	.popular_list .therapist_item.popular02 .therapist_image::after {
		width: calc(100% + 20px);
		height: calc(100% + 20px);
	}
}
@media (max-width: 835px) {
  .search_wrap .item .check-list.time {
    grid-template-columns: repeat(1, 1fr);
	}
}

@media (max-width: 800px) {
	/*==================================
	  Top
	==================================*/
	.top_head {
		font-size: 28px;
		margin-bottom: 15px;
	}
	
	.top_head span {
		padding-bottom: 27px;
	}
	
	.top_head span::before {
		transform: translateX(-50%) scale(0.75);
	}
	
	.main_visual_word {
		left: 50%;
		/* top: 270px; */
		/* top: 50%; */
    top: calc(100vw* 125 / 780);
		/* width: calc(100% - 23px); */
    width: 100%;
		/* transform: translate(-50%,-50%); */
		transform: translateX(-50%);
	}
  .main_visual_banner{
    top: calc(100vw* 550 / 780);
  }
  .main_visual_text{
    top: calc(100vw* 650 / 780);
    line-height: 1.5;
  }
	.main_visual .main_visual_button{
    /* flex-flow: wrap; */
    gap: 8px;
    top: calc(100vw* 800 / 780);
  }
 

	.top_search {
		margin-top: 0;
		padding-bottom: 50px;
	}
	
	.top_search::before {
		left: -47px;
		top: -80px;
    width: 319px;
		transform: scale(0.78);
		transform-origin: left top;
	}
	
	.top_search::after {
		transform: scale(0.49);
		transform-origin: right bottom;
	}
	
	.top_search .container {
		position: relative;
		padding: 38px 15px 0;
	}
	
	.top_search .container::before {
		margin-top: 35px;
		right: -23px;
		transform: translateY(-100%) scale(0.55);
		transform-origin: right bottom;
    width: 328px;
	}
	
	#Top .contents {
		padding-top: 0;
		display: block;
	}
	
	#Top .contents .contents_bg {
		top: -62px;
		height: 600px;
		z-index: -1;
		clip-path: ellipse(92% 50% at 50% 50%);
		    
	}
	
	#Top .contents .contents_bg::before {
	    top: 0;
		background: url(../images/common/sp/main_bg.webp) no-repeat left top / 150% auto;
	}
	
	#Top .search_wrap {
	    padding: 4px;
	}
	
  .search_wrap .search_box {
		padding: 22px 16px 30px ;
	}
	
	.search_wrap .search_cont {
		position: relative;
		padding-bottom: 36px;
	}
	
	/* .search_wrap .search_cont::after {
		content: '';
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 22px;
		z-index: 1;
		width: 100%;
		height: 6px;
		background: url('../images/common/border_area.svg') no-repeat center;
		background-size: 100%;
	}
	 */
	.search_wrap dl {
		display: block;
		position: relative;
		padding-bottom: 33px;
	}
	
	.search_wrap dl+dl {
		margin-top: 15px;
	}
	
	/* .search_wrap dl::before {
		content: '';
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: -5px;
		z-index: 1;
		width: 100%;
		height: 6px;
		background: url('../images/common/border_area.svg') no-repeat center;
		background-size: 100%;
	}
	 */
	/* .search_wrap dl:last-child {
    padding-top: 15px;
		padding-bottom: 15px;
	} */
	
	.search_wrap dl::after {
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		margin-bottom: 0;
	}
	
	.search_wrap dl:first-child::after {
		/* margin-bottom: 10px; */
		margin-bottom: 0;
	}
	
  /* .search_wrap dl:last-child::before {
		content: unset;
		/ content: ''; /
	}  */
	/* .search_wrap dl:last-child::after {
		/ content: unset; /
    content: '';
    top: -3px;
	} */
	
	.search_wrap dl:first-child,
  .search_wrap dl:last-child {
		align-items: center;
	}
	/* .search_wrap dl:nth-child(2)::before{
    bottom: 15px;
  } */
	/* .search_wrap dl:nth-child(2)::after{
    / * bottom: -18px; * /
    / * bottom: -10px; * /
  } */
	
  .search_wrap dl:last-child{
    padding-bottom: 0;
  }

	.search_wrap dt {
		font-size: 22px;
		pointer-events: initial;
		width: 100%;
		margin-right: 0;
		display: block;
		text-align: center;
	}
	
	.search_wrap dt .title {
		display: inline-flex;
		align-items: center;
	}
	
	.search_wrap dt .title::after {
		content: '';
		margin-left: 10px;
		margin-top: 8px;
		width: 12px;
		height: 16px;
		background: url('../images/common/icon_select_btn.svg') no-repeat center;
		background-size: cover;
		transition: .2s ease;
	}
	
	.search_wrap dt.is_active .title::after {
		transform: scale(-1);
		transition: .2s ease;
	}
	
	.search_wrap dd {
		width: 100%;
		margin-top: 14px;
		margin-left: 0;
		/* opacity: 0;
		transform: translateY(-100%);
		pointer-events: none;
		position: absolute; */
		display: none;
		transition: opacity .5s ease,transform .5s ease;
	}
	
	/* .search_wrap dd.is_show {
		height: auto;
		opacity: 1;
		position: relative;
		transform: translateY(0);
		pointer-events: initial;
		transition: opacity .5s ease,transform .5s ease;
	} */
	
	/* .search_wrap dd .item {
		opacity: 0;
		transition: opacity .2s ease;
	}
	
	.search_wrap dd.is_show .item {
		opacity: 1;
		transition: opacity .4s ease;
	} */
	
	.search_wrap dl:first-child dd {
		display: block;
	}
	
	.search_wrap dt span.small {
		font-size: 17px;
	}
	
	.search_wrap input[type=text] {
		width: 100%;
		height: 50px;
		padding: 17px;
		font-size: 16px;
	}
	
	.search_wrap .item {
		display: block;
	}
	
	.search_wrap .item+.item {
		margin-top: 20px;
	}
	
	.search_wrap .item .all {
		width: 100%;
		padding-bottom: 10px;
	}
	
	.search_wrap .item .all::before {
		top: auto;
		bottom: 0;
		z-index: 1;
		width: 100%;
		height: 1px;
	}
	
	.search_wrap .item .list_box {
		width: 100%;
		padding-left: 0;
	}
	
	.search_wrap .item .check-list {
		padding-top: 10px;
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 10px;
	}
	
	.search_wrap .item .check-list.time {
		grid-template-columns: repeat(2,1fr);
		gap: 10px;
	}
	
	.search_wrap .item .check-list li {
		margin-bottom: 10px;
	}
	
	.search_wrap .item .check-list.time li {
		margin: 0;
	}
	
	.search_wrap .item .check-list.time li label {
		margin-right: 0;
	}
	
	.search_wrap .item .counseling_cont {
		margin-top: 14px;
	}
	
	.search_wrap .item .counseling_cont .title {
		margin-bottom: 10px;
		letter-spacing: 0.04em;
		font-size: 12px;
		background:linear-gradient(to right,#ededed 50%,rgba(255,255,255,0) 0%);
		background-position: center;
    background-size: 5px 1px;
    background-repeat: repeat-x;
	}
	
	.search_wrap .item .counseling_cont .title span {
		padding-right: 10px;
	}


	
	input[type=checkbox] + label {
		padding-left: 30px;
		margin-right: 0;
		font-size: 14px;
		letter-spacing: 0.02em;
	}
	
	.button_area {
		width: 258px;
		height: 51px;
		margin: 0 auto;
	}
	
	.button_area::after {
		left: auto;
		right: 0;
		transform: scale(-1);
	}
	
	.button_area_inner .text {
		font-size: 16px;
		letter-spacing: 0.04em;
    padding: 0px 0 1px;
	}
	
	.button_area_inner .text::before {
		transform: scale(0.875);
		margin-right: 5px;
	}
	
	.top_therapist {
		padding: 50px 0;
	}
	
	#Top .top_therapist .therapist_list {
		padding: 0;
	}
	
	.top_therapist .top_head {
		margin-bottom: 24px;
	}
	
	.top_therapist.popular {
		background: url('../images/top/sp/popular_bg.webp') no-repeat;
		background-size: cover;
	}
	
	.top_therapist.popular::before {
		transform: translateY(50%) scale(0.41);
		transform-origin: left;
	}
	
	
	.popular_list {
		display: block;
		max-width: 350px;
		width: 100%;
		margin: 0 auto;
		padding: 0;
	}

	.popular_list .star_wrap .star {
	    margin: 0;
	}
	
	.popular_list .therapist_item+.therapist_item {
		margin-top: 35px;
	}
	
	.popular_list .therapist_item {
		position: relative;
		display: flex;
		align-items: center;
	}
	
	.popular_list .therapist_item::before {
		content: '';
		position: absolute;
		right: 0;
		bottom: -19px;
		z-index: 3;
		width: calc(100% - 90px);
		height: 1px;
		background: linear-gradient(to right, #d6d2f3 50%, rgba(255, 255, 255, 0) 0%);
		background-position: center;
		background-size: 8px 1px;
		background-repeat: repeat-x;
	}
	
	.popular_list .therapist_item:last-child::before {
		content: unset;
	}
	
	.popular_list .therapist_item .popular_number {
		position: absolute;
		top: 10px;
		transform: translate(0,-100%);
		margin-left:0;
	}
	
	
	.therapist_item.popular01 .popular_number,
	.therapist_item.popular02 .popular_number,
	.therapist_item.popular03 .popular_number {
		top: 11px;
	}
	
	.popular_list .therapist_item .popular_number::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		z-index: 2;
		width: 18.5px;
		height: 17px;
		background: url('/images/top/icon_no.svg') no-repeat;
		background-size: cover;
		transform: translateY(-100%);
	}
	
	.therapist_item.popular01 .popular_number::before {
		margin-top: 10px;
		width: 22.67px;
		height: 20px;
		background: url('/images/top/icon_no1.svg') no-repeat;
		background-size: cover;
	}
	
	.therapist_item.popular02 .popular_number::before {
		margin-top: 10px;
		width: 22.67px;
		height: 20px;
		background: url('/images/top/icon_no2.svg') no-repeat;
		background-size: cover;
	}
	
	.therapist_item.popular03 .popular_number::before {
		margin-top: 10px;
		width: 22.67px;
		height: 20px;
		background: url('/images/top/icon_no3.svg') no-repeat;
		background-size: cover;
	}
	
	.popular_list .therapist_item .popular_number .no {
		font-size: 13px;
	}
	
	.popular_list .therapist_item .popular_number .number {
		font-size: 19px;
	}
	
	.therapist_item.popular01 .popular_number .no,
	.therapist_item.popular02 .popular_number .no,
	.therapist_item.popular03 .popular_number .no {
		font-size: 13px;
	}
	
	.therapist_item.popular01 .popular_number .number,
	.therapist_item.popular02 .popular_number .number,
	.therapist_item.popular03 .popular_number .number {
		font-size: 29px;
	}
	
	.popular_list .img_link01 {
		position: relative;
		width: 50%;
		height: auto;
		margin: 0 auto;
		padding: 0 24px;
		/* display: flex;
		justify-content: center; */
	}
	.popular_list .therapist_image {
		position: relative;
		/* width: 50%; */
		height: auto;
		margin: 0 auto;
		/* padding: 0 24px; */
	}
	
	.popular_list .therapist_image .img_hidden {
		width: 124px;
		height: 124px;
		overflow: visible;
		padding: 0;
		position: relative;
	}
	
	.popular_list .therapist_image .img_hidden picture {
		width: 124px;
		height: 124px;
		border-radius: 100%;
		overflow: hidden;
	}
	
	.popular_list .therapist_image::after {
		content: unset;
	}
	
	.popular_list .therapist_image .img_hidden::after {
		content: '';
		position: absolute;
		left: 50%;
		top: 50%;
		z-index: 1;
		width: calc(100% + 24.5px);
		height: calc(100% + 24.5px);
		background: url('../images/top/sp/popular_window04.webp') no-repeat;
		background-size: 100% 100%;
		transform:  translate(-50%,-50%) scale(0.94);
	}
	
	
	.popular_list .therapist_item.popular01 .therapist_image .img_hidden::after {
		width: calc(100% + 38px);
		height: calc(100% + 38px);
		background: url('../images/top/popular_window01.svg') no-repeat;
		background-size: 100% 100%;
	}
	
	.popular_list .therapist_item.popular02 .therapist_image .img_hidden::after {
		width: calc(100% + 42px);
		height: calc(100% + 42px);
		background: url('../images/top/popular_window02.svg') no-repeat;
		background-size: 100% 100%;
		transform: translate(-50%, -50%) scale(0.9);
	}
	
	.popular_list .therapist_item.popular03 .therapist_image .img_hidden::after {
		width: calc(100% + 24.5px);
		height: calc(100% + 24.5px);
		background: url('../images/top/sp/popular_window03.webp') no-repeat;
		background-size: 100% 100%;
	}
	
	.therapist_image .img_hidden {
		position: relative;
		padding-top: 100%;
	}
	
	.therapist_image picture {
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
		width: 102%;
		height: 102%;
		object-fit: cover;
	}
	
	.popular_list .therapist_image .img_hidden,
	.popular_list  .therapist_item.popular01 .therapist_image .img_hidden,
	.popular_list  .therapist_item.popular02 .therapist_image .img_hidden,
	.popular_list  .therapist_item.popular03 .therapist_image .img_hidden {
		border: none;
	}
	
	.popular_list .therapist_image .img_hidden picture {
		border: 1px solid #ad96da;
	}
	
	.popular_list  .therapist_item.popular01 .therapist_image .img_hidden picture {
		border: 1px solid #beab26;
	}
	
	.popular_list  .therapist_item.popular02 .therapist_image .img_hidden picture {
		border: 1px solid #919191;
	}
	
	.popular_list  .therapist_item.popular03 .therapist_image .img_hidden picture {
		border: 1px solid #8b695f;
	}
	
	.therapist_info {
		margin-top: 0;
		width: 50%;
		padding-left: 8px;
	}
	
	.therapist_info .title {
		font-size: 21px;
		margin-bottom: 5px;
		margin-bottom: 5px;
		text-align: left;
	}
	
	.star_wrap .star {
		max-width: 125px;
		margin: 0;
	}
	
	.star_wrap .star::after {
		font-size: 12px;
		transform: translateY(-50%);
	}
	
	.star_wrap .star span {
		position: relative;
		margin-right: 0;
		transform: scale(0.9);
		transform-origin: left;
	}
	
	.therapist_info ul {
		margin-top: 5px;
		justify-content: flex-start;
		gap: 4px;
	}
	
	.therapist_info li {
		font-size: 11px;
		padding: 3px;
	}
	
	.therapist_info li span,
	.therapist_info li a {
		min-height: 17.5px;
		padding: 0 7px;
		white-space: nowrap;
	}
	
	.therapist_info li span::after,
	.therapist_info li a::after {
		left: auto;
		right: -4px;
		transform: translateY(-50%) scale(-1);
	}
	
	.top_therapist.on {
		background: url('../images/top/sp/therapist_bg.webp') no-repeat right bottom;
		background-size: cover;
	}
	
	.top_therapist.on .top_head {
		margin-bottom: 11px;
	}
	
	.therapist_list .therapist_item .therapist_image {
		width: 147px;
		height: 147px;
		padding: 3px;
		border: 1px solid #e0d4f8;
	}
	
	.therapist_list .therapist_item .therapist_image .img_hidden {
		border-radius: 100%;
	}
	
	.top_therapist .therapist_list {
		position: relative;
		/* max-width: 350px; */
		max-width: 600px;
		width: 100%;
		margin: 0 auto;
	}
	
	.top_therapist .therapist_list .swiper-slide .therapist_item {
		display: block;		
	}

	.top_therapist .therapist_list .swiper-slide .therapist_item a {
		display: block;
	}
	
	.top_therapist .therapist_list .swiper-slide .therapist_item+.therapist_item {
		margin-top: 20px;
	}
	
	.therapist_list .therapist_info {
		margin-top: 10px;
		width: 100%;
		padding: 0;
	} 
	
	.therapist_list .therapist_info .title {
		text-align: center;
	}
	
	.star_wrap .star {
	    margin: 0 auto;
	}
	
	.therapist_list .therapist_info ul {
		justify-content: center;
	}
	
	.top_therapist .therapist_list .swiper_btn {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 43px;
		height: 17px;
		z-index: 5;
		margin-top: 10px;
	}
	
	.top_therapist .therapist_list .swiper_btn.prev {
		left: -10px;
		margin-left:0;
	}
	
	.top_therapist .therapist_list .swiper_btn.next {
		right: -10px;
		margin-right: 0;
	}
	
	.top_therapist .therapist_list .swiper_btn a {
		display: block;
		width: 100%;
		height: 100%;
	}
	
	.top_therapist .therapist_list .swiper_btn.prev a {
		background: url('../images/common/icon_arrow_prev.svg') no-repeat center;
		background-size: 43px 17px;
	}
	
	.top_therapist .therapist_list .swiper_btn.next a {
		background: url('../images/common/icon_arrow_next.svg') no-repeat center;
		background-size: 43px 17px;
	}
	
	.top_therapist .therapist_list .swiper-button-prev,
	.top_therapist .therapist_list .swiper-button-next {
		display: none;
	}


	.top_therapist .therapist_list .swiper {
		width: 100%;
		height: auto;
		overflow: visible;
	}
	
	.therapist_button {
		margin-top: 60px;
	}
	
	.top_blog {
		padding: 50px 0;
		background: url('../images/top/sp/blog_bg.webp') no-repeat;
		background-size: cover;
	}
	
	.blog_list {
		grid-template-columns: repeat(2,1fr);
		gap: 13px 23px;
		padding: 0;
	}
	
	.blog_image_wrap {
		position: relative;
	}
	
	.blog_image_wrap::before {
		top: 4px;
		width: 155px;
	}
	
	.blog_image {
		max-width: 163px;
		aspect-ratio: 163 / 146;
	}
	
	.blog_image::before,
	.blog_image::after {
		left: 4px;
		bottom: 4px;
		z-index: 3;
		width: 20px;
		height: 20px;
	}
	
	.blog_image::after {
		left: auto;
		right: 4px;
	}
	
	.blog_item .blog_info {
		margin-top: 10px;
	}
	
	.blog_item .blog_info .date {
		font-size: 10px;
	}
	
	.blog_item .blog_info .title {
		font-size: 14px;
		line-height: 1.3;
		margin-top: 8px;
		
	}
	
	.blog_item .blog_info .name {
		margin-top: 13px;
		padding-top: 7px;
	}
	
	
	.blog_item .blog_info .name dt {
		width: 24px;
		margin-right: 7px;
	}
	
	.blog_item .blog_info .name dt picture {
		width: 24px;
		height: 24px;
	}
	
	.blog_item .blog_info .name dd {
		width: calc(100% - 31px);
		font-size: 12px;
	}
	
	.blog_button {
		margin-top: 40px;
	}
	
	.top_news {
		padding: 50px 0;
	}
	
	.top_news::before {
		transform: translate(-50%,-50%) scale(0.36);
	}
	
	.top_news::after {
		/* bottom: -50px; */
		
		transform: scale(0.41);
		transform-origin: right bottom;
	}
	
	.top_news_list .news_list {
	    display: block;
	}
	
	.top_news_list .news_list a {
		display: flex;
		align-items: center;
	}
	
	.top_news_list .news_list a .img_wrap {
		width: 137px;
		margin-right: 20px;
	}
	
	.top_news_list .news_list a .info {
		width: calc(100% - 157px);
	}
	
	.top_news_list .news_li a .title {
		margin-top: 8px;
		font-size: 14px;
		line-height: 1.45;
	}
		
	
	.top_news_list .news_li a .date {
	    margin-right: 6px;
	}
	
	.news_button {
		margin-top: 40px;
	}
	
}
@media (max-width: 580px){
  .main_visual .main_visual_button{
    width: 350px;
    top: calc(100vw * 950 / 780);
  }
  .main_visual .main_visual_button .button_area{
    mask-image: url(../images/top/sp/btn_windows_small.svg);
  }
  .main_visual .main_visual_button .button_area .button_area_inner .text {
    font-size: 13px;
  }
  .main_visual_text {
    top: calc(100vw * 750 / 780);
  }
  .main_visual_banner {
    top: calc(100vw * 560 / 780);
    width: calc(100vw * 400 / 780);
    max-width: 400px;
  }

}
@media (max-width: 420px){
  .main_visual_text{
    top: calc(100vw * 755 / 780);
    font-size: 12px;
  }
  .main_visual .main_visual_button {
    top: calc(100vw * 935 / 780);
  }
}
/*==================================
  News
==================================*/
#News .contents {
	position: relative;
}

#News .contents::before {
	content: '';
	position: absolute;
	right: 0;
	bottom: -16px;
	z-index: 5;
	width: 474px;
	height: 421px;
	background: url('../images/news/flower.svg') no-repeat;
	background-size: cover;
}

.news_list {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 40px 48px;
}

.news_li a {
	display: block;
}

.news_li a .img_wrap {
	margin-bottom: 15px;
	padding: 2px;
	border: 1px solid #B3A17A;
	display: block;
}

.news_li a .image_box {
	position: relative;
	padding-top: 100%;
	width: 100%;
	display: block;
	border: 1px solid #B3A17A;
	overflow: hidden;
}

.news_li a .image_box picture {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
}

.news_li a .image_box picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news_li a .date {
	font-family: "Cinzel", system-ui;
	font-size: 12px;
	letter-spacing: 0.08em;
	line-height: 1;
	display: inline-block;
	margin-right: 5px;
}

.news_li a .cate {
	font-size: 10px;
	font-weight: 500;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 54px;
	height: 18px;
	background: #663F8C;
	border-radius: 9px;
	color: #fff;
	padding: 0 7px;
}

.news_li a .title {
	display: block;
	color: #1E1521;
	margin-top: 10px;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.45;
}

/* detail */
.news_detail {
	position: relative;
	z-index: 5;
	max-width: 920px;
	width: 100%;
	margin: 0 auto;
}

.news_detail_head {
	/* margin-bottom: 32px; */
  padding-bottom: 32px;
  position: relative;
}
.news_detail_head::before ,
.news_detail_head::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #b3a17a;
  left: 0;
}
.news_detail_head::before {
  bottom: 3px;
}
.news_detail_head::after {
  bottom: 0;
}
.news_detail_head .date {
	font-size: 20px;
	letter-spacing: 0.08em;
	line-height: 1;
	display: inline-block;
	margin-right: 16px;
	font-weight: 400;
}

.news_detail_head .cate {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 13.5px;
	min-width: 80px;
	height: 27px;
	padding: 0 6px;
	font-weight: 500;
	color: #fff;
	background: #663f8c;
}

.news_detail_head .title {
	display: block;
	margin-top: 15px;
	font-weight: 500;
	font-size: 28px;
	letter-spacing: 0.08em;
	line-height: 1;
}

.news_detail_body {
  padding: 52px 0;
  font-size: 18px;
  line-height: 1.75;
  position: relative;
}

.news_detail_body p ,
.news_detail_body span ,
.news_detail_body div ,
.news_detail_body li {
  font-size: 18px;
  line-height: 1.75;
}

.news_detail_body::before {
  bottom: 3px;
}
.news_detail_body::after {
  bottom: 0;
}

.news_detail_body p,
.news_detail_body div {
  line-height: inherit;
	font-weight: 500;
}

.news_detail_body p+p,
.news_detail_body div+div {
	margin-top: 28px;
}

.news_detail_body ul{
  padding-left: 1.3em;
}

.news_detail_body ul li{
  list-style: disc;
}

.news_detail_body ol li{
  list-style: decimal;
}

.news_detail_body a{
  text-decoration: underline;
}
.news_detail_body a:hover{
  text-decoration: none;
}

.news_detail_body table th,
.news_detail_body table td{
  border: 1px solid #333;
  padding: 10px;
}

.news_detail_body picture {
	display: block;
	margin-top: 42px;
	max-width: 700px;
	width: 100%;
}

@media (max-width: 1190px) {
	#News .contents::before {
		transform-origin: right bottom;
		transform: scale(0.9);
	}
	
	.news_list {
		gap: 20px;
	}
}

@media (max-width: 800px) {
	/*==================================
	  News
	==================================*/
	#News .contents::before {
		right: -135px;
		bottom: -22px;
		z-index: 4;
		width: 322px;
		height: 200px;
		background: url('../images/news/sp/flower.svg') no-repeat;
		background-size: cover;
		transform: scale(1);
	}
	
	.news_list {
		display: block;
	}
	
	.news_li+.news_li {
		margin-top: 15px;
	}
	
	.news_li a {
		display: flex;
		align-items: center;
	}
	
	.news_li a .img_wrap {
		width: 132px;
		
		margin-right: 20px;
		margin-bottom: 0;
		padding: 2px;
		border: 1px solid #B3A17A;
		display: block;
	}
	
	.news_li a .image_box {
		position: relative;
		/* padding-top: 100%; */
		width: 100%;
		height: 100%;
		display: block;
		border: 1px solid #B3A17A;
		overflow: hidden;
	}
	
	.news_li a .image_box picture {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 2;
		width: 100%;
		height: 100%;
	}

	.news_li a .image_box picture img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	.news_li a .info {
		display: block;
		width: calc(100% - 152px);
	}
	
	.news_li a .date {
		margin-right: 5px;
	}
	
	.news_li a .cate {
		font-size: 10px;
		min-width: 65px;
		height: 20px;
	}
	
	.news_li a .title {
		font-size: 14px;
	}
	
	
	/* detail */
	
	.news_detail_head {
		margin-bottom: 20px;
	}
	
	.news_detail_head .date {
		font-size: 14px;
		margin-right: 10px;
	}
	
	.news_detail_head .cate {
		font-size: 11px;
		border-radius: 13.5px;
		min-width: 75px;
		height: 20px;
	}
	
	.news_detail_head .title {
		margin-top: 12px;
		font-size: 18px;
		line-height: 1.16;
	}
	
	.news_detail_body {
		padding: 40px 0;
	}
	
	.news_detail_body p {
		font-size: 18px;
	}
	
	.news_detail_body p+p {
		margin-top: 26px;
	}
	
	.news_detail_body picture {
		display: block;
		margin-top: 42px;
		max-width: 700px;
		width: 100%;
	}
	
}

/*==================================
	  Diagnosis
==================================*/
/* diagnosis */
#teaser.diagnosis_teaser {
	padding: 170px 0 230px;
}

.diagnosis_teaser .teaser_text {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.75;
	text-align: center;
}

.diagnosis_teaser .breadcrumb {
	padding: 44.5px 0 21px;
}

#Diagnosis .contents .contents_bg {
	top: 67px;
}

#Diagnosis .contents .contents_bg::before {
    top: 0; 
	background: #f9f9f5;
}

.diagnosis_wrap {
	padding-bottom: 88px;
	margin-top: -150px;
}

.diagnosis_form {
	max-width: 912px;
	width: 100%;
	margin: 0 auto;
}

.diagnosis_form_inner {
	position: relative;
	z-index: 3;
	padding: 65px 85px 36px;
}

.diagnosis_form form {
	position: relative;
}

.diagnosis_form_inner::before,
.diagnosis_form_inner::after {
	content: '';
	position: absolute;
	z-index: -1;
	left: 48px;
	top: 0;
	width: calc(100% - 96px);
	height: 100%;
	background: #fff;
}

.diagnosis_form_inner::after {
	left: 0;
	top: 42px;
	width: 100%;
	height: calc(100% - 85px);
}

.diagnosis_form_border01,
.diagnosis_form_border02 {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.diagnosis_form_border02 {
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}

.diagnosis_form_border01.border01::after,
.diagnosis_form_border01.border01::before,
.diagnosis_form_border01.border02::after,
.diagnosis_form_border01.border02::before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 48px;
	height: 43px;
	background: url('../images/diagnosis/form_border01.svg') no-repeat;
	background-size: cover;
}

.diagnosis_form_border01.border01::after {
	left: auto;
	right: 0;
	transform: scale(-1,1);
}

.diagnosis_form_border01.border02::after,
.diagnosis_form_border01.border02::before {
	top: auto;
	bottom: 0;
	transform: scale(1,-1);
}

.diagnosis_form_border01.border02::after {
	left: auto;
	right: 0;
	transform: scale(-1,-1);
}

.diagnosis_form_border01.border03::before,
.diagnosis_form_border01.border03::after {
	content: '';
	position: absolute;
	left: 0;
	top: 42px;
	height: calc(100% - 85px);
	width: 100%;
	border-left: #D8C6A0 2px solid;
	border-right: #D8C6A0 2px solid;
	pointer-events: none;
}

.diagnosis_form_border01.border03::after {
	top: 0;
	left: 48px;
	height: 100%;
	width: calc(100% - 96px);
	border-top: #D8C6A0 2px solid;
	border-bottom: #D8C6A0 2px solid;
	border-left: none;
	border-right: none;
}

.diagnosis_form_border02.border01::after,
.diagnosis_form_border02.border01::before,
.diagnosis_form_border02.border02::after,
.diagnosis_form_border02.border02::before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 43px;
	height: 40px;
	background: url('../images/diagnosis/form_border02.svg') no-repeat;
	background-size: cover;
}

.diagnosis_form_border02.border01::after {
	left: auto;
	right: 0;
	transform: scale(-1,1);
}

.diagnosis_form_border02.border02::after,
.diagnosis_form_border02.border02::before {
	top: auto;
	bottom: 0;
	transform: scale(1,-1);
}

.diagnosis_form_border02.border02::after {
	left: auto;
	right: 0;
	transform: scale(-1,-1);
}

.diagnosis_form_border02.border03::before,
.diagnosis_form_border02.border03::after {
	content: '';
	position: absolute;
	left: 0;
	top: 40px;
	height: calc(100% - 80px);
	width: 100%;
	border-left: #D8C6A0 1px solid;
	border-right: #D8C6A0 1px solid;
	pointer-events: none;
}

.diagnosis_form_border02.border03::after {
	top: 0;
	left: 43px;
	height: 100%;
	width: calc(100% - 86px);
	border-top: #D8C6A0 1px solid;
	border-bottom: #D8C6A0 1px solid;
	border-left: none;
	border-right: none;
}


.diagnosis_wrap input[type=checkbox] + label::before {
	top: 14px;
    width: 35px;
    height: 35px;
    background: url(../images/diagnosis/icon_check_bg.svg) no-repeat;
    background-size: cover;
}

.diagnosis_wrap input[type=checkbox] + label::after {
	top: 14px;
    width: 35px;
    height: 35px;
    background: url(../images/diagnosis/icon_check.svg) no-repeat;
    background-size: cover;
}

.diagnosis_wrap  input[type=checkbox] + label {
    width: 100%;
    padding: 15px 0 15px 50px;
    background:linear-gradient(to right,#D6D2F3 50%,rgba(255,255,255,0) 0%);
    background-position: center bottom;
    background-size: 6px 1px;
    background-repeat: repeat-x;
    font-size: 18px;
    letter-spacing: 0.08em;
    line-height: 1.75;
	margin-right: 0;
}

.diagnosis_wrap li:last-child input[type=checkbox] + label {
    background: unset;
}

.diagnosis_form .check-list li {
	align-items: center;
	display: flex;
}

.diagnosis_form .button_area {
	margin-top: 40px;
}


@media (max-width: 800px) {
	/* diagnosis */
	#teaser.diagnosis_teaser {
		padding: 118px 0 95px
	}
	
	.diagnosis_teaser .teaser_text {
		font-size: 14px;
		text-align: left;
		margin-top: 65px;
	}
	
	.diagnosis_teaser .breadcrumb {
		padding: 44.5px 0 21px;
	}
	
	#Diagnosis .contents {
		padding-top: 0;
	}
	
	#Diagnosis .contents .contents_bg {
		top: -40px;
	}
	
	.diagnosis_wrap {
		padding-bottom: 55.5px;
		margin-top: -72px;
	}
	
	.diagnosis_form {
		max-width: 912px;
		width: 100%;
		margin: 0 auto;
	}
	
	.diagnosis_form_inner {
		position: relative;
		z-index: 3;
		padding: 20px 26px 20px;
	}
	
	.diagnosis_form form {
		position: relative;
	}
	
	.diagnosis_form_inner::before,
	.diagnosis_form_inner::after {
		left: 24.5px;
		top: 0;
		height: 100%;
		width: calc(100% - 49px);
	}
	
	.diagnosis_form_inner::after {
		left: 0;
		top: 22.5px;
		width: 100%;
		height: 100%;
		height: calc(100% - 44px);
	}
	
	.diagnosis_form_border02 {
		width: calc(100% - 15px);
		height: calc(100% - 15px);
	}
	
	.diagnosis_form_border01.border01::after,
	.diagnosis_form_border01.border01::before,
	.diagnosis_form_border01.border02::after,
	.diagnosis_form_border01.border02::before{
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		width: 25.5px;
		height: 23.5px;
		background: url('../images/diagnosis/sp/form_border01.svg') no-repeat;
		background-size: cover;
	}
	
	
	.diagnosis_form_border01.border01::before {
		left: -0.2px;
		top: -0.3px;
	}
	
	.diagnosis_form_border01.border01::after {
		left: auto;
		right: -0.2px;
		top: -0.3px;
		transform: scale(-1,1);
	}
	
	.diagnosis_form_border01.border02::after,
	.diagnosis_form_border01.border02::before {
		top: auto;
		left: -0.2px;
		bottom: -0.3px;
		transform: scale(1,-1);
	}
	
	.diagnosis_form_border01.border02::after {
		left: auto;
		right: -0.2px;
		transform: scale(-1,-1);
	}
	
	.diagnosis_form_border01.border03::before,
	.diagnosis_form_border01.border03::after {
		top: 22.5px;
		height: calc(100% - 45px);
		width: 100%;
		border-left: #D8C6A0 2px solid;
		border-right: #D8C6A0 2px solid;
		pointer-events: none;
	}
	
	.diagnosis_form_border01.border03::after {
		top: 0;
		left: 24.5px;
		height: 100%;
		width: calc(100% - 49px);
		border-top: #D8C6A0 2px solid;
		border-bottom: #D8C6A0 2px solid;
		border-left: none;
		border-right: none;
	}
	
	.diagnosis_form_border02.border01::after,
	.diagnosis_form_border02.border01::before,
	.diagnosis_form_border02.border02::after,
	.diagnosis_form_border02.border02::before{
		width: 22px;
		height: 18.5px;
		background: url('../images/diagnosis/sp/form_border02.svg') no-repeat;
		background-size: cover;
	}
	
	.diagnosis_form_border02.border01::after {
		left: auto;
		right: 0;
		transform: scale(-1,1);
	}
	
	.diagnosis_form_border02.border02::after,
	.diagnosis_form_border02.border02::before {
		top: auto;
		bottom: 0;
		transform: scale(1,-1);
	}
	
	.diagnosis_form_border02.border02::after {
		left: auto;
		right: 0;
		transform: scale(-1,-1);
	}
	
	.diagnosis_form_border02.border03::before,
	.diagnosis_form_border02.border03::after {
		content: '';
		position: absolute;
		left: 0;
		top: 18.5px;
		height: calc(100% - 37px);
		width: 100%;
		border-left: #D8C6A0 1px solid;
		border-right: #D8C6A0 1px solid;
		pointer-events: none;
	}
	
	.diagnosis_form_border02.border03::after {
		top: 0;
		left: 22px;
		height: 100%;
		width: calc(100% - 44px);
		border-top: #D8C6A0 1px solid;
		border-bottom: #D8C6A0 1px solid;
		border-left: none;
		border-right: none;
	}
	
	
	.diagnosis_wrap input[type=checkbox] + label::before {
		top: 15px;
	    width: 21px;
	    height: 21px;
	    background: url(../images/diagnosis/icon_check_bg.svg) no-repeat;
	    background-size: cover;
	}
	
	.diagnosis_wrap input[type=checkbox] + label::after {
		top: 15px;
	    width: 21px;
	    height: 21px;
	    background: url(../images/diagnosis/icon_check.svg) no-repeat;
	    background-size: cover;
	}
	
	.diagnosis_wrap  input[type=checkbox] + label {
	    padding-left: 30px;
	    font-size: 14px;
	    line-height: 1.45;
		
		letter-spacing: 0.04em;
	}
	
	.diagnosis_wrap li:last-child input[type=checkbox] + label {
		background: unset;
	}
}

/* 診断結果 */
#Diagnosis_result .contents {
	position: relative;
}

#Diagnosis_result .contents::before {
	content: '';
	position: absolute;
	left: 0;
	top: 30%;
	width: 100%;
	height: 70%;
	z-index: -3;
	background: #f9f9f5;
	
}

.diagnosis_result_wrap {
	position: relative;
  z-index: 1;
}

.diagnosis_result_wrap::before,
.diagnosis_result_wrap::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}

.diagnosis_result_wrap::before {
	width: 186px;
	height: 396px;
	background: url('../images/diagnosis/left_tree.webp') no-repeat;
	background-size: cover;
}

.diagnosis_result_wrap::after {
	margin-bottom: 210px;
	transform: translateY(100%);
	left: auto;
	right: 0;
	width: 467px;
	height: 500px;
	background: url(../images/diagnosis/right_flower.webp) no-repeat;
	background-size: cover;
}

.diagnosis_result {
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
}


#Diagnosis_result #teaser.diagnosis_teaser {
    padding: 170px 0 320px;
}

#Diagnosis_result .contents .contents_bg {
	top: 110px;
}

#Diagnosis_result .contents .contents_bg::before {
    top: 0; 
	background: #f9f9f5;
}

.diagnosis_result_wrap {
	margin-top: -300px;
}

.diagnosis_recommend h3 {
	font-size: 34px;
	line-height: 1;
	letter-spacing: 0.08em;
	font-weight: 500;
	text-align: center;
	margin-bottom: 45px;
}


.diagnosis_recommend_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-left: -30px;
}

.diagnosis_recommend_item {
	width: 300px;
	margin-left: 30px;
	margin-bottom: 25px;
	display: block;
}

.diagnosis_recommend_item .info {
	margin-top: 30px;
}


.diagnosis_recommend_image {
	position: relative;
	width: 300px;
	height: 138px;
}


.diagnosis_recommend_border {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
	width: 100%;
	height: 100%;
}

.diagnosis_recommend_border::before,
.diagnosis_recommend_border::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
	width: 101%;
	height: 101%;
	
	background: url('../images/diagnosis/result_border01.svg') no-repeat center;
	background-size: 100% 100%;
}

.diagnosis_recommend_border::after {
	width: 318px;
	height: 154px;
	background: url('../images/diagnosis/result_border02.svg') no-repeat center;
	background-size: cover;
}
/* 
.diagnosis_recommend_border01.border01::before,
.diagnosis_recommend_border01.border01::after,
.diagnosis_recommend_border01.border02::before,
.diagnosis_recommend_border01.border02::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 46px;
	height: 40px;
	background: url('../images/diagnosis/icon_result_border01.svg') no-repeat;
	background-size: cover;
}

.diagnosis_recommend_border01.border01::after {
	left: auto;
	right: 0;
	transform: scale(-1,1);
}

.diagnosis_recommend_border01.border02::before,
.diagnosis_recommend_border01.border02::after {
	top: auto;
	bottom: 0;
}

.diagnosis_recommend_border01.border02::before {
	transform: scale(1,-1);
}

.diagnosis_recommend_border01.border02::after {
	left: auto;
	right: 0;
	transform: scale(-1,-1);
}

.diagnosis_recommend_border01.border03::before,
.diagnosis_recommend_border01.border03::after {
	content: '';
	position: absolute;
	left: 0;
	top: 34px;
	height: calc(100% - 68px);
	width: 100%;
	border-left: #d9c79e 3px solid;
	border-right: #d9c79e 3px solid;
	pointer-events: none;
}

.diagnosis_recommend_border01.border03::after {
	top: 0;
	left: 46px;
	height: 100%;
	width: calc(100% - 92px);
	border-top: #d9c79e 3px solid;
	border-bottom: #d9c79e 3px solid;
	border-left: none;
	border-right: none;
}
 */
/* .diagnosis_recommend_border02 {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 5;
	width: 100%;
	height: 100%;
	
} */

/* .diagnosis_recommend_border02.border01::before,
.diagnosis_recommend_border02.border01::after,
.diagnosis_recommend_border02.border02::before,
.diagnosis_recommend_border02.border02::after {
	content: '';
	position: absolute;
	left: -1px;
	top: -1px;
	z-index: 3;
	width: 42px;
	height: 36px;
	background: url('../images/diagnosis/icon_result_border02.svg') no-repeat;
	background-size: cover;
} */

/* .diagnosis_recommend_border02.border01::after {
	left: auto;
	right: 0;
	transform: scale(-1,1);
}

.diagnosis_recommend_border02.border02::before,
.diagnosis_recommend_border02.border02::after {
	top: auto;
	bottom: 0;
}

.diagnosis_recommend_border02.border02::before {
	transform: scale(1,-1);
}

.diagnosis_recommend_border02.border02::after {
	left: auto;
	right: -1px;
	transform: scale(-1,-1);
}

.diagnosis_recommend_border02.border03::before,
.diagnosis_recommend_border02.border03::after {
    content: '';
    position: absolute;
    left: -0.5px;
    top: 34px;
    height: calc(100% - 67px);
    width: calc(100% + 1px);
    border-left: #d9c79e 1px solid;
    border-right: #d9c79e 1px solid;
    pointer-events: none;
}

.diagnosis_recommend_border02.border03::after {
	top: -0.5px;
	left: 41px;
	height: calc(100% + 1px);
	width: calc(100% - 82px);
	border-top: #d9c79e 1px solid;
	border-bottom: #d9c79e 1px solid;
	border-left: none;
	border-right: none;
} */

.diagnosis_recommend_image::before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -23px;
	z-index: 5;
	width: 27px;
	height: 7px;
	background: url('../images/diagnosis/icon_dots.svg') no-repeat;
	background-size: 100% 100%;
}


.diagnosis_recommend_mask {
	position: relative;
	width: 100%;
	height: 100%;
	margin-right: auto;
	margin-left: auto;
	-webkit-mask-image: url('../images/diagnosis/result_windows.svg');
	mask-image: url('../images/diagnosis/result_windows.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	overflow: hidden;
}

.diagnosis_recommend_image picture {
	display: block;
	width: 105%;
	height: 105%;
	position: relative;
	transition: transform .3s ease;
}


.diagnosis_recommend_image img {
	width: 105%;
	height: 105%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	object-fit: cover;
}

.diagnosis_recommend_info {
	margin-top: 27px;
}

.diagnosis_recommend_info p {
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-align: center;
}

.result_section {
	margin-top: 93px;
}

.diagnosis_result .result_section .result_cont+.result_cont {
	margin-top: 68px;
}

.diagnosis_result .result_section .result_cont h3 {
	font-size: 32px;
	letter-spacing: 0.08em;
	font-weight: 500;
	line-height: 1;
	padding-bottom: 17px;
	border-bottom: 4px double #b3a17a;
	margin-bottom: 35px;
}

.diagnosis_result .result_section .result_cont p {
	font-size: 16px;
	line-height: 1.75;
	font-weight: 500;
	margin-bottom: 27px;
}

.diagnosis_result .result_section .result_cont .result_link {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.diagnosis_result .result_section .result_cont .result_link .button_area {
	color: #fff;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.45;
	margin: 0 5px 10px;
}

.result_re_link {
	position: relative;
	/* z-index: 1; */
	padding: 90px 0 100px;
	margin-top: 50px;
}


.result_re_link::before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	z-index: -2;
	width: 100vw;
	height: 100%;
	background: url('../images/diagnosis/result_bg.webp') no-repeat;
	background-size: cover;
}

.result_re_link .button_area {
    position: relative;
    cursor: pointer;
    max-width: 377px;
    width: 100%;
    height: 74px;
}

.result_re_link .button_area_inner .text {
    font-size: 18px;
}


@media (min-width: 960px) {
	.diagnosis_recommend_item:hover picture {
		transform: scale(1.05);
		transition: transform .3s ease;
	}
}

@media (max-width: 1350px) {
	.diagnosis_result_wrap::after {
		transform-origin: right bottom;
		transform: translateY(100%) scale(0.9);
	}
	
}

@media (max-width: 1260px) {
	.diagnosis_result_wrap::after {
		transform: translateY(100%) scale(0.8);
		transform-origin: right bottom;
	}
	
}

@media (max-width: 1065px) {
	.diagnosis_result_wrap::after {
		transform: translateY(100%) scale(0.7);
		transform-origin: right bottom;
	}
	
	.diagnosis_recommend_list {
		margin-left: -10px;
	}
	
	.diagnosis_recommend_item  {
		transform: scale(0.8);
		margin-left: 10px;
	}
	
	
}

@media (max-width: 800px) {
	/* 診断結果 */
	#Diagnosis_result .contents {
		padding-top: 0;
	}
	.diagnosis_result_wrap {
		position: relative;
	}
	
	.diagnosis_result_wrap::before,
	.diagnosis_result_wrap::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
	}
	
	.diagnosis_result_wrap::before {
		bottom: 44px;
		left: -25px;
		width: 93px;
		height: 198.5px;
		background: url(../images/diagnosis/left_tree.webp) no-repeat;
		background-size: cover;
	}
	
	.diagnosis_result_wrap::after {
		left: auto;
		right: -41px;
		bottom: -186px;
		width: 236px;
		height: 250px;
		background: url('../images/diagnosis/right_flower.webp') no-repeat;
		background-size: cover;
		transform: translateY(0) scale(1);
		margin: 0;
	}
	
	
	#Diagnosis_result  #teaser.diagnosis_teaser {
	    padding: 117px 0 195px;
	}
	
	#Diagnosis_result .contents .contents_bg {
		top: -40px;
	}
	
	.diagnosis_result_wrap {
		margin-top: -110px;
	}
	
	.diagnosis_recommend h3 {
		font-size: 21px;
		margin-bottom: 24px;
	}
	
	
	.diagnosis_recommend_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-left: -17px;
	}
	
	.diagnosis_recommend_item {
		width: 156px;
		margin-left: 17px;
		margin-bottom: 20px;
		transform: scale(1);
	}
	
	.diagnosis_recommend_item .info {
		margin-top: 18px;
	}
	
	
	.diagnosis_recommend_image {
		position: relative;
		width: 156px;
		height: 73px;
		position: relative;
	}
	
	.diagnosis_recommend_image::before {
		bottom: -16px;
		z-index: 5;
		width: 19px;
		height: 5px;
	}
	
	
	.diagnosis_recommend_border::after {
		width: 165px;
		height: 80px;
	}
	
	
	.diagnosis_recommend_info {
		margin-top: 20px;
	}
	
	.diagnosis_recommend_info p {
		font-size: 13px;
	}
	
	.result_section {
		margin-top: 57px;
	}
	
	.diagnosis_result .result_section .result_cont+.result_cont {
		margin-top: 46px;
	}
	
	.diagnosis_result .result_section .result_cont h3 {
		font-size: 18px;
		letter-spacing: 0.01em;
		font-weight: 500;
		line-height: 1.16;
		padding-bottom: 14px;
		margin-bottom: 25px;
		white-space: nowrap;
	}
	
	.diagnosis_result .result_section .result_cont p {
		font-size: 14px;
		margin-bottom: 27.5px;
	}
	
	.diagnosis_result .result_section .result_cont .result_link {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	
	.diagnosis_result .result_section .result_cont .result_link .button_area {
		font-size: 14px;
	}
	
	.result_re_link {
		position: relative;
		/* z-index: 1; */
		padding: 58px 0 55px;
		margin-top: 63px;
	}
	
	
	.result_re_link::before {
		content: '';
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: auto;
		top: 0;
		z-index: -2;
		width: 100vw;
		height: calc(100% + 100px);
		background: url('../images/diagnosis/result_bg.webp') no-repeat center;
		background-size: cover;
	}
	
	.result_re_link .button_area {
	    max-width: 284px;
	    height: 56px;
	}
	
	.result_re_link .button_area_inner .text {
	    font-size: 14px;
	}
	
}

/*==================================
	セラピストを探す
==================================*/

/* therapist */
#Therapist .contents .contents_bg::before {
    top: 0;
    background: url('../images/therapist/therapist_bg.webp') no-repeat;
    background-size: cover;
}

#Therapist .contents {
	background: url('../images/therapist/therapist_bg.webp') no-repeat;
	background-size: cover;
}

/* .therapist_wrap {
	max-width: 1080px;
	width: 100%;
	margin: 0 auto;
} */

.therapist_form.search_wrap .search_box {
	padding-bottom: 26px;
}

.js-toggle-target.is-active {
	display: none;
}

.js-toggle-target .button_area_inner .text::before {
	content: unset;
}

.js-toggle-target .button_area_inner .text::after {
    content: '';
    width: 12px;
    height: 14px;
    background: url(../images/common/icon_select_btn_white.svg) no-repeat;
    background-size: cover;
    margin-left: 7px;
	margin-top: 1px;
}

.therapist_top {
	display: flex;
	justify-content: space-between;
}

.therapist_top .keywords_ul li {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.08em;
}

.therapist_top .box {
	display: flex;
	align-items: center;
}

.therapist_top .box .number {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.08em;
	margin-right: 16px;
}

.therapist_top .box .select_box {
	
	width: 157px;
	height: 50px;
	position: relative;
	/* padding-right: 10px; */
}

.therapist_top .box .select_box::after {
	content: '';
	position: absolute;
	right: 20px;
	top: 0;
	width: 12px;
	height: 100%;
	background: url(../images/common/icon_select_btn.svg) no-repeat center;
	background-size: 100% auto;
	pointer-events: none;
}

.therapist_top .box .select_box select {
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.08em;
	background: unset;
	border: none;
	width: 100%;
	height: 100%;
	outline: none;
	appearance: none;
	/* padding: 13px 24px; */
	color: #1E1521;
	background: #fcfcff;
	border: 1px solid #d6d2f3;
	border-radius: 5px;
	text-align: center;
	padding-right: 10px;
}

#Therapist .therapist_list {
	margin-top: 72px;
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: 50px 40px;
}

#Therapist .therapist_list .therapist_info {
    margin-top: 13px;
}

.therapist_section {
	margin-top: 42px;
}

@media (max-width: 1120px) {
	#Therapist .therapist_wrap {
		padding: 0 20px;
	}
}

@media (max-width: 960px) {
	    #Therapist .therapist_list {
	        gap: 30px 20px;
	    }
	
	#Therapist .therapist_list .therapist_item .therapist_image {
		width: 130px;
		height: 130px;
	}
}

@media (max-width: 800px) {
	/* therapist */
	#Therapist .contents .contents_bg::before {
	    background: url('../images/therapist/therapist_bg.webp') center no-repeat;
	    background-size: cover;
	}
	
	#Therapist .contents {
		background: url('../images/therapist/therapist_bg.webp') center no-repeat;
		background-size: cover;
	}
	
	.therapist_wrap {
		max-width: 1080px;
		width: 100%;
		margin: 0 auto;
	}


	.therapist_form.search_wrap .search_box {
		padding-bottom: 22px;
	}
	
	.js-toggle-target .button_area_inner .text::after {
		content: '';
		position: absolute;
		right: -17px;
		top: 0;
		z-index: 3;
	    width: 9px;
	    height: 100%;
		background: url(../images/common/icon_select_btn_white.svg) no-repeat center;
		background-size: 100% auto;
	    margin-left: 0;
	}
	
	
	.therapist_section {
		margin-top: 61px;
	}
	
	.therapist_top {
		display: block;
	}
	
	.therapist_top .keywords_ul li {
		font-size: 14px;
	}
	
	.therapist_top .box {
		display: flex;
		justify-content: flex-end;
		flex-direction: row-reverse;
		margin-top: 20px;
	}
	
	.therapist_top .box .number {
		font-size: 14px;
		margin-right: 0;
		margin-left: 15px;
	}
	
	.therapist_top .box .select_box {
		width: 150px;
		height: 45px;
	}
	
	.therapist_top .box .select_box::after {
		right: 10px;
		width: 10px;
	}
	
	.therapist_top .box .select_box select {
		font-size: 14px;
		/* padding: 13px 10px; */
	}
	
	
	#Therapist .therapist_list {
		margin-top: 30px;
		grid-template-columns: repeat(2,1fr);
		gap: 19px 15px;
	}
	
	/* #Therapist  .therapist_list .therapist_item .therapist_image {
		width: 130px;
		height: 130px;
	} */
	
	#Therapist .therapist_list .therapist_info {
	    margin-top: 15px;
	}
}


/* セラピストを探す detail */
#Therapist .therapist_detail.contents .contents_bg {
	 background: #fef2f9;
}

#Therapist .therapist_detail.contents .contents_bg::before {
    top: 0;
	height: 697px;
    background: url(../images/therapist/therapist_bg_top.webp) no-repeat;
    background-size: cover;
}

#Therapist .therapist_detail.contents {
    background: #fef2f9;
}

.therapist_wrap {
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.therapist_wrap .search_wrap {
	max-width: 1100px;
}

.therapist_introduction {
	padding-bottom: 80px;
	position: relative;
}

.therapist_introduction_bg {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
}

.therapist_introduction_bg::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 697px;
    background: url(../images/therapist/therapist_bg_top.webp) no-repeat;
    background-size: cover;
	transform: scale(-1);
}

.therapist_introduction_bg::after {
	content: '';
	position: absolute;
	top: -39px;
	left: 0;
	z-index: 7;
	width: 100%;
	height: 100%;
	background: url(../images/therapist/therapist_bg_star.webp) no-repeat;
	background-size: cover;
}

.therapist_introduction .container,
.voice_section .container {
	max-width: 1010px;
}

.therapist_introduction_wrap {
	display: flex;
	position: relative;
	z-index: 5;
}

.therapist_introduction_slide {
	width: 340px;
	margin-right: 75px;
	position: relative;
}

.therapist_introduction_slide .swiper {
	width: 340px;
	height: 340px;
	border-radius: 100%;
	border: 2px solid #ece2f9;
}

.therapist_introduction_slide .swiper .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
}

.therapist_introduction_slide .image_wrap {
	width: 328px;
	height: 328px;
	border-radius: 100%;
	overflow: hidden;
	margin: auto;
}

.therapist_introduction_slide .image_wrap picture {
	display: block;
	position: relative;
	padding-top: 100%;
	width: 100%;
}

.therapist_introduction_slide .image_wrap img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 100%;
}

.therapist_introduction_slide .swiper-button-next,
.therapist_introduction_slide .swiper-button-prev {
	display: none;
}

.therapist_introduction_swiper {
	position: relative;
}


.therapist_introduction_swiper .swiper-pagination {
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 5;
	transform: translate(-50%,100%);
	margin-bottom: -10px;
}

.therapist_introduction_swiper .swiper-pagination-customs {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background: #663f8c;
	border: 2px solid #663f8c;
	margin: 0 5px;
}
.therapist_introduction_swiper .swiper-pagination-customs.swiper-pagination-customs-active {
	background: #fef2f9;
	border: 2px solid #b19bdc;
}

.therapist_introduction_main {
	width: calc(100% - 415px);
}

.therapist_introduction_main h3 {
	font-size: 42px;
	letter-spacing: 0.15em;
	font-weight: 500;
	/* white-space: nowrap; */
  white-space: normal;
	margin-bottom: 20px;
}

.therapist_introduction_main h3 span {
	display: inline-block;
	position: relative;
	padding-bottom: 25px;
}

.therapist_introduction_main h3 span::before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	z-index: 3;
	width: 100%;
	height: 13.5px;
	background: url('../images/therapist/link_border.svg') no-repeat;
	background-size: 100%;
}

.therapist_introduction_main .star_wrap .star {
    text-align: left;
    max-width: 164px;
	margin: 0;
}

.therapist_introduction_main .star_wrap .star span {
	transform: scale(1.4);
	transform-origin: left;
}

.therapist_introduction_main .star_wrap .star::after {
    font-size: 24px;
}

.therapist_introduction_main .therapist_info ul {
    justify-content: start;
	margin-top: 15px;
}

.therapist_introduction_main .button_link {
    max-width: 220px;
    justify-content: start;
    margin: 33px 0 0;
}

.therapist_introduction_main .button_link span::before {
    width: 19px;
    height: 17px;
    background: url('../images/therapist/icon_heart.svg') no-repeat;
    background-size: cover;
}
.therapist_introduction_main .button_link.btn-favorite-on span::before{
  background-image: url('../images/therapist/icon_heart2.svg');
}

.therapist_reserve_item {
	position: relative;
	z-index: 5;
	margin-top: 30px;
}

.therapist_reserve {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	cursor: pointer;
	max-width: 481px;
	width: 100%;
	/* height: 295px; */
	/* background: #663F8C; */
	cursor: pointer;
	/* height: auto; */
	/* aspect-ratio: 481 / 74; */
	/* margin-right: auto;
	margin-left: auto;
	mask-image: url(../images/therapist/btn_windows.svg);
	mask-repeat: no-repeat;
	mask-size: contain; */
	display: block;
	transition: all .5s ease;
}

.therapist_reserve::before,
.therapist_reserve::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 37px;
	background: url('../images/therapist/btn_bg01.svg') no-repeat;
	background-size: 100% 100%;
	/* mask-image: url('../images/therapist/btn_bg01.svg');
	mask-repeat: no-repeat;
	mask-size: contain;
	background: #663F8C; */
}

.therapist_reserve::after {
	top: auto;
	bottom: 0;
	transform: scale(-1);
}

.therapist_reserve.is_active  {
	/* height: 296px; */
	/* mask-image: url('../images/therapist/btn_open_windows.svg'); */
	/* transition: all .5s ease; */
}
.therapist_reserve:hover:not(.is_active) {
  opacity: 0.8;
}

.therapist_reserve_cont {
	position: relative;
}
.therapist_reserve_cont::after {
    content: '';
    position: absolute;
    left: 0;
    top: 35px;
    z-index: -1;
	width: 100%;
	height: calc(100% - 70px);
	background: url('../images/therapist/btn_bg02.svg') repeat-y;
	background-size: 100% auto;
}


.therapist_reserve .reserve_button .button_area_inner {
	height: 74px;
	position: relative;
	background: transparent;
}

.therapist_reserve .reserve_button .button_area_inner::before,
.therapist_reserve .reserve_button .button_area_inner::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 25px;
    height: 100%;
    background: url(../images/top/btn_decoration_white.svg) no-repeat center;
    background-size: 100% auto;
    transition: background .5s linear;
    pointer-events: none;
	pointer-events: none;
}

.therapist_reserve .reserve_button .button_area_inner::after {
	left: auto;
	right: 0;
	transform: scale(-1);
}

.therapist_reserve .reserve_info {
	padding: 0 45px 42px;
	display: none;
	position: relative;
}

.therapist_reserve .reserve_info.is_show {
	display: block;
}


.therapist_reserve .reserve_info li{
  margin-top: 10px;
}
.therapist_reserve .reserve_info li a {
	font-size: 20.29px;
	letter-spacing: 0.08em;
	line-height: 1.75;
	color: #fff;
	font-weight: 500;
	display: block;
	text-align: center;
	position: relative;
	padding: 10px 0 10px;
	opacity: 0;
}


.reserve_info li {
	position: relative;
}

.reserve_info li input {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	cursor: pointer;
	width: 100%;
	height: 100%;
	opacity: 0;
}

.reserve_info.is_show li a {
	opacity: 1;
}
.reserve_info.is_show li a:hover {
  background-color: #8a57ba;
}


.therapist_reserve .reserve_info li::before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -10px;
	transform: translateX(-50%);
	z-index: 3;
	width: 100%;
	height: 10px;
	background: url('../images/common/navi_border.svg') no-repeat;
	background-size: 100%;
}

.therapist_reserve .reserve_button .button_area_inner .text  {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}

.therapist_reserve .reserve_button .button_area_inner .text::before {
	content: unset;
}

.therapist_reserve .reserve_button .button_area_inner .text .text_inner {
	width: 100%;
	display: block;
	text-align: center;
	font-size: 20.29px;
}

.therapist_reserve .reserve_button .button_area_inner .text .text_inner::before,
.therapist_reserve .reserve_button .button_area_inner .text .text_inner::after {
    content: '';
	position: absolute;
	right: 63px;
	top: 0;
    width: 15px;
    height: 100%;
    background: url('../images/common/icon_select_btn_white.svg') no-repeat center;
    background-size: 100% auto;
    margin-right: 0;
}

.therapist_reserve .reserve_button .button_area_inner .text .text_inner::after {
	top: 0;
	transform: scale(-1);
	opacity: 0;
}

.therapist_reserve.is_active .reserve_button .button_area_inner .text .text_inner::before {
	opacity: 0;
}

.therapist_reserve.is_active .reserve_button .button_area_inner .text .text_inner::after {
	opacity: 1;
}
.therapist_introduction_main .therapist_info li {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 3px;
}

.therapist_reserve_table {
	margin-top: 30px;
}

.therapist_reserve_table table {
	display: block;
	border: 2px solid #e0d4f8;
	width: 100%;
	border-radius: 5px;
}

.therapist_reserve_table table tbody {
	display: block;
}

.therapist_reserve_table table tr {
	display: flex;
	width: 100%;
}

.therapist_reserve_table table th,
.therapist_reserve_table table td {
	display: block;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  white-space: normal;
}

.therapist_reserve_table table th {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 170px;
	font-size: 18px;
	letter-spacing: 0.08em;
	font-weight: 500;
	padding: 16px 5px 20px;
	background: #e0d4f8;
	border-right: 2px solid #e0d4f8;
}

.therapist_reserve_table table tr+tr th {
	border-top: 2px solid #f4efff;
}

.therapist_reserve_table table td {
	width: calc(100% - 100px);
	font-size: 18px;
	letter-spacing: 0.08em;
	font-weight: 500;
	
	padding: 16px 20px 20px;
	background: #fef2f9;
}

.therapist_reserve_table table td p,
.therapist_reserve_table table td li,
.therapist_reserve_table table td span{
  font-size: inherit;
}

.therapist_reserve_table table tr+tr td {
	border-top: 2px solid #e0d4f8;
}

.therapist_reserve_table table td dl {
	display: flex;
}

.therapist_reserve_table table td dl+dl {
	margin-top: 10px;
}

.therapist_reserve_table table td dl dt {
	width: 80px;
	margin-right: 10px;
	font-size: 18px;
	letter-spacing: 0.08em;
	font-weight: 500;
}

.therapist_reserve_table table td dl dd {
	width: calc(100% - 90px);
	font-size: 18px;
	letter-spacing: 0.08em;
	font-weight: 500;
}



.therapist_introduction_main .therapist_info .therapist_reserve_table table td li{
  display: block;
  padding: 0;
  font-size: 16px;
  font-weight: 400;
  display: list-item;
}
.therapist_introduction_main .therapist_info .therapist_reserve_table table td li::before,
.therapist_introduction_main .therapist_info .therapist_reserve_table table td li::after{
   display: none;
}

.therapist_introduction_main .therapist_info .therapist_reserve_table table td ul,
.therapist_introduction_main .therapist_info .therapist_reserve_table table td ol{
  padding-left: 1.3em;
  display: block;
}
.therapist_introduction_main .therapist_info .therapist_reserve_table table td ul li{
  list-style: disc;
}

.therapist_introduction_main .therapist_info .therapist_reserve_table table td ol li{
  list-style: decimal;
}

.therapist_introduction_main .therapist_info .therapist_reserve_table table span,
.therapist_introduction_main .therapist_info .therapist_reserve_table table a{
  display: inline;
  background-color: unset;
  border: unset;
  white-space: normal;
  padding: 0;
  min-height: unset;
}
.therapist_introduction_main .therapist_info .therapist_reserve_table table span::before,
.therapist_introduction_main .therapist_info .therapist_reserve_table table a::before,
.therapist_introduction_main .therapist_info .therapist_reserve_table table span::after,
.therapist_introduction_main .therapist_info .therapist_reserve_table table a::after{
  display: none;
}
.therapist_introduction_main .therapist_info .therapist_reserve_table table a{
  text-decoration: underline;
}
.therapist_introduction_main .therapist_info .therapist_reserve_table table a:hover{
  text-decoration: none;
}



.therapist_reserve_table table td table{
  border: unset;
  display: table;
  border-radius: unset;
}
.therapist_reserve_table table td table tbody{
  display: table-row-group;
}
.therapist_reserve_table table td table tr{
  display: table-row-group;
  width: unset;
}

.therapist_reserve_table table td table th,
.therapist_reserve_table table td table td{
  border: 1px solid #333;
  padding: 10px;
  background-color: unset;
  width: auto;
  display: table-cell;
}


.therapist_introduction_body {
	margin-top: 130px;
}

.therapist_introduction_body h3 {
	padding-bottom: 26px;
	font-size: 28px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1;
	border-bottom: 4px double #b3a17a;
	margin-bottom: 36px;
}

.therapist_introduction_body p {
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
}

.therapist_introduction_body p+p {
	margin-top: 34px;
}

.therapist_introduction_body .images_wrap {
	display: flex;
	margin-top: 35px;
}

.therapist_introduction_body .images_wrap .image_item {
	width: 50%;
}

.therapist_introduction_body .images_wrap .image_item+.image_item {
	margin-left: 20px;
}

.therapist_introduction_body .images_wrap picture,
.therapist_introduction_body .images_wrap img {
	width: 100%;
}

.therapist_introduction_body .therapist_introduction_mv {
	max-width: 714px;
	width: 100%;
	margin: 20px auto 0;
}

.therapist_introduction_body .therapist_introduction_mv .mv {
	display: block;
	position: relative;
	padding-top: 56.25%;
}

.therapist_introduction_body .therapist_introduction_mv .mv iframe {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* .therapist_introduction_body .therapist_introduction_mv .mv::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 5;
	width: 62px;
	height: 62px;
	
	background: url('../images/common/icon_play.svg') no-repeat;
	background-size: cover;
}
 */
.therapist_introduction_btn {
	margin-top: 60px;
	display: flex;
	justify-content: center;
}
	
.therapist_introduction_btn .therapist_reserve {
	position: relative;
}

.therapist_introduction_btn .button_area {
	max-width: 481px;
	width: 100%;
	height: 74px;
	mask-image: url(../images/therapist/btn_windows.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
}

.therapist_introduction_btn .button_area .text {
	position: relative;
	display: block;
	width: 100%;
	text-align: center;
	font-size: 20.29px;
}

.therapist_introduction_btn .button_area .text::after {
    content: '';
    position: absolute;
    right: 63px;
    top: 5px;
    width: 15px;
    height: 100%;
    background: url(../images/common/icon_select_btn_white.svg) no-repeat;
    background-size: 100% auto;
    margin-right: 0;
}

.voice_section {
	overflow: hidden;
	background: url('../images/therapist/voice_bg.webp') no-repeat;
	background-size: cover;
	padding: 80px 0;
	position: relative;
	z-index: 1;
}

.voice_section #voice_section {
	display: block;
	position:absolute;
	top:-40px;
	left:0;
}

.voice_section::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: -180px;
    z-index: -1;
    width: 436px;
    height: 498px;
    background: url(../images/therapist/right_flower.webp) no-repeat;
    background-size: cover;
    pointer-events: none;
}

.voice_section .voice_item {
	padding: 4px;
	border-radius: 10px;
	background: #fff;
}

.voice_section .voice_item +.voice_item {
	margin-top: 10px;
	border-radius: 10px;
}

.voice_section .voice_inner {
	border: 2px solid #d8c6a0;
	border-radius: 10px;
	padding: 27px 40px;
}

.voice_section .voice_head {
	display: flex;
	align-items: center;
	margin-bottom: 30px;
}

.voice_section .star_wrap .star {
    text-align: left;
    max-width: 109px;
    margin: 0;
	margin-right: 10px;
}

.voice_section .star_wrap .star span {
    transform: scale(1.04);
    transform-origin: left;
}

.voice_section .star_wrap .star::after {
    font-size: 16px;
}

.voice_section .voice_head .title {
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.08em;
	font-weight: 500;
}

.voice_section .voice_item {
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 1.45;
	font-weight: 500;
}

.voice_section .voice_link {
	margin-top: 40px;
}

.voice_section .voice_link .button_link span::before {
	left: auto;
	right: 0;
	width: 13px;
	height: 14px;
	background: url('../images/common/icon_select_btn.svg') no-repeat;
	background-size: cover;
}

.therapist_detail .top_therapist {
	background: url('../images/therapist/therapist_bg02.webp') no-repeat;
	background-size: cover;
	padding: 80px 0 100px;
}

#Therapist .therapist_detail .therapist_list {
    margin-top: 0;
    display: block;
	padding-bottom: 120px;
}

.therapist_detail .therapist_button {
    margin-top: 0;
	
	max-width: 220px;
	margin: 0 auto;
}

.therapist_detail .therapist_button .button_link {
	max-width: 220px;
}

.therapist_detail .therapist_button span::before {
    content: unset;
}

.therapist_detail .top_therapist .therapist_list .swiper_btn {
    top: auto;
	bottom: 0;
	height: 20px;
}

.therapist_detail .top_therapist .therapist_list .swiper_btn.prev {
    left: 50%;
	transform: translate(0,100%);
    margin-left: -238px;
}

.therapist_detail .top_therapist .therapist_list .swiper_btn.next {
    right: 50%;
	transform: translate(0,100%);
    margin-right: -238px;
}

.top_therapist .therapist_list .swiper_btn.prev a {
    background: url(../images/common/icon_arrow_prev.svg) no-repeat center;
    background-size: 48px 20px;
}

.top_therapist .therapist_list .swiper_btn.next a {
    background: url(../images/common/icon_arrow_next.svg) no-repeat center;
    background-size: 48px 20px;
}

@media (min-width: 960px) {
	.therapist_reserve .button_area:hover .button_area_inner {
	    background: #663F8C;
	    transition: background .5s ease;
	}
	
	
	.therapist_detail .top_therapist .therapist_list .swiper_btn.prev:hover {
		transform: translate(-5px,100%);
	}
	
	.therapist_detail .top_therapist .therapist_list .swiper_btn.next:hover {
		transform: translate(5px,100%);
	}
	
}

@media (max-width: 970px) {
	.therapist_introduction_main h3 {
	    font-size: 36px;
	}
	
	/* .therapist_reserve {
	    max-width: 470px;
	}
	
	
	.therapist_reserve::before,
	.therapist_reserve::after {
		width: 470px;
	}
	
	
	.therapist_reserve::after {
	    bottom: 2px;
	}
	
	.therapist_reserve_cont::after {
	    left: 0.5px;
	    top: 35px;
	    width: calc(100% - 1.5px);
	    height: calc(100% - 70px);
	} */
}


/* @media (max-width: 920px) {
	.therapist_reserve::before,
	.therapist_reserve::after {
		width: 452px;
	}
	
	.therapist_reserve::after {
	    bottom: 5px;
	}
	
} */

@media (max-width: 905px) {
	.therapist_introduction_wrap .therapist_reserve::before, 
	.therapist_introduction_wrap .therapist_reserve::after {
		height: 39px;
	}
	
}

@media (max-width: 878px) {
	.therapist_introduction_wrap .therapist_reserve::before, 
	.therapist_introduction_wrap .therapist_reserve::after {
		height: 40px;
	}
	
}

@media (max-width: 863px) {
	.therapist_introduction_wrap .therapist_reserve::before, 
	.therapist_introduction_wrap .therapist_reserve::after {
		height: 42px;
	}
	
}

@media (max-width: 835px) {
	.therapist_introduction_wrap .therapist_reserve::before, 
	.therapist_introduction_wrap .therapist_reserve::after {
		height: 44px;
	}
	
}


@media (max-width: 825px) {
	.therapist_introduction_wrap .therapist_reserve::before, 
	.therapist_introduction_wrap .therapist_reserve::after {
		height: 46px;
	}
	
}

@media (max-width: 800px) {
	/* セラピストを探す detail */
	
	#Therapist .therapist_detail.contents .contents_bg::before {
	    top: 0;
	    background: url(../images/therapist/sp/therapist_bg.webp) no-repeat;
	    background-size: cover;
	}
	
	#Therapist .therapist_detail.contents {
	    background: url(../images/therapist/sp/therapist_bg.webp) no-repeat;
	    background-size: cover;
	}
	
	/* .therapist_wrap {
		max-width: 905px;
		width: 100%;
		margin: 0 auto;
		position: relative;
	} */
	
	.therapist_wrap .search_wrap .search_inner {
	    padding: 2px;
	}
	
	.therapist_introduction {
		padding-bottom: 76px;
	}
	
	.therapist_introduction_bg::before {
		width: 100%;
		height: 100%;
	    background: url(../images/therapist/sp/therapist_bg.webp) no-repeat bottom;
	    background-size: cover;
	}
	
	.therapist_introduction_bg::after {
	    content: unset;
	}
	
	.therapist_introduction_wrap {
		display: flex;
	}
	
	.therapist_introduction_slide {
		width: 130px;
		margin-right: 0;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 2;
	}
	
	.therapist_introduction_slide .swiper {
		width: 130px;
		height: 130px;
	}
	
	.therapist_introduction_slide .image_wrap {
		width: 117px;
		height: 117px;
	}
	
	.therapist_introduction_swiper .swiper-pagination-customs {
		border: 1.5px solid #663f8c;
		margin: 0 4.5px;
	}
	
	.therapist_introduction_swiper .swiper-pagination-customs.swiper-pagination-customs-active {
		background: #fef2f9;
		border: 1.5px solid #b19bdc;
	}
	
	.therapist_introduction_main {
		width: 100%;
	}

	.therapist_introduction_main .therapist_sp {
		padding-left: 148px;
		min-height: 150px;
	}
	
	.therapist_introduction_main h3 {
		font-size: 23px;
		margin-bottom: 0;
	}
	
	.therapist_introduction_main h3 span {
		display: block;
		padding-bottom: 22px;
	}
	
	.therapist_introduction_main .therapist_info {
		width: 100%;
	}
	
	.therapist_introduction_main .star_wrap .star {
	    max-width: 100px;
	}
	
	.therapist_introduction_main .star_wrap .star span {
		transform: scale(0.88);
		transform-origin: left;
	}
	
	.therapist_introduction_main .star_wrap .star::after {
	    font-size: 14px;
	}

	.therapist_introduction_main .link_link {
		justify-content: center;
		display: flex;
	}
	
	.therapist_introduction_main .therapist_info ul {
		flex-wrap: wrap;
		gap: 5px;
		margin-top: 8px;
	}
	
	
	.therapist_introduction_main .therapist_info li {
	    font-size: 11px;
		
	}
	
	.therapist_introduction_main .therapist_info li+li {
		margin-left: 0;
	} 
	
	
	.therapist_introduction_phone .button_link {
	    max-width: 234px;
		width: 100%;
		margin: 42px auto 0;
		color: #451c6b;
	}
	
	.therapist_introduction_phone .button_link span::before {
	    width: 18px;
	    height: 16px;
	    background: url('../images/therapist/icon_heart.svg') no-repeat;
	    background-size: cover;
	}
	
	.therapist_reserve_item {
		max-width: 284px;
		width: 100%;
		margin: 20px auto 0;
	}
	
	.therapist_reserve {
		max-width: 284px;
		/* mask-image: url(../images/therapist/sp/btn_windows.svg); */
	}
	
	/* .therapist_reserve.is_active  {
		height: 206px;
		mask-image: url(../images/therapist/sp/btn_open_windows.svg);
	} */
	
	.therapist_reserve::before, 
	.therapist_reserve::after {
	    width: 100%;
	    height: 30px;
	    background: url(../images/therapist/sp/btn_bg01.svg) no-repeat;
	    background-size: 100% 100%;
	}
	
	.therapist_introduction_wrap .therapist_reserve::before, 
	.therapist_introduction_wrap .therapist_reserve::after {
		height: 30px;
	}
	
	.therapist_reserve_cont {
		position: relative;
	}
	
	.therapist_reserve_cont::after {
	    top: 28px;
		width: 100%;
		height: calc(100% - 56px);
		background: url('../images/therapist/sp/btn_bg02.svg') repeat-y;
		background-size: 100% auto;
	}
	
	.therapist_reserve .reserve_button .button_area_inner {
		height: 56px;
		position: relative;
	}
	
	.therapist_reserve .reserve_info {
		padding: 0 19px 30px;
		display: none;
	}
	
	.therapist_reserve .reserve_info.is_show {
		display: block;
	}
	
	.therapist_reserve .reserve_info li a {
		font-size: 16px;
		line-height: 1.45;
		padding: 10px 0 12px;
	}
	
	.therapist_reserve .reserve_info li a::before {
		height: 7px;
		background: url('../images/common/navi_border.svg') no-repeat;
		background-size: 100%;
	}
	
	.therapist_reserve .reserve_button .button_area_inner .text .text_inner {
		font-size: 16px;
	}
	
	.therapist_reserve .reserve_button .button_area_inner .text .text_inner::before,
	.therapist_reserve .reserve_button .button_area_inner .text .text_inner::after {
		right: 44px;
	    width: 10px;
	}
	
	
	.therapist_reserve_table {
		margin-top: 45px;
	}
	
	.therapist_reserve_table table {
		border: 1px solid #e0d4f8;
	}
	
	.therapist_reserve_table table th {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 75px;
		font-size: 14px;
		padding: 11px 0 15px;
		background: #e0d4f8;
		border-right: 1px solid #e0d4f8;
	}
	
	.therapist_reserve_table table tr+tr th {
		border-top: 1px solid #f4efff;
	}
	
	.therapist_reserve_table table td {
		width: calc(100% - 75px);
		font-size: 14px;
		padding: 11px 20px 15px;
		/* background: #fef2f9; */
		background: unset;
	}
	
	.therapist_reserve_table table tr+tr td {
		border-top: 1px solid #e0d4f8;
	}
	
	.therapist_reserve_table table td dl+dl {
		margin-top: 7px;
	}
	
	.therapist_reserve_table table td dl dt {
		width: 65px;
		margin-right: 10px;
		font-size: 14px;
	}
	
	.therapist_reserve_table table td dl dd {
		width: calc(100% - 75px);
		font-size: 14px;
	}
	
	.therapist_introduction_body {
		margin-top: 112px;
	}
	
	.therapist_introduction_body h3 {
		padding-bottom: 24px;
		font-size: 18px;
		margin-bottom: 45px;
		line-height: 1.3;
	}
	
	.therapist_introduction_body p {
		font-size: 14px;
		line-height: 1.75;
	}
	
	.therapist_introduction_body p+p {
		margin-top: 30px;
	}
	
	.therapist_introduction_body .images_wrap {
		display: block;
		margin-top: 30px;
	}
	
	.therapist_introduction_body .images_wrap .image_item {
		width: 100%;
	}
	
	.therapist_introduction_body .images_wrap .image_item+.image_item {
		margin-left: 0px;
		margin-top: 15px;
	}
	
	.therapist_introduction_body .therapist_introduction_mv {
		margin: 42px auto 0;
	}
	
	.therapist_introduction_body .therapist_introduction_mv .mv::before {
		width: 48px;
		height: 48px;
	}
	
	.therapist_introduction_btn {
		margin-top: 30px;
	}
	
	.therapist_introduction_btn .button_area {
		mask-image: url(../images/therapist/sp/btn_windows.svg);
		max-width: 284px;
		height: 56px;
	}
	
	.therapist_introduction_btn .button_area .text {
		font-size: 18px;
	}
	
	.therapist_introduction_btn .button_area .text::after {
	    right: 44px;
	    width: 10px;
	}
	
	.voice_section {
		background: url('../images/therapist/sp/voice_bg.webp') no-repeat;
		background-size: cover;
		padding: 50px 0 75px;
	}
	
	.voice_section::after {
	    bottom: -30px;
	    width: 236px;
	    height: 250px;
	}
	
	.voice_section .voice_item {
		padding: 3.5px;
		border-radius: 5px;
		background: #fff;
	}
	
	.voice_section .voice_item +.voice_item {
		margin-top: 10px;
		border-radius: 10px;
	}
	
	.voice_section .voice_inner {
		border: 2px solid #d8c6a0;
		border-radius: 5px;
		padding: 25px 20px;
	}
	
	.voice_section .voice_head {
		display: flex;
		align-items: center;
		margin-bottom: 16px;
	}
	
	.voice_section .star_wrap .star {
	    max-width: 91px;
		margin-right: 12px;
	}
	
	.voice_section .star_wrap .star span {
	    transform: scale(0.8);
	    transform-origin: left;
	}
	
	.voice_section .star_wrap .star::after {
	    font-size: 16px;
	}
	
	.voice_section .voice_head .title {
		font-size: 14px;
	}
	
	.voice_section .voice_item {
		font-size: 14px;
	}
	
	.voice_section .voice_link {
		margin-top: 26px;
	}
	
	.voice_section .voice_link .button_link {
		color: #451c6b;
	}
	
	.voice_section .voice_link .button_link span::before {
		top: 1px;
		width: 10px;
		height: 11px;
	}
	
	.therapist_detail .top_therapist {
		position: relative;
		background: unset;
		/* background-size: cover; */
		padding: 62px 0 55.5px;
	}
	
	.therapist_detail .top_therapist::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
		width: 100%;
		height: calc(100% + 100px);
		background: url('../images/therapist/sp/therapist_bg02.webp') no-repeat;
		background-size: cover;
	}
	
	#Therapist .therapist_detail .therapist_list {
	    margin-top: 0;
	    display: block;
		padding-bottom: 50px;
	}
	
	.therapist_detail .therapist_button {
	    margin-top: 0;
	}
	
	.therapist_detail .therapist_button .button_link {
		max-width: 165px;
	}
	
	.therapist_detail .therapist_button span::before {
	    content: unset;
	}
	
	.therapist_detail .top_therapist .therapist_list .swiper_btn {
	    top: auto;
		bottom: 0;
		height: 17px;
	}
	
	.therapist_detail .top_therapist .therapist_list .swiper_btn.prev {
	    margin-left: -155px;
	}
	
	.therapist_detail .top_therapist .therapist_list .swiper_btn.next {
	    margin-right: -155px;
	}
	
	.top_therapist .therapist_list .swiper_btn.prev a {
	    background: url(../images/common/icon_arrow_prev.svg) no-repeat center;
	    background-size: 43px 17px;
	}
	
	.top_therapist .therapist_list .swiper_btn.next a {
	    background: url(../images/common/icon_arrow_next.svg) no-repeat center;
	    background-size: 43px 17px;
	}
	
	
	
}

/*==================================
  セラピストブログ
==================================*/
/* blog */
#Blog .contents {
	background: url(../images/blog/blog_bg.webp) no-repeat;
	background-size: cover;
	background: #fffdf5;
}

#Blog .contents::before,
#Blog .contents::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	height: 100%;
}

#Blog .contents::before {
	left: 0;
	width: 416px;
	background: url('../images/blog/bg_bottom01.webp') no-repeat bottom;
	background-size: 100% auto;
}

#Blog .contents::after {
	left: auto;
	right: 0;
	width: 200px;
	background: url('../images/blog/bg_bottom02.webp') no-repeat bottom;
	background-size: 100% auto;
}

#Blog .contents .contents_bg {
	background:  #fffdf5;;
}

#Blog .contents .contents_bg::before {
	top: 0;
	width: 547px;
	height: 100%;
    background: url(../images/blog/blog_bg.webp) top no-repeat;
    background-size: 100% auto;
	
}

#Blog .blog_tree {
	position: absolute;
	left: 0;
	top: -90px;
	width: 100%;
	height: 1393px;
	z-index: 3;
	clip-path: ellipse(110% 50% at 50% 50%);
	pointer-events: none;
}

#Blog .blog_tree::after {
    content: '';
    position: absolute;
    top: -100px;
    z-index: 1;
    width: 252px;
    height: 435.5px;
    background: url('../images/blog/left_tree.webp') no-repeat;
    background-size: cover;
}

.blog_infomation {
	
	margin-bottom: 60px;
}

.blog_infomation,
.blog_infomation .blog_inner {
	position: relative;
	z-index: 2;
}

.blog_infomation::before,
.blog_infomation::after,
.blog_infomation .blog_inner::before,
.blog_infomation .blog_inner::after {
	content: '';
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 5;
	width: 32px;
	height: 32px;
	background: url('../images/blog/icon_blog_border.svg') no-repeat;
	background-size: cover;
}

.blog_infomation::after {
	left: auto;
	right: 0px;
	transform: scale(-1,1);
}


.blog_infomation .blog_inner::before {
	top: auto;
	bottom: 0px;
	transform: scale(1,-1);
}

.blog_infomation .blog_inner::after {
	top: auto;
	bottom: 0;
	left: auto;
	right: 0;
	transform: scale(-1,-1);
}

.blog_infomation_border {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: calc(100% + 12px);
	height: calc(100% + 12px);
	mask:
    radial-gradient(34px at 34px 34px,#0000 calc(98% - 2px),#000 calc(100% - 2px) 98%,#0000) -34px -34px,
    linear-gradient(90deg,#000 4px,#0000 0) -2px 50% /100% calc(100% - 68px + 2px) repeat-x,
    linear-gradient(      #000 4px,#0000 0) 50% -2px/calc(100% - 68px + 2px) 100% repeat-y;
}

.blog_infomation_border:before {
	content: "";
	position: absolute;
	inset: 0;
	background: #B3A17A;;
	mask:
	radial-gradient(34px at 34px 34px,#0000 calc(98% - 2px),#000 calc(100% - 2px) 98%,#0000) -34px -34px,
	linear-gradient(90deg,#000 4px,#0000 0) -2px 50% /100% calc(100% - 68px + 2px) repeat-x,
	linear-gradient(      #000 4px,#0000 0) 50% -2px/calc(100% - 68px + 2px) 100% repeat-y;
}

.blog_section .blog_infomation .blog_box {
	background: url(../images/blog/blog_cont_bg.webp) no-repeat;
	background-size: cover;
	
	mask: radial-gradient(32px at 32px 32px,#0000 98%,#000) -32px -32px;
	display: flex;
	align-items: center;
	padding: 28px 70px 36px 88px;
	width: 100%;
	position: relative;
	z-index: 3;
	border: 1px solid #B3A17A;
}

.blog_section .blog_infomation .blog_box::before,
.blog_section .blog_infomation .blog_box::after {
	content: '';
	position: absolute;
	top: 0;
	z-index: 6;
	background: url('../images/blog/blog_infomation_area.webp') no-repeat center;
	width: 33px;
	height: 100%;
	background-size: 100% auto;
	
}

.blog_section .blog_infomation .blog_box::before {
	left: 7px;
}

.blog_section .blog_infomation .blog_box::after {
	left: auto;
	right: 7px;
	transform: scale(-1);
}

.blog_section .blog_infomation .blog_box .image_wrap {
	width: 132px;
	height: 132px;
	border-radius: 100%;
	border: 3px solid #e0d4f8;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 34px;
}

.blog_section .blog_infomation .blog_box .image_wrap .img_hidden {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.blog_section .blog_infomation .blog_box .image {
	width: 115px;
	height: 115px;
}

.blog_section .blog_infomation .blog_box .image_wrap picture {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	padding-top: 100%;
	overflow: hidden;
}

.blog_section .blog_infomation .blog_box .image_wrap img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	border-radius: 100%;
	object-fit: cover;
}

.blog_section .blog_infomation .blog_cont {
	width: calc(100% - 543px);
}

.blog_section .blog_infomation .therapist_info {
	margin-top: 0;
}

.blog_section .blog_infomation .therapist_info ul {
	justify-content: flex-start;
	grid-template-columns: repeat(6,1fr);
	gap: 5px;
}

.blog_section .blog_infomation .therapist_info li::before {
	content: unset;
}

.blog_section .blog_infomation .therapist_info ul p {
	display: inline-flex;
	position: relative;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0;
	
}

.blog_section .blog_infomation .therapist_info li p::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
	z-index: 5;
    transform: translate(-50%, -50%);
    width: calc(100% - 11px);
    height: calc(100% + 7px);
    border-top: 2px solid #b3a17a;
    border-bottom: 2px solid #b3a17a;
	pointer-events: none;
}

.blog_section .blog_infomation .therapist_info li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 0 7px;
    border:s 1px solid #c5b8a6;
    background: #f9f3e6;
    position: relative;
    white-space: nowrap;
	transition: opacity .3s ease;
}

.blog_section .blog_infomation .therapist_info li a::before,
.blog_section .blog_infomation .therapist_info li a::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
    left: -2px;
    z-index: 2;
    width: 7px;
    height: 26px;
    background: url(../images/blog/icon_border_gold.svg) no-repeat;
    background-size: cover;
	pointer-events: none;
}

.blog_section .blog_infomation .therapist_info li a::after {
    left: auto;
    right: -2px;
    transform: translateY(-50%) scale(-1);
}

.blog_section .blog_infomation .blog_link {
	width: 315px;
	margin-left: 62px;
}

.blog_section .blog_infomation .blog_link .text::before {
    content: unset;
}

.blog_section .blog_infomation .blog_name {
	font-size: 32px;
	letter-spacing: 0.15em;
	font-weight: 500;
	margin-bottom: 16px;
}

.blog_section .star_wrap .star {
    margin: 0;
    position: relative;
}

.blog_section .star_wrap .star span {
    margin-right: 10px;
}

@media (min-width: 960px) {
	.blog_section .blog_infomation .therapist_info li a:hover {
		opacity: .7;
		transition: opacity .3s ease;
	}
	
	.blog_section .blog_infomation .blog_name a:hover {
		opacity: .7;
		transition: opacity .3s ease;
	}
}

@media (max-width: 1540px) {
	#Blog .blog_tree::after {
	    top: -140px;
	    width: 233px;
	    height: 400.5px;
	}
}

@media (max-width: 1300px) {
	.blog_section .blog_infomation .therapist_info ul {
	    grid-template-columns: repeat(4, 1fr);
	    gap: 5px;
	}
}

@media (max-width: 1082px) {
	.blog_section .blog_infomation .blog_box .image_wrap {
	    margin-right: 10px;
	}
	
	.blog_section .blog_infomation .blog_cont {
	    width: calc(100% - 469px);
	}
	
	.blog_section .blog_infomation .blog_link {
	    margin-left: 10px;
	}
}

@media (max-width: 1025px) {
	.blog_section .blog_infomation .blog_box {
		padding: 28px 60px 36px 50px;
	}
}

@media (max-width: 980px) {
	.blog_section .blog_infomation .blog_box {
	    padding: 36px 40px 36px 45px;
	}
	
	.blog_section .blog_infomation .blog_link .button_area {
		max-width: 260px;
		height: 52px;
	}
	
	.blog_section .blog_infomation .blog_link .button_area .text {
		font-size: 14px;
	}
	
	.blog_section .blog_infomation .blog_link {
	    width: 276px;
	}
	
	.blog_section .blog_infomation .blog_cont {
		width: calc(100% - 430px);
	}
}


@media (max-width: 800px) {
	/* blog */
	#Blog .contents {
		background: url(../images/blog/sp/blog_bg.webp) no-repeat;
		background-size: cover;
	}
	
	#Blog .contents::before {
		transform-origin: left bottom;
		transform: scale(0.53);
	}
	
	#Blog .contents::after {
		transform-origin: right bottom;
		transform: scale(0.53);
	}
	
	#Blog .contents .contents_bg::before {
	    transform-origin: left top;
	    transform: scale(0.5);
	}
	
	#Blog .blog_tree {
		position: absolute;
		left: 0;
		top: -40px;
		width: 100%;
		height: 1393px;
		clip-path: ellipse(177% 50% at 50% 50%);
	}
	
	
	#Blog .blog_tree::after {
		left: -13px;
		top: -203px;
		transform: scale(0.72);
		transform-origin: left top;
	}
	
	.blog_infomation {
		
		margin-bottom: 33px;
	}
	
	.blog_infomation::before,
	.blog_infomation::after,
	.blog_infomation .blog_inner::before,
	.blog_infomation .blog_inner::after {
		z-index: 5;
		width: 17px;
		height: 17px;
	}
	
	.blog_infomation::after {
		left: auto;
		right: 0px;
		transform: scale(-1,1);
	}
	
	
	.blog_infomation .blog_inner::before {
		top: auto;
		bottom: 0px;
		transform: scale(1,-1);
	}
	
	.blog_infomation .blog_inner::after {
		top: auto;
		bottom: 0;
		left: auto;
		right: 0;
		transform: scale(-1,-1);
	}
	
	.blog_infomation_border {
		width: calc(100% + 6px);
		height: calc(100% + 6px);
		mask:
	        radial-gradient(18px at 18px 18px,#0000 calc(98% - 2px),#000 calc(100% - 2px) 98%,#0000) -18px -18px,
	            linear-gradient(90deg,#000 4px,#0000 0) -2px 50% /100% calc(100% - 36px + 2px) repeat-x,
	            linear-gradient(      #000 4px,#0000 0) 50% -2px/calc(100% - 36px + 2px) 100% repeat-y;
	}
	
	.blog_infomation_border:before {
		mask:
		    radial-gradient(18px at 18px 18px,#0000 calc(98% - 2px),#000 calc(100% - 2px) 98%,#0000) -18px -18px,
		        linear-gradient(90deg,#000 4px,#0000 0) -2px 50% /100% calc(100% - 36px + 2px) repeat-x,
		        linear-gradient(      #000 4px,#0000 0) 50% -2px/calc(100% - 36px + 2px) 100% repeat-y;
	}
	
	/* .blog_infomation_border {
		mask: radial-gradient(16px at 16px 16px,#0000 98%,#000) -16px -16px;
		border: 0.5px solid #B3A17A;
	}
	
	.blog_infomation_border .border01::before,
	.blog_infomation_border .border01::after,
	.blog_infomation_border .border02::before,
	.blog_infomation_border .border02::after {
		z-index: 5;
		width: 16px;
		height: 16px;
	}
	
	.blog_infomation_border .border01::after {
		left: auto;
		right: 0px;
		transform: scale(-1,1);
	}
	
	
	.blog_infomation_border .border02::before {
		top: auto;
		bottom: 0px;
		transform: scale(1,-1);
	}
	
	.blog_infomation_border .border02::after {
		top: auto;
		bottom: 0;
		left: auto;
		right: 0;
		transform: scale(-1,-1);
	} */
	
	
	.blog_section .blog_infomation .blog_box {
		background: url(../images/blog/sp/blog_cont_bg.webp) no-repeat;
		background-size: cover;
		
		mask: radial-gradient(16px at 16px 16px,#0000 98%,#000) -16px -16px;
		/* display: block; */
		flex-wrap: wrap;
		padding: 9px 16px 20px 16px;
		/* border: 1px solid #B3A17A; */
		border: 0.5px solid #B3A17A;
	}
	
	.blog_section .blog_infomation .blog_box::before,
	.blog_section .blog_infomation .blog_box::after {
		content: unset;
	}
	
	.blog_section .blog_infomation .blog_box .image_wrap {
		width: 70px;
		height: 70px;
		border: 1px solid #e0d4f8;
		margin-right: 12px;
	}
	
	
	.blog_section .blog_infomation .blog_box .image {
		width: 62.5px;
		height: 62.5px;
	}
	
	.blog_section .blog_infomation .blog_cont {
		width: calc(100% - 82px);
	}
	
	.blog_section .blog_infomation .therapist_info {
		margin-top: 0;
		padding: 0;
		width: 100%;
	}
	
	.blog_section .blog_infomation .blog_cont_phone {
		width: 100%;
	}
	
	.blog_section .blog_infomation .therapist_info ul {
		display: flex;
		grid-template-columns: repeat(4,1fr);
		gap: 6.5px 3.5px;
		margin-top: 5px;
	}
	
	.blog_section .blog_infomation .therapist_info li::before {
		content: unset;
	}
	
	.blog_section .blog_infomation .therapist_info ul p {
		display: inline-flex;
		position: relative;
		/* font-size: 11px; */
		font-size: 10px;
		line-height: 1;
		letter-spacing: 0;
		padding: 2.5px;
		
	}
	
	.blog_section .blog_infomation .therapist_info li {
		padding: 0;
	}
	
	.blog_section .blog_infomation .therapist_info li p::before {
		width: calc(100% - 14px);
		height: calc(100% + 3px);
	    border-top: 2px solid #b3a17a;
	    border-bottom: 2px solid #b3a17a;
	}
	
	
	.blog_section .blog_infomation .therapist_info li a {
		white-space: nowrap;
		min-height: 18px;
		padding: 0 7px;
	}
	
	.blog_section .blog_infomation .therapist_info li a::before,
	.blog_section .blog_infomation .therapist_info li a::after {
	    left: -3px;
	    z-index: 2;
	    width: 7px;
	    height: 26px;
	}
	
	.blog_section .blog_infomation .therapist_info li a::after {
	    left: auto;
	    right: -3px;
	    transform: translateY(-50%) scale(-1);
	}
	
	.blog_section .blog_infomation .blog_link {
		width: 284px;
		margin: 15px auto 0;
	}
	
	.blog_section .blog_infomation .blog_link .text::before {
	    content: unset;
	}
	
	.blog_section .blog_infomation .blog_name {
		font-size: 23px;
		margin-bottom: 8px;
	}
	
	.blog_section .star_wrap .star {
	    margin: 0;
	    position: relative;
		max-width: 105px;
	}
	
	.blog_section .star_wrap .star span {
	    margin-right: 10px;
		transform: scale(0.93);
	}
	
	.blog_section  .star_wrap .star::after {
		font-size: 14px;
		line-height: 1.45;
	}
}

/* blog detail */
.blog_detail.news_detail .blog_section  {
	margin-top: 83px;
}

.blog_detail.news_detail .blog_infomation {
	margin-bottom: 0;
}

.blog_detail.news_detail {
	padding-bottom: 40px;
	border-bottom: double 3px #b3a17a;
}

.blog_detail.news_detail .news_detail_body {
	padding: 40px 0;
	/* border-top: double 3px #b3a17a; */
	border-bottom: none;
}

.blog_detail.news_detail .blog_section .blog_infomation .blog_box {
	padding: 16px 50px;
}

.blog_detail.news_detail .blog_section .blog_infomation .blog_box .image_wrap {
    width: 128px;
    height: 128px;
}

.blog_section .blog_section .blog_infomation .blog_box .image {
    width: 115px;
    height: 115px;
}


.blog_detail.news_detail .blog_section .blog_infomation .blog_link {
    width: 275px;
    margin-left: 50px;
}

.blog_detail.news_detail .blog_section .blog_infomation .blog_link .button_area {
    max-width: 275px;
    height: 62px;
	-webkit-mask-image: url(../images/blog/blog_btn_windows02.svg);
	mask-image: url(../images/blog/blog_btn_windows02.svg);
}


.blog_detail.news_detail .blog_section .blog_infomation .blog_cont {
    width: calc(100% - 468px);
}


@media (max-width: 800px) {
	.blog_detail.news_detail .blog_section  {
		margin-top: 40px;
	}
	.blog_detail.news_detail .blog_infomation {
		margin-bottom: 0;
	}
	
	.blog_detail.news_detail {
		padding-bottom: 40px;
		border-bottom: double 3px #b3a17a;
	}
	
	.blog_detail.news_detail .news_detail_body {
		/* padding: 40px 0 0;
		border-top: double 3px #b3a17a;
		border-bottom: none; */
	}

	.blog_detail.news_detail .news_detail_body iframe {
		width:100%;
		height: auto;
		aspect-ratio: 16 / 9;
	}
	
	.blog_detail.news_detail .news_detail_body picture {
		margin-top: 30px;
	}
	
	.blog_detail.news_detail .blog_section .blog_infomation .blog_box {
		padding: 9px 16px 20px 16px;
	}
	
	.blog_detail.news_detail .blog_section .blog_infomation .blog_box .image_wrap {
	    width: 70px;
	    height: 70px;
	    margin-right: 12px;
	}
	
	.blog_section .blog_section .blog_infomation .blog_box .image {
	    width: 62.5px;
	    height: 62.5px;
	}
	
	
	.blog_detail.news_detail .blog_section .blog_infomation .blog_link {
	    width: 284px;
		margin: 15px auto 0;
	}
	
	.blog_detail.news_detail .blog_section .blog_infomation .blog_link .button_area {
	    max-width: 279px;
	    height: 55px;
		-webkit-mask-image: url(../images/top/btn_windows.svg);
		mask-image: url(../images/top/btn_windows.svg);
	}
	
	
	.blog_detail.news_detail .blog_section .blog_infomation .blog_cont {
	    width: calc(100% - 82px);
	}
	
}

/*==================================
	このサイトについて
==================================*/
#About .contents .contents_bg::before {
    background: #fffffe;
}

#About .contents .contents_bg::after {
    content: '';
    position: absolute;
    top: -90px;
	left: 0;
    z-index: 1;
    width: 310px;
    height: 375.5px;
    background: url('../images/about/left_tree.png') no-repeat;
    background-size: cover;
}

.about_top {
	/* text-align: center; */
  z-index: 3;
  position: relative
}
.about_top .container {
  max-width: 1100px;
}

.about_text {
	font-size: 16px;
	/* line-height: 1.75; */
	line-height: 2.25;
	font-weight: 500;
	letter-spacing: 0;
  padding-top: 30px;
}


.about_flow {
	padding: 70px 0 80px;
}

.about_flow_list {
	display: flex;
	margin-left: -26px;
}

.about_flow_item {
	width: calc(20% - 26px);
	margin-left: 26px;
	position: relative;
	/* overflow: hidden; */
}

.about_flow_item+.about_flow_item::before {
	content: '';
	position: absolute;
	left: -19px;
	top: 0;
	width: 16px;
	height: 100%;
	background: url('../images/about/icon_flow_arrow.svg') no-repeat center;
	background-size: 100% auto;
}

.about_flow_item .box {
	max-width: 221px;
	width: 100%;
	height: 221px;
	margin: 0 auto;
	position: relative;
	background: url('../images/about/flow_border.webp') no-repeat;
	background-size: 100% 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	
	/* transform: translate(-100%, 0); */
	opacity: 0;
	transition: 1.5s ease;
	
	padding: 36px 30px;
}


.about_flow_item.move .box {
	/* transform: translate(0, 0); */
	opacity: 1;
}


.about_flow_item.delay1 .box {
    -moz-transition-delay: 0.5s;
    -webkit-transition-delay: 0.5s;
    -o-transition-delay: 0.5s;
    -ms-transition-delay: 0.5s;
}

.about_flow_item.delay2 .box {
    -moz-transition-delay: 1s;
    -webkit-transition-delay: 1s;
    -o-transition-delay: 1s;
    -ms-transition-delay: 1s;
}
.about_flow_item.delay3 .box {
    -moz-transition-delay: 1.5s;
    -webkit-transition-delay: 1.5s;
    -o-transition-delay: 1.5s;
    -ms-transition-delay: 1.5s;
}

.about_flow_item.delay4 .box {
    -moz-transition-delay: 2s;
    -webkit-transition-delay: 2s;
    -o-transition-delay: 2s;
    -ms-transition-delay: 2s;
}

.about_flow_item .number {
	font-size: 39.25px;
	line-height: 1.49;
	font-weight: 400;
	color: #a69938;
	position: absolute;
	top: 0;
	left: 40px;
	z-index: 3;
}

.about_flow_item .info {
	width: 100%;
}

.about_flow_item .title {
	font-size: 24px;
	letter-spacing: 0.08em;
	line-height: 1.3;
	font-weight: 500;
	text-align: center;
}

.about_flow_item .title .small {
	font-size: 16px;
	line-height: 1.45;
	display: block;
}

.about_flow_item .button_link {
	display: block;
	max-width: 142px;
	margin-top: 16px;
	
	/* color: #451c6b; */
}

.about_flow_item .button_link span {
	/* padding: 0 0 0 20px; */
	padding: 0;
}

.about_flow_item .button_link span::before {
	position: relative;
	margin-right: 5px;
	background: url(../images/common/icon_btn02.svg) no-repeat;
	background-size: 100% 100%;
}

/* .about_mind {
	background: url('../images/about/blue_bg.webp') no-repeat;
	background-size: cover;
	padding: 80px 0;
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.about_mind::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: -150px;
	z-index: -2;
	width: 319px;
	height: 485px;
	background: url('../images/about/right_flower.webp') no-repeat;
	background-size: cover;
} */

.about_mind_wrap {
	/* max-width: 803px; */
  max-width: 1000px;
	width: 100%;
	margin: 0 auto 0;
}

.about_mv {
	padding: 3px;
	border-radius: 5px;
	border: 1px solid #b3a17a;
	/* max-width: 720px; */
	width: 100%;
	margin: 0 auto 30px;
}

.about_mv .mv {
	display: block;
	position: relative;
	z-index: 10;
	padding-top: 56.25%;
}


.about_mv .mv iframe {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 5px;
	border: 1px solid #b3a17a;
	
}

/* .about_mv .mv::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 5;
	width: 62px;
	height: 62px;
	pointer-events: none;
	background: url('../images/common/icon_play.svg') no-repeat;
	background-size: cover;
} */

.top_mind .about_text{
  padding-top: 0;
}

.about_mind_image {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 60px 0;
}

.about_mind_image .mind_image:first-child {
	width: 246px;
}

.about_mind_image .mind_image:nth-child(2) {
	width: 356px;
	margin-left: 103px;
}

.about_mind_info .about_text+.about_text {
	margin-top: 1em;
}

.about_reason {
	padding: 70px 0 100px;
	/* background: url('../images/about/purple_bg.webp') no-repeat;
	background-size: cover;
	position: relative;
	z-index: 3; */
}

.about_reason .top_head {
	margin-bottom: 30px;
}

.about_reason .about_reason_wrap {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.about_reason_cont {
	width: 50%;
	padding-right: 72px;
}

.about_reason_cont+.about_reason_cont {
	padding-left: 72px;
	padding-right: 0;
	background: linear-gradient(to bottom, #d6d2f3 50%, rgba(255, 255, 255, 0) 0%);
	background-position: left;
	background-size: 2px 8px;
	background-repeat: repeat-y;
}

.about_reason_head {
	position: relative;
	margin-bottom: 13px;
}

.about_reason_head .head {
	position: relative;
	font-size: 22px;
	letter-spacing: 0.15em;
	font-weight: 500;
	line-height: 1.45;
	background: #fff;
	mask: radial-gradient(10px at 10px 10px,#0000 98%,#000) -10px -10px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	
}

.about_reason_head .head_border01 {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	background: #b3a17a;
	mask:
	radial-gradient(12px at 12px 12px,#0000 calc(98% - 2px),#000 calc(100% - 2px) 98%,#0000) -12px -12px,
	    linear-gradient(90deg,#000 4px,#0000 0) -2px 50% /100% calc(100% - 24px + 2px) repeat-x,
	    linear-gradient(      #000 4px,#0000 0) 50% -2px/calc(100% - 24px + 2px) 100% repeat-y;
}

.about_reason_head .head_border01:before {
	content: "";
	position: absolute;
	inset: 0;
	background: #B3A17A;
	mask:
	radial-gradient(12px at 12px 12px,#0000 calc(98% - 2px),#000 calc(100% - 2px) 98%,#0000) -12px -12px,
	    linear-gradient(90deg,#000 4px,#0000 0) -2px 50% /100% calc(100% - 24px + 2px) repeat-x,
	    linear-gradient(      #000 4px,#0000 0) 50% -2px/calc(100% - 24px + 2px) 100% repeat-y;
}

.about_reason_head .head_border02 {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: calc(100% + 12px);
	height: calc(100% + 12px);
	mask:
    radial-gradient(12px at 12px 12px,#0000 calc(98% - 2px),#000 calc(100% - 2px) 98%,#0000) -12px -12px,
        linear-gradient(90deg,#000 4px,#0000 0) -2px 50% /100% calc(100% - 24px + 2px) repeat-x,
        linear-gradient(      #000 4px,#0000 0) 50% -2px/calc(100% - 24px + 2px) 100% repeat-y;
}

.about_reason_head .head_border02:before {
	content: "";
	position: absolute;
	inset: 0;
	background: #B3A17A;
	mask:
	radial-gradient(12px at 12px 12px,#0000 calc(98% - 2px),#000 calc(100% - 2px) 98%,#0000) -12px -12px,
	    linear-gradient(90deg,#000 4px,#0000 0) -2px 50% /100% calc(100% - 24px + 2px) repeat-x,
	    linear-gradient(      #000 4px,#0000 0) 50% -2px/calc(100% - 24px + 2px) 100% repeat-y;
}

.about_reason_swiper {
	padding: 20px 20px 30px;
	background: #fff;
	box-shadow: 3px 3px 3px rgba(0, 0, 0, .02);
	position: relative;
}

.about_reason_swiper .swiper-button-prev,
.about_reason_swiper .swiper-button-next {
	display: none;
}

.about_reason_swiper .swiper_btn {
	position: absolute;
	z-index: 5;
	top: 50%;
	width: 30px;
	height: 30px;
	background: url('../images/about/icon_purple_arrow.svg') no-repeat center;
	background-size: 27px 24px;
	transition: transform .3s ease;
}

.about_reason_swiper .swiper_btn.prev {
	left: -14px;
	transform: translate(0,-50%);
}

.about_reason_swiper .swiper_btn.next {
	right: -14px;
	transform: translate(0,-50%) scale(-1);
}

.about_reason_swiper .swiper_btn a {
	display: block;
	width: 100%;
	height: 100%;
}

.about_reason_swiper .info {
	margin-top: 23px;
	text-align: center;
}

.about_reason_swiper .info p {
	font-weight: 500;
	font-size: 18px;
	letter-spacing: 0.08em;
	line-height: 1.45;
}

@media (min-width: 960px) {
	.about_reason_swiper .swiper_btn.prev:hover {
		transform: translate(-5px,-50%);
		transition: transform .3s ease;
	}
	
	.about_reason_swiper .swiper_btn.next:hover {
		transform: translate(5px,-50%) scale(-1);
		transition: transform .3s ease;
	}
}

@media (max-width: 1300px) {
	.about_flow_item .title {
	    font-size: 20px;
	}
	
	.about_flow_item .box {
		max-width: 214px;
	    height: 214px;
		padding: 30px;
	}
}

@media (max-width: 1200px) {
	.about_flow_item .button_link {
		font-size: 14px;
	}
	
	.about_flow_item .button_link  span::before {
	    width: 16px;
	    height: 16px;
	}
}

@media (max-width: 1180px) {
	#About .contents .contents_bg::after {
	    top: -97px;
	    width: 274px;
	    height: 328.5px;
	}
	
	.about_flow_item .title {
	    font-size: 18px;
	}
	
	.about_flow_item .box {
		max-width: 190px;
	    height: 190px;
	}
	
	.about_flow_item .number {
	    top: -0.1em;
		left: 20px;
	}
	
}

@media (max-width: 1070px) {
	.about_flow_item .title {
	    font-size: 16px;
	}
	
	.about_flow_item .box {
	    max-width: 175px;
	    height: 175px;
		padding: 30px 27px;
	}
}

@media (max-width: 920px) {
	.about_flow_item {
	    width: calc(20% - 16px);
	    margin-left: 16px;
	}
	
	.about_flow_list {
	    margin-left: -16px;
	}
	
	
	.about_flow_item .box {
		max-width: 151px;
	    height: 151px;
		transform: translate(0, -30px);
		opacity: 0;
		transition: 0.3s ease;
		
		padding: 36px 24px;
	}
	
	
	.about_flow_item.move .box {
	  transform: translate(0, 0);
	  opacity: 1;
	}
	
	.about_flow_item .button_link {
	    padding-bottom: 9px;
	}
	
	.about_flow_item .number {
		top: -0.3em;
	}
	
	
	.about_flow_item.delay1 .box,
	.about_flow_item.delay2 .box,
	.about_flow_item.delay3 .box,
	.about_flow_item.delay4 .box {
	    -moz-transition-delay: unset;
	    -webkit-transition-delay: unset;
	    -o-transition-delay: unset;
	    -ms-transition-delay: unset;
	}
	
	
	.about_flow_item .title {
		font-size: 14px;
	}
	
	.about_flow_item .button_link {
		font-size: 12px;
	}
	
	/* .about_flow_item .button_link span {
		padding: 0 0 0 16px;
	} */
	
}


@media (max-width: 800px) {
	/*==================================
		このサイトについて
	==================================*/
	#About .contents .contents_bg::before {
	    background: #fffffe;
	}
	
	#About .contents .contents_bg::after {
		top: -146px;
		left: -49px;
		width: 310px;
		height: 375.5px;
		transform: scale(0.7);
		transform-origin: top left;
	}
	
	.about_top {
		text-align: left;
	}
	
	.about_text {
		font-size: 14px;
		/* line-height: 1.45; */
    line-height: 1.8;
	}
	.about_top .about_text{
    padding-top: 15px;
  }
	
	.about_flow {
		padding: 40px 0 60px;
	}
	
	.about_flow_list {
		display: block;
		margin-left: 0;
	}
	
	.about_flow_item {
		width: 100%;
		margin-left: 0;
		position: relative;
		/* overflow: visible; */
	}
	
	.about_flow_item +.about_flow_item  {
		margin-top: 30px;
	}
	
	.about_flow_item+.about_flow_item::before {
		content: '';
		position: absolute;
		left: 50%;
		top: 0;
		width: 16px;
		height: 14px;
		margin-left: -10px;
		background: url('../images/about/icon_flow_arrow.svg') no-repeat center;
		background-size: 100% auto;
		transform: rotate(90deg);
		margin-top: -20px;
	}
	
	.about_flow_item .box {
		max-width: unset;
		width: 100%;
		height: auto;
		margin: 0 auto;
		position: relative;
		background: #fff;
		padding: 23px 15px;
		position: relative;
		
		background: url('../images/about/sp/flow_border02.webp') no-repeat;
		background-size: 100% 100%;
	}
	
	.about_flow_item:first-child .box {
		
		background: url('../images/about/sp/flow_border01.webp') no-repeat;
		background-size: 100% 100%;
	}
	/* 
	.about_flow_item .box .box_border01 {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
	}
	
	.about_flow_item .box .box_border01::before,
	.about_flow_item .box .box_border01::after,
	.about_flow_item .box .box_border02::before,
	.about_flow_item .box .box_border02::after {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
		width: 28px;
		height: 28px;
		background: url('../images/about/sp/flow_border.webp') no-repeat;
		background-size: 100% 100%;
	}
	
	.about_flow_item .box .box_border01::after {
		left: auto;
		right: 0;
		transform: scale(-1,1);
	}
	
	.about_flow_item .box .box_border02::before,
	.about_flow_item .box .box_border02::after {
		top: auto;
		bottom: 0;
	}
	
	.about_flow_item .box .box_border02::before {
		transform: scale(1,-1);
	}
	
	.about_flow_item .box .box_border02::after {
		left: auto;
		right: 0;
		transform: scale(-1,-1);
	}
	
	.about_flow_item .box .box_border03 {
		position: absolute;
		left: 28px;
		top: 0.3px;
		z-index: 1;
		width: calc(100% - 56px);
		height: calc(100% - 0.5px);
		border-top: 1px solid #d8c6a0;
		border-bottom: 1px solid #d8c6a0;
	}
	
	.about_flow_item:first-child .box .box_border03 {
		top: 0.2px;
	}
		
	.about_flow_item .box .box_border03::before {
		content: '';
		position: absolute;
		left: -27.8px;
		top: 26.6px;
		z-index: 2;
		width: calc(100% + 55.6px);
		height: calc(100% - 53px);
		border-left: 1px solid #d8c6a0;
		border-right: 1px solid #d8c6a0;
	}
	
	.about_flow_item .box .box_border04 {
		position: absolute;
		left: 28px;
		top: 2.8px;
		z-index: 1;
		width: calc(100% - 56px);
		height: calc(100% - 5.6px);
		border-top: 0.5px solid #d8c6a0;
		border-bottom: 0.5px solid #d8c6a0;
	}
	
	.about_flow_item:first-child .box .box_border04 {
		top: 2.7px;
		height: calc(100% - 5.5px);
	}
	
	.about_flow_item .box .box_border04::before {
		content: '';
		position: absolute;
		left: -25.3px;
		top: 24px;
		z-index: 2;
		width: calc(100% + 50.6px);
		height: calc(100% - 48px);
		border-left: 0.5px solid #d8c6a0;
		border-right: 0.5px solid #d8c6a0;
	}
	 */
	
	
	
	.about_flow_item .number {
		font-size: 35px;
		line-height: 1;
		font-weight: 400;
		color: #a69938;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 24px;
		z-index: 3;
	}
	
	.about_flow_item .info {
		width: 100%;
	}
	
	.about_flow_item .title {
		font-size: 18px;
		letter-spacing: 0.02em;
		line-height: 1;
		font-weight: 500;
		text-align: center;
	}
	
	.about_flow_item .title .small {
		font-size: 12px;
		line-height: 1.45;
		display: inline-block;
	}
	
	.about_flow_item .button_link {
		padding-bottom: 6px;
		margin-top: 10px;
		max-width: 130px;
		font-size: 14px;
		/* color: #451c6b; */
	}
	
	
	.about_mind {
		/* background: url('../images/about/sp/blue_bg.webp') no-repeat; */
		/* background-size: cover; */
		/* padding: 52px 0; */
	}
	
	.about_mind::after {
		/* content: unset; */
	}
	
	.about_mv {
		padding: 1.5px;
		border-radius: 3px;
		margin: 0 auto 30px;
	}
	
	
	/* .about_mv .mv::before {
		width: 45px;
		height: 45px;
		
	} */
	
	.about_mind_image {
		display: block;
		margin: 40px 0 35px;
	}
	
	.about_mind_image .mind_image:first-child {
		width: 234px;
		margin: 0 auto;
	}
	
	.about_mind_image .mind_image:nth-child(2) {
		width: 256px;
		margin: 40px auto 0;
	}
	
	.about_reason {
		padding: 74px 0 29px;
		/* background: url('../images/about/sp/purple_bg.webp') no-repeat;
		background-size: cover; */
		position: relative;
		z-index: 3;
	}
	
	#About .contents::before {
		content: '';
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: -1;
		background: url('../images/about/sp/reason_flower.webp') no-repeat;
		width: 185px;
		height: 199px;
		background-size: cover;
	}
	
	.about_reason .top_head {
		margin-bottom: 1px;
	}
	
	.about_reason .about_reason_wrap {
		display: block;
		justify-content: space-between;
	}
	
	.about_reason_cont {
		width: 100%;
		padding-right: 0;
		padding: 22px 0 26px;
	}
	
	.about_reason_cont+.about_reason_cont {
		padding-left: 0;
		padding-right: 0;
		background: linear-gradient(to right, #d6d2f3 50%, rgba(255, 255, 255, 0) 0%);
		background-position: top;
		background-size: 8px 1px;
		background-repeat: repeat-x;
	}
	
	.about_reason_head {
		position: relative;
		margin-bottom: 10px;
	}
	
	.about_reason_head .head {
		font-size: 18px;
		height: 34px;
	}
	
	
	.about_reason_head .head_border01 {
		    width: calc(100% + 4px);
		    height: calc(100% + 4px);
		mask:
		 radial-gradient(12px at 12px 12px,#0000 calc(98% - 1px),#000 calc(100% - 1px) 98%,#0000) -12px -12px,
		    linear-gradient(90deg,#000 2px,#0000 0) -1px 50% /100% calc(100% - 24px + 1px) repeat-x,
		    linear-gradient(      #000 2px,#0000 0) 50% -1px/calc(100% - 24px + 1px) 100% repeat-y;
	}
	
	.about_reason_head .head_border01:before {
		mask:
		 radial-gradient(12px at 12px 12px,#0000 calc(98% - 1px),#000 calc(100% - 1px) 98%,#0000) -12px -12px,
		    linear-gradient(90deg,#000 2px,#0000 0) -1px 50% /100% calc(100% - 24px + 1px) repeat-x,
		    linear-gradient(      #000 2px,#0000 0) 50% -1px/calc(100% - 24px + 1px) 100% repeat-y;
	}
	
	.about_reason_head .head_border02 {
		mask:
		 radial-gradient(12px at 12px 12px,#0000 calc(98% - 1px),#000 calc(100% - 1px) 98%,#0000) -12px -12px,
		    linear-gradient(90deg,#000 2px,#0000 0) -1px 50% /100% calc(100% - 24px + 1px) repeat-x,
		    linear-gradient(      #000 2px,#0000 0) 50% -1px/calc(100% - 24px + 1px) 100% repeat-y;
	}
	
	.about_reason_head .head_border02:before {
		mask:
		 radial-gradient(12px at 12px 12px,#0000 calc(98% - 1px),#000 calc(100% - 1px) 98%,#0000) -12px -12px,
		    linear-gradient(90deg,#000 2px,#0000 0) -1px 50% /100% calc(100% - 24px + 1px) repeat-x,
		    linear-gradient(      #000 2px,#0000 0) 50% -1px/calc(100% - 24px + 1px) 100% repeat-y;
	}
	
	
	.about_reason_swiper {
		padding: 15px 15px 13px;
		box-shadow: 0px 3px 3px 3px rgba(0, 0, 0, .02);
		/* padding: 0 ; */
		width: calc(100% - 25px);
		margin: 0 auto;
	}
	
	
	.about_reason_swiper .swiper_btn {
		background: url('../images/about/icon_purple_arrow.svg') no-repeat center;
		background-size: 20px 15px;
		transition: transform .3s ease;
	}
	
	
	.about_reason_swiper .info {
		margin-top: 17px;
		text-align: center;
	}
	
	.about_reason_swiper .info p {
		font-size: 14px;
	}
}

/* 特定商取引法に基づく表記 */
#Transactions .contents::before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	width: 363px;
	height: 339.5px;
	background: url('../images/top/right_flower.webp') no-repeat;
	background-size: cover;
}

.transactions_list {
	padding-bottom: 84px;
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 4;
}

.transactions_list dl {
	display: flex;
	padding: 11px 0 13px;
	
}

.transactions_list dl+dl {
	border-top: 1px #d6d2f3 solid;
}

.transactions_list dt,
.transactions_list dd,
.transactions_list dd .tel {
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 1.45;
	font-weight: 500;
}

.transactions_list dt {
	padding: 0 8px;
	width: 176px;
}

.transactions_list dd {
	width: calc(100% - 176px);
}

@media (min-width: 960px) {
}

@media (max-width: 800px) {
	/* 特定商取引法に基づく表記 */
	#Transactions .contents::before {
		bottom: -16px;
		transform: scale(0.4);
		transform-origin: right bottom;
		    
	}
	
	.transactions_list {
		padding-bottom: 30px;
	}
	
	.transactions_list dl {
		padding: 20px 0 15px;
		
	}
	
	.transactions_list dt,
	.transactions_list dd,
	.transactions_list dd .tel{
		font-size: 14px;
		letter-spacing: 0;
	}
	
	.transactions_list dt {
		padding: 0;
		width: 108px;
	}
	
	.transactions_list dd {
		width: calc(100% - 108px);
	}
}



/* マイページ*/
#User .contents::before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	width: 363px;
	height: 339.5px;
	background: url('../images/top/right_flower.webp') no-repeat;
	background-size: cover;
}

.user_wrap {
	padding-bottom: 180px;
	position: relative;
	z-index: 5;
}

.user_wrap .user_wrap_head {
	font-size: 20px;
	letter-spacing: 0.08em;
	font-weight: 500;
	padding-bottom: 41px;
	position: relative;
	margin-bottom: 38px;
	text-align: center;
}

.user_wrap .user_wrap_head span {
	display: inline-block;
	padding-left: 10px;
	font-size: 46px;
}

.user_wrap .user_wrap_head::before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	z-index: 3;
	width: 466px;
	height: 30.23px;
	background: url('../images/user/icon_head_border.svg') no-repeat;
	background-size: cover;
}

.user_menu {
	padding: 4px;
	border-radius: 10px;
	background-color: #ffffff;
	border: 1px solid #b3a17a;
	background: #fff;
}

.user_menu_inner {
	display: flex;
	border: 2px solid #b3a17a;
	border-radius: 5px;
}

.user_menu_item {
	width: 20%;
	height: 250px;
}

.user_menu_item+.user_menu_item {
	border-left: 2px solid #b3a17a;
}

.user_menu_item a {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .3s ease;
}

.user_menu_item a .title {
	padding-top: 20px;
	font-size: 22px;
	letter-spacing: 0.08em;
	font-weight: 500;
	transition: color .3s ease;
	position: relative;
}

.user_menu_item a .title::before,
.user_menu_item a .title::after {
	content: '';
	position: absolute;
	left: 50%;
	transition: background .3s ease;
}

.user_menu_item a .title::before {
	top: 0;
	transform: translate(-50%,-100%);
}

.user_menu_item.reservation a .title::before {
	background: url('../images/user/icon_reservation.svg') no-repeat center;
	width: 38px;
	height: 39px;
	background-size: 100% 100%;
}

.user_menu_item.like a .title::before {
	background: url('../images/user/icon_like.svg') no-repeat center;
	width: 34px;
	height: 31px;
	background-size: 100% 100%;
}

.user_menu_item.correction a .title::before {
	background: url('../images/user/icon_correction.svg') no-repeat center;
	width: 27.12px;
	height: 33.75px;
	background-size: 100% 100%;
}

.user_menu_item.resume a .title::before {
	background: url('../images/user/icon_resume.svg') no-repeat center;
	width: 29px;
	height: 41px;
	background-size: 100% 100%;
}

.user_menu_item.logout a .title::before {
	background: url('../images/user/icon_logout.svg') no-repeat center;
	width: 41px;
	height: 34px;
	background-size: 100% 100%;
}

.user_menu_item a .title::after {
	background: url('../images/user/icon_decoration.svg') no-repeat center;
	bottom: 0;
	transform: translate(-50%,100%);
	margin-bottom: -14px;
	width: 83px;
	height: 17px;
	background-size: cover;
}

@media (min-width: 960px) {
	.user_menu .user_menu_item a:hover .title {
		transition: color .3s ease;
		color: #663f8c;
	}
	
	.user_menu_item a:hover {
		background: #f8f5fd;
		transition: background .3s ease;
	}
	
	.user_menu_item.reservation a:hover .title::before {
		background: url('../images/user/icon_reservation_hover.svg') no-repeat;
		background-size: 100% 100%;
		transition: background .3s ease;
	}
	
	.user_menu_item.like a:hover .title::before {
		background: url('../images/user/icon_like_hover.svg') no-repeat;
		background-size: 100% 100%;
		transition: background .3s ease;
	}
	
	.user_menu_item.correction a:hover .title::before {
		background: url('../images/user/icon_correction_hover.svg') no-repeat;
		background-size: 100% 100%;
		transition: background .3s ease;
	}
	
	.user_menu_item.resume a:hover .title::before {
		background: url('../images/user/icon_resume_hover.svg') no-repeat;
		background-size: 100% 100%;
		transition: background .3s ease;
	}
	
	.user_menu_item.logout a:hover .title::before {
		background: url('../images/user/icon_logout_hover.svg') no-repeat;
		background-size: 100% 100%;
		transition: background .3s ease;
	}
	
	.user_menu_item a:hover .title::after {
		background: url('../images/user/icon_decoration_hover.svg') no-repeat;
		background-size: 100% 100%;
		transition: background .3s ease;
	}
}

@media (max-width: 800px) {
	#User .contents::before {
		bottom: -16px;
		transform: scale(0.4);
		transform-origin: right bottom;
	}
	
	.user_wrap {
		padding-bottom: 55.5px;
	}
	
	.user_wrap .user_wrap_head {
		font-size: 16px;
		padding-bottom: 26px;
		margin-bottom: 20px;
	}
	
	.user_wrap .user_wrap_head span {
		font-size: 36.64px;
	}
	
	.user_wrap .user_wrap_head::before {
		width: 350px;
		height: 21px;
	}
	
	.user_menu {
		padding: 2px;
		border-radius: 5px;
	}
	
	.user_menu_inner {
		flex-wrap: wrap;
		border: 1px solid #b3a17a;
		border-radius: 2.5px;
	}
	
	.user_menu_item {
		width: 50%;
		height: 130px;
		border-bottom: 1px solid #b3a17a;
		border-right: 1px solid #b3a17a;
	}
	
	.user_menu_item:nth-child(2n) {
		border-right: none;
	}
	
	.user_menu_item:nth-last-child(-n+1) {
		border-bottom: none;
	}
	
	.user_menu_item+.user_menu_item {
		border-left: none;
	}
	
	.user_menu_item a {
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: background .3s ease;
	}
	
	.user_menu_item a .title {
		padding-top: 15px;
		font-size: 16px;
	}
	
	.user_menu_item a .title::before,
	.user_menu_item a .title::after {
		content: '';
		position: absolute;
		left: 50%;
		transition: background .3s ease;
	}
	
	.user_menu_item a .title::before {
		top: 5px;
		transform: translate(-50%,-100%) scale(0.73);
		transform-origin: bottom;
	}
	
	
	.user_menu_item a .title::after {
		transform: translate(-50%,100%) scale(0.5);
		margin-bottom: -7px;
		transform-origin: top;
	}
}

/* 予約状況確認 */
.user_navi {
	padding: 4px;
	border-radius: 10px;
	background-color: #ffffff;
	border: 1px solid #b3a17a;
	background: #fff;
	margin-bottom: 60px;
}

.user_menu_inner {
	display: flex;
	border: 2px solid #b3a17a;
	border-radius: 5px;
}

.user_navi .user_menu_item {
    height: 58px;
}

.user_navi .user_menu_item.is_active {
	background: #f8f5fd;
}

.user_navi .user_menu_item .box {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.user_navi .user_menu_item .box .title {
	font-size: 16px;
	letter-spacing: 0.08em;
	font-weight: 500;
	padding-top: 0;
  line-height: 1;
}

.user_navi .user_menu_item .box .title::before,
.user_navi .user_menu_item .box .title::after {
	content: unset;
}

.user_navi .user_menu_item .box .title span { 
	display: inline-flex;
	align-items: center;
}

.user_navi .user_menu_item .box .title span::before {
	content: '';
	margin-right: 12px;
	transform-origin: right;
  background: no-repeat center center / 100% auto;
}


.user_navi .user_menu_item.reservation .box .title span::before {
	background-image: url('../images/user/icon_reservation.svg');
	width: 20.9px;
	height: 21.45px;
}

.user_navi .user_menu_item.like .box .title span::before {
	background-image: url('../images/user/icon_like.svg');
	width: 18.7px;
	height: 16.5px;
}

.user_navi .user_menu_item.correction .box .title span::before {
	background-image: url('../images/user/icon_correction.svg');
	width: 15.85px;
	height: 18.15px;
}

.user_navi .user_menu_item.resume .box .title span::before {
	background-image: url('../images/user/icon_resume.svg');
	width: 16px;
	height: 23px;
}

.user_navi .user_menu_item.logout .box .title span::before {
	background-image: url('../images/user/icon_logout.svg');
	width: 22.55px;
	height: 18.7px;
}

.user_cont_head {
	margin-bottom: 42px;
}

.text_r {
	font-size:16px;
	text-align: center;
	padding:0 0 30px 0;
}

@media (max-width: 800px) {
	.text_r {
		font-size:14px;
		text-align: left;
		padding:0 0 30px 0;
	}
}

.alert-success {
	margin-bottom: 2rem;
	font-size:16px;
	text-align: center;
}

.alert-danger {
	margin-bottom: 2rem;
	font-size:16px;
	text-align: center;
	color: #d02020;
}


.user_reservation_table table,
.user_reservation_table tbody {
	/* display: block; */
	width: 100%;
}

.user_reservation_table table {
	border: 2px solid #d6d2f3;
	border-bottom: none;
	background: #fff;
}

.user_reservation_table table tr {
	/* display: flex; */
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.45;
	border-bottom: 2px solid #d6d2f3;
}

.user_reservation_table table tr th {
	font-size: 16px;
	letter-spacing: 0.08em;
	font-weight: 500;
	background: #ddd5ea;
	padding: 22px 0;
}

.user_reservation_table table tr th:nth-child(1) {
	width: 68%;
}

.user_reservation_table table tr th:nth-child(2) {
	width: 32%;
	border-left: 2px solid #f2eaff;
}

.user_reservation_table table tr td {
	padding: 30px 36px;
  /* white-space: nowrap; */
}

.user_reservation_table table tr td:nth-child(1) {
	display: flex;
}

.user_reservation_table table tr td:nth-child(2) {
	border-left: 2px solid #d6d2f3;
}

.user_reservation_table table .date {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	margin-right: 30px;
}

.user_reservation_table table .info {
	margin-right: 45px;
}

.user_reservation_table table .info dl {
	display: flex;
	align-items: center;
}

.user_reservation_table table .info dl+dl {
	margin-top: 10px;
}

.user_reservation_table table .info dl dt {
	width: 100px;
	margin-right: 10px;
}

.user_reservation_table table .info dl dt span {
	font-size: 14px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 30px;
	width: 100px;
	border-radius: 15px;
	background: #371a6a;
	color: #fff;
}

.user_reservation_table table .info dl dd {
	width: calc(100% - 110px);
	font-size: 16px;
	letter-spacing: 0.08em;
	font-weight: 500;
}

.user_reservation_table table .info dl dd .nopay {
	/* color:#ff0000; */
	background-color: #cc0000;
	color:#fff;
	font-size:12px;
	border-radius: 15px;
	display: inline-block;
	padding:1px 10px 3px 10px;
	margin:0 0 0 10px;
}
.user_reservation_table table .btn-cancel {
	cursor: pointer;
	padding:20px 0 0 0;
	transition: opacity .3s ease;
}
.user_reservation_table table .btn-cancel:hover {
	opacity: 0.7;
}


.user_reservation_table table .link {
	padding-top: 20px;
}

.user_reservation_table table .link input[type="submit"] {
	-webkit-appearance: none;
	appearance: none;
	color: #1E1521;
}

.user_reservation_table table .link a {
	width: 172px;
	line-height: 1;
	font-size: 16px;
	color: #451c6b;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	position: relative;
	padding-bottom: 10px;
	transition: color .5s ease;
	background: linear-gradient(#451c6b, #451c6b) 0 100%/0 2px no-repeat;
	background-size: 100% 2px;
	position: relative;
	transition: background .3s ease;
}

.user_reservation_table table .link a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 5px;
    height: 5px;
    background: url(../images/common/icon_breadcrumb.svg) no-repeat;
    background-size: cover;
}

.user_reservation_table table .name dl {
	display: flex;
	align-items: center;
}

.user_reservation_table table tr .name dt {
	width: 56px;
	height: 56px;
	overflow: hidden;
	margin-right: 14px;
	
}

.user_reservation_table table tr .name dt picture {
	display: block;
	width: 56px;
	height: 56px;
	transition: transform .3s ease;
}

.user_reservation_table table tr .name dt img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

.user_reservation_table table tr .name dd {
	width: calc(100% - 70px);
	font-size: 22px;
	letter-spacing: 0.15em;
	font-weight: 500;
	transition: opacity .3s ease;
}


	
@media (min-width: 960px) {
	.user_reservation_table table .link a:hover {
		background-size: 0 2px;
		transition: background .3s ease;
	}
	
	.user_reservation_table table tr .name a:hover dd {
		opacity: .7;
		transition: opacity .3s ease;
	}
	
	.user_reservation_table table tr .name a:hover dt picture {
		transform: scale(1.05);
		transition: transform .3s ease;
	}
	
}

@media (max-width: 1320px) {
	.user_reservation_table table tr td {
		padding: 40px 30px;
	}
	
	.user_reservation_table table .info dl dd {
	    font-size: 14px;
	}
	
	.user_reservation_table table .info {
	    margin-right: 30px;
	}
}

@media (max-width: 1270px) {
	.user_reservation_table table tr td {
		padding: 40px 20px;
	}
	
	.user_reservation_table table .info {
	    margin-right: 20px;
	}
	
	.user_reservation_table table tr th:nth-child(1) {
	    width: 75%;
	}
	
	.user_reservation_table table tr th:nth-child(2) {
	    width: 25%;
	}
}

@media (max-width: 1060px) {
	.user_reservation_table table .link a {
	    width: 150px;
	    font-size: 14px;
	}
	
	.user_reservation_table table tr .name dd {
	    font-size: 18px;
	}
}

@media (max-width: 800px) {
	/* 予約状況確認 */
	.user_navi {
		padding: 2px;
		border-radius: 5px;
		margin-bottom: 50px;
	}
	
	.user_menu_inner {
		border: 1px solid #b3a17a;
		border-radius: 2.5px;
	}
	
	.user_navi .user_menu_item {
	    height: 50px;
	}
	
	.user_navi .user_menu_item .box {
		justify-content: flex-start;
	}
	
	.user_navi .user_menu_item .box .title {
		font-size: 13px;
		position: relative;
		display: block;
		padding-left: 25px;
		line-height: 1;
	}
	
	.user_navi .user_menu_item .box .title span::before {
		margin-right: 6px;
	}
	
	
	.user_cont_head {
		margin-bottom: 20px;
	}
	
	.user_reservation_table table,
	.user_reservation_table tbody {
		/* display: block; */
		width: 100%;
		
		background: transparent;
	}
	
	.user_reservation_table table {
		border: none;
		border-bottom: none;
		background: transparent;
	}
	
	.user_reservation_table table tr {
		/* display: flex; */
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 0.08em;
		line-height: 1.45;
		border-bottom: none;
		border-top: 2px solid #d6d2f3;
		padding: 28px 0 35px;
		display: block;
	}
	
	.user_reservation_table table tr:last-child {
		border-bottom: 2px solid #d6d2f3;
	}
	
	.user_reservation_table table tr:first-child {
		display: none;
	}
	
	.user_reservation_table table tr th {
		display: none;
	}
	
	.user_reservation_table table tr td {
		padding: 0;
	}
	
	.user_reservation_table table tr td:nth-child(1) {
		display: block;
	}
	
	.user_reservation_table table tr td:nth-child(2) {
		display: none;
	}
	
	.user_reservation_table table .date {
		font-size: 13px;
		margin-right:0;
		margin-bottom: 15px;
	}
	
	.user_reservation_table table .info {
		margin-right: 0;
		margin-top: 10px;
	}
	
	.user_reservation_table table .info dl {
		align-items: center;
	}
	
	.user_reservation_table table .info dl dd {
		font-size: 16px;
		letter-spacing: 0;
	}
	
	
	.user_reservation_table table .link {
		padding-top: 0;
		margin-top: 15px;
	}

	.user_reservation_table table .link input[type="submit"] {
		-webkit-appearance: none;
  		appearance: none;
		color: #1E1521;
	}
	
	
	.user_reservation_table table .link a {
		width: 174px;
		line-height: 1;
		font-size: 16px;
		padding-bottom: 10px;
		margin: 0;
	}
	
	.user_reservation_table table tr .name dt {
		width: 48px;
		margin-right: 10px;
	}
	
	.user_reservation_table table tr .name dt picture {
		display: block;
		width: 48px;
		height: 48px;
	}
	
	.user_reservation_table table tr .name dd {
		width: calc(100% - 58px);
		font-size: 21px;
	}
}

/* お気に入り */
.user_like_list {
	max-width: 1120px;
	width: 100%;
	margin: 50px auto 0;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 50px 40px;
}

.user_wrap .page_navigation .wp-pagenavi {
    padding: 100px 0 0;
}

.user_cont .therapist_top {
	justify-content: flex-end;
} 

.user_like_list .therapist_box {
	position: relative;
}

.user_like_list .therapist_box.is_remove {
	display: none;
}

.user_like_list .therapist_box .remove_btn {
	width: 16px;
	height: 16px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 10;
	cursor: pointer;
}

.user_like_list .therapist_box .remove_btn::before,
.user_like_list .therapist_box .remove_btn::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	width: 2px;
	height: 20px;
	transform: translate(-50%,-50%)  rotate(45deg);
	background: #e0d4f8;
}

.user_like_list .therapist_box .remove_btn::after {
	transform: translate(-50%,-50%)  rotate(-45deg);
}


@media (max-width: 800px) {
	.user_like_list {
		margin: 31px auto 0;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 16px;
	}
	
	.user_wrap .page_navigation .wp-pagenavi {
	    padding: 50px 0 0;
	}
	
	
	.user_like_list .therapist_box .remove_btn {
		right: 10px;
		width: 15px;
		height: 15px;
	}
	
	.user_like_list .therapist_box .remove_btn::before,
	.user_like_list .therapist_box .remove_btn::after {
		height: 12.5px;
	}
	
}

/* 会員情報修正 */
#User .correction.contents::before {
	bottom: -107px;
    width: 353px;
    height: 339px;
    background: url(../images/user/correction_flower.webp) no-repeat;
    background-size: cover;
}

.form_style {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
}

.form_style form table {
  display: block;
}

.form_style form table tbody {
  display: block;
}

.form_style form table tr {
	display: flex;
	width: 100%;
	position: relative;
	z-index: 2;
	/* padding: 25px 0; */
}

.form_style form table tr::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	border: 1px solid #d6d2f3;
	background: #fcfcff;
	border-radius: 5px;
}

.form_style form table tr+tr {
	margin-top: 22px;
}

.form_style form table tr th {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.08em;
  font-weight: 500;
  display: block;
  text-align: left;
  width: 213px;
  padding: 27px 0 25px 20px;
  position: relative;
}

.form_style form table tr th::before {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 1px;
	height: calc(100% - 50px);
	background: #d6d2f3;
}

.form_style form table tr td {
  display: block;
  width: calc(100% - 213px);
  padding: 0 30px;
}

.form_style form table tr td {
  display: block;
  width: calc(100% - 213px);
}

.form_style form table.profiletable tr td {
  padding: 27px 30px 25px 30px;
}

.form_style form input[type=text],
.form_style form input[type=password],
.form_style form input[type=email],
.form_style form input[type=tel],
.form_style form input[type=number],
.form_style form textarea {
	border: none;
	background: transparent;
	padding: 25px 0;
  width: 100%;
}

.form_style form textarea {
	min-height: 240px;
}

.form_style form .form_note {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-align: right;
	margin-top: 11px;
}

.form_style form .submit_area {
    margin-top: 40px;
}

.form_style form .logout_link {
	margin-top: 32px;
}

.form_style form .logout_link a {
	width: 85px;
	line-height: 1;
	font-size: 14px;
	color: #451c6b;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	position: relative;
	padding-bottom: 10px;
	transition: color .5s ease;
	background: linear-gradient(#451c6b, #451c6b) 0 100%/0 2px no-repeat;
	background-size: 100% 2px;
	position: relative;
	transition: background .3s ease;
}

.form_style form .logout_link a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 5px;
    height: 5px;
    background: url(../images/common/icon_breadcrumb.svg) no-repeat;
    background-size: cover;
}


@media (min-width: 960px) {
	.form_style form .logout_link a:hover {
		background-size: 0 2px;
		transition: background .3s ease;
	}
}

@media (max-width: 800px) {
	#User .correction.contents::before {
		bottom: -40px;
	}
	
	.form_style form table {
	  display: block;
	}
	
	.form_style form table tbody {
	  display: block;
	}
	
	.form_style form table tr {
		display: block;
	}
	
	.form_style form table tr+tr {
		margin-top: 22px;
	}
	
	.form_style form table tr th {
	  width: 100%;
	  padding: 0;
	  line-height: 1.45;
	}
	
	.form_style form table tr::before {
		content: unset;
	}
	
	.form_style form table tr td {
	  display: block;
	  width: 100%;
	  padding: 0;
	  margin-top: 10px;
	}

	.form_style form table.profiletable tr td {
		padding: 10px 30px 10px 30px;
	}
	
	.form_style form input[type=text],
	.form_style form input[type=password],
	.form_style form input[type=email],
	.form_style form input[type=tel],
	.form_style form input[type=number],
	.form_style form textarea {
		border: 1px solid #d6d2f3;
		background: #fcfcff;
		border-radius: 5px;
		padding: 18px 20px;
		height: 50px;
		/* width: 100%; */
	}
	
	
	.form_style form .form_note {
		letter-spacing: 0;
		text-align: left;
		margin-top: 15px;
	}
	
	.form_style form .submit_area {
	    margin-top: 50px;
	}
	
	.form_style form .logout_link {
		margin-top: 325x;
	}
	
	.form_style form .logout_link a {
		padding-bottom: 8px;
	}
	
	.form_style form textarea {
	    min-height: 200px;
	}
	
}

/* レビューの作成 */

.user_resume_top {
	margin-bottom: 73px;
}

.user_resume_top .text {
	text-align: center;
	margin-bottom: 74px;
	font-size: 16px;
	letter-spacing: 0.15em;
	font-weight: 500;
}
.user_resume_item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	padding: 36px 0 36px 122px;
	border-top: 4px double #b3a17a;
	border-bottom: 4px double #b3a17a;
}


.user_resume_item .user_resume_box {
	margin-right: 20px;
}

.user_resume_item .user_resume_info {
	word-break: keep-all;
  white-space: nowrap;
}

.user_resume_item .image_wrap {
	width: 100px;
	height: 100px;
	border-radius: 100%;
	border: 2px solid #e0d4f8;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
}

.user_resume_item .image_wrap .img_hidden {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.user_resume_item .image {
	width: 85px;
	height: 85px;
}

.user_resume_item .image_wrap picture {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	padding-top: 100%;
	overflow: hidden;
}

.user_resume_item .image_wrap img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	border-radius: 100%;
	object-fit: cover;
}


.user_resume_item .therapist_info ul {
	justify-content: flex-start;
	gap: 4px;
}

.user_resume_item .therapist_info {
	margin-top: 20px;
}

.user_resume_item .therapist_info p {
	font-size: 12px;
}

.user_resume_item .name {
	font-size: 32px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1;
}

.user_resume_item .name a {
	
	transition: .3s ease opacity;
}

.user_resume_item .user_resume_info dl {
	display: flex;
	align-items: center;
}

.user_resume_item .user_resume_info dl+dl {
	margin-top: 10px;
}

.user_resume_item .user_resume_info dt {
	width: 70px;
	margin-right: 18px;
}

.user_resume_item .user_resume_info dt span {
	width: 100%;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #371a6a;
	border-radius: 15px;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 1;
}

.user_resume_item .user_resume_info dd {
	width: calc(100% - 88px);
	font-size: 20px;
	line-height: 2;
	letter-spacing: 0.08em;
	font-weight: 500;
}


.user_resume_form .evaluate_area {
	margin-bottom: 32px;
	display: flex;
	align-items: center;
}

.user_resume_form .evaluate_area dt {
	width: 103px;
	font-size: 18.29px;
	font-weight: 500;
	letter-spacing: 0.15em;
}

.user_resume_form .evaluate_area dd {
	width: calc(100% - 103px);
}

.user_resume_form .star_wrap .star {
    text-align: left;
    max-width: 271px;
    width: 100%;
    margin: 0;
    position: relative;
    z-index: 2;
    background: url('../images/user/icon_star.svg') no-repeat;
  	background-size: 100% 42px;
}

.user_resume_form .star_wrap .star:before {
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	content: '';
	max-width: 271px;
	width: 100%;
	height: 42px;
	background: url('../images/user/icon_star_active.svg') no-repeat;
	background-size: 100% 42px;
}

.user_resume_form .star_wrap .star.star0::before  {
	clip-path: inset(0 100% 0 0);
}
.user_resume_form .star_wrap .star.star1::before  {
	clip-path: inset(0 80% 0 0);
}

.user_resume_form .star_wrap .star.star2::before  {
	clip-path: inset(0 60% 0 0);
}

.user_resume_form .star_wrap .star.star3::before  {
	clip-path: inset(0 40% 0 0);
}

.user_resume_form .star_wrap .star.star4::before  {
	clip-path: inset(0 20% 0 0);
}

.user_resume_form .star_wrap .star.star5::before  {
	clip-path: inset(0 0 0 0);
}


@media (min-width: 960px) {
	.user_resume_item .name a:hover {
		transition: .3s ease opacity;
		opacity: .7;
	}
}

@media (max-width: 800px) {
	.user_resume_top {
		margin-bottom: 32px;
	}
	
	.user_resume_top .text {
		text-align: left;
		margin-bottom: 62.5px;
		font-size: 14px;
		line-height: 1.75;
	}
	
	.user_resume_item {
		display: block;
		align-items: center;
		position: relative;
		padding: 15px 0 25px;
	}
	
	
	.user_resume_item .user_resume_box {
		margin-right: 0;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	
	.user_resume_item .user_resume_info {
		width: 100%;
		margin-top: 18px;
	}
	
	.user_resume_item .image_wrap {
		width: 70px;
		height: 70px;
		border: 2px solid #e0d4f8;
		position: relative;
		top: auto;
		left: auto;
		
		transform: translateY(0);
	}
	
	.user_resume_item .image {
		width: 62px;
		height: 62px;
	}
	
	.user_resume_item .therapist_info {
		width: 100%;
	}
	
	.user_resume_item .therapist_info ul {
		justify-content: flex-start;
		gap: 4px;
		margin-top: 0;
	}
	
	.user_resume_item .therapist_info {
		margin-top: 5px;
	}
	
	.user_resume_item .therapist_info p {
		font-size: 12px;
	}
	
	.user_resume_item .name {
		font-size: 23px;
		margin-left: 13px;
	}
	
	.user_resume_item .user_resume_info dt span {
		height: 20px;
		font-size: 14px;
	}
	
	.user_resume_item .user_resume_info dd {
		font-size: 16px;
		line-height: 1.45;
	}
	
	
	.user_resume_form .evaluate_area {
		margin-bottom: 32px;
		display: flex;
		align-items: center;
	}
	
	.user_resume_form .evaluate_area dt {
		width: 103px;
		font-size: 18.29px;
		font-weight: 500;
		letter-spacing: 0.15em;
	}
	
	.user_resume_form .evaluate_area dd {
		width: calc(100% - 103px);
	}
	
	.user_resume_form .star_wrap .star {
	    text-align: left;
	    max-width: 271px;
	    width: 100%;
	    margin: 0;
	    position: relative;
	}
	
	.user_resume_form .star_wrap .star span {
	    display: inline-block;
	    max-width: 271px;
	    width: 100%;
	    height: 42px;
	    background: url('../images/user/icon_star.svg') no-repeat;
	    background-size: 100% 42px;
	    position: relative;
	    margin-right: 0;
	}
	
	.user_resume_form .star_wrap .star span::after {
		content: unset;
	}
}

/* 退会 */
.user_correction_leave .leave_head {
	margin-bottom: 50px;
	font-size: 28px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-align: center;
}

.user_correction_leave .text {
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0.08em;
	font-weight: 500;
	text-align: center;
}

.form_style.user_correction_leave form .submit_area {
	margin-top: 52px;
}

@media (max-width: 800px) {
	.user_correction_leave .leave_head {
		margin-bottom: 40px;
		font-size: 21px;
		letter-spacing: 0;
	}
	
	.user_correction_leave .text {
		font-size: 14px;
		line-height: 1.78;
		text-align: left;
	}
	
	.form_style.user_correction_leave  form .submit_area {
		margin-top: 50px;
	}
}

/* 相談履歴 */
.user_resume.user_reservation_table table tr {
	display: flex;
}
.user_resume.user_reservation_table table tr th:nth-child(1),
.user_resume.user_reservation_table table tr th:nth-child(2),
.user_resume.user_reservation_table table tr td {
    width: 50%;
}

.user_resume.user_reservation_table table tr td {
    padding: 30px 28px 30px 36px;
}

.user_resume.user_reservation_table table .info {
	margin-right: 0;
}

.user_resume.user_reservation_table table .info dl dd {
	letter-spacing: 0;
}

.user_resume.user_reservation_table table .date {
    margin-right: 20px;
}

.user_resume.user_reservation_table table tr td:nth-child(2) {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.user_resume.user_reservation_table table .link {
    padding-top: 0;
}

.user_resume.user_reservation_table table .link a+a {
	margin-top: 15px;
}

.user_resume.user_reservation_table .cont {
	width: 100%;
	border-radius: 5px;
	background: #f7f6f9;
	padding: 12px 30px 24px;
	margin-top: 28px;
}

.user_resume.user_reservation_table .cont dl {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.user_resume.user_reservation_table .cont dl dt,
.user_resume.user_reservation_table .cont dl dd {
	width: 50%;
}

.user_resume.user_reservation_table .cont.star_wrap .star {
    max-width: 115px;
    margin: 0;
	text-align: left;
}

.user_reservation_table table tr .name .cont.star_wrap dt {
    /* width: unset; */
    height: unset;
    border-radius: 0;
    overflow: visible;
    margin-right: 0;
}

.user_resume.user_reservation_table .cont dl dd {
	display: flex;
	justify-content: flex-end;
}

.user_resume.user_reservation_table .cont dl dd input[type="submit"] {
	width: 85px;
	line-height: 1;
	font-size: 14px;
	color: #451c6b;
	letter-spacing: 0;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding-bottom: 8px;
	transition: color .5s ease;
	background: linear-gradient(#451c6b, #451c6b) 0 100%/0 2px no-repeat;
	background-size: 100% 1px;
	transition: background .3s ease;
  cursor: pointer;
}
.user_resume.user_reservation_table table .cont dl dd form{
  position: relative;
}
.user_resume.user_reservation_table table .cont dl dd form::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 5px;
    height: 5px;
    background: url(../images/common/icon_breadcrumb.svg) no-repeat;
    background-size: cover;
}

.user_resume.user_reservation_table table .cont .text {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.45;
	margin-top: 16px;
  text-align: justify;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  white-space: normal;
}

@media (min-width: 960px) {
	.user_resume.user_reservation_table .cont dl dd input[type="submit"]:hover {
		background-size: 0% 1px;
		transition: background .3s ease;
	}
	
}

@media (max-width: 1270px) {
	.user_resume.user_reservation_table table tr td {
		padding: 40px 20px;
	}
	
	.user_resume.user_reservation_table table .info dl dd {
	    font-size: 14px;
	}
}

@media (max-width: 1020px) {
	.user_reservation_table table tr td {
		padding: 30px 10px;
	}
	
	.user_reservation_table table .date {
	    margin-right: 10px;
		font-size: 12px;
	}
	
	.user_reservation_table table .info {
		margin-right: 10px;
	}
	
	.user_reservation_table table .info dl dt span {
	    font-size: 12px;
	    height: 25px;
	    width: 95px;
	}
	
	.user_reservation_table table .info dl dd {
	     font-size: 12px;
	}
	
	.user_reservation_table table tr .name dd {
		font-size: 16px;
	}
	
}

@media (max-width: 800px) {
	.user_reservation_table table tr td {
		padding: 0px 10px;
	}

	/* 相談履歴 */
	.user_resume.user_reservation_table table tr {
		display: flex;
	}
	
	.user_resume.user_reservation_table table tr:first-child {
		display: none;
	}
	
	.user_resume.user_reservation_table table tr th:nth-child(1),
	.user_resume.user_reservation_table table tr th:nth-child(2),
	.user_resume.user_reservation_table table tr td {
	    width: 100%;
	}
	
	.user_resume.user_reservation_table table tr td {
	    padding: 0;
	}
	
	.user_resume.user_reservation_table table .info {
		margin-right: 0;
	}
	
	.user_resume.user_reservation_table table .info dl dd {
		letter-spacing: 0;
	}
	
	.user_resume.user_reservation_table table .date {
	    margin-right: 0;
	}
	
	.user_resume.user_reservation_table table .link {
	    padding-top: 0;
	}
	
	.user_resume.user_reservation_table .cont {
		width: 100%;
		padding: 19px 20px 26px;
		margin-top: 25px;
	}
	
	.user_resume.user_reservation_table .cont dl {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
	.user_resume.user_reservation_table .cont dl dt,
	.user_resume.user_reservation_table .cont dl dd {
		width: 50%;
	}
	
	.user_resume.user_reservation_table .cont.star_wrap .star {
	    max-width: 84px;
	    margin: 0;
		text-align: left;
	}
	
	.user_resume.user_reservation_table .cont dl dd {
		display: flex;
		justify-content: flex-end;
	}
	
	.user_resume.user_reservation_table .cont dl dd a {
		width: 73px;
		line-height: 1;
		font-size: 12px;
		padding-bottom: 5px;
	}
	
	.user_resume.user_reservation_table table .cont .text {
		font-size: 14px;
		line-height: 1.45;
		margin-top: 13px;
	}
}

/* 新規会員登録 */

#Registration .contents::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 363px;
    height: 339.5px;
    background: url(../images/top/right_flower.webp) no-repeat;
    background-size: cover;
}


.registration_form {
	padding-bottom: 100px;
	position: relative;
	z-index: 5;
}

.registration_form .text {
	font-size: 18px;
	letter-spacing: 0.08em;
	font-weight: 500;
	line-height: 1.66;
	margin-bottom: 30px;
}

.registration_form .notes-list {
	margin-bottom: 82px;
}

.registration_form .notes-list li {
    width: 100%;
    /* padding: 20px 0 20px 50px; */
    padding: 20px 0 20px 0;
    background: linear-gradient(to right, #D6D2F3 50%, rgba(255, 255, 255, 0) 0%);
    background-position: center bottom;
    background-size: 9px 1px;
    background-repeat: repeat-x;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 1.45;
    margin-right: 0;
    position: relative;
}
.registration_form .notes-list input[type=checkbox]{
  position: absolute;
}
.registration_form .notes-list li label{
  width: 100%;
}

/* .registration_form .notes-list li::before {
    top: 15px;
    width: 35px;
    height: 35px;
    background: url(../images/diagnosis/icon_check.svg) no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    z-index: 2;
    content: '';
} */

.registration_form.form_style .submit_area {
    margin-top: 60px;
}
#Registration input[type=checkbox] + label::before,
#Registration input[type=checkbox] + label::after{
  transform: translateY(-50%);
  top: 50%;
}

.registration_form .send_comp p{
  text-align: center;
  font-size: 24px;
  padding-bottom: 50px;
}
.registration_form .send_comp p.sub {
  font-size: 16px;
  padding-bottom: 0px;
}


.registration_form .complete_txt{
  line-height: 2;
}


#Registration .submit_area ul.koumoku {
  max-width: 650px;
  margin: 20px auto 0;
}
#Registration .submit_area ul.koumoku li {
  font-size: 17px;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #1E1521;
  width: 315px;
  /* background: #5f4b08; */
  box-sizing: border-box;
  font-feature-settings: "palt";
  position: relative;
  display: inline-block;
  text-align: center;
  box-sizing: border-box;
  /* border: 3px solid #5f4b08; */
  /* transition: all 0.3s ease; */
}
main#ConRegistrationact .submit_area ul.koumoku li input[type=submit] {
  font-size: 17px;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #1E1521;
  cursor: pointer;
  width: 100%;
  height: 62px;
  box-sizing: border-box;
}
#Registration .submit_area ul.koumoku li:hover {
  background: none;
}
#Registration .submit_area ul.koumoku li:hover input[type=submit] {
  color: #1E1521;;
}
#Registration .submit_area ul.koumoku li:hover svg path {
  fill: #000;
}
#Registration .btn_back {
  text-align: center;
}

#Registration .btn_back input {
  font-size: 17px;
  line-height: 1;
  /* letter-spacing: 0.13em; */
  color: #fff;
  /* width: 262px; */
  background: #fcfcff;
  box-sizing: border-box;
  font-feature-settings: "palt";
  position: relative;
  display: inline-block;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #d6d2f3;
  /* transition: all 0.3s ease; */
  /* height: 80px; */
  padding: 15px 15px 14px;
}
#Registration .btn_back input {
  position: absolute;
}
#Registration .contact_back {
  margin-top: 30px;
  text-align: center;
}

#Registration .contact_back a {
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0.13em;
  box-sizing: border-box;
  font-feature-settings: "palt";
  position: relative;
  display: inline-block;
  text-align: center;
  box-sizing: border-box;
}


@media (max-width: 800px) {
	.registration_form .send_comp p{
		font-size: 20px;
	}

	#Registration .contents::before {
		bottom: -16px;
		transform: scale(0.4);
		transform-origin: right bottom;
	}
	
	.registration_form {
		padding-bottom: 55.5px;
	}
	
	.registration_form .text {
		font-size: 14px;
		line-height: 1.78;
		margin-bottom: 8px;
	}
	
	.registration_form .notes-list {
		margin-bottom: 75px;
		padding: 0 12px;
	}
	
	.registration_form .notes-list li {
	    /* padding: 16px 0 16px 30px; */
	    padding: 16px 0 16px 0;
	    background-size: 7px 1px;
	    font-size: 14px;
	}
	
	/* .registration_form .notes-list li::before {
	    top: 18px;
	    width: 21px;
	    height: 21px;
	} */
  .registration_form .notes-list li label{
    line-height: 1.5;
  }
	#Registration input[type=checkbox] + label::before,
  #Registration input[type=checkbox] + label::after {
	    top: 11px;
	    width: 21px;
	    height: 21px;
      background-size: 21px 21px;
	}
	
	.registration_form.form_style .submit_area {
	    margin-top: 53px;
	}
	.registration_form .complete_txt{
    line-height: 1.8;
  }

  #Registration .submit_area ul.koumoku li {
	float: none;
	padding:0 0 10px 0;
	}
}

/* 相談予約 */

#ConsultationReservation .contents {
	padding-bottom: 100px;
}

#ConsultationReservation .contents,
#ConsultationReservation .contents .contents_bg {
	background: #fef2f9;
}

#ConsultationReservation .contents::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	width: 100%;
	height: 679px;
	background: url('../images/therapist/starry_sky.webp') no-repeat;
	background-size: cover;
	transform: scale(-1,-1);
}

#ConsultationReservation .contents .contents_bg:before {
	top: 0;
	width: 100%;
	height: 679px;
	background: url('../images/therapist/starry_sky.webp') no-repeat;
	background-size: cover;
}
#ConsultationReservation .consultation_completion_body .button_link{
  max-width: 242px;
}

.date_selection {
	position: relative;
	z-index: 3;
}

.consultation_step {
	max-width: 670px;
	width: 100%;
	margin: 0 auto 80px;
}

.consultation_step ul {
	display: flex;
	justify-content: space-between;
	position: relative;
	
}

.consultation_step ul::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 35px;
	transform: translate(-50%,100%);
	width: calc(100% - 70px);
	height: 2px;
	background: #dccbaa;
}

.consultation_step ul li {
	width: 80px
}

.consultation_step ul .number {
	width: 70px;
	height: 70px;
	border-radius: 100%;
	background: #fff;
	border: 2px solid #dccbaa;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	/* letter-spacing: 0.15em; */
	line-height: 1.5;
	font-weight: 400;
	margin-bottom: 10px;
}

.consultation_step ul li.is_active .number {
	background: #fff9ed;
	color: #6c5421;
}

.consultation_step ul .number::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: calc(100% - 2px);
	height: calc(100% - 2px);
	border: 1px solid #dccbaa;
	border-radius: 100%;
}

.consultation_step ul .title {
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.08em;
	
}

#ConsultationReservation .user_resume_top {
	margin-bottom: 45px;
}

.user_resume_info .link {
	margin-top: 15px;
	padding-left: 87px;
}

#ConsultationReservation .user_resume_item {
	align-items: flex-start;
}

#ConsultationReservation .user_resume_info .link a {
	width: 146px;
	line-height: 1;
	font-size: 14px;
	color: #451c6b;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding-bottom: 10px;
	transition: color .5s ease;
	background: linear-gradient(#451c6b, #451c6b) 0 100%/0 2px no-repeat;
	background-size: 100% 2px;
	position: relative;
	transition: background .3s ease;
}

#ConsultationReservation .user_resume_info .link a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 5px;
	width: 5px;
	height: 5px;
	background: url(../images/common/icon_breadcrumb.svg) no-repeat;
	background-size: cover;
}


#ConsultationReservation .user_resume_info .plan_ul {
	display: none;
	position: relative;
}

#ConsultationReservation .user_resume_info .plan_ul a {
	padding: 10px 0;
	border-bottom: #663F8C 1px solid;
	background: unset;
	transition: opacity .3s ease;
}

#ConsultationReservation .user_resume_info .plan_ul a::before {
	content: unset;
}

.date_selection_wrap .text {
	text-align: center;
	font-size: 24px;
	letter-spacing: 0.08em;
	font-weight: 500;
	line-height: 1.45;
	margin-bottom: 40px;
}

.date_selection_wrap .text span {
	display: block;
	font-size:18px;
	padding:15px 0 0 0;
}

/* .date_selection_table table,
.date_selection_table thead,
.date_selection_table tbody {
	display: block;
}
 */



 .scroll_wrapper {
	overflow: hidden !important;
 }

.sticky_table thead {
  position: sticky;
  top: 0;
  z-index: 9999;
}
/*
.sticky_table thead th:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-top: 1px solid #dedede;
  border-left: 1px solid #dedede;
  z-index: -1;
}
*/
.sticky_table thead th:first-child {
  z-index: 99999;
}


.sticky_table thead tr:first-child th:first-child {
  position: sticky;
  left: 0;
  z-index: 9999;
  background:#ddd5ea;
}

.sticky_table tbody tr th:first-child {
  position: sticky;
  left: 0;
  z-index: 99;
}


.sticky_table {
  border-collapse: collapse;
  border-top: 1px solid #dedede;
  border-left: 1px solid #dedede;
}
.sticky_table th,
.sticky_table td {
  font-weight: normal;
}
.sticky_table thead th {
  background: #fff;
  color: #000;
  padding:0px 5px;
}

.sticky_table thead th.blue{
  background: #e8f3ff;
  color: #004187;
}

.sticky_table thead th.red{
  background: #ffe8e8;
  color: #b70000;
}


.sticky_table tbody tr th{
  background:#FFF;
  text-align:center;
  padding:0;
  width:20%;
}


.sticky_table tbody tr th:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-left: 1px solid #dedede;
  z-index: -1;
}



.sticky_table tbody tr:nth-child(even) th {
  font-size: 10px;
}
.sticky_table tbody tr:nth-child(even) td {
  background: #f0f0f0;
}
.sticky_table tbody tr:nth-child(odd) th {
  font-size: 12px;
}
.sticky_table tbody tr:nth-child(odd) td {
  background: #fafafa;
}

.sticky_table > thead > tr th{
  padding:0px 5px;
  border-right: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
}

.sticky_table > tbody > tr th{
  padding:0px 5px;
  border-right: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
}

.sticky_table > tbody > tr td{
  border-right: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
}

.time{
  font-size:12px;
  height: 33px;
  text-align: center;
  padding-right: 0;

  font-weight: 500;
  letter-spacing: 0.08em;
  height: 44px;
  vertical-align: middle;
  text-align: right;
  padding-right: 20px;
  white-space: nowrap;
}

.sticky_table > tbody > tr td span{
  position: relative;
  width: 39px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sticky_table > tbody > tr td.line span::before {
  content: '-';
  font-size: 20px;
  letter-spacing: 0.08em;
  line-height: 1;
}
.sticky_table > tbody > tr td.circle span::before {
  content: '◎';
  color: #ca2020;
  font-size: 20px;
  letter-spacing: 0.08em;
  line-height: 1;
}


table.sticky_table {
	width:4600px;
	border-top: 2px solid #d6d2f3 !important;
	border-right: 2px solid #d6d2f3 !important;
	border-bottom: 2px solid #d6d2f3 !important;
	border-left: none !important;
}

/* table.sticky_table thead {
  position: sticky;
  top: 0;
  background-color: white;
  z-index: 1;
  will-change: transform;
} */

table.sticky_table th {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
	width: 5.7%;
	line-height: 1;
	padding:10px !important;
}

table.sticky_table td {
	text-align: center;
}

table.sticky_table td span {
	display: block;
	text-align: center;
	width:100% !important;
}

table.sticky_table th.time {
	font-size: 14px !important;
	text-align: right !important;
	min-width:100px;
	width: 100px !important;
}

.sticky_table thead tr th.ff {    
	position: sticky;
    left: 0;
    z-index: 9999;
    background: #ddd5ea;
}

.sticky_table thead tr th.ff:before {    
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-left: 2px solid #d6d2f3 !important;
    z-index: -1;
}

.sticky_table tbody tr th:before {
    border-left: 2px solid #d6d2f3 !important;
}

.sticky_table tbody tr:nth-child(odd) th {
    font-size: 16px !important;
}

.scrolltxt {
	padding:0 0 10px 27px;
	position:relative;
}
.scrolltxt .icon-swipe {
	position: absolute;
	display: inline-block;
	top: 8px;
	left: 0;
	width: 21px;
	height: 9px;
	font-size: 1px;
}

@media (max-width: 800px) {
	table.sticky_table th {
		font-size: 12px;
		padding:6px !important;
		width: 1.1%;
	}
	table.sticky_table th.time {
		font-size: 12px !important;
		min-width:60px;
		width: 60px !important;
	}
	.sticky_table tbody tr:nth-child(odd) th {
		font-size: 14px !important;
	}
}


.date_selection_table table {
	width: 100%;
	background: #fff;
	border: 2px solid #d6d2f3;
}

.date_selection_table th {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.08em;
	width: 5.7%;
	line-height: 1;
}



.date_selection_table thead {
	border-bottom: 1px solid #dedede;
}

.date_selection_table .year_month {
	padding: 17px 0;
	background: #ddd5ea;
	border-left: 1px solid #d6d2f3;
	border-right: 1px solid #d6d2f3;
}

.date_selection_table .date th {
	border-left: 1px solid #dedede;
	padding: 10px 0;
}

.date_selection_table .date th:last-child {
	border-right: 1px solid #dedede;
}

.date_selection_table .date th.red {
	background: #ffe8e8;
	color: #b70000;
}

.date_selection_table .date th.blue {
	background: #e8f3ff;
	color: #004187;
}

.date_selection_table .arrow {
	width: 10.1%;
	background: #ddd5ea;
}

.date_selection_table .arrow a {
	position: relative;
	width: 100%;
	top: 27px;
	padding-left: 30px;
}

.date_selection_table .arrow.next a {
	padding-left: 0;
	padding-right: 30px;
}

.date_selection_table .arrow a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 22px;
	height: 10px;
	background: url('../images/common/icon_arrow_prev.svg') no-repeat;
	background-size: cover;
}

.date_selection_table .arrow.next a::before {
	transform: scale(-1) translateY(50%);
	left: auto;
	right: 0;
}

.date_selection_table .arrow.prev {
	text-align: right;
	padding-right: 20px;
}

.date_selection_table .arrow.next {
	text-align: left;
	padding-left: 20px;
}

.date_selection_table tbody tr th {
	font-weight: 500;
	letter-spacing: 0.08em;
	height: 44px;
	vertical-align: middle;
	text-align: right;
	padding-right: 20px;
  white-space: nowrap;
}

.date_selection_table tbody tr:nth-child(odd) th {
	font-size: 18px;
}

.date_selection_table tbody tr:nth-child(even) th {
	font-size: 14px;
}

.date_selection_table tbody tr+tr {
	border-top: 1px solid #dedede;
}

.date_selection_table tbody tr td {
	border-left: 1px solid #dedede;
}

.date_selection_table tbody tr th:last-child {
	border-left: 1px solid #dedede;
	text-align: left;
	padding-left: 20px;
}

.date_selection_table td {
	position: relative;
	background: #f1f1f1;
}

.date_selection_table td span {
	position: relative;
	width: 100%;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.date_selection_table .circle {
	background: #fff;
}

.date_selection_table .line span::before {
	content: '-';
	font-size: 20px;
	letter-spacing: 0.08em;
	line-height: 1;
}

.date_selection_table .cross span::before {
	content: '×';
	font-size: 20px;
	letter-spacing: 0.08em;
	line-height: 1;
}

.date_selection_table .circle span::before {
	content: '◎';
	color: #ca2020;
	font-size: 20px;
	letter-spacing: 0.08em;
	line-height: 1;
}

.date_selection_table .circle span {
	transition: opacity .5s ease;
}

.date_selection_table .circle a{
  display: block;
}
.date_selection_table .circle a:hover{
  background-color: #fad9d9;
}

.date_selection_table td span input {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 2;
	left: 0;
	top: 0;
	opacity: 0;
	cursor: pointer;
}

.date_selection_link {
	margin-top: 78px;
}
@media (min-width: 960px) {
	#ConsultationReservation .user_resume_info .link a:hover {
		background-size: 0 2px;
		transition: background .3s ease;
	}
	
	#ConsultationReservation .user_resume_info .plan_ul a:hover {
		opacity: .7;
		transition: opacity .3s ease;
	}

	.date_selection_table .circle:hover span {
		opacity: .7;
	}
}

@media (max-width: 1200px) {
	.date_selection_table .arrow.prev {
		padding-right: 10px;
	}
	
	.date_selection_table .arrow.next {
		padding-left: 10px;
	}
	
	.date_selection_table tbody tr th {
		padding-right: 10px;
	}
	
	.date_selection_table tbody tr th:last-child {
		padding-left: 10px;
	}
}

@media (max-width: 1030px) {
	.date_selection_table .arrow.prev {
		padding-right: 5px;
	}
	
	.date_selection_table .arrow.next {
		padding-left: 5px;
	}
	
	.date_selection_table tbody tr th {
		padding-right: 5px;
	}
	
	.date_selection_table tbody tr th:last-child {
		padding-left: 5px;
	}
}


@media (max-width: 1030px) {
	.date_selection_table .arrow a {
	    padding-left: 25px;
	}
	
	.date_selection_table .arrow.next a {
	    padding-left: 0;
	    padding-right: 25px;
	}
}

@media (max-width: 800px) {
	#ConsultationReservation .contents {
		padding-bottom: 0;
	}
	
	#ConsultationReservation .contents::before {
		height: 250px;
		background: url('../images/therapist/sp/starry_sky.webp') no-repeat;
		background-size: cover;
		transform: scale(-1,-1);
	}
	
	#ConsultationReservation .contents .contents_bg:before {
		height: 250px;
		background: url('../images/therapist/sp/starry_sky.webp') no-repeat;
		background-size: cover;
	}
	
	
	#ConsultationReservation .breadcrumb {
		margin-top: 55.55px;
	}
	
	.consultation_step {
		margin: 0 auto 82px;
	}
	
	.consultation_step ul {
		display: flex;
		justify-content: space-between;
		position: relative;
		
	}
	
	.consultation_step ul::before {
		top: 50%;
		transform: translate(-50%,-50%);
		width: calc(100% - 50px);
	}
	
	.consultation_step ul li {
		width: 50px;
		position: relative;
	}
	.consultation_step ul .number {
		width: 50px;
		height: 50px;
		border: 1.5px solid #dccbaa;
		font-size: 19.45px;
		margin-bottom: 0;
	}
	
	.consultation_step ul .title {
		font-size: 13px;
		position: absolute;
		left: 50%;
		bottom: 0;
		z-index: 2;
		transform: translate(-50%,100%);
		display: block;
		white-space: nowrap;
		margin-bottom: -10px;
	}
	
	#ConsultationReservation .user_resume_top {
		margin-bottom: 40px;
	}
	
	#ConsultationReservation .user_resume_info dt span {
		height: 30px;
	}
	
	.user_resume_info .link {
		padding-left: 0;
	}
	
	#ConsultationReservation .user_resume_info .link a {
		width: 146px;
		line-height: 1;
		font-size: 16px;
		padding-bottom: 10px;
		margin: 0;
		background-size: 100% 1px;
	}
	
	.date_selection_wrap .text {
		text-align: left;
		font-size: 16px;
		line-height: 1.75;
		margin-bottom: 30px;
	}

	.date_selection_wrap .text span {
		display: block;
		font-size: 14px;
		padding:15px 0 0 0;
	}
	
	.date_selection_table table {
		border: 1px solid #d6d2f3;
	}
	
	.date_selection_table th {
		font-size: 12px;
		width: 10.28%;
		line-height: 1.08;
	}
	
	.date_selection_table thead {
		border-bottom: 1px solid #dedede;
	}
	
	.date_selection_table .year_month {
		padding: 10px 0;
		background: #ddd5ea;
		border-left: 1px solid #d6d2f3;
		border-right: 1px solid #d6d2f3;
	}
	
	.date_selection_table .date th {
		border-left: 1px solid #dedede;
		padding: 5px 0;
		height: 35px;
	}
	
	.date_selection_table .date th:last-child {
		border-right: 1px solid #dedede;
	}
	
	.date_selection_table .arrow {
		width: 14%;
	}
	
	.date_selection_table .arrow a {
		position: relative;
		width: 100%;
		padding-left: 0;
		top: 20px;
	}
	
	.date_selection_table .arrow.next a {
		padding-left: 0;
		padding-right: 0;
	}
	
	.date_selection_table .arrow a::before {
		left: 50%;
		top: auto;
		bottom: -14px;
		width: 15px;
		height: 7px;
		transform: translate(-50%,0);
	}
	
	.date_selection_table .arrow.next a::before {
		transform:  translate(50%,0) scale(-1);
		left: auto;
		right: 50%;
	}
	
	.date_selection_table .arrow.prev {
		text-align: center;
		padding-right: 0;
	}
	
	.date_selection_table .arrow.next {
		text-align:center;
		padding-left: 0;
	}
	
	.date_selection_table tbody tr th {
		height: 33px;
		text-align: center;
		padding-right: 0;
	}
	
	.date_selection_table tbody tr:nth-child(odd) th {
		font-size: 12px;
	}
	
	.date_selection_table tbody tr:nth-child(even) th {
		font-size: 11px;
	}
	
	
	.date_selection_table tbody tr th:last-child {
		border-left: 1px solid #dedede;
		text-align: center;
		padding-left: 0;
	}
	
	.date_selection_table td {
		position: relative;
	}
	
	.date_selection_table td span {
		height: 33px;
	}
	
	
	.date_selection_table .line span::before {
		font-size: 10px;
	}
	
	.date_selection_table .cross span::before {
		font-size: 10px;
	}
	
	.date_selection_table .circle span::before {
		font-size: 10px;
	}
	
	.date_selection_link {
		margin-top: 48px;
	}
}

/* 相談内容 */
.consultation_contents {
	position: relative;
	z-index: 3;
}

.consultation_contents_form.form_style {
	max-width: unset;
}

.consultation_contents_form .title {
	font-weight: 500;
	letter-spacing: 0.08em;
	text-align: center;
	font-size: 24px;
	margin-bottom: 20px;
}

.consultation_contents_form.form_style form textarea {
	font-size: 16px;
	line-height: 1.45;
	letter-spacing: 0.08em;
	border: 1px solid #d6d2f3;
	background: #fcfcff;
	box-sizing: border-box;
	width: 100%;
	padding: 25px 30px;
	min-height: 400px;
	border-radius: 5px;
}

#ConsultationReservation .back_area {
	margin-top: 40px;
}

@media (max-width: 800px) {
	.consultation_contents_form .title {
		text-align: left;
		font-size: 16px;
		margin-bottom: 10px;
	}
	
	.consultation_contents_form.form_style form textarea {
		padding: 10px;
		min-height: 300px;
		border-radius: 5px;
	}
	
	#ConsultationReservation .back_area {
		margin-top: 32.5px;
	}
}

/* 内容確認・決 */

.consultation_contents_form.form_style form.contents_confirm .consultation_textarea {
    font-size: 16px;
    line-height: 1.75;
	font-weight: 500;
    letter-spacing: 0;
    border: 1px solid #d6d2f3;
    background: #fcfcff;
    box-sizing: border-box;
    width: 100%;
    padding: 30px;
/*    min-height: 400px;*/
    border-radius: 5px;
}

.consultation_contents_form.form_style form.contents_confirm .consultation_textarea p {
	line-height: 1.75;
}


.consultation_contents_form.form_style form.contents_confirm .consultation_textarea p+p {
	margin-top: 1em;
}

.contents_confirm_inner {
	margin-top: 40px;
	padding-top: 56px;
	border-top: double #b3a17a 4px;
}

.contents_confirm_inner .top_head {
	font-size: 32px;
}

.consultation_contents_form .point_use,
.consultation_contents_form .settlement_method {
	max-width: 900px;
	width: 100%;
	margin: auto;
}

.consultation_contents_form .settlement_method {
	margin-top: 60px;
}

.point_use_title {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.08em;
	margin-bottom: 20px;
	text-align: center;
}

.point_use_title span {
	display: inline-block;
	padding-left: 16px;
	font-size: 32px;
	letter-spacing: 0.15em;
	font-weight: 400;
}

.consultation_contents_form .point_use .point_item {
	display: flex;
	justify-content: center;
	align-items: center;
}

/* .consultation_contents_form .point_use .point_box {
	padding-right: 10px;
	border-right: 1px solid #ddd5ea;
} */

.consultation_contents_form .point_use .point_box input {
	width: 170px;
	height: 50px;
	border-radius: 5px;
	padding: 12px 21px;
	border: 1px solid #d6d2f3;
	background: #fcfcff;
}

/* .consultation_contents_form .point_use .point_box .no_input input{
  border: unset;
  background-color: unset;
  font-size: 20px;
  width: 40%;
  text-align: right;
  padding: 0;
} */

.consultation_contents_form .no_input{
  font-size: 20px;
  padding: 0;
}

.consultation_contents_form .point_use .point_box .text {
	display: inline-block;
	margin-left: 10px;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.08em;
}

.consultation_contents_form .point_use .point_all {
	padding-left: 20px;
}

.consultation_contents_form .point_use .point_all input[type=checkbox] + label {
    padding-left: 34px;
    position: relative;
    margin-right: 0;
    cursor: pointer;
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 1;
    display: inline-block;
}

.consultation_contents_form .point_use .point_all input[type=checkbox] + label::before {
	top: -4px;
    width: 25px;
    height: 25px;
	background: url(../images/diagnosis/icon_check_bg.svg) no-repeat #fff;
    background-size: 25px 25px;
}

.consultation_contents_form .point_use .point_all input[type=checkbox] + label::after {
	top: -4px;
    width: 25px;
    height: 25px;
	background: url(../images/diagnosis/icon_check.svg) no-repeat;
    background-size: 25px 25px;
}

.consultation_contents_form .settlement_method .settlement_method_title {
	text-align: center;
	margin-bottom: 20px;
	font-size: 20px;
	letter-spacing: 0.15em;
	font-weight: 500;
}
.consultation_contents_form .settlement_method .settlement_method_table{
  margin: 0 auto;
  border-top: 1px solid #d6d2f3;
}
.consultation_contents_form .settlement_method .settlement_method_table th,
.consultation_contents_form .settlement_method .settlement_method_table td{
  /* padding: 0px 30px; */
  padding: 5px 30px;
  border-bottom: 1px solid #d6d2f3;
}
.consultation_contents_form .settlement_method .settlement_method_table th{
  text-align: left;
}
.consultation_contents_form .settlement_method .settlement_method_table td{
  text-align: right;
}
/* .consultation_contents_form .settlement_method .settlement_method_table .no_input input{
  border: unset;
  background-color: unset;
  font-size: 20px;
  width: 14rem;
  text-align: center;
  padding: 0;
} */

@media (max-width:429px){
  .consultation_contents_form .settlement_method .settlement_method_table th,
  .consultation_contents_form .settlement_method .settlement_method_table td{
    padding: 5px 10px;
  }
}


.consultation_contents_form.form_style form table tr td {
	padding: 0;
}

.consultation_contents_form tr.half {
	width: 635px;
}

.consultation_contents_form tr.half td {
	padding-right: 0;
}

.consultation_contents_form.form_style form table tr input[type=text] {
	padding: 25px 20px;
	height: 80px;
}

.consultation_contents_form.form_style form table tr.term::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 382px;
    height: 80px;
    border: 1px solid #d6d2f3;
    background: #fcfcff;
    border-radius: 5px;
}

.consultation_contents_form.form_style form table tr.term input[type=text] {
	
	padding: 0 50px 0 20px;
}

.consultation_contents_form.form_style form table tr.term th::before {
    top: 25px;
    transform: translateY(0);
    height: 30px;
}

.consultation_contents_form.form_style form table tr.term td {
	display: flex;
	justify-content: space-between;
}

.consultation_contents_form .month {
	width: 190px;
	position: relative;
}

.consultation_contents_form .month input {
	width: 100%;
}

.consultation_contents_form .year {
	width: 240px;
	margin-left: 10px;
	position: relative;
}

.consultation_contents_form.form_style form .year input[type=text] {
	border: 1px solid #d6d2f3;
	background: #fcfcff;
	height: 80px;
	border-radius: 5px;
}

.consultation_contents_form tr.term .text {
	position: absolute;
	right: 30px;
	top: 30px;
	z-index: 3;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.08em;
}

@media (min-width: 960px) {}
@media (max-width: 800px) {
	.consultation_contents_form.form_style form.contents_confirm .consultation_textarea {
	    font-size: 14px;
	    line-height: 1.75;
	    width: 100%;
	    padding: 30px 22px;
	    min-height: 350px;
	}
	
	
	.consultation_contents_form.form_style form.contents_confirm .consultation_textarea p+p {
		margin-top: 1em;
	}
	
	.contents_confirm_inner {
		margin-top: 26px;
		padding-top: 48px;
	}
	
	.contents_confirm_inner .top_head {
		font-size: 28px;
	}
	
	
	.consultation_contents_form .settlement_method {
		margin-top: 65px;
	}
	
	.point_use_title {
		font-size: 18px;
		margin-bottom: 22px;
	}
	
	.point_use_title span {
		padding-left: 7px;
		font-size: 30px;
	}
	
	.consultation_contents_form .point_use .point_item {
		display: block;
		text-align: center;
	}
	
	.consultation_contents_form .point_use .point_box {
		padding-right: 0;
		padding-bottom: 10px;
		border-right: none;
		border-bottom: 1px solid #ddd5ea;
	}
	
	.consultation_contents_form .point_use .point_box input {
		padding: 12px 20px;
	}
	
	.consultation_contents_form .point_use .point_box .text {
		display: inline-block;
		margin-left: 10px;
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 0.08em;
		padding-bottom:0;
	}
	
	.consultation_contents_form .point_use .point_all {
		padding-left:0;
		padding-top: 10px;
	}
	
	.consultation_contents_form .point_use .point_all input[type=checkbox] + label {
	    padding-left: 32px;
	}
	
	.consultation_contents_form .point_use .point_all input[type=checkbox] + label::before {
		top: -3px;
	    width: 21px;
	    height: 21px;
		background: url(../images/diagnosis/icon_check_bg.svg) no-repeat #fff;
	    background-size: 21px 21px;
	}
	
	.consultation_contents_form .point_use .point_all input[type=checkbox] + label::after {
		top: -4px;
	    width: 21px;
	    height: 21px;
		background: url(../images/diagnosis/icon_check.svg) no-repeat;
	    background-size: 21px 21px;
	}
	
	.consultation_contents_form .settlement_method .settlement_method_title {
		margin-bottom: 22px;
		font-size: 14px;
	}
	
	
	.consultation_contents_form.form_style form table tr td {
		padding: 0;
	}
	
	.consultation_contents_form tr.half {
		width: 100%;
	}
	
	.consultation_contents_form tr.half td {
		padding-right: 0;
	}
	
	.consultation_contents_form.form_style form table tr input[type=text] {
		padding: 18px 20px;
		height: 50px;
	}
	
	.consultation_contents_form.form_style form table tr.term::before {
	    content: unset;
	}
	
	.consultation_contents_form.form_style form table tr.term input[type=text] {
		
		padding: 0 34px 0 20px;
	}
	
	.consultation_contents_form.form_style form table tr.term th::before {
	    content: unset;
	}
	
	.consultation_contents_form.form_style form table tr.term td {
		display: flex;
		justify-content: space-between;
	}
	
	.consultation_contents_form .month {
		width: 50%;
		position: relative;
	}
	
	.consultation_contents_form .month input {
		width: 100%;
	}
	
	.consultation_contents_form .year {
		width: 50%;
		margin-left: 10px;
		position: relative;
	}
	
	.consultation_contents_form.form_style form .year input[type=text] {
		border: 1px solid #d6d2f3;
		background: #fcfcff;
		height: 50px;
		border-radius: 5px;
	}
	
	.consultation_contents_form tr.term .text {
		right: 19px;
		top: 14px;
	}
}

/* 予約完了 */
.consultation_completion {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
}

.consultation_completion_head {
	padding-bottom: 30px;
	margin-bottom: 40px;
	border-bottom: #dccbaa 4px double;
	font-size: 28px;
	letter-spacing: 0.08em;
	font-weight: 500;
	text-align: center;
}

.consultation_completion_body .title {
	font-size: 24px;
	line-height: 1.45;
	letter-spacing: 0.08em;
	font-weight: 500;
}

.consultation_completion_body .title.no {
	text-align: center;
	margin-bottom: 40px;
}

.consultation_completion_body .text {
	font-size: 20px;
	line-height: 1.75;
	font-weight: 500;
	margin-top: 50px;
	font-weight: 500;
}

.consultation_completion_btn {
	margin-top: 90px;
}

@media (max-width: 800px) {
	/* 予約完了 */
	
	.consultation_completion_head {
		padding-bottom: 15px;
		margin-bottom: 35px;
		font-size: 21px;
		line-height: 1.3;
		text-align: left;
	}
	
	.consultation_completion_body .title {
		font-size: 17px;
		line-height: 1.4;
	}
	
	.consultation_completion_body .title.no {
		text-align: center;
		margin-bottom: 30px;
		font-size: 18px;
	}
	
	.consultation_completion_body .text {
		text-align: left;
		font-size: 14px;
		margin-top: 39px;
	}
	
	.consultation_completion_btn {
		margin-top: 50px;
	}
}

.star-list {
	display: flex;
}

.star-list li {
	position: relative;
	z-index: 2;
	width:20%;
}

.star-list li input[type=radio] {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	opacity: 0;
}

.star-list li label {
	display: block;
	width: 46px;
	height: 42px;
	text-align: left;
	text-indent: -9999px;
	cursor: pointer;
}


/*privacy*/
#Privacy .contents{}
#Privacy .contents::before {
  content: '';
  position: absolute;
  right: 0;
  bottom: -16px;
  z-index: 5;
  width: 474px;
  height: 421px;
  background: url(../images/news/flower.svg) no-repeat;
  background-size: cover;
}
#Privacy .contents .privacy_contents{
  padding-bottom: 84px;
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 6;
}
#Privacy .contents dl{
  padding-bottom: 3rem;
}
#Privacy .contents dl dt,
#Privacy .contents dl dd{
  letter-spacing: 0.08em;
  line-height: 1.45;
  font-weight: 500;
}
#Privacy .contents dl dt{
  font-size: 20px;
  padding-bottom: 0.5rem;
}
#Privacy .contents dl dd{
  font-size: 16px;
}
#Privacy .contents dl dd ul{}
#Privacy .contents dl dd ul li{
  text-indent: -0.5em;
  padding: 0.25em 0 0.25em 0.5em;
}


@media (max-width: 800px) {
  #Privacy .contents .privacy_contents{
    padding-bottom: 30px;
  }
  #Privacy .contents::before {
    bottom: -16px;
    transform: scale(0.4);
    transform-origin: right bottom;
  }
  #Privacy .contents dl dt{
    font-size: 18px;
  }
  #Privacy .contents dl dd{
    font-size: 14px;
  }
}

/*Sitemap*/
#Sitemap .contents{}
#Sitemap .contents::before {
  content: '';
  position: absolute;
  right: 0;
  bottom: -16px;
  z-index: 5;
  width: 474px;
  height: 421px;
  background: url(../images/news/flower.svg) no-repeat;
  background-size: cover;
}
#Sitemap .contents .sitemap_contents{
  padding-bottom: 84px;
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 6;
}
#Sitemap .contents .sitemap_row{
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  gap: 0 10%;
}
#Sitemap .contents .sitemap_list{}
#Sitemap .contents .sitemap_list li{
  padding-bottom: 3rem;
}
#Sitemap .contents .sitemap_list li a{
  position: relative;
  padding-left: 1em;
  font-size: 18px;
}
#Sitemap .contents .sitemap_list li a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.7em;
  height: 0.7em;
  background: url(../images/common/icon_breadcrumb.svg) no-repeat center;
  background-size: 100% auto;
}

@media (max-width: 800px) {
  #Sitemap .contents .sitemap_contents{
    padding-bottom: 30px;
  }
  #Sitemap .contents::before {
    bottom: -16px;
    transform: scale(0.4);
    transform-origin: right bottom;
  }
  
  #Sitemap .contents .sitemap_row{
    flex-flow: column;
    width: 80%;
    margin: 0 auto;
  }
  #Sitemap .contents .sitemap_list li a{
    font-size: 16px;
  }
  #Sitemap .contents .sitemap_list:last-child li:last-child {
    padding-bottom: 0;
  }
}


/*新規ボタン*/
.register_button {
	margin-top: 60px;
	position: relative;
	z-index: 5;
}
@media (max-width: 800px) {
  .register_button {
    margin-top: 40px;
  }
}