@charset "utf-8";
/*------------------------------------------------------------------------------
Css name: common.css
Css info: 共通スタイル
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------
基本
--------------------------------------------------------------------------*/
*{
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}

html{
	box-sizing: border-box;
	overflow-y: scroll;
	font-size: 62.5%;
}

body{
	min-height:100%;
	width:100%;
	margin:0 auto;
	padding:0px;
	position: relative;
	font-family: -apple-system, BlinkMacSystemFont, "Original Yu Gothic", "Yu Gothic", YuGothic, Meiryo, sans-serif;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	letter-spacing: 0.01em;
	font-weight: 400;
	font-style:normal;
	color:#393939;
	font-size:1.6rem;
	-ms-word-wrap: break-word;
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
}
@media all and (-ms-high-contrast: none)  {
  body {
    font-family: Verdana, Meiryo, sans-serif;
  }
}
@media all and (-ms-high-contrast: active) {
  body {
    font-family: Verdana, Meiryo, sans-serif;
  }
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

p{
	line-height:1.8;
	letter-spacing: 0.03em;
}

table, th, td, th {
	border-collapse: collapse;
	border-spacing: 0;
	font-weight: normal;
	font-size:1em;
}

table,div,ol,ul,dl,dt,dd{
	margin:0px;
	padding:0px;
}
li{
	list-style: none;
}

textarea,input{
	font-size:1em;
}

h1,h2,h3,h4,h5,h6,small{
	font-weight: normal;
	font-size:100%;
	line-height:100%;
	margin:0;
	padding:0;
}
h1,h2,h3,h4,h5,h6{
	line-height: 1.4;
}
pre {
	white-space: pre-wrap ;/* 折り返し */
}
em,strong{
	font-weight: normal;
	font-style: normal;
}
address{
	font-style: normal;
}
img,table {
	border:none;
}

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

a{		/* テキストリンク */
	color:#222222;
	text-decoration:none;
	background-color: transparent;
	transition: .3s;
}
a:active,
a:hover{		/* テキストリンク */
	color: inherit;
	text-decoration:none;
	outline-width: 0;
}

a:hover img{		/* 画像リンク */
	/*opacity:0.8;
	filter: alpha(opacity=80);*/
}
.link_u_line{
	border-bottom: 1px dotted #222222;
	padding-bottom: 2px;
	transition: .3s;
}
	.link_u_line:hover{
		border-bottom: 1px dotted  transparent;
	}

.mobi_o{ display: none; }

/* 回り込みの解除 */
.cf:after {
	content:" ";
	display:block;
	clear:both;
}

/* テキスト反転
::-moz-selection {
	background-color: #ffd64b;
	text-shadow: 1px 1px 0px #fff;
}
::selection {
	background-color: #ffd64b;
	text-shadow: 1px 1px 0px #fff;
} */

@media only screen and (max-width: 600px) {
	p{
		line-height:1.6;
	}
	.mobi_o{ display: block; }
}
/*------------------------------------------------------------------------
グローバルナビ
--------------------------------------------------------------------------*/
.header{
	position: relative;
}
.header .inner{
	position: relative;
}

@media screen and (max-width: 600px) {
	.header{
	}
		.header .inner{
		}
}
/* ロゴ ------------------------------------*/
.header_logo{
	position: absolute;
	top: 32px;
	left: 40px;
}
	.header_logo a:hover{
		opacity: 0.7;
	}
@media screen and (max-width: 600px) {
	.header_logo{
		top: 18px;
		left: 4%;
	}
	.header_logo img{
	}
}
/* heroimage ------------------------------------*/
.hero_area{
	position: relative;
	padding: 10px 10px 0;
	z-index: -1;
}
	.hero_area img{
		display: block;
		width: 100%;
		border-radius: 10px;
		box-shadow: 1px 1px 1px rgba(0,0,0,0.15);
	}

/* メニュー ------------------------------------*/
.gNav{
	pointer-events: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
    display: block;
    width: 100%;
    min-height: 100vh;
	transition: all 0.4s ease;
	opacity: 0;
	margin: 0;
	padding: 60px 10% 30px;
	background: rgba(255, 255, 255, 0.95);
	overflow-y: scroll;
	z-index: 100;
}
.gNav ul{
	max-width: 400px;
	margin: 0 0 0 auto;
	background: transparent;
	border-top: 1px solid #808080;
}
	.gNav ul li.page_nav_home{ /* ホーム　非表示 */
		display: block;
	}
	.gNav ul .page_nav{
		flex-basis: 100%;
		display: block;
		height: auto;
		margin: 0;
		border-bottom: 1px solid #808080;
	}
	.gNav ul .page_nav a{
		display: block;
		width: 100%;
		height: 100%;
		color: #64c4d0;
		padding: 14px 0 14px 36px;
		line-height: 1.4em;
		text-align: left;
		font-size: 1.8rem;
		background: url(../img/common/tit_mark.png) left center no-repeat;
		background-size: 26px 12px;
	}
		.gNav ul .page_nav a::after {
			content: none;
		}
		.gNav ul .page_nav a:hover{
			background: #ffeae5 url(../img/common/tit_mark.png) left center no-repeat;
			background-size: 26px 12px;
		}
	.gNav ul li.page_nav_trial{/* 体験案内 */
		margin-top: 30px;
		border-bottom: none;
	}
	.gNav ul li.page_nav_trial a{
		width: 100%;
		padding: 18px 0;
		text-align: center;
		background: #50d2c3;
		background-size: 32px 36px;
		border-radius: 4em;
		letter-spacing: 0.05em;
	}

.gNav_contact{
	max-width: 400px;
	margin: 0 0 0 auto;
}
.gNav_contact .gNav_tel{
	text-align: center;
}
.gNav_contact .gNav_tel_free{
	margin-top: 30px;
}
.gNav_contact .gNav_tel_fix{
	margin-top: 16px;
}
	.gNav_contact .gNav_tel a{
		padding: 10px 0;
	}
.gNav_tel_time{
	margin-top: 24px;
	line-height: 1.4;
	font-size: 1.4rem;
	text-align: center;
}
	.gNav_tel_time span{
		display: block;
		width: 80px;
		padding: 4px 0;
		margin: 0 auto 4px;
		text-align: center;
		border: 1px solid #1e1e1e;
	}
/* スライドアニメーション ------------------------------------*/
.open .gNav{
    opacity: 1;
	pointer-events: initial;
}
/* Toggle Button ------------------------------------*/
#nav-toggle {
	display: block;
    position: fixed;
    right: 0;
    top: 10px;
    width: 80px;
    height: 80px;
    padding: 20px 16px;
    background: transparent;
    cursor: pointer;
    z-index: 101;
    transition: .3s;
    background: rgba(255,255,255,0.8);
    border-radius: 2px;
}

