@charset "UTF-8";
/* CSS Document */

/* =================================================*/

/* Common 

====================================================*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
.section,
summary,
time,
mark,
audio,
video {
	max-height: 999999px;
	margin: 0;
	padding: 0;
	border: 0;
	outline: none;
	vertical-align: baseline;
	background: transparent;
}

img {
	margin: 0;
	padding: 0;
	border: 0;
	outline: none;
	vertical-align: baseline;
}

body {
	position: relative;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
.section {
	display: block
}

nav ul {
	list-style: none
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: none
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	outline: none;
}

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none
}

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold
}

del {
	text-decoration: line-through
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #eee;
	margin: 1em 0;
	padding: 0
}

input,
select {
	vertical-align: middle
}

* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

picture {
	display: inline-block;
}

/* =================================================*/

/* html, body 

====================================================*/
html {
	font-size: 62.5%;
	font-size: 10px;
}

body {
	font-size: 1.4rem;
	line-height: 1;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, sans-serif;
	color: #333333;
	text-align: justify;
	text-justify: inter-ideograph;
	font-feature-settings: "palt" 1;
	position: relative;
	text-align: justify;
	background: rgb(180, 0, 0.07);
	background: linear-gradient(90deg, rgba(180, 0, 1, 0.07) 0%, rgba(185, 149, 63, 0.07) 100%);
}

@media screen and (min-width: 768px) {
	body {
		font-size: 2.8rem;
	}
}

* {
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
}

a {
	text-decoration: underline;
	color: #000;
	transition: .4s;
	cursor: pointer;
}

a:hover {
	color: #000;
}

a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";
}

.font-mincho {
	font-family: 'Noto Serif JP', 'ヒラギノ角ゴ Pro W3', 'ヒラギノ角ゴ W3', 'メイリオ', 'ＭＳ Ｐゴシック', system-ui, sans-serif;
}

/* Common：img */
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

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

/* Common：list */
ul,
ol {
	list-style: none;
}

