@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.6rem;
	line-height: 1;
	font-family:
	'Noto Serif JP',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #000000;
	letter-spacing: 0.1em;
	text-align: justify;
	text-justify: inter-ideograph;
}
@media screen and (max-width: 750px) {
	body {
		font-size: 1.4rem;
	}
}

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

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

/* Common：img */
img {
	max-width: 100%;
	height: auto;
}
.img-fluid {
	max-width: 100%;
	height: auto;
}
a:hover img {
  -moz-opacity: 0.7;
  opacity: 0.7;
}

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

h2,h3,h4,h5 {
	font-weight: normal;
}

/* Common：font */
strong {
	font-weight: bold;
	font-weight: 600;
}
.font_bold {
	font-weight: bold;
  font-weight: 600;
}
.txt_white {
  color: #FFF;
}
.txt_blue {
	color: #72bbd9;
}
.txt_gold01 {
	color: #917c3e;
}
.txt_gold02 {
	color: #beac7c;
}

.txt_underline {
	text-decoration: underline;
}

/*　Common：txt：カーニング */
.txt_kerning {
	font-feature-settings: "palt" 1;
}

/* Common：color */
.bg_white {
	background: #FFF;
}
.bg_gold1  {
	background: #917c3e;
}
.bg_gold2 {
	background: #beac7c;
}

.clearfix::after {
   content: "";
   display: block;
   clear: both;
}

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

	共通：コンテナ 

-------------------------------------------------- */
/* PC版で横幅いっぱいにしたい時は　container_fluidの直下にコンテンツを入れる */
.container_fluid {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  position: relative;
  margin: 0;
}
.container {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  max-width: 980px;
  width: 100%;
}
/* 左右に余白を付けたい時は　containerの直下にcontainer-innerを入れる */
.container_inner {
  margin-right: 10px;
  margin-left: 10px;
}
@media screen and (min-width: 768px) {
	.container_fluid {
		overflow: hidden;
	}
	.container_inner {
	  margin-right: 20px;
	  margin-left: 20px;
	}
	.contents {
    margin: 0 auto;
    overflow:inherit;
  }
}


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

	header 

-------------------------------------------------- */
.header {
	text-align: center;
	background: #ccc;
	position: fixed;
	z-index: 1000;
	width: 100%;
	height: 70px;
	top: 0;
	display: none;
	background: rgba(255,255,255,0.9);
}
.header .header__inner {
	height: 100%;
}
.header img {
	width: 140px;
	height: auto;
}
@media screen and (min-width: 768px) {
	.header {
		height: 83px;
	}
}


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

	ftgBanner -- フローティングバナー 

-------------------------------------------------- */
.ftgBanner {
	position: fixed;
	bottom: 0;
	z-index: 1000;
	width: 100%;
}
.ftgBanner__wrp.is_PC {
	display: none;
}
.ftgBanner__wrp .bn {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 65px;
	color: #FFF;
	font-size: 1.6rem;
	flex-direction: column;
	text-align: center;
}
.ftgBanner__wrp > li {
	flex:1;
}
.ftgBanner__wrp .is_tel {
	background: #F5BB47;
}
.ftgBanner__wrp .is_inq {
	background: #917c3e;
}
.ftgBanner__wrp .is_line {
	background: #4cc764;
}
.ftgBanner__wrp .is_insta {
	background: #ea75ab;
	letter-spacing: -0.03em;
}
.ftgBanner__wrp .bn img {
	margin-bottom: 5px;
	/* margin-right: 10px; */
}
.ftgBanner__wrp .bn01 img {
	width: 18px;
	height: auto;
}
.ftgBanner__wrp .bn02 img {
	width: 28px;
	height: auto;
}
.ftgBanner__wrp .bn03 img {
	width: 30px;
	height: auto;
}
.ftgBanner__wrp .bn04 img {
	width: 28px;
	height: auto;
}
@media screen and (min-width: 768px) {
	.ftgBanner {
		position: fixed;
		width: 70px;/*7 185px*/
		height: auto;
		right: 0;/*185px 115*/
		bottom: 70px;
		-webkit-transition: width ease-in-out 0.5s;
		-moz-transition: width ease-in-out 0.5s;
		-ms-transition: width ease-in-out 0.5s;
		-o-transition: width ease-in-out 0.5s;
		transition: width ease-in-out 0.5s;
	}
	.ftgBanner:hover {
		width: 185px;
	} 
	.ftgBanner__wrp.is_PC {
		display: block;
	}
	.ftgBanner__wrp.is_SP {
		display: none;
	}
	.ftgBanner__wrp.is_PC {
		display: flex;
		flex-direction: column;
		width: 185px;
	}
	.ftgBanner__wrp.is_PC .left {
		font-size: 1.4rem;
	}
	.ftgBanner__wrp .right {
		text-align: center;
		display: block;
		padding-right: 10px;
		color: #ffff00;
		font-size: 1.4rem;
		flex-basis:115px;
		letter-spacing: 0;
	}
	.ftgBanner__wrp .right a {
		color: #ffff00;
		height: 100%;
		cursor: pointer;
	}
	.ftgBanner__wrp .right a:hover {
		color: #FFF;
		text-decoration: none;
	}
	.ftgBanner__wrp .right .tel {
		font-size: 1.6rem;
	}
	.ftgBanner__wrp .cts_inner {
		display: flex;
		align-items: center;
		width: 100%;
	}
	.ftgBanner__wrp .bn {
		width: 70px;
		height: 70px;
		flex-direction: column;
	}
	.ftgBanner__wrp .bn img {
		display: block;
		margin-right: 0;
		margin: 0 auto 5px;
	}
	.ftgBanner__wrp .txt_white {
		font-size: 1.2rem;
		margin-top: 5px;
	}
	.ftgBanner__wrp .bn01 img {
		width: 21px;
		height: auto;
	}
	.ftgBanner__wrp .bn02 img {
		width: 28px;
		height: auto;
	}
}


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