#nav-toggle:hover{
    opacity: 0.8;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 6px;
    width: 100%;
    background: #ff967c;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 0;
}
#nav-toggle span:nth-child(2) {
    top: 16px;
}
#nav-toggle span:nth-child(3) {
    top: 32px;
}
/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
    top: 16px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
}
.open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
}
.open #nav-toggle span:nth-child(3) {
    top: 16px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
@media only screen and (max-width: 600px) {
	#nav-toggle {
	    right: 5px;
	    top: 5px;
	    width: 51px;
	    height: 51px;
	    padding: 10.5px 10px;
	    cursor: pointer;
	    z-index: 101;
	    background: rgba(255,255,255,0.8);
	}
	#nav-toggle span {
	    height: 4px;
	    width: 100%;
	}
	#nav-toggle span:nth-child(2) {
	    top: 11px;
	}
	#nav-toggle span:nth-child(3) {
	    top: 22px;
	}
	/* #nav-toggle 切り替えアニメーション */
	.open #nav-toggle span:nth-child(1) {
	    top: 11px;
	    -webkit-transform: rotate(135deg);
	    -moz-transform: rotate(135deg);
	    transform: rotate(135deg);
	}
	.open #nav-toggle span:nth-child(3) {
	    top: 11px;
	    -webkit-transform: rotate(-135deg);
	    -moz-transform: rotate(-135deg);
	    transform: rotate(-135deg);
	}
}
/*------------------------------------------------------------------------
こんなお悩みありませんか
--------------------------------------------------------------------------*/
.trouble_area{
	max-width: 90%;
	margin: -274px auto 0  ;
	z-index: 1;
}
	.trouble_tit{
		margin-left: 5%;
	}
	.trouble_list{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 12px;
	}
		.trouble_list li{
			width: 160px;
			height: auto;
			margin: 0 10px;

		}
			.trouble_list li img{
				display: block;
				width: 100%;
				height: auto;
				border-radius: 50%;
				border: solid 2px #64c4d0;
				background: #fff;
			}
@media only screen and (max-width: 950px) {
	.trouble_area{
		margin: -150px auto 0  ;
	}
		.trouble_tit{
			max-width: 45%;
			margin-left: 0%;
		}
}
@media only screen and (max-width: 600px) {
	.trouble_area{
		max-width: 90%;
		margin: -90px auto 0;
	}
		.trouble_tit{
			max-width: 60%;
		}
		.trouble_list{
			margin-top: 2px;
		}
			.trouble_list li{
				max-width: 45%;
				margin: 0 2.5% 10px;
			}
}

/* こんな癖はありませんか ---------------------------*/
.habit_area{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

	width: 800px;
	max-width: 90%;
	margin: 60px auto 96px;
	padding: 40px 40px 32px;
	background: #64c4d0;
	border-radius: 4px;
}
	.habit_title{
		font-family: 'M PLUS Rounded 1c', sans-serif;
		font-weight: 500;
		font-size: 3.1rem;
		color: #fff;
		line-height: 1.4;
		letter-spacing: -0.05em;
	}
	.habit_title::before{
		display: block;
		content: "";
		width: 200px;
		height: 6px;
		margin-bottom: 10px;
		background: #fffb65;
	}
	.habit_title::after{
		display: block;
		content: "";
		width: 200px;
		height: 15px;
		margin: 20px 0 0;
		background: url(../img/trouble/under.png) center center no-repeat;
	}
		.habit_title span{
			font-size: 1.4em;
			padding: 0 8px;
		}
	.habit_list{
		display: flex;
		flex-wrap: wrap;
	}
		.habit_list li{
			position: relative;
			width: 200px;
		}
		.habit_list li + li{
			margin-left: 20px;
		}
			.habit_list li img{
				display: block;
				width: 100%;
				height: auto;
				border-radius: 50%;
			}
			.habit_list p{
				position: absolute;
				bottom: 20px;
				left: 0;

				width: 100%;
				font-family: 'M PLUS Rounded 1c', sans-serif;
				font-weight: 500;
				font-size: 1.7rem;
				color: #fff;
				line-height: 1;
				letter-spacing: -0.01em;
				text-align: center;
			}
	.habit_txt{
		width: 100%;
		margin-top: 36px;
		font-family: 'M PLUS Rounded 1c', sans-serif;
		font-weight: 500;
		font-size: 4.3rem;
		text-align: right;
		color: #fff;
		line-height: 1.4;

	}
	.br_sp{
		display: none
	}
