@charset "UTF-8";
/* CSS Document */
/*=========================================== 
スマホ向けのレイアウトの指定：～768px 
===========================================*/
@media only screen and (min-width: 0px) {
	:root {
		--gray: 80, 80, 80;
		--lightgray: 180, 180, 180;
		--green: 131, 194, 94;
	}

	.plan-753 {
		--price-theme-color: 255, 207, 198;
	}

	.plan-anniversary {
		--price-theme-color: 255, 233, 181;
	}

	.plan-1st-anniversary {
		--price-theme-color: 132, 194, 231;
	}

	.plan-maternity {
		--price-theme-color: 177, 206, 149;
	}

	.plan-photo-20 {
		--price-theme-color: 226, 156, 156;
	}

	.plan-location {
		--price-theme-color: 158, 133, 207;
	}

	.plan-location-753 {
		--price-theme-color: 133, 199, 207;
	}

	.plan-odekake {
		--price-theme-color: 132, 194, 231;
	}

	.plan-odekake-betsunohi {
		--price-theme-color: 229, 120, 118;
	}

	body {
		overflow-x: hidden;
	}

	#container {
		width: 100%;
		margin: 0 auto;
		overflow: hidden;
	}

	#wrapper {
		width: 100%;
		margin: 0 auto;
	}

	/*メインビジュアル*/
	.mv {
		background: url(../images/price_mv.jpg) no-repeat top center;
		background-size: cover;
	}

	/*=========================================== 
料金プランメニュー
===========================================*/
	.plan-navi {
		width: 100%;
		padding: 80px 20px 40px 20px;
		background: rgb(233, 243, 244);
	}

	.plan-navi-wrap {
		display: flex;
		flex-direction: column;
		gap: 32px;
		width: 100%;
		margin: 32px auto 0;
	}

	.plan-list-ttl {
		display: block;
		margin-bottom: 20px;
		padding: 16px 16px;
		font-size: 20px;
		text-align: center;
		font-family: serif;
		letter-spacing: 0.16em;
		color: rgb(100, 100, 100);
		background: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
	}

	.plan-navi-inner.plan-location .plan-list-ttl,
	.plan-navi-inner.plan-location-753 .plan-list-ttl,
	.plan-navi-inner.plan-odekake .plan-list-ttl,
	.plan-navi-inner.plan-odekake-betsunohi .plan-list-ttl {
		color: #fff;
	}

	ul.plan-list {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	ul.plan-list li {
		display: inline-block;
		font-size: 20px;
		text-align: center;
		font-family: serif;
		letter-spacing: 0.16em;
		color: rgb(100, 100, 100);
		border: 1px solid rgb(200, 200, 200);
		position: relative;
	}

	ul.plan-list li.plan-odekake753,
	ul.plan-list li.plan-753-album {
		flex-basis: 100%;
	}

	.plan-navi-inner.plan-other ul.plan-list li {
		background: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
	}

	ul.plan-list li a {
		display: block;
		line-height: 48px;
		color: rgb(100, 100, 100);
		font-size: 16px;
		white-space: nowrap;
		letter-spacing: 0.1em;
	}

	ul.plan-list li a::after {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 18px;
		height: 100%;
		line-height: 46px;
		font-family: "Font Awesome 5 Free";
		content: "\f078";
		font-weight: 900;
		font-size: 10px;
		text-align: center;
		color: rgb(255, 255, 255);
		background: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
		pointer-events: none;
	}

	* {
		box-sizing: border-box;
	}

	.plan-navi-inner:not(.plan-other) {
		order: 1;
		padding: 10px;
		background: rgb(255, 255, 255);
	}

	.heading {
		width: fit-content;
		margin: 0 auto 60px;
		padding: 0 0 6px 0;
		font-size: 26px;
		letter-spacing: 0.12em;
		font-family: serif;
		color: rgb(100, 100, 100);
		border-bottom: 4px solid rgb(178, 166, 82);
		line-height: 3.3rem;
	}

	.plan-navi .heading {
		border-color: rgb(139, 199, 207);
	}

	.notes-anniversary {
		box-sizing: border-box;
		width: 90%;
		max-width: 420px;
		margin: 0 auto 30px;
		padding: 10px 20px;
		font-size: 16px;
		text-align: center;
		line-height: 1.5;
		letter-spacing: 0.12em;
		font-family: serif;
		color: rgb(100, 100, 100);
		background: rgb(255, 235, 194);
		display: inline-block;
	}

	.notes-anniversary .small {
		display: inline-block;
		margin-top: 10px;
		font-size: 11px;
		line-height: 1.5;
	}

	/*=========================================== 
料金プラン オプションメニュー
===========================================*/
	/*コンテンツ-1 > その他メニュー*/
	.other-menu {
		width: 100%;
		margin: 0 auto;
		background: rgb(240, 240, 240);
	}

	.other-menu-wrap {
		width: 90%;
		margin: 0 auto;
		padding: 32px 10px;
		border-top: 1px solid rgb(200, 200, 200);
	}

	.other-menu .heading {
		margin: 0 auto 32px;
		padding: 0;
		border: none;
	}

	.other-menu ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
		gap: 12px 10px;
		width: 90%;
		max-width: 440px;
		margin: 20px auto 0;
		font-size: 0;
		text-align: center;
	}

	.other-menu ul li {
		box-sizing: border-box;
		width: 100%;
		height: 48px;
		text-align: center;
		background: rgb(255, 255, 255);
		border: 1px solid rgb(200, 200, 200);
		position: relative;
	}

	.other-menu ul li:last-child {
		margin: 0;
	}

	.other-menu ul li a {
		color: rgb(100, 100, 100);
		display: block;
		padding: 0 10px;
		font-size: 14px;
		text-align: center;
		line-height: 48px;
		letter-spacing: 0.1em;
		font-family: serif;
	}

	.other-menu ul li a::after {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 18px;
		height: 100%;
		line-height: 46px;
		font-family: "Font Awesome 5 Free";
		content: "\f078";
		font-weight: 900;
		font-size: 10px;
		text-align: center;
		color: rgb(255, 255, 255);
		background: color-mix(in sRGB, white 0%, rgb(var(--lightgray)));
		pointer-events: none;
	}

	/*=========================================== 
料金プラン
===========================================*/
	.price-group {
		display: flex;
		flex-direction: column;
	}

	.price {}

	.plan-wrap {
		width: 100%;
		margin: 80px auto;
		text-align: center;
	}

	.right-box {
		width: 100%;
	}

	h3.subheading {
		margin: 0 auto 40px;
		font-size: 26px;
		text-align: center;
		font-family: serif;
		letter-spacing: 0.12em;
		color: rgb(100, 100, 100);
	}

	.price .plan .name {
		margin: 0 auto;
		height: 32px;
		text-align: left;
		background: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
	}

	.price .plan .name p {
		padding: 8px 10px;
		font-size: 16px;
		font-weight: bold;
		letter-spacing: 0.12em;
		color: var(--gray);
		background: rgb(255, 255, 255);
		display: inline-block;
	}

	.price-wrap {
		padding: 10px;
	}

	.price .plan,
	.worship,
	.reserve {
		width: 90%;
		margin: 0 auto 60px;
		text-align: center;
		border: 1px solid rgb(var(--lightgray));
	}

	figure.thumbnail {
		width: 100%;
	}

	figure.thumbnail img {
		width: 100%;
		height: auto;
	}

	.option01 {
		display: inline-block;
		margin: 6px auto 0;
		font-size: 14px;
		text-align: right;
		letter-spacing: 0.1em;
		font-family: serif;
	}

	p.explain {
		max-width: 380px;
		margin: 0 auto;
		margin-top: 20px;
		padding: 16px;
		font-size: 14px;
		line-height: 18px;
		color: #fff;
		font-family: serif;
		letter-spacing: .03em;
		word-break: auto-phrase;
		background-color: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
	}

	p.cost {
		display: inline-block;
		margin: 22px auto 0;
		font-size: 36px;
		letter-spacing: 0.02em;
		font-family: serif;
	}

	p.tax {
		display: block;
		margin: 0 auto;
		margin-top: 5px;
		width: fit-content;
		max-width: 330px;
		font-size: 15px;
		font-family: serif;
		color: #636363;
	}

	p.tax span {
		font-size: 1.8em;
		font-family: serif;
	}

	.txt-strikethrough {
		position: relative;
	}

	.txt-strikethrough:before,
	span.txt-strikethrough:after {
		position: absolute;
		left: 50%;
		display: block;
		content: "";
		width: 100%;
		height: 1px;
		translate: -50% -50%;
		background: rgb(var(--gray));
	}

	.txt-strikethrough:before {
		top: calc(50% - 2px)
	}

	.txt-strikethrough:after {
		top: calc(50% + 2px)
	}

	p.cost.txt-strikethrough {
		margin-top: 12px;
		font-size: 30px;
	}

	p.tax.txt-strikethrough {
		font-size: 12px;
	}

	.cost-campaign {
		padding: 4px 10px;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.5;
		letter-spacing: 0.01em;
		color: #fff;
		background: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
		box-sizing: border-box;
		border-radius: 8px;
		margin: 0 auto;
		display: block;
	}

	.cost-campaign p {
		display: inline-block;
	}

	p.option02 {
		display: inline-block;
		width: 100%;
		max-width: 320px;
		margin: 20px auto 0;
		padding: 4px 0;
		font-size: 16px;
		letter-spacing: 0.1em;
		font-family: serif;
		background: rgb(240, 240, 240);
	}

	.price .plan .setplan {
		margin: 40px auto 0;
	}

	.price .plan .setplan h4 {
		margin: 0 auto 12px;
		font-size: 24px;
		letter-spacing: 0.2em;
		font-family: serif;
	}

	.set_attent {
		max-width: 380px;
		margin: 0 auto 12px;
		padding: 10px 20px;
		border: 1px solid;
		border-color: color-mix(in sRGB, rgb(var(--gray)) 10%, rgb(var(--price-theme-color)));
	}

	.set_attent p {
		font-size: 14px;
		font-weight: bold;
		line-height: 1.5;
		word-break: auto-phrase;
	}

	.setplan ul {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		width: 100%;
		max-width: 380px;
		margin: 0 auto;
		padding: 20px 6%;
		background-color: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
		background-image: url(../images/price_bg.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: auto 75%;
		border-radius: 8px 8px 0 0;
	}

	.setplan ul li {
		flex: 0;
		flex-basis: calc((100% - 40px) / 3);
		background: #fff;
		border: 1px solid;
		box-sizing: border-box;
	}

	.setplan ul li figure {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: space-between;
		height: 100%;
		padding: 10px 0;
		box-sizing: border-box;
	}

	.setplan ul li figure figcaption {
		max-width: 6rem;
		word-break: auto-phrase;
	}

	.setplan ul li.set-panel {
		flex-basis: 100%;
	}

	.setplan ul li.set-panel a {
		color: inherit;
	}

	.setplan ul li.set-panel figure {
		flex-direction: row;
		justify-content: flex-start;
		flex-wrap: wrap;
		padding: 10px;
	}

	.setplan ul li.set-panel figure .text {
		display: block;
		flex: 1;
	}

	.setplan ul li.set-panel figure figcaption.text {
		max-width: none;
		line-height: 1.5;
	}

	.dress-wrap {
		margin: 40px auto 0;
	}

	.dress-wrap h4 {
		position: relative;
		width: fit-content;
		margin: 0 auto 20px;
		padding-bottom: 8px;
		font-size: 26px;
		font-family: serif;
		letter-spacing: 0.12em;
		color: rgb(100, 100, 100);
		line-height: 3.3rem;
	}

	.dress-wrap h4::after {
		position: absolute;
		top: 100%;
		left: 50%;
		display: inline-block;
		content: "";
		width: 64px;
		height: 3px;
		background: color-mix(in sRGB, rgb(var(--gray)) 10%, rgb(var(--price-theme-color)));
		transform: translate(-50%, 0);
	}

	.dress-wrap > p {
		width: fit-content;
		margin: 0 auto 12px;
		padding-bottom: 10px;
		font-size: 24px;
		font-family: serif;
		color: rgb(100, 100, 100);
		letter-spacing: 0.12em;
		line-height: 3.3rem;
	}

	.dress-cont + p {
		margin-top: 16px;
	}

	.dress-cont {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.dress-cont h5 {
		margin: 0 auto 10px;
		font-size: 20px;
		letter-spacing: 0.1em;
		font-family: serif;
	}

	.dress-cont > div {
		padding: 0 10px;
	}

	.dress-cont ul {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 12px;
		max-width: 380px;
		margin: 0 auto;
		padding: 10px 12px;
		font-size: 0;
		text-align: center;
		background: color-mix(in sRGB, rgb(var(--gray)) 10%, rgb(var(--price-theme-color)));
	}

	.dress-cont ul li {
		font-size: 15px;
		color: rgb(255, 255, 255);
		line-height: 1;
		font-family: serif;
	}

	.dress-cont ul li.con {
		font-weight: bold;
		font-size: 24px;
	}

	.dress-cont ul figure figcaption {
		margin-bottom: 12px;
	}

	.dress-cont ul figure img {
		width: 100%;
		height: auto;
		max-width: 88px;
	}

	.dress-cont > div p.text {
		margin: 10px 0 0 0;
		font-size: 15px;
		font-weight: bold;
		text-align: center;
		line-height: 1.3;
		color: color-mix(in sRGB, rgb(var(--gray)) 30%, rgb(var(--price-theme-color)));
	}

	.dress-cont > div p.attent {
		width: 100%;
		margin: 10px 0 0 0;
		font-size: 10px;
		text-align: center;
		line-height: 1.3;
	}

	/*コンテンツ-2 > 七五三プラン*/
	.price .plan .link {
		margin: 10px auto 0;
		padding: 16px 0;
		background: rgb(255, 216, 137);
		border-bottom: 1px dashed rgb(210, 190, 195);
		font-size: 0;
		text-align: center;
	}

	.price .plan .link .text {
		margin: 0 auto 10px;
		font-size: 16px;
		font-weight: bold;
		letter-spacing: 0.12em;
		color: rgb(80, 80, 80);
		display: inline-block;
		vertical-align: top;
	}

	.price .plan .link .btn {
		box-sizing: border-box;
		width: 90%;
		max-width: 300px;
		margin: 5px auto;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		background: rgb(255, 255, 255);
		border: 1px solid rgb(180, 180, 180);
		display: inline-block;
		vertical-align: top;
	}

	.price .plan .link .btn a {
		padding: 24px 0;
		color: rgb(150, 150, 150);
		display: block;
	}

	.price .plan .link i.fa-caret-right {
		color: rgb(255, 216, 137);
	}

	/*コンテンツ-2 共通部分 > 電話予約ボタン*/
	.price .plan .telbtn {
		display: inline-block;
		margin-top: 40px;
		padding: 11px 0;
		font-size: 14px;
		color: #fff;
		width: 90%;
		min-width: 220px;
		background-color: #ffa500;
		border-radius: 8px;
		text-align: center;
		font-weight: bold;
	}

	.annotation {
		max-width: 776px;
		margin: 40px auto 0;
		padding: 0 10px 20px;
		text-align: left;
	}

	.annotation p {
		margin-bottom: 4px;
		font-size: 12px;
		line-height: 1.5;
	}

	.annotation p:last-of-type {
		margin: 0;
	}

	.annotation p a {
		color: rgb(139, 199, 207);
	}

	.plan .btn {
		display: block;
		max-width: 300px;
		margin: 0 auto;
		border: 1px solid;
		color: color-mix(in sRGB, rgb(var(--gray)) 10%, rgb(var(--price-theme-color)));
	}

	.plan .btn a {
		display: block;
		width: 100%;
		padding: 18px 20px;
		font-weight: bold;
		font-size: 18px;
		line-height: 22px;
		color: color-mix(in sRGB, rgb(var(--gray)) 10%, rgb(var(--price-theme-color)));
	}

	.plan .btn.invert {
		margin-top: 12px;
		background: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
		border-color: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
	}

	.plan .btn.invert a {
		color: #fff;
	}

	.plan .btn a i {
		margin-right: .5em;
	}

	.plan .btn:hover {
		border-color: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
		background: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
	}

	.plan .btn:hover a {
		color: #fff;
	}

	.plan .btn.invert:hover {
		color: #fff;
		background: transparent;
	}

	.plan .btn.invert:hover a {
		color: color-mix(in sRGB, rgb(var(--gray)) 10%, rgb(var(--price-theme-color)));
	}

	.btn.plan-odekake {
		width: 90%;
		max-width: 480px;
	}

	.products {
		margin-top: 40px;
		padding: 0 10px;
	}

	.products_ttl {
		display: inline-block;
		margin: 0 auto 20px;
		padding: 0 0 6px 0;
		font-size: 25px;
		text-align: center;
		font-family: serif;
		letter-spacing: 0.12em;
		color: rgb(100, 100, 100);
		border-bottom: 4px solid;
		border-color: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
		line-height: 3.3rem;
	}

	.products_wrap p {
		font-size: 12px;
		margin-bottom: 10px;
	}

	.products_wrap ul {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 10px;
		width: 80%;
		margin: 0 auto;
		color: rgb(var(--gray));
	}

	.products_wrap ul li.pr-item {
		border: 1px solid rgb(var(--lightgray));
		border-radius: 0 16px 0 0;
		color: rgb(var(--gray));
	}

	.products_wrap ul li.pr-item:not(.lb) {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		height: 100%;
	}

	.products_wrap ul li.pr-item:not(.lb) a {
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		padding: 10px;
		color: inherit;
	}

	.products_wrap ul li.pr-item:not(.lb) a span.item {
		text-align: left;
	}

	.products_wrap ul li.pr-item.lb {
		width: fit-content;
		max-width: 450px;
		margin: 0 auto;
		padding: 10px;
	}

	.products_wrap ul li.pr-item.lb figure {
		display: flex;
		gap: 10px;
		max-width: 410px;
		margin: 0 auto;
		margin-bottom: 12px;
	}

	.products_wrap ul li.pr-item.lb figure img {
		width: 100%;
		height: auto;
		min-width: 100px;
	}

	.price .plan .cap,
	.worship .cap,
	.reserve .cap {
		margin: 40px auto 0;
		padding: 6px 0;
		font-size: 14px;
		line-height: 20px;
		letter-spacing: 0.12em;
		font-family: serif;
		color: rgb(255, 255, 255);
		background: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
		text-shadow: 0 0 3px color-mix(in sRGB, rgb(var(--gray)) 30%, rgb(var(--price-theme-color)));
	}

	.plan-odekake-betsunohi.worship .cap,
	.price.plan-odekake .plan .cap {
		font-size: 12px;
	}

	.worship .tab_box,
	.reserve .tab_box {
		height: 6px;
		margin: 0 auto 32px;
		background: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
	}

	.worship h3.title,
	.reserve h3.title {
		font-size: 26px;
		letter-spacing: 0.10em;
		font-family: serif;
	}

	.worship .lead,
	.reserve .lead {
		width: 90%;
		margin: 40px auto 0;
		font-size: 16px;
		font-weight: bold;
		line-height: 1.5;
	}

	.worship ul,
	.reserve ul {
		box-sizing: border-box;
		width: 90%;
		max-width: 680px;
		margin: 32px auto 40px;
		padding: 32px 16px;
		text-align: left;
		background: rgb(234, 252, 222);
	}

	.worship ul li,
	.reserve ul li {
		position: relative;
		margin: 20px auto 0;
		font-size: 16px;
		line-height: 18px;
		padding-left: 2em;
		/* text-indent: -2em; */
	}

	.worship ul li *,
	.reserve ul li * {
		text-indent: 0;
	}

	.worship ul li p,
	.reserve ul li p {
		font-size: 16px;
		text-align: justify;
		line-height: 1.3;
	}

	.worship ul li:first-child,
	.reserve ul li:first-child {
		margin: 0;
	}

	.worship ul li .small,
	.reserve ul li .small {
		font-size: 14px;
	}

	.worship ul li .color,
	.reserve ul li .color {
		font-weight: bold;
		color: rgb(var(--green));
	}

	.worship i.fa-check-square,
	.reserve i.fa-check-square {
		position: absolute;
		top: 0;
		left: 0;
		color: rgb(var(--green));
		line-height: 18px;
	}

	.reserve .cloud {
		box-sizing: border-box;
		width: 90%;
		max-width: 800px;
		margin: 0 auto;
		padding: 20px 16px;
		background: color-mix(in sRGB, white 90%, rgb(var(--price-theme-color)));
		border: 2px solid color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
	}

	.reserve .cloud .text {
		font-size: 20px;
		font-weight: bold;
		color: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
	}

	.reserve .cloud ul {
		margin: 20px auto 0;
		padding: 0;
		background: none;
	}

	.reserve .cloud ul li {
		text-align: justify;
		line-height: 1.5;
		padding: 0;
	}

	.reserve .cloud ul li .color {
		color: color-mix(in sRGB, white 0%, rgb(var(--price-theme-color)));
	}

	/*コンテンツ-3  <お子様のヘアセットについて>
/////////////////////////////////////////////////////////////////////////*/
	.bg {
		width: 100%;
		margin: 0 auto;
		padding: 0 0 80px 0;
		background: rgb(240, 240, 240);
	}

	.other-wrap {
		width: 90%;
		margin: 0 auto;
		padding: 60px 0 0;
		border-top: 1px solid rgb(200, 200, 200);
	}

	.other-wrap .subheading {
		margin: 0 auto 40px;
		font-size: 26px;
		text-align: center;
		font-family: serif;
		letter-spacing: 0.12em;
		color: rgb(100, 100, 100);
	}

	.other_box {
		box-sizing: border-box;
		padding: 32px 16px;
		border: 1px solid rgb(200, 200, 200);
		border-top: 6px solid rgb(139, 199, 207);
	}

	.other_inner {
		max-width: 720px;
		margin: 0 auto;
	}

	.other-wrap .lead {
		margin: 0 auto 20px;
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		line-height: 1.5;
	}

	.other-wrap ul {
		margin: 32px auto 0;
	}

	.other-wrap ul:first-of-type {
		margin-top: 0;
	}

	.other-wrap ul li {
		margin: 8px auto 0;
		font-size: 16px;
		line-height: 1.5;
	}

	.other-wrap ul li.head {
		margin: 0 auto 32px;
		padding: 16px;
		font-size: 18px;
		color: rgb(255, 255, 255);
		background: rgb(180, 180, 180);
	}

	.hair .notes {
		margin: 0 auto 60px;
		padding: 32px 20px;
		text-align: justify;
		text-justify: inter-ideograph;
		background: rgb(255, 255, 255);
	}

	.hair .notes .heading {
		margin: 0 auto 20px;
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		letter-spacing: 0.26em;
		color: rgb(80, 80, 80);
	}

	.hair .notes .girl {
		margin: 0 auto 20px;
		padding: 20px;
		background: rgba(255, 166, 198, 0.1);
	}

	.hair .notes .boy {
		padding: 20px;
		background: rgba(110, 219, 255, 0.1);
	}

	.hair .notes .head {
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		letter-spacing: 0.1em;
		color: rgb(80, 80, 80);
	}

	.hair .notes .text {
		margin: 20px auto 0;
		font-size: 14px;
		line-height: 1.7;
		color: rgb(100, 100, 100);
	}

	.hair .catalog {
		text-align: center;
	}

	.hair .catalog .heading {
		margin: 0 auto 20px;
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		letter-spacing: 0.1em;
		color: rgb(80, 80, 80);
		display: inline-block;
	}

	.hair .catalog .girls .heading {
		padding: 0 32px 10px;
		border-bottom: 3px solid rgb(255, 207, 198);
	}

	.hair .catalog .text {
		font-size: 13px;
		text-align: center;
		line-height: 1.7;
		color: rgb(100, 100, 100);
	}

	.hair dl {
		display: flex;
		align-items: center;
		gap: 16px;
		flex-wrap: wrap;
		margin: 20px 0 0 0;
	}

	.hair dl .subheading {
		margin: 0;
		font-size: 15px;
		text-align: center;
		letter-spacing: 0.12em;
		line-height: 1.25;
	}

	.hair dl .subheading:not(.girls03) {
		flex-basis: calc((100% - 16px) / 2);
		box-sizing: border-box;
		padding: 10px;
	}

	.hair dl .subheading > span {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: auto;
		height: 100%;
		max-width: 180px;
		margin: 0 auto;
		aspect-ratio: 1/1;
	}

	.hair dl .subheading .circle {
		border-radius: 50%;
	}

	.hair .boys dl .subheading > span {
		background: rgb(188, 223, 255);
	}

	.hair .girls dl .subheading > span {
		background: rgb(255, 207, 198);
	}

	.hair .catalog > div {
		margin-bottom: 40px;
	}

	.hair .catalog > div:last-of-type {
		margin: 0;
	}

	.hair dl:not(.hair02) dd {
		flex: 1;
		flex-basis: calc((100% - 16px) / 2);
		max-width: calc((100% - 16px) / 2);
	}

	.hair dl dd:last-child {
		margin: 0;
	}

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

	.hair dl.hair02 {
		flex-direction: column-reverse;
		max-width: 31%;
	}

	.hair .single {
		width: 100%;
		max-width: 460px;
		margin: 20px auto 0;
	}

	.hair .single dl {
		width: 48%;
		max-width: 220px;
		margin: 0;
	}

	.hair .single dl:first-child {
		margin: 0 4% 0 0;
		float: left;
	}

	.hair .single dl:last-child {
		float: right;
	}

	.hair .single dl dd {
		width: 100%;
		max-width: 220px;
	}

	.hair dl.bangs {
		width: 100%;
		max-width: 700px;
	}

	.hair dl.bangs dt {
		box-sizing: border-box;
		height: 38px;
		margin: 0 auto 10px;
		padding: 10px 0;
		font-size: 16px;
		text-align: center;
		letter-spacing: 0.12em;
		color: rgb(255, 255, 255);
		background: rgb(255, 143, 106);
		border-radius: 20px;
	}

	.hair dl.bangs dd {
		width: 32%;
		max-width: 220px;
		margin: 0 2% 0 0;
	}

	.hair dl.bangs dd:last-child {
		margin: 0;
	}

	.hair .catalog .boys .heading {
		margin: 40px auto 20px;
		padding: 0 32px 10px;
		border-bottom: 3px solid rgb(188, 223, 255);
	}

	.hair .catalog .boys ul {
		width: 100%;
		max-width: 460px;
		margin: 0 auto;
		overflow: hidden;
	}

	.hair .catalog .boys ul li {
		width: 48%;
		max-width: 220px;
		margin: 20px 4% 0 0;
		float: left;
	}

	.hair .catalog .boys ul li:last-child {
		margin: 20px 0 0 0;
	}

	.hair img {
		width: 100%;
		height: auto;
	}

	.other-wrap ul.list {
		width: 90%;
		margin: 0 auto;
	}

	.other-wrap ul.list li {
		box-sizing: border-box;
		margin: 20px auto 0;
		padding: 20px 32px;
		text-align: center;
		background: rgb(180, 180, 180);
	}

	.other-wrap ul.list li:first-child {
		margin: 0;
	}

	.other-wrap ul.list li .left-side {
		font-size: 20px;
		font-weight: bold;
		color: rgb(255, 255, 255);
	}

	.other-wrap ul.list li .left-side .small {
		margin: 10px 0 0 0;
		font-size: 14px;
		font-weight: normal;
		display: block;
	}

	.other-wrap ul.list li .right-side {
		margin: 10px 0 0 0;
		font-size: 28px;
		font-weight: bold;
		color: rgb(255, 255, 255);
	}

	.other-wrap ul.list li .right-side .small {
		font-size: 18px;
	}
}

/*=========================================== 
スマホ向けのレイアウトの指定：480px〜
===========================================*/
@media only screen and (min-width: 481px) {}

/*=========================================== 
スマホ向けのレイアウトの指定：〜768px
===========================================*/
@media only screen and (max-width: 768px) {
	.plan-navi-inner.plan-other .plan-list-ttl {
		display: none;
	}

	.plan-navi-inner.plan-other {
		order: -2;
	}

	.thumb-wrap {
		position: relative;
		margin-bottom: 30px;
	}

	.grade.sp {
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 72%;
		padding: 16px;
		font-family: serif;
		font-size: 18px;
		letter-spacing: 0.1em;
		background: #fff;
		border-radius: 26px 26px 0 0;
		transform: translate(-50%, 25%);
	}

	.grade::after {
		position: absolute;
		bottom: 0;
		left: 50%;
		display: block;
		content: "";
		width: 140px;
		height: 3px;
		background: var(--gray);
		transform: translate(-50%, 0);
	}
}

/*=========================================== 
PC向けのレイアウトの指定：768px〜
===========================================*/
@media only screen and (min-width: 769px) {

	/*=========================================== 
料金プランメニュー
===========================================*/
	.plan-navi-wrap {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 40px;
		max-width: 940px;
		margin-top: 40px;
		padding: 0 20px;
	}

	.plan-navi-inner {
		flex: 1;
		flex-basis: calc((100% - 40px) / 2);
		max-width: calc((100% - 40px) / 2);
	}

	.plan-navi-inner.plan-753 {
		order: -1;
	}

	.plan-navi-inner.plan-other {
		order: 0;
	}

	ul.plan-list {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 12px;
	}

	.plan-list-ttl {
		padding: 12px 16px;
		margin-bottom: 16px;
		font-size: 18px;
	}

	ul.plan-list li {
		flex: 1;
	}

	ul.plan-list li a {
		padding: 12px 16px;
		padding-right: 32px;
		line-height: 20px;
	}

	ul.plan-list li a::after {
		line-height: 40px;
	}

	/*=========================================== 
料金プラン オプションメニュー
===========================================*/
	/*コンテンツ-1 > その他メニュー*/
	.other-menu {
		width: 100vw;
	}

	.other-menu-wrap {
		width: auto;
		max-width: 940px;
	}

	.other-menu ul {
		width: auto;
		max-width: none;
	}

	.other-menu ul li {
		width: 31%;
		max-width: 292px;
		height: 60px;
		display: inline-block;
	}

	.other-menu ul li a {
		line-height: 58px;
	}

	.other-menu ul li a::after {
		line-height: 58px;
	}

	/*=========================================== 
料金プラン
===========================================*/
	.price {}

	.price .plan,
	.worship,
	.reserve {
		width: 100%;
	}

	.plan-wrap {
		width: auto;
		max-width: 940px;
		padding: 0 10px;
	}

	.heading {
		font-size: 30px;
	}

	h3.subheading {
		font-size: 30px;
	}

	.price-wrap {
		display: flex;
		justify-content: center;
		gap: 16px;
		padding: 20px;
	}

	.thumb-wrap {
		max-width: 400px;
	}

	h3.grade.pc {
		font-family: serif;
		font-size: 50px;
	}

	h3.grade.grade_other.pc {
		font-size: 35px;
	}

	p.explain {
		padding: 18px 24px;
		font-size: 16px;
		line-height: 22px;
	}

	.cost-campaign {
		width: fit-content;
		padding: 4px 20px;
		margin-top: 12px;
	}

	.dress-wrap h4 {
		width: 100%;
	}

	.dress-cont {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		padding: 0 0px;
	}

	.dress-cont > div {
		flex: 1;
		max-width: 380px;
		padding: 0;
	}

	/*コンテンツ-2 > 七五三プラン*/
	.price .plan .link {
		margin: 20px auto 0;
	}

	.price .plan .link .text {
		margin: 0 16px 0 0;
		height: 66px;
		line-height: 66px;
	}

	.price .plan .link .btn {
		box-sizing: border-box;
		width: 90%;
		max-width: 300px;
		margin: 0 8px;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		background: rgb(255, 255, 255);
		border: 1px solid rgb(180, 180, 180);
		display: inline-block;
		vertical-align: top;
	}

	.price .plan .link .btn a:hover {
		opacity: 0.8;
		filter: alpha(opacity=80);
		/* IE 6,7*/
		-ms-filter: "alpha(opacity=80)";
		/* IE 8,9 */
		-moz-opacity: 0.8;
		/* FF , Netscape */
		-khtml-opacity: 0.8;
		/* Safari 1.x */
		zoom: 1;
		/*IE*/
	}

	.products_wrap ul {
		flex-direction: row;
		gap: 20px;
		justify-content: center;
	}

	.products_wrap ul li {
		flex: 1;
	}

	.products_wrap ul li.pr-item:not(.lb) {
		max-width: 30%;
	}

	.products_wrap ul li.pr-item:not(.lb) a {
		flex-direction: column;
		padding: 16px;
	}

	.products_wrap ul li.pr-item:not(.lb) a span {
		display: block;
	}

	.products_wrap ul li.pr-item:not(.lb) img {
		width: 100px;
		height: auto;
	}

	.products_wrap ul li.pr-item.lb {
		padding: 20px;
	}

	.products_wrap ul li.pr-icon {
		flex: 0;
	}

	.worship,
	.reserve {
		margin: 0 auto 60px;
	}

	/*コンテンツ-3  <お子様のヘアセットについて>
/////////////////////////////////////////////////////////////////////////*/
	.bg {
		width: 100vw;
	}

	.other-wrap {
		width: auto;
		max-width: 940px;
		padding: 60px 10px 0;
	}

	.other_box {
		padding: 32px;
	}

	.other-wrap .subheading {
		font-size: 30px;
	}

	.other-wrap .notes {
		padding: 32px 60px;
	}

	.hair dl {}

	.hair dl .subheading:not(.girls03) {
		flex-basis: calc((100% - 48px) / 4);
	}

	.hair dl:not(.hair02) dd {
		flex-basis: calc((100% - 48px) / 4);
		max-width: calc((100% - 48px) / 4);
	}

	.hair .single {
		width: 48%;
		max-width: 460px;
		margin: 20px 0 0 0;
		float: left;
	}

	.hair .single dl {
		width: 48%;
		max-width: 220px;
		margin: 0;
	}

	.hair .catalog .boys ul {
		width: 49%;
	}

	.hair .catalog .boys ul li {
		width: 48%;
	}

	.other-wrap ul.list {
		max-width: 576px;
	}

	.other-wrap ul.list li .left-side {
		float: left;
	}

	.other-wrap ul.list li .right-side {
		float: right;
	}

	.other-wrap ul.list li:last-child .left-side {
		margin: 4px 0;
	}

	.other-wrap ul.list li:last-child .right-side {
		margin: 0;
	}
}

/*=========================================== 
PC向けのレイアウトの指定：960px〜
===========================================*/
@media only screen and (min-width: 961px) {}