.marker {
	display: inline;
	padding: .1em .2em;
	background: linear-gradient(rgba(255, 225, 0, 0) 60%, #eef3f6 0%);
	background: -moz-linear-gradient(rgba(255, 225, 0, 0) 60%, #eef3f6 0%);
	font-weight: bold;
}


/* --------------------------------------------------

	コンテナ 

-------------------------------------------------- */
.all_wrp {
	width: 100%;
	height: 100%;
	background-image: url(../img/bg.jpg);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: cover;
	background-attachment: fixed;
}

.container_fluid {
	width: 100%;
	overflow: hidden;
	padding-right: 0;
	padding-left: 0;
	position: relative;
}

.container {
	text-align: center;
	position: relative;
	margin-right: auto;
	margin-left: auto;
	max-width: 750px;
	width: 100%;
	background: #FFF;
	box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .1);
}


/* --------------------------------------------------

	コンテンツ

-------------------------------------------------- */
body {
	--z-index_100: 100;
	--z-index_10: 10;
	--z-index_1: 1;

	--line-h_2: 2;
	--line-h_1-5: 1.5;
}

.container>div {
	position: relative;
}

.cts_bace {
	padding: 100px 20px;
}

.price-1 {
	padding: 50px 0 0;
}

@media screen and (max-width: 749px) {
	.cts_bace {
		padding: 50px 20px;
	}

	.price-1 {
		padding: 40px 20px 0;
	}

	.price-2 {
		padding: 0 20px;
	}
}


/*  intro =================================================*/
.intro-2 {
	padding: 50px 0 60px;
	line-height: var(--line-h_1-5)
}

.intro-3 {
	padding: 0 0 50px;
	line-height: var(--line-h_1-5)
}

.intro-txt {
	text-align: left;
	padding: 40px 50px 30px;
}

.intro-txt .is_sttl {
	padding-bottom: 10px;
}

.intro-txt .is_txt {
	line-height: var(--line-h_2)
}

@media screen and (max-width: 749px) {
	.intro-2 {
		padding: 20px 0 40px;
	}

	.intro-3 {
		padding: 0 0 30px;
	}

	.intro-txt {
		text-align: left;
		padding: 30px 0 0;
	}

	.intro-txt .is_sttl {
		width: 50%;
		padding-bottom: 10px;
	}
}


/*  about =================================================*/

.about {
	background: #fff0f2;
	padding-bottom: 100px;
}

.about-2 {
	padding: 50px 0 40px;
	line-height: var(--line-h_1-5)
}

.about-txt {
	text-align: left;
	background-image: url(../img/about_img.png);
	background-repeat: no-repeat;
	background-position: right top;
	padding: 200px 70px 0;
	line-height: var(--line-h_2)
}

.about-txt1 {
	padding: 0 40% 1em 0;
}

.about-txt2 {
	padding: 0 0 40px 0;
}

@media screen and (max-width: 749px) {
	.about {
		padding-bottom: 40px;
	}

	.about-1 {
		width: 100% !important;
	}

	.about-txt {
		background-size: 95% auto;
		padding: 20vh 20px 0;
	}
}



/*  case =================================================*/

.case-1 {
	padding-bottom: 80px;
}

.case_box {
	position: relative;
	border: 2px solid #b6ab96;
	margin-bottom: 80px;
}

.case_box:last-child {
	margin-bottom: 0;
}

.case_box .case_box__inner {
	padding: 90px 50px 40px;
}

.case_box .case_box__inner:last-child {
	margin-bottom: 0;
}

.case_box .is_en {
	position: absolute;
	left: -22px;
	top: -50px;
}

.case_box .is_ttl {
	padding-bottom: 50px;
}

.case_box .is_doc-txt {
	padding: 40px 50px 40px;
	text-align: left;
	background: #f8f5ef;
	line-height: var(--line-h_2)
}

@media screen and (max-width: 749px) {
	.case_box .is_en {
		position: absolute;
		left: -22px;
		top: -30px;
		width: 60%;
	}

	.case_box .is_ttl {
		padding-bottom: 30px;
	}

	.case_box .case_box__inner {
		padding: 60px 20px 30px;
	}

	.case_box__txt img.is_sttl {
		width: 30%
	}

	.case_box .is_doc-txt {
		padding: 20px 20px 20px;
	}

	.case_box {
		margin-bottom: 50px;
	}
}



/*  cta_page =================================================*/

.lisk-price .qBox {
	text-align: center;
	margin: 60px auto 0;
	max-width: 560px;
	display: flex;
	align-items: center;
	background: #78684a;
	color: #FFF;
	padding: 30px
}

.cta_page {
	margin: 60px 0 100px;
}

.cta_page .is_ttl {
	margin-bottom: 20px;
}

.cta_page li {
	margin-bottom: 20px;
}

.cta_page li:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 749px) {
	.cta_page {
		margin: 40px 20px 40px;
	}

	.cta_page h2 img {
		width: 100%;
	}

	.cta_page li {
		margin-bottom: 10px;
	}
}

/*  lisk-price ======*/
.lisk-price .toggle {
	display: none;
}

.lisk-price .Label {
	position: relative;
	display: flex;
	width: 100%;
	padding: 0 2.5em 0 1em;
	line-height: 1.2;
	text-align: left;
}

.lisk-price .Label .icon {
	position: absolute;
	top: 50%;
	right: 30px;
}

.lisk-price .Label .icon::before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 30px;
	height: 2px;
	background-color: #FFF;
	transition: .2s;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

.lisk-price .Label .icon::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 30px;
	height: 2px;
	background-color: #FFF;
	transition: .3s;
}

.lisk-price .Label,
.lisk-price .content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.lisk-price .qBox {
	display: flex;
	align-items: center;
	background: #78684a;
	color: #FFF;
	padding: 30px;
}

.lisk-price .content {
	overflow: hidden;
	height: 0;
	line-height: 1.5;
}


.lisk-price .toggle:checked+.qBox+.content {
	height: auto;
	padding: 30px;
	transition: all .3s;
	background: #f8f5ef;
	text-align: left;
	max-width: 560px;
	margin: 0 auto;
}

.lisk-price .toggle:checked+.qBox>.Label .icon::before {
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}

.lisk-price .toggle:checked+.qBox>.Label .icon::after {
	background-color: transparent;
}

.lisk-price .content dt {
	margin-bottom: 20px;
}

.lisk-price .content dd:not(:last-child) {
	margin-bottom: 30px;
}

@media screen and (max-width: 749px) {
	.lisk-price .qBox {
		margin: 30px auto 0;
		padding: 20px;
	}

	.lisk-price {
		margin: 0 20px;
	}

	.lisk-price dt img {
	height: 30px;
	}
}