@media only screen and (max-width: 830px) {
	.habit_area{
		padding: 30px 30px 20px;
	}

		.habit_list{
			justify-content: space-between;
			width: calc( 100% - 200px - 5%) ;
		}
			.habit_list li{
				position: relative;
				width: 47%;
			}
			.habit_list li + li{
				margin-left: 0;
			}
				.habit_list p{
					font-size: 1.6rem;
					line-height: 1.4;
				}
		.habit_txt{
			margin-top: 28px;
			font-size: 3.6rem;
		}
}
@media only screen and (max-width: 600px) {
	.habit_area{
		margin: 40px auto 60px;
		padding: 20px 5%;
	}
		.habit_title{
			width: 100%;
			font-size: 2.6rem;
			text-align: center;
		}
		.habit_title::before{
			margin: 0 auto 6px;
		}
		.habit_title::after{
			width: 100%;
			height: 15px;
			margin: 10px 0 0;
		}
		.habit_list{
			width: 100%;
			margin-top: 26px;
		}
				.habit_list li img{
				}
				.habit_list p{
					position: relative;
					bottom: 0;
					left: 0;
					margin-top: 8px;
				}
		.habit_txt{
			margin-top: 28px;
			font-size: 2.6rem;
			text-align: center;
		}
		.br_sp{
			display: block;
		}
}