/* inquiry --お問い合わせ

====================================================*/
@media screen and (min-width: 1800px) {
	.inquiry .br__pc { display: none; }
}
.inquiry {
	padding: 40px 15px;
	background: url(../img/inq_bg1_sp.png), url(../img/inq_bg2_sp.jpg);
	background-repeat: no-repeat;
	background-position: top right;
	background-size: 60% auto, cover;
}
.inquiry .ttl__wrp .ttl {
	text-align: left;
	max-width: 460px;
	margin: 0 auto 30px auto;
	padding: 0;
	color: #000;
	font-size: 2.0rem;
	line-height: 1.4;
	text-shadow:
	rgba(255,255,255,1.0) 1px 1px 10px, rgba(255,255,255,1.0) -1px 1px 10px,
	rgba(255,255,255,1.0) 1px -1px 10px, rgba(255,255,255,1.0) -1px -1px 10px;
}
.inquiry.is_last {
	background: url(../img/inq_bg2_sp.jpg);
	background-repeat: no-repeat;
	background-position: top right;
	background-size: cover;
	padding-bottom: 50px;
}
.inquiry.is_last .ttl__wrp .ttl {
	text-align: center;
}
@media (min-width: 768px) {
	.inquiry {
		background-size: auto auto, cover;
	}
	.inquiry .ttl__wrp .ttl {
		max-width: none;
		margin: 0 auto 0 0;
		font-size: 3.2rem;
		line-height: 1.4;
	}
}
@media (min-width: 980px) {
	.inquiry {
		padding: 40px 0;
		background: url(../img/inq_bg1_sp.png), url(../img/inq_bg2_pc.jpg);
		background-repeat: no-repeat;
		background-position: top right, left top;
		background-size: auto auto, cover;
	}
	.inquiry .ttl__wrp .ttl {
		/* text-align: center; */
		margin-bottom: 30px;
		font-size: 3.0rem;
	}
}
@media (min-width: 1800px) {
	.inquiry {
		background: url(../img/inq_bg_pc.png), url(../img/inq_bg2_pc.jpg);
		background-repeat: no-repeat;
		background-position: top 0 right 0, center top;
		background-size: auto, cover;
	}
	.inquiry .ttl__wrp .ttl {
		text-align: center;
	}
}

/*お問い合わせ 本体 */
.inquiry .inq__inner .btn_wrp > div {
	text-align: center;
	margin-right: auto;
	margin-left: auto;
}
.inquiry .inq__wrp .btn,
.doctor .btn {
	border-radius: 100vh;
	display: flex;
	margin: 0 auto;
	padding: 10px;
	justify-content: center;
	align-items: center;
	font-size: 2.4rem;
	max-width: 500px;
}
.doctor .btn {
	max-width: 320px;
}
.inquiry .webform_wrp,
.inquiry .line_wrp,
.inquiry .tel_wrp {
	margin-bottom: 20px;
}
.inquiry .tel_wrp {
	font-size: 4.0rem;
	line-height: 1.2;
}
.inquiry .tel_wrp .tel_txt1 a:link,
.inquiry .tel_wrp .tel_txt1 a:visited,
.inquiry .tel_wrp .tel_txt1 a:hover,
.inquiry .tel_wrp .tel_txt1 a:active {
	text-decoration: none;
	color: #917c3e;
}
.inquiry .tel_wrp .tel_txt2 {
	font-size: 1.4rem;
}
.inquiry .insta_wrp {
	font-size:  6.4vw;
}
.inquiry .insta_wrp span {
	display: block;
	font-size:  3.2vw;
}
.inquiry .webform_wrp a:hover,
.inquiry .line_wrp a:hover {
	color: #ffff00;
	text-decoration: none;
}
.inquiry .insta_wrp a:hover {
	color: #ded1b1;
	text-decoration: none;
}

