@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Oswald:300,400');
/*-------------------------------------------------------------------

	DEFAULT SETTING

-------------------------------------------------------------------*/
html {
	font-size: 62.5%;
}
body {
	min-width: 1160px;
	color: #1c1c1c;
	background: #FFF;
	font-size: 18px;
	line-height: 1.8;
	font-family: "メイリオ", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", osaka;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
img {
	width: auto;
	height: auto;
	vertical-align: top;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
}
a {
	color: #9f774b;
	text-decoration: underline;
	outline: none;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
}
a:hover img {
	text-decoration: none;
	color: #b7456e;
	opacity: 0.7;
}
p {
	margin-bottom: 1em;
}
/*-------------------------------------------------------------------

	MODULE

-------------------------------------------------------------------*/
/*text*/
.text-bold {
	font-weight: bold;
}
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.text-small {
	font-size: .85em;
}
.text-brown {
	color: #9f774b;
}
.text-red {
	color: #d04d5a;
}
.text-blue {
	color: #3e7cac;
}
.text-serif-jp {
	font-family: "ＭＳ Ｐ明朝", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ 明朝", "HG明朝E", serif;
}
.text-serif-jp-small {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/*float*/
.clr {
	clear: both;
}
.hid {
	visibility: hidden;
}
.left {
	float: left;
}
.right {
	float: right;
}
.overflow-hide {
	overflow: hidden;
}
figure.left {
	float: left;
	margin: 0 2em 1.5em 0;
}
figure.right {
	float: right;
	margin: 0 0 1.5em 2em;
}
figure.left0 {
	float: left;
	margin: 0 1.5em 0 0;
}
figure.right0 {
	float: right;
	margin: 0 0 0 1.5em;
}
figure.basic {
	margin: 0 auto 1.5em;
	text-align: center;
}
/*button*/
.button-detail a, .button-detail-mid a {
	display: inline-block;
	border: 1px solid #bb8d3f;
	color: #9f774b;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	padding: .8em .8em .7em;
}
.button-detail-mid a {
	border: 2px solid #bb8d3f;
	font-size: 14px;
	padding: 1em 1em .9em;
}
.button-price {
	text-align: right;
	font-size: 13px;
}
.button-back {
	margin-bottom: 30px;
}
.button-back a {
	display: inline-block;
	border: 2px solid #bb8d3f;
	color: #9f774b;
	line-height: 1;
	text-align: center;
	font-weight: bold;
	text-decoration: none;
	padding: 1em 1em .9em;
	background: #fff6e7;
}
.button-detail a:hover, .button-detail-mid a:hover, .button-back a:hover {
	background: #eaddc5;
}
/*decoration*/
.animate {
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
}
.radius-basic {
	-webkit-border-radius: 4px;
	border-radius: 4px;
}
.shadow-basic {
	box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.1);
}
/*list*/
ul.basic, ol.basic {
	padding-left: 2em;
	margin-bottom: 1em;
}
ul.basic li {
	list-style-type: disc;
	margin-bottom: 0.4em;
	line-height: 1.5;
}
ol.basic li {
	list-style-type: decimal;
	margin-bottom: 0.4em;
	line-height: 1.5;
}
/*layout*/
section.basic {
	margin-bottom: 1em;
}
section.basic::after {
	content: "";
	display: block;
	clear: both;
}
.mb-2em {
	margin-bottom: 2em;
}
.mb-3em {
	margin-bottom: 3em;
}
.display-block {
	display: block;
	clear: both;
}
/*table*/
table.basic {
	width: 100%;
	margin-bottom: 1em;
}
table.basic th, table.basic td {
	border: 1px solid #ddd;
	padding: 1em;
	text-align: left;
	vertical-align: middle;
}
table.basic th {
	background: #efefef;
	font-size: 16px;
	line-height: 1.3;
}
table.basic .head th {
	font-weight: bold;
	text-align: center;
}
table.basic td {
	font-size: 14px;
	line-height: 1.5;
}
table.basic .price {
	font-size: 20px;
	line-height: 1.3;
	text-align: right;
}
table.basic .price span {
	font-size: 12px;
}
/*scroll*/
.scroll {
	overflow-y: scroll;
}
.scroll::-webkit-scrollbar {
 width:8px;
}
.scroll::-webkit-scrollbar-thumb {
 background:#4c608d;
 border-radius:4px;
}
.scroll::-webkit-scrollbar-track-piece:start {
 background:#cdd5da;
 border-radius:4px;
}
.scroll::-webkit-scrollbar-track-piece:end {
 background:#cdd5da;
 border-radius:4px;
}
/*clearfix*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/*-------------------------------------------------------------------

	LAYOUT

-------------------------------------------------------------------*/
/*-------------------------
	header
---------------------------*/
#header {
    background: #080504 url(../img/mv_back.jpg) no-repeat center top;
    overflow: hidden;
}
#header .inner {
	width: 1260px;
	min-height: 787px;
	margin: 0 auto;
	position: relative;
}
#header .inner::after {
	content: "";
	display: block;
	clear: both;
}
#header .text .logo {
	padding-top: 45px;
	margin-bottom: 70px;
}
#header .text .project {
	margin-bottom: 30px;
}
#header .text h1 {
    margin: 0 0 30px -35px;
}
#header figure {
	margin: 0 0 0 -27px;
}
/*-------------------------
	worry
---------------------------*/
#worry {
	background: #bec7d1;
}
#worry > section {
	width: 900px;
	min-height: 921px;
	margin: 0 auto;
	padding: 86px 0 0;
	box-sizing: border-box;
	text-align: center;
	background: url(../img/worry_back.png) no-repeat 15px bottom;
}
#worry h2 {
	margin-bottom: 93px;
}
#worry .fukidashi {
	margin-bottom: 78px;
}
#worry .worry-text {
	margin-bottom: 0;
	padding: 1em 1em .7em;
	background: #83745c;
	font-size: 24px;
	line-height: 1.3;
	color: #FFF;
	text-align: center;
	border-radius: 6px;
}
/*-------------------------
	promise
---------------------------*/
#promise {
	background: #666 url(../img/back_mesh.png) repeat 0 0;
}
#promise > section {
	width: 900px;
	margin: 0 auto;
	padding: 80px 0;
}
#promise h2 {
	margin: 0 auto 22px;
	text-align: center;
}
#promise .arrow {
	margin: 0 auto 10px;
	text-align: center;
}
#promise .list {
	margin-bottom: 73px;
}
#promise .list li {
	width: 288px;
	float: left;
	margin: 0 18px 18px 0;
}
#promise .list li:nth-child(3n) {
	margin-right: 0;
}
#promise .list li a {
	display: block;
	background: #3e7cac;
	border-radius: 4px;
	padding: 20px 0;
	color: #FFF;
	text-decoration: none;
	text-align: center;
	font-size: 18px;
	line-height: 1.5;
	font-weight: bold;
}
#promise .list li a span {
	display: block;
	margin-bottom: 10px;
}
#promise .block {
	margin-bottom: 74px;
	padding: 0 40px 40px;
	border-top: 2px solid #3e7cac;
	background: #FFF;
	box-shadow: 0 0 6px 0 rgba(0,0,0,.2);
}
#promise .block:last-child {
	margin-bottom: 0;
}
#promise .block::after {
	content: "";
	display: block;
	clear: both;
}
#promise .block .num {
	display: block;
	margin: -35px auto 20px;
	width: 33px;
}
#promise .block h3 {
	font-size: 40px;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
	margin-bottom: 34px;
}
#promise .block .text {
	overflow: hidden;
}
#promise .block .text p:last-child {
	margin-bottom: 0;
}
/*-------------------------
	contact
---------------------------*/
.contact-block {
	background: linear-gradient(45deg,rgba(83, 71, 65, 1) 0%, rgba(159, 119, 75, 1) 44%, rgba(115, 99, 87, 1) 100%);
}
.contact-block > div {
	width: 900px;
	margin: 0 auto;
	padding: 50px 0;
	color: #FFF;
}
.contact-block > div h2 {
	font-size: 23px;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.2rem;
	margin-bottom: .5em;
}
.contact-block > div h2::after {
	display: block;
	content: "";
	margin: 8px auto 0;
	width: 456px;
	height: 11px;
	background: url(../img/sp/cv_bg.png) no-repeat top/cover;
}
.contact-block > div ul::after {
	content: "";
	display: block;
	clear: both;
}
.contact-block > div ul li {
	float: left;
	margin-right: 12px;
}
.contact-block > div ul li:last-child {
	margin-right: 0;
}
/*-------------------------
	idea
---------------------------*/
#idea {
	background: #f4f5f7;
}
#idea > section {
	width: 900px;
	margin: 0 auto;
	padding: 45px 0 0;
	box-sizing: border-box;
}
#idea h2 i {
	display: block;
	width: 105px;
	margin: 0 auto 16px;
}
#idea h2 {
	text-align: center;
	margin-bottom: 40px;
}
#idea .list {
	margin-bottom: 45px;
}
#idea .list li {
	width: 168px;
	float: left;
	margin-right: 15px;
}
#idea .list li:last-child {
	margin-right: 0;
}
#idea .idea-sub-title {
	font-size: 40px;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
	margin-bottom: .2em;
	color: #d04d5a;
}
#idea .idea-sub-text {
	font-size: 22px;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 2em;
}
#idea .comment-block .photo {
	float: left;
	margin: 0 5px 0 -125px;
}
#idea .comment-block .text {
	overflow: hidden;
	font-size: 16px;
	line-height: 1.8;
}
#idea .comment-block .text .text-red {
	font-size: 17px;
}
/*-------------------------
	price
---------------------------*/
#price {
	background: #b09a77 url(../img/back_mesh_brown.png) repeat 0 0;
}
#price > section {
	width: 900px;
	margin: 0 auto;
	padding: 52px 0 60px;
	box-sizing: border-box;
}
#price h2 {
	font-size: 36px;
	line-height: 1.3;
	text-align: center;
	margin-bottom: .6em;
}
#price h2 i {
	display: block;
	font-family: 'Oswald', sans-serif;
	font-size: 20px;
	line-height: 1.3;
	font-weight: 300;
	margin-bottom: .2em;
	font-style: normal;
}
#price table {
	width: 100%;
	margin-bottom: 12px;
	border: 1px solid #83745c;
}
#price table th, #price table td {
	border-bottom: 1px solid #83745c;
	padding: 15px 20px;
	line-height: 1.4;
	text-align: left;
	vertical-align: middle;
	background: #FFF;
}
#price table th {
	font-size: 16px;
}
#price table td {
	font-size: 20px;
	text-align: right;
}
#price table .head th {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	background: #c8b8a0;
}
#price .caption {
	color: #FFF;
	font-size: 16px;
	margin-bottom: 2em;
}
#price ul::after {
	content: "";
	display: block;
	clear: both;
}
#price ul li {
	float: left;
	width: 284px;
	padding: 1em;
	border: 2px solid #FFF;
	margin-right: 24px;
	box-sizing: border-box;
	color: #FFF;
	text-align: center;
	min-height: 10em
}
#price ul li:last-child {
	margin-right: 0;
}
#price ul li figure {
	margin-bottom: .8em;
}
#price ul li h3 {
	font-size: 18px;
	line-height: 1.3;
	font-weight: bold;
}
#price ul li p {
	font-size: 16px;
	line-height: 1.5;
	margin: 0;
}
/*-------------------------
	doctor
---------------------------*/
#doctor {
	background: #FFF;
}
#doctor > section {
	width: 100%;
	margin: 0 auto;
	padding: 75px 0 67px;
	border-top: 6px solid #1c1c1c;
	box-sizing: border-box;
}
#doctor > section::after {
	content: "";
	display: block;
	clear: both;
}
#doctor h2 {
	text-align: center;
	margin-bottom: 45px;
}
#doctor .photo {
	width: 308px;
	float: left;
	margin: 0 34px 0 -68px;
}
#doctor .carrier {
	width: 270px;
	float: left;
}
#doctor .carrier .name {
	font-size: 30px;
	line-height: 1.3;
}
#doctor .carrier dl {
	font-size: 15px;
	line-height: 1.5;
}
#doctor .carrier dl dd {
	margin-bottom: .6em;
}
#doctor .option {
	width: 350px;
	padding: 19px;
	float: right;
	box-sizing: border-box;
	border: 1px solid #1c1c1c;
	font-size: 14px;
	line-height: 1.5;
}
#doctor .option hr {
	border: none;
	height: 1px;
	background: #1c1c1c;
	margin-bottom: .8em;
}
#doctor .option .case {
	background: #1c1c1c;
	padding: 1em;
	border-radius: 6px;
	color: #fff;
	font-size: 16px;
	line-height: 1.5;
	font-weight: bold;
	margin-bottom: 0;
}
/*-------------------------
	clinic
---------------------------*/
#clinic {
	background: #FFF;
}
#clinic > section {
	width: 100%;
	margin: 0 auto;
	padding: 75px 0 0;
	border-top: 6px solid #1c1c1c;
	box-sizing: border-box;
}
#clinic > section::after {
	content: "";
	display: block;
	clear: both;
}
#clinic h2 {
	text-align: center;
	margin-bottom: 64px;
}
#clinic .text {
	width: 500px;
	float: left;
}
#clinic .text dl {
	border-top: 1px solid #1c1c1c;
	line-height: 1.3;
	font-size: 14px;
	margin-bottom: 1.5em;
}
#clinic .text dl dt {
	float: left;
	width: 9em;
	padding: .8em 0 0.6em .4em;
	font-weight: bold;
	clear: both;
}
#clinic .text dl dd {
	padding: .8em .4em 0.6em 10em;
	border-bottom: 1px solid #1c1c1c;
}
#clinic .text .contact {
	padding: 20px;
	background: #1c1c1c;
	text-align: center;
}
#clinic .text .contact h3 {
	font-size: 20px;
	line-height: 1.3;
	font-weight: bold;
	margin-bottom: .5em;
	color: #FFF;
}
#clinic .text .contact .tel {
	margin-bottom: 14px;
}
#clinic .text .contact ul::after {
	content: "";
	display: block;
	clear: both;
}
#clinic .text .contact ul li {
	float: left;
}
#clinic .text .contact ul li:last-child {
	float: right;
}
#clinic figure {
	float: right;
}
#clinic .map {
	clear: both;
	padding-top: 50px;
}
#clinic .map h3 {
	text-align: center;
	margin-bottom: 23px;
}
.banner {
	background: #e2acb0;
}
.banner > .inner {
	width: 900px;
	margin: 0 auto;
	padding: 50px 0;
}
.banner > .inner > section {
	width: 440px;
	float: left;
	border-radius: 6px;
	background: #FFF;
	padding: 26px;
	box-sizing: border-box;
	margin-bottom: 38px;
}
.banner > .inner > section:nth-child(2) {
	float: right;
}
.banner > .inner > section h3 {
	font-size: 20px;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
}
.banner > .inner > section p {
	font-size: 16px;
	line-height: 1.6;
}
.banner > .inner > section .button {
	margin: 0;
}
.banner > .inner > section .button a {
	display: block;
	background: #d04d5a;
	color: #FFF;
	border-radius: 6px;
	padding: 1em 0;
	text-align: center;
	font-weight: bold;
	text-decoration: none;
}
.banner > .inner .point {
	font-size: 26px;
	line-height: 1.4;
	font-weight: bold;
	margin: 0;
	text-align: center;
	clear: both;
}
/*-------------------------
	footer
---------------------------*/
#footer {
	background: #1c1c1c;
	color: #FFF;
	font-size: 14px;
	text-align: center;
	padding: 20px 0 30px;
}
/*-------------------------
	side-nav
---------------------------*/
#side-nav {
	width: 50px;
	position: fixed;
	bottom: 20px;
	right: 0;
}
#side-nav li {
	margin-bottom: 10px;
}

/*-------------------------
	monitor
---------------------------*/
.monitor {
	background-color: #1c1c1c;
}

.monitor-inner {
	width: 800px;
	margin: 0 auto;
	padding: 20px 0 20px 258px;
	box-sizing: border-box;
	background: url(../img/monitor_bg_pc_20220708.png) no-repeat left top;
}

.monitor-text {
	margin: 0 0 15px;
	text-align: center;
}

.monitor-btn {
	margin: 0;
	text-align: center;
}


.cta2 {
	background-image: url(../img/cta2_bg.png);
	background-size: cover;
	background-repeat: no-repeat;
	padding: 60px 0 40px;
}

.cta2 h2 img {
	width: max-content;
    margin: 0 auto;
    display: block;
	margin-bottom: 10px;
}

.cta2_inner {
	max-width: 900px;
	margin: 0 auto;
	width: 100%;
}

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