/* マウスピース矯正で様々なタイプの歯並びを改善することができます ---------------------------*/
@media screen and (min-width:1800px) {
	.merit_wrap{
		background: url(../img/merit/merit01.jpg) right center no-repeat;
		background-size: contain;
	}
}
.merit_wrap{
	background: url(../img/merit/merit01.jpg) right center no-repeat;
	background-size: 53% auto;
}
.merit_area{
	width: 900px;
	max-width: 90%;
	margin: -20px auto 100px;
	padding-top: 20px;
}
.merit_tit{
		font-family: 'M PLUS Rounded 1c', sans-serif;
		font-weight: 800;
		font-size: 4.3rem;
		color: #ff967c;
		line-height: 1.4;
		letter-spacing: -0.01em;
}
	.merit_list{
		margin-top: 32px;
	}
		.merit_list li{
			position: relative;
			padding-left: 4.4rem;
			font-family: 'M PLUS Rounded 1c', sans-serif;
			font-weight: 800;
			font-size: 2.2rem;
			color: #46bec8;
			line-height: 1.8;
			text-shadow: 1px 1px 0 rgba(255,255,255,1);
		}
		.merit_list li + li{
			margin-top: 16px;
		}
		.merit_list li::before{
			position: absolute;
			top: 8px;
			left: 0;

			display: block;
			content: "";
			width: 33px;
			height: 25px;
			background: url(../img/common/ico_check.png) no-repeat;
			background-size: cover;
		}

	.merit_txt{
		margin-top: 32px;
		width: 450px;
		max-width: 100%;
		text-shadow: 1px 1px 0 rgba(255,255,255,1);
	}
		.mark{
			background: linear-gradient(transparent 50%,#fffb65 0%);
		}
	.merit_area h3{
		margin: 64px 0 32px;
		font-family: 'M PLUS Rounded 1c', sans-serif;
		font-weight: 800;
		font-size: 3.1rem;
		color: #ff967c;
		line-height: 1.4;
	}
		.merit_txt_l{
			width: 100%;
		}
	.cover_nots{
		display: flex;
		flex-wrap: wrap;

		width: 100%;
		margin-top: 1em;
		padding: 1em 2em;
		text-shadow: 1px 1px 0 rgba(255,255,255,1);
		background: #fffb65;
		border-radius: 3em;
	}
		.cover_nots h4{
			margin-right: 2em;
			padding: 0.2em 0 0.2em 26px;
			line-height: 1.8;
			color: #ff8769;
			font-weight: 700;
			background: url(../img/common/ico_notes.png) left center no-repeat;
			background-size: 20px auto;
		}
		.cover_nots p{
			padding: .2em 0;
		}
@media only screen and (max-width: 600px) {
.merit_wrap{
	background: none;
}
	.merit_area{
		width: 100%;
		max-width: 90%;
		margin: -20px auto 48px;
		background: none;
		}
	.merit_tit{
			font-size: 3.0rem;
	}
		.merit_tit br{
			display: none;
		}
			.merit_list li{
				line-height: 1.6;
			}
		.merit_txt__img::after{
			display: block;
			content: "";
			width: 100%;
			padding-top: 64.3%;
			margin-top: 1em;
			background: url(../img/merit/merit01_sp.jpg) no-repeat;
			background-size: contain;
		}
		.merit_area h3{
			margin: 44px 0 24px;
			font-size: 2.6rem;
		}
		.cover_nots{
			padding: 1em 1em;
			border-radius: 1em;
		}
}
/*------------------------------------------------------------------------
共通項目
--------------------------------------------------------------------------*/
.bg_red{
	margin: 0 10px;
	border-radius: 10px;
	background: url(../img/common/bg_red.png) center top;
}
/* 見出し */
.content_tit_arch,
.content_tit_arch_r{
	width: 294px;
	height: 81px;
	margin: 0 auto;
	padding-top: 48px;
	text-align: center;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 800;
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: -0.02em;
}
.content_tit_arch{
	color: #ff967c;
	background: url(../img/common/content_tit_arch.png) no-repeat;
	background-size: cover;
}
.content_tit_arch_r{
	color: #fff;
	background: url(../img/common/content_tit_arch_r.png) no-repeat;
	background-size: cover;
}
.content_tit,
.content_tit_w{
	margin: 54px 0 60px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 800;
	font-size: 3.1rem;
	letter-spacing: -0.01em;
	text-align: center;
}
.content_tit{
	color: #46bec8;
}
.content_tit_w{
	color: #fff;
}
.content_tit::after,
.content_tit_w::after{
	content: "";
	display: block;
	width: 68px;
	height: 30px;
	margin: 12px auto 0;
}
.content_tit::after{
	background: url(../img/common/ico_smile.png) center top no-repeat;
	background-size: contain;
}

.content_tit_w::after{
	background: url(../img/common/ico_smile_w.png) center top no-repeat;
	background-size: contain;
}
@media only screen and (max-width: 600px) {
	.content_tit,
	.content_tit_w{
		margin: 44px 0 40px;
		font-size: 2.6rem;
	}
	.content_tit::after,
	.content_tit_w::after{
		margin: 18px auto 0;
	}
}


/* 無料相談 ---------------------------*/
.contact_area{
	position: relative;
	z-index: 1;
	width: 1000px;
	max-width: 100%;
	margin: 0 auto 40px;
}
	.contact_txt{
		padding-left: 25%;
		font-family: 'M PLUS Rounded 1c', sans-serif;
		font-weight: 800;
		font-size: 2.2rem;
		color: #3a4d5b;
		line-height: 1.4;
	}
	.contact_box{
		display: flex;
		flex-wrap: wrap;
		align-items: center;

		position: relative;
		z-index: -2;
		padding: 20px 0;
		background: rgb(0,198,251);
		background: #57bd93;
		border-radius: 2px;
	}
		.contact_tit{
			position: absolute;
			top: -80px;
			left: 4%;
			width: 19%;
			height: auto;
		}
		.contact_logo{
			position: absolute;
			bottom: 30px;
			left: 2.5%;
			width: 18.8%;
		}

		.contact_tel_box{
			margin-left: 25%;
			width: 40%;
		}
			.contact_tel_box p{
				text-align: right;
				line-height: 1;
			}
			.contact_tel_free{
				margin-bottom: 1em;
			}
			.contact_tel_time{
				display: flex;
				flex-wrap: wrap;
				align-items: flex-start;

				margin-top: 10px;
			}
				.contact_tel_time dt{
					padding: 4px 0;
					margin-right: 8px;
					width: 66px;
					text-align: center;
					font-size: 1.4rem;
					font-weight: bold;
					color: #ff967c;
					background: #fff;
				}
				.contact_tel_time dd{
					padding-top: 4px;
					font-size: 1.5rem;
					color: #fff;
					line-height: 1.3;
				}
		.contact_web{
			width: 28%;
			margin: 0 3.2% 0 auto;

		}
			.contact_web a{
				position: relative;
				display: block;
				width: 100%;
				height: 100%;
				padding: 32px 0 32px 5%;
				font-family: 'M PLUS Rounded 1c', sans-serif;
				font-weight: 800;
				font-size: 2.3rem;
				color: #fff;
				border: 3px solid #fff;
				border-radius: 2px;
				background: #ffaf9b;
			}
			.contact_web a::after{
				position: absolute;
				top: 50%;
				right: 0;

				content: "";
				width: 10%;
				height: 3px;
				background: #fff;
				transition: .3s;
			}
			.contact_web a:hover{
				background: #ffbfaf;
			}
			.contact_web a:hover::after{
				width: 8%;
			}
@media only screen and (max-width: 930px) {
		.contact_box{
		}
			.contact_tit{
				position: absolute;
				top: -80px;
				left: 4%;
				width: 19%;
				height: auto;
			}
			.contact_logo{
				top: 20px;
				left: auto;
				right: 5%;
				width: 188px;
			}

			.contact_tel_box{
				margin: 44px 0 0 5%;
				width: 50%;
			}

			.contact_web{
				width: 35%;
				margin: 44px 5% 0 auto;

			}
}
@media only screen and (max-width: 600px) {
		.contact_txt{
			padding: 0 5% 0 30%;
			margin-bottom: 8px;
			font-size: 1.8rem;
		}
		.contact_box{
			display: flex;
			flex-wrap: wrap;
			align-items: center;

			padding: 20px 0 64px;
		}
			.contact_tit{
				top: -60px;
				left: 2%;
				width: 25%;

			}
			.contact_logo{
				top: auto;
				bottom: 16px;
				left: 50%;
				width: 160px;
				margin-left: -80px;
			}

			.contact_tel_box{
				margin: 10px auto;
				width: 90%;
			}
				.contact_tel_box p{
					margin: 90%;
					margin: 0 auto;
				}
				p.contact_tel_free{
					margin-bottom: 1em;
				}
				.contact_tel_time{
					margin-top: 6px;
				}
					.contact_tel_time dt{
						padding: 2px 0.5em;
						margin-right:0;
						width: auto;
					}
					.contact_tel_time dd{
						width: 100%;
					}
			.contact_web{
				width: 80%;
				margin: 10px auto 0;
			}
				.contact_web a{
					padding: 16px 0 16px 5%;
				}
}
/*------------------------------------------------------------------------
マウスピース矯正のポイント
--------------------------------------------------------------------------*/
.point_area{
	width: 900px;
	max-width: 90%;
	margin: 80px auto 0;
}
.point_box::after{
	display: block;
	content: "";
	margin : 60px 0;
	width: 100%;
	height: 10px;
	background: #fffb65;
	border-radius: 4px;
}
	.point_list{
		width: 800px;
		max-width: 100%;
		margin: 0 auto;
	}
		.point_list li{
			position: relative;
			padding-left: 44px;
			font-family: 'M PLUS Rounded 1c', sans-serif;
			font-size: 2.2rem;
			line-height: 1.6;
			letter-spacing: -0.02em;
			text-shadow: 1px 1px 0 rgba(255,255,255,1);
		}
		.point_list li + li{
			margin-top: 18px;
		}
		.point_list li::before{
			position: absolute;
			top: 6px;
			left: 0;

			display: block;
			content: "";
			width: 33px;
			height: 25px;
			background: url(../img/common/ico_check.png) no-repeat;
			background-size: cover;
		}
	.point_inner{
		display: flex;
		flex-wrap: wrap;
		justify-content:space-between;
		align-items: center;

		width: 800px;
		max-width: 100%;
		margin: -20px auto 0;
	}
		.point_list_s{
			max-width: 55%;
			margin: 0;
		}
		.point_img{
			display: block;
			width: 37.5%;
			border-radius: 50%;
		}
	.point_box p{
		text-align: center;
		font-family: 'M PLUS Rounded 1c', sans-serif;
		font-weight: 500;
		font-size: 2.2rem;
		line-height: 1.6;
		margin-bottom: 60px;
	}
	.point_list_face{
		display: flex;
		flex-wrap: wrap;
		flex-wrap: wrap;

		width: 100%;
		margin: 0 auto;
	}
		.point_list_face li{
			position: relative;

			width: calc( 100% / 3);
			margin-bottom: 40px;
			padding: 0 1em 0 48px;
			font-family: 'M PLUS Rounded 1c', sans-serif;
			font-weight: 800;
			font-size: 2.0rem;
			letter-spacing: -0.02em;
		}
		.point_list_face li::before{
			position: absolute;
			top: -6px;
			left: 0;

			display: inline-block;
			content: "";
			width: 38px;
			height: 38px;
			background: url(../img/point/ico_point.png) left 0px top 0px no-repeat;
			background-size: 38px 38px;
		}
@media only screen and (max-width: 900px) {
		.point_list_face li{
			width: calc( 100% / 2);
		}
}
@media only screen and (max-width: 600px) {
	.point_box::after{
		margin : 40px 0;
		border-radius: 4px;
	}
			.point_list li{
				padding-left: 36px;
				font-size: 1.8rem;
				line-height: 1.4;
			}
			.point_list li::before{
				top: 0;
				left: 0;

				width: 29px;
				height: 22px;
			}
		.point_inner{
			display: block;
			flex-direction: column;
			justify-content:center;

			margin: 0 auto 0;
		}
			.point_list_s{
				max-width: 100%;
				margin: 0;
			}
			.point_img{
				width: 70%;
				margin: 24px auto 0;
			}
		.point_box p{
			font-size: 1.8rem;
			line-height: 1.6;
			margin-bottom: 30px;
			text-align: left;
		}
		.point_list_face{
			display: block;

			width: 90%;
			margin: 0 auto;
		}
			.point_list_face li{
				width: 100%;
				margin-bottom: 24px;
				padding: 0 1em 0 44px;
				font-size: 1.8rem;
			}
			.point_list_face li::before{
				position: absolute;
				top: -6px;
				left: 0;

				display: inline-block;
				content: "";
				width: 34px;
				height: 34px;
				background: url(../img/point/ico_point.png) left 0px top 0px no-repeat;
				background-size: 34px 34px;
			}
}
/*------------------------------------------------------------------------
治療価格
--------------------------------------------------------------------------*/
.plice_bg_red{
	margin: 100px 10px 85px;
}
.plice_area{
	width: 900px;
	max-width: 90%;
	margin: 0 auto;
	padding: 1px 0 50px;
}

.plice_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
	.plice_left{
		width: 50%;
		min-width: 230px;
	}
		.plice_plice_box{
			margin: 0 auto;
			width: 230px;
			height: 230px;
			background: #fff;
			border-radius: 50%;
			box-shadow: 1px 1px 1px rgba(0,0,0,0.15);
		}
			.plice_h3{
				padding-top: 50px;
				text-align: center;
				font-family: 'M PLUS Rounded 1c', sans-serif;
				font-weight: 800;
				font-size: 3.1rem;
				color: #ff967c;
			}
			.yen{
				margin-top: -10px;
				text-align: center;
				font-family: 'M PLUS Rounded 1c', sans-serif;
				font-weight: 800;
				font-size: 6.0rem;
				color: #46bec8;
				letter-spacing: -0.02em;
			}
				.yen span{
					font-size: 3.1rem;
					color: #989898;
				}
			.plice_plice_box_neage .plice_h3{
				padding-top: 30px;
			}
			.neage{
				margin-top: -10px;
				text-align: center;
				color: #ff5c7a;
			}
			.plice_txt{
				text-align: center;
				font-family: 'M PLUS Rounded 1c', sans-serif;
				font-weight: 800;
				font-size: 1.8rem;
				line-height: 1.6;
				color: #fff;
				margin-top: 22px;
			}
				.plice_txt small{
					font-weight: 500;
					font-size: 1.4rem;
				}
	.plice_right{
		align-self: flex-start;
		width: 50%;
		margin-top: 10px;
		padding-top: 20px;
	    border: 2px solid #fff;
	    border-radius: 8px;
	}
		.plice_right h3{
		    margin-top: -35px;
			text-align: center;
			font-family: 'M PLUS Rounded 1c', sans-serif;
			font-weight: 500;
			font-size: 2.2rem;
			color: #fff;
			text-shadow: 1px 1px 1px rgba(0,0,0,0.15);
			letter-spacing: -0.01em;
    }
			.plice_right h3 span{
				background: url(../img/common/bg_red.png) center center no-repeat;
			    padding: 0 9px;
			}
			.plice_right .plice_item_list{
				margin: 20px 5% 24px;
				color: #fff;
				text-shadow: 1px 1px 1px rgba(0,0,0,0.15);
			}
				.plice_right dt{
					position: relative;
					padding-left: 16px;
					font-weight: bold;
					font-size: 1.8rem;
				}
				.plice_right dt::before{
					position: absolute;
					content: "";
					top: 9px;
					left: 0;

					width: 10px;
					height: 10px;
					background: #fffb65;
					border-radius: 50%;
					box-shadow: 1px 1px 1px rgba(0,0,0,0.15);
				}
				.plice_right dd{
					padding-left: 16px;
				}
				.plice_right dd + dt{
					margin-top: 12px;
				}
	.price_discount{
		width: 100%;
		margin-top: 40px;
		font-family: 'M PLUS Rounded 1c', sans-serif;
		font-weight: 500;
		font-size: 1.8rem;
		text-align: center;
		color: #fff;
		border-top: 2px solid #fff;
		border-bottom: 2px solid #fff;
	}
		.price_discount small{
			font-size: .8em;
		}

@media only screen and (max-width: 600px) {
	.plice_bg_red{
		margin: 60px 10px 45px;
	}
	.plice_area{
		padding: 1px 0 30px;
	}
		.plice_left{
			width: 100%;
		}
			.plice_plice_box{
				margin: 0 auto;
				width: 200px;
				height: 200px;
			}
				.plice_h3{
					padding-top: 46px;
					font-size: 2.8rem;
				}
				.plice_plice_box_neage .plice_h3{
					padding-top: 20px;
				}
				.plice_txt{
					font-size: 1.6rem;
					line-height: 1.6;
					margin-top: 16px;
				}
		.plice_right{
			align-self: flex-start;
			width: 100%;
			margin-top: 40px;
			padding-top: 20px;
		    border: 2px solid #fff;
		    border-radius: 8px;
		}
			.plice_right h3{
				font-size: 2.0rem;
	    }
}


/*------------------------------------------------------------------------
治療の流れ
--------------------------------------------------------------------------*/
.flow_wrapper{
	width: 800px;
	max-width: 90%;
	margin: 0 auto 100px;
}
.flow_list li{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

	margin-bottom: 32px;
}
	.flow_txt_box{
		width: 63%;
	}
		.flow_step{
			position: relative;
			display: inline-block;
			width: 80px;
			height: 80px;
			margin-right: 20px;
			padding-top: 18px;
			font-family: 'M PLUS Rounded 1c', sans-serif;
			font-weight: 800;
			font-size: 2.6rem;
			text-align: center;
			line-height: 1;
			color: #fff;
			background: #ffaf9b;
			border-radius: 50%;
		}
			.flow_step span{
				display: block;
				margin-bottom: 6px;
				font-size: 0.7em;
			}
		.flow_tit{
			display: inline-block;
			vertical-align: top;
/* 			width: calc( 100% - 110px); */
			padding-top: 30px;
			font-family: 'M PLUS Rounded 1c', sans-serif;
			font-weight: 800;
			font-size: 2.2rem;
			font-weight: bold;
			color: #46bec8;
		}
		.flow_txt{
			margin-top: 6px;
			padding-left: 100px;
		}
	.flow_img{
		display: block;
		width: 30%;
		padding-top: 32px;
	}
@media only screen and (max-width: 600px) {
	.flow_wrapper{
		margin: 0 auto 0;
		padding: 40px 0;
	}

	.flow_list li{
		justify-content: center;
		margin-bottom: 32px;
	}
		.flow_txt_box{
			width: 100%;
		}
			.flow_step{
				width: 64px;
				height: 64px;
				margin: 0 14px 0 -3%;
				padding-top: 12px;
				font-size: 2.0rem;
			}
			.flow_step::after{
				top: 3px;

				width: 64px;
				height: 64px;
			}
			.flow_tit{
				width: calc( 100% - 90px);
				padding-top: 26px;
				font-size: 2.0rem;
			}
			.flow_txt{
				margin-top: 10px;
				padding-left: 0;
			}
		.flow_img{
			display: block;
			width: 100%;
			padding-top: 10px;
		}
			.flow_img img{
				width: 100%;
			}
}
/*------------------------------------------------------------------------
担当医からのメッセージ
--------------------------------------------------------------------------*/
.message_area{
	width: 900px;
	max-width: 90%;
	margin: 0 auto;
	padding-bottom: 60px;
	border: 3px solid #fffb65;
	border-radius: 4px;
}
	.message_box{
		display: flex;
		justify-content: space-between;
		align-items: center;

		width: 800px;
		max-width: 90%;
		margin: -10px auto 0;
	}
	.messag_photo{
		display: block;
		width: 25%;
		height: auto;
		border-radius: 4px;
	}
	.message_txt{
		width: 70%;
	}
	.message_txt p + p{
		margin-top: 1em;
	}
@media only screen and (max-width: 600px){
	.message_area{
		padding-bottom: 30px;
	}
		.message_box{
			flex-direction: column;
		}
		.messag_photo{
			width: 80%;
		}
		.message_txt{
			width: 100%;
			margin-top: 1em;
		}
}
/*------------------------------------------------------------------------
よくある質問
--------------------------------------------------------------------------*/
.faq_area{
	margin-top: 60px
}
.faq_wrapper{
	padding: 1px 0 60px;
	margin: 0 10px 85px;
	color: #fff;
}
	.faq_list{
		width: 800px;
		max-width: 90%;
		margin: 0 auto;
	}
	.faq_list a{
		color: #fff;
		border-bottom: 1px dotted #fff;
	}
	.faq_list a:hover{
		border-bottom: 1px dotted transparent;
	}
	.faq_list li{
		padding-bottom: 16px;
		border-bottom: 1px solid #fff;
	}
		.faq_tit,
		.faq_txt{
			position: relative;
			min-height: 40px;
			padding: 8px 0 0 50px;
		}
		.faq_tit::before,
		.faq_txt::before{
			position: absolute;
			top: 0;
			left: 0;
			display: block;
			width: 50px;
			text-align: center;
			font-family: 'M PLUS Rounded 1c', sans-serif;
			font-weight: 800;
			font-size: 4.3rem;
			color: #fff;
			padding-right: 10px;
		}
		.faq_tit{
			padding: 17px 0 20px 60px;
			font-size: 2.2rem;
			font-weight: bold;
		}
		.faq_tit::before{
			content: "Q";
		}
		.faq_txt{
			padding: 28px 0 20px 60px;
			font-size: 1.6rem;
			line-height: 1.8;
		}
		.faq_txt::before{
			content: "A";
		}

		.faq_list li + li{
			margin-top: 16px;
		}
	.faq_area + .contact_area{
		margin-top: 30px;
	}

 /* 開閉 ------------------*/
.accordion_tit {
	position: relative;
	cursor: pointer;
}
.accordion_tit.open {
}
.accordion_tit:hover {
}
.accordion_tit::after,
.accordion_tit.open::after {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	background: url(../img/common/ico_arrow_down.svg) center center no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 0;

	transition: .3s;
}
.accordion_tit.open::after {
	background: url(../img/common/ico_arrow_up.svg) center center no-repeat;
	background-size: contain;
}
.accordion_contents{
	display: none;
}

@media only screen and (max-width: 600px) {
	.faq_list li{
		padding-bottom: 12px;
	}
		.faq_tit,
		.faq_txt{
			min-height: 32px;
			padding: 6px 0 0 40px;
		}
		.faq_tit::before,
		.faq_txt::before{
			width: 32px;
			line-height: 32px;
			font-size: 2.6rem;
		}
		.faq_tit{
			padding-right: 30px;
			font-size: 1.8rem;
		}
		.faq_txt{
			margin-top: 12px;
			padding-bottom: 0px;
		}
		.faq_list li + li{
			margin-top: 12px;
		}
	.faq_area + .contact_area{
		margin-top: 30px;
	}

	 /* 開閉 ------------------*/
	.accordion_tit::after,
	.accordion_tit.open::after {
		width: 20px;
		height: 20px;
		margin-top: 10px;
		background: url(../img/common/ico_arrow_down.svg) center center no-repeat;
		background-size: contain;
		position: absolute;
		top: 0;
		right: 0;
	}
	.accordion_tit.open::after {
		background: url(../img/common/ico_arrow_up.svg) center center no-repeat;
		background-size: contain;
	}
}
/*------------------------------------------------------------------------
お問い合わせ
--------------------------------------------------------------------------*/
.form_area{
	padding: 60px 0;
	width: 810px;
	max-width: 90%;
	margin: 0 auto;
}

.form_table{
	width: 100%;
}
	.form_table th,
	.form_table td,
	table#mfp_confirm_table tr th,/*メールフォーム*/
	table#mfp_confirm_table tr td{
		border-top: 1px solid #808080;
		border-bottom: 1px solid #808080;
		padding: 1em;
	}
	.form_table th,
	table#mfp_confirm_table tr th{
		width: 22%;
		vertical-align: top;
		text-align: left;
		font-feature-settings: "palt";
		letter-spacing: 0.02em;
	}
	.form_table input[type="radio"]{
		position: relative;
		top: -4px;
	}
