@charset "utf-8";

/* -------------------------------------------
Auther: design studio tom'sOne
        Tommy Tsutsui
        https://toms1.net/
Last modefied: 15/Apr/2020
------------------------------------------- */

/* -------------------------------------------
 Reset
------------------------------------------- */
html{font-size:62.5%;}body,a,address,header,html,iframe,nav{padding:0;margin:0}address,header,html,iframe,nav{border:0;outline:0}abbr,article,aside,audio,b,canvas,cite,code,del,details,dfn,em,fieldset,figcaption,figure,form,hgroup,i,img,ins,kbd,label,legend,mark,menu,object,pblockquote,pre,q,samp,span,strong,sub,summary,sup,time,var,video{background:0 0;margin:0;padding:0;border:0;outline:0}footer,h1,h2,h3,h4,h5,h6,p,section,small{border:0;outline:0}address,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a img,figure{vertical-align:top}abbr[title],dfn[title]{cursor:help}input,select{vertical-align:middle}noscript{margin:0}

/* Desktop Hide Items */
.spFalse, #SNTelephone, .BBLItem i { display: none !important; }

/* -------------------------------------------
 Fonts
------------------------------------------- */
body, .FDefault {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

.homeLink:after, #globalNav, #subNavi, .telWindow, #initialBT, #initialWindow, #BLTWindow, #lineName, .BSIST, #TECopy, .pagemainCopy, #TIMessage,
.PTName, .linkBT01, .PNList, .BCReserve, .BBLTime, #botCalendar, .botPageLink a, .topST, .topTBalanceST, .TTBGCap, .TBBCap, .TFSecST, #TFRList, .TFFST,
#botSideInfo, .FSNum, #nextSTFeature01, .IIMCaption, #TBBTST, #TBBOutLink, #PWSST, .PWSIST, .DProST, .bookBuy, .treatTitle, .sympST, .okCopy,
#treatPleaseRefrain > li:after, .flowTitle, .FStepST, #analyzFeeList, #analyzReserve, #RGTelNum, #scheduleTA, #scheduleNotice, .VIHead, #blogPagination,
#VDTitle, #VDSymptoms, #VDSympList, .voiceST, .voiceDT, #VoiceIndNavi, .qaST, .accessST, #newsArticleTitle, #NADTime, #snsST, .sideListST, #blogArticleTitle,
#blogBody h2, #newsBody h2, #blogBody h3, #newsBody h3, .indPageNavi, .BACat, #blogCatName, #NMapST, #PGuideST {
  font-family: source-han-sans-japanese, sans-serif; font-weight: 400; font-style: normal; font-feature-settings : "palt"; }

.FSTit, #TBBCatchCopy, #directorName, .staffData, .FEIcap, .BIBox dt, .treatBBST, .FMeritST, .FFIMcap, .reserveST, #spFFST {
  font-family: source-han-serif-japanese; }

.FSTit { font-weight: 300; }

.TSEN, .FSNum b, #nextSTFeature01 { font-weight: 400; }

.homeLink:after, #initialBT, #botCalendar, .botPageLink > a, .IDIPrice, .PNList, #TIMessage, .topTBalanceST, .TFSecST, #TFRList, .TFFST,
#botSideInfo, #TBBOutLink, #PWSST, .PWSIST, .sympST, .treatBBST, .FStepST, #FSTelNum, #scheduleNotice, #scheduleNotice, .FMeritST, .FFIMcap,
.reserveST, .VIHead, #VDTitle, #VDSymptoms, #VDSympList, .voiceDT, .FSNum, #TBBCatchCopy, #directorName, .staffTitle, .FEIcap, .BIBox dt,
.okCopy, #blogPagination, #directorVoiceST, .QACST, .accessST, #newsArticleTitle, .sideListST, #blogArticleTitle, #blogBody h2, #newsBody h2,
#blogBody h3, #newsBody h3, .BACat, #blogCatName, #NMapST, #PGuideST { font-weight: 500; }

.SSTitle, #TFRSix { font-weight: 700; }

.PTName, .PNList, #TNewsST, #TFSecond, #TTreatmentST, #TVoiceST, .TVLItem, #PWSST, #staffST, #facilitieST,
#mediaST, .treatTitle, #treat01Copy, #reserveContainer, #feeContainer { text-shadow: 1px 1px rgba(255,255,255,1); }

#TNList > li, .PWSCopy, .bookBuy a, #treatPleaseRefrain, .TWCopy02, .indPageNavi, .newsItem { text-shadow: 1px 1px rgba(255,255,255,.7); }

.homeLink:after { text-shadow: -2px -2px rgba(255,255,255,.9); }

/* -------------------------------------------
 Common
------------------------------------------- */
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Medium"); }
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Bold"); font-weight: bold; }

body {
  position: relative; color: #333; background: #fff; -webkit-text-size-adjust: 100%; font-size: 1em; line-height: 1; width: 100%; z-index: 1; }

#globalHeader, footer { width: 100%; margin: 0; position: relative; }

figure img { width: 100%; height: auto}

.BGBeige, .BGGreen, .BGBlue { margin: 0; position: relative; }
.BGBeige { background: #f9f6f2; } .BGGreen { background: #f0f7ee; } .BGBlue { background: #eefafc; }

.spBlock { display: block !important}
.InBlock { display: inline-block}

.mag20 { margin-top: 20px; } .mag50 { margin-top: 50px; }
.pad01 { padding-top: 1em; }

.ls0 { letter-spacing: 0; } .ls05 { letter-spacing: .05em; } .ls10 { letter-spacing: .1em; }
.ls15 { letter-spacing: .15em; } .ls20, .win .ieLs20 { letter-spacing: .2em; } .ls30 { letter-spacing: .3em; }
.ls50 { letter-spacing: .5em; } .ls100 { letter-spacing: 1em; }

.lsM05 { letter-spacing: -.05em; } .lsM10 { letter-spacing: -.1em; } .lsM15 { letter-spacing: -.15em; }
.lsM20 { letter-spacing: -.2em; } .lsM25 { letter-spacing: -.25em; } .lsM30 { letter-spacing: -.3em; }
.lsM50 { letter-spacing: -.5em; } .lsM75 { letter-spacing: -.75em; }

.lsN01 { margin: 0 -1px; } .lsN02 { margin: 0 -2px; } .lsEM02 { margin: 0 -.2em; }

.fLeft { float: left; } .fRight { float: right; }

.rota15 {
  margin-left: -.15em; display: inline-block; vertical-align: -.05em; -webkit-transform: rotate(20deg); transform: rotate(20deg); }

/* Common Image */
.homeLink, #bottomLogo, #SNTMark, .TWTMark, #IDTelMark, #TISign:before, #BPLTCopy:before,
#BSLFBMark, #BSLLineMark, #BSIAMap, #BSICard, #BLineIcon {
 background-image: url(../common_im/common_sp.svg);
 background-repeat: no-repeat; background-size: 234px 250px; }

/* Main Container */
.pageEyecatch, .wrapOuter, .secWrapp, .secWrapp02, #topNews, footer, .pageNav { overflow: hidden; }

.headStage { margin: 0 auto; position: relative; }

.pageEyecatch { margin-top: 60px; }

#pageHead { height: 380px; }

.wrapOuter { margin: 0 auto; }

.wrapInner { margin: 0; }

.secWrapp { width: 100%; padding: 35px 0; }
.secWrapp02 { width: 100%; padding: 30px 0; }

/* Page Title */
.pageTitle { background: rgba(255,255,255,.7); width: 300px; height: 200px; margin: 90px auto 0; position: relative; }

.PTName { color: #494949; font-size: 3.6rem; text-align: center; letter-spacing: .1em; margin: 0; padding-top: 80px; position: relative; }
.PTNSM { color: #666; font-size: 2.8rem; vertical-align: .1em; }

.pageTitle:after { content: ''; position: absolute; left: 50%; display: block; }

#aboutTitle:after {
  top: 40px; background: url(../about/images/page-icon.svg) no-repeat 0 0; background-size: 30px 30px; width: 30px; height: 30px; margin-left: -15px; }

#treatTitle:after {
  top: 41px; background: url(../treatments/images/page-icon.svg) no-repeat 0 0; background-size: 42px 30px; width: 42px; height: 30px; margin-left: -21px; }

#flowTitle:after {
  top: 48px; background: url(../flow-fee/images/page-icon.png) no-repeat 0 0; background-size: 46px 14px; width: 46px; height: 14px; margin-left: -23px; }

#voiceTitle:after {
  top: 41px; background: url(../voice/images/page-icon.svg) no-repeat 0 0; background-size: 32px 30px; width: 32px; height: 30px; margin-left: -16px; }

#qaTitle:after {
  top: 39px; background: url(../qa/images/page-icon.svg) no-repeat 0 0 / 22px 35px; width: 22px; height: 35px; margin-left: -11px; }

#accessTitle:after {
  top: 40px; background: url(../access/images/page-icon.svg) no-repeat 0 0 / 22px 34px; width: 22px; height: 34px; margin-left: -11px; }

#newsTitle:after {
  top: 41px; background: url(../news/images/page-icon.svg) no-repeat 0 0 / 32px 30px; width: 32px; height: 30px; margin-left: -16px; }

#blogTitle:after {
  top: 41px; background: url(../blog/images/page-icon.svg) no-repeat 0 0 / 28px 28px; width: 28px; height: 28px; margin-left: -14px; }