/*  point =================================================*/

.point {
	background: #fff0f2;
	padding: 0 0 100px;
}

.point-txt {
	text-align: left;
	padding: 50px 70px;
	line-height: var(--line-h_2)
}

.point-att {
	padding: 50px 0 40px;
}

.point_nomal {
	margin: 0 20px 50px;
	background: #e6edf2;
}
.point_nomal .point-pic {
	width: 80%;
}

.point_nomal-ttl {
	padding: 0 0 30px;
}

.point_nomal-txt {
	text-align: left;
	padding: 30px 50px;
	line-height: var(--line-h_1-5)
}

.point-roop01 {
	padding: 0 0 30px;
}

.point-roop02 {
	padding: 30px 0;
}

@media screen and (max-width: 749px) {
	.point {
		padding: 0 0 50px;
	}

	.point h2 img {
		width: 100%;
	}

	.point-txt {
		padding: 20px 40px;
	}

	.point_nomal-txt {
		padding: 20px 20px;
	}

	.point-pic {
		width: 80%
	}

	.point-att {
		padding: 20px 20px 30px;
	}

	.point_nomal-ttl {
		width: 100% !important;
	}

	.point-roop01,
	.point-roop02 {
		width: 90%;
	}
	.point-roop01 {
	padding: 0 0 20px;
	}
}



/*  reason =================================================*/
.reason.cts_bace {
	padding: 100px 0;
}

.reason-ttl {
	margin-bottom: 40px;
}

.reason-txt {
	text-align: left;
	padding: 40px 70px;
	line-height: var(--line-h_2)
}
.reason-txt:last-child {
	padding: 40px 70px 0;
}

@media screen and (max-width: 749px) {
	.reason.cts_bace {
		padding: 50px 0;
	}

	.reason-ttl {
		margin-bottom: 30px;
	}

	.reason-sttl {
		width: 100%;
	}
	.reason-txt {
		padding: 20px 40px;
	}
	.reason-txt:last-child {
		padding: 20px 40px 0;
	}
}



/*  flow =================================================*/

.flow {
	background: #fff0f2;
}

.flow-li {
	position: relative;
	text-align: left;
	padding-bottom: 30px;
	z-index: 2;
}

.flow-li:not(:last-child)::after {
	position: absolute;
	content: '';
	display: inline-block;
	border: 1px solid #e998a3;
	width: auto;
	height: 100%;
	left: 36px;
	top: 0;
	z-index: 1;
}

.flow-sttl {
	position: relative;
	z-index: 2;
}

.flow-txt {
	text-align: left;
	padding: 20px 0 0 100px;
	line-height: var(--line-h_1-5)
}

@media screen and (max-width: 749px) {
	.flow h2 {
		width: 50%;
		margin: 0 auto
	}

	.flow .flow-sttl img {
		width: auto !important;
		height: 40px;
	}

	.flow-li:not(:last-child)::after {
		position: absolute;
		content: '';
		display: inline-block;
		border: 1px solid #e998a3;
		width: auto;
		height: 100%;
		left: 20px;
		top: 0;
		z-index: 1;
	}

	.flow-txt {
		padding: 10px 0 0 55px;
	}
	.flow-li {
		padding-bottom: 20px;
	}
}



/*  faq =================================================*/
.faq {
	background: #f8f5ef;
}

.faq li {
	padding-bottom: 30px;
}

.faq .toggle {
	display: none;
}

.faq .Label {
	position: relative;
	display: block;
	width: 100%;
	padding: 0 2.5em 0 1em;
	line-height: 1.2;
	text-align: left;
}

.faq .Label::before {
	content: "";
	width: 20px;
	height: 20px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top: 5%;
	right: 10px;
	transform: rotate(135deg);
}

.faq .Label,
.faq .content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.faq .qBox {
	/*! font-size: 2.0rem; */
	display: flex;
	align-items: center;
	background: #78684a;
	color: #FFF;
	padding: 30px;
}

.faq .qBox h3 {
	font-weight: 400;
}

.faq .content {
	overflow: hidden;
	display: flex;
	height: 0;
	line-height: 1.7;
}

.faq .content .is_a {
	margin: .2em .5em 0;
	height: 29px;
}

.faq .content .txt_a {
	text-align: left;
}

.faq .toggle:checked+.qBox+.content {
	height: auto;
	padding: 30px 20px;
	transition: all .3s;
	border-radius: 0 0 8px 8px;
}

