@charset "utf-8";

/*
Theme Name: kenbikai
Theme URI: https://www.kenbikai-clinic.com/
Description: 青山研美会クリニックテーマ
Author: 青山研美会クリニック
*/

/*html5 fix*/
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display: block; }
audio[controls], canvas, progress, video { display: inline-block; *display: inline; *zoom: 1; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
template { display: none; }
[hidden] { display: none !important; }
svg:not(:root) { overflow: hidden; }/*IE9*/
@-ms-viewport { width: device-width; }/*IE10inWIN8*/

/*setup*/
*,*::before,*::after { margin: 0; padding: 0; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

html, body { height: 100%; }
html { -webkit-overflow-scrolling: touch; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -ms-overflow-style: scrollbar; -webkit-tap-highlight-color: transparent; }

body { width: 100%; font-family: "Avenir","Helvetica Neue","Helvetica","Arial", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, YuGothicM, "游ゴシック体", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif; font-size: 14px; font-weight: normal; line-height: 1.8em; color: #444; text-align: left; background-color: #fff; }


img { font-size: 0; line-height: 0; vertical-align: bottom; border: none; -ms-interpolation-mode: bicubic; }
ul, dl, ol { list-style-type: none; list-style-position: outside; }
em { font-style: normal; font-weight: bold; }
br { letter-spacing: normal; }
table { border-collapse: collapse; border-spacing: 0; }
caption, th { text-align: left; }
p { text-align: justify; /*IE6*/ text-justify: inter-ideograph; }
a { outline: none; background-color: transparent; color: #0060ff; text-decoration: none; }
a:active, a:hover { outline: 0; }
a:hover { /*text-decoration: underline;*/ }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
dfn { font-style: italic; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
pre { overflow: auto; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
label { display: inline-block; }
button { border-radius: 0; }
button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; }
input,button,select,optgroup,textarea { font-family: inherit; font-size: inherit; line-height: inherit; /*-webkit-appearance: none; appearance: none;*/ }
button,input { overflow: visible; }
button,select { text-transform: none; }
button,[type="button"],[type="reset"],[type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner { border-style: none; }
input[type="radio"],input[type="checkbox"] {}
input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"] { -webkit-appearance: listbox; }
textarea { display: block; overflow: auto; }
fieldset { min-width: 0; border: 0; }
legend { display: block; width: 100%; max-width: 100%; line-height: inherit; color: inherit; white-space: normal; }
progress { vertical-align: baseline; }
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { outline-offset: -2px; -webkit-appearance: none; }
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { font: inherit; -webkit-appearance: button; }
output { display: inline-block; }
summary { display: list-item; cursor: pointer; }

h1, h2, h3, h4, h5, h6 { text-align: left; line-height: 1.5em; position: relative; }
h1 { font-size: 2.4em; }
h2 { font-size: 2em; }
h3 { font-size: 1.5em; }
h4 { font-size: 1.2em; }
h5 { font-size: 1.2em; }
h6 { font-size: 1em; }
p { font-size: 1em; }
dl { font-size: 1em; }
dt { font-weight: bold; }
hr { border: 0; border-bottom: 1px dashed #ccc; margin: 30px 0; clear: both; }
hr.double { border-bottom: 3px double #ccc; }
/*clearfix*/
.clearfix:before, .clearfix:after { content: ""; display: block; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }/*IE67*/

/*util*/
.clear { clear: both; }
.m_foot { clear: both; font-size: 0; line-height: 0; height: 0; visibility: hidden; display: block; }
.block { display: block; }
.inline { display: inline-block; }
.tcenter { text-align: center; }
.tleft { text-align: left; }
.tright,.alignR { text-align: right; }
.nowrap { white-space: nowrap; }
.fleft { float: left; }
.fright { float: right; }
.fnone { float: none; }
.red { color: #FF0000; }
.bold { font-weight: bold; }
.txi_x { text-indent: -9999px; }
.nobd { border: none; }
.noscroll { overflow: hidden; }
.stxt { font-size: 80%; }
.centerbox { margin: 0 auto; padding: 0 10px; position: relative; float: none; }
.serif,aside ul,.pagetitle .inner h2,.column ul.column,.column ul.addcolumn { font-family: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
/*module*/
.sp,.tab { display: block; }
.spin { display: inline; }
.pc,.pcin { display: none; }
@media screen and (min-width: 768px) {
	.tab { display: block; }
}
@media screen and (min-width: 480px) {
/* PCのみ表示用 */
	.sp,.spin { display: none !important; }
	.pc { display: block; }
	.pcin { display: inline; }
}
.anchor { padding-top: 150px; margin-top: -150px; }
@media screen and ( max-width: 767px){
	.anchor { padding-top: 90px; margin-top: -90px; }
}

span.new { background: #ff9685; color: #FFF;  font-weight:bold; border-radius: 50%; padding: 2px 20px 0 20px; font-size: 18px; line-height: 22px; position: absolute; top: -3px; right: -80px; }
h2 span.new { top: -21px; }
.cfield span.new { top: -4px; left: 90px; right: auto; font-size: 16px; line-height: 20px; }
.h_sub span.new { top: 7px; left: 90px; right: auto; font-size: 16px; line-height: 20px; }


.localNav span.new { background: #ff644d; }
.localNav li { padding-bottom: 10px; }
.localNav li a { display: block; position: relative; }
.localNav span.new { top: 5px; left: 5px; animation: flash 1.0s linear infinite; }
@keyframes flash {
  0%,100% { opacity: 1; }
  50% { opacity: 0.25; }
}

/*ポップアップ*/
input#popup { display: none; }

/* ポップアップwindow部分 */
#overlay {
    visibility: visible;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10000;
    width: 100%;
    height: 100%;
}
/* オーバーレイの背景部分 */
#bg_gray {
    background: rgba(0,0,0,0.5);
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10001;
}
/* ウィンドウ部分 */
#window {
    width: 90%; max-width: 600px;
    padding: 30px;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 20px -6px rgba(0,0,0,0.6);
    z-index: 10002;
    opacity: 1;
}
/* 閉じるボタン */
#btn_cloth {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    /*background-color: #CE5D8B;*/
    border-radius: 5px;
    z-index: 100;
    cursor: pointer;
}
/*#btn_cloth:hover {
    opacity: 0.7;
}*/
#btn_cloth span,
#btn_cloth span::before {
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background: #333;
}
#btn_cloth span {
    transform: rotate(45deg);
}
#btn_cloth span::before {
    content: "";
    position: absolute;
    bottom: 0;
    transform: rotate(-90deg);
}


/* クリックで表示 */
/*#popup:checked ~ #overlay {
    visibility: hidden;
}*/
#popup:checked ~ #overlay {
    animation: fadeout 500ms forwards;
    animation-timing-function: ease-in-out;
}
@keyframes fadeout {
  0% { opacity: 1; } 
	100% { opacity: 0; visibility: hidden; }
}

/* コンテンツ部分のスタイル */
main #msg p { margin: 0; }
#msg p .red { text-decoration: underline; }





/*ベース*/
#wrapper { min-height: 100%; padding: 130px 0; position: relative; }
#container { width: 100%; max-width: 1000px; margin: 0 auto; padding: 0 20px; display: flex; flex-direction: row-reverse; position: relative; }
main { flex: 1; padding-bottom: 50px; }
aside { width: 240px; margin-right: 20px; /*padding: 0 40px 0 0;*/ }
article { padding: 0 20px; }
section { position: relative; }


/*ページ上部へ戻るボタン*/
#go_top { display: block; position: fixed; right: 0; bottom: 0; z-index: 8999; -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s; }
#go_top a { position: relative; display: block; height: 50px; width: 50px; text-decoration: none; background: rgba(255,150,133,0.9); }
#go_top a:hover { opacity: 1; }
#go_top a:before { content: ''; width: 20px; height: 20px; border: 0; border-top: solid 2px #fff; border-right: solid 2px #fff; position: absolute; top: 22px; left: 16px;  transform: rotate(-45deg); }
@media screen and ( max-width: 767px){
	#go_top { bottom: 50px; }
}

/*--ヘッダー--*/
header { width: 100%; height: 130px; position: fixed; top: 0; left: 0; z-index: 9000; box-shadow: 0 0 8px 0 rgba(0,0,0,0.25); background: #fff; }
header .inner { display: block; width: 100%; max-width: 1000px; margin: 0 auto; padding: 5px 0 0 0; position: relative; text-align: center; }
header .logo { display: inline-block; margin-top: 0px; float: left; }
header .logo img { height: 70px; width: auto; }

header .copy { float: left; display: block; white-space: nowrap; margin: 23px 0 0 30px; }
header .copy .departments,header .copy .info { display: block; text-align: center; }
header .copy .departments { font-size: 13px; line-height: 18px; }
header .copy .info { font-size: 11px; line-height: 18px; }

header .tel { display: block; position: absolute; top: -75px; right: 0; padding: 0 10px; background: #ffded9; color: #941e23; border-radius: 0 0 10px 10px; }
header .tel a { text-decoration: none; color: #941e23; }
header .tel .ttl { display: block; font-size: 13px; line-height: 17px; padding: 3px 5px 0 5px; /*border-bottom: 1px solid #fff;*/ }
header .tel .stxt { display: inline-block; font-size: 11px; }
header .tel .num { display: block; font-size: 18px; line-height: 20px; letter-spacing: 0.1em; padding: 0; font-weight: bold; }
header .tel .icon { display: inline-block; font-size: 12px; line-height: 20px; letter-spacing: 0; margin-right: 5px; }

header .web { display: block; font-size: 13px; line-height: 22px; padding: 2px 10px 5px 10px; }
header .web a { display: block; padding: 0 0 0 32px; margin: 0; background: #fff url("images/icon_reserve.svg") 14px top no-repeat; background-size: auto 21px; border-radius: 5px; border-style: solid; border-color: #ff9685; border-width: 0 1px 1px 0; }
header .web a:hover { background-color: #fff4f3; }

header.is-fixed {}
header.is-fixed .logo {}
header.is-fixed .logo img {}

#g_navi { display: block; clear: both;}
nav { display: block; padding: 10px 0 10px 0; position: relative; }
nav ul { display: flex; justify-content: space-between; height: 35px; position: relative; border-left: 1px solid #ff9685; }
nav ul li { flex-grow: 1; border-right: 1px solid #ff9685; position: relative; }
nav ul li a { display: block; height: 35px; font-size: 14px; line-height: 19px; text-decoration: none; text-align: center; color: #444; position: relative; }
nav ul li.current_page_item a,nav ul li a:hover { color: #ff9685; }
nav ul li a .sub { display: block; height: 20px; font-size: 12px; line-height: 16px; color: #ff9685; }
nav ul ul li a .sub { height: 15px; }
nav ul li a:hover { background-color: #ffe8e5; }

nav ul li a .arrow:after { position: absolute; content: ""; border: 10px solid transparent; border-top: 6px solid #ffcac2; width: 20px; bottom: -18px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }

nav ul ul { visibility: hidden; opacity: 0; display: block; border: none; background: #fff; padding: 10px 10px 10px 10px; position: absolute; top: 10px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); box-shadow: 0 3px 3px 0 #ccc; height: auto; min-width: 100%; white-space: nowrap; }
@media screen and ( min-width:768px ){
	nav ul > li:hover ul { visibility: visible; opacity: 1; top: 35px; }
	nav ul li:last-child ul { right: 0; left: auto; -webkit-transform: translateX(0); transform: translateX(0); }
}

nav ul ul li { display: block; border-right: none; border-bottom: 1px dashed #ffcac2; }
nav ul ul li:first-child { border-top: 1px dashed #ffcac2; }
nav ul ul li a { height: auto; padding: 10px 0; }

nav ul input.toggle { display: none; }

#nav-tl-menu { line-height: 0; height: 0; }
#nav-input { display: none; }
#nav-open,#nav-close { display: block; position: relative; }


/*--フッター--*/
footer { background: #941e23; width: 100%; margin-top: 80px; padding: 20px 0 0px 0; text-align: center; position: absolute; bottom: 0; }
footer ul,footer p { display: block; width: 100%; margin: 0 auto; text-align: center; }

footer ul { display: block; }
footer li { display: inline-block; margin: 0 10px; }
footer li a { display: block; padding: 5px 5px 5px 10px; font-size: 12px; line-height: 20px; color: #fff; font-weight: bold; text-decoration: none; position: relative; }
footer li a:hover { text-decoration: underline; }
footer li a::before { position: absolute; top: 0; bottom: 0; left: 0; margin: auto; content: ""; vertical-align: middle; }
footer li a::before { left: 0px; width: 6px; height: 6px; border: 6px solid transparent; border-left: 6px solid #fff; }

footer p { max-width: 1000px; height: 50px; padding: 18px 0 0 0; font-size: 11px; line-height: 14px; text-align: center; color: #ffffff; }
footer p a { text-decoration: none; color: #ffffff; margin-right: 5px; }
footer p a:hover { text-decoration: underline; }

footer #fbanner { display: none; }

@media screen and ( max-width: 767px){
footer { padding: 20px 0 70px 0; }
footer #fbanner { position: fixed; z-index: 8000; bottom: 0; right: 0; width: 100%; height: 50px; display: flex; box-shadow: 0 0 8px 0 rgba(0,0,0,0.25); }
footer #fbanner a { display: block; height: 50px; background-repeat: no-repeat; background-size: auto 90%; background-position: center 50%; border-style: solid; border-color: #941e23; text-indent: -9999px; }
footer #fbanner a.tel { width: 40%; background-image: url("images/float_tel.png"); background-color: #f4f6fc; border-width: 0 1px 0 0; }
footer #fbanner a.web { width: 60%; background-image: url("images/float_web.png"); background-color: #fbf6f3; border-width: 0 0 0 0; }
}


/*--サイドバー--*/
aside ul,aside dl { margin-bottom: 30px; }
aside ul li,aside dl { }
aside ul li { margin-bottom: 10px; border: 1px solid #ccc; border-radius: 6px; }
aside ul li a { border: 1px solid #fff; background-color: #fff; border-radius: 5px; }

aside ul a,aside dl a { display: block; height: 100%; text-decoration: none; color: #444; background-repeat: no-repeat; background-size: contain; position: relative; }
aside ul li:hover,aside ul a:hover { border: 1px solid #ff9685; opacity: 0.7; }

aside ul.tcare { font-size: 17px; line-height: 22px; }
aside ul.tcare li a { background-color: #fff4f3; text-align: center; padding: 0 0 0 50px; display: flex; flex-direction: column; justify-content: center; background-position: left top 50%; background-size: 60px; }
aside ul.tcare .sttl { display: block; font-size: 12px; transform: scaleX(0.9); }

aside ul li.tc_concept { height: 90px; }
aside ul li.tc_flow { height: 60px; }
aside ul li.tc_menu { height: 60px; }

aside ul li.tc_concept a { background-image: url("images/sbox_treatment.png"); }
aside ul li.tc_flow a { background-image: url("images/sbox_flow.png"); }
aside ul li.tc_menu a { background-image: url("images/sbox_menu.png"); }

aside ul.column { font-size: 15px; line-height: 20px; }
aside ul.column a:before { content: ''; width: 18px; height: 18px; position: absolute; bottom: 5px; right: 5px; background: #ff9685; border-radius: 9px; }
aside ul.column a:after { content: ""; vertical-align: middle; margin: auto; position: absolute; bottom: 9px; right: 5px; width: 8px; height: 6px; border: 5px solid transparent; border-left: 5px solid #fff; }
aside ul.column li a { padding: 0 10px; display: flex; flex-direction: column; justify-content: center; }
aside ul.column li.co_skincare a,aside ul.column li.co_nutrition a { height: 100%; padding-top: 40px; justify-content: flex-start; font-size: 13px; line-height: 15px; }
aside ul.column .sttl { display: block; font-size: 11px; line-height: 20px; margin-bottom: 2px; }
aside ul.column .stxt { font-size: 12px; line-height: 15px; margin: 10px 0 0 0; position: relative; }
aside ul.column .stxt:before { content: ''; width: 120px; height: 1px; border-top: 1px dotted #ff9685; position: absolute; top: -5px; left: 0; }
aside ul.column .mtxt { font-size: 13px; line-height: 16px; }

aside ul.column .sttl,aside ul.column .stxt { text-shadow: 1px 1px 2px #FFF, -1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px -1px 2px #FFF, 0px 1px 2px #FFF,  0 -1px 2px #FFF, -1px 0 2px #FFF, 1px 0 2px #FFF; }

aside dl.trouble { font-size: 14px; line-height: 22px; }

aside ul li.co_rejuvenation,aside ul li.co_advice { height: 120px; }
aside ul li.co_rejuvenation a,aside ul li.co_advice a { }
aside ul li.co_rejuvenation a { background-image: url("images/headimage_rejuvenation.jpg"); background-position: right -17px top 50%; }
aside ul li.co_advice a { background-image: url("images/headimage_advice.jpg"); background-position: right -6px top 50%; }
aside ul li.co_skincare,aside ul li.co_nutrition { height: 90px; }
aside ul li.co_skincare a,aside ul li.co_nutrition a { background-position: center top;  }
aside ul li.co_skincare a { background-image: url(images/pic_image_skincare.jpg);  }
aside ul li.co_nutrition a { background-image: url(images/pic_image_diet.jpg); }

aside dl { font-size: 14px; line-height: 25px; text-align: center; }
aside dt { background-color: #ff9685; color: #fff; border-radius: 5px 5px 0 0; }
aside dd { padding: 2px; border-width: 0 1px 1px 1px; border-style: solid; border-color: #ccc; background-color: #fff; }
aside dd a { padding: 5px 5px; background-color: #eee; position: relative; }
aside dd a:before { content: ""; vertical-align: middle; margin: auto; position: absolute; top: 0; bottom: 0; left: 5px; width: 10px; height: 8px; border: 6px solid transparent; border-left: 6px solid #ff9685; }
aside dd a:hover { background-color: #ffe8e5; }


/*共通*/
main h3 { margin: 60px 0 30px 0; text-align: center; background: #941e23; color: #fff; border-radius: 50px; }
main h3:first-of-type { margin: 20px 0 30px 0; }
main p { margin: 10px 10px 20px 10px; }

main ul.plist { margin: 10px 10px 20px 10px; line-height: 1.5em; }
main ul.plist li { padding-left: 1em; margin-bottom: 10px; }
main ul.plist li:last-child { margin-bottom: 0; }
main ul.plist li:before { display: inline-block; 
  vertical-align: middle; content:''; width: 8px; height: 8px; background: #ff9685; border-radius: 50%; margin-right: 4px; margin-left: -12px; margin-top: -4px; }

main dl.plist { margin: 10px 10px 20px 10px; line-height: 1.5em; }
main dl.plist dd { padding-left: 1em; margin-bottom: 10px; }

.fbox { display: flex; align-items: flex-start; }

@media screen and (max-width: 480px){
	main h3,main h3:first-of-type { margin: 40px -10px 20px -10px; }
	main p,main ul.plist,main dl.plist { margin: 10px 0 20px 0; }
}



/**/
.pagetitle { width: 100%; max-width: 1300px; height: 200px; margin: 0 auto; margin-bottom: 30px; display: flex; align-items: center; background-position: center 50%; background-repeat: no-repeat; background-image: url(images/hero_01.jpg); background-size: 1300px auto; }
.pagetitle .inner { width: 100%; max-width: 1000px; margin: 0 auto; padding: 0; text-align: center; }
.pagetitle .inner h2 { display: inline-block; text-align: center; min-width: 50%; }
.pagetitle .inner h2 .mttl { font-size: 30px; line-height: 40px; font-weight: normal; text-align: center; padding: 10px 20px; position: relative; display: inline-block; width: 100%; /*min-width: 50%;*/ position: relative; text-shadow:3px 3px 4px #FFF, -3px -3px 4px #FFF, -3px 3px 4px #FFF, 3px -3px 4px #FFF, 0px 3px 4px #FFF, 0 -3px 4px #FFF, -3px 0 4px #FFF, 3px 0 4px #FFF;
	background-color: rgba(255,150,133,0.2);　-webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);}

.pagetitle .inner .category { display: block; position: relative; margin-bottom: 10px;
 text-shadow:3px 3px 4px #FFF, -3px -3px 4px #FFF, -3px 3px 4px #FFF, 3px -3px 4px #FFF, 0px 3px 4px #FFF, 0 -3px 4px #FFF, -3px 0 4px #FFF, 3px 0 4px #FFF; }
.pagetitle .inner .category span { font-size: 18px; line-height: 22px; display: inline-block; width: 100%;/* position: absolute; top: -45px; left: 0;*/ padding: 0 10px 3px 10px; color: #ff9685; }
.pagetitle.mttl .inner .category span {/* top: -50px;*/ color: #941e23; border-bottom: 1px solid #941e23/*ff9685*/; }
.pagetitle.mttl .inner .category span.stxt { border: none; font-size: 12px; display: inline; padding: 0; }

.pagetitle .inner h2 .sttl { font-size: 18px; line-height: 25px; display: block; }
.pagetitle .inner h2 .ttype { font-size: 14px; line-height: 20px; display: block; height: 20px; margin: 10px 0 -20px 0; color: #941e23; }

.home .pagetitle { background-image: url(images/hero_home.jpg); max-width: 1200px; height: 300px; background-size: 1200px auto; }
.column .pagetitle { background-image: url(images/hero_02.jpg); }
.nayami .pagetitle { background-image: url(images/hero_03.jpg); }
.menu .pagetitle,.photobiomodulation .pagetitle { background-image: url(images/hero_04.jpg); }
.access .pagetitle,.reserveinfo .pagetitle,.recruit .pagetitle { background-image: url(images/hero_05.jpg); }
.medical-esthetic .pagetitle { background-image: url(images/hero_medical-esthetic.jpg); }



/**/
.single-info p { margin: 20px; }


@media screen and (max-width: 1000px){
	header .logo img { margin-left: 10px; }
	nav > ul { border-left: none; }
	nav ul > li:last-child { border-right: none; }
}

@media screen and (max-width: 800px){
	header .tel { padding: 0 5px; }
	header .tel .ttl { font-size: 12px; padding: 0; }
}

@media screen and ( max-width: 767px){
	#wrapper { padding: 70px 0 170px 0; }
	#container { flex-direction: column; }
	/*article { padding: 20px; }*/
	
	aside { width: 100%; padding: 0; }
	aside ul,aside dl { /*width: 100%;*/ display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-around; }
	aside ul { width: 50%; float: left; }
	/*aside ul.tcare { padding-right: 10px; }
	aside ul.column { padding-left: 10px; }*/
	aside dl { width: 100%; }
	
	aside ul li { width: 100%; max-width: 240px; margin-bottom: 15px; }
	aside ul.tcare li { width: 100%; max-width: 100%; }
	aside ul li.tc_concept,aside ul li.tc_flow,aside ul li.tc_menu { height: 60px; }
	aside ul li.co_skincare, aside ul li.co_nutrition { height: 100px; }
	aside ul.column li.co_skincare a,aside ul.column li.co_nutrition a { padding-top: 45px; }
	aside ul.tcare li a { padding: 0; }
	
	aside dl { justify-content: flex-start; }
	aside dt { width: 100%; }
	aside dd { width: 50%; }
	
	header { height: 70px; }
	header .inner { height: 70px; }
	header .logo img { height: 55px; }
	header .copy { /*display: none;*/ margin: -8px 0 0 70px; }
	header .copy .departments { font-size: 11px; line-height: 18px; }
	header .tel { position: relative; top: auto; margin: 20px 0; border-radius: 0; }
	
	#g_navi { display: block; float: none; position: absolute; top: 0; right: 0; }
	#nav-drawer { position: absolute; top: 0; right: 0; z-index: 99999; }
	/*アイコンのスペース*/
	#nav-open { display: inline-block; width: 50px; height: 50px; vertical-align: middle; margin: 10px 10px 0 0; }
	
	/*ハンバーガーアイコンCSS*/
	#nav-open span, #nav-open span::before, #nav-open span::after
	{ display: block; content: ''; cursor: pointer; position: absolute; height: 3px/*線の太さ*/; width: 30px/*長さ*/; border-radius: 3px; background: #941e23; }
	#nav-open span { top: 13px; left: 10px; }
	#nav-open span:before { bottom: -10px; }
	#nav-open span:after { bottom: -20px; }
	
	#nav-close,#nav-content { position: fixed; top: 70px; right: 0; }
	/*閉じる用の薄黒カバー*/
	#nav-close { z-index: 9200; width: 100%; height: calc( 100% - 120px ); background-color: rgba(0,0,0,0.5); opacity: 0; visibility: hidden; }
	/*中身*/
	#nav-content { z-index: 9999; width: 90%; height: calc( 100% - 120px ); min-width: 320px; background: #fff; border-radius: 20px 0 0 20px; -webkit-transform: translateX(105%); transform: translateX(105%); }
	/*開いた際のエリア部分*/
	#nav-tl-menu { display: block; padding: 30px 10px 0 18px; font-size: 16px; font-weight: bold; letter-spacing: 3px; color: #fff; background: #941e23; text-align: center; width: 70px; height: 70px; position: absolute; top: 0; right: 0px; opacity: 0; visibility: hidden; }
	
	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked ~ #nav-close, #nav-input:checked ~ #nav-tl-menu { visibility: visible; opacity: 1; }
	#nav-input:checked ~ #nav-content { -webkit-transform: translateX(0%); transform: translateX(0%); box-shadow: 6px 0 25px rgba(0,0,0,.15); }
	
	/* 閉じるボタン */
	#nav-drawer .close { position: absolute; top: 10px; right: 10px; width: 50px; height: 50px; }
	#nav-drawer .close:before, #nav-drawer .close:after { display: block; content: ""; position: absolute; top: 24px; left: 10px; margin-top: 0; width: 30px; height: 2px; background: #fff; }
	#nav-drawer .close:before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
	#nav-drawer .close:after { -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
	
	nav { padding: 10px 20px 0 20px; height: 100%; overflow: auto; }
	nav ul { display: block; height: auto; border-left: none; }
	nav ul li { border-right: none; border-bottom: 1px solid #ff9685; }

	nav ul li a { height: 50px; padding: 12px 0 0 20px; text-align: left; background-color: #fff4f3; }
	nav ul li a:before { content: ""; vertical-align: middle; margin: auto;
		position: absolute; top: 0; bottom: 0; left: 5px; width: 10px; height: 8px;
		border: 6px solid transparent; border-left: 6px solid #941e23; }
	nav ul li a .sub { margin-top: -4px; }
	nav ul li a .arrow:after { display: none; }
	
	nav ul li.haschild>a { pointer-events: none; background-color: transparent; }
	nav ul li.haschild>a:before { display: none; }
	
	nav ul ul { display: block; visibility: visible; opacity: 1; top: auto; left: auto; bottom: 0; height: 0; min-width: auto; line-height: 0; box-shadow: none; -webkit-transform: translateX(0); transform: translateX(0); overflow: hidden; position: relative; padding: 0; margin: 0 0 0 20px; background-color: #fff4f3; }
	nav ul ul li { /*border: none;*/ }
	nav ul ul li a { height: 0; padding: 0 0 0 15px; }
	nav ul ul li a:before { left: 5px; width: 10px; height: 8px; border: 6px solid transparent; border-left: 6px solid #941e23; }
	
	nav ul input.toggle:checked ~ ul { height: auto; margin-bottom: 10px; line-height: 15px; }
	nav ul input.toggle:checked ~ ul>li a { height: 40px; padding-top: 13px; }
	nav ul input.toggle:checked ~ ul>li a.double { padding-top: 5px; }
	
	nav ul label.t_arrow { display: block; width: 100%; height: 50px; position: absolute; top: 0px; right: 0; }
	nav ul label.t_arrow:before,nav ul label.t_arrow:after { position: absolute; content: ""; background: #941e23; width: 10px; height: 2px; top: 24px; }
	nav ul label.t_arrow:before { left: 6px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
	nav ul label.t_arrow:after { left: 0px; -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
	nav ul input.toggle:checked ~ label.t_arrow::before { -webkit-transform: rotate(0deg); transform: rotate(0deg);}
	nav ul input.toggle:checked ~ label.t_arrow::after { -webkit-transform: rotate(-180deg); transform: rotate(-180deg);}
	
	.pagetitle .inner { margin: 0 20px; }
	.pagetitle.mttl .inner { margin: 0 20px /*60px 20px 0 20px*/; }
	.pagetitle.mttl .inner .category span { /*width: calc( 100% + 40px ); top: -70px; left: -20px;*/ padding: 0 0 3px 0; }
	.medical-esthetic .pagetitle { background-size: cover; padding-bottom: 45px; }
	
	main h3 { /*margin: 20px -10px 40px -10px; padding: 5px 10px;*/ font-size: 1.4em; padding: 10px; line-height: 1.2em; }
}

@media screen and (max-width: 640px){
	aside { width: 100%; padding: 60px 20px 60px 20px; background: #fcf6f5; }
 .sectionMenu h3 .stxt:before { white-space: pre-wrap; content: '\A'; }
}

@media screen and (max-width: 480px){
	#container { padding: 0; }
	.pagetitle { background-position: left 50%;}
	.pagetitle .inner h2 { width: 100%; }
	.medical-esthetic .pagetitle { background-image: url(images/hero_medical-esthetic_sp.jpg); background-position: center 50%; }
	
	aside dd a { padding: 15px 5px; }
	
	footer p a { margin-right: 0; }
	
	aside ul { width: 100%; float: none; }
	aside ul.tcare { padding-right: 0; }
	aside ul.column { padding-left: 0; }
	
	main h3 .ttl { display: block; }
}

@media screen and ( max-width : 375px ){
}

@media (min-width: 481px) {
	a[href*="tel:"] { pointer-events: none; cursor: default; text-decoration: none; }
}


/*特徴*/
/*.feature main h3 { margin: 60px 20px 30px 20px; }
.feature main h3:first-of-type { margin: 20px 20px 30px 20px; }
.feature main p { margin: 10px 30px 20px 30px; }*/

.feature main p img { margin: 10px auto 20px auto; width: 100%; max-width: 500px; height: auto; }

.feature .concern .plist { margin: 10px 10px 20px 10px; padding: 10px 10px 10px 10px; border: 1px solid #ff9685; border-radius: 10px; }

.feature main .reason .fbox { flex-flow: wrap; margin: 0 -10px 20px -10px; }
.feature main .reason .block { width: 33.3%; padding: 0 20px; margin-bottom: 30px; }
.feature main .reason .block img { /*display: none;*/width: 100%; aspect-ratio: 3 / 2; }
.feature main .reason .block h4 { text-align: center; margin: 10px 0 10px 0; }
.feature main .reason .block p { margin: 0 0 10px 0; padding: 0 10px; line-height: 1.4em; }
@media screen and (max-width: 800px){
	.feature main .reason .block { width: 50%; }
}
@media screen and (max-width: 480px){
	.feature .concern .plist { margin: 10px 0 20px 0; }
	
	.feature main .reason .fbox { margin: 0 -20px 20px -20px; }
	.feature main .reason .block { width: 100%; }
	.feature main .reason .block h4 { font-size: 22px; }
}

/*自律神経検査*/
.photobiomodulation {}
.autonomic-nerves .box_list { margin: 10px 10px 0 30px; padding: 5px 0 0 0; border: 1px solid #ff9685; border-radius: 5px; }
.autonomic-nerves .fig1 h4 { text-align: center; color: #941e23; }
.autonomic-nerves .fig1 ul.plist { margin: 10px; }
.autonomic-nerves .fig1 ul.plist li { white-space: nowrap; margin-bottom: 5px; }

.autonomic-nerves .fig2 { justify-content: space-between; margin: 0 0 20px 0; width: 100%; }
.autonomic-nerves .fig2 img { margin: 0 10px; }
.autonomic-nerves .fig2 img.chi_1 { width: 25%; }
.autonomic-nerves .fig2 img.chi_2 { width: 30%; }
.autonomic-nerves .fig2 img.chi_3 { width: 35%; }

.autonomic-nerves .fig3 { justify-content: space-between; align-items: flex-start; margin: 0 0 0px 0; }
.autonomic-nerves .fig3 .block { /*width: 300px;*/ }
.autonomic-nerves .fig3 img { width: 40%; max-width: 300px; margin: 0 10px; }
.autonomic-nerves .fig3 ul.plist li { white-space: nowrap; margin-bottom: 5px; }

.autonomic-nerves .method { clear: both; margin: 10px 10px 20px 10px; padding: 1px 10px 1px 10px; background: #ffedeb; }
.autonomic-nerves .method h4 { margin: 20px 20px; text-align: center; background: #fff; color: #ff9685; border: 1px solid #ff9685; border-radius: 20px; }

@media screen and (max-width: 600px){
	.autonomic-nerves .fig1,.autonomic-nerves .fig3 { flex-direction: column;  }
	.autonomic-nerves .fig3 img { width: 100%; max-width: 500px; margin: 0 auto; }
	
	.autonomic-nerves .box_list { margin: 0 auto 20px auto; }
	.autonomic-nerves .fig2 { flex-wrap: wrap; }
	.autonomic-nerves .fig2 img { margin: 0 auto; }
	.autonomic-nerves .fig2 img.chi_1 { width: 40%; }
	.autonomic-nerves .fig2 img.chi_2 { width: 50%; }
	.autonomic-nerves .fig2 img.chi_3 { width: 100%; }
}
@media screen and (max-width: 470px){
	.autonomic-nerves .fig2 img.chi_1 { width: 60%; }
	.autonomic-nerves .fig2 img.chi_2 { width: 100%; }
	.autonomic-nerves .fig2 img.chi_3 { width: 100%; }
}


/*美容内科*/
.cosmetic-medicine {}
.cosmetic-medicine .pagetitle { background-image: url(images/hero_cm.jpg); }
.cosmetic-medicine .pagetitle .inner .category span { font-size: 21px; line-height: 25px; color: #941e23; }

.cosmetic-medicine main p img { margin: 10px auto 20px auto; width: 100%; max-width: 500px; height: auto; }
.cosmetic-medicine main p img.small { max-width: 350px; }

@media screen and ( max-width: 480px){
	.cosmetic-medicine .pagetitle { background-position: center 30%; background-size: auto 100%; }
	/*.cosmetic-medicine .pagetitle .inner h2 { width: 100%; }*/
}

/*スタッフ紹介*/
.stuff main .image img { border: 1px solid #ccc; border-radius: 10px; }

.stuff main dl.introduce { margin: 10px 30px 20px 30px; }
.stuff main dl.introduce dt { }

.stuff main dl.introduce dd { margin: 0 0 20px 0; }
.stuff main dl.introduce dt.name { margin: 0 0 20px 0; border-bottom: 1px solid #ffbaaa; font-size: 20px; }
.stuff main dl.introduce .position { font-size: 14px; display: block; }
.stuff main dl.introduce .department { font-size: 14px; }

.stuff main dl.introduce dl dt,.stuff main dl.introduce dl dd { padding: 0 0 0 20px; position: relative; }
.stuff main dl.introduce dl dt:before { content: ''; width: 12px; height: 12px; position: absolute; top: 7px; left: 0; background: #ffcac2; }

/*医師紹介*/
.doctor main .image img { border: 1px solid #ccc; border-radius: 10px; width: 150px; height: auto; }

.doctor main dl.introduce { margin: 10px 30px 20px 30px; }
.doctor main dl.introduce dt { }

.doctor main dl.introduce dd { margin: 0 0 20px 0; }
.doctor main dl.introduce dt.name { margin: 0 0 20px 0; border-bottom: 1px solid #ffbaaa; font-size: 20px; }
.doctor main dl.introduce .position { font-size: 14px; display: block; }
.doctor main dl.introduce .department { font-size: 14px; }

.doctor main dl.introduce dl dt,.doctor main dl.introduce dl dd { padding: 0 0 0 20px; position: relative; }
.doctor main dl.introduce dl dt:before { content: ''; width: 12px; height: 12px; position: absolute; top: 7px; left: 0; background: #ffcac2; }

@media screen and ( max-width: 600px){
	.doctor main .imageBlockLeft { display: block; }
	.doctor main .image { float: left; margin: 0 20px 20px 0; }
	.doctor main dl.introduce { margin: 10px 0 20px 0; }
	.doctor main dl.introduce .department { display: block; }
	.doctor main dl.introduce dt.name { margin: 0 0 20px 170px; padding-top: 80px; }
	.doctor main dl.introduce dd { clear: both; }
}

@media screen and ( max-width: 480px){
	.doctor main .image { margin: 0 15px 20px 0; }
	.doctor main .image img { width: 140px; }
	.doctor main dl.introduce dt.name { margin: 0 0 20px 150px; padding-top: 78px; }
}


/*メニュー*/
div.section { margin: 10px 20px 30px 20px; }
.menu em { color: #ff7c6a; }
.menu h4 { padding: 0 0 0 20px; position: relative; font-size: 18px; }
.menu h4:before { content: ''; width: 12px; height: 12px; position: absolute; top: 7px; left: 0; background: #ffcac2; }
.menu h5 { display: inline-block; padding: 0 20px; margin: 20px 0px 10px 0px; position: relative; font-size: 16px; border: 1px solid #ccc; border-radius: 50px; min-width: 200px; text-align: center; }
.menu p { margin: 10px 20px 20px 20px; }
.menu p em { font-weight: normal; }

.menu ol { counter-reset:number; list-style-type: none; line-height: 20px; margin: 0 20px; }
.menu ol li { padding-left: 25px; margin-bottom: 10px; }
.menu ol li:before { display:inline-block; width: 25px; margin-left: -25px; vertical-align: middle; counter-increment: number; content: counter(number)'）'; color: #ff9685; font-weight: bold; }
.menu ol .ttl { display: inline-block; font-weight: bold; margin-left: -5px; }

.menu .subdetail { padding: 10px 0; margin: 10px 20px 20px 45px; border: 1px solid #ccc; border-radius: 10px; }
.menu .subdetail p { line-height: 20px; margin-bottom: 0; }
.menu .subdetail p span.stxt { line-height: 15px; display:inline-block; }

.menu .subdetail dl { margin: 0 10px; line-height: 20px; }
.menu .subdetail dd { margin: -20px 0 10px 40px; }

.sectionMenu {
    padding: 20px 0 20px 0;
    border-top: 2px solid #ff9685;
}


.menuTable { width: 100%; margin: 0 0 30px 0; line-height: 1.5em; /*display: flex;*/ border-width: 0; border-collapse: collapse; }

.menuTable tbody { width: 100%; margin-bottom: 2px; }
.menuTable th,
.menuTable td {
padding:10px 5px;
text-align:left;
vertical-align:middle;
font-weight:normal;
border:1px solid #ccc;
}
.menuTable tr.txt_sp { display: none; }

.menuTable tr:nth-child(even) th,.menuTable tr:nth-child(even) td {
background:#fff5f2/*ffe9e4*/;
}
.menuTable tbody>tr:first-child th,.menuTable tbody>tr:first-child td { border-top-color: #941e23; border-top-width: 2px; }


.menuTable.tbl2 tr:nth-child(even) th,.menuTable.tbl2 tr:nth-child(even) td {
background:none;
}
.menuTable.tbl2 tr:nth-child(4n+3) th,.menuTable.tbl2 tr:nth-child(4n+3) td {
	background: #fff5f2; }
/*.menuTable tbody>tr:first-child th,.menuTable tbody>tr:first-child td { border-top-color: #941e23; border-top-width: 2px; }*/

.menuTable.tbl3 tbody:nth-child(odd) th,.menuTable.tbl3 tbody:nth-child(odd) td { background: none; }
.menuTable.tbl3 tr.even th,.menuTable.tbl3 tr.even td { background: #fff5f2; }
/*.menuTable.tbl3 tr.sep th,.menuTable.tbl3 tr.sep td { border-top: 1px solid #ccc; }*/
.menuTable.tbl3 tr.txt_sp td { background-color: #f5f5f5; }

.menuTable colgroup.sep { height: 15px; display: block; }
.menuTable tr.sep th,.menuTable tr.sep td { border-top: 4px double #ccc; }


.menuTable th.colorCell,
.menuTable td.colorCell {
background:#ffe9e4;
}
.menuTable th.noColorCell,
.menuTable td.noColorCell {
background:#fff;
}

.menuTable th { padding: 10px 5px 10px 10px; white-space: nowrap; font-weight: bold; width: 30%; }
.menuTable th.wauto { width: auto; }
.menuTable th.alignC { text-align: center; }
.menuTable td.alignC { text-align: center; padding: 10px 3px; white-space: nowrap; }
.menuTable td.alignC2 { text-align: center; padding: 10px 3px; }
.menuTable th.wrap { white-space: normal; }
.menuTable th .normal { display: block; margin-top: 10px; line-height: 1.3em; font-weight: normal; }

.menuTable,.menuTable dt,.menuTable dd,.menuTable .tgroup_r { border-style: solid; border-color: #ccc; }


.menuTable .tgroup_l { flex-basis: 60%; display: flex; flex-wrap: wrap; }
.menuTable .tgroup_r { flex-basis: 40%; display: flex; padding: 10px; border-width: 0 0 1px 0; background: #ffe9e4; }
.menuTable .tgroup_r .text { display: flex; align-items: center; }

.menuTable dl { width: 100%; display: flex; }
.menuTable dl.multi { flex-wrap: wrap; }
.menuTable dt,.menuTable dd { text-align: left; flex-grow: 1; border-width: 0 1px 1px 0; border-right-style: dashed; border-right-color: #ccc; }
.menuTable dt { padding: 10px 0 10px 10px; color: #941e23; flex-basis: 65%; font-size: 16px; }
.menuTable dt.double { border-width: 0 1px 0 0; }
.menuTable dd { padding: 10px; }
.menuTable dd.price { text-align: center; padding: 10px 0; white-space: nowrap; flex-basis: 35%; border-width: 0 0 1px 0; }
p .taxin { font-size: 12px; }
.menuTable .taxin { font-size: 12px; display: block; }
.menuTable .taxin2 { font-size: 12px; display: inline-block; }
.menuTable .stxt { font-size: 12px; }

.menuTable dl.multi dt,.menuTable dl.multi dt.null { flex-basis: 50%; }
.menuTable dl.multi dd.subtext { flex-basis: 24%; padding: 10px 5px 10px 5px; }
.menuTable dl.multi dd.price { flex-basis: 25%; }


.menu .attention { margin: 20px 20px 50px 20px; padding-bottom: 30px; border-bottom: 3px double #ccc; }
.menu .attention h4 { text-align: center; background: #ff9685; color: #fff; padding: 0; border-radius: 10px 10px 0 0; font-size: 16px; }
.menu .attention h4:before { content: none; }
.attentionTable { width:100%; border: 1px solid #ff9685; border-collapse: separate; border-radius: 0 0 10px 10px; line-height: 1.5em; }
.attentionTable th,.attentionTable td { padding: 15px 10px; text-align: left; vertical-align: middle; font-weight: normal; border-bottom:1px solid #ff9685; }
.attentionTable tr:last-child th,.attentionTable tr:last-child td { border: none; }
.attentionTable tr:last-child th { border-radius: 0  0 0 10px; }

.attentionTable th { background: #ffe9e4; white-space: nowrap; }
.attentionTable th.wfix { width: 30%; }
.attentionTable ol { margin: 0; }
/*.attentionTable ol { counter-reset:number; list-style-type: none; line-height: 20px; }
.attentionTable ol li { padding-left: 25px; margin-bottom: 6px; }
.attentionTable ol li:before { display:inline-block; width: 25px; margin-left: -25px; vertical-align: middle; counter-increment: number; content: counter(number)'）'; color: #ff9685; font-weight: bold; }*/

.attentionTable ul { line-height: 1.5em; }
.attentionTable ul li { padding-left: 1em; margin-bottom: 10px; }
.attentionTable li:last-child { margin-bottom: 0; }
.attentionTable ul li:before { display: inline-block; 
  vertical-align: middle; content:''; width: 6px; height: 6px; background: #ff9685; border-radius: 50%; margin-right: 6px; margin-left: -12px; }

.attentionTable hr { margin: 10px 0; }


.lastSection { padding-left: 25px; }
.cosmeColumn { padding-bottom: 24px; zoom: 1; }
.cosmeColumn:after { height: 0; display: block; clear: both; visibility: hidden; content: "."; line-height: 0; }
.cosmeColumn .cosmeBlock{ width: 50%; padding: 0 25px 0 0; float: left; }
.cosmeColumn .cosmeBlock .block { float: left; width: 65%; padding:0; }
.cosmeColumn .cosmeBlock .image { float: right; width: 35%; padding: 0; }
.cosmeColumn img { width: 100%; height: auto; }
.cosmeColumn dl dt { font-weight:bold; border-bottom:1px solid #ccc; }
.cosmeColumn dl dd.txt { padding-right: 5px; }


.localMenu { max-width: 540px; margin: 0 auto 40px auto; }
.localMenu li { display: block; width: 100%; margin: 0 0 15px 0; padding: 2px; border: 1px solid #ccc; border-radius: 6px; }
.localMenu li a { display: block; width: 100%; /*height: 38px;*/ color: #444; text-align: left; font-size: 15px; line-height: 20px; padding: 9px 0 9px 20px; background: #f4f4f4 url(images/btn_arrow_1.png) 2px 50% no-repeat; border-radius: 3px; text-decoration: none; font-weight: bold; }
.localMenu li a:hover { color: #fff; background: #ff9585 url(images/btn_arrow_1w.png) 2px 50% no-repeat; }

@media screen and (max-width: 1000px){
	.menuTable th { white-space: normal; }
}

@media screen and (max-width: 480px){
	div.section { margin: 10px 0 30px 0; }
	
	.menuTable { flex-wrap: wrap; }
	.menuTable .tgroup_l,.menuTable .tgroup_r { flex-basis: 100%; width: 100%; }
	.menuTable dl.multi dt,.menuTable dl.multi dt.null { flex-basis: 40%; }
	.menuTable th { padding: 5px; white-space: normal; min-width: 10em; }
	.menuTable th.wauto { min-width: auto; }
	.menu .attention { margin: 30px 0 50px 0; }
	.attentionTable th { vertical-align: top; white-space: normal; min-width: 7em; }
	.attentionTable th,.attentionTable td { padding: 5px; }
	.localMenu { width: 100%; }
	
	.menuTable td.alignC { white-space: normal; }
	.menuTable td.txt_pc { display: none; }
	.menuTable tr.txt_sp { display: table-row; }
	.menuTable tr.txt_sp td { border-top: 4px double #ccc; background-color: #f5f5f5; }
	.menuTable.tbl2 tr.txt_sp td { border-top: 1px solid #ccc; border-bottom: 4px double #ccc; background: none; }
	.menuTable.tbl2 tr.txt_sp:last-child td { border-bottom: 1px solid #ccc; }
	
	.menuTable.tbl2 tr:nth-child(4n+4).txt_sp td {
	background: #fff5f2; }
	
	
	.lastSection { padding-left: 0; }
	.cosmeColumn { padding-bottom: 0; }
	.cosmeColumn .cosmeBlock{ width: 100%; padding: 0 0 25px 0; }
	
}


/*流れ*/
.flow main h2 { font-size: 28px; line-height: 35px; padding-left: 30px; margin: 0 0 30px 0; border-bottom: 2px solid #ffcac2; position: relative; }
.flow main h2:before { content: ''; width: 16px; height: 16px; position: absolute; top: 8px; left: 5px; background: #ffcac2; }
.flow main h2 .sttl { display: block; font-size: 0.8em; color: #ff9685; text-align: center; }

.flow ul.flow_fuki { filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .1)); }
.flow .flow_fuki li { display: block; height: 125px; position: relative; clear: both; margin: 0 80px 30px 80px; background: #fff4f3; }
.flow .flow_fuki li:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(255, 244, 243, 0);
	border-top-color: #fff4f3;
	border-width: 20px;
	margin-left: -20px;
}
.flow .flow_fuki li:last-child:after { border: none; }
.flow .flow_fuki li h3 { display: block; font-size: 20px; line-height: 20px; background: none; padding: 15px 0 0 0; margin: 0 0 0 30px; color: #444; text-align: left; }
.flow .flow_fuki li p { display: block; font-size: 16px; line-height: 25px; margin: 5px 50px 0 50px; }
.flow .flow_fuki li img { float: right; height: 125px; width: auto; }

@media screen and (max-width: 480px){
	.flow .flow_fuki li { margin: 0 0 30px 0; height: auto; }
	.flow .flow_fuki li h3 { margin: 0 0 0 10px; color: #444; width: 100%; }
	.flow .flow_fuki li p { margin: 5px 20px 0 20px; padding-bottom: 10px; }
	.flow .flow_fuki li img { margin-left: 0; }
	.flow .flow_fuki li img:last-of-type { margin-left: 10px; }
}


/*メディカルエステ*/
.medical-esthetic main h3 { background: none; color: #941e23; font-size: 35px; line-height: 35px; padding: 25px 0 0 15px; font-weight: normal; margin: 30px 0 0 0; border-bottom: 1px solid #cc8f92; border-left: 3px solid #941e23; border-radius: 0; text-align: left; }
.medical-esthetic main h3 .stxt { font-size: 16px; margin-left: 20px; }
.medical-esthetic main h4 { display: block; background: #cc8f92; color: #fff; font-size: 18px; line-height: 20px; padding: 5px 0 4px 0; margin: 0 20px; text-align: center; }
.medical-esthetic main p { font-size: 14px; line-height: 21px; margin: 10px 30px; }
.medical-esthetic main h3 + p { margin-bottom: 40px; }
.medical-esthetic main dl { display: block; font-size: 14px; line-height: 20px; margin: 20px 60px 40px 60px; }
.medical-esthetic main dt { display: block; height: 20px; padding: 0 0 0 15px; font-size: 16px; background: url(images/icon_squareS.gif) no-repeat 0 3px; color: #941e23; }
.medical-esthetic main dt .subtxt { display: block; font-size: 12px; }
.medical-esthetic main dd { display: block; margin: -20px 0 20px 0; padding: 0 0 20px 0; border-bottom: 1px dashed #ccc; text-align: right; }
.medical-esthetic main dd .stxt { font-size: 12px; }
.medical-esthetic main dd .double { display: inline-block; }
.medical-esthetic main dd .annotation { display: inline-block; width: 270px; text-align: left; vertical-align: top; margin-left: 10px; }
.popularity { display: inline-block; font-size: 14px; line-height: 17px; height: 17px; background: #ffb2ec; color: #fff; margin-left: 8px; padding: 0 8px; border-radius: 20px; vertical-align: top; }

.medical-esthetic .ptopmenu h3,.medical-esthetic .ptopmenu dl { border-color: #ff9685; border-style: solid;}
.medical-esthetic .ptopmenu h3 { border-width: 1px 1px 0 1px; border-radius: 20px 20px 0 0; font-size: 21px; line-height: 25px; margin: 0 20px; text-align: center; }
.medical-esthetic .ptopmenu dl { display: flex; flex-flow: wrap; margin: 0 20px 40px 20px; padding: 20px 10px 10px 10px; border-width: 0 1px 1px 1px; border-radius: 0 0 20px 20px; }
.medical-esthetic .ptopmenu dt { height: auto; width: 35%; font-size: 24px; line-height: 25px; background: none; font-weight: normal; position: relative; padding: 0; margin: 0 0 10px 0; }
.medical-esthetic .ptopmenu dt span { display: block; font-size: 14px; text-indent: -7px; }
.medical-esthetic .ptopmenu dt a { display: block; text-decoration: none; color: #941e23; padding: 7px 0 3px 30px; border-radius: 50px; background: #ffe8e5; }
.medical-esthetic .ptopmenu dt a:before { content: ''; width: 14px; height: 14px; border: 0; border-top: solid 2px #ff9685; border-right: solid 2px #ff9685; position: absolute; top: 23px; left: 5px; transform: rotate(45deg); }
.medical-esthetic .ptopmenu dd { width: 65%; text-align: left; margin: 0 0 30px 0; padding: 10px 10px 0 10px; border-top: 1px dashed #ccc; border-bottom: none; }
@media screen and (max-width: 639px){
	.medical-esthetic .ptopmenu h3 { margin: 0;}
	.medical-esthetic .ptopmenu  dl{ display: flex; flex-flow: wrap; margin: 0 0 40px 0; }
	.medical-esthetic .ptopmenu dt,.medical-esthetic .ptopmenu dd { width: 100%; }
	.medical-esthetic .ptopmenu dd { border: none; margin: 0 25px 30px 25px; font-size: 13px; padding: 10px 5px 0 5px; }
	
	.medical-esthetic main h3 .stxt { display: block; }
	.medical-esthetic main h4 { margin: 0 0px; }
	.medical-esthetic main p { margin: 10px 10px; }
	.medical-esthetic main dl { margin: 20px 10px 40px 10px; }
	.medical-esthetic main dt { height: auto; }
	.medical-esthetic main dd { margin: 0px 0 20px 0; }
	.medical-esthetic main dd .annotation { display: block; width: auto; text-align: left; vertical-align: top; margin: 0 15px; padding-top: 5px; border-top: 1px solid #ffcac2; color: #666; }
}


/*悩み*/
.nayami main h2 { font-size: 28px; line-height: 35px; padding-left: 30px; margin: 60px 0 40px 0; border-bottom: 2px solid #ffcac2; position: relative; }
.nayami main h2:first-of-type { margin: 0 0 40px 0; }
.nayami main h2:before { content: ''; width: 16px; height: 16px; position: absolute; top: 8px; left: 5px; background: #ffcac2; }
.nayami main h2 .sttl { display: block; font-size: 0.8em; color: #ff9685; text-align: center; }
.nayami main p { margin: 10px 30px 20px 30px; }
.nayami main p .mainimg { display: block; width: 200px; height: auto; float: right; margin: 0 0 20px 20px; filter: drop-shadow( 0 0 10px #ffe4e0); }
.nayami main p .subimg { width: 100%; max-width: 360px; margin: 0px auto; text-align: center; }
.nayami main ul { margin: 10px 30px 20px 30px; }
.nayami main h3 { margin: 60px 0 30px 0; text-align: center; background: #fff; color: #ff9685; border: 1px solid #ff9685; border-radius: 20px; }
.nayami main h3:first-of-type { margin: 0 0 30px 0; }
.nayami main h4 { margin: 10px 20px 0 20px; text-align: left; background: #941e23; color: #fff; display: inline-block; padding: 0 10px; }
.nayami .method { margin: 40px 30px 20px 30px; padding: 1px 0; /*border: 2px solid #ffcac2; border-radius: 20px;*/ background: #ffedeb/*ffe4e0*/; }
.nayami main .method p.box { display: block; padding: 10px; background: #fff; border-radius: 10px; }
.nayami main .method hr { margin: 30px 20px; }

.nayami main dl { display: flex; flex-flow: wrap; }
.nayami main dt { width: calc(50% - 5px); border: 1px solid #ccc;  background-color: #fff; padding: 2px; }
.nayami main dt:nth-child(odd) { margin: 0 5px 10px 0; }
.nayami main dt:nth-child(even) { margin: 0 0 10px 5px; }
.nayami main dt a { display: block; text-align: center; text-decoration: none; color: #444; font-size: 18px; padding: 25px 5px; background-color: #eee; position: relative; }
.nayami main dt a:before { content: ""; vertical-align: middle; margin: auto; position: absolute; top: 0; bottom: 0; left: 5px; width: 10px; height: 8px; border: 6px solid transparent; border-left: 6px solid #ff9685; }
.nayami main dt a:hover { background-color: #ffe8e5; }

@media screen and (max-width: 479px){
	.nayami main h2 { font-size: 24px; line-height: 30px; }
	.nayami main p { margin: 10px 10px 20px 10px; }
	.nayami main p .mainimg { float: none; margin: 0 auto 20px auto; }
	.nayami .method { margin: 40px 0 20px 0; }
	.nayami main .method p { margin: 10px 20px 20px 20px;}
}


/*コラム*/
.imageBlockLeft { display: flex; align-items: flex-start; padding: 0 0 40px 0; }
.imageBlockLeft .mainimg { width: 200px; height: auto; margin: 0 0 0 20px; }
.imageBlockLeft .block {}

.column .pagetitle .inner {}
.column .pagetitle .inner h2 { font-size: 26px; line-height: 35px; padding-left: 30px; margin: 0 auto; }

.antiaging_column .pagetitle .inner,.aa_column .pagetitle .inner,
.rejuvenation_column .pagetitle .inner { text-align: right; }

.antiaging_column .pagetitle .inner h2,.aa_column .pagetitle .inner h2,.rejuvenation_column .pagetitle .inner h2 { margin: 0 40px 0px 0; padding-right: 20%; background: #fff right 50% no-repeat; background-size: auto 130%; width: 100%; max-width: 680px; border: 1px solid #ccc; border-radius: 10px; }
.antiaging_column .pagetitle .inner h2,.aa_column .pagetitle .inner h2 { background-image: url(images/headimage_advice.jpg);}
.rejuvenation_column .pagetitle .inner h2 { background-image: url(images/headimage_rejuvenation.jpg);}


.column .pagetitle .inner .sbox { text-align: left; }
.column .pagetitle .inner .sbox .ttl_s { font-size: 0.5em; display: block; }
.column .pagetitle .inner .sbox .ttl_m {}
.column .pagetitle .inner .sbox .ttl_d { font-size: 0.7em; display: block; border-top: 1px dotted #ff9685; }


.column main h2 { border-bottom: 2px solid #ffcac2; padding-left: 40px; font-size: 24px; margin: 0 20px 40px 20px; }
.column main h2:before { content: ''; width: 16px; height: 16px; position: absolute; top: 8px; left: 5px; background: #ffcac2; }
.column main h2 .sttl { display: block; font-size: 0.8em; color: #ff9685; text-align: center; }
.column main article h2 { margin: 60px 0 40px 0; }

.column main h4 { padding-left: 20px; font-size: 18px; margin: 40px 0 0 0; font-weight: bold; }
.column main h4:before { content: ''; width: 12px; height: 12px; position: absolute; top: 5px; left: 0; background: #ffcac2; }

/*.column main h3 { margin: 20px 20px 30px 20px; }*/

.column main p.iconSquareS { padding-left: 20px; position: relative; }
.column main p.iconSquareS:before { content: ''; width: 12px; height: 12px; position: absolute; top: 5px; left: 0; background: #ffcac2; }

.column main p.clinic { padding: 20px; background: #ffedeb; }

.column main dl { margin: 10px 30px 60px 30px; padding: 0 15px 15px 15px; border: 1px solid #ff9685; }
.column main dt { font-size: 18px; border-top: 1px solid #ff9685; border-bottom: 1px dashed #ccc; margin: 0 0 10px 0; padding-top: 30px; position: relative; }
.column main dt:first-child { border-top: none; margin-top: 0; }
.column main dt a { display: block; width: 100%; }
.column main dt span.new {
    background: #ff9685;
    color: #FFF;
    font-weight: bold;
    border-radius: 50%;
    padding: 2px 20px 0 20px;
    font-size: 18px;
    line-height: 22px;
    position: absolute; top: 5px; left: -10px; right: auto; }

.column hr { margin: 0 0 30px 0;}
.column main .block {}

.imageLeft2 { float: left; margin: 0 20px 40px 0; }
.imageRight2 { float: right; margin: 0 0 40px 20px; }

.column main img.headimg { width: 100%; height: auto; margin: 0 0 40px 0; }
img.aligncenter { margin: 0 auto; display: block; }

.columnNextPrev { text-align: center; border-top: 1px solid #ccc; margin: 60px 0 0 0; padding: 30px 0 0 0; }

.columnNextPrev span {
display:inline-block;
width: auto/*142px*/; padding: 0 20px;
height:24px;
line-height:24px;
text-align:center;
}
.columnNextPrev span.mid {
border-right:1px solid #ff9685;
border-left:1px solid #ff9685;
}
.columnNextPrev span.leftEnd {
border-right:1px solid #ff9685;
}
.columnNextPrev span.rightEnd {
border-left:1px solid #ff9685;
}


.column main ul.column { margin: 0 auto; max-width: 400px; display: block; }
.column main ul.column li { margin: 0 20px 40px 20px; /*padding-right: 20%;*/ background: #fff right 50% no-repeat; background-size: auto 130%; width: 100%; border: 1px solid #ccc; border-radius: 10px; display: block; }
.column main ul.column li:hover { border-color: #ff9685; opacity: 0.7; }

.column main ul.column li a { padding: 10px 130px 10px 10px; display: block; font-size: 18px; color: #444; min-height: 135px; }
.column main ul.column li a .sttl { font-size: 0.5em; display: block; }
.column main ul.column li a .stxt { font-size: 0.7em; display: block; border-top: 1px dotted #ff9685; line-height: 20px; }

.column main ul.column .co_advice { background-image: url(images/headimage_advice.jpg);}
.column main ul.column .co_rejuvenation { background-image: url(images/headimage_rejuvenation.jpg);}

.column main ul.column .co_skincare,.column main ul.column .co_nutrition { background-position: left top; background-size: 100% auto; }
.column main ul.column .co_skincare a,.column main ul.column .co_nutrition a { padding-top: 70px; }

.column main ul.column .co_skincare { background-image: url(images/pic_image_skincare.jpg);}
.column main ul.column .co_nutrition { background-image: url(images/pic_image_diet.jpg);}

.column main ul.addcolumn { margin: 80px auto 0 auto; max-width: 400px; display: block; }
.column main ul.addcolumn li { margin: 0 20px 40px 20px; width: 100%; border: 1px solid #ccc; border-radius: 10px; display: block; }
.column main ul.addcolumn li:hover { border-color: #ff9685; opacity: 0.7; }
.column main ul.addcolumn li a { display: flex; justify-content: space-between; align-items: center; font-size: 18px; color: #444; position: relative; min-height: 70px; }
.column main ul.addcolumn li a .txtbox { width: calc(100% - 120px); padding: 0 10px; }
.column main ul.addcolumn li a .imgbox { height: auto; width: 120px; border-radius: 0 10px 10px 0; overflow: hidden; align-self: stretch; position: relative; }

.column main ul.addcolumn li a img { height: auto; width: 100%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); }


@media screen and ( max-width: 768px){
	.antiaging_column .pagetitle .inner,.aa_column .pagetitle .inner,
.rejuvenation_column .pagetitle .inner { text-align: center; }
	.antiaging_column .pagetitle .inner h2,.aa_column .pagetitle .inner h2,.rejuvenation_column .pagetitle .inner h2 { margin: 0 auto; }
	
	.column main ul.column li,.column main ul.addcolumn li { margin: 0 0 30px 0; }
}

@media screen and (max-width: 480px){
	.column .pagetitle .inner h2 { font-size: 24px; line-height: 30px; padding-left: 10px; }
	.pagetitle .inner h2 .mttl { display: block; font-size: 26px; }
	.antiaging_column .pagetitle .inner h2 .mttl,.aa_column .pagetitle .inner h2 .mttl,.rejuvenation_column .pagetitle .inner h2 .mttl { padding: 10px 0 10px 10px; font-size: 21px; }
		
	.imageLeft2,.imageRight2 { float: none; display: block; margin: 0 auto 20px auto; width: 100%; height: auto; }
	.column main h2 { font-size: 24px; line-height: 30px; padding-left: 5px; margin: 20px 20px 0 20px; border-left: 5px solid #ffcac2; }
	.column main h2:before { content: none; width: 16px; height: 16px; position: absolute; top: 8px; left: 5px; background: #ffcac2; }
	.column main h2 .sttl { display: block; font-size: 0.8em; color: #ff9685; text-align: center; padding-right: 5px; }
	.column main dl { margin: 10px 0 60px 0; }
	/*.column main h3 { padding: 10px; font-size: 1.4em; margin: 20px 0; }
	.column main p { margin: 10px 0 20px 0; }*/
}


/*トピックス*/
.info_block { padding: 20px; margin-bottom: 30px; border: 1px solid #ccc; }
.info_block .main { padding: 20px 10px 0 10px; border-top: 1px solid #ccc; }
.info_block p.cfield { font-size: 14px; line-height: 20px; padding: 0 10px; /*width: 100px; color: #941e23;*/ position: relative; border-bottom: 1px solid #ccc; }
.info_block p.ctitle { font-size: 16px; line-height: 22px; padding: 5px 10px; border-top: 1px solid #ccc; }

main .info_block h3 { margin: 10px 20px 10px 20px; text-align: center; background: none; color: #941e23; border-radius: 0; }


/*アクセス*/
.access section { text-align: center; }
section.map { margin: 0 40px; }
section.map #accessMap { width: 100%; height: 300px; }
section.map .imgmap { width: 100%; height: auto; margin: 0 0 30px 0; }


.access dl.about { margin: 0 40px 40px 40px; }
.about dt { width: 7em; float: left; font-weight: bold; padding: 6px 0 4px 0; }
.about dd { padding:6px 0 4px 7em; border-bottom: 1px dotted #ccc; zoom: 1; text-align: left; }
.about dd.time { padding-left: 0; }
.about dd:after{ height: 0; display: block; clear: both; visibility: hidden; content: "."; line-height: 0; }
.about dd span.info { display:block; padding: 0 0 15px 7em; }
.reserveinfo .about dd span.info { padding-left: 0; }

.accessInquiry {}
.access main p.accessInquiry { display: inline-block; border: 1px solid #ff7c6a; border-radius: 10px; padding: 10px 20px; margin: 30px 0 0 0; text-align: center; }
p.accessInquiry em { color: #ff7c6a; }

table.timetable { border: 1px solid #941e23; width: 100%; margin: 0 0 10px 0; line-height: 1.1em; }
.timetable th,.timetable td { text-align: center; border-left: 1px solid #ccc; border-bottom: 1px solid #941e23; }
.timetable tr {}
.timetable tr.am {}
.timetable th { padding: 5px 5px; text-align: center; color: #941e23; background: #fff4f3; border-top: 1px solid #941e23; }
.timetable th.title { border-right: 1px solid #941e23; border-bottom: 1px solid #941e23; border-left-color: #941e23; }
.timetable th.week { min-width: 50px; }
.timetable th.department { background: #941e23; color: #fff; border-right: 1px solid #941e23; border-left-color: #941e23; }
.timetable th.department.first { border-bottom: 1px solid #ccc; }
.timetable td { padding: 10px 3px; background: #fff; }
.timetable td.time { color: #941e23; background: #fff4f3; border-right: 1px solid #941e23; }
.timetable td.work { color: #ff9685; font-weight: bold; }
.timetable td.open { color: #ff9685; }
.timetable td.close { color: #666; font-weight: bold; background: #f5f5f5; }
.timetable tr.am td { border-bottom: 1px dashed #ccc; }

.access main p,.reserveinfo main p { margin: 10px 30px 20px 30px; }

.rsv_info { margin: 50px 10px 0 10px; }
.rsv_info .about dt { float: none; width: auto; font-size: 16px; line-height: 20px; /*color: #999;*/ font-weight: bold; text-align: center; margin-bottom: 5px; }
.rsv_info .about dd { padding: 0; border-bottom: none; }
.rsv_info .about table { width: 100%; }

@media screen and ( max-width:768px ){
	section.map { margin: 0; }
	.access dl.about { margin: 0 0 40px 0; }
	.about dd span.info { padding: 0 0 15px 0; text-align: center; }
	.timetable th { padding: 5px 3px; }
	.timetable th.department { padding: 0 3px; white-space: nowrap; }
	.timetable th.week { min-width: 0; }
	.timetable td { padding: 5px 3px; width: 55px; }
	.timetable td.time { width: auto; }
}
@media screen and ( max-width:640px ){
	.timetable td { width: 23px; }
}


/* access info
======================================== */
.r_info { }

.r_info ol { counter-reset:number; list-style-type: none; line-height: 20px; margin: 0 20px; }
.r_info ol li { padding-left: 25px; margin-bottom: 6px; }
.r_info ol li:before { display:inline-block; width: 25px; margin-left: -25px; vertical-align: middle; counter-increment: number; content: counter(number)'）'; color: #ff9685; font-weight: bold; }

.r_info ul { line-height: 20px; }
.r_info ul li { padding-left: 1em; margin-bottom: 6px; }
.r_info li:last-child { margin-bottom: 0; }
.r_info ul li:before {display:inline-block; 
  vertical-align: middle; content:'';
  width:10px; height:10px;
  background: #ff9685;
  border-radius: 50%;
  margin-right: 6px; margin-left: -12px; }

.r_info .large ol,.r_info .large ul,.r_info .large p { font-size: 16px; margin: 15px 40px; }

.r_info .attention { padding: 15px 20px; margin: 20px 10px 10px 10px; border-radius: 10px; border: 1px solid #ccc; }
.r_info .attention h5 { color: #ff9685; margin-bottom: 5px; }


/*トップページ*/
.home {}
.home article { padding: 0; }
.home main { display: flex; }
.home .h_main { flex-basis: 70%; }
.home .h_sub { flex-basis: 30%; padding-left: 30px; }

.home .pagetitle .inner h2 { font-size: 20px; line-height: 35px; width: 100%; }
.home .pagetitle .inner h2 .mttl { padding: 15px 0; width: 100%; }
.home .pagetitle .inner h2 .mtxt { font-size: 30px; }
.home .pagetitle .inner h2 .subtext { display: inline-block; font-size: 20px; line-height: 30px; margin-top: 15px; padding: 0 55px 0 65px; background: rgba(255,255,255,0.5); color: #941e23; }

.home main h3 { font-size: 16px; line-height: 20px; color: #999; font-weight: bold; background: none; border-radius: 0; text-align: left; margin: 0; /*color: #ff9685; border: 1px solid #ff9685;*/ }
/*.home .h_main h3 { border-top: 2px solid #ff9685; text-align: center; }*/
.home .h_sub h3 { border-top: 2px solid #ccc; margin: 0 0 15px 0; padding-top: 15px; }
.home main p { margin: 0; }
	
.hm_topic { border: 2px solid #ff0000; border-radius: 6px; margin: 0 0 30px 0; padding: 0 10px 15px 10px; text-align: center; }
.hm_topic p { display: inline-block; margin: 0 auto; }
.hm_topic p a { display: block; width: 180px; margin: 10px auto 0 auto; padding: 5px 0; text-align: center; background: #ff9685; color: #fff; font-size: 16px; line-height: 20px; border-radius: 5px; position: relative; }
.hm_topic p a::before { content: "";
    position: absolute;
    content: "";
    border: 6px solid transparent;
    border-left: 8px solid #fff;
    width: 0px; height: 12px;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
.hm_topic p a:hover { background-color: #ffcac2; }

.home .hm_topic h3 { border: none; color: #ff0000; font-size: 20px; line-height: 22px; margin: 0 0 10px 0; padding-top: 15px; text-align: center; }

/*.hm_top { background: url("images/mbox_bk.jpg") left bottom no-repeat; background-size: contain; text-align: right; }
.home .hm_top h3 { border-top: 2px solid #ff9685; color: #ff9685; padding: 15px 0; font-weight: normal; text-align: center; font-size: 22px; line-height: 40px; }

aside .hm_top ul.tcare { width: calc(100% - 240px); margin: 0 0 0 auto; }
aside .hm_top ul li.tc_menu { height: 40px; margin-bottom: 0; }
aside .hm_top ul.tcare li a { background-color: #fff4f3; text-align: center; padding: 0 0 0 50px; display: flex; flex-direction: column; justify-content: center; background-position: left 20px top 50%; background-size: 90px; }*/

.home a.arrow { display: block; position: relative; padding: 10px 25px 10px 10px; height: 100%; }
.home a.arrow h3 { padding-left: 15px; }
.home a.arrow h3::before { content: "";
    position: absolute;
    content: "";
    border: 10px solid transparent;
    border-left: 10px solid #ffcac2;
    width: 8px; height: 20px;
    top: 50%;
    left: 0/*-10px*/;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
.home a.arrow:hover { background-color: rgba(255,202,194,0.2); opacity: 0.7; }

.hm_btn a.arrow { background-position: left bottom; background-repeat: no-repeat; background-size: cover; }

.hm_btn { border: 1px solid #ccc; border-top: 2px solid #941e23; margin: 0 0 30px 0; border-radius: 5px 5px 5px 5px; padding: 2px; }

.hm_concept p,.hm_doctor p,.hm_medicine p,.hm_photobio p { color: #444; border-top: 1px solid #ccc; padding: 5px 10px; }

.home main .hm_concept h3,.home main .hm_doctor h3,.home main .hm_column h3 { color: #444; font-weight: normal; font-size: 18px; line-height: 25px; }

.hm_concept { }
.hm_concept a.arrow { padding-left: 200px; min-height: 160px; background-image: url("images/mbox_concept_bk2.jpg"); }

.hm_concept h3 {}
.hm_concept h4 { color: #ff9685; padding: 0; margin: 0 0 0 0; font-weight: normal; text-align: center; font-size: 22px; line-height: 40px; }
.home main .hm_concept p { text-align: center; font-size: 16px; line-height: 25px; padding-top: 15px; }
.hm_concept p .stxt { display: block; font-size: 14px; }

.hm_doctor { /*height: 100px;*/ }
.hm_doctor h3 {}
.hm_doctor p {}
.hm_doctor a.arrow { display: flex; align-items: center; padding: 0 25px 0 200px; min-height: 100px; background-image: url("images/mbox_doctor_bk.jpg"); }

.hm_column a.arrow { display: flex; align-items: center; padding: 0 25px 0 200px; min-height: 100px; background-image: url("images/mbox_column_bk.jpg"); }

.hm_menu { display: flex; }
.hm_menu .block {}
.home main .hm_menu h3 { font-size: 14px; }
.hm_menu h3 span { display: block; color: #444; font-weight: normal; text-align: left; font-size: 18px; line-height: 25px; }
.hm_menu .nonsurgical,.hm_menu .surgical { width: 50%; height: 100px;}
.hm_menu .nonsurgical { margin-right: 10px; }
.hm_menu .surgical { margin-left: 10px; }
.hm_menu a.arrow { display: flex; align-items: center; padding-right: 0; }
.hm_menu .nonsurgical a.arrow { background-image: url("images/mbox_menu1_bk.jpg"); }
.hm_menu .surgical a.arrow { background-image: url("images/mbox_menu2_bk.jpg"); }

.home main .hm_medicine h3,.home main .hm_photobio h3 { font-weight: normal; font-size: 22px; line-height: 30px; color: #444; }

.hm_medicine { }
.hm_medicine a.arrow { padding: 10px 0 0 200px; min-height: 160px; background-image: url("images/mbox_medicine_bk2.jpg"); }
.hm_medicine h3 {}
.hm_medicine p {}

.hm_photobio { }
.hm_photobio a.arrow { padding: 10px 0 0 200px; min-height: 160px; background-image: url("images/mbox_photobio_bk2.jpg"); }
.hm_photobio h3 {}
.hm_photobio p {}

ul.hm_list { font-size: 16px; line-height: 23px; color: #444; border-top: 1px solid #ccc; margin: 0; padding: 10px 0 0 30px; }
ul.hm_list li { border: none; margin: 0; }
ul.hm_list li:before { display: inline-block; 
  vertical-align: middle; content:''; width: 6px; height: 6px; background: #ff9685; border-radius: 50%; margin-right: 6px; margin-left: -12px; }
aside ul.hm_list li:hover,aside ul.hm_list a:hover { border: none; opacity: inherit; }

/*.hm_threadlift { margin-bottom: 68px; }*/
.home .hm_nayami .hm_threadlift h3,.home .hm_nayami .hm_shiwa h3,.home .hm_nayami .hm_hokuro h3 { border: none; text-align: left; margin: 0; padding-top: 0; font-weight: normal; font-size: 18px; line-height: 25px; color: #444; }
.hm_threadlift a.arrow,.hm_shiwa a.arrow,.hm_hokuro a.arrow { display: flex; align-items: center; min-height: 92px; padding: 0 0 0 130px; }
.hm_threadlift a.arrow { background-image: url("images/mbox_threadlift_bk.jpg"); }
.hm_shiwa a.arrow { background-image: url("images/mbox_shiwa_bk.jpg"); }
.hm_hokuro a.arrow { background-image: url("images/mbox_hokuro_bk.jpg"); }


.home_menu aside { width: 100%; }
.hm_sub { margin-top: 30px; display: flex; }

aside .hm_sub ul.column { width: 220px; margin-right: 30px; }

.hm_nayami { width: calc(100% - 240px); }
.home .hm_nayami h3 { border-top: 2px solid #ff9685; text-align: center; margin: 0 0 15px 0; padding-top: 15px; }
aside .hm_nayami dl { display: flex; flex-flow: wrap; }
aside .hm_nayami dd { width: calc(50% - 5px); border-width: 1px 1px 1px 1px; }
aside .hm_nayami dd:nth-child(odd) { margin: 0 5px 10px 0; }
aside .hm_nayami dd:nth-child(even) { margin: 0 0 10px 5px; }
aside .hm_nayami dd a { padding: 15px 5px; }

.home_info { /*padding: 0 40px 0 0;*/ }
.home .r_info { border: 1px solid #ff9685; padding: 20px; margin: 30px 0 50px 0; }
.home .r_info h3 { border: none; display: inline-block; float: left; background: #fff; margin: -43px 0 0 -10px; padding-top: 15px; color: #941e23; font-size: 18px; }
.home .r_info h4 { background: #fff4f3; color: #941e23; text-align: left; display: inline-block; padding: 5px 10px; margin: 10px 0 20px 0; font-size: 16px; border-top: none; border-left: 5px solid #941e23; }
.home .r_info .btnarea { text-align: center; }
.home .r_info .btnarea a { display: block; width: 220px; margin: 10px auto 0 auto; padding: 5px 20px; text-align: center; background: #ff9685; color: #fff; font-size: 16px; line-height: 20px; border-radius: 5px; position: relative; }
.home .r_info .btnarea a::before { content: "";
    position: absolute;
    content: "";
    border: 6px solid transparent;
    border-left: 8px solid #fff;
    width: 0px; height: 12px;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
.home .r_info .btnarea a:hover { background-color: #ffcac2; }

.home .hi_time { text-align: center; }
.home main .hi_time h3 { margin-bottom: 5px; text-align: center; margin: 0 0 15px 0; }

.h_sub .info_block { padding: 0; margin-bottom: 15px; border: none; border-top: 1px dashed #ccc; }
.h_sub .info_block .main { border: none; padding: 0 10px; }
.h_sub .info_block .main p { line-height: 21px; }
.h_sub .info_block p.cfield { padding: 10px 0 0 10px; margin: 0 0 5px 0; /*width: 90px;*/ }

.h_sub p.accessInquiry { border: none; border-radius: 0; padding: 0; margin-top: 0; }
.h_sub p.accessInquiry em { color: #444; }

.banner { border: 1px solid #ccc; border-radius: 6px; }
.banner a { display: block; border: 1px solid #fff; border-radius: 5px; background-size: contain; }
.banner:hover,.banner a:hover { border: 1px solid #ff9685; opacity: 0.7; }
.home .telemed { margin: 20px 0 40px 0; }
.banner.telemed a { aspect-ratio: 4 / 1; background: #f4f4f4 url("images/bnr_telemedicine.jpg") right top no-repeat; background-size: auto 100%; text-indent: -9999px; }

.banner.esthe a { aspect-ratio: 5 / 1; background: #fff4f3 url("images/bnr_medicalesthe.jpg") left top no-repeat; background-size: auto 100%; padding: 0 0 0 40%; text-align: center; font-size: 13px; line-height: 22px; text-decoration: none; color: #444; display: flex; align-items: center; justify-content: center; }
.banner.esthe a span.ttl { font-size: 19px; }

.home .recruit { padding-top: 40px; border-top: 2px solid #ccc; }
.home .recruit a { display: block; width: 100%; aspect-ratio: 8 / 3; background: #f4f4f4 url("images/bnr_recruit2.png") right top no-repeat; background-size: auto 100%; text-indent: -9999px; }

@media screen and (max-width: 800px){
	.home .hm_top h3 { font-size: 18px; line-height: 30px; }
}

@media screen and ( max-width: 768px){
	.home aside ul { /*width: 50%;*/ float: none; }
	.home .h_main { padding: 0; }
	.home .h_sub { width: 30%; padding: 0 0 20px 20px; }
	.home_info { padding: 0; }
	.h_sub .info_block .main,.h_sub .info_block .main p { font-size: 12px; line-height: 18px; }
	
	.hm_concept a.arrow,.hm_medicine a.arrow,.hm_photobio a.arrow { background-size: 200% auto; padding: 5px 10px; }
	.hm_menu { flex-flow: wrap; }
	.hm_menu .nonsurgical,.hm_menu .surgical { width: 100%; margin: 0 0 30px 0; }
	
	/*.home .pagetitle .inner h2 { font-size: 22px; line-height: 40px; }
	.home .pagetitle .inner h2 .subtext { font-size: 15px; line-height: 30px; }*/
	
	aside .hm_top ul.tcare li a { background-size: 60px; }
	
	.hm_topic { padding: 0 5px 15px 5px; }
	
	.banner.esthe a { aspect-ratio: none; background: #fff url("images/bnr_medicalesthe_sp.jpg") right bottom no-repeat; background-size: 100% auto; padding: 0 0 40px 10px; text-align: left; align-items: flex-start; justify-content: flex-start; }
	.banner.esthe a span.ttl { font-size: 18px; }
}
@media screen and ( max-width: 640px){
	.home main { flex-flow: column; }
	.hm_sub { flex-wrap: wrap;flex-direction: column-reverse; }
	.hm_nayami { width: 100%; }
	.home .pagetitle { margin: 0; }
	.home aside { padding: 20px 20px 20px 20px; background: none; }
	
	.home_info { padding: 0 20px; }
	
	.home aside ul { float: none; }
	aside .hm_top ul.tcare { width: 70%; }
	aside .hm_sub ul.column { width: 100%; margin: 40px 0 0 0; }
	
	.r_info .attention { padding: 10px; margin: 20px 0 10px 0; }
	
	.home .h_sub { width: 100%; padding: 60px 20px 20px 20px; }
}

@media screen and ( max-width: 480px){
	.home .pagetitle { background-position: center 50%; }
	.home .pagetitle .inner h2 { font-size: 18px; line-height: 26px; padding: 10px 0; }
	.home .pagetitle .inner h2 .mtxt { font-size: 24px; }
	.home .pagetitle .inner h2 .mttl { font-size: 21px; line-height: 30px; }
	.home .pagetitle .inner h2 .subtext { font-size: 18px; line-height: 25px; margin-top: 10px; padding: 5px 30px; }
	
	main h3 { padding: 0 0 0px 0; }
	.hm_medicine a.arrow,.hm_photobio a.arrow { background-size: 110% auto; padding: 0px 10px 5px 10px; min-height: 150px; }
	ul.hm_list { font-size: 14px; line-height: 15px; margin: 0; padding: 12px 0 0 140px; }
	ul.hm_list li { margin-bottom: 7px; }
	
	.hm_concept a.arrow { background-size: 150% auto; padding: 5px 10px; }
	.hm_doctor a.arrow,	.hm_column a.arrow { background-size: 115% auto; padding: 0 10px 5px 10px; align-items: flex-start; }
	.hm_concept h4 { font-size: 21px; line-height: 28px; padding: 0 0 5px 110px; }
	.home main .hm_concept p { line-height: 20px; padding: 10px 0px 5px 10px; margin-left: 110px; }
	
	.home main .hm_doctor p { line-height: 20px; padding: 10px 0px 5px 140px; }
}

@media screen and ( max-width: 400px){
	main h3 { padding: 0 0 0px 0; }
	.hm_medicine a.arrow,.hm_photobio a.arrow { background-size: 150% auto; padding: 0px 10px 5px 10px; min-height: 150px; }
	ul.hm_list { font-size: 14px; line-height: 15px; margin: 0; padding: 12px 0 0 130px; }
	ul.hm_list li { margin-bottom: 7px; }
	
	.hm_concept a.arrow { background-size: 150% auto; }
	.hm_doctor a.arrow,.hm_column a.arrow { background-size: 145% auto; }
	.hm_concept h4 { font-size: 21px; line-height: 28px; padding: 0 0 5px 70px; }
	.home main .hm_concept p { line-height: 20px; padding: 10px 0px 5px 10px; margin-left: 70px; }
	
	.home main .hm_doctor p { line-height: 18px; padding: 10px 0px 5px 140px; }
}

/*プライバシーポリシー*/
.privacy {}
.privacy main section { margin: 20px 20px 40px 20px; }
.privacy main h4 { margin: 30px 0 10px 0; }
.privacy main h4.large { font-size: 1.2rem; border-top: 1px solid #ccc; margin-top: 60px; padding: 20px 0 0 20px; position: relative; }
.privacy main h4.large:before { content: ''; width: 16px; height: 16px; position: absolute; top: 25px; left: 0; background: #ffcac2; }
.privacy main p,.privacy main ul { margin: 0 20px; }

/*予約*/
.reserve .top,.thanks_top { margin: 0 0 30px 0; padding: 30px; border: 1px solid #ff9685; border-radius: 10px; }
.reserve .top h3 { background: none; text-align: left; color: #444; font-size: 16px; font-weight: bold; margin: 0; }
.reserve .top ul { padding: 0 0 0 20px; }
.reserve .top li::before { display: inline-block;
    vertical-align: middle;
    content: '';
    width: 6px;
    height: 6px;
    background: #ff9685;
    border-radius: 50%;
    margin-right: 6px;
    margin-left: -12px; }
.reserve .top li { line-height: 20px; margin: 0 0 10px 0; }
.reserve .top li u { color: #ff7c6a; text-decoration: none; font-weight: bold; }

.reserve main p.attention { margin: 10px 40px 20px 40px; color: #941e23; font-weight: bold; }

.thanks_top p { text-align: center; font-size: 16px; }
@media screen and (max-width: 480px){
	.reserve .top { padding: 30px 10px 30px 0; }
	.reserve main p.attention { margin: 10px 20px 30px 20px; }
}


/*求人情報*/
.recruit main p { margin: 10px 30px 20px 30px; }
.recruit .require { clear: both; margin: 10px 30px 20px 30px; }
.recruit .require h4 { background: #941e23; color: #fff; padding: 5px 20px; border-radius: 10px 10px 0 0; display: inline-block; }
.recruit .require table { border: 1px solid #941e23; width: 100%; margin: 0 0 40px 0; }
.recruit .require th,.recruit .require td { padding: 5px; }
.recruit .require tr{ border-bottom: 1px solid #941e23; }
.recruit .require tr:last-child { border-bottom: none; }
.recruit .require th { background: #fff4f3; }
.recruit .require td {}
@media screen and ( max-width: 768px){
	.recruit main p,.recruit .require { margin: 10px 0 20px 0; }
}


/*重要なお知らせ*/
main .info_2404 {}
main .info_2404 p,main .info_2404 ul { margin: 10px 30px 20px 30px; }
main .info_2404 ul li { padding-left: 1em; margin-bottom: 20px; position: relative; }
main .info_2404 ul li:last-child { margin-bottom: 0; }
main .info_2404 ul li:before { display: block; content:''; position: absolute; left: 0; top: 7px;
  width: 10px; height: 10px; background: #ff9685; border-radius: 50%; }

main .info_2404 p.attention { padding: 15px 20px; margin: 20px 10px 10px 10px; border-radius: 10px; border: 1px solid #ccc; }

/*ボタン*/
.btnarea2 { display: flex; justify-content: center; align-items: center; padding: 40px 0 0 0; border-top: 1px solid #ff9685; }
.btnarea2 .l_btn { display: block; width: 260px; height: 50px; margin: 0 auto; position: relative; }
.btnarea2 .l_btn a { display: flex; justify-content: center; align-items: center; width: 100%; height: 50px; background: #ff9685; color: #fff; border-radius: 50px; text-align: center; font-size: 18px; line-height: 21px; font-weight: bold; cursor: pointer; }
.btnarea2 .l_btn a::before { content: ""; position: absolute; top: 50%; right: 20px; width: 13px; height: 13px; border-width: 1px 1px 0 0; border-style: solid; border-color: #fff; transform: rotate(45deg) translateY(-10px); }

a.jump_point { height: 1px; display: block; padding-top: 200px; margin-top: -200px; }


/*efx*/
header,header .logo,header .logo img,header nav a,header nav a span,#nav-close,nav ul label.t_arrow:before,nav ul label.t_arrow:after,aside a,.banner a,.hm_topic p a,.home .r_info .btnarea a
{ -webkit-transition: All 0.2s ease; -moz-transition: All 0.2s ease; -o-transition: All 0.2s ease; -ms-transition: All 0.2s ease; transition: All 0.2s ease; }

nav ul ul,nav ul li { -webkit-transition: All 0.3s ease; -moz-transition: All 0.3s ease; -o-transition: All 0.3s ease; -ms-transition: All 0.3s ease; transition: All 0.3s ease; }


#nav-close,#nav-content,#nav-tl-menu { transition: .3s ease-in-out; }


/*フォーム*/
.form {}
  .form .wpcf7 {
    background: #fff4f3;
    padding: 50px 20px;
    border-top: 5px solid #941e23; }
  .form dl {
    font-size: 16px;
    line-height: 20px;
    margin: 0 auto;
    max-width: 740px; }
    .form dl dt {
      width: 35%;
      max-width: 250px;
      position: relative;
      font-weight: bold;
      height: 70px;
      padding-right: 20px; }
      .form dl dt p {
        text-align: right; }
      .form dl dt span.must, .form dl dt span.optional {
        display: inline-block;
        width: 36px;
        height: 18px;
        font-size: 13px;
        line-height: 18px;
        text-align: center;
        color: #fff;
        font-weight: bold;
        margin-left: 5px; }
      .form dl dt span.must {
        background: #f00; }
      .form dl dt span.optional {
        background: #bbb; }
    .form dl dd {
      margin: -80px 20px 40px 35%/*250px*/; }
      .form dl dd .flex p {
        display: flex;
        align-items: center;
        margin-bottom: 5px; }
        .form dl dd .flex p input {
          margin-left: 5px; }
      .form dl dd .attention {
        font-size: 13px;
        line-height: 18px;
        display: block;
        padding-top: 5px; }
      .form dl dd dl {
        margin: 0; }
        .form dl dd dl dt {
          width: 100%;
          max-width: 100%;
          height: 20px;
          margin: 10px 0 5px 0; }
          .form dl dd dl dt p {
            text-align: left; }
        .form dl dd dl dd {
          margin: 0 0 20px 0; }
    .form dl.privacy {
      background: #fff;
      padding-top: 20px; }
      .form dl.privacy dd {
        margin-top: -70px; }
        .form dl.privacy dd p {
          font-size: 14px;
          line-height: 1.5em;
          color: #888; }
          .form dl.privacy dd p a {
            text-decoration: underline; }
  .form #wpcf7cpcnf table {
    font-size: 16px;
    line-height: 20px;
    margin: 50px auto 30px auto;
    max-width: 740px; }
    .form #wpcf7cpcnf table th {
      width: 35%;
      max-width: 250px;
      position: relative;
      font-weight: bold;
      height: 70px;
      padding-right: 20px; }
      .form #wpcf7cpcnf table th p {
        text-align: right; }
    .form #wpcf7cpcnf table td p {
      padding: 10px;
      border: 1px solid #bbb;
      border-radius: 2px;
      background: #f5f5f5; }
  .form input, .form select {
    padding: 0 10px;
    box-sizing: border-box;
    font-size: 16px; }
    .form input::placeholder, .form select::placeholder {
      color: #ddd; }
  .form .wrap_select {
    position: relative; }
    .form .wrap_select::after {
      display: block;
      content: '';
      height: 15px;
      width: 15px;
      position: absolute;
      right: 8px;
      top: 16px;
      border-top: 2px solid #ccc;
      border-left: 2px solid #ccc;
      transform: translateY(-50%) rotate(-135deg); }
    .form .wrap_select::before {
      display: block;
      content: '';
      height: 32px;
      width: 0;
      position: absolute;
      right: 30px;
      top: 4px;
      border-left: 1px solid #ccc;
      z-index: 1; }
  .form input[type="text"], .form input[type="tel"], .form input[type="email"], .form input[type="number"], .form select, .form textarea {
    width: 100%;
    height: 40px;
    background: #fff;
    border: 1px solid #bbb;
    border-radius: 2px; }
    .form input[type="text"].wpcf7-not-valid, .form input[type="tel"].wpcf7-not-valid, .form input[type="email"].wpcf7-not-valid, .form input[type="number"].wpcf7-not-valid, .form select.wpcf7-not-valid, .form textarea.wpcf7-not-valid {
      border-color: #dc3232; }
  .form input#zip {
    width: 150px; }
  .form input.fw1 {
    width: 45px;
    min-width: 45px;
    margin-right: 3px;
    margin-left: 10px; }
  .form input.fw2 {
    width: 10%;
    min-width: 95px;
    margin-right: 3px; }
  .form input.fw5 {
    width: 50%;
    min-width: 300px; }
  .form select#pref {
    width: 166px; }
  .form textarea {
    height: auto;
    padding: 10px; }

  .form .half .wpcf7-list-item { width: calc(50% - 30px); }

  .form .btnarea, .form .wpcf7cp-btns {
    display: flex;
    justify-content: center;
    align-items: center;
    /*margin: 0 30px;*/
    padding: 40px 0 0 0;
    border-top: 1px solid #ff9685; }
  .form .btnarea .l_btn {
    display: block;
    width: 220px;
    height: 50px;
    margin: 0 auto;
    position: relative; }
    .form .btnarea .l_btn input {
      -webkit-appearance: none;
      appearance: none;
      border: none;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 220px;
      height: 50px;
      background: #ff9685;
      color: #fff;
      border-radius: 50px;
      text-align: center;
      font-size: 18px;
      cursor: pointer; }
      .form .btnarea .l_btn input:disabled {
        cursor: not-allowed;
        opacity: 0.2; }
    .form .btnarea .l_btn::before {
      content: "";
      position: absolute;
      top: 50%;
      right: 20px;
      width: 13px;
      height: 13px;
      border-width: 1px 1px 0 0;
      border-style: solid;
      border-color: #fff;
      transform: rotate(45deg) translateY(-10px); }
  .form .wpcf7cp-btns button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 220px;
    height: 50px;
    background: #80d1b9;
    color: #fff;
    border-radius: 50px;
    text-align: center;
    margin: 0 10px;
    font-size: 18px;
    position: relative;
    border: none;
    cursor: pointer; }
    .form .wpcf7cp-btns button::before {
      content: "";
      position: absolute;
      top: 50%;
      width: 13px;
      height: 13px;
      border-width: 1px 1px 0 0;
      border-style: solid;
      border-color: #fff; }
    .form .wpcf7cp-btns button.wpcf7cp-cfm-edit-btn::before {
      left: 8px;
      transform: rotate(-135deg) translateY(10px); }
    .form .wpcf7cp-btns button.wpcf7cp-cfm-submit-btn::before {
      left: 2px;
      transform: rotate(45deg) translateY(-10px); }
    .form .wpcf7cp-btns button.wpcf7cp-cfm-submit-btn {
      background: #00532e; }
  .form div.wpcf7 .wpcf7-spinner {
    display: none !important; }
  .form .wpcf7-radio {
    display: block;
    margin: 10px -15px 0 -15px; }
  .form input[type=radio] {
    padding: 0; visibility: hidden; width: 0; }
  .form input[type=radio] + .wpcf7-list-item-label {
    padding-left: 35px;
    display: inline-block;
    position: relative; margin-right: 15px; }
    .form input[type=radio] + .wpcf7-list-item-label::after, .form input[type=radio] + .wpcf7-list-item-label::before {
      content: '';
      display: block;
      position: absolute;
      border: 1px solid #AAAAAA;
      border-radius: 50%;
      background: #fff;
      width: 28px;
      height: 28px;
      top: -2px;
      left: 0; }
    .form input[type=radio] + .wpcf7-list-item-label::after {
      opacity: 0;
      width: 20px;
      height: 20px;
      top: 2px;
      left: 4px;
      border: none;
      background: #941e23; }
  .form input[type=radio]:checked + .wpcf7-list-item-label {
    color: #941e23; }
    .form input[type=radio]:checked + .wpcf7-list-item-label::after {
      opacity: 1; }
  .form .wpcf7-checkbox {
    display: block;
    padding-top: 10px; margin: 0 -15px; }
  .form input[type=checkbox] {
    /*display: none;*/visibility: hidden; width: 0; padding: 0; }
  .form span.wpcf7-list-item {
    display: inline-block;
    margin: 0 15px 20px 15px; }
    .form span.wpcf7-list-item.has-free-text {
      display: block;
      width: 100%; }
  .form .custom-wpcf7c-confirmed .wpcf7-list-item-label {
    color: #0044cc; }
  .form input[type=checkbox] + .wpcf7-list-item-label {
    padding-left: 25px;
    display: inline-block;
    position: relative; vertical-align: top; }
  .form .custom-wpcf7c-confirmed input[type=checkbox] + .wpcf7-list-item-label {
    display: none; }
  .form input[type=checkbox] + .wpcf7-list-item-label::after, .form input[type=checkbox] + .wpcf7-list-item-label::before {
    content: '';
    display: block;
    position: absolute;
    border: 1px solid #AAAAAA;
    border-radius: 5px;
    width: 20px;
    height: 20px;
    top: 0;
    left: 0;
    background: #fff; }
  .form input[type=checkbox] + .wpcf7-list-item-label::after {
    opacity: 0;
    width: 10px;
    height: 17px;
    transform: rotate(45deg);
    left: 7px;
    top: -4px;
    border: none;
    border-right: 3px solid #941e23;
    border-bottom: 4px solid #941e23;
    background: none; border-radius: 0; }
  .form input[type=checkbox]:checked + .wpcf7-list-item-label {
    color: #941e23; }
  .form input[type=checkbox]:checked + .wpcf7-list-item-label::after {
    opacity: 1; }

@media screen and (max-width: 768px) {
  .form dl dt {
    width: 100%;
    max-width: auto;
    height: auto;
    padding-right: 0; }
    .form dl dt p {
      text-align: left; }
  .form dl dd {
    margin: 3px 0px 25px 0px; }
  .form .btnarea, .form .wpcf7cp-btns {
    margin: 40px -10px 0 -10px; }
	.form .half .wpcf7-list-item { width: calc(50% - 30px); margin: 0 15px 20px 15px; }
	/*.form span.wpcf7-list-item:nth-child(odd) { margin: 0 15px 20px 15px; }
	.form span.wpcf7-list-item:nth-child(even) { margin: 0 0 20px 15px; }*/
	.form .wpcf7cp-btns button { font-size: 15px; margin: 0 5px; }
	
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #ffb900;
  text-align: center; }

.wpcf7-acceptance {
  display: block;
  margin-top: 20px; }
  .wpcf7-acceptance .wpcf7-list-item-label {
    font-size: 16px;
    color: #444; }

.wpcf7-form.hide_error_message .wpcf7-not-valid-tip {
	display: none;
}
.form .wpcf7-form.hide_error_message input[type="text"].wpcf7-not-valid, .form .wpcf7-form.hide_error_message input[type="tel"].wpcf7-not-valid, .form .wpcf7-form.hide_error_message input[type="email"].wpcf7-not-valid, .form .wpcf7-form.hide_error_message input[type="number"].wpcf7-not-valid, .form .wpcf7-form.hide_error_message select.wpcf7-not-valid, .form .wpcf7-form.hide_error_message textarea.wpcf7-not-valid {
      border-color: #bbb; }

div#wpcf7cpcnf { padding: 0 10px; }
div#wpcf7cpcnf p { font-size: 14px; }

