@font-face {
	font-family: 'source-han-serif-japanese';
	src: url('./font/SourceHanSerif-VF.otf') format('opentype');
}

img {
	vertical-align: bottom;
	width: 100%;
}

.fadein {
	opacity: 0;
	transition: 3s;
}

.fadein.is_show {
	opacity: 1;
}

.content_inner img {
	object-fit: cover;
}

.content_inner p {
	margin: 0;
	padding: 0;
	text-align: left;
}


/*------------------------------
--------------------------------
  Main Visual  
--------------------------------
------------------------------*/

.mv .bxslider {
	width: 100%;
}

.mv .bxslider li {
	position: relative;
	height: 100vh;
	overflow: hidden;
	min-height: 400px;
}

.bxslider li:not(:first-child){
    display: none;
}

.bx-wrapper:nth-child(2) {
	display: none;
}

.mv .bxslider li img{
	width: 100%;
	height: auto;
	height: 100%;
	object-fit: cover;
	vertical-align: bottom;

	position: absolute;
	top: 0px;
	height: 100vh;
}

.mv_logo {
	position: absolute;
	top: 50%;
	left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.mv_logo img {
	width: 22.5%;
	max-width: 287px;
}

.mv .mv_logo p {
	color: var(--white);
	text-align: center;
	text-shadow: 0px 0px 17.5px var(--midashi-brown);
	font-size: 20px;
	font-weight: 400;
	margin-top: 8px;
	line-height: 1.5;
	letter-spacing: 0.7px;
}

.mv .scroll {
	position: absolute;
	display: block;
	top: 86%;
	left: 50%;
	width: auto;
	transform: translateX(-50%);
	writing-mode: vertical-rl;
}

.mv .scroll a {
	position: absolute;
	color: var(--white);
	padding-bottom: 10px;
	transform: translate(-50%, -50%);
	left: 0;
	top: 0;
	letter-spacing: 0.2px;
}

.mv .scroll_arrow {
	position: absolute;
	content: '';
	width: 1px;
	height: 50px;
	background-color: var(--white);
	top: calc(86% + 32px);
	left: 50%;
	transform: translateX(-50%);
	/*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.8s ease-in-out infinite;
	opacity:0;
}


@keyframes pathmove {
	0% {
		height: 0px;
		top: calc(86% + 32px);
		opacity: 0;
	}
	30% {
		height: 50px;
		opacity: 1;
	}
	100% {
		height: 0;
		top: calc(86% + 92px);
		opacity: 0;
	}
}

h2.mv_text {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
    transform: translate(-50%, -50%);
    font-weight: 500;
    font-size: 3.4rem;
    color: var(--white);
    text-align: center;
    margin: 0;
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    text-shadow: 0px 0px 17.5px 0px var(--midashi-brown);
    font-family: 游明朝体;
}

h2.mv_text span.palt {
	font-family: "source-han-serif-japanese";
	font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
}

h2.mv_text span.second_line {
	font-size: 4.3rem;
	letter-spacing: .17em;
	font-weight: 500;

	line-height: 1.3;
}

@media screen and (max-width: 1200px) {
	h2.mv_text {
		font-size: 2.5rem;
	}

	h2.mv_text span.second_line {
		font-size: 3.0rem;
	}

	.mv_logo img {
		width: 30%;
	}
}

@media screen and (max-width: 768px) {
	h2.mv_text {
		font-size: 2.5rem;
	}

	h2.mv_text span.second_line {
		font-size: 3.0rem;
	}

	.mv_logo img {
		width: 36%;
	}
}

@media screen and (max-width: 650px) {
	.bx-wrapper:nth-child(1) {
		display: none;
	}

	.bx-wrapper:nth-child(2) {
		display: block;
	}

	.mv_logo {
		top: 50.25%;
		gap: 5px;
	}

	.mv_logo img {
		width: 44%;
	}

	h2.mv_text {
		top: 47.5%;
	    font-size: 2.0rem;
	}

	h2.mv_text span.second_line {
		font-size: 2.35rem;
	}

	.mv .mv_logo p {
		margin-top: -5px;
		font-size: 1.8rem;
		letter-spacing: 1.1px;
		line-height: 28px;
	}

	.mv .scroll {
		top: 84%;
	}

	.mv .scroll_arrow {
		top: calc(84% + 38px);
	}

	@keyframes pathmove {
		0% {
			height: 0px;
			top: calc(84% + 38px);
			opacity: 0;
		}
		30% {
			height: 50px;
			opacity: 1;
		}
		100% {
			height: 0;
			top: calc(84% + 98px);
			opacity: 0;
		}
	}
}

@media screen and (max-width: 480px) {
	.mv .scroll {
		top: 80.5%;
	}

	.mv .scroll_arrow {
		top: calc(80.5% + 38px);
	}

	@keyframes pathmove {
		0% {
			height: 0px;
			top: calc(80.5% + 38px);
			opacity: 0;
		}
		30% {
			height: 50px;
			opacity: 1;
		}
		100% {
			height: 0;
			top: calc(80.5% + 98px);
			opacity: 0;
		}
	}
}

@media screen and (max-width: 389px) {
	.mv .scroll {
		top: 82.5%;
	}

	.mv .scroll_arrow {
		top: calc(82.5% + 28px);
		height: 40px;
	}

	@keyframes pathmove {
		0% {
			height: 0px;
			top: calc(82.5% + 28px);
			opacity: 0;
		}
		30% {
			height: 40px;
			opacity: 1;
		}
		100% {
			height: 0;
			top: calc(82.5% + 78px);
			opacity: 0;
		}
	}
}


/*------------------------------
--------------------------------
  Main Visual Slider
--------------------------------
------------------------------*/

/** RESET AND LAYOUT
===================================*/
.bx-wrapper {
  position: relative;
  padding: 0;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}
.bx-wrapper img {
  max-width: 100%;
  display: block;
}
.bxslider {
  margin: 0;
  padding: 0;
}
ul.bxslider {
  list-style: none;
}
.bx-viewport {
  /*fix other elements on the page moving (on Chrome)*/
  -webkit-transform: translatez(0);
}
/** THEME
===================================*/
/* PAGER */
.bx-controls {
	display: none;
}


/*------------------------------
--------------------------------
  Midashi  
--------------------------------
------------------------------*/
.news .title_box h2,
.top.customer .title_box h2,
.top.hairstyle .title_box h2,
.sns .title_box h2 {
	color: var(--white);
}

.news .title_english,
.customer .title_english,
.hairstyle .title_english,
.sns .title_english {
	color: var(--white-blur);
}

.customer p.headline_txt,
.hairstyle p.headline_txt {
	color: var(--white);
}

@media screen and (max-width: 650px) {
	.sns .title_box {
		gap: 25px;
		margin-bottom: 14.5px;
	}
}

.content_wrap {
	margin: 48px 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

/*------------------------------
--------------------------------
  News  
--------------------------------
------------------------------*/
section.news {
	background-image: url(../img/bg_news.jpg);
	background-repeat: repeat-y;
	background-size: 100%;
	background-attachment: fixed;
	padding-bottom: 152px;
}

.news .content_wrap {
	flex-wrap: nowrap;
	justify-content: center;
	column-gap: 5.8%;
}
.news .content_inner {
	width: 29.5%;
	max-width: 300px;
	display: flex;
	flex-direction: column;
	gap: 32px;
	overflow: hidden;
}

.news .content_inner div {
	overflow: hidden;
}

.news .content_inner div img {
	transition: all .3s ease;
	aspect-ratio: 30/24;
}

.news .content_inner:hover {
	cursor: pointer;
}

.news .content_inner:hover > div img,
.news .content_inner img:hover {
	transform:scale(1.25,1.25);
}

.news .content_inner:hover > p.desc{
	text-decoration: underline;
}

.news .content_inner p {
	color: var(--white);
	transition: all .6s ease;
}

.content_inner .news_date {
	border-top: 1px solid #AE918D;
	line-height: 2.4rem;
	letter-spacing: 0.8px;
	padding-top: 5px;
	font-family: Noto Sans JP;
	margin-top: auto;
}

@media screen and (min-width: 651px) {
	.news .content_inner p {
		letter-spacing: 1px;
	}
}

@media screen and (max-width: 650px) {
	section.news {
		background: none;
		padding-bottom: 48px;
		position: relative;
	}

	/*柄のある背景共有*/
	.bg_fixed {
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
	}

	.bg_fixed_inner {
		position: relative;
		overflow: hidden;
		clip-path: inset(0);
		height: 100%;
	}

	.bg_fixed_inner:before{
		content: '';
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		background-repeat: repeat-y;
		background-size: cover;
		width: 100%;
		height: 100vh;
	}
	/*柄のある背景共有*/


	.news .bg_fixed_inner:before {
		background-image: url(../img/bg_news_sp.jpg);
	}

	.content_wrap {
		flex-direction: column;
		align-items: center;
		row-gap: 48px;
	}

	.news .content_inner {
		width: 100%;
	}
}


/*------------------------------
--------------------------------
  Images 
--------------------------------
------------------------------*/
section.images {
	padding: 0;
}

section.images.u_banner {
	padding-top: 96px;
}

.images_inner {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.images_inner.two_columns div {
	width: 50%;
}

.images_inner.three_columns div {
	width: calc(100% / 3);
}

.images_inner div img {
	width: 100%;
	height: auto;
	object-fit: cover;
	aspect-ratio: 640/400;
}

section.images.u_banner .images_inner div img {
	aspect-ratio: 426.7/400;
}

@media screen and (max-width: 650px) {
	section.images.u_banner {
		padding-top: 48px;
	}

	.images_inner div img {
		aspect-ratio: 188/120;
	}

	.u_banner .images_inner div img {
		aspect-ratio: 125/120;
	}
}


/*------------------------------
--------------------------------
  Message 
--------------------------------
------------------------------*/
.message .content_wrap {
	align-items: flex-start;
	gap: 5%;
	margin-bottom: 0;
	margin-top: 52px;
}

.message .content_wrap div:first-child {
	flex: 1;
}

.message .content_wrap div img {
	width: 100%;
	max-width: 500px;
}

.message_body {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 20px;
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
  	color: var(--body);
  	width: 460px;
  	letter-spacing: 0px;
}

.message_body p {
	margin: 0;
	padding: 0;
}

.message_body p.space {
	width: 20px;
}

@media screen and (min-width: 1280px) {
	.message .container {
		max-width: 1022px;
	}
}

@media screen and (max-width: 1000px) {
	.message .content_wrap {
		justify-content: center;
	}

	.message_body {
		width: 400px;
	}
}

@media screen and (max-width: 960px) {
	.message .content_wrap {
		flex-direction: column;
		align-items: center;
		row-gap: 32px;
		margin: 32px auto 0;
		width: 91%;
	}
}

@media screen and (max-width: 650px) {
	.message .container {
		width: 88%;
	}

	.message_body {
		justify-content: center;
		width: auto;
		gap: 12px;
	}

	.message_body p,
	.message_body p.space {
		width: 12px;
	}
}


/*------------------------------
--------------------------------
  Banner 
--------------------------------
------------------------------*/
.banner {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	padding: 0;
}

.banner_inner {
	display: flex;
	justify-content: center;
	gap: 36px;
	padding: 0;
	overflow: hidden;
	width: 100%;
	max-width: 1178px;
	margin: 0 auto;
	height: 100%;
}

.banner_img {
	display: flex;
	align-items: flex-end;
}

.banner_txt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 38.5%;
	max-width: 450px;
	padding: 56px 0;
}

.banner_txt p:first-child {
	background: #E6BA51;
	padding: 3.25px 0.2em;
	color: var(--nav-black);
	font-size: 2.0rem;
	font-weight: 900;
	letter-spacing: 0.4px;
	width: 100%;
	text-align: center;
}

.banner_txt p:nth-child(2) {
	color: var(--white);
	font-family: Noto Sans JP;
	font-weight: 900;
	font-size: 4.8rem;
	letter-spacing: 2.2px;
	padding: 10px 0;
}

.banner_txt p:last-child {
	color: var(--white);
	font-family: Noto Sans JP;
	font-size: 2.6rem;
	font-weight: 600;
	letter-spacing: 2.6px;
	width: 100%;
	text-align: center;
	padding: 10px 0;
	border-top: 1px dashed var(--white);
	border-bottom: 1px dashed var(--white);
}

.banner .btn {
	margin: auto 0;
	width: 25.5%;
	max-width: 300px;
}

/*Banner -LINE-*/
.banner_line .banner_img {
	width: 17%;
	max-width: 200px;
}

/*Banner -Reservation-*/
.banner_reservation {
	background: var(--link);
}

.banner_reservation .banner_inner {
	gap: 0;
	justify-content: flex-start;
}

.banner_reservation .banner_img {
	width: 25.5%;
	max-width: 300px;
	margin-right: 15px;
}

.banner_reservation .banner_img .pc {
	display: block;
}

.banner_reservation .banner_img .sp {
	display: none;
}

.banner_reservation .banner_txt {
	width: 43%;
	max-width: 452px;
}

.banner_reservation .btn {
	margin-left: 35px;
	width: 28%;
}


@media screen and (max-width: 1500px) {
	.banner {
		width: 92.1%;
		max-width: 1178px;
		margin: 0 auto;
	}
}

@media screen and (min-width: 1280px) {
	.banner {
		height: 300px;
	}
}

@media screen and (max-width: 1279px) {
	.banner_img {
		width: 23%;
		text-align: left;
	}

	.banner_txt {
		width: 42.5%;
	}

	/*reservation*/
	.banner_reservation .banner_inner {
		justify-content: flex-start;
	}

	.banner_reservation .btn {
		margin-left: 2.9%;
		width: 25.5%;
		max-width: 300px;
	}
}

@media screen and (max-width: 1150px) {
	.banner_inner {
		gap: 34px;
	}

	.banner_txt p:last-child {
		font-size: 2.0rem;
	}

	.banner_reservation .banner_txt p:nth-child(2) {
		font-size: 3.2rem;
	}

	.banner_reservation .btn a {
		align-items: flex-start;
    	padding-left: 40px;
	}
}

@media screen and (max-width: 1050px) {
	.banner_reservation .btn a {
    	padding-left: 30px;
	}
}


@media screen and (max-width: 960px) {
	.banner_line .banner_inner {
		justify-content: space-around;
		gap: 0;
		padding: 0 1%;
	}

	.banner_txt p:first-child {
		font-size: 1.2rem;
	}

	.banner_txt p:nth-child(2) {
		font-size: 2.8rem;
	}

	.banner_reservation .banner_txt {
		width: 38%;
		max-width: 452px;
	}

	.banner_reservation .banner_txt p:nth-child(2) {
		font-size: 2.6rem;
	}

	.banner_txt p:last-child {
		font-size: 1.6rem;
	}

	.banner .btn {
		height: 60px;
		width: 200px;
	}

	.banner .btn a {
		font-size: 1.6rem;
	}

	.banner .btn svg {
		right: 10px;
	}
}

@media screen and (max-width: 768px) {
	.banner_line .banner_inner,
	.banner_reservation .banner_inner {
		flex-direction: column;
		align-items: center;
		width: 350px;
		margin: 0 auto;
		padding: 40px 0 0;
	}

	.banner_line .banner_img {
		order: 2;
		width: 66%;
		margin: 30px auto 0;
	}

	.banner_reservation .banner_img {
		order: 2;
		width: 100%;
		margin: 30px auto 0;
	}

	.banner_reservation .banner_img .pc {
		display: none;
	}

	.banner_reservation .banner_img .sp {
		display: block;
	}

	.banner_line .banner_txt,
	.banner_reservation .banner_txt {
		width: 100%;
		padding: 0;
	}

	.banner_txt p:first-child {
		font-size: 1.6rem;
		letter-spacing: 0.32px;
		padding: 6px 0;
	}

	.banner_line .banner_txt p:nth-child(2) {
		font-size: 3.8rem;
		padding: 8px 0;
		letter-spacing: 1.9px;
	}

	.banner_reservation .banner_txt p:nth-child(2) {
		font-size: 3.0rem;
		padding: 8px 0;
		letter-spacing: 1.5px;
	}

	.banner_txt p:last-child {
		font-size: 1.8rem;
		padding: 8px 0;
		letter-spacing: 1.8px;
		border-top: 1px dotted var(--white);
    	border-bottom: 1px dotted var(--white);
	}

	.banner_line .btn,
	.banner_reservation .btn {
		order: 1;
		width: 100%;
		max-width: none;
		margin-top: 32px;
		margin-left: 0;
	}

	.banner_reservation .btn a {
		align-items: center;
    	padding-left: 0;
	}

	.banner_line .btn svg,
	.banner_reservation .btn svg {
		right: 20px;
	}
}


@media screen and (max-width: 650px) {
	.banner {
		width: 95%;
		margin: 0 auto;
	}

	.banner_line .banner_inner,
	.banner_reservation .banner_inner {
		width: 303px;
		padding: 30px 0 0;
	}
}


/*------------------------------
--------------------------------
  Catalog
--------------------------------
------------------------------*/

section.catalog {
	padding-bottom: 152px;
}

.catalog .content_inner {
	width: 24.5%;
	max-width: 248px;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.catalog .content_inner .txt_wrap {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 15px 20px;
	flex: 1 0 auto;
	border: 1px solid var(--frame-line);
	border-top: none;
	background: var(--white);
}

.catalog .content_inner p.title {
	text-align: center;
	color: var(--midashi-brown);
}

.catalog .content_inner p.desc {
	color: var(--body);
	letter-spacing: 1.1px;
}

.web_catalog {
	position: relative;
	width: 100%;
	padding-top: 60%;
	margin-bottom: 50px;
	overflow: hidden;
}

.web_catalog iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


@media screen and (min-width: 961px) {
	.catalog .content_inner p.desc span.catalog_spacing {
		letter-spacing: 2.5px;
	}
}

@media screen and (max-width: 970px) {
	br.br_970 {
		display: none;
	}
}

@media screen and (max-width: 960px) {
	section.catalog .container {
		width: 80%;
	}

	.catalog .content_wrap {
		row-gap: 16px;
	}

	.catalog .content_inner,
	.customer .content_inner,
	.hairstyle .content_inner {
		width: 49%;
		max-width: none;
	}

	.web_catalog {
		padding-top: 50%;
	}
}

@media screen and (max-width: 650px) {
	section.catalog {
		padding-bottom: 48px;
	}

	.catalog .container > p.headline_note {
		padding-top: 16px;
		padding-left: 1em;
	}

	.catalog .container > p.headline_note:before {
		content: '※';
		margin-left: -1em;
	}

	.catalog .container > p.headline_note span {
		display: none;
	}

	.catalog .content_wrap {
		gap: 24px;
	}

	.catalog .content_inner .txt_wrap {
		padding: 16px 21px;
	}

	.catalog .content_inner,
	.customer .content_inner,
	.hairstyle .content_inner {
		width: 100%;
	}

	.catalog .content_inner p.desc {
		min-height: calc(1.5em * 4);
		line-height: 1.5;
		letter-spacing: 0.9px;
	}

	.catalog .content_inner p.desc span.catalog_spacing_sp {
		letter-spacing: 2.5px;
	}

	.web_catalog {
		width: 118%;
		margin-left: -9%;
		padding-top: 60%;
		margin-bottom: 48px;
		/*min-width: 355px;*/
	}

	.web_catalog iframe {
		max-width: 100%;
		top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
	}

	.catalog .btn a {
		align-items: flex-start;
		padding-left: 12.5px;
	}

	.catalog .btn a svg {
		right: 12.5px;
	}
}

@media screen and (max-width: 540px) {
	.web_catalog {
		padding-top: 56%;
	}

	.web_catalog iframe {
        transform: translate(-50%, -50%) scale(0.9, 0.9);
	}
}

@media screen and (max-width: 480px) {
	.web_catalog {
		padding-top: 51%;
	}

	.web_catalog iframe {
        transform: translate(-50%, -50%) scale(0.72, 0.72);
	}
}

@media screen and (max-width: 428px) {
	.web_catalog {
		padding-top: 57%;
	}
}

@media screen and (max-width: 390px) {
	.web_catalog {
		padding-top: 63%;
	}
}

@media screen and (max-width: 375px) {
	.web_catalog {
		padding-top: 65%;
		min-width: 355px;
	}
}


/*------------------------------
--------------------------------
  Customer Gallery
--------------------------------
------------------------------*/
section.customer {
	background-image: url(../img/bg_customer.jpg);
	background-repeat: repeat-y;
	background-size: 100%;
	background-attachment: fixed;
	padding-bottom: 152px;
}

.gallery .content_wrap {
	row-gap: 10px;
}

.gallery .content_wrap:before,
.gallery .content_wrap:after {
	content: '';
	display: block;
	width: 24.5%;
}

.gallery .content_wrap:before {
	order: 1;
}

.customer .content_inner {
	width: 24.5%;
	max-width: 248px;
	aspect-ratio: 2 / 3;
}

/*Gallery共通*/
.gallery .content_inner {
	background: rgba(0, 0, 0, 0.2);
}

.gallery .content_inner a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.gallery .content_inner img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .3s ease;
}

.mask {
	position: absolute;
	background: rgba(0, 0, 0, .3);
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	opacity: 0;
	transition: opacity .6s ease;
}

.gallery .content_inner:hover .mask {
	opacity: 1;
}

.gallery .content_inner:hover img {
	transform:scale(1.25,1.25);
}

@media screen and (min-width: 1280px) {
	.gallery .container {
		max-width: 1022px;
	}
}

@media screen and (max-width: 650px) {
	section.customer {
		background: none;
		padding-bottom: 96px;
		position: relative;
	}

	.customer .bg_fixed_inner:before {
		background-image: url(../img/bg_customer_sp.jpg);
	}

	section.gallery .container {
		width: 80%;
	}

	section.gallery .content_wrap {
		flex-direction: row;
		justify-content: center;
		gap: 8px;
	}

	.gallery .content_wrap:before {
		display: none;
	}


	.gallery .content_wrap:after {
		width: 48.5%;
		min-width: 145px;
	}

	.customer .content_inner {
		width: 48.5%;
		min-width: 145px;
	}

	.customer .btn a {
		align-items: flex-start;
		padding: 23px;
	}
}


/*------------------------------
--------------------------------
  Hairstyle Gallery
--------------------------------
------------------------------*/
section.hairstyle {
	background-image: url(../img/bg_hairstyle.jpg);
	background-repeat: repeat-y;
	background-size: 100%;
	background-attachment: fixed;
	padding-bottom: 152px;
}

.hairstyle .content_inner {
	width: 24.5%;
	max-width: 248px;
	max-height: 250px;
	aspect-ratio: 248 / 250;
}

.hairstyle .content_inner a {
	height: 100%;
}


@media screen and (max-width: 650px) {
	section.hairstyle {
		background: none;
		padding-bottom: 96px;
		position: relative;
	}

	.hairstyle .bg_fixed_inner:before {
		background-image: url(../img/bg_hairstyle_sp.jpg);
	}

	.hairstyle .content_inner {
		width: 48.5%;
		min-width: 145px;
	}

	.hairstyle .container > p {
		text-align: left;
	}
}


/*------------------------------
--------------------------------
  Plan
--------------------------------
------------------------------*/

.plan .content_inner {
	width: 33%;
	max-width: 330px;
	display: flex;
	flex-direction: column;
	gap: 0;
	overflow: hidden;
}

.plan .content_inner div {
	overflow: hidden;
}

.plan .content_inner img {
	transition: var(--link-trans);
}

.plan .content_inner:hover img,
.plan .content_inner img:hover {
	transform:scale(1.25,1.25);
}

.plan .content_inner:hover {
	cursor: pointer;
}

.plan .content_inner .txt_wrap {
	display: flex;
	flex-direction: column;
	flex: 1 0 auto;
	padding: 20px;
	border-right: 1px solid var(--frame-line);
	border-left: 1px solid var(--frame-line);
}

.plan .content_inner .txt_wrap .title {
	color: var(--midashi-brown);
	margin-bottom: 10px;
	text-align: center;
}

.plan .content_inner .txt_wrap .desc_bold {
	color: var(--frame-subtitle);
	text-align: center;
}

.plan .content_inner .txt_wrap .desc {
	color: var(--body);
	text-align: center;
}

.plan .button_brown {
	width: 100%;
	margin-top: auto;
}

.content_wrap.others {
	row-gap: 48px;
	margin-bottom: 0;
}

.content_wrap.others .content_inner {
	width: 49%;
	max-width: 490px;
	border: 1px solid var(--frame-line);
}

.content_wrap.others .content_inner .txt_wrap {
	padding: 24px 45px;
	border: 1px solid var(--frame-line);
	border-top: none;
	display: flex;
	flex-direction: column;
	row-gap: 15px;
	border: none;
	flex: 1 0 auto;
}

.content_wrap.others .content_inner .txt_wrap .title {
	margin-bottom: 0;
}

.plan .content_inner .txt_wrap .plan_others_desc {
	flex: 1 0 auto;
}

.content_wrap.others .content_inner .txt_wrap .btn {
	max-width: 100%;
	margin-top: auto;
}

.plan .content_inner .btn {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	margin-top: auto;
}

.plan .button_brown {
	color: var(--white);
}

.plan .button_brown:hover {
	color: var(--nav-black);
	background: var(--white);
}

.plan .button_white_red {
	color: var(--nav-black);
}

.plan .button_white_red:hover {
	color: var(--white);
	background: var(--link);
}

@media screen and (min-width: 1280px) {
	.plan .container {
		max-width: 1020px;
	}
}

@media screen and (max-width: 960px) {
	.plan .content_wrap {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		row-gap: 48px;
	}

	.plan .content_wrap .content_inner {
		width: 100%;
	}

	.content_wrap.others {
		margin: 48px 0;
	    display: flex;
	    flex-direction: row;
	    justify-content: space-between;
	    align-items: stretch;
	    flex-wrap: wrap;
	}

	.content_wrap.others .content_inner {
		width: 48%;
	}
}


@media screen and (max-width: 768px) {
	.content_wrap.others .content_inner .txt_wrap {
		padding: 24px;
	}
}


@media screen and (max-width: 650px) { 
	.plan .container {
		width: 80%;
	}
	.plan .container .headline_txt {
		text-align: left;
	}

	.plan .content_inner {
		width: 100%;
		max-width: none;
	}

	.content_wrap.others {
		flex-direction: column;
		row-gap: 24px;
		margin-bottom: 0;
	}

	.content_wrap.others .content_inner {
		width: 100%;
		padding: 0;
	}

	.content_wrap.others .content_inner .btn {
		width: 250px;
	}
}


/*------------------------------
--------------------------------
  Shop 
--------------------------------
------------------------------*/
section.shop {
	padding-top: 152px;
}

.shop .shop_logo {
	display: flex;
	width: 500px;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	gap: 25px;
}

.shop .shop_logo img:first-child {
	width: 136px;
	height: auto;
}

.shop .shop_logo img:last-child {
	width: 339px;
	height: auto;
}

.shop .content_wrap {
	margin-bottom: 0;
}

.shop .content_inner {
	width: 32.5%;
	max-width: 330px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.shop .content_inner img {
	vertical-align: bottom;
	width: 100%;
	height: auto;
}

.shop .content_inner .txt_wrap {
	padding: 35px 30px 30px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	border: 1px solid var(--frame-line);
	border-top: none;
	flex: 1 0 auto;
}


.shop .content_inner .txt_wrap .logo_img {
	display: flex;
	justify-content: center;
	align-items: center;
}

.shop .content_inner .txt_wrap .logo_img img {
	max-width: 250px;
}

.shop .content_inner .txt_wrap .shop_address {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.shop .content_inner .txt_wrap .shop_address div p {
	display: inline-block;
	vertical-align: middle;
	color: var(--body);
}

.shop .content_inner .txt_wrap .shop_address div p:first-child {
	color: var(--white);
	background: var(--midashi-brown);
	width: 80px;
	height: 25px;
	text-align: center;
	margin-right: 10px;
	letter-spacing: 0.28px;
	font-family: Noto Sans JP;
}

.shop .content_inner .txt_wrap .shop_address div.address p:last-child {
	padding-top: 5px;
}

.shop .content_inner .txt_wrap .shop_address div.phone {
	min-height: 30px;
}

.shop .content_inner .txt_wrap .shop_address div:nth-child(3),
.shop .content_inner .txt_wrap .shop_address div:nth-child(4) {
	min-height: 25px;
}



@media screen and (max-width: 650px) { 
	section.shop {
		padding-top: 48px;
	}
	.shop .container {
		width: 80%;
	}

	.shop .content_wrap {
		margin: 32px 0 0;
		row-gap: 24px;
	}

	.shop .shop_logo {
		width: 100%;
		gap: 15px;
	}

	.shop .shop_logo img:first-child {
		width: 80px;
	}

	.shop .shop_logo img:last-child {
		width: 200px;
	}

	.shop .content_inner {
		width: 100%;
		max-width: none;
	}

	.shop .content_inner > img {
		aspect-ratio: 3/2;
	}

	.shop .content_inner .txt_wrap {
		padding: 32px 24px;
	}

	.shop .content_inner .txt_wrap .shop_address div p:first-child {
		height: 25px;
	}
}


/*------------------------------
--------------------------------
  Map 
--------------------------------
------------------------------*/
section.map {
	padding: 0;
	position: relative;
  	width: 100%;
  	height: 0;
  	padding-top: 50%;
  	border-top: 1px solid var(--frame-line);
  	border-bottom: 1px solid var(--frame-line);
}

section.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 650px) {
	section.map {
		height: 500px;
	}
}


/*------------------------------
--------------------------------
  SNS 
--------------------------------
------------------------------*/
section.sns {
	background-image: url(../img/bg_sns.jpg);
	background-repeat: repeat-y;
	background-size: 100%;
	padding-bottom: 152px;
	background-attachment: fixed;
}

section.sns .container {
	width: 634px;
	display: flex;
	flex-direction: column;
	gap: 48px;
}

section.sns .sns_container {
	padding: 0 59.5px;
}

section.sns .sns_title {
	color: var(--white);
	padding-bottom: 25px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
}

section.sns .sns_title span {
	font-kerning: none;
	font-feature-settings: 'pcap' on;
	letter-spacing: 1px;
}

section.sns .sns_title span:last-child {
	width: auto;
	height: .5px;
	background: var(--white);
	flex-grow: 1;
}

section.sns .media_box > div {
	width: 500px;
	margin: 0 auto;
}



/*facebook対応*/
.wp-block-embed-facebook .fb_iframe_widget,
.wp-block-embed-facebook .fb_iframe_widget > span {
  max-width: 100% !important;
}



@media screen and (max-width: 650px) {
	section.sns {
		background: none;
		padding-bottom: 96px;
		position: relative;
	}

	.sns .bg_fixed_inner:before {
		background-image: url(../img/bg_sns_sp.jpg);
	}

	section.sns .container {
		width: 77.8%;
		margin: 0 auto;
		gap: 32px;
	}

	section.sns .title_english {
		font-size: 4.0rem;
	}

	section.sns .sns_container {
		padding: 0;
	}

	section.sns .sns_title:after {
		width: 188px;
		top: 30%;
	}

	section.sns .sns_title {
		padding-bottom: 16px;
	}

	section.sns .media_box,
	section.sns .media_box div,
	section.sns .media_box div iframe {
		width: 100%;
	}
}