.faq .toggle:checked+.qBox>.Label::before {
	transform: rotate(-45deg) !important;
	top: 50%;
}

@media screen and (max-width: 749px) {
	.faq h2 {
		width: 50%;
		margin: 0 auto
	}

	.faq .qBox {
		padding: 20px;
	}

	.faq .Label::before {
		content: "";
		width: 10px;
		height: 10px;
		border-top: 2px solid #FFF;
		border-right: 2px solid #FFF;
		-webkit-transform: rotate(45deg);
		position: absolute;
		top: 5%;
		right: 10px;
		transform: rotate(135deg);
	}

	.faq li {
		padding-bottom: 10px;
	}
	.faq .toggle:checked+.qBox+.content {
	padding: 20px 10px;
	}
}




/*  menu =================================================*/

.menu-ttl {
	margin: 100px 0 60px;
}

.menu .menu_wrp {
	position: relative;
	margin-right: auto;
	margin-left: auto;
	width: 100%;
}

.menu .slick_wrp .slick-bt {
	position: relative;
	width: 30px;
	height: 30px;
	cursor: pointer;
	z-index: 25;
	transform: translateY(-50%);
}

.menu .slick_wrp .slick-bt.prev {
	position: absolute;
	top: 28%;
	left: 13px;
}

.menu .slick_wrp .slick-bt.next {
	position: absolute;
	top: 28%;
	right: calc(50px + 23px);
}

.menu .slick_wrp .slick-bt.prev::before,
.menu .slick_wrp .slick-bt.next::before {
	position: absolute;
	content: "";
	display: block;
	left: 16px;
	top: 15px;
	width: 50px;
	height: 50px;
	border-top: 2px solid #78684a;
	border-right: 2px solid #78684a;
}

