@charset "UTF-8";
/* ========================================================================== reset
========================================================================== */
/*! minireset.css v0.0.2 | MIT License | github.com/jgthms/minireset.css */
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; line-height: 1; }

ul { list-style: none; }

button, input, select, textarea { margin: 0; line-height: 1; }

html { box-sizing: border-box; width: 100%; font-size: 62.5%; }

* { box-sizing: inherit; }
*:before, *:after { box-sizing: inherit; }

img, embed, object, audio, video { height: auto; max-width: 100%; }

iframe { border: 0; }

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

td, th { padding: 0; text-align: left; line-height: 1; }

::-moz-selection, ::selection { background: #F8CAC3; }

/*webfont smooth fix with cssua.js
©https://gist.github.com/dalethedeveloper/1846552
*/
.ua-firefox.ua-desktop p, .ua-edge.ua-desktop p, .ua-ie.ua-desktop p, .ua-firefox.ua-desktop [class*="text"], .ua-edge.ua-desktop [class*="text"], .ua-ie.ua-desktop [class*="text"], .ua-firefox.ua-desktop [class*="title"], .ua-edge.ua-desktop [class*="title"], .ua-ie.ua-desktop [class*="title"] { transform: rotate(0.001deg); }

/* © https://gist.github.com/larrybotha/7881691 */
.lt-ie10 img.img-responsive[src*=".svg"] { width: 100%; }

/*IE9 svg fix*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { img.img-responsive[src*=".svg"] { width: 100%; }
  /*IE10+ svg fix*/ }
body { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif; font-weight: 500; font-size: 1.4rem; line-height: 1.833; color: #555555; /* #86898C */ background-color: #F7F8E3; background: url(/common2/images/base/bg.jpg) center 0 repeat; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

body::before { position: absolute; display: block; content: ''; top: 0; left: 0; width: 100%; height: 0; padding-top: calc(780 / 750 * 100%); background: linear-gradient(to bottom, rgba(251, 243, 230, 0) 0%, rgba(251, 243, 230, 0) 70%, #f7f2de 100%), url(/common2/images/home/bg_mv_sp.jpg) 0 0 no-repeat; background-size: cover; }

.min { font-family: 'Shippori Mincho', serif; letter-spacing: 0.2rem; }

#wrapper { position: relative; top: 60px; min-width: inherit; margin-left: auto; margin-right: auto; overflow: hidden; }

img { vertical-align: bottom; }

a { outline: none; color: #7D8083; text-decoration: none; -webkit-transition: .2s; -o-transition: .2s; transition: .2s; }

a:hover, a:active, .active a { outline: none; color: #59a9cb; }

a img:hover { opacity: 0.7; -webkit-transition: .2s; -o-transition: .2s; transition: .2s; }

a:hover::before { opacity: 0.7; -webkit-transition: .2s; -o-transition: .2s; transition: .2s; }

/* 
/* ========================================================================== LAYOUT
========================================================================== */
/*-------------
	header
---------------*/
.header { position: fixed; top: 0; left: 0; z-index: 100; width: 100%; height: 60px; background-color: #fff; }

.header.scroll-nav { background-color: rgba(255, 255, 255, 0.9); -webkit-transition: .3s; -o-transition: .3s; transition: .3s; }

.header-inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding-left: 20px; height: 100%; }

.header-logo-area { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.header-logo { width: 100%; max-width: 189px; }

.header-logo a { display: block; -webkit-transition: opacity 0.3s; transition: opacity 0.3s; }

.header-logo a:hover { opacity: 0.7; text-decoration: none; }

.header-menu { display: flex; align-items: center; }

.header-menu a { display: block; color: #555555; text-decoration: none; }

.header-menu-list { display: flex; position: fixed; bottom: 0; left: 0; width: 100%; height: 80px; box-shadow: -5px -5px 10px -5px rgba(0, 0, 0, 0.1); }

.header-menu-list li { width: calc(100% / 3); border-right: solid 1px #CB8E8C; background-color: #fff; display: flex; align-items: center; }

.header-menu-list li a { width: 100%; text-align: center; }

.header-menu-list li a:hover { opacity: 0.7; }

.header-menu-text { margin-top: 5px; text-align: center; font-size: 0.9rem; font-weight: bold; line-height: 1; }

.header-reserve { background-color: #CB8E8C !important; }

.header-reserve a { color: #fff !important; }

.header-menu-icon { font-size: 30px; }

.header-menu-icon.icon-pc { color: #fff; font-size: 26px; }

.header-access-icon { /*	margin: 0 auto;
width: 26px;
height: 26px;*/ }

.header-nav-icon { display: flex; align-items: center; justify-content: center; z-index: 100; width: 60px; height: 60px; text-align: center; cursor: pointer; }

.header-nav-icon span { display: block; width: 21px; height: 21px; position: absolute; top: 12px; background: url(/common2/images/base/ico_open.png) no-repeat; background-size: cover; }

.header-nav-icon.on span { background: url(/common2/images/base/ico_close.png) no-repeat; background-size: cover; }

/*.header-nav-icon img {
	margin-top: 14px;
	margin-bottom: 5px;
	width: 26px;
}*/
.header-nav-text { margin-top: 24px; text-align: center; font-size: 0.9rem; font-weight: bold; line-height: 1; }

.header-menu-inner { position: fixed; width: 100%; height: 100%; top: 60px; right: -100%; background-color: #F9F0D7; z-index: 10; -webkit-transition: all 400ms cubic-bezier(1, 0, 0, 1); transition: right 400ms cubic-bezier(1, 0, 0, 1); -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1); transition-timing-function: cubic-bezier(1, 0, 0, 1); }

.header-menu-inner.open { right: 0; width: 100%; height: 100%; -webkit-transition: all 400ms cubic-bezier(1, 0, 0, 1); transition: right 400ms cubic-bezier(1, 0, 0, 1); -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1); transition-timing-function: cubic-bezier(1, 0, 0, 1); }

/* === g-nav ======================== */
.g-nav-wrapper { position: relative; content: ""; text-align: center; width: 100%; background-color: #F9F0D7; }

.g-nav { max-width: 768px; height: auto; margin-left: auto; margin-right: auto; overflow: hidden; background-color: #F9F0D7; }

.g-nav li { width: 100%; margin: 0; padding: 0; border-bottom: solid 1px #8bc3db; text-align: left; font-size: 1.5rem; font-weight: bold; }

.g-nav li.current a { color: #333; }

.g-nav li a { display: block; position: relative; height: 50px; padding-left: 38px; line-height: 50px; /*	color:#7D8083;
text-decoration: none; */ }

.g-nav li a::before { display: block; content: ''; position: absolute; }

.g-nav li a::before { top: 50%; right: auto; left: 15px; width: 15px; height: 15px; transform: translateY(-50%); background: url(/common2/images/base/ico_next.svg) no-repeat; background-size: cover; }

.g-nav li.sub a { padding-left: 54px; background-color: #FBF7E5; }

.g-nav li.sub a::before { background: none; }

.header-info-btn-list .btn-wh { max-width: 350px; height: 40px; line-height: 40px; border: none; }

.header-info-menu { text-align: center; font-size: 1.2rem; }

.header-info-menu a { /*	color:#7D8083;
text-decoration: none; */ }

/*-------------
	footer-info
---------------*/
.footer-info-wrap { padding: 20px 28px 10px; }

.footer-info-img { width: 230px; }

.footer-info-map iframe { width: 100%; height: 230px; }

.footer-info-text { margin-top: 25px; }

.footer-info-menu { text-align: center; font-size: 1.2rem; }

.footer-info-menu a { /*	text-decoration: none;
color:#7D8083; */ }

/*-------------
	footer
---------------*/
.footer { position: relative; }

.footer-info-btn-list .btn { max-width: 350px; }

.footer-info-btn-list .btn-wh { max-width: 350px; border: none; }

/* footer-nav */
/*
.footer-nav-area {
	position: relative;
	clear: both;
	width: 100vw;
	padding: 12px 0;
	background-color: #FFF;
	border-top: solid 1px #CB8E8C;
}
.footer-nav-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 10px;
}
.footer-nav-title {
	font-family: 'Shippori Mincho', serif;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 0.15rem;
	color: #CB8E8C;
}
.footer-nav-link {
	position: relative;
	text-decoration: none;
	margin-right: 20px;
	color: #cb8e8c;
	cursor: pointer;
}
.footer-nav-link::before {
	position: absolute;
	content: "";
	top: 50%;
	right: -20px;
	margin-top: -4px;
	width: 8px;
	height: 8px;
	border-left: 1px solid #cb8e8c;
	border-bottom: 1px solid #cb8e8c;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.footer-nav-link.on::before {
	transform: rotate(135deg);
}
.footer-nav-inner {
	display: none;
	justify-content: space-between;
	flex-direction: column;
	margin: 10px 0px;
}
.footer-nav-inner.open {
	display: flex;
}
.footer-nav-inner > li {
	padding: 0 10px;
}
.footer-nav-inner > li:first-child {
	border-left: none;
}
.footer-nav-list-title {
	margin-top: 10px;
	font-family: 'Shippori Mincho', serif;
	font-size: 1.8rem;
	font-weight: bolder;
	letter-spacing: 0.15em;
	color: #CB8E8C;
}
.footer-nav-list {
	margin-top: 10px;
}
.footer-nav-list li {
	position: relative;
	font-weight: normal;
	margin-bottom: 5px;
	padding-left: 20px;
	line-height: 1.6;
}
.footer-nav-list li::before {
	position: absolute;
	content: "";
	left: 0;
	top: 10px;
	font-size: 5px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #dab0ae;
}
*/
.footer-btm { /*	border-top: solid 1px #CB8E8C;*/ padding: 6px 0 60px; text-align: center; }

.footer-cr { font-size: 1.2rem; }

/* ページの上へ ======================== */
.to-pagetop { position: absolute; top: -75px; right: 0px; width: 56px; height: 56px; opacity: 0; text-align: right; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); -webkit-transition: opacity 1s 0s ease-in !important; transition: opacity 1s 0s ease-in !important; }

.to-pagetop.active { opacity: 1; -webkit-transition: opacity 1s 0s ease-in !important; transition: opacity 1s 0s ease-in !important; }

.to-pagetop i { font-size: 56px; color: #EB918A; margin-bottom: 0; }

/* topic-path ======================== */
.topic-path { position: relative; margin-top: 1em !important; text-align: left; color: #7d8083; }

.topic-path ul li { display: inline; list-style: none; }

.topic-path ul li:after { display: inline-block; content: '＞'; margin-right: 0.5em; margin-left: 0.5em; }

.topic-path ul li:last-child:after { display: none; }

/* ========================================================================== parts
========================================================================== */
/*medical-menu-list
======================== */
.medical-menu-list { margin-bottom: 30px; display: flex; flex-wrap: wrap; flex-direction: column; }

.medical-menu-list li a { margin-top: 20px; padding-top: 20px; width: 100%; text-align: center; display: flex; flex-direction: row-reverse; align-items: center; justify-content: center; border-top: 1px dotted #E0E0DF; }

.medical-menu-title { position: relative; margin: 0.5em auto; font-family: 'Shippori Mincho', serif; font-size: 2.0rem; letter-spacing: 0.2rem; color: #CB8E8C; }
.medical-menu-title::after { position: absolute; content: ""; right: -15px; top: 6px; width: 10px; height: 10px; border-right: 1px solid #cb8e8c; border-bottom: 1px solid #cb8e8c; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

.medical-menu-image { margin-right: 30px; width: 45%; max-width: 141px; }

/*.main { float: left; width: calc(100% - 350px); max-width: 800px;
}*/
.container { position: relative; margin: 40px auto 0; }

/*section*/
.section { clear: both; position: relative; z-index: 10; margin-top: 8px; padding-bottom: 8px; }

.col-inner { display: block; width: 100%; margin: 0 auto; padding: 0 12px; }

.content-block { padding: 30px 5% 15px; width: 100%; max-width: inherit; border-radius: 5px; background-color: rgba(255, 255, 255, 0.9); box-shadow: 2px 2px 4px 2px rgba(120, 120, 120, 0.1); }

/* pattern  ======================== */
.bg-pattern { position: relative; }

.bg-pattern::before { position: fixed; /* absolute;*/ content: ""; top: 0; left: 0; width: 100%; height: 100%; background: url("/common2/images/base/bg_pattern_sp.png") center 0 repeat; background-size: 100% auto; }

.bg-pattern.in::before { position: absolute; }

/*list
.notice-list {
	text-indent: -1em;
	margin-left: 1em;
	margin-bottom: 1em;
}*/
/* icon付きスタイル（リスト） ======================== */
.icon-list { margin: 0; }

.icon-list li { position: relative; font-size: 1.6rem; text-align: left; line-height: 2.3125; }

.icon-list li::before, .icon-list li::after { display: block; content: ''; position: absolute; }

/*
.icon-list li::after {
	top: 50%;
	left: -1.0em;
	width: 5px;
	height: 5px;
	margin-top: -2.5px;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* 一覧を見る*/
/*
.icon-link {
	position: relative;
	font-size: 1.4rem;
}
.icon-link::before {
	display: block;
	content: '';
	position: absolute;
	top: 2px;
	left: -1.2em;
	width: 14px;
	height: 14px;
	background-color: #e77e94;
	border-radius: 100%;
}
.icon-link::after {
	display: block;
	content: '';
	position: absolute;
	top: 6px;
	left: -13px;
	width: 5px;
	height: 5px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
*/
/* button ======================== */
/* btn */
.btn { display: block; position: relative; margin: 15px auto; width: 100%; max-width: 200px; height: 40px; line-height: 38px; text-align: center; text-decoration: none; font-size: 1.4rem; font-weight: bold; background-color: #D09997; color: #fff !important; border-radius: 2em; border: solid 1px #D09997 !important; -webkit-transition: .2s; -o-transition: .2s; transition: .2s; }

.btn:hover { background: #fff; color: #CB8E8C !important; }

.btn-wh { display: block; position: relative; margin: 15px auto; width: 100%; max-width: 200px; height: 40px; line-height: 38px; text-align: center; text-decoration: none; font-size: 1.4rem; font-weight: bold; background: #fff; color: #CB8E8C !important; border-radius: 2em; border: solid 1px #D09997 !important; -webkit-transition: .2s; -o-transition: .2s; transition: .2s; }

.btn-wh:hover { background-color: #D09997; color: #fff !important; border: solid 1px #D09997; }

/*.btn span { display: block; width: 100%; height: 100%; background: transparent; -webkit-transition: .2s; -o-transition: .2s; transition: .2s;
}
.btn:hover span { display: block; width: 100%; height: 100%; background: #fff; color: #333; border-radius: 2em; -webkit-transition: .2s; -o-transition: .2s; transition: .2s;
}*/
.bnr-reserve { position: relative; display: block; margin: 20px auto; width: 100%; max-width: 350px; height: 80px; line-height: 80px; background: url("/common2/images/base/bg_reserve_sp.png"); background-size: cover; color: #fff !important; text-align: center; text-decoration: none; border-radius: 10px; }

.bnr-reserve:hover { opacity: 0.7; -webkit-transition: .2s; -o-transition: .2s; transition: .2s; }

.bnr-reserve span { position: relative; font-family: 'Shippori Mincho', serif; font-size: 1.6rem; }

.bnr-reserve span:before { position: absolute; content: ""; top: 50%; left: -30px; transform: translateY(-50%); width: 24px; height: 20px; background: url(/common2/images/base/ico_pc.svg) no-repeat; background-size: cover; }

.bnr-reserve::after { position: absolute; content: ""; top: 50%; right: 13px; transform: translateY(-50%); width: 24px; height: 24px; background: url(/common2/images/base/ico_next_wh.svg) no-repeat; background-size: cover; }

/*
.bnr-reserve:hover { color: #fff; background-color: #e77e94;
}
.bnr-reserve:hover::before { background-color: #fff;
}
.bnr-reserve:hover::after { border-right: 1px solid #e77e94; border-bottom: 1px solid #e77e94;
}
*/
/* === title ======================== */
/* ページタイトル === */
.page-title { margin: 15px auto 30px; text-align: center; font-family: 'Shippori Mincho', serif; font-size: 2.3rem; line-height: 1; letter-spacing: 0.28rem; }

/* セクションタイトル === */
.section-title { position: relative; padding-bottom: 20px; margin-bottom: 20px; text-align: center; font-family: 'Shippori Mincho', serif; font-size: 2.2rem; line-height: 1.47; letter-spacing: 0.2rem; }

.section-title::before { content: ""; position: absolute; right: 0; bottom: 0; left: 0; margin: 0 auto; height: 1px; width: 95px; background-color: #cb8e8c; }

.m-img-title { position: relative; }

.m-img-title:before { content: ""; width: 130px; height: 130px; position: absolute; top: 50px; left: 100px; margin-left: -65px; background: url(../../images/page/ico_flow_set.png) no-repeat; background-size: auto 100%; }

/* ========================================================================== コンテンツページ共通
========================================================================== */
.content-title { margin: 15px auto 20px; text-align: center; font-family: 'Shippori Mincho', serif; font-size: 2.5rem; letter-spacing: 0.2em; }

.content-index { margin-top: 30px; margin-bottom: 20px; padding: 10px 15px; font-family: 'Shippori Mincho', serif; font-size: 1.7rem; line-height: 1.5; color: #cb8e8c; background-color: #f7eeee; }

.content-index-lead { margin-top: 20px; margin-bottom: 10px; font-family: 'Shippori Mincho', serif; font-weight: bold; font-size: 1.7rem; line-height: 1.5; color: #cb8e8c; }

.content-index-sub { margin: 25px 0 10px 18px; position: relative; font-size: 1.6rem; line-height: 1.4; font-weight: bold; }

.content-index-sub::before { position: absolute; content: ""; top: 4px; left: -16px; width: 12px; height: 12px; border-radius: 50%; background-color: #cb8e8c; }

.content-lead { margin-top: 30px; margin-bottom: 20px; font-family: 'Shippori Mincho', serif; font-size: 1.9rem; line-height: 2.0; color: #CB8E8C; }

.content-lead span { display: block; border-bottom: solid 1px #CB8E8C; }

.content-text { margin-top: 20px; margin-bottom: 20px; font-size: 1.4rem; line-height: 1.78; }

.content-text p { margin-bottom: 2em; }

/* iconfont */
.content-title-icon { display: block; margin: auto; text-align: center; font-size: 3.4rem; color: #59a9cb; }

.bg-texture { background: -webkit-linear-gradient(transparent, transparent), url(/common2/images/base/bg_suisai.jpg) repeat center center; background: -o-linear-gradient(transparent, transparent); color: #59a9cb; color: transparent; -webkit-font-smoothing: antialiased; -webkit-background-clip: text; -moz-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; background-size: 60px 88px; }

.bg-texture2 { background: -webkit-linear-gradient(transparent, transparent), url(/common2/images/base/bg_suisai2.jpg) repeat center center; background: -o-linear-gradient(transparent, transparent); color: #cb8e8c; color: transparent; -webkit-font-smoothing: antialiased; -webkit-background-clip: text; -moz-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; background-size: 82px 82px; }

@font-face { font-family: 'iconfont'; src: url("../fonts/iconfont.eot?vftnsm"); src: url("../fonts/iconfont.eot?vftnsm#iefix") format("embedded-opentype"), url("../fonts/iconfont.ttf?vftnsm") format("truetype"), url("../fonts/iconfont.woff?vftnsm") format("woff"), url("../fonts/iconfont.svg?vftnsm#iconfont") format("svg"); font-weight: normal; font-style: normal; font-display: block; }
i { /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'iconfont' !important; speak: never; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.icon-arrow:before { content: "\e90a"; color: #cb8e8c; }

.icon-close:before { content: "\e904"; }

.icon-open:before { content: "\e905"; }

.icon-price:before { content: "\e906"; }

.icon-pc:before { content: "\e907"; }

.icon-clinic:before { content: "\e908"; }

.icon-timetable:before { content: "\e909"; }

.icon-access:before { content: "\e903"; }

.icon-heart:before { content: "\e902"; }

.icon-write:before { content: "\e901"; }

.icon-info:before, .icon-information:before { content: "\e900"; }

.icon-info, .icon-information { font-size: 2.4rem; }

/* ========================================================================== Helper classes
========================================================================== */
/* clearfix */
.clearfix:after { clear: both; display: table; content: " "; }
.clearfix:before { display: table; content: " "; }

/* clear */
.clear { clear: both !important; }

/* ol */
ol li { margin-left: 1em; line-height: 1.6875; }

/* float */
.fl-l { float: left !important; }

.fl-r { float: right !important; }

.fl-n { float: none !important; }

/* text-align */
.txt-l { text-align: left !important; }

.txt-c { text-align: center !important; }

.txt-r { text-align: right !important; }

.txt-j { text-align: justify; text-justify: inter-ideograph !important; }

.txt-caution { font-size: 1.4rem; }

.mb0 { margin-bottom: 0 !important; }

/* pc/sp , br */
.m-sp-only, .br-sp { display: block !important; }

.m-pc-only, .br-pc { display: none !important; }

/* ========== トップページ
========================================================================== */
/* MainVisual */
.home-mv-content { position: relative; width: inherit; /*375px;*/ margin: 0 auto 20px; padding: 0 12px; text-align: center; opacity: 0; }

.home-mv-image { display: flex; justify-content: center; margin: 0 auto 25px; width: 235px; }

.home-mv-wrap { position: relative; width: 100%; border-radius: 10px; overflow: hidden; }
.home-mv-wrap img { margin: 0 auto; }

.home-mv-content-inner { display: flex; flex-direction: column; justify-content: center; position: absolute; top: 50%; left: 50%; width: 72%; min-height: 133px; transform: translateX(-50%) translateY(-50%); background-color: rgba(255, 255, 255, 0.85); }

.home-mv-title { font-family: 'Shippori Mincho', serif; font-size: 1.1rem; font-weight: 500; line-height: 1.4; letter-spacing: 0.35rem; font-feature-settings: "palt"; color: #7d8083; }

.home-mv-title span { display: block; font-size: 1.3rem; letter-spacing: 0.25rem; }

.home-mv-lead { display: inline-block; position: relative; font-family: 'Shippori Mincho', serif; font-size: 2.1rem; line-height: 1.6; letter-spacing: 0.35rem; color: #7d8083; }

.home-mv-lead .sub { font-size: 1.7rem; }

.home-mv-lead em { position: relative; font-style: normal; }

.home-mv-lead em::before { position: absolute; content: ""; bottom: -3px; left: 50%; transform: translateX(-50%); width: 100%; height: 1px; background-color: #7d8083; }

.home-info.content-block { padding-bottom: 10px; }

.home-info-head { display: flex; justify-content: space-between; }

.home-info-title { margin: 0; font-family: 'Shippori Mincho', serif; font-size: 1.8rem; letter-spacing: 0.2em; }

.home-info-link a { position: relative; text-decoration: none; font-size: 1.6rem; margin-right: 20px; color: #59a9cb; }

.home-info-link a::before { position: absolute; content: ""; top: 50%; right: -20px; transform: translateY(-50%); width: 8px; height: 14px; background: url(/common2/images/base/ico_arrow.svg) no-repeat; background-size: cover; opacity: 1; -webkit-transition: .2s; -o-transition: .2s; transition: .2s; }

.home-info-link a:hover::before { opacity: 0.5; }

.info-list { margin-top: 10px; display: table; width: 100%; }

.info-list li { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px dotted #E0E0DF; /* line-height: 1.3;*/ }

/*.info-list li a {
display: block; float: left; width: 97.5%;
}*/
.info-list-date { display: table-cell; width: 6em; vertical-align: top; color: #59a9cb; }

.info-list-cat { display: table-cell; padding-bottom: 5px; text-align: center; }

.info-list-cat a { margin-right: 4px; }

.info-list-cat a:hover { /*opacity:0.8;*/ }

.info-list-cat span { display: inline-block; width: 6em; margin-right: 5px; padding: 3px 0; border-radius: 3px; font-size: 1.2rem; line-height: 1; color: #fff; background-color: #7abad5; }

.info-list-text { display: block; width: calc(100% - 25px); font-size: 1.4rem; vertical-align: top; }

.info-list-text a { display: block; position: relative; color: #555555; text-decoration: none; }

.info-list-text a:hover { color: #59a9cb; }

.info-list-text a::before { position: absolute; content: ""; top: 50%; right: -25px; transform: translateY(-50%); width: 21px; height: 21px; background: url(/common2/images/base/ico_next.svg) no-repeat; background-size: cover; }

/*tbl-timetable
======================== */
.tbl-timetable { margin: 20px 0 10px; width: 100%; border: solid 1px #7D8083; }

.tbl-timetable th { background-color: #F7EEEE; padding: 8px 5px; text-align: center; font-size: 1.0rem; color: #7D8083; border-right: dotted 1px #7D8083; border-bottom: solid 1px #7D8083; }

.tbl-timetable th.th-sub { background-color: #F2E3E2; }

.tbl-timetable th span { font-size: 0.9rem; }

.tbl-timetable td { padding: 12px 5px; text-align: center; font-size: 1.2rem; border: dotted 1px #7D8083; background-color: #fff; color: #7D8083; }

.tbl-timetable td span { font-size: 0.9rem; }

/*home-clinic
======================== */
.col-2 { margin: 0 auto 15px; width: 100%; }

.col-2.content-block { padding: 25px 20px 10px; height: inherit; text-align: center; }

.home-clinic { position: relative; height: 0; padding-top: calc(650 / 700 * 100%); background-color: inherit; overflow: hidden; }

.home-clinic::before { position: absolute; content: ""; top: 0; left: 0; width: 100%; height: 325px; background: url(/common2/images/home/bg_clinic.png) no-repeat; background-size: cover; z-index: -1; }

.home-clinic.content-block { padding: 25px 20px 0; height: inherit; text-align: center; }

.home-clinic .content-title { margin-bottom: 20px; font-size: 1.9rem; letter-spacing: 0.2px; line-height: 1; color: #fff; text-shadow: 1px 1px 6px #2B1912, 0px 0px 3px #2B1912; }

.home-clinic .content-lead { margin-top: 20px; font-size: 1.6rem; letter-spacing: 0.2px; line-height: 2.33; color: #fff; text-shadow: 1px 1px 6px #2B1912, 0px 0px 3px #2B1912; }

.home-clinic .content-lead span { position: relative; display: block; border-bottom: none; }

.home-clinic .content-lead span::before { position: absolute; content: ""; bottom: -3px; left: 50%; transform: translateX(-50%); width: 217px; height: 1px; background-color: #fff; box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2); }

/*home-medical-menu-list
======================== */
.home-medical-menu-list { display: flex; flex-wrap: wrap; }

.home-medical-menu-list li { margin-top: 25px; padding-top: 25px; width: 100%; text-align: center; display: flex; flex-direction: column; border-top: 1px dotted #E0E0DF; }

.home-medical-menu-title { margin: 0.5em auto; font-family: 'Shippori Mincho', serif; font-size: 1.9rem; letter-spacing: 0.2em; color: #CB8E8C; }

.home-medical-menu-text { margin: 0.5em auto; line-height: 1.78; }

.home-medical-menu-image { margin: 0 auto; width: 141px; }

.home-medical-menu-btn { margin: 0 auto; width: 200px; }

@media all and (-ms-high-contrast: none) { .info-list-cat span { padding: 5px 0 0 0; }
  .bg-texture { color: #59a9cb; }
  .bg-texture2 { color: #CB8E8C; } }
/* ========== 2 クリニック紹介 /clinic/
========================================================================== */
.doctor-image { margin-bottom: 20px; border-radius: 5px; overflow: hidden; }

.doctor-image img { margin: 0 auto; }

.doctor-name { margin-left: 10px; font-family: 'Shippori Mincho', serif; font-size: 1.7rem; letter-spacing: 0.15em; }

.m-linear-title { position: relative; margin-left: 60px; margin-bottom: 20px; font-family: 'Shippori Mincho', serif; font-size: 2.0rem; letter-spacing: 0.15px; line-height: 1.9; }

.m-linear-title span { display: inline; background: linear-gradient(transparent 70%, #F5E8E8 0%); }

.m-linear-title::before { content: ""; width: 62px; height: 58px; position: absolute; top: 50%; left: -70px; transform: translateY(-50%); }

.m-linear-title.img-01::before { background: url(/common2/images/clinic/ico_01.png) no-repeat; background-size: cover; }

.m-linear-title.img-02::before { background: url(/common2/images/clinic/ico_02.png) no-repeat; background-size: cover; }

.m-linear-title.img-03::before { background: url(/common2/images/clinic/ico_03.png) no-repeat; background-size: cover; }

/* slider
----------------------------------------------------------------------------- */
/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; }

.slick-list:focus { outline: none; }

.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list { transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); }

.slick-track { position: relative; left: 0; top: 0; display: block; }

.slick-track:before, .slick-track:after { content: ""; display: table; }

.slick-track:after { clear: both; }

.slick-loading .slick-track { visibility: hidden; }

.slick-slide { float: left; min-height: 1px; display: none; outline: none; }

[dir="rtl"] .slick-slide { float: right; }

.slick-slide.slick-loading img { display: none; }

.slick-slide.dragging img { pointer-events: none; }

.slick-initialized .slick-slide { display: block; }

.slick-loading .slick-slide { visibility: hidden; }

.slick-vertical .slick-slide { display: block; }

.slider-area { clear: both; margin: 0 -60px; text-align: center; padding: 10px 0; position: relative; }

.slider-area .slide_arrow { height: 31px; width: 31px; position: absolute; -webkit-transform: none; transform: none; bottom: 10px; left: 50%; }

.slider-area .slide_arrow.l { display: block; margin-left: -153px; }

.slider-area .slide_arrow.l:before { display: block; content: ''; position: absolute; width: 31px; height: 31px; border: 1px solid #cb8e8c; border-radius: 50%; }

.slider-area .slide_arrow.l:after { display: block; content: ''; position: absolute; top: 50%; left: 50%; margin-top: -4px; margin-left: -2px; width: 8px; height: 8px; border-top: 1px solid #cb8e8c; border-left: 1px solid #cb8e8c; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

.slider-area .slide_arrow.r { margin-left: 122px; }

.slider-area .slide_arrow.r:before { display: block; content: ''; position: absolute; width: 31px; height: 31px; border: 1px solid #cb8e8c; border-radius: 50%; }

.slider-area .slide_arrow.r:after { display: block; content: ''; position: absolute; top: 50%; left: 50%; margin-top: -4px; margin-left: -5px; width: 8px; height: 8px; border-right: 1px solid #cb8e8c; border-bottom: 1px solid #cb8e8c; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

/* slide-box */
.slide-box { position: relative; width: auto; }

.slide-box a { color: #fff; }

.slide-box a:hover { text-decoration: none; }

.slick-slide { margin: 0 8px 40px 8px; }

.slick-slide img { display: block; width: 100%; max-width: 290px; /*max-width: 740px;*/ background: #fff; border-radius: 10px; overflow: auto; }

/* 
clinic, general-dermatology, aesthetic-dermatology
共通
======================== */
/** 共通設定  **/
/** clinic-head  **/
.clinic-head { text-align: center; }

.clinic-head img { width: 200px; }

.clinic-head-title { margin: 20px auto; font-family: 'Shippori Mincho', serif; font-size: 2.6rem; letter-spacing: 0.29rem; color: #CB8E8C; text-shadow: 1px 1px 6px #fff, 0px 0px 3px #fff; }

.clinic-head-lead { margin-bottom: 30px; font-size: 1.6rem; font-weight: bold; }

.clinic-head-text { margin-bottom: 30px; padding: 0 4%; line-height: 1.78; text-align: left; }

.clinic-head-text p { margin-bottom: 1em; }

/** clinic-content  **/
.clinic-content { margin-top: 40px; }

.clinic-content-index { margin-top: 30px; font-family: 'Shippori Mincho', serif; font-size: 1.9rem; letter-spacing: 0.2rem; color: #cb8e8c; }

/** clinic-content-box  **/
.clinic-content-box { margin: 20px auto; padding: 15px; border-radius: 5px; background-color: #faf4f3; }

.clinic-content-list-box { margin: 20px auto; padding: 25px 8%; border-radius: 5px; background-color: #faf4f3; }

/** clinic-content-list  **/
.clinic-content-list li { position: relative; font-weight: normal; margin-bottom: 5px; padding-left: 20px; line-height: 1.6; }

.clinic-content-list li::before { position: absolute; content: ""; left: 0; top: 10px; font-size: 5px; width: 6px; height: 6px; border-radius: 50%; background-color: #dab0ae; }

.clinic-content-list li a { text-decoration: underline; color: #cb8e8c; }

.clinic-content-list.list-row li { display: inline-block; margin-right: 20px; margin-bottom: 0; padding-left: 12px; }

.clinic-content-list.list-row li:last-child { margin-right: 0; }

.clinic-number-list li { position: relative; padding: 12px 10px 12px 50px; font-weight: bold; border-top: dotted 1px #ccc; z-index: 1; }

.clinic-number-list li:first-child { border-top: none; }

.clinic-num { position: absolute; left: 0; width: 40px; font-size: 1.8rem; line-height: 1.5; color: #cb8e8c; display: flex; justify-content: center; }

.clinic-num::before { position: absolute; content: ""; top: 50%; left: 0; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; background-color: #f7eeee; background-image: radial-gradient(#f7eeee 60%, #ffffff 80%); z-index: -1; }

/* ========== 3 一般皮膚科 /general-dermatology/
========================================================================== */
/* clinic-flow-list  */
.clinic-flow-list li { display: flex; align-items: center; justify-content: space-around; }

.clinic-flow-list li img { margin: 0 auto; width: 60px; height: auto; }

.clinic-flow-title { font-family: 'Shippori Mincho', serif; font-size: 1.6rem; line-height: 1.58; letter-spacing: 0.2rem; width: 62%; }

.ico-flow-next { margin-bottom: 40px !important; position: relative; }

.ico-flow-next::before { position: absolute; content: ""; bottom: -28px; left: 50%; transform: translateX(-50%); width: 50px; height: 15px; background: url(/common2/images/general-dermatology/ico_flow_next.svg) no-repeat; background-size: cover; }

/* === 皮膚のトラブルと症状 /general-dermatology/trouble/
======================== */
/* ========== 4 美容皮膚科 /aesthetic-dermatology/
========================================================================== */
.clinic-content-title { position: relative; margin-left: 100px; margin-bottom: 20px; font-family: 'Shippori Mincho', serif; font-size: 1.9rem; letter-spacing: 0.2rem; line-height: 1.3; color: #cb8e8c; }

.clinic-content-title::before { position: absolute; content: ""; top: 50%; left: -90px; transform: translateY(-50%); width: 80px; height: 80px; border-radius: 50%; background-color: #f7eeee; background-image: radial-gradient(#f7eeee 60%, #ffffff 80%); }

.clinic-content-title::after { content: ""; width: 110px; height: 110px; position: absolute; top: 50%; left: -110px; transform: translateY(-50%); }

.clinic-content-title.img-a1::after { background: url(/common2/images/aesthetic-dermatology/img_01.png) no-repeat; background-size: cover; }

.clinic-content-title.img-a2::after { background: url(/common2/images/aesthetic-dermatology/img_02.png) no-repeat; background-size: cover; }

.clinic-content-title.img-a3::after { background: url(/common2/images/aesthetic-dermatology/img_03.png) no-repeat; background-size: cover; }

.clinic-content-lead { margin-top: 10px; display: block; font-size: 1.4rem; line-height: 1.81; letter-spacing: 0; font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif; color: #555555; }

.clinic-content-title-mark { position: relative; margin-left: 33px; margin-bottom: 20px; font-family: 'Shippori Mincho', serif; font-size: 1.8rem; letter-spacing: 0.2rem; }

.clinic-content-title-mark::before { content: ""; width: 36px; height: 33px; position: absolute; top: 50%; left: -40px; transform: translateY(-50%); background: url(/common2/images/aesthetic-dermatology/ico_01.png) no-repeat; background-size: cover; }

/* === 施術方法詳細 /aesthetic-dermatology/xeo-limelight/
======================== */
/** mod- **/
.mod-normal-section { clear: both; position: relative; z-index: 10; overflow: hidden; margin-top: 8px; padding-bottom: 8px; }

.mod-container { padding: 30px 5% 10px; width: 100%; max-width: inherit; border-radius: 5px; background-color: rgba(255, 255, 255, 0.9); box-shadow: 2px 2px 4px 2px rgba(120, 120, 120, 0.1); overflow: hidden; }

.mod-column { margin-top: 20px; margin-bottom: 20px; font-size: 1.4rem; line-height: 1.78; }

/*  table  */
.mod-price-table__wrap { position: relative; min-height: .01%; overflow-x: auto; margin-bottom: 20px; }

.mod-price-table { width: 100%; max-width: 100%; border: 1px solid #7d8083; margin-bottom: 25px; min-width: 345%; }

.mod-price-table thead th { background-color: #f2e3e2; text-align: center; white-space: nowrap; padding: 0.5em 0; vertical-align: middle; border-right: 1px dotted #7d8083; border-bottom: solid 1px #7d8083; }

.mod-price-table tbody { border-bottom: 1px solid #7d8083; }

.mod-price-table tbody th { background-color: #d5a5a3; color: #fff; white-space: nowrap; padding: 0.7em 20px; }

.mod-price-table td { padding: 0.7em 20px; white-space: nowrap; background-color: #fff; border-right: 1px dotted #7d8083; line-height: 1.125; }

.mod-price-table tr:nth-child(odd) td { background-color: #f7eeee; }

.mod-price-table__title { width: 31.5%; }

.mod-price-table__time { width: 12%; }

.mod-price-table__one { width: 15%; }

.mod-price-table__ion01 { width: 31.5%; }

.mod-price-table__ion02 { width: 142px; }

.mod-price-table__ion03 { width: 178px; }

.mod-price-table__ion04 { width: 247px; }

.mod-price-table__ion05 { width: 248px; }

.mod-price-table__message { display: block; margin-bottom: 10px; font-size: 1.4rem; /*87.5%;*/ }

.mod-price-table__right { text-align: right; }

.mod-price-table__center { text-align: center; }

.mod-price-table__wrap::before { /*	position: absolute;
	content: "";
	top: 100px;
	left: 50%;
	transform: translateX(-50%);
	width: 128px;
	height: 78px;
	background: url("../../common2/images/base/ico_scroll.svg") no-repeat;
	background-size: contain;
	//opacity: 0;
	transition: opacity 1s;*/ }

@keyframes scroll-hint-appear { 0% { transform: translateX(40px); opacity: 0; }
  10% { opacity: 1; }
  50%, 100% { transform: translateX(-40px); opacity: 0; } }
.scroll-hint-icon { position: absolute; top: 25%; /*100px;*/ left: calc(50% - 73px); box-sizing: border-box; width: 146px; height: 78px; transition: opacity .3s; opacity: 0; text-align: center; background-size: contain; background-position: center center; background-repeat: no-repeat; background-image: url("../../common2/images/base/ico_scroll.svg"); }

.scroll-hint-icon-wrap { position: absolute; top: 0; left: 0; width: 100%; height: 100%; max-height: 100%; pointer-events: none; }

.scroll-hint-text { display: none; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon { opacity: 1.0; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after { opacity: 1; }

/** aesthetic-menu =====
 施術方法・料金

======================== */
.aesthetic-menu__block { position: relative; }

.aesthetic-menu__description-box { position: relative; z-index: 1; text-align: center; /*	display: table; */ }

.aesthetic-menu__description-box--wrap { /*	padding: 15px 0 15px 0;
	display: table-cell;
	vertical-align: middle;*/ margin: 15px auto 30px; width: 95%; }

.aesthetic-menu__description-icon { display: inline-block; padding: 6px 30px; text-align: center; font-size: 1.5rem; letter-spacing: 0.1em; background-color: #fff; color: #7d8083; border-radius: 2em; }

.aesthetic-menu__description--title { font-size: 2.7rem; font-weight: 500; letter-spacing: 0.2em; padding: 10px 0 25px; }

.aesthetic-menu__description--subtitle { display: block; padding: 10px 0; text-align: center; font-size: 1.5rem; letter-spacing: 0; }

.aesthetic-menu__description--text { line-height: 1.75; text-align: left; }

.aesthetic-menu__description--img { margin-bottom: 20px; max-width: 311px; /*622px;*/ height: auto; }

.aesthetic-menu__description--price { display: table; border-bottom: 2px solid #cb8e8c; width: 100%; margin-top: 68px; }

.aesthetic-menu__description--price-title { display: table-cell; font-size: 150%; letter-spacing: 0.2em; font-weight: 500; vertical-align: bottom; width: 20.8%; text-align: left; padding-bottom: 17px; color: #cb8e8c; }

.aesthetic-menu__description--price-text { display: table-cell; text-align: right; vertical-align: middle; padding-bottom: 17px; font-weight: 500; line-height: 1.25; }

.aesthetic-menu__description--price-text span { font-size: 175%; }

.aesthetic-menu--wrap { position: relative; display: block; margin: 10px auto; padding: 10px 40px 10px 4%; width: 100%; height: 70px; background: url(/common2/images/aesthetic-dermatology/bg_menu_list.jpg) no-repeat 0 0; background-size: cover; border-radius: 8px; overflow: hidden; display: flex; align-items: center; }

.aesthetic-menu--wrap::before { position: absolute; content: ""; top: 50%; transform: translateY(-50%); right: 15px; width: 31px; height: 30px; background: url(/common2/images/base/ico_next2.svg) no-repeat; background-size: contain; }

.aesthetic-menu--subtitle { margin-left: 10px; font-family: 'Shippori Mincho', serif; font-size: 1.7rem; line-height: 1.5; letter-spacing: 0.2rem; }

.aesthetic-menu--subtitle2 { display: inline-block; padding: 2px 0; width: 110px; text-align: center; font-size: 1.1rem; letter-spacing: 0; border-radius: 2em; background-color: #cb8e8c; color: #fff; }

.aesthetic-menu__point--title { margin-top: 30px; margin-bottom: 20px; padding: 10px 15px; font-family: 'Shippori Mincho', serif; font-size: 1.7rem; line-height: 1.5; color: #cb8e8c; background-color: #f7eeee; }

.aesthetic-menu__point--list li { position: relative; font-weight: normal; margin-left: 5px; margin-bottom: 5px; padding-left: 12px; line-height: 1.6; }

.aesthetic-menu__point--list li::before { position: absolute; content: ""; left: 0; top: 10px; font-size: 5px; width: 6px; height: 6px; border-radius: 50%; background-color: #dab0ae; }

.aesthetic-menu__point--list li a { text-decoration: underline; color: #cb8e8c; }

.aesthetic-menu__point--flow li { position: relative; padding: 12px 10px 12px 50px; font-weight: bold; border-top: dotted 1px #ccc; z-index: 1; }

.aesthetic-menu__point--flow li:first-child { border-top: none; }

.aesthetic-menu__point--flow--num { position: absolute; left: 0; width: 40px; font-size: 1.8rem; line-height: 1.5; color: #cb8e8c; display: flex; justify-content: center; }

.aesthetic-menu__point--flow--num::before { position: absolute; content: ""; top: 50%; left: 0; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; background-color: #f7eeee; background-image: radial-gradient(#f7eeee 60%, #ffffff 80%); z-index: -1; }

.aesthetic-menu__point--notice { margin-top: 20px; }

/* ========== 5 小児皮膚科 /pediatric-dermatology/ 
========================================================================== */
.clinic-content-title.img-01::after { background: url(/common2/images/pediatric-dermatology/img_01.png) no-repeat; background-size: cover; }

.clinic-content-title.img-02::after { background: url(/common2/images/pediatric-dermatology/img_02.png) no-repeat; background-size: cover; }

.clinic-content-title.img-03::after { background: url(/common2/images/clinic/ico_03.png) no-repeat; background-size: cover; }

/* ========== 6 お知らせ /information/
========================================================================== */
.category-list-title { font-family: 'Shippori Mincho', serif; font-size: 1.9rem; font-weight: bolder; letter-spacing: 0.3rem; }

.category-list { margin: 20px 0; }

.category-list li { position: relative; font-weight: normal; margin-bottom: 5px; padding-left: 20px; line-height: 1.6; }

.category-list li::before { position: absolute; content: ""; left: 0; top: 10px; font-size: 5px; width: 6px; height: 6px; border-radius: 50%; background-color: #dab0ae; }

/* === 一覧ページ
======================== */
/* pagenavi */
.wp-pagenavi { margin: 20px 0; padding-bottom: 10px; text-align: center; font-size: 0; }

.wp-pagenavi a, .wp-pagenavi span { display: inline-block; width: 35px; height: 35px; margin-top: 20px; margin-right: 15px; margin-left: 15px; line-height: 35px; font-size: 1.6rem; text-align: center; background-color: #c8f0f0; color: #59a9cb; border-radius: 5px; }

.wp-pagenavi span, .wp-pagenavi a:hover { -webkit-transition: .3s; transition: .3s; color: #fff; background-color: #59a9cb; }

.page-numbers li { display: inline-block; }

.wp-pagenavi a.prev, .wp-pagenavi a.next { border-radius: 50%; background-color: #fff; border: solid 1px #59a9cb; display: flex; align-items: center; justify-content: center; }

.wp-pagenavi a.prev img, .wp-pagenavi a.next img { width: 8px; height: 14px; }

.wp-pagenavi a.prev img { transform: scale(-1, 1); }

/* === 記事詳細ページ
======================== */
/* post */
.post-area { padding: 30px 8% 10px; width: 100%; max-width: inherit; border-radius: 5px; background-color: rgba(255, 255, 255, 0.9); box-shadow: 2px 2px 4px 2px rgba(120, 120, 120, 0.1); }

.post-header { padding: 0 0 30px 0; }

.post-title { display: inline; font-family: 'Shippori Mincho', serif; font-size: 2.1rem; line-height: 1.66; background: linear-gradient(transparent 70%, #F5E8E8 0%); }

.post-body { margin: 0px 0 30px; /* line-height: 2.5; */ }

.post-body p { margin-bottom: 1.5em; line-height: 2; }

.post-body p.clear { clear: both; margin-bottom: 0; }

.post-body h2 { font-size: 1.5rem; font-weight: 1.66; font-weight: bold; margin: 1em 0; padding: 1em; color: #CB8E8C; background-color: #F7EEEE; }

.post-body h3 { position: relative; margin: 1em 0; padding-left: 1em; font-family: 'Shippori Mincho', serif; font-size: 1.9rem; line-height: 1.52; font-weight: bold; color: #CB8E8C; }

.post-body h3::before { position: absolute; content: ""; top: 0.8em; left: 0; width: 15px; height: 1px; background-color: #CB8E8C; }

.post-body h4 { position: relative; font-size: 1.4rem; font-weight: 1.66; font-weight: bold; padding: 1em 0 1em 1em; color: #CB8E8C; }

.post-body h4::before { position: absolute; content: "・"; left: 0; font-size: 1.4rem; font-weight: bold; color: #CB8E8C; }

.post-body .alignleft, .post-body .alignright { float: none; margin: 10px auto; }

.post-body a { color: #59a9cb; border-bottom: solid 1px #59a9cb; }

.post-body a:hover { text-decoration: none; }

.post-body table { margin: 20px 0; border: solid 1px #7d8083; }

.post-body table th { background-color: #F2E3E2; padding: 12px 5px 12px 10px; color: #333; border-right: dotted 1px #7d8083; border-bottom: solid 1px #7d8083; font-weight: normal; }

.post-body table td { padding: 12px 5px 12px 10px; border: dotted 1px #7d8083; background-color: #fff; color: #333; }

.post-body table tr:nth-child(odd) td { background: #f7eeee; }

.post-body ul { margin: 20px 0 30px; }

.post-body ul li { position: relative; margin-bottom: 0.5em; margin-left: 1.5em; line-height: 1.35; list-style: none; }
.post-body ul li ul { margin: 0.5em 0 0.5em; }

.post-body ul li::before { position: absolute; content: ""; top: 0.2em; left: -15px; width: 10px; height: 10px; background: url(/common2/images/base/ico_next.svg) no-repeat; background-size: cover; }

.post-body ol { margin: 20px 0 30px; margin-left: 0.7em; counter-reset: count 0; list-style: none; }

.post-body ol li { text-indent: -1em; margin-left: 0.8em; margin-bottom: 0.5em; }

.post-body ol li:before { content: counter(count) ". "; counter-increment: count 1; color: #CB8E8C; }

.post-body .btn, .post-body .btn-wh { max-width: 350px; }

.btn-wrap .btn { max-width: 300px; }

/*  pager  */
.info-pager-area { margin: 20px auto; }

.link-btn-list { display: flex; justify-content: space-between; margin: 0 20px; }

.link-btn-list a, .link-btn-list a li { color: #555555; }

.link-btn-list a:hover li { color: #59a9cb; }

.post-pager { display: flex; justify-content: space-between; margin: 0 20px; }

.post-pager li { position: relative; min-width: 6em; }

.btn-next { position: relative; padding-right: 25px; }

.btn-next::before { position: absolute; content: ""; top: 0; right: 0; width: 21px; height: 21px; background: url(/common2/images/base/ico_next.svg) no-repeat; background-size: cover; }

.btn-prev { position: relative; padding-left: 25px; }

.btn-prev::before { position: absolute; content: ""; top: 0; left: 0; width: 21px; height: 21px; background: url(/common2/images/base/ico_next.svg) no-repeat; background-size: cover; transform: scale(-1, 1); }

/* ========== 7 アクセス /access/
========================================================================== */
.access-img_logo { max-width: 290px; }

.access-btn-list .btn-wh { max-width: 350px; }

.access-img { margin: 20px auto; }

.access-data { margin-top: 20px; border-top: solid 1px #86898C; border-left: solid 1px #86898C; }

.access-data dt { padding: 6px 15px; font-weight: bold; background-color: #F7EEEE; border-bottom: solid 1px #86898C; border-right: solid 1px #86898C; }

.access-data dd { padding: 6px 15px; background-color: #fff; border-bottom: solid 1px #86898C; border-right: solid 1px #86898C; }

.access-map iframe { margin: 20px auto 15px; width: 100%; height: 230px; }

/* ========== 8 個人情報保護方針 /privacypolicy.html
========================================================================== */
/* ========== 9 サイトマップ /sitemap.html
========================================================================== */
/* --------------------------- pc 
-----------------------------*/
@media only screen and (min-width: 769px) { body { font-size: 1.8rem; }
  body::before { padding-top: calc(1760 / 3204 * 100%); background: linear-gradient(to bottom, rgba(251, 243, 230, 0) 0%, rgba(251, 243, 230, 0) 70%, #f7f1da 100%), url(/common2/images/home/bg_mv.jpg) 0 0 no-repeat; background-size: cover; }
  #wrapper { top: 100px; /* width: calc(100% - 50px);*/ /* min-width: 1160px;*/ }
  	/*------------- 	header ---------------*/
  .header { height: 100px; background-color: transparent; }
  .header-inner { padding: 0 0 0 20px; }
  .header-logo { margin-right: 30px; max-width: 276px; }
  .header-lead { font-size: 1.3rem; line-height: 1.38; }
  .header-menu-list { display: flex; position: relative; top: 0; bottom: inherit; width: inherit; height: inherit; box-shadow: none; }
  .header-menu-list li { width: 96px; height: 100px; border-right: none; background-color: transparent; }
  .header-menu-text { font-size: 1.3rem; }
  .header-access { /* margin-right: 40px;*/ }
  .header-menu-icon { font-size: 41px; }
  .header-menu-icon.icon-pc { font-size: 36px; }
  .header-nav-icon { width: 96px; height: 100px; background-color: #fff; }
  .header-nav-icon span { width: 42px; height: 42px; top: 20px; }
  .header-nav-text { font-size: 1.3rem; margin-top: 44px; }
  .header-menu-inner { top: 100px; }
  .header-info-btn-list { margin: 0 auto; max-width: 768px; }
  	/*------------- 	footer-info ---------------*/
  .footer-info-wrap { display: flex; justify-content: space-between; margin: 60px 0 0; padding: 0; }
  .footer-info-r { width: 55%; }
  .footer-info-img { width: 336px; }
  .footer-info-map iframe { height: 450px; }
  .footer-info-text { margin-top: 50px; font-size: 1.8rem; }
  .footer-info-menu { position: relative; top: -30px; text-align: left; font-size: 1.8rem; }
  	/*------------- 	footer ---------------*/
  .footer { position: relative; }
  .footer-info-btn-list { width: 380px; }
  .footer-info-btn-list .btn { max-width: inherit; }
  .footer-info-btn-list .btn-wh { max-width: inherit; border: solid 2px #D09997; font-size: 2.0rem; }
  .footer-btm { border-top: none; padding: 20px 0; }
  .footer-cr { font-size: 1.6rem; }
  /* footer-nav */
  .footer-nav-area { padding: 50px 0; border-top: none; }
  .footer-nav-head { padding-left: 0; display: flex; justify-content: space-between; }
  .footer-nav-title { font-size: 2.0rem; }
  .footer-nav-link a { color: #cb8e8c; }
  .footer-nav-link::before { margin-top: -7px; width: 12px; height: 12px; border-left: 2px solid #cb8e8c; border-bottom: 2px solid #cb8e8c; -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
  .footer-nav-link a:hover::before { opacity: 0.5; }
  .footer-nav-inner { display: flex; flex-direction: inherit; margin: 20px -40px; font-size: 1.6rem; }
  .footer-nav-inner > li { padding: 0 40px; border-left: 1px dotted #ccc; }
  	/* ========================================================================== parts ========================================================================== */
  	/*medical-menu-list ======================== */
  .medical-menu-list { flex-direction: inherit; }
  .medical-menu-list li { margin: 20px 20px; width: calc(100% / 3 - 40px); text-align: center; display: flex; border-top: none; }
  .medical-menu-list li a { margin-top: 25px; padding-top: 25px; border-top: none; flex-direction: column; }
  .medical-menu-image { margin: 20px auto; width: 190px; max-width: inherit; }
  .medical-menu-title { font-size: 2.8rem; }
  .medical-menu-title::after { right: -18px; top: 9px; width: 14px; height: 14px; border-right: 2px solid #cb8e8c; border-bottom: 2px solid #cb8e8c; }
  .container { margin: 45px auto 0; }
  /*section*/
  .section { margin-top: 30px; padding-bottom: 30px; }
  .col-inner { max-width: 1120px; /*1080 + 40*/ margin: 0 auto; padding: 0 20px; }
  .content-block { padding: 50px 60px 50px; max-width: 1080px; border-radius: 10px; }
  	/*.main { float: left; width: calc(100% - 350px); max-width: 800px; }*/
  /* pattern  ======================== */
  .bg-pattern::before { background: url("/common2/images/base/bg_pattern.png") center 0 repeat; background-size: 120% auto; }
  /* button ======================== */
  /* btn */
  .btn { margin: 20px auto 0; max-width: 300px; /*inherit;*/ height: 54px; line-height: 50px; font-size: 1.8rem; border: solid 2px #D09997 !important; }
  .btn-wh { height: 54px; line-height: 50px; max-width: 300px; font-size: 1.8rem; border: solid 2px #D09997 !important; }
  .btn-wh:hover { border: solid 2px #D09997; }
  .bnr-reserve { width: 100%; max-width: 1080px; height: 150px; line-height: 150px; background: url("/common2/images/base/bg_reserve_pc.png"); border-radius: 20px; }
  .bnr-reserve span { font-size: 3.0rem; letter-spacing: 0.1em; }
  .bnr-reserve span:before { left: -60px; width: 46px; height: 38px; }
  .bnr-reserve::after { right: 40px; width: 46px; height: 46px; }
  /* === title ======================== */
  /* ページタイトル === */
  .page-title { margin-bottom: 50px; font-size: 3.1rem; }
  .section-title { font-size: 2.8rem; }
  .m-linear-title { font-size: 2.8rem; }
  	/* ========================================================================== コンテンツページ共通 ========================================================================== */
  .content-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }
  .content-l { width: 48%; max-width: 434px; }
  .content-r { width: 300px; }
  .content-title { margin: 20px auto 30px; /* 40px*/ font-size: 3.1rem; color: #7d8083; }
  .content-title-icon { font-size: 5.2rem; }
  .bg-texture { background-size: 111px 161px; }
  .content-lead { margin-top: 0; margin-bottom: 40px; font-size: 3.0rem; }
  .content-lead span { border-bottom: solid 1px #CB8E8C; }
  .content-text { font-size: 1.8rem; }
  .icon-info, .icon-information { font-size: 4.0rem; }
  	/* ========================================================================== Helper classes ========================================================================== */
  .m-sp-only, .br-sp { display: none !important; }
  .m-pc-only, .br-pc { display: block !important; }
  .txt-caution { font-size: 1.6rem; }
  	/* ========== トップページ ========================================================================== */
  /* MainVisual */
  .home-mv-content { position: relative; max-width: 1300px; /*760px;*/ margin: 0 auto -60px; }
  .home-mv-image { margin: 0 auto 60px; width: 432px; display: none; }
  .home-mv-content-inner { height: 320px; max-width: 615px; }
  .home-mv-title { font-size: 2.5rem; }
  .home-mv-title span { font-size: 3.2rem; }
  .home-mv-lead { font-size: 5.0rem; }
  .home-mv-lead .sub { font-size: 3.9rem; }
  	/*home-info-list ======================== */
  .home-info.content-block { padding-bottom: 20px; }
  .home-info-head { margin-bottom: 30px; }
  .home-info-title { font-size: 3.1rem; }
  .home-info-link a { font-size: 1.8rem; }
  .info-list-date { padding-right: 20px; }
  .info-list-cat { padding-right: 20px; }
  .info-list-cat span { font-size: 1.4rem; }
  .info-list-text { display: table-cell; padding-right: 32px; width: 100%; font-size: 1.8rem; }
  .info-list-text a::before { right: -35px; width: 32px; height: 32px; }
  	/*tbl-timetable ======================== */
  .tbl-timetable { margin: 20px 0 10px; }
  .tbl-timetable th { padding: 12px 5px; font-size: 1.7rem; }
  .tbl-timetable th.th-sub { font-size: 1.6rem; }
  .tbl-timetable th span { font-size: 1.4rem; }
  .tbl-timetable td { padding: 16px 5px; font-size: 1.8rem; border: dotted 1px #7D8083; }
  .tbl-timetable td span { font-size: 1.4rem; }
  	/*home-clinic ======================== */
  .col-2-wrap { margin: 0 -20px; display: flex; flex-direction: row-reverse; }
  .col-2 { margin: 30px 20px 0; width: calc(50% - 20px); }
  .col-2.content-block { padding: 50px 40px 50px; height: 520px; text-align: center; }
  .home-clinic { padding-top: 100%; }
  .home-clinic::before { height: 520px; background: url(/common2/images/home/bg_clinic_pc.png); }
  .home-clinic .content-title { font-size: 2.8rem; text-shadow: 1px 1px 8px #2B1912, 0px 0px 3px #2B1912; }
  .home-clinic .content-lead { margin-top: 30px; margin-bottom: 50px; font-size: 2.4rem; text-shadow: 1px 1px 8px #2B1912, 0px 0px 3px #2B1912; }
  .home-clinic .content-lead span::before { bottom: -3px; width: 330px; }
  	/*home-medical-menu-list ======================== */
  .home-medical-menu-list li { margin: 20px 20px; width: calc(100% / 3 - 40px); text-align: center; display: flex; border-top: none; }
  .home-medical-menu-wrap { display: flex; flex-direction: column-reverse; }
  .home-medical-menu-image { margin: 20px auto; width: 190px; }
  .home-medical-menu-title { font-size: 2.8rem; }
  .home-medical-menu-btn { width: 230px; }
  .home-medical-menu-btn .btn { height: 45px; line-height: 41px; font-size: 1.6rem; }
  	/* home-access ======================== */
  #access { margin-top: -130px; padding-top: 130px; }
  .access-map iframe { height: 400px; }
  .home-access-data { display: flex; flex-wrap: wrap; }
  .home-access-data dt { padding: 18px 10px; width: 40%; text-align: center; }
  .home-access-data dd { padding: 18px 30px; width: 60%; }
  /* ========== 2 クリニック紹介 /clinic/ ========================================================================== */
  .doctor-image { width: 48%; max-width: 457px; height: auto; }
  .doctor-name { font-size: 2.4rem; line-height: 1; }
  	/* slider ----------------------------------------------------------------------------- */
  .slider-area { padding-bottom: 50px; }
  .slider-area .slide_arrow { height: 62px; width: 62px; bottom: 10px; left: 50%; }
  .slider-area .slide_arrow.l { margin-left: -300px; }
  .slider-area .slide_arrow.l:before { width: 62px; height: 62px; border: 2px solid #cb8e8c; }
  .slider-area .slide_arrow.l:after { margin-top: -8px; margin-left: -4px; width: 16px; height: 16px; border-top: 2px solid #cb8e8c; border-left: 2px solid #cb8e8c; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
  .slider-area .slide_arrow.r { margin-left: 240px; }
  .slider-area .slide_arrow.r:before { width: 62px; height: 62px; border: 2px solid #cb8e8c; }
  .slider-area .slide_arrow.r:after { margin-top: -8px; margin-left: -10px; width: 16px; height: 16px; border-right: 2px solid #cb8e8c; border-bottom: 2px solid #cb8e8c; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
  .slick-slide img { max-width: 580px; border-radius: 10px; overflow: auto; }
  /* ========== 3 一般皮膚科 /general-dermatology/ ========================================================================== */
  /** clinic-content  **/
  .clinic-content-wrap { display: flex; }
  .clinic-content { margin: 0 10px; width: calc( 100% / 3 - 20px ); }
  /** clinic-flow-list  **/
  .clinic-flow-list { margin: 0 -20px 40px; display: flex; }
  .clinic-flow-list li { margin-bottom: 0; width: calc( 100% / 3 - 40px ); text-align: center; flex-direction: column; }
  .ico-flow-next { margin-bottom: 0px !important; }
  .ico-flow-next::before { position: absolute; content: ""; bottom: auto; left: inherit; right: -50px; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); width: 50px; height: 15px; background: url(/common2/images/general-dermatology/ico_flow_next.svg) no-repeat; background-size: cover; }
  /* === 皮膚のトラブルと症状 /general-dermatology/trouble/ ======================== */
  /* ========== 4 美容皮膚科 /aesthetic-dermatology/ ========================================================================== */
  .clinic-content-title { padding-top: 20px; min-height: 140px; }
  /* === 施術方法詳細 /aesthetic-dermatology/xeo-limelight/ ======================== */
  /** mod- **/
  .mod-container { padding: 60px 60px 50px; max-width: 1080px; border-radius: 10px; }
  .mod-container--w700 { margin: 0 auto; width: 700px; }
  .mod-column { font-size: 1.8rem; }
  .mod-row .mod-column { float: left; padding: 0 10px; width: 100%; box-sizing: border-box; }
  /*	 .mod-row .mod-column.mod-one-third { 	width: 33.33333%; } /*3column*/
  /*  table  */
  .mod-price-table__wrap::before { background: none; }
  .mod-price-table { margin: 25px 0 50px 0; min-width: inherit; font-size: 1.6rem; }
  .mod-price-table tbody th { padding: 1em 22px; }
  .mod-price-table td { padding: 1em 25px; /*1em 32px;*/ }
  .mod-price-table__ion01 { width: 371px; }
  .mod-price-table__ion02 { width: 141px; }
  .mod-price-table__ion03 { width: 176px; }
  .mod-price-table__ion04 { width: 236px; }
  .mod-price-table__ion05 { width: 246px; }
  .mod-price-table__message { display: none; }
  .aesthetic-menu__description-box--wrap { margin-bottom: 50px; }
  .aesthetic-menu__description-icon { padding: 5px 60px; font-size: 2.9rem; }
  .aesthetic-menu__description--title { font-size: 5.4rem; font-weight: 500; padding: 20px 0 40px; }
  .aesthetic-menu__description--subtitle { font-size: 2.8rem; }
  .aesthetic-menu__description--subtitle { padding: 20px 0; }
  /*	 .aesthetic-menu__description--subtitle { 	display: inline-block; 	width: 110px; 	font-size: 1.5rem; 	border-radius: 2em; 	background-color: #cb8e8c; 	color: #fff; 	} */
  .aesthetic-menu__description--img { margin-bottom: 40px; max-width: 622px; }
  .aesthetic-menu--list { padding: 0 40px; display: flex; flex-wrap: wrap; justify-content: space-between; }
  .aesthetic-menu--list li { width: calc( 50% - 10px ); }
  /* ========== 5 小児皮膚科 /pediatric-dermatology/  ========================================================================== */
  /* ========== 6 お知らせ /information/ ========================================================================== */
  /* === 一覧ページ ======================== */
  /* === 記事詳細ページ ======================== */
  /* post */
  .post-area { padding: 60px 60px 50px; max-width: 1080px; border-radius: 10px; }
  .post-header { padding: 30px 50px 50px; }
  .post-title { font-size: 2.8rem; }
  .post-body { margin: 20px 50px 50px; font-size: 1.8rem; }
  .post-body p { margin-bottom: 1.5em; }
  .post-body h1 { font-size: 2.4rem; }
  .post-body h2 { font-size: 2.0rem; }
  .post-body h3 { font-size: 2.2rem; }
  .post-body h4 { font-size: 1.8rem; }
  .post-body .alignleft { float: left; margin-right: 45px; margin-bottom: 45px; }
  .post-body .alignright { float: right; margin-left: 45px; margin-bottom: 45px; }
  .post-body table th { padding: 15px 10px 15px 20px; }
  .post-body table td { padding: 15px 10px 15px 20px; }
  .post-body ul li::before { top: 0; left: -23px; width: 20px; height: 20px; }
  .post-body ol { margin-bottom: 3em; }
  /*  pager  */
  .info-pager-area { margin: 40px auto; }
  .btn-next::before { top: 4px; }
  .btn-prev::before { top: 4px; }
  /* ========== 7 アクセス /access/ ========================================================================== */
  .section-access .content-block { padding: 60px 140px 60px; }
  .section-access .content-title { margin-bottom: 40px; }
  .access-btn-list .btn-wh { margin: 30px 0; }
  /* ========== 8 個人情報保護方針 /privacypolicy.html ========================================================================== */
  /* ========== 9 サイトマップ /sitemap.html ========================================================================== */ }
@media all and (-ms-high-contrast: none) and (max-width: 768px) { .m-column-cont { /*    margin-top: 200px!important;  IE10以上 */ } }