/* 送信完了 */
.form_thanks_tit{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 800;
	font-size: 1.8rem;
	color: #3A4D5B;
	text-align: center;
}
.form_thanks_txt{
	margin: 1em auto 60px;
	text-align: center;
}
@media only screen and (max-width: 600px) {
	.form_table{
		border-top: 1px solid #808080;
	}
		.form_table th,
		.form_table td,
		table#mfp_confirm_table tr th,/*メールフォーム*/
		table#mfp_confirm_table tr td{
			display: block;
			width: 100%;
			border-top: none;
			border-bottom: 1px solid #808080;
			padding: 1em 0.8em;
		}
		.form_table th,
		table#mfp_confirm_table tr th{
			border-bottom: none;
			padding: 0.8em 0.8em 0;
		}
		table#mfp_confirm_table tr th{
			color: #0f3299;
		}
	.form_table input[type="radio"]{
		position: relative;
		top: auto;
	}
	.form_thanks_txt{
		margin: 1em auto 60px;
		text-align: left;
	}
}
/*------------------------------------------------------------------------
footer
--------------------------------------------------------------------------*/
.footer_ban{
	padding: 20px 0;
	border-top: 1px solid #ccc;
}
	.footer_ban a{
		display: block;
		width: 800px;
		max-width: 90%;
		margin: 0 auto;
		border-radius: 10px;
	}
		.footer_ban a:hover{
			opacity: .8;
		}
	.footer_ban a img{
		display: block;
		width: 100%;
		height: auto;
		border-radius: 10px;
		box-shadow: 2px 2px 3px rgba(0,0,0,.2);
		transition: .3s;
	}
		.footer_ban a:hover img{
			box-shadow: 1px 1px 1px rgba(0,0,0,.0);
		}
	.footer_ban a span{
		display: block;
		line-height: 1;
		font-feature-settings: "palt";
		letter-spacing: 0.02em;
		font-size: 1.8rem;
		padding: 0 24px 0 14px;
		margin-top: 12px;
		background: url(../img/common/ico_arrow.png) 98% 80% no-repeat;
		background-size: 18px 6px;
		transition: .3s;
	}
		.footer_ban a:hover span{
			background: url(../img/common/ico_arrow.png) 99% 80% no-repeat;
			background-size: 18px 6px;
		}
	.footer_ban a span::after{
		display: inline-block;
		content: "";
		width: 10px;
		height: 9px;
		background: url(../img/common/ico_nw.png);
		margin-left: 6px;
	}