.menu .slick_wrp .slick-bt.prev::before {
	-webkit-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.menu .slick_wrp .slick-bt.next::before {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	left: 12px;
}

.slick-slide {
	margin-right: 0px !important;
	margin-left: 0px !important;
	/*! overflow: visible; */
	/*width: auto !important;*/
}

.slick-slide li {
	position: relative;
	text-align: left;
}

.slick-slide li .menu-ttl {
	position: absolute;
	left: -20px;
	top: -50px;
}

.slick-slide li .menu-img {
	margin: 0 auto;
	transform: translateX(-15px);
}

@media screen and (max-width: 749px) {
	.menu-ttl {
		margin: 50px 0;
	}

	.menu .slick_wrp .slick-bt.prev::before,
	.menu .slick_wrp .slick-bt.next::before {
		position: absolute;
		content: "";
		display: block;
		left: 16px;
		top: 15px;
		width: 40px;
		height: 40px;
		border-top: 2px solid #78684a;
		border-right: 2px solid #78684a;
	}

	.slick-slide {
		margin-right: 10px !important;
		margin-left: 10px !important;
		/*! overflow: visible; */
		/*width: auto !important;*/
	}

	.menu .slick_wrp .slick-bt.prev {
		position: absolute;
		top: 28%;
		left: 5px;
	}

	.menu .slick_wrp .slick-bt.next {
		position: absolute;
		top: 28%;
		right: calc(50px);
	}

}

/*  ad =================================================*/
.ad-img {
	padding: 60px 20px 0;
}
@media screen and (max-width: 749px) {
	.ad-img {
		padding: 40px 20px 20px;
	}
}


/*  clinic =================================================*/
.clinic {
	padding: 100px 0 0;
}

.clinic-ttl {
	padding-bottom: 60px;
}

.clinic-img2 {
	padding: 0;
}

.clinic .bg_txt {
	background: #eef3f6;
	padding: 40px 70px 100px;
	text-align: left;
}

.clinic .bg_txt h3 {
	padding-bottom: 30px;
}

.info-cmn {
	border-top: 1px solid #BEBEBE;
	padding-top: 30px;
	text-align: left;
}

.info-cmn dl {
	display: flex;
	line-height: 1.6;
	border-bottom: 1px solid #BEBEBE;
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.info-cmn dl dt {
	width: 150px;
	text-align: left;
	flex-shrink: 0;
	color: #5685a8;
	font-weight: bold;
}

@media screen and (max-width: 749px) {
	.clinic h2 img {
		width: 50%;
	}

	.clinic-ttl {
		padding-bottom: 40px;
	}

	.clinic .bg_txt {
		padding: 20px 30px 50px;
	}

	.clinic .bg_txt h3 {
		padding-bottom: 20px;
	}

	.clinic .bg_txt h3 img {
		width: 30%;
	}

	.info-cmn {
		padding-top: 20px;
	}

	.info-cmn dl {
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.info-cmn dl dt {
		width: 80px;
	}
}



/*  docter =================================================*/
.docter-ttl {
	padding-bottom: 60px;
}

.docter-img {
	padding-bottom: 40px;
}

.docter-txt {
	text-align: left;
	padding: 0 50px 50px 50px;
	line-height: var(--line-h_2)
}

.docter-medal-ttl {
	padding: 0 0 30px 0;
}

@media screen and (max-width: 749px) {
	.docter h2 img {
		width: 50%;
	}

	.docter-ttl {
		padding-bottom: 30px;
	}

	.docter-img {
		padding-bottom: 20px;
	}

	.docter-txt {
		padding: 0 20px 20px 20px;
	}
}



/*  access =================================================*/
.access {
	background: #f8f5ef;
}

.access-ttl {
	padding-bottom: 60px;
}

.access-txt {
	margin: 0 50px;
}

.access-link a {
	background: #5685a8;
	padding: 20px;
	color: #FFF;
	display: inline-block;
	text-decoration: none;
}

.access-link a {
	background: #5685a8;
	padding: 20px;
	color: #FFF;
	display: inline-block;
	text-decoration: none;
}

.access-link a:link {
	background: #5685a8;
}

.access-link a:visited {
	background: #5685a8;
}

.access-link a:hover {
	opacity: 0.7;
}

.access-link a:active {
	background: #5685a8;
}

.access-link {
	margin: 0 50px 30px 0;
	float: right;
}

.access .map iframe {
	padding: 0 50px;
	width: 100%;
	height: 600px;
}

@media screen and (max-width: 749px) {
	.access h2 {
		width: 40%;
		margin: 0 auto;
	}

	.access-ttl {
		padding-bottom: 40px;
	}

	.access-txt {
		margin: 0 20px;
	}

	.access .map iframe {
		padding: 0 20px;
		height: 400px;
	}
	.access-link {
		margin: 0 20px 30px 0;
	}
}

/*  copyright =================================================*/
.copyright {
	font-size: 1.6rem;
	padding: 50px 0 220px;
}

@media screen and (max-width: 749px) {
	.copyright {
		font-size: 1.2rem;
		padding: 20px 0 120px;
	}
}

/* SP */
@media screen and (max-width: 749px) {

	h2 img,
	h3 img {
		width: 80%;
	}

	.sp-img {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}
}


/* =================================================*/

/* ftgBanner
  
  ====================================================*/
.ftgBanner {
	position: fixed;
	bottom: 0;
	z-index: 1000;
	width: 100%;
	background: rgba(255, 240, 242, 0.8);
}

.ftgBanner__wrp {
	display: flex;
	max-width: fit-content;
	margin: 0 auto;
	gap: 20px;
	padding: 20px;
}

@media screen and (max-width: 749px) {
	.ftgBanner__wrp {
		gap: 10px;
		padding: 10px;
	}
}


/* 
  hamburger
  =================================== */
.hamburger {
	position: fixed;
	right: 30px;
	top: 30px;
	width: 60px;
	height: 60px;
	cursor: pointer;
	z-index: 1200;
}

.hamburger__line {
	position: absolute;
	width: 60px;
	height: 4px;
	right: 0;
	background-color: #2d759b;
	transition: all 0.5s;
}

.hamburger__line--1 {
	top: 1px;
}

.hamburger__line--2 {
	top: 20px;
	width: 45px;
}

.hamburger__line--3 {
	top: 40px;
	width: 30px;
}

.open .hamburger__line--1 {
	transform: rotate(-45deg);
	top: 11px;
}

.open .hamburger__line--2 {
	opacity: 0;
}

.open .hamburger__line--3 {
	transform: rotate(45deg);
	width: 60px;
	top: 11px;
}

@media screen and (max-width: 749px) {
	.hamburger {
		position: fixed;
		right: 20px;
		top: 20px;
		width: 40px;
		height: 40px;
	}

	.hamburger__line {
		position: absolute;
		width: 40px;
		height: 3px;
	}

	.hamburger__line--1 {
		top: 1px;
	}

	.hamburger__line--2 {
		top: 15px;
		width: 30px;
	}

	.hamburger__line--3 {
		top: 30px;
		width: 20px;
	}
	.open .hamburger__line--3 {
		transform: rotate(45deg);
		width: 40px;
		top: 11px;
	}
}

/* 
	sp-nav
	=================================== */
.sp-nav {
	position: fixed;
	right: -100%;
	top: 0;
	width: 100vw;
	padding: 50px 50px 0;
	height: 100vh;
	background-color: rgba(255, 255, 255, 0.9);
	transition: all 0.5s;
	z-index: 1100;
	overflow-y: auto;
}

.open .sp-nav {
	right: 0;
}

.sp-nav .nav_cta_bt {
	padding-bottom: 40px;
}

.sp-nav .nav_cta_bt li:not(:last-child) {
	padding-bottom: 20px;
}

.sp-nav .nav_cta_bt a:hover {
	opacity: 0.6;
}

.sp-nav .nav_link p {
	padding-bottom: 30px;
}

.sp-nav .nav_anker {
	font-size: 2.4rem;
	margin: 0 auto 30px;
	padding: 10px 0 ;
	border-top: 2px solid #b6ab96;
	border-bottom: 2px solid #b6ab96;
	max-width: 640px;
}
.sp-nav .nav_anker li {
	position: relative;
	text-align: left;
	padding: 20px 0 ;
	border-bottom: 1px solid #b6ab96;
}
.sp-nav .nav_anker li:last-child {
	border-bottom: none;
}
.sp-nav .nav_anker li span {
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	color: #78684a;
}
@media screen and (max-width: 749px) {
	.sp-nav .nav_cta_bt {
		padding-bottom: 20px;
	}
	.sp-nav .nav_cta_bt li:not(:last-child) {
		padding-bottom: 10px;
	}
	.sp-nav .nav_link p {
	padding-bottom: 10px;
	}
	.sp-nav .nav_link p:last-child {
	padding-bottom: 30px;
	}
	.sp-nav .nav_anker {
	font-size: 1.2rem;
	padding: 0 0 ;
	border-top: 2px solid #b6ab96;
	border-bottom: 2px solid #b6ab96;
	}
	.sp-nav .nav_anker  li {
		padding: 15px 0 ;
		border-bottom: 1px solid #b6ab96;
	}
	.sp-nav .nav_anker li span {
	right: 0;
	}
}

.sp-nav a {
	text-decoration: none;
}

.sp-nav a:link {
	text-decoration: none;
}

.sp-nav a:visited {
	text-decoration: none;
}

.sp-nav a:hover {
	opacity: 0.6;
}

.sp-nav a:active {
	text-decoration: none;
}

.material-symbols-outlined {
	margin-left: .5em;
	font-variation-settings:
		'FILL' 0,
		'wght' 300,
		'GRAD' 0,
		'opsz' 24
}

/* =================================================*/
/* スクロールモーダル */
/* =================================================*/
.scroll-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease-in-out;
}

.scroll-modal.show {
	opacity: 1;
	visibility: visible;
}

.modal-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.modal-content {
	position: relative;
	background: #fff;
	border-radius: 10px;
	max-width: 90%;
	max-height: 90%;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
	transform: scale(0.7);
	transition: transform 0.3s ease-in-out;
}

.scroll-modal.show .modal-content {
	transform: scale(1);
}

.modal-close {
	position: absolute;
	top: 10px;
	right: 15px;
	width: 30px;
	height: 30px;
	background: #333;
	color: #fff;
	border: none;
	border-radius: 50%;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	z-index: 10;
	transition: background 0.2s ease;
}

.modal-close:hover {
	background: #666;
}

.modal-banner {
	display: block;
	width: 100%;
	height: auto;
}

.banner-image {
	width: 100%;
	max-width: 520px;
	height: auto;
	display: block;
}

.banner-link {
	display: block;
	cursor: pointer;
	text-decoration: none;
}



/* レスポンシブ対応 */
@media screen and (max-width: 749px) {
	.modal-content {
		max-width: 95%;
		max-height: 95%;
	}
	
	.modal-close {
		top: 8px;
		right: 12px;
		width: 25px;
		height: 25px;
		font-size: 16px;
	}
	.banner-image {
		max-width: 320px;
	}
}