.inquiry .btn_ico,
.doctor .btn_ico  {
	margin-right: .5em;
}
.inquiry .webform_wrp .btn_ico {
	width: auto;
	height: 37px;
}
.inquiry .line_wrp .btn_ico {
	width: 39px;
	height: auto;
}
.inquiry .tel_wrp .btn_ico {
	width: 20px;
	height: auto;
	margin-bottom: -3px;
}
.inquiry .insta_wrp .btn_ico,
.doctor .insta_wrp .btn_ico {
	width: 37px;
	height: auto;
}
.inquiry .inq__wrp .webform_bt {
	background: #beac7d;
}
.inquiry .inq__wrp .line_bt {
	background: #4cc764;
}
.inquiry .inq__wrp .insta_bt,
.doctor .insta_bt {
	background: #FFF;
	color: #917c3e;
	border: 2px solid #917c3e;
}	
.inquiry .inq__wrp .webform_bt {
	background: #917c3e;
}
@media (min-width: 768px) {
	.inquiry .inq__wrp {
		max-width: 780px;
		margin: 0 auto;
	}
	.inquiry .inq__wrp .ttl__wrp {
		margin-bottom: 30px;
	}
	.inquiry.is_last .inq__inner {
		text-align: center;
	}
	.inquiry .inq__inner .btn_wrp {
		display: flex;
		justify-content: center;
		align-items: center;
		padding-bottom: 20px;
	}
	.inquiry .inq__wrp .btn,
	.doctor .btn {
		padding: 10px 30px;
		font-size: 2.4rem;
		max-width: none;
	}
	.doctor .btn {
		margin: 100px 0 0 20px;
		max-width: 320px !important;
	}
	.inquiry .inq__wrp .webform_wrp {
		margin-right: 10px !important;
		flex-basis: 50%;
	}
	.inquiry .inq__wrp .line_wrp {
		margin-left: 10px !important;
		flex-basis: 50%;
	}
	.inquiry .webform_wrp,
	.inquiry .line_wrp,
	.inquiry .tel_wrp {
		margin-bottom: 0;
	}
	.inquiry .tel_wrp {
		font-size:  54px;
		line-height: 1.2;
		text-shadow: rgba(245,242,235,1.0) 1px 1px 10px, rgba(245,242,235,1.0) -1px 1px 10px,
 rgba(245,242,235,1.0) 1px -1px 10px, rgba(245,242,235,1.0) -1px -1px 10px;
	}
	.inquiry.is_last .tel_wrp {
		margin-bottom: 30px;
	}
	.inquiry .tel_wrp .tel_txt2 {
		font-size: 20px;
	}
	.inquiry .insta_wrp,
	.doctor .insta_wrp {
		position: relative;
		font-size: 3.2em !important;
		display: inline-block;
		text-align: left;
		z-index: 5;
	}
	.doctor .insta_wrp {
		flex: auto;
		text-align: center;
	}
	.inquiry.is_last .insta_wrp {
		margin: 0 auto;
		display: inline-block;
	}
	.inquiry .insta_wrp span,
	.doctor .insta_wrp span {
		display: block;
		font-size:  1.8rem;
	}
	.inquiry .tel_wrp .btn_ico {
		width: 25px;
		height: auto;
	}
	.inquiry .inq__wrp a.telNo {
  pointer-events: none;
  cursor: default;
}
}
@media (min-width: 980px) {
	.inquiry .inq__wrp .btn {
    padding: 12px 30px;
    font-size: 3.2rem;
    max-width: none;
    height: 70px;
  }
	.doctor .btn {
		margin: 100px -40px 0 48px;
	}
}


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

/* copyright

====================================================*/
.copyright {
  text-align: center;
  padding: 8vw 5.33vw 24vw;
  background: #615020;
  font-size: 1.4rem;
  line-height: 1.2;
}
@media (min-width: 768px) {
	.copyright {
	  padding: 40px 0;
	  font-size: 1.6rem;
	}
}


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

/* pageTop --トップへ

====================================================*/
.pageTop a {
  position: fixed;
  display: block;
  right: 15px;
  bottom: 15px;
  width: 40px;
	height: 40px;
  color: #FFF;
	background: #932b84;
  text-decoration: none;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
	z-index: 100;
}
.pageTop a::before {
	position: absolute;
	content: "";
	left: 50%;
	top:50%;
	width: 0px;
	height: 0px;
	transform: translateX(-50%) translateY(-60%);
	margin: auto;
	border-style: solid;
	border-width: 0 10px 14px 10px;
	border-color: transparent transparent #FFF transparent;
	z-index: 101;
}


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

/* animation --アニメーション

====================================================*/
.invisible {
  opacity: 0.0;
  transition: opacity 0.5s ease;
}
.visible {
  opacity: 1.0;
}