.PTitEN { color: #7e7e7e; font-size: 1.8rem; font-style: normal; margin-top: 8px; display: block; }

@media (min-width: 560px) {
  #pageHead { height: 310px} .pageEyecatch { margin-top: 0;} .pageTitle { width: 360px; height: 180px; margin-top: 95px} .PTName { padding-top: 70px}
  #aboutTitle:after, #accessTitle:after { top: 30px} #flowTitle:after { top: 38px}
  #treatTitle:after, #voiceTitle:after, #newsTitle:after, #blogTitle:after { top: 31px} #qaTitle:after { top: 29px}}

/* Page Navi */
.pageNav { background: #f9f6f2; margin: 2px 0 0; padding: 0; position: relative; }

.PNList { width: 100%; margin: 0 auto; padding: 0; }

.PNList li { text-align: center; display: block; position: relative; }
.PNL03 li { width: 50%; } .PNL04 li { width: 50%; }

.PNL03 li:last-of-type { width: 100%; }

.PNL03 li:last-of-type:after, .PNL04 li:nth-of-type(1):after, .PNL04 li:nth-of-type(2):after {
  content: ''; position: absolute; left: 50%; background: #d7c7b5; height: 1px; }
.PNL03 li:last-of-type:after { top: 0; width: 94%; margin-left: -47%; }
.PNL04 li:nth-of-type(1):after, .PNL04 li:nth-of-type(2):after { bottom: 0; width: 90%; margin-left: -45%; }

.PNL03 li:nth-of-type(2):before, .PNL04 li:nth-of-type(2):before, .PNL04 li:last-of-type:before {
  content: ''; position: absolute; top: 6px; left: 0; background: #d7c7b5; width: 1px; height: 30px; }

.PNList li a { color: #555; font-size: 1.5rem; letter-spacing: .06em; padding: 9px 0 18px; position: relative; z-index: 1; }

.PNList li a:before {
 content: ''; position: absolute; bottom: 8px; left: 50%; width: 0; height: 0; margin-left: -5px;
 width: 4px; height: 4px; border-top: 2px solid #d7c7b5; border-right: 2px solid #d7c7b5; margin-left: -4px;
 -webkit-transform: rotate(135deg); transform: rotate(135deg); }

@media (min-width: 560px) {
  .PNL03 li, .PNL03 li:last-of-type { width: 33.33%} .PNL03 li:last-of-type:after { display: none}
  .PNL04 li { width: 25%} .PNL04 li:nth-of-type(1):after, .PNL04 li:nth-of-type(2):after { display: none}
  .PNL03 li:last-of-type:before, .PNL04 li:nth-of-type(3):before {
    content: ''; position: absolute; top: 6px; left: 0; background: #d7c7b5; width: 1px; height: 30px}}

/* Flex Box */
.flexContainer, .flexC, .PNList, #topInfo, #topFFLInner, #TVListInner, #BBInfoList, #botLinks, #PWSInner, #directorInfo, .flowStep {
 display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between;
 -webkit-flex-flow: row wrap; flex-flow: row wrap; }

/* Link Button */
.linkBT01 { font-size: 1.8rem; text-align: center; letter-spacing: .1em; margin: 0 auto; position: relative; }

.linkBT01 a {
  color: #333; text-decoration: none; padding: 21px 0; display: inline-block;
  cursor: pointer; display: block; position: relative; overflow: visible; z-index: 1; }

.linkBT01 a:before, .linkBT01 a:after {
 content: ''; position: absolute; top: 0; left: 0; width: calc(100% - 2px); height: calc(100% - 2px); display: block; }
.linkBT01 a:before { background: #fff; border: 1px solid #bbb; z-index: -2; }

.linkBT01 a:after, #TBBOutLink a:after {
  -webkit-transform: scaleX(0); transform: scaleX(0); -webkit-transform-origin: left top; transform-origin: left top; }
.linkBT01 a:after { background: #777; border: 1px solid #777; z-index: -1; }

/* Link Sign */
#topTherapyTimes a > i, #TNList a > i, .linkBT01 a > i, .TVLItem i, .BBLHead i, .botPageLink > a i,
#TBBOutLink a > i, .voiceItem i, .PESign, .NESign, #QNList a > i, #newsIndNavi .RLSign, #blogIndNavi .RLSign {
  position: absolute; top: 50%;
  width: 40px; height: 1px; transition: inherit; pointer-events: none; }
#TNList a > i { top: 23px; width: 30px}
#topTherapyTimes a > i, .botPageLink > a i { background: #fff; right: 30px; width: 30px}
#TBBOutLink a > i { background: #fff; right: 10px}
#TNList a > i { right: 10%; background: #444}
.linkBT01 a > i { right: -20px; background: #444}
.TVLItem i { top: inherit; bottom: 20px; right: 20px}
.TVLItem .TVLSignFe { background: #f24984} .TVLItem .TVLSignMa { background: #29abe2}
.BBLHead i { top: inherit; top: 17px; left: inherit; right: 0; background: #29abe2; display: block !important}
.VIFemale i, .VIMale i { top: inherit; bottom: 25px; right: 30px; background: #f24984} .VIMale i { background: #29abe2}
.PESign, .NESign { top: calc(50% + 18px); width: 30px; background: #bfa787} .PESign { left: calc(50% - 15px)} .NESign { right: calc(50% - 15px)}
#blogIndNavi .PESign, #blogIndNavi .NESign { background: #75a73e}
#QNList a > i { background: #fff; top: 24px; right: 6px; width: 22px; -webkit-transform: rotate(90deg); transform: rotate(90deg)}
#blogIndNavi .RLSign, #newsIndNavi .RLSign { top: inherit; bottom: 13px; background: #75a73e; left: calc(50% - 20px)}
#newsIndNavi .RLSign { background: #bfa787}

#topTherapyTimes a > i:before, #TNList a > i:before, .linkBT01 a > i:before, .TVLItem i:before, .BBLHead i:before,
.botPageLink > a i:before, #TBBOutLink a > i:before, .voiceItem i:before, .NESign:before, #QNList a > i:before {
  content: ''; position: absolute; right: 0; bottom: 0; transition: inherit;
  border-top: 1px solid transparent; border-right: 6px solid transparent; }
#topTherapyTimes a > i:before, .botPageLink > a i:before, #TBBOutLink a > i:before, #QNList a > i:before {
  border-left: 3px solid #fff; border-bottom: 4px solid #fff}
#TNList a > i:before { border-left: 3px solid #444; border-bottom: 4px solid #444}
.linkBT01 a > i:before { border-left: 3px solid #444; border-bottom: 4px solid #444}
.TVLItem .TVLSignFe:before, .VIFemale i:before { border-left: 3px solid #f24984; border-bottom: 4px solid #f24984}
.TVLItem .TVLSignMa:before, .VIMale i:before { border-left: 3px solid #29abe2; border-bottom: 4px solid #29abe2}
.BBLHead i:before { border-left: 3px solid #29abe2; border-bottom: 4px solid #29abe2}
.PESign:before, #newsIndNavi .returnList a i:before {
  content: ''; position: absolute; left: 0; bottom: 0; transition: inherit; border-top: 1px solid transparent;
  border-left: 6px solid transparent; border-right: 3px solid #bfa787; border-bottom: 4px solid #bfa787}
.NESign:before { border-left: 3px solid #bfa787; border-bottom: 4px solid #bfa787}
#blogIndNavi .PESign:before { border-right: 3px solid #75a73e; border-bottom: 4px solid #75a73e}
#blogIndNavi .NESign:before { border-left: 3px solid #75a73e; border-bottom: 4px solid #75a73e}

#blogIndNavi .returnList a .RLSign:before, #newsIndNavi .returnList a .RLSign:before {
  content: ''; position: absolute; bottom: 10px; left: 15px; transition: inherit; border-top: 1px solid transparent;
  border-left: 6px solid transparent; border-right: 3px solid #75a73e; border-bottom: 4px solid #75a73e}
#newsIndNavi .returnList a .RLSign:before { border-right: 3px solid #bfa787; border-bottom: 4px solid #bfa787}

#blogIndNavi .returnList a .RLSign:after, #newsIndNavi .returnList a .RLSign:after {
  content: ''; position: absolute; bottom: 0;right: 0; width: 18px; height: 10px;
  border-top: 1px solid #75a73e; border-right: 1px solid #75a73e; transition: inherit; }
#newsIndNavi .returnList a .RLSign:after { border-top: 1px solid #bfa787; border-right: 1px solid #bfa787}

@media (max-width: 399px) { #QNList li:first-of-type i { display: none}}
@media (min-width: 560px) { #QNList a > i { right: 35px}}
@media (min-width: 630px) {
#VoiceIndNavi .PESign, #VoiceIndNavi .NESign { top: calc(50% + 1px)} #VoiceIndNavi .PESign { left: 10px} #VoiceIndNavi .NESign { right: 10px}}

/* Common Header
------------------------------------------- */

/* Common Header
------------------------------------------- */
#globalHeader { background: rgba(95,155,19,.95); height: 60px; }

#globalHeader, #globalHeader.fixed { position: fixed; top: 0; left: 0; z-index: 9997; }
#globalHeader.fixed { height: 50px}

@media (min-width: 560px) { #globalHeader.fixed { height: 0; position: relative}}

#GHead { overflow: visible; position: relative; z-index: 9997; }

#homeLogo {
  position: absolute; top: 13px; left: 20px; width: 160px; height: 34px; margin: 0;
  -webkit-transform: scale(1); transform: scale(1); z-index: 9999; }

.homeLink { background-position: 0 0; width: 160px; height: 34px; }

.fixed #homeLogo { top: 8px; -webkit-transform: scale(.92); transform: scale(.92); }

/* Overlay Navi */
#trigger-overlay { z-index: 9999; }

.menu-trigger, .menu-trigger span { display: inline-block; box-sizing: border-box; }
.menu-trigger { position: absolute; top: 18px; right: 18px; width: 22px; height: 19px; }
.fixed .menu-trigger { top: 13px; right: 13px}

#globalHeader:before {
  content: '';  position: absolute; top: 0; right: 0;
  background: rgba(69,126,0,.95); width: 60px; height: 60px; display: block; }
#globalHeader.fixed:before { width: 50px; height: 50px}

.menu-trigger:after {
  content: 'menu'; position: absolute; bottom: -13px; left: -6px; color: #eee; font-size: 11px; letter-spacing: .075em; }

.menu-trigger.active:after { color: #c0eeff; }

.menu-trigger, .menu-trigger .HMBar, .menu-trigger:after { -webkit-transition: all .4s; transition: all .4s; }

@media (min-width: 480px) { .menu-trigger.active { position: fixed} }

.menu-trigger .HMBar {
 background: #f0f0f0; width: 22px; height: 2px; display: block;  position: relative;
 -webkit-transition: all .7s cubic-bezier(.19, 1, .22, 1); transition: all .7s cubic-bezier(.19, 1, .22, 1);
 -webkit-transform-origin: right bottom; transform-origin: right bottom}

.menu-trigger .HMBar:nth-child(1) { -webkit-transition-delay: 150ms; transition-delay: 150ms}
.menu-trigger .HMBar:nth-child(2) { width: 12px; top: 6px; -webkit-transition-delay: .08s; transition-delay: .08s}
.menu-trigger .HMBar:nth-child(3) { width: 18px; top: 12px; -webkit-transition-delay: 0; transition-delay: 0}

.menu-trigger.active .HMBar { background: #fff53e}

.menu-trigger.active .HMBar:nth-child(1) {
 left: -3px; width: 22px; -webkit-transform: rotate(315deg); transform: rotate(315deg)}

.menu-trigger.active .HMBar:nth-child(2) {
 -webkit-transform: translate(-30px, 0); transform: translate(-30px, 0); opacity: 0}

.menu-trigger.active .HMBar:nth-child(3) {
 top: 12px; left: -4px; width: 22px; -webkit-transform: rotate(-315deg); transform: rotate(-315deg)}

/* Overlay */
.overlay {
  position: fixed; top: 60px; right: 0; background: rgba(95,155,19,.95);
  width: 100%; height: calc(95vh - 60px); overflow: auto; z-index: 9990;
  -webkit-backdrop-filter: saturate(180%) blur(10px); backdrop-filter: saturate(180%) blur(10px); }
.fixed .overlay { top: 50px}

/* Overlay Effects */
.overlay-slidedown {
 visibility: hidden;
 -webkit-transform: translateX(110%) skewX(10deg); transform: translateX(110%) skewX(10deg);
 -webkit-transition: -webkit-transform .4s ease-in-out, visibility 0s .4s;
 transition: transform .4s ease-in-out, visibility 0s .4s; }

.overlay-slidedown.open {
 visibility: visible;
 -webkit-transform: translateX(0%) skewX(0deg); transform: translateX(0%) skewX(0deg);
 -webkit-transition: -webkit-transform .4s ease-in-out; transition: transform .4s ease-in-out; }

/* Overlay Menu */
#GNav { position: relative; }

#globalNav, #subNavWrapp { margin: 0 auto; padding: 20px 0 0 60px; position: relative; }

#globalNav li, #subNavi li {
 font-size: 1.8rem; line-height: 1; letter-spacing: .1em; width: 100%; margin: 0 auto;
 -webkit-backface-visibility: hidden; backface-visibility: hidden; }

#globalNav a, #subNavi a {
 color: #fff; text-decoration: none; padding: .75em 0; display: block; position: relative; }
#subNavi a { text-decoration: none; display: block; cursor: pointer; }

#globalNav .GNEN { color: #bbe9f9; font-size: 11px; font-style: normal; margin-top: 3px; display: block; }

#globalNav a:after, #globalNav .current:before, #subNavi a:after, #subNavi .current:before {
  content: ''; position: absolute; top: 50%; margin-top: -2px; }

#globalNav a:after, #subNavi a:after {
  left: 200px; width: 4px; height: 4px; border-top: 1px solid #fff; border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg); transform: rotate(45deg); }

#globalNav .current, #globalNav .current .GNEN, #subNavi .current { color: #fff78e}
#globalNav .current:after, #subNavi .current:after { display: none; }
#globalNav .current:before, #subNavi .current:before {
  left: -15px; width: 6px; height: 3px; border-top: 2px solid #fff78e; border-right: 2px solid #fff78e;
  -webkit-transform: rotate(35deg); transform: rotate(135deg); }

/* Sub Nav */
#subNavWrapp { padding: 0 0 40px 60px; }

#subNavWrapp:after {
  content: ''; position: absolute; bottom: 0; left: 50%;
  background: #92b962; width: calc(100% - 100px); height: 1px; margin-left: -130px; }

#subNavi { margin: 0; padding: 0; }

#subNavi li#SNHome { font-size: 1.9rem; letter-spacing: .25em}

@media (min-width: 560px) {
  .overlay {
    height: calc(90vh - 60px); display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between}
  .fixed .overlay { margin-top: -60px; padding-top: 60px} .fixed .menu-trigger { top: 18px; right: 18px}
  #GNav, #subNavWrapp { width: 49.5%; margin: 0; padding: 10px 0 0} #subNavWrapp:after { display: none}
  #globalNav { padding: 0 0 0 62px} #globalNav li { width: auto} #subNavi li { padding-left: 30px}
  #globalNav a:after, #globalNav .current:before { left: 180px} #subNavi a:after { left: 150px}}
@media (max-height: 320px) and (min-width: 560px) { .overlay { height: calc(95vh - 60px)} #GNav, #subNavWrapp { padding-top: 0}}
@media (min-width: 640px) { #subNavi li { padding-left: 0}}
@media (min-width: 680px) { #GNav { width: 47%} #subNavWrapp { width: 52%}}

/* Head Telepone */
#SP-SNTelephone {
  position: absolute; top: 0; right: 0; width: 60px; height: 60px; margin-right: 60px;
  -webkit-transition: all .6s cubic-bezier(.19, 1, .22, 1); transition: all .6s cubic-bezier(.19, 1, .22, 1);
  -webkit-transform-origin: right bottom; transform-origin: right bottom}
.fixed #SP-SNTelephone { width: 50px; height: 50px; margin-right: 50px}

#spSNTBT { background: rgba(115,181,30,.95); width: 100%; height: 100%; display: block; position: relative; }

#SNTMark {
  position: absolute; top: 20px; left: 20px; background-position: 0 -120px; width: 20px; height: 20px; display: block; }
.fixed #SNTMark { top: 15px; left: 15px}

/* Slide In Window */
#SP-SNTelephone .telWindow, #initialDiscount #initialWindow, #BPLTelBT #BLTWindow, #spBSLLine #BLineWindow {
  display: block; visibility: hidden; opacity: 0; -webkit-transition: all .3s ease .1s; transition: all .3s ease .1s; }
#SP-SNTelephone:hover .telWindow, #initialDiscount:hover #initialWindow,
#BPLTelBT:hover #BLTWindow, #spBSLLine:hover #BLineWindow { visibility: visible; opacity: 1; }
#subNavi li:after .telWindow, #initialDiscount:after #initialWindow,
#BPLTelBT:after #BLTWindow, #spBSLLine:after #BLineWindow { visibility: hidden; opacity: 0; }

/* Telephone Info Window */
.telWindow {
  position: absolute; top: 61px; right: calc(-60px - -3vw); width: 94vw; padding: 20px 0 30px; z-index: 9999;
  background: rgba(50,160,210,.95); -webkit-border-radius: 0 0 8px 8px; border-radius: 0 0 8px 8px;
  -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.25); box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.fixed .telWindow { top: 51px; right: calc(-50px - -3vw)}


#BLTWindow {
  position: absolute; bottom: 71px; left: 0; background: rgba(50, 160, 210,.95); width: 100%; padding: 36px 0 45px;
  z-index: 9999; -webkit-border-radius: 6px 6px 0 0; border-radius: 6px 6px 0 0;
  -webkit-box-shadow: 0 -1px 3px rgba(0,0,0,.2); box-shadow: 0 -1px 3px rgba(0,0,0,.2);}

.TWInfo,.TWTelNum { text-align: center; }
.TWInfo { color: #fff; font-size: 1.6rem; line-height: 1.75; letter-spacing: .14em; margin: 0; }
.TWTelNum { font-size: 2.8rem; letter-spacing: .08em; margin: 10px 0 0; }
.TWTelNum a { color: #ff3; text-decoration: none; display: inline-block; cursor: pointer; position: relative; }
.TWSMB { font-size: 1.4rem; letter-spacing: .08em; margin-top: 8px; display: block}
#SNTapInfo { color: #fff; font-size: 1.2rem; letter-spacing: .1em; margin-top: 8px; display: block}

.TWTMark {
  content: ''; position: absolute; top: 6px; left: 50%; opacity: .7;
  background-position: 0 -120px; width: 20px; height: 20px; margin-left: -4.5em; }

/* Initial Discount Window */
#initialDiscount { position: fixed; bottom: 0; left: 0; z-index: 99999; }

#initialBT { font-size: 2rem; text-align: center; letter-spacing: .15em; max-height: 9em; margin: 0; }

#IDON {
  color: #fff; background: #fb871e; padding: 13px 13px 12px; position: relative; display: block;
  -webkit-border-radius: 0 6px 0 0; border-radius: 0 6px 0 0; cursor: pointer; overflow: hidden; }

#initialWindow {
  position: absolute; bottom: 46px; left: 5vw; color: #fff; text-align: center; width: calc(90vw - 20px); padding: 30px 10px; z-index: 9999;
  background: rgba(90,140,10,.95); -webkit-border-radius: 6px; border-radius: 6px;
  -webkit-box-shadow: -1px 1px 2px rgba(0,0,0,.25); box-shadow: -1px 1px 2px rgba(0,0,0,.25); }

#IDMessage { font-size: 2.4rem; letter-spacing: .05em; margin: 0; }
.IDMRota { -webkit-transform: rotate(15deg) scale(1.1); transform: rotate(15deg) scale(1.1); padding-left: .15em; display: inline-block;}

#IDInfo { font-size: 1.7rem; line-height: 1.6; letter-spacing: .08em; margin: 20px 0 0; }
.IDIPrice { font-size: 2.5rem;} .IDIPOff { font-size: 2.2rem; padding: 0 5px}

#IDNavi { font-size: 1.6rem; line-height: 1.8; letter-spacing: .08em; margin: 20px 0 0 }
#IDTelNum { font-size: 3rem; font-style: normal; line-height: 1; margin: 5px 0; display: block; }
#IDTelNum > a { color: #ff0; text-decoration: none; display: inline-block; position: relative; }
.IDTNotice { font-size: 1.5rem; } .IDTOff { font-size: 1.3rem; display: block; }

#IDTelMark {
  content: ''; position: absolute; top: 8px; left: 50%; background-size: 234px 250px;
  background-position: 0 -120px; width: 20px; height: 20px; margin-left: -4.3em; }

@media (min-width: 600px) { #initialBT { font-size: 1.8rem; letter-spacing: .1em} #IDON { padding: 11px 11px 12px}}

/* Line Window */
#spBSLLine { z-index: 9999}

#spBSLLine #BLineWindow {
  position: absolute; bottom: 0; right: 0; background: rgba(255,255,255,.95);
  width: calc(100vw - 102px); padding: 30px 30px 65px; border: 1px solid #00b833;
  -webkit-border-radius: 10px; border-radius: 10px; z-index: -1;
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2); box-shadow: 0 1px 2px rgba(0,0,0,.2);}

#BLineIcon { background-position: 0 -160px; width: 90px; height: 86px; margin: 0 auto; display: block; position: relative; }

#lineName { font-size: 1.6rem; text-align: center; line-height: 1.8; letter-spacing: .1em; margin: 10px 0 0; }

.LineID { color: #008e0e; font-weight: 500}

/* SNS Links
------------------------------------------- */
.topSNS { position: absolute; top: 440px; left: 10px}

.pageSNS { position: absolute; top: 310px; left: 50%; width: 220px; margin-left: -110px; z-index: 999}

.SNSLinks { justify-content: flex-start; margin: 10px 0 0; padding: 0}

.TSns { width: 30px; margin: 0 6px}

@media (min-width: 560px) {
  .topSNS { top: 319px; left: 5vw}
  .pageSNS { top: 65px; left: inherit; right: 0} .TSns { margin: 0 6px 0 0} }

.snsMark {
  background: url(../common_im/sp_sns.svg) no-repeat 0 0 / 190px 30px; width: 30px; height: 30px;
  display: block; position: relative; z-index: 2}

.TSMarkInsta { background-position: 0 0}
.TSMarkUTube { background-position: -40px 0}
.TSMarkX { background-position: -80px 0}
.TSMarkFB { background-position: -120px 0}
.TSMarkLine { background-position: -160px 0}

.TSnsLink { width: 30px; height: 30px; display: block; position: relative; z-index: 1}

.TSnsLink::before {
  content: ''; position: absolute; top: 0; left: 0; background: #898989; width: 100%; height: 100%;
  border-radius: 5px; display: block; z-index: -5}


/* Footer
------------------------------------------- */
footer { background: #f0f7ee; margin-top: 1px; padding-top: 35px; border-top: 1px solid #d2e2c2; }

#footInner { max-width: 620px; margin: 0 auto; padding: 0 20px 50px; position: relative; z-index: 1; }
@media (max-width: 330px) { #footInner { padding: 0 10px 50px}}

#bottomLogo { background-position: 0 -50px; width: 234px; height: 53px; margin: 0 auto; }

.botCompAddress { font-size: 1.5rem; text-align: center; letter-spacing: .05em; white-space: nowrap; margin: 20px 0 0; }

/* Bottom Calender */
#botCalendar { width: 100%; margin-top: 30px; }
.BCReserve {
  color: #fff; background: #a2c779; font-size: 1.6rem; text-align: center; letter-spacing: .2em; text-indent: .2em;
  margin: 0; padding: 3px 0 5px; }

#BCalWrapp { background: #fff; padding: 8px 0 14px; }

#BCalTA, #scheduleTA { border-collapse: collapse; position: relative; }
#BCalTA { width: calc(100% - 20px); margin: 0 auto; }
#scheduleTA { width: 100%; margin: 0; }
#BCalTA:before {
  content: ''; position: absolute; bottom: -10px; left: 50%;
  background: #c7e0b0; width: 100%; height: 1px; margin-left: -50% }

@media (min-width: 390px) { #BCalTA { width: 332px}}

#BCalTA th, #BCalTA td, #scheduleTA th, #scheduleTA td {
  color: #457e00; font-size: 1.6rem; font-weight: 500; text-align: center; white-space: nowrap; padding: 8px 6px 7px}
#BCalTA th, #scheduleTA th { line-height: 1.2; padding: 8px 7px 7px}

#scheduleTA .spBlock { line-height: 1.4} #scheduleTA .ls20 { letter-spacing: .1em}

@media (max-width: 359px) { #BCalTA th, #BCalTA td { padding: 8px 5px 7px}}

#BCalTA tr:nth-of-type(3) th, #BCalTA tr:nth-of-type(3) td,
#scheduleTA tr:nth-of-type(3) th, #scheduleTA  tr:nth-of-type(3) td { padding-top: 2px}

#BCalTA tr:nth-of-type(1) th, #scheduleTA tr:nth-of-type(1) th { border-bottom: 2px solid #a2c779}
#BCalTA tr th:nth-of-type(1), #scheduleTA tr th:nth-of-type(1) { border-right: 2px solid #a2c779; letter-spacing: .05em}

#BCalTA tr th:nth-of-type(2), #BCalTA tr td:nth-of-type(1),
#scheduleTA tr th:nth-of-type(2), #scheduleTA tr td:nth-of-type(1){ padding-left: 15px}

.calHyph { font-size: 1.3rem; vertical-align: .05em; margin: 0 2px; }
#scheduleTA .calHyph { vertical-align: .15em; margin: 0 3px}
#scheduleTA .calDot { margin: 0 1px}

#BCalInfo {
  color: #457e00; font-size: 1.4rem; text-align: center; letter-spacing: .05em;
  margin: 10px 0 0; padding-top: 10px; position: relative; }

.BCISign { color: #d30; font-size: 2rem; margin-right: 4px; vertical-align: -.25em;}

@media (min-width: 460px) {
  #BCalInfo .spFalse { margin-right: 2px; display: inline !important} #BCalInfo .spBlock, #BCalTA .spBlock { display: inline !important}}


/* Bottom Side Link */
#botLinks { margin-top: 15px; }
#BPLTelBT { position: relative; }

.botPageLink, .botSnsLink { height: 60px; margin: 0; }
.botPageLink { width: 100%; margin-top: 10px; }
.botSnsLink { width: 60px; height: 60px; }

#BPLAccess { margin-top: 15px; }
#BSLLine { position: relative}

.botPageLink > a, .botSnsLink a {
  text-decoration: none; text-align: center; width: 100%; height: 100%; cursor: pointer;
  display: block; position: relative; overflow: hidden; z-index: 1; }
.botPageLink > a { color: #fff; letter-spacing: .1em; }
.botSnsLink a { -webkit-border-radius: 10px; border-radius: 10px; }

#BPLTCopy, #BPLAcCopy { position: absolute; left: 0; width: 100%; }
#BPLTCopy { top: 9px; font-size: 1.5rem; position: relative; }
#BPLAcCopy { top: 21px; font-size: 1.6rem; letter-spacing: .15em; }
#BPLTNum { font-size: 2rem; font-style: normal; letter-spacing: .12em; margin-top: 6px; display: block; }
#BPLTCopy:before {
  content: ''; position: absolute; top: 28px; left: -22px;
  background-position: -200px 0; width: 15px; height: 15px; display: block; }

#spBSLFB, #spBSLLine { position: absolute; top: 0; right: 0; } #spBSLLine { top: 72px}
#BSLFBMark, #BSLLineMark { position: absolute; display: block; }
#BSLFBMark { top: 15px; left: 22px; background-position: -30px -110px; width: 16px; height: 31px; }
#BSLLineMark { top: 12px; left: 9px; background-position: -60px -110px; width: 42px; height: 40px;}

#BPLTelBT > a { background: #4eb7e7; }
#BPLAccess a { background: #8eb266; }

#spBSLFB a { background: #3c5998; }
#spBSLLine a { background: #00b833; }

/* Bottom Side Info */
#botSideInfo { width: 100%; max-width: 420px; margin: 30px auto 0; position: relative; }

#BSIArea { min-height: 140px; width: 235px; position: relative; }

.BSIST { color: #fff; background: #9e9890; font-size: 1.5rem; text-align: center; letter-spacing: .07em; margin: 0; padding: 5px 0 6px; }
#BSIArea .BSIST { text-indent: .05em; width: 106px; } #BSIPay .BSIST { width: 100%; }

#BSICity { font-size: 1.4rem; line-height: 1.6; letter-spacing: .08em; margin: 15px 0 0 3px;}

#BSIAMap { position: absolute; top: -5px; right: 0; background-position: -110px -110px; width: 118px; height: 140px; }

#BSIPay { width: 100%; margin: 20px auto 0}
#spBSICard { width: 90%; margin: 18px auto 0}

@media (min-width: 600px) {
  #botSideInfo { max-width: none} #spBSICard { margin-top: 25px}
  #BSIPay { position: absolute; top: 0; right: calc(70px + 2%); width: 42%; margin: 0}}
@media (min-width: 620px) { #BSIPay { right: calc(70px + 3%)}}
@media (min-width: 640px) { #BSIPay { right: calc(70px + 4%)}}

/* Bottom copyright */
#copyright {
  background: #9e9890; color: #f0f0f0; font-size: 1.4rem; text-align: center; letter-spacing: .06em;
  width: 100%; padding: 20px 0 62px; border-top: 1px solid #fff; display: block; }

@media (min-width: 600px) { #copyright { padding-bottom: 19px}}

/* Return Button
------------------------------------------- */
#returnBT { position: fixed; bottom: -5px; right: 10px; margin: 0; z-index: 999; }

#returnBT p { margin: 0; position: relative; }

#returnBT a {
 color: #fff; background: rgba(115,181,30,0.9); width: 50px; height: 50px; margin: 0;
 text-indent: -9999px; -webkit-border-radius: 50%; border-radius: 50%; position: relative; }

#returnBT a:after {
 content: ''; position: absolute; top: 22px; left: 50%; cursor: pointer;
 width: 8px; height: 8px; border-top: 2px solid #fff; border-right: 2px solid #fff; margin-left: -5px;
 -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

/* Bottom Blog Info
------------------------------------------- */
#CMSIndBlog { padding: 35px 0; margin-bottom: 4px; }

.BBLItem {
  text-decoration: none;width: 300px; margin: 25px auto 0; padding-bottom: 20px; display: block;
  cursor: pointer; position: relative; z-index: 1; overflow: hidden; }
.BBLItem:after {
  content: ''; position: absolute; bottom: 0; left: 0; background: #bbd999; width: 100%; height: 1px; display: block; }

.BBLIInner { display: -webkit-flex; display: flex; -webkit-flex-flow: row wrap; flex-flow: row wrap; }

.BBLHead { order: 2; width: 100%; margin-top: 15px; position: relative; }
.BBLHead:after { content: ''; position: absolute; left: 0; display: block; }
.BBLHead:after {
  top: 0; width: 0; height: 0; border-style: solid; border-width: 10px 10px 0 0;
  border-color: #4eb7e7 transparent transparent transparent; display: block; }

.BBLImge { order: 1; width: 300px; height: auto; max-height: 200px; margin: 0 auto; overflow: hidden; position: relative; z-index: 1; }

.BBLItem .BBLTime { color: #699933; font-size: 1.6rem; letter-spacing: .1em; padding-left: 20px; }

.BBLItem:before { top: 40px; background: #bbd999; width: 100%; height: 1px; z-index: -1; }

.BBLDate { font-size: 3rem; font-style: normal; }

.BBLDDia { font-size: 2rem; margin: 0 5px; vertical-align: .15em; }

.BBLTitle { color: #555; font-size: 1.6rem; font-weight: bold; line-height: 1.6; margin: 12px 0 0; }

.BBLNoImage { background-position: 0 -520px; }

@media (max-width: 340px) { .BBLItem { width: 280px}}

@media (min-width: 600px) { #BBInfoList { padding: 0 15px} .BBLItem { width: 45%} .BBLImge { max-height: 48vh}}

@media (min-width: 600px) and (orientation: portrait) { .BBLImge { max-height: 28vw}}
@media (min-width: 730px) and (orientation: portrait) { .BBLImge { max-height: 26.5vw}}

/* -------------------------------------------
 Top page
------------------------------------------- */
/* Top Common */
#topTBGraphic:after, #topTBGraphic:before, #TBBImage:after, #TBBImage:before, .TTBGImage, #TFWoman:after, .TFFIM, .TVLGender {
  background: url(../top_im/top_im01.svg); background-size: 430px 160px; background-repeat: no-repeat; }

#TFReason:after, #TTCBody {
  background: url(../top_im/top_im02.png); background-size: 250px 496px; background-repeat: no-repeat; }

.topST { color: #4e4e4e; font-size: 2.5rem; text-align: center; text-indent: .05em; letter-spacing: .07em; margin: 0; }

#topFeatureST, #TFFST, #BBInfoST { color: #457e00}

.TSEN { font-size: 1.5rem; font-style: normal; margin-top: 8px; display: block; }

#topFeatureST > .TSEN, #TFFST > .TSEN, #BBInfoST > .TSEN { color: #7faf42; }
#TTreatmentST .TSEN, #TVoiceST .TSEN, #staffST .TSEN, #facilitieST .TSEN, #mediaST .TSEN { color: #7e7e7e; }

.topContentsBN a { width: 300px; margin: 35px auto 0; position: relative; overflow: visible; }

@media (max-width: 330px) { #topFeatureST { font-size: 2.2rem} .topContentsBN a { width: 280px}}

#TTreatContents, #topFFList, #TVoiceList { margin: 0 auto; padding: 0 10px; }

#TTreatCInner, #TVListInner { margin-top: 38px; }
#TVListInner { margin-top: 8px}

/* Top Head Area */
#topHead { height: 500px; padding-bottom: 117px; }

#topEyecatch {
  position: absolute; top: 0; left: 0; background: url(../top_im/top_bg01.jpg) no-repeat 0 0;
  width: 100%; height: 500px; padding: 0; }

#TEInner { height: 500px; margin: 0 auto; position: relative; }

#TECopy {
  position: absolute; top: 105px; left: 50%;
  color: #8e694e; font-size: 2.2rem; line-height: 1.4; letter-spacing: .07em; margin: 0; margin-left: -7.3em; }

@media (max-width: 330px) { #TECopy { font-size: 2.1rem}}

#topDirector { position: absolute; bottom: 0; right: 0; overflow: hidden; }

#doc_line, #topDirectorIM { width: 380px; height: 302px; margin-right: -45px; }
#topDirectorIM { z-index: 5}
#doc_line { position: absolute; bottom: 0; right: 0; z-index: 0; fill-opacity: 0; transition: fill-opacity 0.5s}
#doc_line.done { opacity: 0 !important}

#topInfoBox { padding-top: 510px; width: calc(100% - 20px); margin: 0 auto; z-index: 20; overflow: hidden; }

#topInfo { background: #fff; min-height: 44px; margin: 0; border: 1px solid #4eb7e7; }
#TISign { background: #4eb7e7; width: 35px; height: auto; display: block; position: relative; }
#TISign:before {
  content: ''; position: absolute; top: 50%; left: 12px; margin-top: -9px;
  background-position: -180px 0; width: 9px; height: 18px; display: block; }

#TIMessage {
  background: #fff; color: #17a2c9; font-size: 1.8rem; line-height: 1.4; text-align: center;
  letter-spacing: .05em; width: calc(100% - 55px); padding: 9px 10px; display: block; }

#topTherapyTimes { margin: 10px 0 0; }

#topTherapyTimes a {
  color: #fff; background: #72b51e; font-size: 1.8rem; letter-spacing: .06em; text-align: center;
  padding: 15px 0 13px; position: relative; z-index: 1; }

@media (min-width: 560px) {
  #topEyecatch, #TEInner, #topHead { height: 100vh} #topHead { padding-bottom: 0}
  #TECopy { top: 31.5vh; left: 5vw; margin-left: 0}
  #doc_line, #topDirectorIM { width: 90vh; height: auto; margin-right: -6vw}
  #topInfoBox { width: 50vw; margin: 0; padding: 64vh 0 0 5vw}
  #topInfo { min-height: 38px} #TIMessage { font-size: 1.6rem; padding: 7px 10px}
  #topTherapyTimes { margin-top: 8px} #topTherapyTimes a { font-size: 1.6rem; padding: 12px 0}
  #TNList a > i { top: 50%; right: 20px}}

@media (min-width: 560px) and (orientation: portrait) {
  #topEyecatch, #TEInner, #topHead { height: 370px} #TEInner { position: relative}
  #TECopy { top: 120px; left: 5%; margin-left: 0} #topDirectorIM { margin-left: 56%}
  #doc_line, #topDirectorIM { width: 50%; height: auto; margin-right: -6%}
  #topInfoBox { width: 50vw; margin: 0; padding: 230px 0 0 5vw}}

@media (min-width: 640px) { #TECopy { font-size: 2.4rem}}

/* Top News Area */
#topNews { margin: 5px auto 0; padding: 32px 0; position: relative; }

#TNewsST {
  color: #4e4e4e; font-size: 3rem; text-align: center; font-weight: 400; letter-spacing: .06em; margin: 0; }
.TNewsSM { font-size: 3rem; padding: 0 8px}

#TNewsJP { color: #7e7e7e; font-size: 1.5rem; margin-top: 3px; display: block; }

#TNList { max-width: 600px; margin: 25px auto 0; padding: 0 10px; }

#TNList > li { font-size: 1.5rem; line-height: 1.4; letter-spacing: .06em; z-index: 1; position: relative; }
#TNList > li:nth-of-type(2) { margin-top: 10px; }
#TNList > li a { color: #444; background: #fff; padding: 13px 18px 12px 20px; position: relative; }

.TNDate { font-size: 1.4rem; font-style: normal; margin-bottom: 5px; display: block; }
#TNList a .TNDate { color: #a29072; }

#TNList > li:before {
  content: ''; position: absolute; top: 0; left: 0; z-index: 5;
  width: 0; height: 0; border-style: solid; border-width: 10px 10px 0 0;
  border-color: #4eb7e7 transparent transparent transparent; display: block; }

#TNList > li:hover { -webkit-transform: translate3d(15px,0,0); transform: translate3d(15px,0,0); }

#TNLinkBT { margin: 25px 0 0; }

#TNLinkBT a { font-size: 1.5rem; width: 60%; margin: 0 auto; padding: 15px 0 16px; position: relative; overflow: visible; }

/* Top Feature Area */
#TFMainCopy {
  color: #555; font-size: 1.8rem; font-weight: bold; line-height: 1.8; text-align: center; letter-spacing: .04em;
  margin: 25px auto 0; padding: 0 18px; }

@media (min-width: 640px) { #TFMainCopy { font-size: 1.7rem; text-align: left; max-width: 560px; } #TFMainCopy br { display: none}}
.topTBalanceST { color: #17a2c9; font-size: 2.5rem; text-align: center; letter-spacing: .06em; margin: 35px 0 0; }

#topTBGraphic { margin: 25px auto 0; position: relative; }

.TTBGItem { width: 240px; margin: 0 auto; position: relative; }
.TTBGItem:nth-of-type(2), .TTBGItem:nth-of-type(3), .TBBItem:nth-of-type(2), .TBBItem:nth-of-type(3) { margin-top: 55px}

#topTBGraphic:after, #topTBGraphic:before, #TBBImage:after, #TBBImage:before {
  content: ''; position: absolute; left: 50%;
  background-position: -140px 0; width: 30px; height: 30px; margin-left: -15px; display: block; }
#topTBGraphic:after, #TBBImage:after { top: 260px} #topTBGraphic:before, #TBBImage:before { bottom: 262px}

.TTBIST { position: absolute; top: 0; left: 0; color: #fff; font-size: 2.6rem; margin: 0; padding: 17px 0 0 17px; z-index: 10; }

.TTBIST:before {
  content: ''; position: absolute; top: 0; left: 0;
  width: 60px; height: 60px; -webkit-border-radius: 50%; border-radius: 50%; z-index: -1; }

.TTBGCircle, .TBBICircle {
  width: 220px; height: 220px; margin: 0 auto; -webkit-border-radius: 50%; border-radius: 50%;
  display: block; position: relative; z-index: 1; }

#TTBI01 .TTBIST:before, #TTBI01 .TTBGCircle, #TBBI01 .TTBIST:before, #TBBI01 .TTBGCircle { background: #69cce2; }
#TTBI02 .TTBIST:before, #TTBI02 .TTBGCircle, #TBBI02 .TTBIST:before, #TBBI02 .TTBGCircle { background: #f78aa5; }
#TTBI03 .TTBIST:before, #TTBI03 .TTBGCircle, #TBBI03 .TTBIST:before, #TBBI03 .TTBGCircle { background: #99c462; }

.TTBGImage { content: ''; position: absolute; top: 50%; left: 50%; display: block; }

#TTBI01 .TTBGImage, #TBBI01 .TTBGImage { background-position: 0 0; width: 42px; height: 152px; margin: -74px 0 0 -21px; }
#TTBI02 .TTBGImage, #TBBI02 .TTBGImage { background-position: -60px 0; width: 56px; height: 52px; margin: -26px 0 0 -26px; }
#TTBI03 .TTBGImage, #TBBI03 .TTBGImage { background-position: -60px -80px; width: 66px; height: 54px; margin: -31px 0 0 -30px; }

.TTBGCap, .TBBCap { font-size: 1.6rem; text-align: center; letter-spacing: .06em; margin: 12px 0 0; }

@media (min-width: 560px) {
  #topTBGraphic, #TBBImage { max-width: 580px; padding: 0 20px}
  #topTBGraphic ,#TFSecond, #TBBImage { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between}
  #topTBGraphic:after, #topTBGraphic:before, #TBBImage:after, #TBBImage:before { -webkit-transform: scale(.7); transform: scale(.7)}
  #topTBGraphic:after, #TBBImage:after { top: 36%; margin-left: -18.9%} #topTBGraphic:before, #TBBImage:before { bottom: 48%; margin-left: 13.5%}
  .TTBGItem, .TBBItem { width: 160px; margin: 0}
  .TTBGItem:nth-of-type(2), .TTBGItem:nth-of-type(3), .TBBItem:nth-of-type(2), .TBBItem:nth-of-type(3) { margin: 0}
  .TTBGCircle, .TBBICircle { width: 160px; height: 160px} .TTBGImage { -webkit-transform: scale(.8); transform: scale(.8)}
  #TTBI02 .TTBGImage, #TBBI02 .TTBGImage { margin-left: -27px}
  .TTBIST { font-size: 2.2rem} .TTBGCap, .TBBCap { font-size: 1.1rem}}

@media (min-width: 600px) { #topTBGraphic:after, #TBBImage:after { margin-left: -19.25%} #topTBGraphic:before, #TBBImage:before { margin-left: 14.25%} }
@media (min-width: 640px) { #topTBGraphic:after, #TBBImage:after { margin-left: -19.4%} #topTBGraphic:before, #TBBImage:before { margin-left: 14.4%} }
@media (min-width: 660px) {
  #topTBGraphic, #TBBImage { max-width: 600px} #topTBGraphic:after, #TBBImage:after { margin-left: -19.65%}
  #topTBGraphic:before, #TBBImage:before { margin-left: 14.65%}}

#TFSecond { margin: 40px auto 0; position: relative; overflow: hidden; }

#TFReason, #TFWoman { width: 320px; margin: 0 auto; position: relative; }

#TFReason:before, #TFWoman:before {
  content: ''; position: absolute; top: 0; left: 50%; margin-left: -190px; z-index: -1;
  width: 380px; height: 100%; display: block;-webkit-border-radius: 50%; border-radius: 50%; }
#TFReason:before { background: rgba(233,247,229,.6); }
#TFWoman:before { background: rgba(250,240,231,.6); }

#TFReason:after, #TFWoman:after { content: ''; left: 50%; position: absolute; display: block; }
#TFReason:after { top: 25px; background-position: 0 -460px; width: 150px; height: 36px; margin-left: -75px; }
#TFWoman:after {
  top: 5px; background-position: -290px -10px; width: 140px; height: 140px; margin-left: -70px;
  -webkit-transform: scale(.7855); transform: scale(.7855); }

.TFSecST { color: #17a2c9; font-size: 2.1rem; text-align: center; text-indent: .07em; letter-spacing: .07em; margin: 0; }

#TFReason  { padding: 75px 0 60px}
#TFWoman { margin-top: -20px; padding: 150px 0 50px; }

#TFRSix { color: #3eae42; font-size: 2.8rem; margin: 0 2px; vertical-align: -.075em; }

#TFRList { margin: 20px 0 0 55px; padding: 0; }

#TFRList li { color: #4e4e4e; font-size: 1.8rem; letter-spacing: .05em; margin: 14px 0 0}

.TFRNum { color: #3eae42; font-size: 2rem; font-style: normal; letter-spacing: 0; vertical-align: -.035em; margin-right: 6px; }

#TFWGuide { font-size: 1.6rem; text-align: center; line-height: 1.8; letter-spacing: .06em; margin: 16px 0 0; }

@media (max-width: 340px) {
  #TFMainCopy { font-size: 1.6rem} .topTBalanceST { font-size: 2.4rem}
  #TFSecond { margin-top: 25px} #TFReason, #TFWoman { -webkit-transform: scale(.9); transform: scale(.9)}
  #TFWoman { margin-top: -55px} #topFeature .topContentsBN a { margin-top: 15px}}

@media (min-width: 560px) {
  #TFSecond { max-width: 650px; margin-top: 10px}
  #TFReason, #TFWoman { transform: scale(.8)} #TFWoman { margin-top: 0} #TFWoman br { display: none}
  #TFReason { padding-top: 85px} #TFReason:after { top: 30px} #TFRList { margin: 25px 0 0 32px}
  #topFeature .topContentsBN a { margin-top: -5px}}

@media (min-width: 590px) { #TFSecond { padding: 0 20px}}
@media (min-width: 620px) { #TFSecond { padding: 0 30px}}
@media (min-width: 650px) {
  #TFReason:before, #TFWoman:before { width: 390px; margin-left: -195px}
  #TFReason, #TFWoman { transform: scale(.85)} #TFRList { margin-left: 42px}}
@media (min-width: 690px) { #TFReason:before, #TFWoman:before { width: 400px; margin-left: -205px} #TFRList { margin-left: 50px}}

/* Top Treatment Area */
#TTreatContents { max-width: 620px}

#TTreatCInner {
  display: -webkit-flex; display: flex; -webkit-flex-flow: row wrap; flex-flow: row wrap; background: #fff; padding: 0 0 36px; }

#topSymptomsList { order: 2; margin: -25px 0 0; padding: 0 15px 0 10px; }
#topSymptomsList dt {
  color: #17a2c9; font-size: 1.8rem; font-weight: bold; letter-spacing: .06em; margin: 28px 0 0; padding-left: 22px; position: relative; }
#topSymptomsList dt:first-of-type { margin: 0; }
#topSymptomsList dd { font-size: 1.5rem; line-height: 1.8; letter-spacing: .07em; margin: 8px 0 0; padding-left: 22px; }

#topSymptomsList dt:before {
 content: ''; position: absolute; top: 3px; left: 0;
 width: 11px; height: 4px; border-left: 3px solid #4eae3e; border-bottom: 3px solid #4eae3e;
 -webkit-transform: rotate(-48deg); transform: rotate(-48deg); }

#TTCBody {
  order: 1; background-position: 0 0; width: 244px; height: 445px; margin: -15px auto 0;
  -webkit-transform: scale(.8); transform: scale(.8); }

@media (min-width: 640px) { #topSymptomsList { padding-left: 20px}}

/* Top Flow and Fee Area */
#topFFLInner { margin-top: 5px; }

.TFFLItem { width: 300px; margin: 20px auto 0; }

.TFFLImage { background: #72b51e; width: 100%; height: 180px; position: relative;}

.TFFST { color: #fff; font-size: 1.8rem; text-align: center; letter-spacing: .1em; margin: 0; padding-top: 116px; }

.TFFIM { position: absolute; top: 40%; left: 50%; }
#TFIM01 { background-position: -139px -49px; width: 36px; height: 36px; margin: -18px 0 0 -18px; }
#TFIM02 { background-position: -140px -100px; width: 42px; height: 46px; margin: -24px 0 0 -22px; }
#TFIM03 { background-position: -200px -1px; width: 86px; height: 30px; margin: -13px 0 0 -43px; }

.TFFLCopy { font-size: 1.4rem; line-height: 1.6; letter-spacing: .05em; margin: 12px 0 0; padding-left: 5px; }

@media (max-width: 330px) { .TFFLItem { width: 280px}}
@media (min-width: 600px) { .TFFLItem { width: 29%} .TFFLImage { height: 160px} .TFFST { padding-top: 100px}}

/* Top Voice Area */
#TVoiceList { padding: 0 20px}

.TVLItem {
  background: #fff; width: 100%; margin: 20px 0 0; padding: 20px 15px 20px 20px;
  border: 1px solid #c2e7f5; text-decoration: none; display: block; cursor: pointer; position: relative; }

.TVLItem .TVLHead { color: #333; font-size: 1.6rem; line-height: 1.35; letter-spacing: .05em; margin: 0; padding: 3px 0 0 65px; }

.TVLItem .TVLSymptoms { color: #b53e5e; margin-top: 5px; display: block; }

.TVLItem .TVLVoice { color: #333; font-size: 1.4rem; line-height: 1.6; letter-spacing: .05em; margin: 12px 0 0; padding-bottom: 8px; }
.TVLGender { position: absolute; top: 20px; left: 20px; width: 50px; height: 50px; }

.TVLGFemale { background-position: -200px -40px; }
.TVLGMale { background-position: -200px -100px; }

@media (min-width: 600px) { #TVoiceList { padding: 0 25px} .TVLItem { width: calc(48% - 36px)}}

/* -------------------------------------------
 About
------------------------------------------- */
#improveIM:before, #PWSBefore:before, #PWSAfter:before, .bookBuy a:before {
  background: url(../about/images/about.png); background-repeat: no-repeat; background-size: 550px 158px; }

/* About Head Area */
#aboutEyecatch { background: url(../about/images/eyecatch.jpg) no-repeat 40% top; height: 380px; }

.featureSec { position: relative; }

@media (min-width: 560px) {#aboutEyecatch { height: 310px}}

/* Feature Area */
#aboutFeature { padding-bottom: 0; }

.featureHead { float: none; }

.featureST { width: 300px; height: 300px; margin: 0 auto; position: relative; }

.FSCircle {
  content: ''; position: absolute; top: 0; left: 0; display: block; z-index: -1;
  width: 296px; height: 296px; border: 2px solid #e5f0d9; -webkit-border-radius: 50%; border-radius: 50%; }

.FSTit {
  line-height: 1.4; color: #457e00; font-size: 3rem; letter-spacing: .05em; margin: 0 auto; display: block;
  -webkit-font-feature-settings: 'pkna'; font-feature-settings: 'pkna'; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;font-feature-settings: "palt"; }

#FST01 .FSTit { text-align: right; padding-top: 38px; }
#FST02 .FSTit { text-align: left; padding-top: 92px; }
#FST03 .FSTit { text-align: center; padding-top: 60px; }

.FSNum { position: absolute; top: 20px; left: 0; color: #72a732; font-size: 1.8rem; letter-spacing: .1em; }
.FSNum > b { font-size: 2.6rem; vertical-align: -.075em; letter-spacing: 0; }

.featureCopy { font-size: 1.6rem; line-height: 1.8; letter-spacing: .06em; margin: 0; padding: 15px 25px 0; }
.FCopySec { margin-top: 1em; display: block; }

.featureIM { width: calc(100% - 50px); margin-top: 25px; padding: 0 25px; }
#feature01 .featureIM { right: 0; }

@media (min-width: 560px) {
  #aboutFeature { padding-top: 15px} .featureSec { max-width: 640px; margin: 0 auto; padding: 0 20px; position: relative}
  .featureST { float: left; margin: 20px 0 0}
  .featureCopy { padding: 25px 0 0; clear: both}
  .featureIM { position: absolute; top: 0; right: 20px; width: 300px; height: 300px; margin-top: 20px; padding: 0}
  #feature01 .featureIM { right: 20px}}

@media (min-width: 560px) and (max-width: 649px) {
  .featureSec { max-width: 540px}
  .featureST, .featureIM { width: 250px; height: 250px} .FSCircle { width: 246px; height: 246px}
  .FSTit { font-size: 2.6rem} .FSNum { font-size: 1.6rem} .FSNum > b { font-size: 2.4rem; vertical-align: -.025em}
  #FST01 .FSTit { padding-top: 30px} #FST02 .FSTit { padding-top: 77px} #FST03 .FSTit { padding-top: 50px}}

#nextFeature01, .NCopy02 { padding: 0 25px; }

#nextSTFeature01 { color: #17a2c9; font-size: 2.6rem; line-height: 1.4; letter-spacing: .07em; margin: 0; }

@media (min-width: 560px) { #nextSTFeature01 br { display: none}}
@media (min-width: 560px) and (max-width: 599px) { #nextSTFeature01 { font-size: 2.5rem}}

.NCopy01, .NCopy02 { font-size: 1.6rem; line-height: 2; letter-spacing: .06em; margin: 1em 0 0; }

#improveIM { position: relative; }

#improveIM:before {
  content: ''; position: absolute; top: 372px; left: 50%; margin: -16px 0 0 -21px;
  background-position: -500px -50px; width: 46px; height: 37px; display: block;
  -webkit-transform: rotate(90deg); transform: rotate(90deg); z-index: 5; }

#distortedBody, #adjustedBody {
  background: url(../about/images/feature01.png) no-repeat 0 0; background-size: 550px 340px;
  width: 270px; height: 340px; margin: 70px auto 0; position: relative;}
#adjustedBody { background-position: -280px 0; margin-top: 125px; }

.IIMCaption {
  position: absolute; top: -45px; left: 0; color: #876c54; font-size: 1.6rem;
  text-align: center; width: 100%; padding: 6px 0 7px; border: 2px solid #d4cac1; }
#adjustedBody .IIMCaption { top: -55px}

@media (min-width: 640px) {
  .secWrapp02 { padding-bottom: 20px}
  #improveIM {
    max-width: 600px; margin: 0 auto; display: -webkit-flex; display: flex;
    -webkit-justify-content: space-between; justify-content: space-between}
  #distortedBody { margin: 70px 0 0} #adjustedBody { margin: 80px 0 0}
  #improveIM:before { top: 50%; margin-left: -23px; -webkit-transform: rotate(0); transform: rotate(0)}}

#nextFeature02 { padding: 0 0 40px; }

@media (min-width: 560px) and (max-width: 649px) { #nextFeature02 { max-width: 590px; margin: 0 auto}}

#TBBalanceGuide { float: none; margin-top: 20px; }

#FST02, #FST03 { margin-top: 20px}

#TBBCatch { width: calc(100% - 40px); margin: 20px auto 0; border-top: 2px solid #d5e6c3; border-bottom: 2px solid #d5e6c3; }

#TBBCatchCopy { color: #457e00; font-size: 1.8rem; line-height: 1.5; letter-spacing: .05em; text-align: center; margin: .5em 0 .6em; display: inline-block;}
#TBBCatchCopy br { display: none}

#TBBThinking { float: none; margin: 0; }

#TBBTST { color: #17a2c9; font-size: 2.2rem; text-align: center; letter-spacing: .08em; margin: 0; padding-top: 35px }

#TBBImage { margin-top: 30px; position: relative; }

.TBBItem { width: 250px; margin: 0 auto; position: relative; }

#pregnantWomanSupport { background: #faf5f0; margin-top: 50px; padding: 30px 20px 30px 25px; position: relative; }
#pregnantWomanSupport:after {
  content: ''; position: absolute; top: 0; right: 0; width: 0; height: 0;
  border-style: solid; border-width: 0 25px 25px 0; border-color: transparent #ffffff transparent transparent; }

#PWSST { color: #17a2c9; font-size: 2.5rem; line-height: 1.4; letter-spacing: .06em; margin: 0; }

#PWSInner { max-width: 560px; margin: 0 auto}

#PWSBefore, #PWSAfter { margin-top: 20px; padding-top: 100px; position: relative; }

#PWSBefore:before, #PWSAfter:before {
  content: ''; position: absolute; top: 0; left: 50%; width: 140px; height: 140px; margin-left: -70px; display: block; }
#PWSBefore:before { background-position: -160px 0; }
#PWSAfter:before { background-position: -320px 0; }

.PWSIST {
  color: #fff; background: #57bbd9; font-size: 1.8rem; text-align: center; letter-spacing: .2em;
  margin: 8px 0 0; padding: 4px 9px 6px 12px; display: inline-block; }

.PWSCopy { font-size: 1.5rem; line-height: 1.8; letter-spacing: .05em; margin: 16px 0 0; }

@media (max-width: 330px) {
  #nextSTFeature01 { font-size: 2.5rem} .featureCopy { padding: 0 20px}
  .featureIM { width: calc(100% - 40px); padding: 0 20px} #pregnantWomanSupport { padding: 30px 20px 30px 15px}}

@media (min-width: 560px) {
  #TBBImage { margin: 30px auto 0} #TBBCatchCopy { display: block} .TBBItem { width: 160px; margin: 0}
  #PWSST { text-align: center} #PWSST .spBlock { display: inline!important} #pregnantWomanSupport { margin-top: 35px} .PWSIST { margin-top: 12px}
  #PWSBefore, #PWSAfter { min-height: 140px; padding: 0 0 0 170px} #PWSBefore:before, #PWSAfter:before { left: 0; margin: 0}}
@media (min-width: 560px) and (max-width: 699px) { #TBBCatchCopy br { display: block}}

/* Staff Area */
#aboutStaff, .aboutAltSec { width: calc(100% - 20px); margin: 5px auto 0; padding: 35px 10px; }

#directorInfo, #facilitieContainer { margin-top: 30px; padding: 30px 25px; }
#directorInfo, .staffItem, .staffAll, #facilitieContainer { background: #fff; }

#directorInfo { margin: 145px auto 0; }

#directorPhoto { max-width: 290px; margin: -145px auto 0; }

#directorName { font-size: 1.7rem; letter-spacing: .1em; margin: 0; white-space: nowrap; width: 290px; margin: 16px auto 0; }

.directorTitle {
  color: #897662; font-size: 1.6rem; font-style: normal; letter-spacing: .2em; vertical-align: .025em;
  margin-right: 8px; padding: 4px 2px 4px 6px; border: 1px solid #d2c2b2; display: inline-block; }

.kanaName { font-size: 1.3rem; letter-spacing: .035em; vertical-align: .1em; }

#directorProfile { padding-top: 20px; }

.DProST { color: #777; font-size: 1.6rem; letter-spacing: .1em; margin: 0; padding-bottom: 3px; border-bottom: 2px solid #ccc; display: inline-block;}

.DProCopy { font-size: 1.5rem; line-height: 1.8; letter-spacing: .06em; margin: 1em 0 0; }

.DProCopy .spBlock:nth-last-of-type(2), .DProCopy .spBlock:last-of-type { margin-top: 1em}

.staffItem, .staffAll { width: calc(100% - 90px); margin: 20px auto 0; padding: 25px; }
.staffItem { max-width: 250px}

.staffData { margin: 10px 0 0; letter-spacing: .06em; }
.staffTitle { color: #897662; font-size: 1.5rem; margin: 0; }
.staffName { font-size: 1.6rem; margin: .5em 0 0; }

@media (max-width: 340px) {
  #directorInfo, #facilitieContainer { padding: 30px 10px} .staffItem, .staffAll { width: calc(100% - 40px); padding: 20px}}

@media (min-width: 560px) {
  #aboutStaff, .aboutAltSec { width: calc(100% - 40px)}
  .staffItem { max-width: none; width: calc(48% - 50px); margin: 20px 0 0} .staffAll { width: 350px}}

@media (min-width: 640px) {
  #directorInfo { margin-top: 60px} #directorProfile { text-align: center} .DProST { text-align: center; }
  #directorPhoto, #directorName { width: 250px; margin-left: 0; margin-right: 0}
  #directorPhoto { margin-top: -60px} #directorName { width: 50%; margin-top: 60px} .DProCopy { text-align: left}}
@media (min-width: 700px) { #directorName { width: 53%}}

/* Facilities & Equipment Area */
.aboutAltSec { border-top: 2px solid #fff; }

#facilitieContainer { padding-bottom: 15px; }
.facilitieItem { max-width: 350px; margin: 0 auto; padding-bottom: 20px; }

.FEIcap { color: #897662; font-size: 1.5rem; letter-spacing: .1em; margin-top: 10px; }

#shopKirara { background: #fff; margin-top: 25px; padding: 25px; }

#kiraraInfo { max-width: 350px; margin: 0 auto; position: relative; }

#loraraLogo { margin: 20px auto 0; }
#kiraraLink { font-size: 1.6rem; margin: 20px 0 0; }
.kiraraURL { font-size: 1.5rem; padding-top: 6px; display: block; }

@media (min-width: 640px) { .facilitieItem { max-width: none; width: 48%; margin: 0} }

/* Book & Media Area */
.bookItem01, .bookItem02, .videoBox { margin-top: 10px; padding: 20px 18px; }
.bookItem01:first-of-type { margin-top: 25px; }
.bookItem01, .bookItem02 { background: #fff; }
.videoBox { background: #666; }

.BIData { margin: 0; }

.BIData dt, .videoData dt { color: #897662; font-size: 2rem; text-align: center; letter-spacing: .06em; margin: 15px 0 0; }
.BITitLeft { margin-left: -.5em; }
.BISM01, .BISM02 { font-size: 1.5rem; margin-top: 5px; display: block; } .BISM02 { margin: 0 0 5px; }
.BIGuide, .BIGuide02, .publication { font-size: 1.5rem; line-height: 1.5; letter-spacing: .05em; margin: 18px 0 0; }

.publication { font-size: 1.4rem; margin-top: 15px; }
.bookBuy { font-size: 1.4rem; text-align: center; letter-spacing: .05em; margin: 16px 0 0; }

.bookBuy a {
  background: #ffd272; color: #333; text-decoration: none; padding: 5px 9px 6px 34px; position: relative;
  display: inline-block; cursor: pointer; overflow: hidden; -webkit-border-radius: 5px; border-radius: 5px; }
.bookBuy a:before {
  content: ''; position: absolute; top: 4px; left: 8px;
  background-position: -500px -100px; width: 20px; height: 16px; display: block; }

.BIImage { width: 160px; margin: 0 auto; }
.BIImage02 { background: #ddd; width: 104px; height: 187px; margin: 0 auto; padding: 38px 28px 0; }
.BIImage03 { background: #ddd; width: 95px; height: 187px; margin: 0 auto; padding: 38px 32px 0; }

.videoMedia { width: 100%; max-width: 360px; height: auto; margin: 0 auto; display: block; }

.videoData { margin: 0;}
.videoData dt, .videoData > .BIGuide, .videoData > .publication { color: #f2f2f2; }
.videoData > .BIGuide, .videoData > .publication { text-align: center; margin-top: 20px; }
.publication { text-align: center; } .publication br { display: none}

@media (min-width: 640px) {
  #bookMedia .spBlock {
    margin-top: 20px; display: -webkit-flex !important; display: flex !important; -webkit-justify-content: space-between; justify-content: space-between}
  .bookItem01 { max-width: none; width: calc(48% - 36px); margin: 10px 0 0} .bookItem01:first-of-type { margin-top: 10px}
  .bookItem02 { width: calc(38% - 36px)} .videoBox { width: calc(58% - 36px)}}

/* -------------------------------------------
 Treatments
------------------------------------------- */
.SLImage, .MBLImage {
  background: url(../treatments/images/treatments01.png); background-repeat: no-repeat; background-size: 224px 1270px; }

/* Treatments Head Area */
#treatmentsEyecatch { background: url(../treatments/images/eyecatch.jpg) no-repeat center top; height: 380px; }
@media (min-width: 560px) { #treatmentsEyecatch { height: 310px}}

/* Treatments01 Area */
.treatWrapp { width: 100%;}

#treatments01 { margin-top: 2px; }
#treatInner01, #treatInner02, #treatInner03 { max-width: 640px; margin: 0 auto; padding-top: 25px; position: relative; }

#treatInner01:after {
  content: ''; position: absolute; top: 15px; right: 15px; display: block;
  background: url(../treatments/images/hands.png); background-size: 126px 90px; width: 126px; height: 90px; }

.treatTitle {
  color: #494949; font-size: 2.6rem; text-align: center; letter-spacing: .035em;
  max-width: 600px; margin: 0 auto; padding: 90px 0 0 0; position: relative; z-index: 1; }
.TRCircle {
  content: ''; position: absolute; top: 0; left: 25px; z-index: -1;
  width: 78px; height: 78px; border: 2px solid #ffd9c0; border-radius: 50%; display: block; }

.treatEN { position: absolute; top: 5px; left: 40px; color: #ffa759; font-size: 1.6rem; font-style: normal; letter-spacing: .06em; display: block; }
.treatNum { font-size: 2.8rem; font-weight: 400; vertical-align: -.07em; letter-spacing: 0; }
.treatST { position: absolute; top: 45px; left: 40px; font-size: 1.8rem; letter-spacing: .075em; display: block; }

#treat01Copy { color: #4e4e4e; font-size: 1.8rem; font-weight: bold; line-height: 1.8; margin: 30px 25px 0; }
#treat01Copy br { display: none}

#symptomsContainer { max-width: 540px; margin: 0 auto; padding: 0 20px}
.sympItem { background: #fff; width: 100%; margin-top: 30px; padding: 20px; position: relative; }

.sympST { color: #4e4e4e; font-size: 1.8rem; letter-spacing: .08em; margin: 0 0 0 40%; }
.sympList { margin: 20px 0 0 40%; padding: 0; }
.sympList.SL002 { margin-top: 35px; }
.sympList li { font-size: 1.5rem; line-height: 1.4; letter-spacing: .05em; margin: .5em 0 0; }

.SLImage {
  position: absolute; top: 50%; left: 38%; width: 104px; height: 240px; margin: -120px 0 0 -108px;
  -webkit-transform: scale(.8); transform: scale(.8); }

#SLIM01 { background-position: 0 0; }
#SLIM02 { background-position: -120px 0; }
#SLIM03 { background-position: 0 -250px; }
#SLIM04 { background-position: -120px -250px; width: 70px; height: 230px; margin: -115px 0 0 -91px; }

.okSign {
  position: absolute; top: -15px; right: -15px; background: #87b549; z-index: 5;
  width: 50px; height: 50px; margin: 0; -webkit-border-radius: 50%; border-radius: 50%; }

.okCopy {
  color: #fff; font-size: 1.6rem; font-weight: 500; text-align: center; text-indent: .1em;
  letter-spacing: .1em; margin-top: 17px; display: block; }
.okRota { -webkit-transform: rotate(15deg); transform: rotate(15deg); display: inline-block;}

#treatBodyBalance, #treatPleaseConsult { background: #fff; width: calc(100% - 80px); margin: 30px auto 0; padding: 25px 20px; }
#treatBodyBalance { padding-bottom: 15px}

.treatBBST { color: #0092b9; font-size: 2.4rem; text-align: center; letter-spacing: .06em; margin: 0; }
#treatPleaseConsult .treatBBST { font-size: 2.8rem; line-height: 1.4}

.treatBBCopy { font-size: 1.5rem; line-height: 1.8; letter-spacing: .06em; margin: .75em auto 0; }
.treatBBCopy:first-of-type { margin-top: 16px;}

.muscleBalanceST { color: #4e4e4e; font-size: 2rem; text-align: center; margin: 25px 0 0; }

#muscleBalanceList { margin: 15px auto 0; }

.MBLItem { text-align: center; width: 224px; height: 280px; margin: 0 auto 8px; }

.MBLImage { width: 200px; height: 250px; margin: 0 auto; -webkit-transform: scale(.95); transform: scale(.95)}
#MBL01 { background-position: 0 -500px; } #MBL02 { background-position: 0 -760px; } #MBL03 { background-position: 0 -1020px; }

.MBLcap { color: #4e4e4e; font-size: 1.5rem; font-weight: bold; text-align: center; letter-spacing: .05em; text-indent: .05em; margin: 5px 0 0; }

#treatPCLInner { margin: 0 auto; }

.treatPCList { margin: 25px auto 0; padding: 0; } .treatPCList:last-of-type { margin-top: 0}

.treatPCList > li, #treatPleaseRefrain > li {
  color: #4e4e4e; font-size: 1.6rem; font-weight: bold; line-height: 1.4; letter-spacing: .05em;
  margin: 0; padding: 6px 0 6px 22px; position: relative; }

.treatPCList > li:before, .treatPCList > li:after, #treatPleaseRefrain > li:before, #treatPleaseRefrain > li:after {
  content: ''; position: absolute; top: 9px; left: 0; display: block; }

.treatPCList > li:before {
  background: #69c04e; width: 15px; height: 15px; -webkit-border-radius: 4px; border-radius: 4px; }
.treatPCList > li:after {
  width: 10px; height: 4px; margin: 3px 0 0 2px; border-left: 3px solid #fff; border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

#treatments02 { padding-bottom: 30px; } #treatInner02 { padding-bottom: 10px; display: block; }
#treatments02 .treatTitle { padding-bottom: 10px; }

.TWCopy, .TWCopy02 { font-size: 1.5rem; line-height: 1.8; letter-spacing: .06em; max-width: 560px; margin: 20px auto 0; padding: 0 20px; }
.TWCopy02 { margin-top: 1em; }

.TWImage { max-width: 350px; padding: 20px 20px 0; }

#painlessTherapyImage {max-width: 600px; margin: 0 auto; padding: 0 20px; position: relative}
#PTIDraw { order: 1} .PTIImage:first-of-type {order: 2} .PTIImage:nth-last-of-type(2) { order: 3}
.PTIImage, #PTIDraw { margin-top: 20px}

#treatOurPromise { width: calc(100% - 40px); max-width: 600px; margin: 50px auto 0; border-top: 3px solid #8ed7ee; position: relative; }

#promiseST { position: absolute; top: -.6em; left: 0; width: 100%; z-index: 1; }

#promiseST:before {
  content: ''; position: absolute; top: 10px; left: 50%;
  background: #fff; width: 7.5em; height: 15px; margin-left: -3.8em; z-index: -1; }

#TOPList { padding: 20px 0 0; }

#treatInner03 { position: relative; }
#treatPleaseRefrain { margin: 25px 0 0; padding: 0 20px; }

#treatPleaseRefrain > li:before {
  background: #f77e7e; width: 16px; height: 15px; -webkit-border-radius: 4px; border-radius: 4px; }
#treatPleaseRefrain > li:after {
  content: 'X'; color: #fff; font-size: 1.5rem; margin: -.25em 0 0 .2em; -webkit-transform: scaleX(1.25); transform: scaleX(1.25); }

#treatPleaseRefrain > li:last-of-type { padding-left: 0; }
#treatPleaseRefrain > li:last-of-type:before, #treatPleaseRefrain > li:last-of-type:after { display: none; }

#treatInner03 .TWImage { padding-top: 10px}

#paperAirplane { width: 80%; max-width: 400px; margin: 30px auto 0 }

@media (max-width: 359px) { #treatBodyBalance .treatBBST { font-size: 2.2rem}}
@media (max-width: 340px) { .sympST { font-size: 1.7rem} .sympList.SL002 { margin-top: 25px} #treatBodyBalance .treatBBST { font-size: 2.1rem; letter-spacing: .03em} }
@media (min-width: 560px) {
  .treatTitle { text-align: left; padding: 28px 0 28px 220px} .treatEN, .treatST { left: 60px}
  #treatInner01:after { right: 5%} .sympST, .sympList { margin-left: 50%} .SLImage { left: 35%} .okSign { top: -10px; right: -10px}
  #treatBodyBalance, #treatPleaseConsult { width: auto; max-width: 520px}
  .MBLItem { width: 170px; height: 205px; margin: 0} .MBLImage { background-size: 168px auto; width: 152px; height: 188px}
  #MBL01 { background-position: 0 -375px; } #MBL02 { background-position: 0 -570px; } #MBL03 { background-position: 0 -765px; }
  .MBLcap { font-size: 1.2rem; letter-spacing: .025em; text-indent: .025em} .treatBBST .spBlock { display: inline !important}
  .treatPCList:first-of-type { margin-top: 15px} .TWImage { width: 45%; max-width: 288px; margin: 0} .PTIImage { width: 48%; margin-top: 12px}
  #PTIDraw { position: absolute; top: -95%; right: 20px; width: 45%} #treatOurPromise { border: 3px solid #8ed7ee}
  #TOPList { padding: 5px 20px 18px} #TOPList li { font-size: 1.5rem} #treatPleaseRefrain { padding-left: 75px}
  #paperAirplane { width: 44%; margin: 18vh 20px 0 0}
}

/* -------------------------------------------
 Flow & Fee
------------------------------------------- */
#flowInner:before, #FSIM01, #FSTelNum > i, .FFIcon:after, .reserveIcon:after, #flowFacilitie:after, #reserveTopIcon,
.reserveST:after, #RGTelNum:before, #feeIcon {
  background: url(../flow-fee/images/flow.png); background-repeat: no-repeat; background-size: 460px 470px; }

.flowTitle { font-size: 2.6rem; letter-spacing: .05em; height: 60px; margin: 0 0 0 20px; padding: 30px 0 0 106px; position: relative; }
.FTCircle {
  content: ''; position: absolute; top: 0; left: 0;
  width: 86px; height: 86px; border: 2px solid #dcc4f5; -webkit-border-radius: 50%; border-radius: 50%; }

.flowTEN {
  position: absolute; top: 34px; left: 2px;
  color: #c99ef5; font-size: 2rem; font-style: normal; text-align: center; width: 88px; }

#reserveInner, #scheduleContainer .secWrapp, #feeInner { padding-top: 30px; }

@media (max-width: 360px) {
  #scheduleContainer .flowTitle { letter-spacing: .1em; height: 75px; padding-top: 15px}
  #scheduleContainer .spNarrowBlock { margin-top: 5px; display: block}}
@media (max-width: 340px) {
  .flowTitle { margin-left: 15px} #FStap01 .FStepNum, #FStap05 .FStepNum { position: absolute; top: -3px}
  #FStap01 .FStepST, #FStap05 .FStepST { padding-top: 23px}}

@media (min-width: 560px) { .flowTitle { margin-left: 40px}}
@media (min-width: 640px) { .flowTitle { margin-left: 50px}}

/* Flow Head Area */
#flowEyecatch { background: url(../flow-fee/images/eyecatch.jpg) no-repeat center top; height: 380px; }
@media (min-width: 560px) { #flowEyecatch { height: 310px}}

.PTName { font-size: 3.2rem; letter-spacing: .05em}

/* Flow Contents */
#flowInner, #reserveInner, #feeInner { position: relative; } #flowInner { padding: 30px 0 0}

#flowInner:before {
  content: ''; position: absolute; top: 30px; right: 20px;
  background-size: 165px auto; background-position: 0 0; width: 146px; height: 13px; display: block; }

#flowContents { margin-top: 30px; padding: 0 15px; }

.flowStep { padding-bottom: 30px; position: relative; }
.flowStep:last-of-type { padding: 0; }

.FSGuide { padding-left: 48px; }

.FStepST { color: #494949; font-size: 2rem; letter-spacing: .05em; margin: 0; padding-top: 9px; position: relative; }

.FSNCircle {
  content: ''; position: absolute; top: 0; left: -48px; background: #ccb0e9; width: 42px; height: 42px;
  display: block; -webkit-border-radius: 50%; border-radius: 50%; }
.FSNCircle:after {
  content: 'Flow'; position: absolute; top: 13px; left: 1px;
  color: #fff; font-size: 1.4rem; font-style: normal; text-align: center; letter-spacing: .035em; width: 41px; }

.FStepNum {
  color: #c5a5e9; font-size: 2.2rem; font-style: normal; letter-spacing: .02em; margin-right: 2px; vertical-align: -.05em; }

.FStepCopy, .FSSubCopy, .FStepSMCopy, .FMeritCopy, .RGuideCopy {
  color: #4e4e4e; font-size: 1.6rem; font-weight: bold; line-height: 1.8; margin: 18px 0 0; }

.FSSubCopy { color: #6e6e6e; font-size: 1.5rem; margin-top: .75em; }
.FStepSMCopy { font-size: 1.4rem; font-weight: normal; line-height: 1.6; margin-top: 12px; }
.FMeritCopy { margin-top: 20px; }

#FSTelNum { color: #2eb2e0; font-size: 2.8rem; letter-spacing: .05em; margin: 12px 0 0; padding-left: 22px; position: relative; }
#FSTelNum > i {
  position: absolute; top: 5px; left: 0;
  background-position: 0 -270px; background-size: 283px auto; width: 18px; height: 19px; display: block; }

.FStepIM { width: auto; max-width: 300px; padding: 20px 5px 0 48px; }

#FSIM01 { background-size: 368px 376px; background-position: 0 -40px; width: 208px; height: 208px; margin: 20px auto 0; }

.FStepLine {
  position: absolute; top: 47px; left: 19px;
  background: #ebdff6; width: 4px; height: calc(100% - 77px); display: block; }

.FStepLine:after {
  content: ''; position: absolute; bottom: -15px; left: -6px; width: 0; height: 0;
  border-style: solid; border-width: 15px 8px 0 8px; border-color: #ebdff6 transparent transparent transparent; }

#flowMerit { margin-top: 35px; padding: 0 15px; }

#informationAnalyzer { margin-top: 30px; }

.FMeritST, .reserveST { color: #0092b9; font-size: 2.4rem; letter-spacing: .06em; min-height: 42px; margin: 0; padding: 18px 0 0 70px; position: relative; }

.FFIcon, .reserveIcon {
  content: ''; position: absolute; top: 0; left: 0; background: #73b51e; width: 60px; height: 60px;
  display: block; -webkit-border-radius: 50%; border-radius: 50%; }

.FFIcon:after, .reserveIcon:after { content: ''; position: absolute; display: block; }
#FMChildST .FFIcon:after, #FMAnalyzerST .FFIcon:after { -webkit-transform: scale(.9); transform: scale(.9)}
#FMChildST .FFIcon:after { top: 6px; left: 9px; background-position: 0 -320px; width: 43px; height: 46px; }
#FMAnalyzerST .FFIcon:after { top: 16px; left: 7px; background-position: -60px -330px; width: 46px; height: 29px; }

#FMAnalyzInfo { margin: 12px 0 0; padding: 0; }

#FMAnalyzInfo > li {
  font-size: 1.5rem; line-height: 1.6; letter-spacing: .05em; margin: 0; padding: 8px 0 0 22px; position: relative; }

#FMAnalyzInfo > li:before, #FMAnalyzInfo > li:after { content: ''; position: absolute; top: 12px; left: 0; display: block; }

#FMAnalyzInfo > li:before {
  background: #69c04e; width: 15px; height: 15px; -webkit-border-radius: 4px; border-radius: 4px; }
#FMAnalyzInfo > li:after {
  width: 9px; height: 4px; margin: 3px 0 0 1px; border-left: 3px solid #fff; border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

.FMeritIM { width: 80%; max-width: 300px; margin: 20px auto 0; }
.FMeritIM img { -webkit-border-radius: 50%; border-radius: 50%; }

#analyzerGuide { max-width: 420px; margin: 25px auto 0; }

#scheduleTable, #feeList { overflow: hidden}

#analyzFee { width: 100%; }

#analyzFeeList, #feeListTA { width: 100%; border-collapse: collapse; }

#analyzFeeList th, #analyzFeeList td, #feeListTA th, #feeListTA td {
  font-size: 1.6rem; font-weight: bold; letter-spacing: .08em; white-space: nowrap; display: block; }
#analyzFeeList th, #feeListTA th { text-align: left; padding: 15px 15px 0; border-top: 1px solid #aed579; }

#analyzFeeList td, #feeListTA td { color: #0092b9; padding: 12px 15px 15px; }
#analyzFeeList tr:first-of-type th, #feeListTA tr:first-of-type th { border-top: 2px solid #aed579; }
#analyzFeeList tr:last-of-type td, #feeListTA tr:last-of-type td { border-bottom: 2px solid #aed579; }

#analyzFeeList th, #feeListTA th { color: #525252; }

#feeListTA th, #feeListTA td { padding: 18px 0}
#feeListTA tr:nth-of-type(even) td { padding-top: 0}

.AFLFree, .FLType { color: #62a21e; margin-left: .4em; }

#analyzReserve {
   font-size: 1.6rem; font-weight: bold; margin: 0; padding-left: 15px; }

#analyzReserve > dt { letter-spacing: .1em; padding-top: 1.5em; }
#analyzReserve > dd { line-height: 1.2; letter-spacing: .085em; margin: 12px 0 0; }
#analyzReserve > dd br { display: none} #analyzReserve > dd small { font-size: 1.3rem; margin-left: 3px; }

#flowFacilitie { background: #f9f6f2; margin: 30px auto 0; padding: 35px 20px 190px; position: relative; }

#flowFacilitie:after {
  content: ''; position: absolute; bottom: 30px; left: 50%;
  background-position: -130px -320px; width: 130px; height: 150px; margin: -75px 0 0 -65px; z-index: 10; }

#spFFST { color: #0092b9; font-size: 2.5rem; text-align: center; letter-spacing: .1em; margin: 0; }

#FFacItem01, #FFacItem02, #FFacItem03 { margin: 25px auto 0; }

#FFacIM02 { width: 80%; max-width: 260px; margin: 0 auto; } #FFacIM03 { width: 280px; height: 280px; margin: 0 auto; }
#FFacIM03 img { -webkit-border-radius: 50%; border-radius: 50%; }

.FFIMcap { color: #0092b9; font-size: 1.8rem; text-align: center; letter-spacing: .07em; margin: 10px 0 0; padding: 2px 0; }

.FFIMCopy { font-size: 1.5rem; line-height: 1.4; letter-spacing: .03em; margin: 8px 0 0; padding: 2px 0; }

@media (max-width: 340px) {
  #flowContents { padding: 0 10px} .FStepIM { padding-right: 0} #analyzFeeList th, #analyzFeeList td { padding-left: 5px; padding-right: 5px}
  #analyzReserve > dd br { display: block} #FFacIM03 { width: 250px; height: 250px}}
@media (min-width: 400px) { #flowContents, #flowMerit { padding: 0 20px}}
@media (min-width: 560px) {
  #flowInner:before { top: 65px; right: 30px; background-size: 230px 235px; width: 202px; height: 17px; }
  .FMeritGuide { width: 56%; overflow: visible} .FMeritIM { width: 38%; margin: 20px 0 0} #FMAnalyzInfo { width: calc(100vw - 40px)}
  #informationAnalyzer .FMeritCopy { min-height: 26vw} #flowFacilitie { padding-bottom: 35px}
  #flowFacilitie:after { bottom: 112px; left: inherit; right: 5vw} #FFacItem01, #FFacItem02, #FFacItem03 { max-width: 400px}}
@media (min-width: 560px) and (max-width: 599px) { .FStepIM { margin: 0 auto}}

@media (min-width: 600px) {
  .FSGuide { padding-right: 42%} #FSIM01, .FStepIM { position: absolute; top: 0; right: 0} .FStepIM { width: 38%; padding-top: 55px}
  #FSIM01 { background-size: 345px auto; background-position: 0 -37px; width: 195px; height: 196px; margin: 15px 3vw 0 0}}
@media (min-width: 660px) { #FSIM01 { margin-right: 4vw}}
@media (min-width: 680px) { .FStepIM { padding-top: 9px}}
@media (min-width: 710px) { #FSIM01 { margin-right: 5vw}}

/* Reserve Contents */
#reserveContainer { margin-top: 5px; }

#reserveTit, #scheduleContainer .flowTitle { padding-left: 100px}
#reserveTit .flowTEN { top: 36px; left: 1px; font-size: 1.4rem; letter-spacing: 0; }
#scheduleContainer .flowTEN { top: 36px; left: 1px; font-size: 1.6rem; letter-spacing: .04em; }

#reserveTopIcon {
  content: ''; position: absolute; top: 5px; right: 5px; background-size: 138px 141px;
  background-position: -84px -15px; width: 54px; height: 54px; display: block; }

#reserveContents { margin: 0; padding: 30px 20px 0; }

#cancelGuide { margin-top: 30px}

#RGuideST .reserveIcon:after, #CGuideST .reserveIcon:after { -webkit-transform: scale(.8); transform: scale(.8)}
#RGuideST .reserveIcon:after { top: 12px; left: 12px; background-position: 0 -379px; width: 36px; height: 36px; }

#CGuideST { color: #f07022; }
#CGuideST .reserveIcon { background: #f7931e; }
#CGuideST .reserveIcon:after { top: 6px; left: 16px; background-position: -60px -380px; width: 30px; height: 46px; }

.FMeritST, .reserveST {
  color: #0092b9; font-size: 2rem; letter-spacing: .03em; min-height: 40px; margin: 0; padding: 20px 0 0 68px; position: relative; }

.RGuideCopy br { display: none} .RGCSec { margin-top: 12px; display: block; }

#RGTelNum { color: #2eb2e0; font-size: 3.2rem; text-align: center; letter-spacing: .05em; margin: 12px 0 0; position: relative; }
#RGTelNum:before {
  content: ''; position: absolute; top: 5px; left: 50%; margin-left: -4.4em;
  background-position: 0 -440px; width: 30px; height: 30px; display: block; -webkit-transform: scale(.7); transform: scale(.7); }

@media (max-width: 340px) {
  #reserveTopIcon { top: -3px}
  #RGuideST, #CGuideST { line-height: 1.2; letter-spacing: .08em; padding-top: 8px} #RGuideST { width: 6.5em} #CGuideST { width: 9em}
  #reserveContents { padding: 30px 15px 0; }}
@media (min-width: 560px) {
  #reserveTopIcon { top: 30px; right: 40px; background-size: 230px 235px; background-position: -140px -25px; width: 90px; height: 90px}
  #reserveContents { max-width: 560px; margin: 0 auto}}

/* Schedule Contents */
#scheduleContainer { position: relative; }

#scheduleIcon {
  position: absolute; top: -30px; right: -30px; background: url(../flow-fee/images/schedule.png) no-repeat 0 0 / 130px 126px;
  width: 130px; height: 126px; -webkit-transform: scale(.32); transform: scale(.32); display: block; }

#scheduleTable { margin: 20px auto 0; padding: 0 20px; }

#scheduleNotice { font-size: 1.5rem; letter-spacing: .09em; margin: 0; padding: 1em 0 0 10px; }
#scheduleNotice:before { content: '*'; color: #e40; font-size: 2.5rem; margin-left: -.625em; vertical-align: -.3em; padding-right: 2px; }

@media (min-width: 560px) {
  #scheduleIcon { top: 10px; right: 10px; -webkit-transform: scale(.5); transform: scale(.5)}
  #scheduleTable { max-width: 520px} #scheduleTable .spBlock { display: inline !important}
  #scheduleTable tr:nth-last-of-type(2) th { width: 10em}}

/* Fee Contents */
#feeContainer { margin: 0; }

#feeIcon {
  content: ''; position: absolute; top: -45px; right: -25px; -webkit-transform: scale(.35); transform: scale(.35);
  background-position: -300px -260px; width: 140px; height: 200px; display: block; }

#feeContents { margin-top: 30px; padding: 0 20px; }
#feeList { max-width: 480px; margin: 0 auto; }

#feeListTA { width: 100%; }
#feeListTA th, #feeListTA td { padding-left: 18vw; display: block; }
#feeListTA th { background: #f7fff5; } #feeListTA td { background: #fff; }

#feeListcaution { margin: 0; padding: 16px 0 0 12px; }

#feeListcaution > li, #feePaymentInfo {
  color: #4e4e4e; font-size: 1.5rem; font-weight: bold; line-height: 1.5; letter-spacing: .05em; margin: 4px 0 0; }
#feeListcaution > li:before { content: '*'; color: #ee2222; font-size: 1.8rem; margin-left: -.65em; padding-right: 3px; }

#feePaymentInfo { margin-top: 20px; } #FPCards { width: 100%; margin-top: 20px; }

@media (max-width: 340px) { #scheduleTable, #feeContents { padding: 0 15px}}
@media (min-width: 560px) {
  #feeIcon { top: -25px; right: 1vw; -webkit-transform: scale(.45); transform: scale(.45)}
  #feeListTA th, #feeListTA td { padding-left: 25.5vw}}
@media (min-width: 600px) { #feeListTA th, #feeListTA td { padding-left: 24vw}}
@media (min-width: 650px) { #feeListTA th, #feeListTA td { padding-left: 22vw}}
@media (min-width: 705px) { #feeListTA th, #feeListTA td { padding-left: 21vw}}
@media (min-width: 745px) { #feeListTA th, #feeListTA td { padding-left: 20vw}}

/* -------------------------------------------
 Patient's Voice
------------------------------------------- */
/* Voice Head Area */
#voiceEyecatch { background: url(../voice/images/eyecatch.jpg) no-repeat center top; height: 380px; }
@media (min-width: 560px) { #voiceEyecatch { height: 310px}}

#voiceEyecatch:before {
  content: ''; position: absolute; bottom: 0; right: 0; display: block; z-index: 10;
  background: url(../voice/images/girl.png) no-repeat 0 0 / 196px auto; width: 196px; height: 180px; }

/* Voice List page */
#voiceMain { margin-top: 5px; }

#voiceList { padding: 10px 15px 0; }

.voiceItem {
  background: #fff; text-decoration: none; margin-top: 20px; padding: 20px 20px; border: 1px solid #ded9d5;
  cursor: pointer; display: block; overflow: hidden; position: relative; }

.VIHead { color: #494949; font-size: 1.6rem; letter-spacing: .05em; margin: 0; padding: 5px 0 0 62px; }

.voiceItem .VISymptoms { line-height: 1.4; letter-spacing: .08em; margin-top: 5px; display: block; }
.VIFemale .VISymptoms, #VDTitle.VDFemale { color: #b23e5e; } .VIMale .VISymptoms, #VDTitle.VDMale { color: #1797c0; }

.voiceItem .VIComment { color: #333; font-size: 1.5rem; line-height: 1.6; letter-spacing: .06em; margin: 12px 0 0; }

.VIGender { position: absolute; top: 20px; left: 20px; width: 50px; height: 50px; margin: 0; display: block; }
.VIFemale .VIGender { background: url(../voice/images/female.svg) no-repeat 0 0 / 50px 50px; }
.VIMale .VIGender { background: url(../voice/images/male.svg) no-repeat 0 0 / 50px 50px; }

@media (max-width: 340px) { #voiceList { padding: 10px 10px 0}}
@media (min-width: 600px) {  #voiceList { padding: 10px 20px 0} .voiceItem { width: calc(48% - 40px)}}

/* Voice Individual page */
#voiceIndividual { margin: 5px auto 0; padding-bottom: 36px; border-top: 10px solid #f9f6f2; }

#voiceIndStage { max-width: 560px; margin: 0 auto; padding: 30px 20px; position: relative; }
#voiceIndStage:after {
  content: ''; position: absolute; bottom: 0; left: 20px; background: #ded9d5; width: calc(100% - 40px); height: 1px; }

#VDTitle { font-size: 2.2rem; letter-spacing: .06em; min-height: 60px; margin: 0; padding: 10px 0 0 85px; position: relative; }
#VDTitle.VDFemale .VDIcon, #VDTitle.VDMale .VDIcon {
  content: ''; position: absolute; top: 0; left: 0; width: 70px; height: 70px; margin: 0; display: block; }
#VDTitle.VDFemale .VDIcon { background: url(../voice/images/female.svg) no-repeat 0 0 / 70px 70px; }
#VDTitle.VDMale .VDIcon { background: url(../voice/images/male.svg) no-repeat 0 0 / 70px 70px; }

.VDAge { color: #4e4e4e; font-size: 1.8rem; margin-top: 10px; display: block; }

#VDSymptoms, .voiceDT {
  color: #4e4e4e; font-size: 1.8rem; letter-spacing: .07em; margin: 40px 0 0;
  padding-bottom: 8px; border-bottom: 2px solid #ddd; display: inline-block; }
#VDSymptoms { margin-top: 25px} .voiceDT { color: #3e8e22; border-color: #d9e9c9; }

#VDSympList { margin: 15px 0 0; padding: 0; }

#VDSympList > li {
  color: #fff; background: #a79785; font-size: 1.6rem; letter-spacing: .07em;
  margin-right: 12px; padding: 4px 8px 6px 9px; display: inline-block; }

.voiceST { font-size: 2rem; text-align: center;letter-spacing: .1em; margin: 35px 0 0; position: relative; }
#PatientVoiceST { margin-top: 30px}

#PatientVoiceST { color: #79b242; padding: 9px 0; }
#PatientVoiceST:before, #PatientVoiceST:after { content: ''; position: absolute; left: 0; width: 100%; height: 2px; }
#PatientVoiceST:before { top: 0; background: #d9e9c9; }
#PatientVoiceST:after { bottom: 0; background: #d9e9c9; }

.voiceDT { margin-top: 25px; } .voiceDT .spBlock { padding-top: 5px}

.voiceDCopy, .DVCopy { font-size: 1.5rem; line-height: 1.8; letter-spacing: .05em; margin: 1em 0 0; }
.DVCopy { margin-top: 30px; }
.voiceDCopy p, .DVCopy p, .DVCopy p { margin: 0}

#commentSheet { width: 86%; max-width: 300px; margin: 30px auto 0; text-align: center; }

#directorVoiceST { color: #00a2c2; padding: 10px 0 11px; }
#directorVoiceST:before, #directorVoiceST:after { content: ''; position: absolute; left: 0; width: 100%; height: 2px; }
#directorVoiceST:before { top: 0; background: #ccecf3; }
#directorVoiceST:after { bottom: 0; background: #ccecf3;}

#VISide .DVCopy { margin-top: 20px}

@media (min-width: 425px) { .voiceDT .spBlock { padding-top: 0; display: inline !important}}
@media (min-width: 560px) { #VDTitle, #VDSymptoms { margin-left: 40px} #VDSymptoms { float: left} #VDSympList { margin: 25px 0 0 170px}}

/* -------------------------------------------
 Q&A Page
------------------------------------------- */
/* Q&A Head Area */
#qaEyecatch { background: url(../qa/images/eyecatch.jpg) no-repeat center top; height: 380px; }
@media (min-width: 560px) { #qaEyecatch { height: 310px}}

/* Q&A Navi */
#QAWrapp { max-width: 600px; margin: 0 auto; padding: 0 20px 35px; }

#qaNavi { padding-bottom: 0; }

.qaST, .accessST { text-align: center; margin: 0; position: relative; }

#QNavST, #GmapST { color: #79b242; font-size: 2.2rem; letter-spacing: .1em; padding: 9px 0 12px; }

.qaST:before, .qaST:after, .accessST:before, .accessST:after {
  content: ''; position: absolute; left: 0; width: 100%; height: 2px; display: block; }
#QNavST:before, #GmapST:before { top: 0; background: #d9e9c9; }
#QNavST:after, #GmapST:after { bottom: 0; background: #d9e9c9; }

#QNList { max-width: 500px; margin: 0 auto; padding: 0; }

#QNList > li { font-size: 1.6rem; text-align: center; letter-spacing: .035em; width: 100%; margin-top: 15px; }
#QNList > li:first-of-type { margin-top: 25px}

#QNList > li a { color: #fff; padding: 16px 0 15px; position: relative; }

#QNList > li a:before, #QNList > li a:after {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; }
#QNList > li a:before { background: #7eae3e; z-index: -2; }

.QACST, #AGuideST { color: #00a2c2; font-size: 1.7rem; letter-spacing: .05em; margin-top: 35px; padding: 13px 0 14px; }
.QACST:before, #AGuideST:before { top: 0; background: #ccecf3; }
.QACST:after, #AGuideST:after { bottom: 0; background: #ccecf3; }

.QAItem { margin: 0; padding: 0; }

.QAItem dt {
  color: #555; font-size: 1.6rem; font-weight: bold; line-height: 1.5; letter-spacing: .035em; margin: 30px 0 0; padding: 8px 0 0; position: relative; }
.QAItem dt:first-child { margin-top: 20px}
.QAQ, .QAA { position: absolute; top: 0; left: 0; display: block; }
.QAQ { background: url(../qa/images/q.svg) no-repeat 0 0 / 26px 29px; width: 26px; height: 29px; }
.QAA { background: url(../qa/images/a.svg) no-repeat 0 0 / 24px 25px; width: 24px; height: 25px; margin-left: -30px; }

.QAQNum { color: #ff7722; font-size: 2rem; width: calc(100% - 32px); padding: 0 0 5px 32px; display: inline-block}

.QAItem dd { font-size: 1.5rem; line-height: 1.8; letter-spacing: .035em; margin: 15px 0 0 31px; position: relative; }

@media (max-width: 359px) { #QAWrapp { padding: 0 10px 35px}}
@media (max-width: 340px) {
  #QNList > li { font-size: 1.5rem} .QAItem dd { margin-left: 0; padding-top: 30px;} .QAA { width: 100%; margin: 0; display: block}}
@media (min-width: 560px) { #QAWrapp { padding: 0 25px 35px}}

/* -------------------------------------------
 Access Page
------------------------------------------- */
/* Access Head Area */
#accessEyecatch { background: url(../access/images/eyecatch.jpg) no-repeat left top; height: 380px; }
@media (min-width: 560px) { #accessEyecatch { height: 310px}}

/* Access Contents */
#accessMain { margin-top: 5px; border-top: 10px solid #f9f6f2; }

#accessWrapp { padding-bottom: 35px;  }

.accessST { width: calc(100% - 40px); margin: 35px auto 0; } #GmapST { padding: 12px 0; } #AGuideST { padding-bottom: 13px; }

#mapCanvas { background: #eee; width: calc(100% - 12px); height: 380px; margin: 30px auto 0; border: 1px solid #ddd; }

#AGUpper { margin-top: 30px; }

.AGData { width: 100%; }

#AGList { font-size: 1.5rem; margin: 0; padding: 0 20px; }
#AGUpper dt {
  color: #fff; background: #a79785; text-align: center; letter-spacing: .08em;
  width: 5.25em; margin: 0; padding: 4px 0; display: block; }
#AGUpper dd { line-height: 1.4; letter-spacing: .04em; margin: 8px 0 16px; padding: 0; }

#AGPlate { width: 80%; max-width: 300px; margin: 30px auto 0; position: relative; }
#AGPlate img { -webkit-border-radius: 50%; border-radius: 50%; }

.AGIMCap { font-size: 1.6rem; font-weight: bold; letter-spacing: .04em; margin-top: 10px; }

#AGPCap { text-align: center; }

#NMapST, #PGuideST { color: #876949; font-size: 2rem; text-align: center; letter-spacing: .1em; width: 100%; }
#NMapST { margin: 30px 0 0; padding-top: 30px; position: relative; }
#NMapST:before { content: ''; position: absolute; top: 0; left: 50%; background: #d2c0ae; width: 90%; height: 1px; margin-left: -45%; }

#neighborhoodMap { width: 100%; margin: 15px auto 0; }

#AGBottom { margin: 30px 0 0; }

#PGuideST { margin: 0; }

#parkingGuide { width: 90%; max-width: 420px; margin: 20px auto 0; position: relative; }

#PGShopFront, #PGOuter { margin-top: 25px; padding: 0 20px; position: relative; }

#PGSFCap, #PGOCap { font-size: 1.5rem; line-height: 1.5; margin-top: 8px; } #PGOCap br {display: none}

@media (min-width: 560px) {
  #mapCanvas { width: calc(100% - 40px); max-width: 580px; height: 300px; } #neighborhoodMap { max-width: 540px; }
  #AGUpper dt { float: left; width: 5.25em; margin: 0 0 15px; display: inline-block; }
  #AGUpper dd { margin: 0 0 15px; padding: 4px 0 4px 6em; }
  #spPPhotos { max-width: 600px; margin: 0 auto; padding: 0 25px} #PGShopFront, #PGOuter { width: 48%; padding: 0}}

/* -------------------------------------------
 News CMS
------------------------------------------- */
/* News Common */
#newsEyecatch { background: url(../news/images/eyecatch.jpg) no-repeat left top; height: 380px; }
@media (min-width: 560px) { #newsEyecatch { height: 310px}}

/* News Top List */
#newsTop { margin-top: 5px; padding: 0 20px }

#newsList { padding: 10px 0 35px; }

.newsItem { text-decoration: none; max-width: 350px; margin: 25px auto 0; }

.NIImage, .BLImage { width: 100%; overflow: hidden; opacity: 1; }

.newsItem .NIDate, .blogItem .NIDate {
  color: #b2a589; font-size: 1.6rem; letter-spacing: .1em; margin: 15px 0 0; padding-left: 20px; display: block; position: relative; }

.NIDate:before {
  content: ''; position: absolute; top: 0; left: 0;
  width: 0; height: 0; border-style: solid; border-width: 10px 10px 0 0;
  border-color: #4eb7e7 transparent transparent transparent; display: block; }

.NIYear { font-size: 1.4rem; }

.newsItem .NITitle, .blogItem .NITitle {
  color: #555; font-size: 1.6rem; font-weight: bold; line-height: 1.4; letter-spacing: .05em; margin: 9px 0 0; }

@media (min-width: 400px) { #newsTop { padding: 0 30px}}
@media (min-width: 560px) {
  #newsTop { padding: 0 25px} .newsItem { width: calc(50% - 12px);margin: 25px 0 0;} .NIYear { font-size: 1.3rem; }
  .newsItem .NIDate, .blogItem .NIDate { font-size: 1.5rem; margin-top: 12px}
  .newsItem .NITitle, .blogItem .NITitle { font-size: 1.5rem; margin-top: 6px}
  .NIImage, .BLImage { max-height: 29vw; overflow: hidden}}

/* News Individual */
#newsIndividual { margin-top: 5px; padding: 0 20px 35px; border-top: 10px solid #f9f6f2; }

#newsMain { margin: 0 auto; padding: 70px 0 45px; position: relative; }
#newsMain:before {
  content: ''; position: absolute; top: 20px; left: 50%; width: 40px; height: 40px; margin-left: -20px;
  background: url(../news/images/post-mark.svg) no-repeat 0 0 / 40px 40px; display: block; }

#newsArticleTitle, #blogArticleTitle {
  color: #555; font-size: 2.2rem; text-align: center; line-height: 1.4; letter-spacing: .06em;
  margin: 0; padding-bottom: 12px; border-bottom: 1px solid #ddd8cc;  }

#NADTime, #blogArticle #NADTime { color: #b59e72; text-align: center; margin-top: 10px; display: block; }
.NADate { font-size: 3.4rem; font-style: normal; }
.NADSpace { font-size: 2rem; padding: 0 4px; vertical-align: .1em; }
.NADMonth { font-size: 1.6rem; letter-spacing: .1em; }

/* -------------------------------------------
 Blog CMS
------------------------------------------- */
/* Blog Common */
#blogEyecatch { background: url(../blog/images/eyecatch.jpg) no-repeat 38% top; height: 380px; }
@media (min-width: 560px) { #blogEyecatch { height: 310px}}

#blogTop { margin-top: 5px; border-top: 10px solid #f9f6f2; }

#blogWrapp { position: relative; }

#blogMain, #blogIndContents { padding: 0 20px; }

#blogList { padding-top: 10px;}

.blogItem { text-decoration: none; margin-top: 20px }

.blogItem .NIDate { color: #9ebb7e; display: inline-block; }

.BLCat { color: #777; font-size: 1.4rem; letter-spacing: .025em; padding-left: 10px; }
.BLCat:before {content: '-'; padding-right: 4px; }

#blogSide { width: 75%; margin: 0 auto; padding-top: 30px; }

.sideListST { color: #a2c285; font-size: 2rem; letter-spacing: .1em; margin: 0; padding: 0 0 10px 5px; border-bottom: 1px solid #d0ddbb; }

.blogSideList { margin: 16px 0 0; padding: 0 0 20px 5px; }

.blogSideList > li { font-size: 1.6rem; line-height: 1.4; letter-spacing: .025em; margin: 10px 0; }

.BSNum { color: #888; font-size: 1.3rem; letter-spacing: .1em; vertical-align: .12em; }

.blogSideList a { color: #555; text-decoration: none; } .blogSideList a:hover { color: #4eb7e7}

@media (min-width: 560px) {
  #blogMain, #blogIndContents { padding: 0 25px; } .blogItem { width: calc(50% - 12px)} .BLCat { display: none}
  #blogSide {
    width: calc(100% - 70px); padding: 30px 10px 0; display: -webkit-flex; display: flex;
    -webkit-justify-content: space-between; justify-content: space-between} .BSideWidget { width: 47%}}

/* Blog Individual */
#blogIndividual { padding: 0 0 10px; }

#blogIndividual #blogWrapp { width: 100%; max-width: 650px; margin: 0 auto; }

#blogArticle { padding-top: 70px; position: relative; }
#blogArticle:before {
  content: ''; position: absolute; top: 20px; left: 50%; width: 40px; height: 40px; margin-left: -20px;
  background: url(../blog/images/post-mark.svg) no-repeat 0 0 / 40px 40px; display: block; }

#blogArticleTitle { padding-top: 30px}

.BACat { position: absolute; top: 75px; left: 0; color: #888; font-size: 1.4rem; letter-spacing: .06em; margin: 0; }

#blogArticle #NADTime { color: #6a9833; }

#blogBody { padding-bottom: 30px; overflow: hidden; }

#newsBody { margin-top: 5px; overflow: hidden; }

@media (min-width: 560px) {
  #blogIndividual { margin-top: 10px} #blogArticleTitle { padding-top: 0} .BACat { top: 35px} #blogBody { padding-bottom: 35px}}

#blogBody p, #newsBody p { font-size: 1.6rem; line-height: 2.4; margin: 20px 0 0; overflow: hidden; }

#blogBody p a, #newsBody p a, #blogBody h2 a, #newsBody h2 a, #blogBody h3 a, #newsBody h3 a,
#blogBody h4 a, #newsBody h4 a, #blogBody h5 a, #newsBody h5 a, #blogBody h6 a, #newsBody h6 a,
#blogBody li a, #newsBody li a { color: #08b; text-align: center; text-decoration: none; width: auto; display: inline-block; position: relative; }
#blogBody p a, #newsBody p a, #blogBody li a, #newsBody li a { line-height: 1.8}

#blogBody .blogImage, #newsBody .blogImage { display: block}
#blogBody .blogImage:after, #newsBody .blogImage:after { display: none}

#blogBody img, #newsBody img { max-width: 100%; height: auto; margin: 0 auto; display: block; }
@media (min-width: 560px) { #blogBody img, #newsBody img { width: auto; max-width: 460px}}

#blogBody h2, #newsBody h2 {
  color: #444; font-size: 2rem; line-height: 1.3; letter-spacing: .075em; margin: 25px 0 0; padding: 0 5px 6px 34px; display: inline-block; position: relative}
#blogBody h2 { border-bottom: 2px solid #d0ddbb} #newsBody h2 { border-bottom: 2px solid #ddd0c0}

#blogBody h2:before, #newsBody h2:before, #blogBody h3:before, #newsBody h3:before {
  content: ''; position: absolute; top: 1px; left: 0; width: 24px; height: 24px; display: block; }
#blogBody h2:before { background: url(../blog/images/post-mark.svg) no-repeat 0 0 / 24px 24px}
#newsBody h2:before { background: url(../news/images/post-mark.svg) no-repeat 0 0 / 24px 24px}

#blogBody h3, #newsBody h3 {
  color: #444; font-size: 1.8rem; line-height: 1.4; letter-spacing: .08em; margin: 25px 0 0; padding: 0 3px 6px 16px; display: inline-block; position: relative}
#blogBody h3 { border-bottom: 1px solid #d0ddbb} #newsBody h3 { border-bottom: 1px solid #ddd0c0}

#blogBody h3:before, #newsBody h3:before { top: 4px; width: 8px; height: 18px; }
#blogBody h3:before { background: #aecc95} #newsBody h3:before { background: #ddd0c0}

#blogBody ul, #newsBody ul { margin: 0; padding: 1em 0 0 15px; }
#blogBody li, #newsBody li { font-size: 1.6rem; line-height: 2; margin: 0; padding-left: 12px; position: relative}

#blogBody li:before, #newsBody li:before {
  content: ""; position: absolute; top: 50%; left: 0; background: #aecc95;
  width: 6px; height: 6px; margin-top: -3px; display: inline-block; -webkit-border-radius: 50%; border-radius: 50%}
#newsBody li:before { background: #ddd0c0}

/* Blog Category Archives */
#blogCatName { color: #59921e; font-size: 2.2rem; text-align: center; letter-spacing: .08em; margin: 0; padding-top: 30px; }
.BSNSM { font-size: 1.6rem; margin: 0 3px; }
.catNum { color: #7eae47; font-size: 1.4rem; vertical-align: .1em; }

@media (max-width: 340px) { #blogCatName { font-size: 2rem}}

/* -------------------------------------------
 CMS Navi
------------------------------------------- */
/* Blog List Navigation */
#blogPageNavi, #newsPageNavi,#voicePageNavi { padding: 32px 0; }

#blogPageNavi, #newsPageNavi { padding-bottom: 28px; border-top: 1px solid #d0ddbb; }
#blogPageNavi { border-bottom: 2px solid #d0ddbb; } #newsPageNavi { border-top: 1px solid #ddd8cc}

@media (min-width: 560px) { #blogPageNavi, #newsPageNavi,#voicePageNavi { padding: 22px 0 17px; }}

#blogPagination { text-align: center; margin: 0 auto; padding: 0; }

#blogPagination li, #voicePageNavi li { font-size: 1.6rem; margin: 7px 0 0 7px; display: inline-block; }
#blogPagination li:first-of-type, #voicePageNavi li:first-of-type { margin-left: 0}

.link_page, .current_page { width: 36px; height: 36px; margin-top: 5px; display: block; position: relative; z-index: 1; }

.link_page:before, .link_page:after, .current_page:before {
  content: ''; position: absolute; top: -9px; left: 0; width: 36px; height: 36px;
  -webkit-border-radius: 50%; border-radius: 50%; }

#blogPageNavi .link_page:before, #newsPageNavi .link_page:before, #voicePageNavi .link_page:before { background: #54bae6; z-index: -1; }
#blogPageNavi .current_page:before { background: #c0ccb2; z-index: -1; }
#newsPageNavi .current_page:before, #voicePageNavi .current_page:before { background: #c9c4bb; z-index: -1; }

#GLPagination a, #blogPagination a { color: #fff; text-decoration: none; cursor: pointer; display: block; }

.current_page { color: #f9f9f9; }

#blogPageNavi .link_before, #blogPageNavi .link_next,
#newsPageNavi .link_before, #newsPageNavi .link_next, #voicePageNavi .link_before, #voicePageNavi .link_next {
  color: #666; font-size: 2.5rem; padding: 0 8px; vertical-align: -.06em; display: inline-block; }

/* Individual Pagination */
#newsIndNavi, #VoiceIndNavi { margin: 0 auto; padding: 0 20px; position: relative; }
#blogIndNavi { margin: 35px 0 0; padding: 0} #newsIndNavi { margin-top: 35px; padding: 0}
#VoiceIndNavi { max-width: 560px; padding-top: 35px; }

.indPageNavi a {
  font-size: 1.5rem; line-height: 1.2; text-align: center; letter-spacing: .06em; text-decoration: none;
  padding: 17px 0 18px; display: block; position: relative; z-index: 1; }
#blogIndNavi.indPageNavi a, #newsIndNavi.indPageNavi a { padding: 20px 0 30px; }

#VoiceIndNavi.indPageNavi a { height: 2.4em; }
@media (min-width: 630px) { #VoiceIndNavi.indPageNavi a { line-height: 1; height: 1em} .indPageNavi .spBlock { display: inline !important}}

#blogIndNavi.indPageNavi a { color: #6a9833; position: relative; }
#VoiceIndNavi.indPageNavi a, #newsIndNavi.indPageNavi a { color: #9e8e72; position: relative; }

.previousEntry, .nextEntry { letter-spacing: .06em; width: calc(33.5% - 2px); }
.previousEntry { border-right: 2px solid #fff; }
.nextEntry { border-left: 2px solid #fff; }
.returnList { letter-spacing: .2em; width: 33%; }

.previousEntry a:before, .returnList a:before, .nextEntry a:before {
 content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; z-index: -1; }

.previousEntry a:before, .previousEntry a:after { -webkit-border-radius: 10px 0 0 10px; border-radius: 10px 0 0 10px; }
.nextEntry a:before, .nextEntry a:after { -webkit-border-radius: 0 10px 10px 0; border-radius: 0 10px 10px 0; }

#blogIndNavi .previousEntry a:before, #blogIndNavi .nextEntry a:before { background: #e5f2dd; }
#blogIndNavi .returnList a:before { background: #d9eec9; }

#VoiceIndNavi .previousEntry a:before, #VoiceIndNavi .nextEntry a:before,
#newsIndNavi .previousEntry a:before, #newsIndNavi .nextEntry a:before{ background: #eeece5; }
#VoiceIndNavi .returnList a:before, #newsIndNavi .returnList a:before { background: #e5e3dd; }

/* SNS Share */
.shareWrap { margin: 0 auto; border-top: 1px solid #ddd8cc; border-bottom: 1px solid #ddd8cc; }

#SWInner { padding: 20px 0 20px; position: relative; }

#snsST {
  position: absolute; top: -1.85em; left: 0; color: #a28e72; font-size: 1.6rem; text-align: center; letter-spacing: .1em;
  width: 100%; margin: 0; position: relative; z-index: 1; }
#snsST:before {
  content: ''; position: absolute; top: 5px; left: 50%; background: #fff; width: 74px; height: 10px; margin-left: -38px; display: block; z-index: -1; }

#shareBTErapp { width: 240px; margin: -15px auto 0; }

.shareButton { margin: 0; }
.shareButton a { width: 50px; height: 50px; position: relative; }

.shareButton a:after {
  content: ''; position: absolute; top: 0; left: 0; z-index: -2;
  width: 50px; height: 50px; display: block; -webkit-border-radius: 50%; border-radius: 50%; }

#SWTweet a:after { background: #5aa0f0; } #SWFacebook a:after { background: #475995; } #SWLine a:after { background: #00b833; }

.shareButton i { content: ''; position: absolute; display: block; }
#SWTweet i { background: url(../common_im/twitter.svg) no-repeat 0 0 / 24px 20px; top: 16px; left: 14px; width: 24px; height: 20px; }
#SWFacebook i { background: url(../common_im/fb.svg) no-repeat 0 0 / 13px 24px; top: 13px; left: 19px; width: 13px; height: 24px; }
#SWLine i { background: url(../common_im/line.svg) no-repeat 0 0 / 25px 24px; top: 14px; left: 12.5px; width: 25px; height: 24px; }

/* -------------------------------------------
 Animation
------------------------------------------- */
/* Common Animation */
#homeLogo { -webkit-transition: all .15s ease-in-out .1s; transition: all .2s ease-in-out .1s; }

/* Custom Animation
------------------------------------------- */
/* Top Doctor Line */
@-webkit-keyframes DLine { 0%,70%{opacity:0} 100%{opacity:1} }
@keyframes DLine { 0%,70%{opacity:0} 100%{opacity:1} }
#topDirectorIM {
  -webkit-animation: DLine 1.4s ease-in-out; animation: DLine 1.4s ease-in-out; -webkit-animation-fill-mode:both; animation-fill-mode:both}

/* globalNav Anim */
@-webkit-keyframes navUp {
 0%,30% { -webkit-transform: translate3d(0,30px,0); opacity: 0} 100% { -webkit-transform:none; opacity: 1} }
@keyframes navUp { 0%,30% { transform: translate3d(0,30px,0); opacity: 0} 100% { transform:none; opacity: 1} }
.overlay.open #globalNav li:nth-of-type(1) { -webkit-animation: navUp .3s ease-in-out; animation: navUp .3s ease-in-out}
.overlay.open #globalNav li:nth-of-type(2) { -webkit-animation: navUp .4s ease-in-out; animation: navUp .4s ease-in-out}
.overlay.open #globalNav li:nth-of-type(3) { -webkit-animation: navUp .5s ease-in-out; animation: navUp .5s ease-in-out}
.overlay.open #globalNav li:nth-of-type(4) { -webkit-animation: navUp .6s ease-in-out; animation: navUp .6s ease-in-out}
.overlay.open #globalNav li:nth-of-type(5) { -webkit-animation: navUp .7s ease-in-out; animation: navUp .7s ease-in-out}
.overlay.open #subNavi li:nth-of-type(1) { -webkit-animation: navUp .8s ease-in-out; animation: navUp .8s ease-in-out}
.overlay.open #subNavi li:nth-of-type(2) { -webkit-animation: navUp .85s ease-in-out; animation: navUp .85s ease-in-out}
.overlay.open #subNavi li:nth-of-type(3) { -webkit-animation: navUp .9s ease-in-out; animation: navUp .9s ease-in-out}
.overlay.open #SNHome { -webkit-animation: navUp 1s ease-in-out; animation: navUp 1s ease-in-out}

/* Common */
@-webkit-keyframes HLogo {
 0%,25%{ -webkit-transform: translate3d(0,-100px,0); opacity: 0} 100%{ -webkit-transform:none; opacity: 1} }
@keyframes HLogo { 0%,25%{ transform: translate3d(0,-100px,0); opacity: 0} 100%{ transform:none; opacity: 1} }
.homeLink, #subNavWrapp {
 -webkit-animation: HLogo .8s cubic-bezier(.075, .82, .165, 1); animation: HLogo .8s cubic-bezier(.075, .82, .165, 1)}

@-webkit-keyframes fadeIn { 0%{ opacity: 0} 100%{ opacity: 1} }
@keyframes fadeIn { 0%{ opacity: 0} 100%{ opacity: 1} }
.fadeIn { -webkit-animation: fadeIn .6s ease-in-out; animation: fadeIn .6s ease-in-out;
  -webkit-animation-fill-mode:both; animation-fill-mode:both}

@-webkit-keyframes fadeOut { 0%{ opacity: 1} 100%{ opacity: 0} }
@keyframes fadeOut { 0%{ opacity: 1} 100%{ opacity: 0} }
.fadeOut { -webkit-animation: fadeOut .6s ease-in-out; animation: fadeOut .6s ease-in-out;
-webkit-animation-fill-mode:both; animation-fill-mode:both}

@-webkit-keyframes fadeDown {
 0%,25%{ -webkit-transform: translate3d(0,-30px,0); opacity: 0} 100%{ -webkit-transform:none; opacity: 1} }
@keyframes fadeDown { 0%,25%{ transform: translate3d(0,-30px,0); opacity: 0} 100%{ transform:none; opacity: 1} }
.fadeDown, .pageTitle:after, #newsMain:before, #blogArticle:before {
  -webkit-animation: fadeDown .8s ease-in-out; animation: fadeDown .8s ease-in-out}
.fadeDown02 { -webkit-animation: fadeDown 1s ease-in-out; animation: fadeDown 1s ease-in-out}

@-webkit-keyframes fadeUp {
 0%,25%{ -webkit-transform: translate3d(0,30px,0); opacity: 0} 100%{ -webkit-transform:none; opacity: 1} }
@keyframes fadeUp { 0%,25%{ transform: translate3d(0,30px,0); opacity: 0} 100%{ transform:none; opacity: 1} }
.fadeUp01, #newsArticleTitle, #blogArticleTitle { -webkit-animation: fadeUp .75s ease-in-out; animation: fadeUp .75s ease-in-out}
.fadeUp02 { -webkit-animation: fadeUp .9s ease-in-out; animation: fadeUp .9s ease-in-out}
.fadeUp03 { -webkit-animation: fadeUp 1.1s ease-in-out; animation: fadeUp 1.1s ease-in-out}

@-webkit-keyframes leftIn {
 0%,25%{ -webkit-transform: translate3d(-30px,0,0); opacity: 0} 100%{ -webkit-transform:none; opacity: 1} }
@keyframes leftIn { 0%,25%{ transform: translate3d(-30px,0,0); opacity: 0} 100%{ transform:none; opacity: 1} }
.leftIn01 { -webkit-animation: leftIn .75s ease-in-out; animation: leftIn .75s ease-in-out}
.leftIn02, #flowInner:before { -webkit-animation: leftIn 1s ease-in-out; animation: leftIn 1s ease-in-out}

@-webkit-keyframes rightIn {
 0%,25%{ -webkit-transform: translate3d(30px,0,0); opacity: 0} 100%{ -webkit-transform:none; opacity: 1} }
@keyframes rightIn { 0%,25%{ transform: translate3d(30px,0,0); opacity: 0} 100%{ transform:none; opacity: 1} }
.rightIn01 { -webkit-animation: rightIn .75s ease-in-out; animation: rightIn .75s ease-in-out}
.rightIn02, #treatInner01:after, #NADTime { -webkit-animation: rightIn 1s ease-in-out; animation: rightIn 1s ease-in-out}

@-webkit-keyframes circleIn {0%,20%{-webkit-transform:scale(0);opacity:0} 100%{-webkit-transform: scale(1);opacity:1}}
@keyframes circleIn {0%,20%{transform:scale(0);opacity:0} 100%{transform: scale(1);opacity:1}}
.scaleUp01, #SP-SNTelephone, #returnBT {
  -webkit-animation: circleIn 1s cubic-bezier(.075,.82,.165,1); animation: circleIn 1s cubic-bezier(.075,.82,.165,1);
  -webkit-transform-origin:center; transform-origin:center}
.scaleUp02, #globalHeader:before, #trigger-overlay {
  -webkit-animation: circleIn 1.2s cubic-bezier(.075,.82,.165,1); animation: circleIn 1.2s cubic-bezier(.075,.82,.165,1);
  -webkit-transform-origin:center; transform-origin:center}

@-webkit-keyframes leftScale {0%,25%{-webkit-transform:scale(0,1);opacity:0} 100%{-webkit-transform: scale(1,1);opacity:1}}
@keyframes leftScale {0%,25%{transform:scale(0,1);opacity:1,1} 100%{transform: scale(1);opacity:1}}
#topInfo {
  -webkit-animation: leftScale 1s cubic-bezier(.075,.82,.165,1); animation: leftScale 1s cubic-bezier(.075,.82,.165,1);
  -webkit-transform-origin:left top; transform-origin:left top}
#topTherapyTimes {
  -webkit-animation: leftScale 1.2s cubic-bezier(.075,.82,.165,1); animation: leftScale 1.2s cubic-bezier(.075,.82,.165,1);
  -webkit-transform-origin:left top; transform-origin:left top}

@-webkit-keyframes slideBT {
  0%,20%{ -webkit-transform: translate3d(-200px,0,0); opacity:0} 100%{ -webkit-transform:none; opacity:1}}
@keyframes slideBT {
  0%,20%{ transform: translate3d(-200px,0,0); opacity:0} 100%{ transform:none; opacity:1}}
#initialDiscount { -webkit-animation: slideBT 1s cubic-bezier(.075,.82,.165,1); animation: slideBT 1s cubic-bezier(.075,.82,.165,1)}

/* Lettering Animation */
@keyframes typing01 {0%,20%{transform:translate3d(-5px,0,0);opacity:0} 100%{transform:none;opacity:1}}
.onChar1{display:inline-block;animation:typing01 .2s ease}.onChar2{display:inline-block;animation:typing01 .3s ease}.onChar3{display:inline-block;animation:typing01 .4s ease}.onChar4{display:inline-block;animation:typing01 .5s ease}.onChar5{display:inline-block;animation:typing01 .6s ease}.onChar6{display:inline-block;animation:typing01 .7s ease}.onChar7{display:inline-block;animation:typing01 .8s ease}.onChar8{display:inline-block;animation:typing01 .9s ease}.onChar9{display:inline-block;animation:typing01 1s ease}.onChar10{display:inline-block;animation:typing01 1.1s ease}.onChar11{display:inline-block;animation:typing01 1.2s ease}.onChar12{display:inline-block;animation:typing01 1.3s ease}.onChar13{display:inline-block;animation:typing01 1.4s ease-in-out}.onChar14{display:inline-block;animation:typing01 1.5s ease-in-out}.onChar15{display:inline-block;animation:typing01 1.55s ease-in-out}.onChar16{display:inline-block;animation:typing01 1.6s ease-in-out}.onChar17{display:inline-block;animation:typing01 1.65s ease-in-out}.onChar18{display:inline-block;animation:typing01 1.7s ease-in-out}.onChar19{display:inline-block;animation:typing01 1.75s ease-in-out}.onChar20{display:inline-block;animation:typing01 1.8s ease-in-out}.onChar21{display:inline-block;animation:typing01 1.85s ease-in-out}.onChar22{display:inline-block;animation:typing01 1.9s ease-in-out}.onChar23{display:inline-block;animation:typing01 1.95s ease-in-out}.onChar24{display:inline-block;animation:typing01 2s ease-in-out}.onChar25{display:inline-block;animation:typing01 2.05s ease-in-out}.onChar26{display:inline-block;animation:typing01 2.1s ease-in-out}

.TEC02 .onChar1{display:inline-block;animation:typing01 1.1s ease-in-out}.TEC02 .onChar2{display:inline-block;animation:typing01 1.2s ease-in-out}.TEC02 .onChar3{display:inline-block;animation:typing01 1.3s ease-in-out}.TEC02 .onChar4{display:inline-block;animation:typing01 1.4s ease-in-out}.TEC02 .onChar5{display:inline-block;animation:typing01 1.5s ease-in-out}.TEC02 .onChar6{display:inline-block;animation:typing01 1.6s ease-in-out}.TEC02 .onChar7{display:inline-block;animation:typing01 1.7s ease-in-out}.TEC02 .onChar8{display:inline-block;animation:typing01 1.8s ease-in-out}.TEC02 .onChar9{display:inline-block;animation:typing01 1.9s ease-in-out}.TEC02 .onChar10{display:inline-block;animation:typing01 2s ease-in-out}.TEC02 .onChar11{display:inline-block;animation:typing01 2.1s ease-in-out}.TEC02 .onChar12{display:inline-block;animation:typing01 2.2s ease-in-out}.TEC02 .onChar13{display:inline-block;animation:typing01 2.3s ease-in-out}.TEC02 .onChar14{display:inline-block;animation:typing01 2.4s ease-in-out}

/* -------------------------------------------
 Link Hover
------------------------------------------- */
.tLink, .kiraraURL { color: #08b; text-decoration: none; }

/* -------------------------------------------
 Displey Setting
------------------------------------------- */
#homeLogo, #bottomLogo, #TISign, .VIGender, .VDIcon, .QAQ, .QAA, .shareButton a {
  text-indent: 400%; white-space: nowrap; overflow: hidden; }

.homeLink, #globalNav a, #returnBT a, .PNList a, #topTherapyTimes a, #TNList a, #QNList > li a, .shareButton a {
 text-decoration: none; display: block; cursor: pointer; overflow: hidden; }

#globalNav a { overflow: visible; }

#globalNav .current { cursor: default; }

/* -------------------------------------------
 Clearfix
------------------------------------------- */
.clearfix:after, .BBLIInner:after, #botSideInfo:after, .featureSec:after {
  content: ""; clear: both; display: block; height: 0; }