.footer{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

	padding: 40px 5% 30px;
	color: #fff;
	background: #3a4d5b;
}

.footer_logo{
	margin-bottom: 1em;
}
.footer_link{
	width: 240px;
	margin-top: 20px;
	line-height: 54px;
	font-family: 'Noto Serif JP', serif;
	border: 1px solid #fff;
}
	.footer_link a{
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		padding-left: 1em;
		color: #fff;
	}
	.footer_link a:hover{
		background: rgba(255,255,255,0.15);
	}
		.footer_link a::after{
			position: absolute;
			top: 50%;
			right: 0;

			content: "";
			width: 10%;
			height: 1px;
			background: #fff;
			transition: .3s;
		}
		.footer_link a:hover::after{
			width: 8%;
		}
.foot_copy{
	margin-top: 40px;
	text-align: right;
	font-size: 1.2rem;
}
@media only screen and (max-width: 600px) {
	.footer_ban{
		margin-top: 20px;
	}
		.footer_ban a span{
			font-size: 1.6rem;
			padding: 0 24px 0 10px;
			margin-top: 8px;
		}

	.footer{
		flex-direction: column;
		justify-content: center;
	}
	.footer address{
		text-align: center;
		font-size: 1.4rem;
	}
	.footer_link{
		margin: 40px auto 0;
	}
	.foot_copy{
		text-align: center;
	}
}
