@charset "utf-8";
/* -------------------------------------------
  Auther: design studio tom'sOne / Tommy Tsutsui / https://toms1.net/
  Issued in: 05/Jun/2024 / Last modefied: 05/Jun/2024
------------------------------------------- */

/* -------------------------------------------
  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 */
#GNav, #ANFIP, .TBBST { display: none !important}

/* -------------------------------------------
  Fonts
------------------------------------------- */
body  {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "source-han-sans-japanese", "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}

.notoSans, .NS400, .NS500, .NS600, .NS700, #globalNav, #ANReserve, #ANFIP, #topHeadCopy, .LBBox, .LBBlack,
.THIJP, .TNItem, .topCal, .spTopCal, .topST, .TBCopy, .BBTit, .slick-next:before, .slick-prev:before, #fixReserveBT,
.pageTitle, .pageST, .NTLST, .OSOItem, .GMNLink, .TAniKind, #WCBDList th, #WCBDList td, #MShipDetail th, #MShipDetail td,
.MDSCat, .MDSLink, .MDCST, .CHLItem, .medInfoCopy, .MDiseaseName, .MDDKind, .MDDExp, .MDListST, .MDListCopy, .MDWICopy,
.MDLBlessCopy, .MDNoICopy, .SFlowProcess, .SFlowGuide, .GMNIName, .GMNINameW, .SPMKind, .SPMKindW, #HDMName, .HDMTA, .staffKind,
.staffName, .staffMessage, .SISpecialized, .SIBio, .ALData, .NLTitle, .newsTitle, .newsBody, .symptomDetail, .possibleDiseases {
  font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-style: normal}

.NS400, #ANReserve, #fixReserveBT, #ANFIP, .TBCopy, .OSOItem, .TAniKind, .MDSLink, .MDDExp,
.MDListCopy, .MDWICopy, .MDLBlessCopy, .MDNoICopy, .SFlowGuide, .HDMTA, .ALCopy, .newsBody p, .newsBody li, .symDD, .PDDD {
  font-weight: 400}

.NS500, .LBBox, .LBBlack, .THIJP, .TNItem, .topCal, .spTopCal, #WCBDList th, #WCBDList td, #MShipDetail th, #MShipDetail td, .BBTit,
.MDSCat, .CHLItem, .medInfoCopy, .MDDKind, .SFlowProcess, .GMNLink, .GMNIName, .GMNINameW, .SPMKind, .SPMKindW,
#HDMName, .staffKind, .staffName, .ALTitle, .NLTitle, .newsBody h2, .newsBody h3, .newsBody b, .symDT, .PDDT { font-weight: 500}

.NS600, #globalNav, #topHeadCopy, .topST, .pageTitle, .pageST, .MDCST, .slick-next:before, .slick-prev:before,
.MDiseaseName, .MDListST, .SPSVCC, .newsTitle, .newsBody h4, .newsBody h5 {
  font-weight: 600}

.NS700 { font-weight: 700}

.figtree, .FI400, .FI500, .FI600, .FI700, .FI800, #THEnCopy, .THIST, .PTEn, .PSTEn, .NTLNum, .MDHead, .MDPTEn, .SKindEn, .SNameEn {
  font-family: "Figtree", sans-serif; font-optical-sizing: auto; font-style: normal}

.FI400 { font-weight: 400}
.FI500, #WCBDList th, #WCBDList td, .SNameEn { font-weight: 500}
.FI600, .THIST, #THEnCopy, .PSTEn, .NTLNum, .MDHead, .MDPTEn, .SKindEn { font-weight: 600}
.FI700, .PTEn { font-weight: 700}
.FI800 { font-weight: 800}

.barlow, .bal400, .bal500, .bal600, .bal700, .bal800, #ANTel, #footTel, #copyright, .spOpenTime,
.ORTNum, .TNTime, .openTime, .TSEN, .ALTime, .CSBST, .NLTime { font-family: "Barlow", sans-serif; font-style: normal}

.bal400, #ANTel, #copyright, .ORTNum, .TNTime, .NLTime { font-weight: 400}
.bal500, #footTel, .spOpenTime, .TSEN, .ALTime, .CSBST { font-weight: 500}
.bal600, .openTime { font-weight: 600}
.bal700 { font-weight: 700}
.bal800 { font-weight: 800}


/* -------------------------------------------
  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}

* {min-height: 0vw}

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

.lazyload { opacity: 0} .lazyloaded { opacity: 1; -webkit-transition: all 0.5s; transition: all 0.5s}

.mag20 { margin-top: 20px !important} .mag50 { margin-top: 50px !important}
.magLM02 { margin-left: -.25em !important} .magLM03 { margin-left: -.35em !important}
.pad01 { padding-top: 1em !important}

.ls0 { letter-spacing: 0 !important} .ls03 { letter-spacing: .03em !important}
.ls05 { letter-spacing: .05em !important} .ls10 { letter-spacing: .1em !important} .ls12 { letter-spacing: .125em !important}
.ls15 { letter-spacing: .15em !important} .ls20 { letter-spacing: .2em !important} .ls30 { letter-spacing: .3em !important}
.ls50 { letter-spacing: .5em !important} .ls100 { letter-spacing: 1em !important} .ls110 { letter-spacing: 1.1em !important}

.lsM01 { letter-spacing: -.01em !important} .lsM02 { letter-spacing: -.025em !important}
.lsM05 { letter-spacing: -.05em !important} .lsM07 { letter-spacing: -.075em !important}
.lsM10 { letter-spacing: -.1em !important} .lsM15 { letter-spacing: -.15em !important}
.lsM20 { letter-spacing: -.2em !important} .lsM25 { letter-spacing: -.25em !important}
.lsM30 { letter-spacing: -.3em !important} .lsM50 { letter-spacing: -.5em !important}

.lsW03 { margin: 0 3px !important}
.lsN01 { margin: 0 -1px !important} .lsN02 { margin: 0 -2px !important}
.lsEM02 { margin: 0 -.2em !important} .lsEM03 { margin: 0 -.35em !important}

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

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

figure img { width: 100% !important; height: auto; vertical-align: top}

.imRud50 { border-radius: 50%}

/* Common Image */
.homeLink, .ANTelSign, .ANResSign, .AMFIPSign, #botLogo, .petInsurance, .FTElSign, .creditCard, .instaLink,
.ORTSign, .ORInstaLogo, #ORLogo {
 background-image: url(../images/common/sp_common.svg); background-repeat: no-repeat; background-size: 270px 300px}

/* Flex Container
------------------------------------------- */
.flexC, #headNav, .ANList, #globalNav, .MDDetail, .MDwithImage, .SIHead, .ALItem, .NLItem, .CSideFixed {
  display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between;
  -webkit-flex-flow: row wrap; flex-flow: row wrap}

/* Common Header
------------------------------------------- */
#globalHeader { width: 100%; -webkit-transition: all .6s; transition: all .6s}

.GHInner { position: relative}

#homeLogo { position: absolute; top: 13px; left: 5vw; width: 196px; margin: 0; z-index: 99999}

.homeLink { background-position: 0 0; width: 196px; height: 34px; display: block; position: relative; opacity: 1}
.homeLink:hover { opacity: .7}

.fixed #homeLogo { position: fixed; top: 12px; width: 147px; height: 26px}
.fixed .homeLink { background-size: 202px auto; width: 147px; height: 26px}

#headNav { display: none}

@media (max-width: 599px) { #homeLogo { left: 8px} }

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

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

.menu-trigger:before {
  content: '';  position: fixed; top: 8px; right: 8px;
  background: rgba(0,108,130,.85); width: 46px; height: 46px; display: block}

.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: 14px; top: 7px; -webkit-transition-delay: .08s; transition-delay: .08s}

.menu-trigger.active { top: 22px}

.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) {
 top: 14px; left: -4px; width: 22px; -webkit-transform: rotate(-315deg); transform: rotate(-315deg)}

.HMName {
  position: absolute; top: 16px; left: 0; color: #fff; font-size: 8px; font-style: normal; text-align: center;
  letter-spacing: 0; text-indent: -.1em; width: 100%; transform: none; opacity: 1}
.menu-trigger.active .HMName { -webkit-transform: translate(0,100px); transform: translate(0,100px); opacity: 0}

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

.overlay::before { content: ''; position: absolute; top: 0; left: 0; background: rgba(255,255,255,.9); width: calc(196px + 10.2vw); height: 60px}
.fixed .overlay::before { width: calc(147px + 10.2vw); height: 50px}

@media (max-width: 599px) { .overlay::before { width: calc(196px + 20px)} .fixed .overlay::before { width: calc(147px + 18px)} }

/* 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 */
#ORContainer { width: 90%; max-width: 640px; margin: 0 auto; padding: 80px 5vw}

.ORNav { width: 320px; position: relative}
.ORNav:nth-of-type(2) { width: 250px}

.ORNLeft { padding-bottom: 290px}

.overlayNav { margin: 0; padding: 0}

.ORAbbr { color: #aeaeae; font-size: 1.3rem; letter-spacing: .15em; margin: 0}

.ONItem { font-size: 1.6rem; letter-spacing: .12em; margin: 20px 0}
.ONItem:last-of-type { margin-bottom: 1.1em}
.ORNav:nth-of-type(2) .ONItem:first-of-type { margin-top: 33px}

.ONSec { margin: 0; padding: 0 0 0 18px}

.ONCI { margin: 5px 0 0}

.ONKind { color: #f7dd99; padding: 0 15px 10px .6em; display: inline-block; position: relative}

.ONKind::after { content: ''; position: absolute; top: 50%; right: 0; background: #f7dd99; margin-top: -8px;
  width: 8px; height: calc(8px / 2 * tan(60deg)); display: inline-block; opacity: .65; clip-path: polygon(0 0, 100% 0, 50% 100%)}

.ONItem a {
  background: inherit; color: #e5e5e5; text-decoration: none; padding: .4em .6em;
  position: relative; display: inline-block; cursor: pointer; overflow: hidden}
.ONItem a:hover { color: #fff}

.ONItem a::before {
  content: ''; position: absolute; top: 0; left: auto; right: 0; z-index: -1; background: rgb(0,150,160);
  width: 0; height: 100%; border-radius: 3px; display: block}
.ONItem a:hover::before { left: 0; right: auto; width: 100%}

.ORInfo { position: absolute; bottom: 18px; left: 0; height: 175px}

#ORLogo { background-position: 0 -215px; width: 270px; height: 50px; margin: 0; display: block}

#ORTel { font-size: 3rem; margin: 5px 0 0}

.ORTNum {
  color: #ccc; text-decoration: none; letter-spacing: .075em; display: inline-block;
  margin: 12px 0 0; padding-left: 28px; position: relative}

.FTElSign, .ORTSign { position: absolute; left: 0; background-position: -180px -100px; width: 20px; height: 20px; display: block}
.FTElSign { top: 12px} .ORTSign { top: 7px}

#ORInstaLink { margin: 20px 0 0}
.ORInstaLogo { background-position: 0 -270px; width: 134px; height: 30px; margin: 0; opacity: .9; display: block}
.ORInstaLogo:hover {
  -webkit-transform: translate3d(4px,-4px,0) rotate(-2deg); transform: translate3d(4px,-4px,0) rotate(-2deg); opacity:1}

@media (max-width: 640px) {
  .ORNav { width: 290px} .ORNav:nth-of-type(2) { width: 230px} .ONItem { font-size: 1.5rem} .ORNLeft { padding-bottom: 278px}}

@media (max-width: 599px) {
  #ORContainer { padding-bottom: 60px; display: block} .ORNLeft { padding-bottom: 0} .ORNav, .ORNav:nth-of-type(2) { width: 290px; margin: 0 auto}
  .ORNav:nth-of-type(2) { margin-top: 40px; padding-top: 5px; border-top: 1px solid #999} .ORInfo { display: none}
  .spORInfo { text-align: center; width: 270px; margin: 40px auto 0; padding-top: 40px; border-top: 1px solid #999 } .ORInstaLogo { margin: 0 auto} }

/* -------------------------------------------
 Footer
------------------------------------------- */
footer { background: #eaeaea; padding: 0; position: relative; z-index: 1}

#footInner { display: flex; flex-direction: column; margin: 0 auto; padding: 5vw 5vw}

/* Bottom Map */
#botmap { order: 1; width: 90vw}

.GMapWrapp { width: 100%; padding: 1px; border: 1px solid #bbb}

#GMap { width: calc(100% - 2px); height: 70vw; max-height: 360px; border: 1px solid #fff}

.AccessBT { text-align: center; margin: 20px 0 0}

/* Bottom ID */
#footID { order: 2; width: 90vw; margin-top: 50px; position: relative}

#bottomID { text-align: center; position: relative}

#botLogo { background-position: 0 -40px; width: 270px; height: 50px; margin: 0 auto}

#footAddress { margin-top: 40px}

#FCompAdd, .botOpeningHours { font-size: 1.5rem; font-style: normal; letter-spacing: .06em; margin: 0}

.botOpeningHours { margin-top: 15px}

#footTel {
  font-size: 3.2rem; font-style: normal; letter-spacing: .075em; display: inline-block;
  margin: 12px 0 0; padding-left: 25px; position: relative; -webkit-transform: none; transform: none}

.FTelNum { color: #444; text-decoration: none; display: block}
.FTelNum:hover { color: #1e8eb7}

.FTElSign {
  position: absolute; top: 8px; left: 0; display: block;
  background-position: -180px -100px; width: 20px; height: 20px; -webkit-transform: none; transform: none}

.botInfo { width: 350px; margin: 30px auto 0}

.botInfoItem { background: #fff; text-align: center; width: 165px; height: 125px}

.BIIKind { font-size: 1.4rem; margin: 20px 0 0}

.petInsurance { background-position: 0 -150px; width: 110px; height: 64px; margin: 12px auto 0; display: block}
.creditCard { background-position: -120px -150px; width: 136px; height: 65px; margin: 13px auto 0; display: block}

.botInsta { width: 100%; margin-top: 25px}

.instaLink { background-position: 0 -100px; width: 160px; height: 36px; margin: 0 auto; display: block}

#copyright { order: 3; font-size: 1.5rem; text-align: center; letter-spacing: .08em; width: 100%; margin: 20px 0 0; display: block}

@media (min-width: 740px) {
  #footID { margin-top: 35px}
  #bottomID { display: flex; -webkit-justify-content: space-between; justify-content: space-between; text-align: left}
  .spBIAdd { width: 300px} .botInfo { margin: 0} #botLogo { margin: 0} #footAddress { margin-top: 30px}
  .botOpeningHours .spWBlock { margin-top: 6px; display: block} #copyright { margin-top: 30px} }

@media (max-width: 415px) { .botOpeningHours .spWBlock { margin-top: 6px; display: block} }

@media (max-width: 389px) { .botInfo { width: 325px} .botInfoItem { width: 155px}}

/* -------------------------------------------
  Fixed Navi
------------------------------------------- */
#sideFixBT { position: fixed; bottom: 25vw; right: 0; z-index: 999}

#fixReserveBT {
  font-size: 2rem; -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";
  text-orientation: upright; text-align: center; letter-spacing: .06em; margin: 0; white-space: nowrap;
  margin: 0; border-radius: 5px 0 0 5px; border: 1px solid #fff; border-right: none; position: relative; z-index: 1}

.fixedBTLink { color: #fff; text-decoration: none; padding: 12px; display: block}

.fixedBTLink::before {
  content: ''; position: absolute; top: 0; height: 100%; border-radius: 7px 0 0 7px; display: block}
.fixedBTLink::before { right: 0; background: rgba(0,108,130,.85); width: 100%; z-index: -2}

.is-hidden { visibility: hidden; opacity: 0}

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

#retTop { margin: 0; position: relative}

#retTop:before, #retTop:after {
 content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; display: block;
 z-index: -1; -webkit-transform-origin: center; transform-origin: center}
#retTop:before { background: rgba(40,40,40,.85);-webkit-transform: scale(1); transform: scale(1); opacity: 1}
#retTop:hover:before {-webkit-transform: scale(0); transform: scale(0)}
#retTop:after { background: rgba(218,28,0,0.95); -webkit-transform: scale(0); transform: scale(0)}
#retTop:hover:after { -webkit-transform: scale(1); transform: scale(1)}

#retTop a { color: #fff; width: 50px; height: 50px; margin: 0; text-indent: -9999px; position: relative}

#retTop a:before {
 content: 'top'; position: absolute; top: 26px; left: 0; display: block; cursor: pointer; z-index: 1000;
 color: #fff; font-size: 11px; text-align: center; text-indent: .06em; letter-spacing: .12em; width: 100%}
#retTop a:after {
 content: ''; position: absolute; top: 16px; left: 50%; cursor: pointer;
 width: 6px; height: 6px; border-top: 2px solid #fff; border-right: 2px solid #fff; margin-left: -4px;
 -webkit-transform: rotate(-45deg); transform: rotate(-45deg)}
#retTop a:hover:after { top: 10px}

/* -------------------------------------------
 Link Button
------------------------------------------- */
.LBBox, .LBBlack {
  color: #fff; font-size: 1.5rem; text-decoration: none; letter-spacing: .04em; display: inline-block;
  z-index: 1; overflow: hidden; cursor: pointer; position: relative}
.LBBlack { font-size: 1.7rem; letter-spacing: .06em}

@media (max-width: 480px) { .LBBlack { font-size: 1.6rem} }

.LBB01 { padding: 17px 65px 17px 30px}
.LBB02 {  min-width: 300px; padding: 17px 30px 17px 30px}
.TNLBB { padding: 12px 65px 12px 30px}
.DBB01 {  min-width: 200px; padding: 17px 48px 17px 30px}
.DBB01:has(.LBLabel){
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 48px 14px 30px;
}

.LBBox::before, .LBBox::after, .LBBlack::before, .LBBlack::after {
  content: ''; position: absolute; top: 0; height: 100%; display: block}
.LBBox::before, .LBBlack::before { left: 0; background: #17798e; width: 100%; z-index: -2}
.LBBlack::before { background: #777}
.LBBox::after, .LBBlack::after { left: auto; right: 0; background: #00a9b2; width: 0; z-index: -1}
.LBBox:hover::after, .LBBlack:hover::after { left: 0; right: auto; width: 100%}

.LBBoxGray { padding: 9px 40px 10px 15px;line-height: 1.8}
.LBBoxGray::before { background: #666}
.LBBoxGray .TNLSign::before,.LBBoxGray .TNLSign::after{
  background: #666;
}

#TNLBNews::before, #TNLBNews .TNLSign::before, #TNLBNews .TNLSign::after { background: #69a53e}
#TNKBColumn::before, #TNKBColumn .TNLSign::before, #TNKBColumn .TNLSign::after { background: #f9851e}

#TNLBCal::before { background: #666}

.LBCenterBT { text-align: center; margin: 25px 0 0; padding-left: 0 !important}

.LSign01, .TNLSign, .BBLSign, .graySign {
  position: absolute; top: 50%; right: 30px;
  background: #fff; width: 20px; height: 20px; margin-top: -10px; border-radius: 50%; display: block}

.TNLSign { width: 18px; height: 18px; margin-top: -9px}

.TBSign, .BBLSign { position: absolute; background: #fff; width: 30px; height: 30px; border-radius: 50%; display: block}
.TBSign { bottom: 15px; left: 50%; margin-left: -15px}
.BBLSign { top: 15.5vw; right: 2vw}

@media (max-width: 759px) { .BBLSign { top: 136px; right: 12px} }

.LSign01::before, .LSign01::after, .TNLSign::before, .TNLSign::after, .TBSign::before, .TBSign::after,
.BBLSign::before, .BBLSign::after {
  content: ''; position: absolute; top: 50%; background: #17798e; height: 2px}
.LSign01::before { left: 4px; width: 12px; margin-top: -1px}
.LSign01::after, .TBSign::after, .BBLSign::after {
  right: 5px; width: 3px; margin-top: -3px; -webkit-transform: rotate(45deg); transform: rotate(45deg)}
.TBSign::before, .BBLSign::before { left: 9px; width: 12px} .TBSign::after, .BBLSign::after { right: 10px; margin-top: -2px}
.LSign02{
  position: absolute; top: 50%; right: 20px;margin-top: -10px; display: block;
  height: 19px;
  width: 18px;
  background: url(../images/common/icon_download.svg) center center / contain no-repeat;
}
.LSign03{
  position: absolute; top: 50%; right: 20px;margin-top: -8px; display: block;
  height: 16px;
  width: 16px;
  background: url(../images/common/ico_arrow_down.svg) center center / contain no-repeat;
}

.LBBlack .TNLSign::before, .LBBlack .TNLSign::after,
#TNLBCal .TNLSign::before, #TNLBCal .TNLSign::after, .TBSign::before, .TBSign::after, .BBLSign::before, .BBLSign::after { background: #888}

.LBBlack:hover .TNLSign::before, .LBBlack:hover .TNLSign::after,
#TNLBCal:hover .TNLSign::before, #TNLBCal:hover .TNLSign::after { background: #2e99bb}

.TNLSign::before { left: 4px; width: 10px}
.TNLSign::after { right: 5px; width: 3px; margin-top: -2px; -webkit-transform: rotate(45deg); transform: rotate(45deg)}

.graySign {
  right: 15px;
  background: #b5b5b5; width: 22px; height: 22px; margin-top: -11px}

.graySign::before, .graySign::after { content: ''; position: absolute; background: #fff; height: 2px}
.graySign::before { top: 50%; left: 6px; width: 10px; margin-top: -1px}
.graySign::after { top: 8px; right: 8px; width: 3px; -webkit-transform: rotate(45deg); transform: rotate(45deg)}

/* Link Sign */

.OSOSign, .OSOSign::after, .fivePIsign, .fivePIsign::after { position: absolute; background: #fff; height: 1px; display: block}
.OSOSign { top: 50%; right: 26px; width: 12px; margin-top: 1px}
.fivePIsign { bottom: 40px; left: 50%; width: 18px; margin-left: -9px}

.MDSLSign, .MDSLSign::after, .CSNSign, .CSNSign::after, .NLSign, .NLSign::after {
  position: absolute; background: #666; height: 1px; display: block}
.MDSLSign, .CSNSign, .NLSign { top: 50%; right: 0; width: 8px; margin-top: 1px}

.OSOSign::after, .fivePIsign::after, .NLSign::after {
  content: ''; top: -2px; right: 1px; width: 4px; -webkit-transform: rotate(45deg); transform: rotate(45deg)}

.NLSign { width: 12px} .NLSign::after { width: 5px}

.MDSLSign::after, .CSNSign::after {
  content: ''; top: -1px; right: 0; width: 3px; -webkit-transform: rotate(45deg); transform: rotate(45deg)}

/* -------------------------------------------
 Main Container
------------------------------------------- */
/* Container
------------------------------------------- */
#stage { background: transparent; position: relative; overflow: hidden}

.pageContents { padding-top: 75px}

#pageHead, #pageHead02 { width: 100%; margin: 30px 0 0; position: relative}

.officialHead, #newsHead { margin: 0 auto; padding: 50px 5vw 0}

.officialWrapp { margin: 0 auto; padding: 0 5vw}

.pageWrapp { margin: 0 auto; padding: 70px 5vw 80px}

.innerWrapp { margin: 0 auto; padding: 45px 5vw}

.minWrapp {  margin: 0 auto; padding: 50px 5vw 0}

.pageSec { margin: 0 auto; padding: 0 5%}

.BGGray { background: #efefef}
.BGWhite { background: #fff}
.BGMint { background: #e0f0ee}

.numTextList { margin-top: 35px !important}

.MG0 { margin-top: 0 !important} .MG01 { margin-top: 1em !important} .MG20 { margin-top: 20px !important}
.MG30 { margin-top: 30px !important} .MG40 { margin-top: 40px !important} .MG50 { margin-top: 40px !important}
.MG60 { margin-top: 40px !important} .MG70 { margin-top: 50px !important} .MG80 { margin-top: 50px !important}
.MG90 { margin-top: 70px !important} .MG100 { margin-top: 80px !important}

.spMG10 { margin-top: 10px !important}
.spMG20 { margin-top: 20px !important}
.spMG30 { margin-top: 30px !important}
.spMG40 { margin-top: 40px !important}

.patTop0 { padding-top: 0 !important}

.padL0 { padding-left: 0 !important}
.padL30 { padding-left: 30px !important}

.PWBot20 { padding-bottom: 20px !important}
.PWBot50 { padding-bottom: 40px !important} .PWBot60 { padding-bottom: 50px !important}
.PWBot70 { padding-bottom: 50px !important} .PWBot80 { padding-bottom: 50px !important}

.spBot0 { padding-bottom: 0 !important}

@media (max-width: 370px) {
  .officialHead, .officialWrapp, #newsHead, .pageWrapp, .innerWrapp, .minWrapp, .pageSec { padding-left: 4vw; padding-right: 4vw} }

/* Breadcrum Navi
------------------------------------------- */
.BreadcrumbList { margin: 0; padding: 0 5vw}
.BreadcrumbList::after, .BreadcrumbList::before { content: ""; clear: both; display: block}

.BCLink, .BCCurrent { float: left; font-size: 1.3rem; line-height: 1.5; letter-spacing: .035em; padding-bottom: 3px; display: block}

.BCLTop { letter-spacing: .11em}

.BCLink { position: relative}

.LLLink:last-of-type { margin-left: 30px}

.BLSign { color: #666; font-size: 1.5rem; text-align: center; width: 1.4em; margin-top: -3px; padding-left: 1px; display: inline-block}

.BreadcrumbList a {
  color: #333; text-decoration: none; padding-bottom: 3px; border-bottom: 1px solid #7eaebb;
  display: inline-block; position: relative}

.BreadcrumbList a:hover { color: #39b; border: none}


/* Page Eyecatch
------------------------------------------- */
.pageEC { order: 1; background-repeat: no-repeat; width: 100%; height: 60vw; position: relative; z-index: 1}

#aboutEC { background: url(../images/about/eyecatch.webp) no-repeat center / cover}
#staffEC { background: url(../images/about/staff_sample.webp) no-repeat center / cover}
#hospitalEC { background: url(../images/about/hospital_eyecatch.webp) no-repeat center / cover}
#visitorEC { background: url(../images/visitor/eyecatch.webp) no-repeat center / cover}
#puppyKittenEC { background: url(../images/visitor/puppy_kitten/eyecatch.webp) no-repeat center / cover}
#SOpinionEC { background: url(../images/visitor/second_pinion/eyecatch.webp) no-repeat center / cover}
#medicalEC { background: url(../images/medical/eyecatch.webp) no-repeat center / cover}
#columnEC { background: url(../images/column/eyecatch.webp) no-repeat center / cover}
#symptomEC { background: url(../images/symptom/eyecatch.webp) no-repeat center / cover}
#forvetsEC { background: url(../images/forvets/forvets_eyecatch.webp) no-repeat center / cover}
#recruitEC { background: url(../images/recruit/recruit_eyecatch.webp) no-repeat center / cover}

.no-webp #aboutEC { background: url(../images/about/eyecatch.jpg) no-repeat center / cover}
.no-webp #staffEC { background: url(../images/about/staff_sample.jpg) no-repeat center / cover}
.no-webp #hospitalEC { background: url(../images/about/hospital_eyecatch.jpg) no-repeat center / cover}
.no-webp #visitorEC { background: url(../images/visitor/eyecatch.jpg) no-repeat center / cover}
.no-webp #puppyKittenEC { background: url(../images/visitor/puppy_kitten/eyecatch.jpg) no-repeat center / cover}
.no-webp #SOpinionEC { background: url(../images/visitor/second_pinion/eyecatch.jpg) no-repeat center / cover}
.no-webp #medicalEC { background: url(../images/medical/eyecatch.jpg) no-repeat center / cover}
.no-webp #columnEC { background: url(../images/column/eyecatch.jpg) no-repeat center / cover}
.no-webp #symptomEC { background: url(../images/symptom/eyecatch.jpg) no-repeat center / cover}
.no-webp #forvetsEC { background: url(../images/forvets/forvets_eyecatch.jpg) no-repeat center / cover}
.no-webp #recruitEC { background: url(../images/recruit/recruit_eyecatch.png) no-repeat center / cover}

/* Page Titles
------------------------------------------- */
.PTWrapp, .PTWideWrapp { order: 2; width: 100%; padding: 5vw 5vw 45px; display: block; position: relative; z-index: 2}


.pageTitle, .pageTitle02, .MDPT, .MDPT02 { font-size: 3.8rem; letter-spacing: .06em; margin: 0}
.pageTitle02 { font-size: 3.3rem}
.MDPT02 { font-size: 3rem; padding-top: 2px;}
#anesthPTJP { margin-top: -5px; display: inline-block}

.PTEn, .MDPTEn { color: #f96600; font-size: 1.8rem; font-style: normal; letter-spacing: .1em; margin-top: 16px; display: block}
.pageTitle02 .PTEn { margin-top: 12px}
.MDPTEn { font-size: 2rem; letter-spacing: .075em; margin-top: 11px}
#anesthPTEn { margin-top: 9px}

#officialPageTitle, #newsPageTitle, #newsIndTitle { color: #f96600; font-size: 1.8rem; letter-spacing: .035em; margin: 0}

#officialPTJP, #newsPTJP, #newsIndTJP {
  color: #555; font-size: 3.6rem; font-style: normal; letter-spacing: .06em; margin-bottom: 14px; display: block}
#newsIndTJP { font-size: 3rem}

/* Sub Titles
------------------------------------------- */
.pageST { font-size: 3.2rem; letter-spacing: .05em; margin: 0}

.PSTEn { color: #f96600; font-size: 1.6rem; font-style: normal; letter-spacing: .08em; margin: 14px 0 0 1px; display: block}

.st18, .st20, .st22, .NTLST, .MDHST, .MDHST02 { letter-spacing: .06em; margin: 0}
.st18 { font-size: 1.6rem}
.st20 { font-size: 1.8rem}
.st22, .NTLST { font-size: 2rem}

.st24 { font-size: 2.2rem; letter-spacing: .04em; margin: 0}

.MDHST { font-size: 2.2rem}
.MDHST02 { font-size: 2.4rem}

.NTLST { margin-top: 30px}

.stCenter { text-align: center}

.FCGreen { color: #009915}
.FCRose { color: #c56e77}
.FCBrown { color: #ae5e00}
.FCDBrown { color: #8e4e00}

@media (max-width: 599px) { .pageST { font-size: 3rem}}

/* Page Copy
------------------------------------------- */
.PCopy14, .PCopy15, .PCopy16, .PCopy17 { line-height: 2; letter-spacing: .05em}
.PCopy14 { font-size: 1.4rem} .PCopy15 { font-size: 1.5rem}
.PCopy16 { font-size: 1.6rem} .PCopy17 { font-size: 1.6rem}

.NTLNum { color: #64a69d; font-size: 3rem; font-style: normal; letter-spacing: 0; padding-right: 5px; vertical-align: -1px}

.PC900 { max-width: 900px !important}

.PTTPad01 { margin: 0; padding-top: 1em !important}

.PTTPad10 { margin: 0; padding-top: 10px !important}
.PTTPad20 { margin: 0; padding-top: 20px !important}
.PTTPad25 { margin: 0; padding-top: 25px !important}
.PTTPad30 { margin: 0; padding-top: 30px !important}
.PTTPad40 { margin: 0; padding-top: 35px !important}
.PTTPad50 { margin: 0; padding-top: 30px !important}
.PTTPad60 { margin: 0; padding-top: 55px !important}

.PTLPad40 { padding-left: 1em !important}
.PTLPad70 { padding-left: 1em !important}

.spLPAd0 { padding-left: 0 !important}

@media (max-width: 759px) {
  .PTTPad10 { margin: 0; padding-top: 10px !important}
  .PTTPad20 { margin: 0; padding-top: 20px !important}
  .PTTPad25 { margin: 0; padding-top: 20px !important}
  .PTTPad30 { margin: 0; padding-top: 30px !important}
  .PTTPad40 { margin: 0; padding-top: 35px !important}
  .PTTPad50 { margin: 0; padding-top: 30px !important}
  .PTTPad60 { margin: 0; padding-top: 55px !important}

  .PTLPad40, .PTLPad70 { padding-left: 0 !important}
}

.spTPad20 { padding-top: 20px !important} .spTPad25 { padding-top: 25px !important}
.spTPad30 { padding-top: 30px !important} .spTPad40 { padding-top: 40px !important}
.spPad45 { padding-top: 45px !important}

@media (max-width: 410px) { .NTLNum { font-size: 2.8rem; margin-bottom: 8px; display: block} }

.PCopyCenter { text-align: center; margin: 50px 0 0}

.DBlock { display: block}

.cautSign { color: #f0442e; font-size: 1.2em; font-weight: bold; vertical-align: -.2em; padding-right: .15em}

.cautionText { padding-left: 1em; display: inline-block; position: relative}
.cautionText::before {
  content: '*'; position: absolute; top: -.1em; left: 0; color: #f0442e; font-size: 1.5em; font-weight: bold; padding-right: .2em}

/* Checkd List
------------------------------------------- */
.checkedList, .checkedList02 { margin: 35px 0 0; padding: 0}
.checkedList02 { margin-top: 25px}
.flexC .checkedList + .checkedList{
  margin-top: 8px;
}

.CHLItem, .WTBItem { font-size: 1.6rem; line-height: 1.6; letter-spacing: .06em; padding: 0 0 8px 32px; position: relative}
.CHLItem:last-of-type { padding-bottom: 0}
.WTBItem { font-size: 1.6rem; line-height: 2; padding-bottom: 1em}

.CHLItem::before, .CHLItem::after, .WTBItem::before, .WTBItem::after { content: ''; position: absolute}
.CHLItem::before, .WTBItem::before {
   top: 3px; left: 0; width: 15px; height: 15px; border-radius: 3px; border: 2px solid #22b373}
.WTBItem::before { top: 6px}

.CHLItem::after, .WTBItem::after {
  top: 5px; left: 4px; width: 16px; height: 5px; border-left: 3px solid #22b373; border-bottom: 2px solid #22b373;
  -webkit-transform: rotate(-45deg); transform: rotate(-45deg)}
.WTBItem::after { top: 8px}
.NoCheck::before, .NoCheck::after{
  content: none;
}

@media (max-width: 699px) {
  .WTBItem { font-size: 1.5rem; padding-left: 32px} .WTBItem::before { top: 5px} .WTBItem::after { top: 8px; width: 15px} }

/* Bottom Banner Area
------------------------------------------- */
#topBottomBanner, #bottomBanner, #bottomBanner02 { padding: 40px 5vw 20px}
#bottomBanner02 { background: #e0f0ee; border-bottom: 2px solid #fff}

.SPTBBST { font-size: 2.4rem; font-weight: 500; text-align: center; letter-spacing: .03em; margin: 0}

.botBNArea { margin: 25px 0 0; padding-bottom: 20px}
.spScroll { overflow: scroll}

.botBN, .BBIM { width: calc(33.33% - 2vw); position: relative}

.BBNLink { color: #444; text-decoration: none; width: 100%; height: 100%; display: block}

.BBIM, .BBIM img { width: 100%; height: auto; border-radius: 5px; display: block}

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

.BBCopy { font-size: 1.4rem; line-height: 1.6; letter-spacing: .075em; margin: 10px 0 0}

.BBNLink:hover { color: #078}

.BBNLink .BBIM::after {
  content: ''; position: absolute; top: 0; left: auto; right: 0; background: rgba(0,0,0,.35);
  width: 0; height: 100%; border-radius: 5px; display: block}

.BBNLink:hover .BBIM::after { left: 0; right: auto; width: 100%}

@media (max-width: 856px) {
  .spScroll { overflow: scroll} .botBNArea { width: 760px} .botBN, .BBIM { width: 240px} .BBTit { letter-spacing: .025em} }

/* -------------------------------------------
 Loader
------------------------------------------- */
#tp-loader { position: absolute; top: 0; left: 0; background: #e2e2e2; width: 100%; height: 100%; z-index: 100; }

#loader {
 position: absolute; top: 50%; left: 50%; color: #fff; text-align: center;
 width: 100px; margin: -16px 0 0 -50px; z-index: 101; }

@-webkit-keyframes loader { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); }}
@keyframes loader { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }}

.loader {
 width: 3rem; height: 3rem; margin: 0; display: inline-block; vertical-align: middle;
 border: solid .25rem #f5f5f5; border-top-color: #ff6347; border-left-color: #ff6347;
 -webkit-border-radius: 50%; border-radius: 50%;
 -webkit-animation: loader 750ms linear infinite; animation: loader 750ms linear infinite; }

/* -------------------------------------------
 Top Page
------------------------------------------- */
#familyDoctor, #specializedTreatment, .infinitySign, .TBIco {
  background: url(../images/top/sp_top.svg) no-repeat 0 0 / 300px 674px}

.topST { font-size: 3rem; letter-spacing: .06em; margin: 0}

.TSEN { color: #777; font-size: 1.6rem; font-style: normal; letter-spacing: .07em; margin-top: 8px; display: block}

#topTargetAnimal, #ourStrengths, #topMedSubject, #searchProblem { margin: 0 auto; padding: 40px 5vw}
#topTargetAnimal, #ourStrengths { padding-bottom: 10px}

/* Top Banner */
#topEyecatch { background: #bbb; height: 50vh; position: relative; overflow: hidden}

#topSlide { width: 100%; margin: 0}

#topSlider { width: 100%; height: 50vh; position: relative}

.webp #topSlider { background: url(../images/top/sp_slide03.webp) no-repeat center / cover}
.no-webp #topSlider { background: url(../images/top/sp_slide03.jpg) no-repeat center / cover}

@media (min-width: 700px) { #topEyecatch, #topSlider { height: 56vh;}}

/* Top Head Copy */
#topHeadCopy, #THEnCopy, #spTHEnCopy {
  position: absolute;  left: 7.5%; color: #000; font-size: 1.8rem; letter-spacing: .05em; margin: 0;
  text-shadow: 1px 1px 1px rgba(255,255,255,.8),-1px 1px 1px rgba(255,255,255,.8),
  1px -1px 1px rgba(255,255,255,.8),-1px -1px 1px rgba(255,255,255,.8); z-index: 15}
#topHeadCopy { top: 35%}
#THEnCopy, #spTHEnCopy { top: 56%}

.thc01, .thc02, .thc03 { display: block}
#topHeadCopy .thc02 { margin-top: 13px}

#THEnCopy, #spTHEnCopy { font-size: 1.6rem}
#THEnCopy .thc02, #spTHEnCopy .thc02, #spTHEnCopy .thc03 { margin-top: 8px}

#spTHEnCopy .thc01 .onChar3, #spTHEnCopy .thc01 .onChar11, #spTHEnCopy .thc02 .onChar6, #spTHEnCopy .thc02 .onChar12,
#spTHEnCopy .thc03 .onChar5, #spTHEnCopy .thc03 .onChar14 { width: 8px}

.THOpen {
  position: absolute; bottom: 10%; left: 7.5%; background: rgba(255,255,255,.75); color: #5e5e5e;
  font-size: 1.4rem; font-weight: 600; letter-spacing: .04em; padding: 5px 5px 4px; display: block}

.THOTime { font-weight: 500}
.THOTilde { font-size: 600; vertical-align: -1px; -webkit-transform: scale(.8,1.3); transform: scale(.8,1.3); display: inline-block}

@media (max-width: 460px) {
  .THOpen {
    background: none; line-height: 1.6; text-shadow: 1px 1px 1px rgba(255,255,255,.8),
    -1px 1px 1px rgba(255,255,255,.8),1px -1px 1px rgba(255,255,255,.8),-1px -1px 1px rgba(255,255,255,.8)}
  .THOpen .spBlock { display: block} .THOpen .spFalse { display: none}
}

/* Top Head Information */
#topHeadInfo { padding: 0}

.topNews { width: calc(45% - 25px - 5vw); padding: 40px 25px 0 5vw; position: relative}

.topHour { background: #f2f2f2; width: calc(55% - 5vw - 25px); padding: 40px 5vw 40px 25px; }

.THIST { color: #f96600; font-size: 3rem; letter-spacing: .04em; margin: 0}
.THIJP { color: #444; font-size: 1.5rem; margin-top: 8px; display: block}

.TNewsList { margin: 40px 0 0; padding: 0}

.TNItem { font-size: 1.5rem; letter-spacing: .02em; margin: 0 0 30px}

.TNBT { font-size: 1.5rem; margin: 0}

.TNLink { color: #555; text-decoration: none; display: inline-block}

.TNTime { font-size: 1.4rem; letter-spacing: .08em}

.TNKind {
  color: #fff; font-size: 1.3rem; text-align: center; letter-spacing: 0;
  width: 6.2em; margin: 0 12px 0 8px; padding: 3px 0 4px; vertical-align: 1px; display: inline-block}

.TNListLink { display: block}

.TNNews { background: #69a53e}
.TNColumn { background: #f9851e}

/* Top Calender */
#topCalender { margin-top: 0}

.topCal { width: 100%; margin-top: 5px; border-collapse: collapse}

.TCalSec { border-top: 2px solid #b2b2b2}

.topCal th, .topCal td { font-size: 1.5rem; text-align: center; padding: 10px 5px}

.topCal tr:first-of-type th { padding-bottom: 5px}

.topCal .openTime { font-size: 1.6rem; text-align: left; letter-spacing: .08em; width: 4.2em}
.topCal .spWblock { margin-bottom: 4px; display: block}
.OTChil { font-size: 1.4rem}
.OP02 .OTChil { margin: 0 .165em}

.openH { width: 20px; height: 20px; border: 3px solid #666; border-radius: 50%; display: inline-block}

.biweekly {
  background: #666; width: 26px; height: calc(26px / 2 * tan(60deg)); margin-top: -2px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%); display: inline-block; position: relative}
.biweekly::after {
  content: ''; position: absolute; top: 5px; left: 0;
  background: #f2f2f2; width: 17px; height: calc(17px / 2 * tan(60deg));
  clip-path: polygon(50% 0, 100% 100%, 0 100%); display: inline-block; position: relative}

.partTime { font-size: 1.5rem; letter-spacing: .05em}

.TCalNotice { font-size: 1.4rem; line-height: 1.8; letter-spacing: .075em; margin: 8px 0 0}

.TCNoticeSign { color: #f03e00; font-size: 1.9rem; margin-right: 5px; vertical-align: -7px}

.TCalBT { font-size: 1.5rem; text-align: center; margin: 10px 0 0; z-index: 1; position: relative}

@media (max-width: 759px) {
  #topHeadInfo { padding: 0} .topNews, .topHour { width: calc(100% - 5vw); max-width: none; padding: 35px 5vw}
  .TNListLink { display: flex; -webkit-justify-content: center; justify-content: center; bottom: inherit; left: inherit; position: relative}
  .TNBT { margin: 0 8px} #topCalender { margin-top: 30px} .spTopCalender { background: #fff; margin-top: 20px; padding: 5vw}
  .spOpenTime { font-size: 2rem; letter-spacing: .05em; margin: 0}
  .SOTSM { font-size: 1.6rem; margin-left: 1px; display: inline-block; transform: scale(.8,1.2)}
  .spTopCal { width: 100%; max-width: 430px; margin: 10px auto 0} .topCal { display: none}
  .spTopCal th, .spTopCal td { font-size: 1.5rem; text-align: center; padding: 10px 0 0}
  .spTopCal .partTime { width: 5.15em; white-space: nowrap} .TCalNotice { margin-top: 15px} }

@media (max-width: 540px) { .TNTit { margin: 10px 0 0 10px; display: block} }
@media (max-width: 480px) { .TNLBB { padding: 12px 40px 12px 15px} .TNLSign { right: 15px} }
@media (max-width: 450px) { .TNListLink { -webkit-justify-content: space-between; justify-content: space-between} }
@media (max-width: 440px) {.TNBT { margin: 0} }

@media (min-width: 760px) {
  .TNewsList { margin-top: 25px} .TNItem { margin-bottom: 20px} .TNTit { margin: 10px 0 0 10px; display: block}
  .spTopCalender { display: none} }

@media (min-width: 760px) and (max-width: 819px)  {
  #TNLBNews, #TNKBColumn { min-width: 105px}
  .TNBT { text-align: center} .TNBT:last-of-type { margin-top: 8px}
  .topHour { padding-bottom: 30px} .topHour .TCalBT { margin-top: 20px} }

@media (min-width: 820px) {
  .TNListLink { display: flex; justify-content: space-between; position: absolute; bottom: 40px; left: auto}
  .TNLBB { margin: 0; padding: 12px 40px 12px 15px} .TNLSign { right: 15px} .TNBT:first-of-type { margin-right: 10px} }

@media (min-width: 840px) {  .TNBT:first-of-type { margin-right: 20px} }

/* Infinity Message */
#infinityMessage { padding: 60px 0; position: relative}

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

#familyDoctor, #specializedTreatment { width: 300px; height: 300px}

#specializedTreatment { background-position: 0 -300px; margin-top: 106px}

.infinitySign {
  position: absolute; top: 50%; left: 50%; background-position: 0 -600px;
  width: 100px; height: 74px; margin: -37px -50px; display: block}

.IMSquare01, .IMSquare02, .IMSquare03, .IMSquare04 { content: ''; position: absolute; opacity: .7; z-index: -1; display: block}

.IMSquare01, .IMSquare03 { background: #d6facd}
.IMSquare02, .IMSquare04 { background: #caf0fc}

.IMSquare01 { top: 270px; left: 0; width: 90px; height: 90px}
.IMSquare02 { top: 330px; left: 60px; width: 52px; height: 52px}
.IMSquare03 { bottom: 0; right: 0; width: 84px; height: 84px}
.IMSquare04 { bottom: 50px; right: 50px; width: 56px; height: 56px}

@media (min-width: 600px) {
  .infinityContents { width: 90%; max-width: 560px; margin: 0 auto} #infinityMessage { padding: 50px 0}
  #familyDoctor, #specializedTreatment, .infinitySign { background-size: 225px auto}
  #familyDoctor, #specializedTreatment { width: 225px; height: 225px}
  #specializedTreatment { background-position: 0 -225px; margin: 0}
  .infinitySign { background-position: 0 -450px; width: 75px; height: 56px; margin: -28px -37.5px}
  .IMSquare01 { top: 0; left: 0; width: 60px; height: 60px} .IMSquare02 { top: 36px; left: 36px; width: 36px; height: 36px}
  .IMSquare03 { bottom: 0; right: 0; width: 60px; height: 60px} .IMSquare04 { bottom: 38px; right: 38px; width: 38px; height: 38px}
}

@media (min-width: 760px) {
  .infinityContents {  max-width: 660px} #familyDoctor, #specializedTreatment, .infinitySign { background-size: 270px auto}
  #familyDoctor, #specializedTreatment { width: 270px; height: 270px} #specializedTreatment { background-position: 0 -270px}
  .infinitySign { background-position: 0 -540px; width: 90px; height: 67px; margin: -33px -45px} }

/* Top Greetings */
#topGreetings {
  background: url(../images/top/top_doctor.jpg) no-repeat 180% 2% / 90vw auto;
  width: 100%; margin: 0 auto; min-height: 427px; position: relative}

.TGreetInner { padding: 40px 5vw 35px}

#TGreetST { width: 200px}

#TGreetContents { padding-top: 45vw}

#TGCatch { color: #0082b2; font-size: 2rem; letter-spacing: .05em; margin: 70px 0 0}

.TGCatch02 { color: #394; margin-top: 12px; display: block}

.TGCopy { line-height: 2.2; margin: 30px 0 0}

.topGreetBT { text-align: center; margin-top: 20px}

@media (min-width: 460px) { #topGreetings { background-position: 20vw -1vw; background-size: 85vw auto}}
@media (min-width: 600px) { #topGreetings { background-position: 22vw -1vw; background-size: 80vw auto} #TGreetContents { padding-top: 47.5vw} }
@media (min-width: 740px) {
  #topGreetings { background-position: 50vw -4vw; background-size: 70vw auto}
  #TGreetContents { padding-top: 5vw} #TGCatch {font-size: 2.2rem} .TGCopy { margin-top: 20vw} }
@media (min-width: 840px) { #topGreetings { background-position: 50vw -1vw; background-size: 58vw auto} .TGCopy { margin-top: 17vw} }

/* Our Strengths */
.OStrengthItem01, .OStrengthItem02 { background: #fff; margin-top: 40px; padding: 1px; border-radius: 5px}

.OSIBlock { order: 2; padding: 4vw; }

.OSITit { font-size: 2.2rem; line-height: 1.3; letter-spacing: .06em; margin: 10px 0 0}

.OSICopy { font-size: 1.5rem; line-height: 2; letter-spacing: .06em; margin: 18px 0 0}

.OSIBT { text-align: center; letter-spacing: .08em; margin-top: 25px}

.OSIIM { order: 1; border-radius: 5px 5px 0 0}
.OSIIM img { width: 100%; height: auto; border-radius: 5px 5px 0 0}

@media (min-width: 600px) {
  .OStrengthList { overflow-x: scroll} .OSSpScroll { width: 1260px; display: flex; justify-content: space-between}
  .OStrengthItem01, .OStrengthItem02 { width: 400px} }

/* Search by Problem */
@media (max-width: 480px) { #searchProblem .topST { font-size: 2.8rem} }
@media (max-width: 370px) { #searchProblem .topST { font-size: 2.6rem} }

.topProblemList { margin: 35px auto 0; justify-content: flex-start; gap: 0 calc(2vw * 2 / 1)}

.TPItem { width: calc(50% - 2vw); height: 180px; margin: 4vw 0 0}

.TBLink {
  display: flex; justify-content: center; align-items: center; color: #333;
  text-decoration: none; text-align: center; width: 100%; height: 100%; border-radius: 6px; z-index: 1; position: relative}

.TBCopy { color: #555; font-size: 1.7rem; font-weight: 500; line-height: 1.5; width: 100%; display: block}

.TBDep { color: #555; font-size: 1.4rem; margin-top: 3px; display: block}
.TBDep::before, .TBDep::after { color: #7e7e7e; font-size: 1.3rem; vertical-align: 1px}
.TBDep::before { content: "- "} .TBDep::after { content: " -"}

.TBLink::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 6px; display: block}
.TBLink::before { background: #e5e5e5; z-index: -2}

.TBIco {
  position: absolute; top: 15px; left: 50%;
  background-position: -200px -620px; width: 28px; height: 28px; margin-left: -14px; display: block}

@media (max-width: 420px) { .TBCopy { font-size: 1.6rem} }

@media (max-width: 380px) { .TBCopy.spNarrow { font-size: 1.5rem; letter-spacing: -.02em} }

/* Bottom Staff */
#botStaff { background: #b7b7b7; padding: 45px 0 50px}

.BStaffST { font-size: 3.6rem; text-align: center; letter-spacing: .08em; margin: 0}

#botStaffSlide { height: 203px; margin-top: 30px; position: relative}

#BSSlideContainer { margin: 0 auto}

.sliderItem { margin: 0 5px}

.sliderItem img { width: 294px; height: 203px}

@media (max-width: 480px) { .BStaffST { font-size: 3.2rem} }

/* -------------------------------------------
  About
------------------------------------------- */
#ebmImage, .TAniIcon, .VTAIco, .TRessItem { background: url(../images/about/sp_about.svg) no-repeat 0 0 / 324px 510px}

#aboutHeadCopy, #hospitaltHeadCopy { font-size: 1.8rem; line-height: 1.8; letter-spacing: .05em; margin: 5vw 0 0}

.evidenceBWrapp { align-items: center; margin-top: 35px}
.evidenceBased { width: calc(100% - 360px)}

#ebmImage { width: 325px; height: 303px}

.muchAsPossible { margin-top: 30px}

.OFFIPBT { margin: 0; padding: 20px 0 0 1em}

#topSpecializedOutpatient, #ourSpecializedOutpatient { background: #fff; margin: 40px auto 0; padding: 30px 5vw 25px; border-radius: 5px}

.OSOST { color: #606060; font-size: 2rem; text-align: center; letter-spacing: .035em; margin: 0}
.OSOST:nth-of-type(2n) {
  color: #8e805c;
}
.OSOST:not(:first-child) {
  margin-top: 40px;
}
#topOSOST02 { color: #8e805c}

#OSOList { width: 100%; margin: 15px 0 0; padding: 0}
.topOSOList { margin: 0 auto; padding: 0; justify-content: center;  gap: 0 16px}

.OSOItem { font-size: 1.5rem; text-align: center; letter-spacing: .04em; width: calc(50% - 8px); margin-top: 15px}

.OSOLink { color: #fff; text-decoration: none; padding: 16px 0; display: block; overflow: hidden; cursor: pointer; position: relative; z-index: 1}

.OSOLink::before, .OSOLink::after { content: ''; position: absolute; top: 0; height: 100%; display: block}
.OSOLink::before { left: 0; background: #828282; width: 100%; z-index: -2}
.OSOLink::after { left: auto; right: 0; background: #2ea2a9; width: 0; z-index: -1}
.OSOLink:hover::after { left: 0; right: auto; width: 100%}
.topOSOList:nth-of-type(2n) .OSOLink::before {
  background: #999589;
}

#TOSOL02 .OSOLink::before { background: #999589}

@media (min-width: 740px) { .OSOItem { font-size: 1.6rem} }

@media (max-width: 759px) { .evidenceBased { width: 100%} .OFFIPBT { padding-left: 0} #ebmImage { margin: 20px auto 0} }

@media (max-width: 579px) { #NTLSpNBlock01 { padding: 8px 0 0 44px; display: block}}
@media (max-width: 510px) {
  #WClubPST { text-align: center; margin-top: -6px} #WClubPST .letAnim { width: 9em; line-height: 1.35; margin: 0 auto -6px; display: block} }

/* @media (min-width: 481px) { .OSOItem:last-of-type { margin: 15px auto 0} } */
@media (min-width: 481px) and (max-width: 680px) { .OSOLink { padding: 12px 0 25px} .OSOSign { top: inherit; bottom: 13px; right: 50%; margin-right: -6px} }

@media (min-width: 481px) { #TOSOL02 .OSOItem:last-of-type { margin: 15px auto 0} }

@media (max-width: 480px) { .OSOItem { width: 100%; margin-top: 12px} .OFFIPBT { text-align: center} }

@media (max-width: 425px) { .muchAsPST .spNBlock { margin-top: 10px; display: block}}
@media (max-width: 410px) { #NTLSpNBlock01 { padding-left: 0;}}
@media (max-width: 399px) { .OSOST { font-size: 1.9rem} }
@media (max-width: 375px) { .OSOST { font-size: 1.8rem} }

.targetAnimal, .VTAnimal { width: 100%; max-width: 680px; margin: 40px auto 0; padding: 0}

.TAniItem, .VTAItem { background: #8c887c; width: 150px; height: 150px; border-radius: 50%; position: relative}
#TTAni .TAniItem { background: rgb(57,145,180)}

.TAniKind, .VTAKind {
  position: absolute; top: 95px; left: 0;
  color: #fff; font-size: 1.6rem; text-align: center; letter-spacing: .03em; width: 100%}

.TAniIcon, .VTAIco { position: absolute; top: 30px; left: 50%; display: block}
#TAniDog, #VTADog { background-position: -220px -340px; width: 44px; height: 37px; margin: 5px 0 0 -23px}
#TAniCat, #VTACat { background-position: -280px -340px; width: 44px; height: 42px; margin-left: -22px}
#TAniRabbit, #VTARabbit { background-position: -220px -400px; width: 36px; height: 44px; margin-left: -18px}
#TAniHamster, #VTAHamster { background-position: -280px -400px; width: 40px; height: 30px; margin: 14px 0 0 -20px}

@media (max-width: 699px) { .targetAnimal, .VTAnimal { max-width: 330px} .TAniItem:nth-of-type(n+3), .VTAItem:nth-of-type(n+3) { margin-top: 28px} }
@media (max-width: 384px) { .targetAnimal, .VTAnimal { max-width: 320px} .TAniItem:nth-of-type(n+3), .VTAItem:nth-of-type(n+3) { margin-top: 19px}}

/* Wellness Club */
@media (max-width: 540px) { #wellnessClub .pageST { font-size: 2.7rem} }
@media (max-width: 389px) { #wellnessClub .pageST { font-size: 2.6rem} }

#WClubInfo { margin: 35px auto 0}

.wellnessClubWrapp { background: #fff; padding: 40px 5vw; margin: 40px auto 0}

#WClubST { color: #368f00; font-size: 2.8rem; text-align: center; margin: 0; padding-bottom: 15px; position: relative}
#WClubST::before, #WClubST::after { content: ''; position: absolute; left: 50%; width: 12em; margin-left: -6.05em}
#WClubST::before { bottom: 2px; background: #a2d9ab; height: 4px}
#WClubST::after { bottom: 0; background: #88b277; height: 2px}

.WSOMAH { color: #f96600; font-size: 3.2rem; font-style: normal; letter-spacing: .06em; vertical-align: -1px}

.WCBenefitsCopy { text-align: center; letter-spacing: .05em; margin: 40px 0 0}

.threeReassurance { font-size: 2.2rem; text-align: center; letter-spacing: .06em; margin: 25px 0}
.TROMAH { font-size: 2.4rem; font-style: normal; padding-right: 1px; vertical-align: -1px}
.TRNum { color: #f96600; font-size: 3.3rem; font-style: normal; margin: 0 2px; vertical-align: -3px}

#TReassuranceList { width: 570px; height: 200px; margin: 0 auto; position: relative}

.TRessItem { position: absolute; top: 0; background-position: 0 -310px; text-align: center; width: 200px; height: 200px; margin: 0}
.TRessItem:nth-of-type(1) { left: 0; z-index: 1}
.TRessItem:nth-of-type(2) { left: 50%; margin-left: -100px; z-index: 2}
.TRessItem:nth-of-type(3) { right: 0; z-index: 3}

.TRessItem::after {
  content: ''; position: absolute; top: 38px; left: 50%; width: 22px; height: 10px; margin-left: -12px;
  border-left: 5px solid #37d94e; border-bottom: 5px solid #37d94e; -webkit-transform: rotate(-45deg); transform: rotate(-45deg)}

.TRICopy { position: absolute; top: 78px; left: 0; color: #006077; font-size: 2.3rem; line-height: 1.4; letter-spacing: .06em; width: 100%; }
.TRISub { font-size: 2.2rem; display: block}

#WCBenefitsDetail { margin: 30px auto 0}

.WCBDst { font-size: 2.4rem; margin: 0}
.WCBOMAH { color: #f96600; font-size: 2.7rem; letter-spacing: .06em; vertical-align: -1px}

.WCBSTTax { font-size: 1.5rem; font-weight: 500; margin-left: .5em;}

#WCBDList, #MShipDetail { width: 100%; margin-top: 30px; border-collapse: collapse}

#WCBDList th, #WCBDList td, #MShipDetail th, #MShipDetail td {
  font-size: 1.5rem; text-align: center; line-height: 1.3; letter-spacing: .05em; padding: 12px 0}
#WCBDList tr { border-bottom: 2px solid #fff}
.WCCat { border-top: 6px solid #fff}

.kindLeft { background: #e5e5e5; width: 356px}
.kindCenter { background: #ccedd2; color: #156222}
.kindRight { background: #facaa8; color: #8c3a1c}

.thLeft, .MSTH { background: #f3f3f3; width: 356px}
.thCenter { background: #f1faf1; color: #156222}
.thRight, .MSTD { background: #fdefe5; color: #8c3a1c}

.kindCenter, .kindRight, .thCenter, .thRight { width: 200px; border-left: 5px solid #fff}

#WCBDList .tdW { font-size: 1.4rem}

.membershipST { color: #368f00; font-size: 2.4rem; letter-spacing: .05em; margin: 50px 0 0}

.membershipGuide { font-size: 2.2rem; text-align: center; letter-spacing: .05em; margin: 30px 0 0}

.MGLine { color: #368f00; font-size: 2.4rem; margin: 0 2px; vertical-align: -1px}

#MShipDetail tr { border-bottom: 5px solid #fff}

#MShipDetail th, #MShipDetail td { padding: 18px 0}

#MShipDetail .MSKindLeft { background: #e5e5e5; letter-spacing: .1em; text-indent: .1em}
#MShipDetail .MSKindRight {
  background: #facaa8; color: #8c3a1c; letter-spacing: 1em; text-indent: 1em}

.MSKindLeft, .MSTH { width: 200px}
.MSKindRight, .MSTD { border-left: 5px solid #fff}

.MSList { margin: 0; padding: 0}

.MSItem { margin-top: 10px}

.membershipInfo { font-size: 1.7rem; line-height: 1.6; text-align: center; letter-spacing: .06em; max-width: 24em; margin: 30px 0 0}

.MSIOMAH { color: #f96600; font-size: 2.1rem; letter-spacing: .06em; margin-right: 2px; vertical-align: -1px}

@media (max-width: 509px) { .WCBenefitsCopy .spNBlock { display: block} }

@media (max-width: 719px) {
  .TRessItem { background-size: 260px auto; background-position: 0 -248px; width: 161px; height: 161px}
  #TReassuranceList { width: 450px; height: 161px} .TRessItem:nth-of-type(2) { margin-left: -80px}
  .TRICopy { top: 64px; font-size: 2rem} .TRISub { font-size: 1.8rem} .TRessItem::after { top: 32px; width: 18px; height: 8px; margin-left: -9px}
  #WCBDList .thLeft { padding: 12px 7px} #WCBDList th small { display: block}}

@media (max-width: 600px) { .WCBDst, .membershipST { text-align: center} .membershipGuide { font-size: 1.8rem} .MGLine { font-size: 2.2rem} }

@media (max-width: 580px) { .WCBSTTax { margin-top: 7px; display: block} }

@media (max-width: 599px) { .spScroll { overflow: scroll} #WCBDList { width: 550px} }

@media (max-width: 560px) {
  #TReassuranceList { width: 310px; height: 290px} .TRessItem:nth-of-type(1) {left: 50%; margin-left: -80px}
  .TRessItem:nth-of-type(2) { top: inherit; bottom: 0; left: 0; margin: 0} .TRessItem:nth-of-type(3) { top: inherit; bottom: 0}
  #MShipDetail .MSKindRight, #MShipDetail td { width: 12em !important} }

@media (max-width: 480px) {
  #WClubST { font-size: 2.5rem} .WSOMAH { font-size: 2.8rem} #WClubST::before, #WClubST::after { width: 11.8em; margin-left: -5.9em}
  .WCBDst { font-size: 2.3rem} .WCBOMAH { font-size: 2.7rem}
  .membershipGuide .spNFalse { display: none} .membershipGuide .spNBlock { margin-top: 12px; display: block} }

@media (max-width: 440px) { .WCBOMAH { margin-bottom: 5px; display: block} .membershipInfo {text-align: left} }

@media (max-width: 389px) { #wellnessClub, .wellnessClubWrapp { padding-left: 4vw; padding-right: 4vw}}
@media (max-width: 374px) { #TReassuranceList { width: 290px; height: 280px}}

/* Staff Page */
#staffHeadCopy { font-size: 2rem; line-height: 1.8; letter-spacing: .05em; margin: 35px 0 0}

#staffHSubCopy { font-size: 1.6rem; line-height: 2; letter-spacing: .06em; margin: 15px 0 0}

.staffWrapp { margin: 0; padding: 50px 5vw}

@media (min-width: 700px) { #staffHSubCopy br{ display: none} }
@media (max-width: 399px) { #staffHeadCopy { font-size: 1.9rem; letter-spacing: .04em} }
@media (max-width: 374px) { #staffHeadCopy { font-size: 1.8rem} #staffHSubCopy { font-size: 1.5rem} }

/* KIZAKI */
.hospitalDirectorWrapp { margin: 0}

.HDWMessage { width: 100%; padding-top: 45vw; position: relative}
.HDMPic img { position: absolute; top: 0; left: 0; width: 45%; height: auto}

#HDMName { display: none}
#spHDMName { position: absolute; top: 15.5vw; left: 50vw; font-size: 2.4rem; letter-spacing: .06em; margin: 0}
.HDMPost { font-size: 1.8rem; margin-bottom: 18px; display: block}
.HDMNEn { font-size: 1.5rem; letter-spacing: .025em; margin-left: 15px}

.HDMTA { width: 100%; border-collapse: collapse}

.HDMTA th, .HDMTA td { font-size: 1.5rem; text-align: left; line-height: 1.75; letter-spacing: .05em; padding: 10px 12px}
.HDMTA th { font-weight: normal; white-space: nowrap}

.HDMTA .HDMThead {
  background: #f0f0f0; font-size: 1.6rem; font-weight: 500; text-align: center; padding: 9px 12px; border-bottom: 4px solid #fff}

.HDMTA .TDAffiliated { padding-left: 20px}

.HDMTA tr:nth-of-type(odd) th { background: #eee}
.HDMTA tr:nth-of-type(even) td { background: #f2f2f2}

.interviewBN { text-align: center; margin: 10px 0 0}

.IBNLink:hover { opacity: .7; -webkit-transform: translateY(-2px); transform: translateY(-2px)}

.HDWMCatch, .HDWMCopy { width: 100%}
.HDWMCatch { line-height: 1.8; margin: 0}

.HDWMCopy { margin: 8px 0 0}

.HDWMCopy.MG60 { margin-top: 25px !important}

@media (max-width: 640px) { #spHDMName { font-size: 2.2rem} .HDMPost { font-size: 1.6rem; margin-bottom: 15px} .HDMNEn { font-size: 1.3rem} }

@media (max-width: 540px) {
  .staffWrapp { padding-top: 45px} .HDWMessage { padding: 0}
  .HDMPic { text-align: center; width: 100%; display: block} .HDMPic img { position: relative; width: 90vw; margin: 0 auto}
  #spHDMName { top: 90vw; left: 0; margin-top: 30px} .HDWMCatch { padding-top: 110px} .HDWMCopy.MG60 { margin-top: 20px !important} }

@media (max-width: 480px) {
  .HDWMCatch { font-size: 1.7rem} .HDMTA th, .HDMTA td { width: calc(100% - 24px); display: block}
  .HDMTA th { padding-bottom: 0} .HDMTA td{ padding-top: 2px} .HDMTA tr:nth-of-type(even) td { background: #fff}
  .HDMTA tr:nth-of-type(odd) th { background: #eee} .HDMTA tr:nth-of-type(odd) td { background: #f2f2f2}
  .HDMTA.MG40 { margin-top: 20px !important} .interviewBN { margin-top: 0} }


/* Other Staff */
.staffKind { font-size: 3.2rem; letter-spacing: .08em; margin: 0}
.SKindSec { font-size: 2.5rem; margin: 0 -.6em 0 -.35em}

.SKindEn { color: #f96600; font-size: 1.8rem; font-style: normal; letter-spacing: .06em; margin-left: 15px; vertical-align: -1px}

.staffList { margin-top: 10px}

.staffItem { background: #fff; width: calc(50% - 5vw - 10px); margin-top: 40px; padding: 0 2.5vw 25px}

.SIHead { width: 100%}

.SIPhoto, .SIPhoto02 { width: 250px; height: 310px; margin: 0 auto; display: block}
.SIPhoto02 { height: 250px}

.staffName, .staffName02, .staffName03, .SNPartTime, .studentStaff { font-size: 2rem; letter-spacing: .06em; width: 250px; margin: 25px auto 0}
.studentStaff { font-size: 1.8rem; line-height: 1.4}
.SNPartTime { font-size: 1.8rem; line-height: 1.6}

.SNPost, .SNNurse { font-size: 1.5rem; margin-bottom: 10px; display: block}
.SNPSec { font-size: 1.3rem; font-weight: 400; line-height: 1.5; letter-spacing: .04em}
.SNNurse { font-weight: 400; line-height: 1.6} .SNNurseSec { font-size: 1.3rem; margin-left: -.35em}
.SNameEn { color: #666; font-size: 1.3rem; font-style: normal; letter-spacing: .04em; margin-top: 12px; display: block}
.studentStaff .SNameEn { margin-top: 2px}
.SNLeave{
  background: #eee;
  font-size: 1.2rem;
  margin: 0 0 10px;
  padding: .3em;
  text-align: center;
}

.SIInfo { padding-bottom: 10px}

.staffMessage, .staffGuide, .SISpecialized { font-size: 1.5rem; line-height: 1.6; letter-spacing: .06em; margin: 20px 0 0}
.staffGuide { line-height: 2}

.SIBio { margin: 20px 0 0; padding: 0}
.SIBKind, .SIBItem { font-size: 1.4rem; line-height: 1.6; letter-spacing: .05em; margin: .33em 0 0}
.SIBKind { font-size: 1.5rem; font-weight: 500; letter-spacing: .3em}

.SIYear01 { width: 5.5em; display: inline-block}
.SIYear02 { width: 8em; display: inline-block}
.SIYear03 { display: block}

@media (min-width: 760px) { .SIYear01, .SIYear02, .staffItem .spNBlock { width: auto; display: block} .staffItem .spNFalse { display: none} }

@media (max-width: 759px) {
  .staffList { margin-top: 20px} .staffItem { width: 100%; margin-top: 2.5vw} .SIHead { align-items: center}
  .SIPhoto, .SIPhoto02 { height: auto; margin: 2.5vw 0 0} .SIPhoto { width: 50%}
  .SIPhoto img, .SIPhoto02 img { width: 100%; max-width: 250px; height: auto}
  .staffName, .staffName02, .SNPartTime, .studentStaff { width: 45%; margin: 0} .SNPartTime { font-size: 1.7rem}
  .SIBKind, .staffMessage, .staffGuide, .SISpecialized { font-size: 1.4rem} .SIBItem { font-size: 1.3rem} }

@media (max-width: 588px) { .SIPhoto, .SIPhoto02 { width: 44.5%} .staffName, .staffName02, .SNPartTime, .studentStaff { width: 50%} }

@media (max-width: 480px) {
  .staffKind { font-size: 3rem} .SKindSec { font-size: 2.2rem} .SNPost { font-size: 1.4rem} .SNNurse { font-size: 1.3rem; line-height: 1.35}
  .staffName, .staffName02, .staffName03, .studentStaff { font-size: 1.8rem} .SNameEn { font-size: 1.2rem}
  .SNPSec { font-size: 1.2rem; margin-top: 4px; display: block} .SNPartTime { font-size: 1.6rem} }

@media (max-width: 420px) { .staffKind { font-size: 2.8rem} .SKindSec { font-size: 2rem} }

/* Facilities&Equipment */
.hospitalWrapp .innerWrapp + .innerWrapp{
  border-top: 3px solid #FFF;
}
.hospitalListWrapp{
  background: #FFF;
  padding: 20px;
}
.hospitalList{
  gap: 30px 32px;
  justify-content: flex-start;
}
.hospitalItem{
  width: 100%;
}
.hospitalItem.is-hidden{
  display: none;
}
.hspImage{
  border-radius: 3px;
  overflow: hidden;
  height: 215px;
  width: 315px;
  max-width: 100%;
  margin-bottom: 15px;
}
.hspImage img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  display: block;
}
.hspName,.hspSubName,.hspSubDesc{
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: .04em;
  margin: 0;
  line-height: 1.2;
}
.hspName{
  font-size: 1.7rem;
  margin-bottom: 2px;
}
.hspSubName{
  font-size: 1.6rem;
}
.hspSubDesc{
  font-size: 1.4rem;
  line-height: 1.8;
  margin-top: 10px;
}

.moreBtnWrap{
  margin: 35px 25px;
  text-align: center;
}
.moreBtn{
  background-color: #f0f0f0;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 12px 50px 12px 22px;
  position: relative;
  min-width: 165px;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.3s;
}
.moreBtn:hover{
  opacity: .8;
}
.moreBtn::after{
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 3px solid #4d4d4d;
  border-bottom: 3px solid #4d4d4d;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.3s;
}
.moreBtn.is-active::after{
  transform: translateY(-30%) rotate(-135deg);
}

/* -------------------------------------------
  For Visitor
------------------------------------------- */
#visitorTitEn .onChar8 { width: .35em}

.BVResIco, .BVTelIco, .VPSIco, .VPSIco02 { background: url(../images/visitor/visitor.svg) no-repeat 0 0 / 246px 100px}

#FSPuppykitten, #beforeVisiting { padding-top: 50px}

.infoTex, .FSPKGuide { padding-left: 0}

#visitorSecOpinionBT { margin-top: 60px}

#visitorSecOpinionBT .TNLSign, #FSPKBT .TNLSign { right: 25px}

#VSOLink, #FSPKLink, #FSSOKLink { font-size: 1.6rem; letter-spacing: .05em; padding: 17px 55px 17px 25px}
#VSOLink::before, #FSPKLink::before, #FSSOKLink::before { background: #777}

#VSOLink .TNLSign::before, #VSOLink .TNLSign::after, #FSPKLink .TNLSign::before,
#FSPKLink .TNLSign::after, #FSSOKLink .TNLSign::after { background: #999}

.visitorST { font-size: 2.4rem; letter-spacing: .04em; margin: 0}

.FSPKGuide { display: flex; justify-content: flex-start; margin-top: 15px; padding-left: 15px}

#FSPKBT { margin: 15px 0 0 20px}

@media (max-width: 370px) { #VSOLink, #FSPKLink, #FSSOKLink { padding: 17px 50px 17px 20px}}

/* Before Visiting */
#VTtargetAnimal, #FSSecOpinion, #beforeVisiting, #visitPreparation { padding-bottom: 50px}

.beforeVGuide { padding: 40px 0 0}
.beforeVGuide:last-of-type { background: #fff; margin-top: 45px; padding: 30px 5vw; border: 2px solid #ffc0ae; border-radius: 5px}

.BVGInfo { width: calc(100% - 240px)}

.BVGLink { display: flex; flex-flow: column; justify-content: space-between; width: 190px; padding-top: 20px}

.BVGReserve, .BVGTel { font-size: 1.7rem; text-align: center; letter-spacing: .075em; width: 190px; margin: 0}
.BVGTel { font-size: 2rem; letter-spacing: .1em}

.BVResBT, .BVTelBT {
  color: #fff; text-align: center; text-decoration: none; text-indent: 30px; padding: 15px 0;
  display: block; position: relative; z-index: 1; cursor: pointer}
.BVTelBT { text-indent: 20px; padding: 14px 0}

.BVR24 { font-size: 1.3rem; margin-left: -5px}

.BVResBT::before, .BVResBT::after, .BVTelBT::before, .BVTelBT::after, .BVBTShadow {
  content: ''; position: absolute; top: 0; height: 100%; display: block}

.BVResBT::before, .BVTelBT::before { left: 0; background: #fc792e; width: 100%; z-index: -2}
.BVTelBT::before { background: #52a7d2}
.BVResBT::after, .BVTelBT::after { left: auto; right: 0; background: #52a7d2; width: 0; z-index: -1}
.BVTelBT::after { background: #fc792e}
.BVResBT:hover::after, .BVTelBT:hover::after { left: 0; right: auto; width: 100%}

.BVBTShadow { top: 3px; left: 3px; background: #ae884e; width: 100%; z-index: -10}
.BVTelBT .BVBTShadow { background: #4482ae}
.BVResBT:hover .BVBTShadow, .BVTelBT:hover .BVBTShadow { top: -2px; left: -2px}

.BVResIco, .BVTelIco { position: absolute; left: 50%; display: block}
.BVResIco { top: 11px; background-position: -220px 0; width: 26px; height: 26px; margin-left: -6.2em}
.BVTelIco { top: 17px; background-position: -220px -50px; width: 16px; height: 16px; margin-left: -4em}

.BVResBT:hover .BVResIco { transform: rotate(15deg)}
.BVTelBT:hover .BVTelIco { transform: rotate(20deg) translate(3px,-1px)}

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

.BVGNST { color: #95622e}

.BVGNItem { padding: 12px 0 0 1em}
.BVGNItem::before { content:'❖'; color: #d35; font-size: 1rem; margin: 0 5px 0 -15px; vertical-align: 1px}

/* Visitor target Animal */
.VPSKind { width: 70px; position: relative}

.VPSGuide { width: calc(100% - 70px)}

.VPSIco, .VPSIco02 { position: absolute; top: 0; left: 0; display: block}
.VPSIco02 { top: 60px}

#VPSDog .VPSIco { background-position: 0 -50px; width: 50px; height: 42px}
#VPSCat .VPSIco { background-position: -60px -50px; width: 50px; height: 48px}
#VPSRabbit .VPSIco { left: 2px; background-position: -120px -50px; width: 40px; height: 49px}
#VPSRabbit .VPSIco02 { background-position: -170px -55px; width: 44px; height: 33px}

.VPreST { color: #3e8900; font-size: 2rem; letter-spacing: .03em; margin: 0; position: relative}

#VPSDog .VPreST { padding-top: 10px}
#VPSCat .VPreST, #VPSRabbit .VPreST { padding-top: 15px}

.VPSCopy { max-width: 830px}

.VPSNWrapp { background: #ffe5d9; margin-top: 40px; padding: 10px 4vw 20px}

.VPSNotice { margin: 3px 0 0; padding: 0}

.VPSNItem { font-size: 1.4rem; line-height: 1.75; letter-spacing: .06em; margin: 0; padding: 10px 0 0 17px; position: relative}

.VPSNItem::before, .WTBNotice::before { content: '*'; position: absolute; top: 7px; left: 2px; color: #f21e3e; font-size: 2rem}
.WTBNotice::before { top: -1px}

/* What To Bring */
#WhatToBring { padding: 50px 5vw}
.WTBlingWrapp { margin: 35px auto 0}

.WTBlingList { margin: 0; padding: 0}

.WTBNotice { font-size: 1.4rem; margin-top: 8px; padding-left: 17px; display: block; position: relative}

#petInsurance { margin: 20px auto 0}

.insuranceItem { width: 340px}

.PIBanner, .PICard { background: url(../images/visitor/insurance.png) no-repeat 0 0 / 630px 198px}

.PICard { width: 312px; height: 198px; margin-top: 35px}
#PICIpet { background-position: -320px 0}

@media (max-width: 799px) {
  #petInsurance { background: url(../images/visitor/insurance.png) no-repeat 0 0 / contain;
    width: 100%; padding-top: 31.75%; display: block} .insuranceItem { display: none} }

@media (max-width: 700px) {
  .FSPKGuide, .beforeVGuide { display: block} .BVGInfo { width: 100%} #FSPKBT { margin-left: 0} .BVGTel { margin-left: 30px}
  .BVGLink {
    display: flex; flex-direction: row; -webkit-flex-direction: row; -webkit-justify-content: flex-start; justify-content: flex-start; width: 100%}
  .visitorST { font-size: 2.2rem} .VPSGuide { width: 100%}
  .VPSKind { display: none} .VPreST { padding-left: 60px} #VPSDog .VPreST { padding-top: 11px}
  #VPSCat .VPreST { padding-top: 16px} #VPSRabbit .VPreST { padding: 18px 0 0 98px}
  .VPreST::before, #VPSRabbit .VPreST::after {
    content: ''; position: absolute; top: 0; left: 0; background: url(../images/visitor/visitor.svg) no-repeat 0 0 / 246px 100px;
    width: 50px; height: 49px}
  #VPSDog .VPreST::before { background-position: 0 -50px; width: 50px; height: 42px}
  #VPSCat .VPreST::before { background-position: -60px -50px; width: 50px; height: 48px}
  #VPSRabbit .VPreST::before { left: 2px; background-position: -120px -50px; width: 40px; height: 49px}
  #VPSRabbit .VPreST::after { top: 15px; left: 48px; background-position: -170px -55px; width: 44px; height: 33px} }

@media (max-width: 599px) { .WTBItem br{ display: none} }

@media (max-width: 480px) {
   #visitorSecOpinionBT, #FSPKBT { text-align: center}
  .BVGLink { display: block} .BVGReserve, .BVGTel { width: 280px; margin: 0 auto} .BVGTel { margin-top: 15px}
  #petInsurance { background: none; width: 272px; margin: 10px auto 0; padding: 0} .insuranceItem { width: 272px; display: block}
  .PIBanner { width: 272px; height: 48px; margin: 0} .PIBanner, .PICard { background-size: 553px 172px}
  .PICard { width: 274px; height: 172px; margin-top: 20px}
  #PICIpet { background-position: -280px 0} }

@media (max-width: 444px) { #petInsurance { margin-top: -10px}}
@media (max-width: 420px) { .visitorST { font-size: 2.1rem} .VPreST { font-size: 1.9rem} }
@media (max-width: 375px) { #VSOLink, #FSPKLink { padding: 17px 50px 17px 20px} .VPreST { font-size: 1.8rem} }

/* Welcoming a Puppy or Kitten
------------------------------------------- */
#PKPTJP .onChar7 { font-size: 3.6rem; margin: 0 -.25em}
#PKPTJP .onChar16 { margin: 0 -.1em}
#PKPTEN .onChar14, #PKPTEN .onChar16, #PKPTEN .onChar22, #PKPTEN .onChar25 { width: 6px}

#puppyKHeadCopy { font-size: 1.6rem; line-height: 2; letter-spacing: .06em; margin: 40px 0 0}

.puppyKittenSchedule { width: 100%; margin-top: 40px}
.puppyKittenSchedule:last-of-type { margin-top: 20px}

.preventNum { color: #009045; font-size: 1.7rem; font-weight: 600; margin-right: 4px; vertical-align: -1px}

#fivePrevention { max-width: 680px; margin: 40px auto 0; padding: 0}

.fivePItem { font-size: 1.5rem; text-align: center; width: 136px; height: 136px}

.fivePILink {
  display: flex; align-items: center; color: #fff; text-decoration: none; letter-spacing: .05em;
  width: 136px; height: 136px; border-radius: 50%; overflow: hidden; cursor: pointer; position: relative}

.fivePILink::after {
  content: ''; position: absolute; top: 3px; left: 3px;
  width: 128px; height: 128px; border-radius: 50%; border: 1px solid #fff}

#FPI01 { background: #f27995} #FPI02 { background: #f79b4b} #FPI03 { background: #55be89}
#FPI04 { background: #5c8fe6} #FPI05 { background: #9672bf}

.FPIKind { width: 100%; height: 1em; display: block}

.fivePILink:hover { background: #8e8e8e !important}

#PKWelnessBT { margin-top: 25px}
#PKWelnessBT .LBBlack { padding: 17px 60px 17px 20px}
#PKWelnessBT .LBBlack::before { background: #4ea959}
#PKWelnessBT .TNLSign::before, #PKWelnessBT .TNLSign::after { background: #72b985}

#personInCharge { background: #f2f2f2; margin: 45px auto 0; padding: 30px}

.personICHead { width: 240px; position: relative}

.PICIM { width: 240px; height: 170px}

.PICName { margin: 20px 0 0}

.personICMain { width: calc(100% - 280px); margin-top: 30px}

.PICMCopy { margin: 25px 0 0}

.PICData { font-size: 1.3rem; line-height: 1.6; margin: 20px 0 0}
.PICData dd { margin: 0 0 0 1em}

@media (min-width: 600px) { #PICD03 { display: none} }

@media (max-width: 759px) {
  .puppyKittenSchedule { overflow: scroll} .puppyKittenSchedule img { min-width: 700px !important}
  .puppyKittenSchedule:last-of-type { margin-top: 25px}
  #fivePrevention { -webkit-justify-content:space-around; justify-content:space-around; max-width: 428px}
  .fivePItem:nth-of-type(n+4) { margin-top: 2px} }

@media (max-width: 699px) {
  .personICHead { width: calc(100% - 40px); height: 23.5vw} .PICIM { position: absolute; top: 0; left: 0; width: auto; height: auto}
  .PICIM img{ width: 33vw; height: auto} .PICName, #PICD01 { padding-left: 38vw} #PICD01 { margin-left: -.5em}
  .personICMain, #PICD02 { width: 100%} }

@media (max-width: 599px) {
  #personInCharge { position: relative} .personICMain { order: 1; margin: 0}
  .personICHead { order: 2; position: absolute; top: 11%} #PKPerson { text-align: center; padding-bottom: 31vw} .PICIM img{ width: 40vw}
  .PICName { text-align: center; margin-top: 11vw; padding-left: 40vw} #PICD01 { display: none} #PICD02 { margin-top: 15px} }

@media (max-width: 500px) { .personICHead { top: 10.5%} }

@media (max-width: 480px) {
  #fivePrevention { display: block} .fivePItem, .fivePILink { font-size: 1.6rem; width: 100%; max-width: 360px; height: 60px; border-radius: 5px}
  .fivePILink::after { width: calc(100% - 8px); max-width: 352px; height: 52px; border-radius: 3px}
  .fivePItem, .fivePItem:nth-of-type(n+4) { margin: 10px auto 0}
  .fivePIsign { bottom: 50%; left: inherit; right: 10vw; width: 18px; margin: -1px 0 0}
  #PKHealthCareBT .LBB02, #PKWelnessBT .LBBlack, #PKBehdiscipBT .LBB02 { width: 310px; padding: 17px 20px 17px 0}
  #PKHealthCareBT .TNLSign, #PKBehdiscipBT .TNLSign { right: 80px} }

@media (max-width: 440px) {
  #personInCharge { padding: 30px 20px} .personICHead { top: 10%} .PICIM img{ width: 47.5vw}
  .PICName { margin-top: 13.5vw; padding-left: 47.5vw} #PKPerson { padding-bottom: 37vw} }

/* Scond Opinion
------------------------------------------- */
#SOpinionJP { letter-spacing: 0}

#SOpinionEN .onChar11 { width: 6px}

#SOpinionHeadCopy { font-size: 1.6rem; line-height: 2; letter-spacing: .06em; margin: 40px 0 0}

.checkedCopy { width: 25px; height: 17px; display: inline-block; position: relative}
.checkedCopy::before {
  content: ''; position: absolute; top: 6px; left: 5px;
  width: 12px; height: 5px; border-left: 3px solid #22b373; border-bottom: 3px solid #22b373;
  -webkit-transform: rotate(-45deg); transform: rotate(-45deg); display: block}

.exInspectionData { background: #f2f0e9; max-width: 500px; margin: 40px auto 0; padding: 30px 40px 20px}

.exIDST { color: #664e33; font-size: 1.7rem; letter-spacing: .05em; margin: 0}

#EXIDList { margin: 20px 0 0; padding: 0 0 0 26px}

#EXIDList li { font-size: 1.5rem; line-height: 1.5; letter-spacing: .06em; margin: 7px 0}
#EXIDList li::before { content: '■'; color: #c5b097; font-size: 1.3rem; margin: 0 2px 0 -15px}

.SOSpecializedList { background: #fff; margin: 40px auto 0; padding: 30px 5vw 25px}

@media (max-width: 600px) { .exInspectionData { padding: 30px 5vw 20px}}
@media (max-width: 455px) { #secOPAdvice br{ display: none}}
@media (max-width: 440px) {
  #secOpinion .st24 { font-size: 2rem} #secOpinion .PTTPad40 { padding-top: 30px !important}
  #SOSpecialST { font-size: 2.4rem; line-height: 1.5; width: 10.5em; margin: -5px 0} }
@media (max-width: 369px) { #secOpinion .st24 { letter-spacing: .02em} }

/* -------------------------------------------
  Medical
------------------------------------------- */
/* Medical Main Page */
.GMNIco, .GMNIcoW, .SPMIco { background: url(../images/medical/sp_medical_ico.svg) no-repeat 0 0 / 190px 112px}

#medicalHeadCopy { font-size: 1.6rem; line-height: 2; letter-spacing: .06em; margin: 50px 0 0}

#searchSymptomsLBT { text-align: center; margin: 50px 0 0}
#searchSymptomsLBT #VSOLink { font-size: 1.8rem}

#ToTeachersBT #VSOLink {
  display: flex; flex-flow: column; align-items: center; justify-content: center;
  background: #888; font-size: 1.7rem; letter-spacing: .075em; text-align: center;
  width: 100%; height: 100%; padding: 0; border-radius: 6px}

#searchSymptomsLBT .TNLSign { right: 25px}

#searchSymptomsLBT .TNLSign, #ToTeachersBT .TNLSign { margin-top: -8px}

#generalMNavList { margin: 0 auto; padding: 10px 0 0}

.GMNItem { width: 31%; margin-top: 3.5%}

.GMNLink, .SPMLink {
  color: #444; text-decoration: none; width: 100%; height: 100%;
  display: block; position: relative; z-index: 1; cursor: pointer; overflow: hidden}

.GMNLink::before, .SPMLink::before {
  content: ''; position: absolute; top: 0; height: 100%; border-radius: 6px; display: block}

.GMNLink::before, .SPMLink::before { background: #fff; width: 100%; z-index: -2}
.SPMLink::before { background: #f2f2f2}

.GMNKind, .GMNKindW, .SPMKind, .SPMKindW {
  font-size: 1.9rem; text-shadow: 1px 1px 0 rgba(255,255,255,.7); letter-spacing: .06em; text-indent: .03em;
  margin: 0; padding: 20px calc(7vw + 1em) 18px calc(7vw + 25px);}
.GMNKindW { font-size: 1.7rem; line-height: 1.3}
.SPMKind, .SPMKindW { font-size: 1.8rem}

.GMNInfo { font-size: 1.4rem; line-height: 1.5; letter-spacing: .05em; margin-top: 10px; display: block;}

.GMNIco, .GMNIcoW {
  position: absolute; top: 20px; left: 50%; width: 32px; height: 32px; display: block;
  -webkit-transform: translateX(-50%); transform: translateX(-50%)}
.GMNIcoW { top: 18px}

.GMNLink:hover .GMNIco, .GMNLink:hover .GMNIcoW, .SPMLink:hover .SPMIco { margin-top: -3px}

#ophthIco { background-position: -40px 0}
#vaccIco { background-position: -80px 0}
#contracepIco { background-position: -120px 0}
#spayIco { background-position: -160px 0}
#pulmonoIco { background-position: -160px -80px}

#specialMedNavi { margin-top: 10px; padding-top: 50px; border-top: 3px solid #fff}

#specialMNList { background: #fff; margin-top: 45px; padding: 0 3% 3%}

.SPMItem, #ToTeachersBT { width: 48.5%; margin: 2.75% 0 0}

.SPMKind, .SPMKindW { position: relative; top: inherit; left: inherit; text-align: left; width: auto; padding: 28px 1em 28px calc(10% + 42px)}

.SPMInfo, .SPMInfoW, .SPSVCC { font-size: 1.4rem; line-height: 1.5; margin-top: 18px; display: block}
.SPMInfoW { margin: 15px 0 0 -42px} .SPSVCC { color: #855a2e; margin: 5px 0 0 -42px}
.SPMInfo { margin: 24px 0 0 -42px}

.SPMIco { position: absolute; top: 21px; left: 10%; width: 32px; height: 32px; display: block}
#cardioIco { background-position: 0 -40px}
#uroloIco { background-position: -40px -40px}
#oncoloIco { background-position: -80px -40px}
#dentIco { background-position: -120px -40px}
#dermatoIco { background-position: -160px -40px}
#orthopIco { background-position: 0 -80px}
#softIco { background-position: -40px -80px}
#trainingIco { background-position: -80px 0}
#radioIco { background-position: -120px -80px}

@media (max-width: 819px) { #ToTeachersBT .TNLSign { right: 15px} }

@media (max-width: 780px) { .SPMIco { left: 7%} .SPMKind, .SPMKindW { padding-left: calc(7% + 42px)} }

@media (min-width: 700px) {
  .SPMKind, .SPMKindW { width: calc(100% - 4.5em); padding-bottom: 24px; padding-right: 0 !important}
  .graySign { top: inherit; bottom: 18px} .SPMItem .graySign { bottom: inherit; top: 27px; right: 3vw; margin: 0} }

@media (max-width: 759px) {
  .GMNItem { width: 48.5%; margin-top: 3%} .GMNKind, .GMNKindW { text-align: center; padding: 60px 1em 20px}
  .GMNInfo { text-align: left} .GMNKindW br{ font-size: 1.9rem; display: none} .GMNIco, .GMNIcoW { top: 18px}
  .GMNItem .graySign { top: 27px; margin: 0} }

@media (min-width: 760px) {
  .GMNKind, .GMNKindW { text-align: center; padding: 62px 2.5vw 50px} .GMNInfo { text-align: left}
  .GMNItem .graySign { right: 50%; margin-right: -11px} }

@media (min-width: 760px) and (max-width: 875px) { .GMNKindW .spBlock { display: block}}

@media (min-width: 781px) {
  .SPMIco { left: 8%;}
  .SPMKind, .SPMKindW { padding: 28px 0 24px calc(8% + 42px)} .SPMInfo, .SPMInfoW { padding-right: 1em}}

@media (max-width: 699px) {
  #specialMNList { padding: 1% 4% 4%} .SPMItem, #ToTeachersBT { width: 100%; max-width: 500px; margin: 3% auto 0}
  .SPMItem .graySign { top: 50%; right: 7.5%; margin-top: -11px} .SPMInfo { margin-top: 18px}
  #ToTeachersBT #VSOLink { height: 90px} #ToTeachersBT .TNLSign { right: calc(7.5% + 3px)} }

@media (max-width: 539px) {
  #generalMNavList { margin-top: 15px} .GMNItem { width: 100%; margin-top: 15px}
  .GMNKind, .GMNKindW { text-align: left; padding: 20px calc(7vw + 1em) 18px calc(7vw + 25px)}
  .GMNIco, .GMNIcoW { top: 50%; left: 7vw; margin-top: -16px}
  .graySign { right: 5vw} .GMNItem .graySign { top: 50%; margin-top: -11px} }

@media (max-width: 480px) {
  #searchSymptomsLBT #VSOLink { font-size: 1.7rem; padding: 17px 50px 17px 20px} #searchSymptomsLBT .TNLSign { right: 20px}
  .SPMItem { margin-top: 4%} .SPMItem .graySign { top: 27px; margin: 0} }

@media (min-width: 481px) { .SPMKind, .SPMKindW { padding-right: 3.4em}}

@media (max-width: 380px) { #searchSymptomsLBT #VSOLink { letter-spacing: .035em; padding: 17px 48px 17px 18px} }

/* Medical Individual　Page Title */
#urologyPTEn .onChar15 { width: 6px}

#VaccinatPT { margin: 1px 0 0 -4px; display: block} #VaccinatPTEn { font-size: 1.8rem; margin-top: 13px}
#VaccinatPT .onChar5, #VaccinatPT .onChar7 { letter-spacing: 0}
#VaccinatPT .onChar6 { margin: 0 -3px}
#VaccinatPT .onChar11, #oncoloPTJP .onChar9, #orthopePTJP .onChar7 { font-size: 2.7rem; margin: 0 -.2em}
#vaccPTEN .onChar5, #vaccPTEN .onChar7, #vaccPTEN .onChar15 { width: 5px}

#anesthPTJP .onChar7 { font-size: 2.8rem; margin: 0 -.2em}
#anesthPTEn .onChar10, #anesthPTEn .onChar21, #spayPTEn .onChar9, #neuterPTEn .onChar11, #softPTEN .onChar9, #softPTEN .onChar16,
#orthopePTEN .onChar16, #orthopePTEN .onChar20, #discipPTEN .onChar15, #discipPTEN .onChar26 { width: 6px}

#discipPTJP .onChar5 { margin: 0 -.08em 0 -.15em} #discipPTJP .onChar6 { margin-right: -.04em}

@media (max-width: 540px) { #VaccinatPT { margin-top: -1px} #VaccinatPTEn { margin-top: 6px} }

/* Medical Page Common */
#medicalDepartment { margin: 45px auto 0; padding-right: 5vw; position: relative}
#medicalDepartment.BB02 { padding-bottom: 40px}

.spBGG { margin-top: 45px !important}

.MDWrapp { width: calc(100% - 235px)}
/* 「お悩みの飼い主様へ」背景色 */
.flexC:has(.MDWrapp[class*="PWBot"]) + #bottomBanner,
.flexC:has(.MDWrapp[id="Spay"]) + #bottomBanner,
.flexC:has(.MDWrapp[id="Neuter"]) + #bottomBanner,
.flexC:has(.MDWrapp[id="Oncology"]) + #bottomBanner{
  background-color: #e0f0ee;
  border-bottom: 2px solid #fff;
}

.BGWide { position: relative}
.BGWide::after { content: ''; position: absolute; top: 0; left: 0; background: #efefef; width: 30vw; height: 100%; margin-left: -29.9vw}

.MDPad { padding-left: 5vw}

.MDSign {
  background: #999; color: #fff; font-size: 1.1rem; text-align: center; letter-spacing: .08em;
  width: 80px; margin: 0; padding: 4px 0 3px; border-radius: 3px; display: inline-block}

#MDPageTit { min-height: 74px; margin-top: 20px; padding: 6px 0 0 110px; position: relative}

@media (max-width: 599px) {
  .pageTitle, .pageTitle02, .MDPT, .MDPT02 { font-size: 3.2rem} .PTEn, .MDPTEn { font-size: 1.7rem}
  #PKPTJP { font-size: 3rem} #PKPTEN { font-size: 1.6rem}
  #VaccinatPT { margin-top: -1px;} #VaccinatPTEn { margin-top: 6px}
  #VaccinatPT { font-size: 3rem; letter-spacing: .04em; margin-top: -1px} #VaccinatPT .onChar11 { font-size: 2.4rem}
  #VaccinatPTEn { font-size: 1.5rem; margin-top: 9px} }

@media (max-width: 540px) { .MDSign { text-indent: .05em; width: 64px}}

@media (max-width: 520px) {
  #MDPageTit { min-height: auto; padding-top: 5px} .MDPTEn { font-size: 1.6rem} .MDPTEn { margin-top: 9px}
  #anesthPTJP { font-size: 2.9rem; margin-top: 5px; display: inline-block}
  #PKPTJP { line-height: 1.2; width: 10.4em; margin-top: -7px; display: block} }

@media (max-width: 480px) {
  #medicalDepartment { padding: 0} .PTWrapp, .PTWideWrapp { padding-top: 30px} #anesthPTJP { font-size: 2.6rem}  }

@media (max-width: 450px) {
  .PTWrapp { padding-top: 30px} .pageTitle, .pageTitle02, .MDPT, .MDPT02 { font-size: 3rem}
  #VaccinatPT { font-size: 2.8rem} }

@media (max-width: 419px) { #VaccinatPT { line-height: 1.1; width: 6.2em; margin: -5px 0 0 5px}
#VaccinatPTEn { text-align: right; margin-left: -80px; padding-right: 10px} #VaccinatPT .onChar11 { margin: 0 -.1em 0 1.1em;}}

@media (max-width: 400px) {
  #anesthPTJP { font-size: 2.4rem; letter-spacing: .03em; margin-top: 8px} #anesthPTJP .onChar7 { font-size: 2.2rem}
  #anesthPTEn { font-size: 1.5rem} }

@media (max-width: 385px) { #anesthPTJP { font-size: 2.3rem; letter-spacing: .015em; margin-top: 9px} }
@media (max-width: 369px) { #anesthPTJP {
  font-size: 2.2rem} #anesthPTJP .onChar7 { font-size: 2rem} #anesthPTEn { font-size: 1.4rem; margin-top: 10px} }

.MDMark { position: absolute; top: 0; left: 0; width: 80px; height: 80px; border-radius: 5px; z-index: 1}
#Pulmonology .MDMark { background: #c2a0dd}
#Gastroenterology .MDMark { background: #faa769}
#Ophthalmology .MDMark { background: #d2c97e}
#Urology .MDMark { background: #d2ae4e}
#Dermatology .MDMark { background: #f295a7}
#Vaccination .MDMark { background: #57b577}
#Anesthesia .MDMark { background: #c799e9}
#Spay .MDMark { background: #f297c9}
#Neuter .MDMark { background: #69a9e9}
#Oncology .MDMark { background: #ae92d5}
#SoftTissue .MDMark { background: #5cb288}
#Orthopedics .MDMark { background: #6ea5f2}
#Discipline .MDMark { background: #b7827d}
#Dentistry .MDMark { background: #eea0d0}
#Radiology .MDMark { background: #9ea7ae}

.MDMark::after {
  content: ''; position: absolute; top: 50%; left: 50%;
  -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); display: block}

#pulmonoMark::after { background: url(../images/medical/pulmono_sign.svg) no-repeat 0 0 / cover; width: 34px; height: 33px}
#gastroMark::after { background: url(../images/medical/gastro_sign.svg) no-repeat 0 0 / cover; width: 34px; height: 46px}
#ophtMark::after { background: url(../images/medical/opht_sign.svg) no-repeat 0 0 / cover; width: 36px; height: 24px}
#urologyMark::after { background: url(../images/medical/urology_sign.svg) no-repeat 0 0 / cover; width: 40px; height: 34px}
#dermatoMark::after { background: url(../images/medical/dermato_sign.svg) no-repeat 0 0 / cover; width: 36px; height: 26px}
#vaccinatMark::after { background: url(../images/medical/vaccinat_sign.svg) no-repeat 0 0 / cover; width: 34px; height: 34px}
#anesthMark::after { background: url(../images/medical/anesth_sign.svg) no-repeat 0 0 / cover; width: 28px; height: 38px}
#spayMark::after, #neuterMark::after {
  background: url(../images/medical/spay_sign.svg) no-repeat 0 0 / cover; width: 33px; height: 36px}
#oncoloMark::after { background: url(../images/medical/oncology_sign.svg) no-repeat 0 0 / cover; width: 36px; height: 36px}
#softMark::after { background: url(../images/medical/softtissue_sign.svg) no-repeat 0 0 / cover; width: 32px; height: 36px}
#orthopeMark::after { background: url(../images/medical/orthopedics_sign.svg) no-repeat 0 0 / cover; width: 36px; height: 36px}
#discipMark::after { background: url(../images/medical/discipline_sign.svg) no-repeat 0 0 / cover; width: 34px; height: 34px}
#dentalMark::after { background: url(../images/medical/dentistry_sign.svg) no-repeat 0 0 / cover; width: 40px; height: 33px}
#radioMark::after { background: url(../images/medical/radio_sign.svg) no-repeat 0 0 / cover; width: 36px; height: 36px}

@media (max-width: 799px) { .MDWrapp { width: 100%} }
@media (max-width: 540px) { #MDPageTit { padding-left: 100px} }
@media (max-width: 599px) {
  .MDMark { width: 64px; height: 64px} #MDPageTit { min-height: auto; padding: 4px 0 0 80px} .MDPTEn { margin-top: 10px}
  .MDMark::after { -webkit-transform: scale(.8) translate(-58%,-58%); transform: scale(.8) translate(-58%,-58%)} }

/* Medical Page Cotents */
.MDContWrapp01 { padding: 40px 5vw}
.MDContWrapp02 { padding: 40px 0 0 5vw}

.MDHead { margin-top: 70px}

@media (max-width: 480px) { .MDPad, .MDContWrapp02 { padding-left: 5vw; padding-right: 5vw} }

.MDPHInfo { line-height: 2}

.MDPHInfo .spFalser { display: none}

.MDPHINotice { font-size: 1.5rem; display: block}
.MDPHINotice::before { content: '*'; color: #f02e72; font-size: 2rem; margin-right: 3px; vertical-align: -7px}

.MDCST { color: #177e52; font-size: 2.2rem; letter-spacing: .06em; margin: 0}

#MDSymptomsST { font-size: 2.1rem}

@media (min-width: 800px) and (max-width: 838px) { #MDSymptomsST .spNBlock { margin: 8px 0 0 35px; display: block} }
@media (max-width: 560px) { #MDSymptomsST { font-size: 2rem}}
@media (max-width: 540px) { #MDSymptomsST .spNBlock { margin: 8px 0 0 26px; display: block}}
@media (max-width: 399px) { .spMDCST { font-size: 2.1rem; letter-spacing: .045em}}
@media (max-width: 375px) { .spMDCST { font-size: 2rem; letter-spacing: .035em}}

.MDCKind { font-size: 1.7rem; letter-spacing: .075em; margin: 40px 0 0}

.MDSTSign {
  margin-right: 7px; display: inline-block; overflow: visible;
  -webkit-transform: translateY(2px) scale(.93); transform: translateY(2px) scale(.93)}

.MDSPulmono { background: url(../images/medical/pulmono_ico.svg); width: 28px; height: 28px; margin: 0 10px -3px 0}
.MDSGastro { background: url(../images/medical/gastro_ico.svg); width: 20px; height: 28px; margin-bottom: -4px}
.MDSOpht { background: url(../images/medical/opht_ico.svg); width: 30px; height: 20px}
.MDurology { background: url(../images/medical/urology_ico.svg); width: 30px; height: 26px; margin-bottom: -4px}
.MDDermato { background: url(../images/medical/dermato_ico.svg); width: 30px; height: 21px}
.MDVaccinat { background: url(../images/medical/vaccinat_ico.svg); width: 30px; height: 30px; margin-bottom: -3px}
.MDAnesth { background: url(../images/medical/anesth_ico.svg); width: 22px; height: 30px; margin-bottom: -5px}
.MDSpayIco { background: url(../images/medical/spay_icon.svg); width: 28px; height: 30px; margin-bottom: -1px}
.MDNeuterIco { background: url(../images/medical/neuter_icon.svg); width: 28px; height: 30px; margin-bottom: -1px}
.MDSOncolo { background: url(../images/medical/oncology_ico.svg); width: 28px; height: 28px; margin-bottom: -4px}
.MDSSoft { background: url(../images/medical/softtissue_ico.svg); width: 26px; height: 30px; margin: 0 10px -5px 0}
.MDSOrthope { background: url(../images/medical/orthopedics_ico.svg); width: 28px; height: 28px; margin-bottom: -4px}
.MDSDiscip { background: url(../images/medical/discipline_ico.svg); width: 28px; height: 28px; margin: 0 9px -4px 0}
.MDSDental { background: url(../images/medical/dentistry_ico.svg); width: 30px; height: 25px; margin-bottom: -1px}
.MDSRadio { background: url(../images/medical/radio_ico.svg); width: 28px; height: 28px; margin: 0 12px -4px 0}

.medicalInfo { background: #fff; margin-top: 15px; padding: 5vw; border: 2px solid #f7ccb9; border-radius: 9px }

.medInfoCopy { font-size: 1.5rem; line-height: 1.8; letter-spacing: .06em; width: calc(100% - 60px); margin: 0}
.medInfoCopy br { display: none}

.medInfoIco { background: url(../images/medical/info_sign02.svg) no-repeat 0 0 / cover; width: 45px; height: 45px; margin-top: 6px; display: block}

.majorDiseases { margin-top: 35px}

.MDiseaseName, .MDListST, .MDMarked {
  font-size: 1.9rem; letter-spacing: .05em; margin: 0; padding-bottom: 12px; border-bottom: 1px solid #aeaeae; position: relative}
.MDiseaseName, .MDMarked { padding-left: 18px}
.MDListST, .MDMarked { margin-top: 35px}

.MDiseaseName rt { font-size: 8px; font-weight: 400; padding-bottom: 2px}

.MDLBorderlessST { font-size: 1.8rem; letter-spacing: .05em; margin: 35px 0 0}

.MDiseaseName::before, .MDMarked::before {
  content: ''; position: absolute; top: 4px; left: 0; background: #72c09e; width: 9px; height: 28px; display: block}

.safari.ios .MDiseaseName rt, .safari.mac .MDiseaseName rt { margin-bottom: -5px; padding: 0}
.safari.ios .MDiseaseName::before, .safari.mac .MDiseaseName::before { top: 4px}

.MDDetail { margin: 25px 0 0}

.MDDKind {
  color: #fff; background: #5e9980; font-size: 1.5rem; text-align: center; letter-spacing: .075em;
  width: 80px; height: 22px; margin: 0; padding: 6px 0 0; display: block}

.MDDExp, .MDListCopy, .MDWICopy, .MDWICopy02, .MDNoICopy, .MDLBlessCopy, .MDCLItem { font-size: 1.5rem; line-height: 2; letter-spacing: .075em}
.MDDExp { width: calc(100% - 120px); margin: 0}
.MDListCopy { margin: 25px 0 0 !important}
.MDLBlessCopy { margin: 15px 0 0}

@media (min-width: 800px) { .MDDetail { display: block} .MDDExp { width: 100%; margin-top: 8px} }
@media (max-width: 599px) { .MDDetail { display: block} .MDDExp { width: 100%; margin-top: 8px} }

@media (max-width: 480px) {
  .medicalInfo { margin-top: 15px; display: block} .medInfoIco { width: 40px; height: 40px; margin: 0 auto}
  .medInfoCopy { width: 100%; margin-top: 8px} }

.MDDNotice { color: #666; font-size: 1.5rem}
.MDDNotice::before { content: '*'; color: #f0337e; font-size: 2rem; margin-right: 4px; vertical-align: -7px}

.MDLTNum { color: #65a79e; font-size: 2.5rem; font-style: normal; letter-spacing: .02em; margin-right: 4px; vertical-align: -1px}

.MDwithImage { margin-top: 15px; display: block}
.MDWICopy { width: 100%; margin: 20px 0 0}
.MDWICopy02 { width: 100%; margin: 15px 0 0}
.MDWImage { width: 240px; margin: 15px auto 0; display: block} .MDWImage img { width: 100%; height: auto}
.MDNoICopy { margin-top: 20px}

@media (min-width: 680px) and (max-width: 799px) {
  .MDListST { margin-top: 30px} .MDWImage { width: 220px}
  .MDwithImage { display: flex; -webkit-justify-content: space-between; justify-content: space-between} }

.medICcaution { color: #855a2e}
.MDICBorder { line-height: 2.2; padding-bottom: 2px; display: inline; border-bottom: 1px solid #ee1e2e}

.MDCList { margin:  0; padding: 0 0 0 2em}
.MDCLItem{
  position: relative;
  padding-left: 1.2em;
}
.MDCLItem::before { content: '●'; color: #c0ae99; font-size: 12px; margin-right: 3px; vertical-align: 1px; position: absolute; left: 0; top: .2em}

.reventionSchedule { width: 100%; margin: 40px auto 0; overflow-x: auto}
.reventionSchedule img { width: auto; min-width: 750px; height: auto}

@media (min-width: 800px) { .reventionSchedule img { width: 100%; min-width: inherit}}

@media (max-width: 480px) { .reventionSchedule .spNBlock { margin-top: 10px; display: block} }

#vccMedInfo { margin-top: 40px;}

.MDDLList { letter-spacing: .06em; margin: 0; padding: 10px 0 0 20px}

.DLDT { font-size: 1.6rem; margin: 25px 0 0; padding: 0 0 0 18px; position: relative}
.DLDT::before { content: '■'; position: absolute; top: 1px; left: 0; color: #b29e82; font-size: 1.4rem; margin-right: 4px}

.DLDD { font-size: 1.5rem; line-height: 1.8; margin: 1em 0 0; padding-left: 16px}

.caseImage, .caseImage02 { background: #eee; max-width: 650px; margin: 25px auto 0; padding: 25px 30px 25px; position: relative}

.caseIMST { color: #666; font-size: 1.7rem; line-height: 1; letter-spacing: .05em; width: 100%; margin: 0 0 15px; display: block}

#tploCName { line-height: 1.4; margin-top: 10px; display: block}

.caseIM { width: 100%}
.caseImage img { width: 100%}

.icingCopy { width: calc(100% - 260px); margin: 0}
.icingIM { width: 230px}
#Dentistry .icingIM { width: 300px}

@media (max-width: 739px) { .icingIM { margin: 0 auto} .icingCopy { width: 100%; margin-top: 15px}}

@media (max-width: 500px) {
  .caseIM { overflow: auto} .caseImage, .caseImage02 { padding: 20px 15px 20px} .caseImage img, .caseImage02 img {min-width: 460px} }

.icingIM img { min-width: inherit}

.caseBefAft { font-size: 1.5rem; line-height: 1; letter-spacing: .05em; margin-top: 5px; display: block}

.caseImage::after {
  content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  background: #ccc; width: 38px; height: 46px; clip-path: polygon(0 0, 0% 100%, 100% 50%); margin-left: 3px; display: block}

.caseBAAfter { padding-top: 25px; display: block}

.DCLImage { justify-content: flex-start; margin: 30px 0 0 15px}
.DCLIM, .DCLIM03 { width: 40%; max-width: 270px; margin-right: 40px}
.DCLIM03 { width: calc(33.33% - 10px) !important; max-width: none !important; margin-right: 15px}
.DCLIM03:last-of-type { margin: 0}

.DCLIM img, .DCLIM03 img { width: 100%; height: auto}

.DCLDot { font-size: 1.3rem; letter-spacing: 0; margin-right: 1em}

/* Physician Introduction */
.physicianST, .supportSystemST { color: #0999a5; font-size: 2.2rem; letter-spacing: .04em; margin: 0}

.physicianIco { background: url(../images/medical/physician_icon.svg) no-repeat 0 0 / 25px auto;
  width: 25px; height: 31px; margin: 0 10px -6px 0; display: inline-block}

.physicianIntroduction, .advisorIntroduction { align-items: flex-start; width: 100%; margin-top: 30px; padding: 40px 0; position: relative; z-index: 1}

.physicianPhoto { width: 200px; -webkit-box-shadow: 1px -1px 0 0 rgba(0,0,0,.25); box-shadow: 1px -1px 0 0 rgba(0,0,0,.25)}

.physicianPhoto img { width: 100%; height: auto}

.doctorInCharge { width: calc(100% - 240px)}

.DICName { font-size: 1.8rem; letter-spacing: .1em; margin: 0}

.DICNEn { color: #7e7e7e; font-size: 1.3rem; font-style: normal; letter-spacing: .08em; margin-left: 15px}

.PIDetail { letter-spacing: .06em; margin: 25px 0 0; padding-right: 20px}

.PIDKind { font-size: 1.4rem; margin: 24px 0 0}
.PIDItem, .PIDItem02 { font-size: 1.3rem; line-height: 1.5; margin: 7px 0 0}
.PIDItem02 { margin-top: 9px}

.PIDISent { line-height: 1.8} .PIDISent02 { line-height: 1.6}

.PIDPeriod { width: 7.8em; display: inline-block}

.PIPBG { position: absolute; top: 0; right: 0; background: #f2f2f2; width: calc(100% - 125px); height: 100%; display: block; z-index: -1}

@media (max-width: 699px) {
  .physicianIntroduction, .advisorIntroduction { margin-top: 11vw; padding: 30px 0; display: block}
  .physicianPhoto { position: absolute; top: -5vw; left: 5vw; width: 33%} .doctorInCharge { width: calc(100% - 5vw); padding-left: 5vw}
  .DICName { position: absolute; /*top: 9.5vw;*/top: 8vw; left: calc(33% + 5vw); width:calc(66% - 5vw); text-align: center}
  .AIDSquare .DICName { top: 7vw} .PIDetail { padding-top: 22vw} .AIDSquare .PIDetail { padding-top: 16vw} .PIPBG { width: 100%}
  .DICNameW { top: 7.5vw} .DICName3 { top: 5vw} .SNP3 { display: block} }

@media (max-width: 450px) { .PIDPeriod { width: auto; display: block} }

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

@media (min-width: 800px) {
  .physicianIntroduction, .advisorIntroduction { margin-top: 10vw; padding: 30px 0; display: block}
  .physicianPhoto { position: absolute; top: -5vw; left: 5vw; width: 21vw} .doctorInCharge { width: calc(100% - 5vw); padding-left: 5vw}
  .DICName { position: absolute; top: 4.5vw; left: calc(21vw + 5vw); width:calc(66% - 5vw); text-align: center}
  .PIDetail { padding-top: 14vw} .PIPBG { width: 100%} .PIDItem br, .PIDItem02 br { display: none} }

/* Support System */
.supportSystemST { color: #cc527e; margin-top: 40px}

.supportSIco { background: url(../images/medical/support_ico.svg) no-repeat 0 0 / 26px auto;
  width: 26px; height: 25px; margin: 0 10px -4px 0; display: inline-block}

.supportSInfo { padding: 25px 0 0 0 !important}

.advisorName { color: #cc527d; font-size: 1.6rem; letter-spacing: 0; margin-bottom: 9px; display: block}

.advisorMemo { width: 100%; margin-top: 40px; display: block; position: relative}

.AMemoName {
  position: absolute; top: 0; left: 0; background: #999; color: #fff; font-size: 1.3rem;
  text-align: center; letter-spacing: .08em; text-indent: .04em; margin: 0; padding: 6px 12px 5px; display: inline-block}

.AMemoST { font-size: 1.8rem; letter-spacing: .06em; margin: 0; padding: 4px 0 0 80px}

@media (max-width: 799px) { .SNPSec { margin-top: 7px; display: block} }
@media (max-width: 680px) {
.advisorName, .DICNEn { margin: 0; display: block} .advisorName { margin-bottom: 9px} .DICNEn { font-size: 1.2rem; margin-top: 6px} }

@media (max-width: 599px) { .supportSInfo br { display: none} }
@media (max-width: 460px) { .AWNNBlock { margin: 7px 0 0 28px; display: block} }
@media (max-width: 410px) { .AMemoST { padding: 40px 0 0 0} }

@media (min-width: 800px) { .DICNEn { font-size: 1.2rem; margin: 7px 0 0; display: block} .SNP3 { margin-top: 1px; display: block} }

/* Anesthesia */
#anesthesiaRisks { width: 80%; height: 46%; margin: 30px auto 0}

.anesthRiskST { color: #855a2e; padding-bottom: 25px}

.surgeryTimeZone {
  background: #5e997e; color: #fff; font-size: 1.7rem; letter-spacing: .1em; text-indent: .05em;
  margin: 30px 0 -10px; padding: 6px 10px 7px; display: inline-block}

.surgeryFlow { margin: 0}

.SFlowProcess { font-size: 1.9rem; letter-spacing: .06em; margin: 30px 0 0}

.SFlowGuide { font-size: 1.5rem; letter-spacing: .06em; line-height: 2; margin: 20px 0 0}

@media (max-width: 540px) { #anesthesiaRisks { width: 100%; height: 50%; margin: 30px auto 0} #anesthWhyNeeds .spNFalse { display: none} }
@media (max-width: 500px) { #anesthHCopy .spNBlock { margin-top: 12px; display: block} }

/* Ophthalmology */
#Ophthalmology { padding-bottom: 0 !important}

/* Urology */
/* #Urology { padding-bottom: 0 !important;} */
#Urology .MDHead { margin-top: 60px}
#urologyHST { font-size: 2.2rem; line-height: 1.8}
#urologyHST .spNBlock { display: block}

@media (max-width: 429px) { #ourUroMed .spNFalse { padding: 7px 0 0 121px; display: block} }
@media (max-width: 410px) { #urologyHST { font-size: 2.1rem} }
@media (max-width: 389px) { #urologyHST { font-size: 2rem} }

/* Spay and Neuter Surgery */
#Spay, #Neuter { padding-bottom: 10px}

.spayMedInfo { margin-top: 30px}

#Spay .PTLPad40 { padding-left: 0 !important}
#Spay .PTTPad40 { padding-top: 30px !important}
#Spay .MG70 { margin-top: 40px !important}

.spayBenefitsCautions { padding: 40px 0 0}

.spayBenefitsCautions .st20 { font-size: 2rem}

.spayBCKind {  background: #5e997e; color: #fff; font-size: 1.6rem; text-align: center; width: 78px;
  margin: 25px 0 0; padding: 7px 0 8px; display: inline-block}

.spayBCList { margin: 20px 0 0; padding: 0}

.spayBeneItem, .spayCautItem, .spayPriceItem {
  font-size: 1.5rem; line-height: 1.75; letter-spacing: .06em; margin: 8px 0; padding-left: 26px; position: relative}
.spayPriceItem { padding: 0}

.spayPrice { color: #855a2e}

@media (max-width: 530px) { .spayPrice { margin: 3px 0 0 5.65em; display: block}}

.spayPNotice { color: #666; font-size: 1.4rem; line-height: 1.4; letter-spacing: .06em; margin: 0 0 5px; padding-left: 13px; position: relative}
.spayPNotice::before { content: '*'; position: absolute; top: 1px; left: 0; color: #f00049; font-size: 2rem}

.spayBeneItem::before {
  content: ''; position: absolute; top: 9px; left: 5px; width: 11px; height: 4px;
  border-left: 3px solid #22b373; border-bottom: 3px solid #22b373; -webkit-transform: rotate(-45deg); transform: rotate(-45deg)}

.spayCautItem::after {
  content: 'i'; position: absolute; top: -2px; left: 6px; color: #f03e00; font-size: 17px; font-weight: 800;
  -webkit-transform:scaleX(1.1); transform:scaleX(1.1); z-index: 2}

.spayCautItem::before {
  content: ''; position: absolute; top: 2px; left: -2px; background: #fff; width: 20px; height: 20px;
  border-radius: 50%; border: 1px solid #f03e00; z-index: 0}

#SFAnesthBT { line-height: 1.8}

#SFAnesthBT .TNLBB { padding: 9px 40px 10px 15px}
#SFAnesthBT .TNLSign { right: 15px}

/* Oncology */
#oncoloProgressed .spNBlock { margin-top: 10px; display: block}

@media (max-width: 540px) { #Oncology #MDSymptomsST .spNBlock { margin-left: 34px} }
@media (max-width: 429px) { #ourOMST .spNBlock { padding: 7px 0 0 121px; display: block} }
@media (max-width: 420px) { #oncoloProgressed { font-size: 1.7rem} }
@media (max-width: 409px) { #ourOncoloMed .spNBlock { margin: 8px 0 0 3.65em; display: block} }
@media (max-width: 399px) { #Oncology #MDPageTit { padding-top: 6px} #Oncology .MDPT { font-size: 2.8rem; letter-spacing: .045em} }
@media (max-width: 379px) {#oncoloProgressed { line-height: 1.5; max-width: 19em} #oncoloProgressed .spNBlock { margin-top: 0; display: inline} }
@media (max-width: 369px) {  #Oncology .MDPT { font-size: 2.7rem; letter-spacing: .03em} #Oncology #MDSymptomsST .spNBlock { margin-left: 24px} }
@media (max-width: 409px) { #Dentistry .spNBlock { margin: 8px 0 0 2.2em; display: block} }

/* Dermatology */
#dermatoHST .spBlock { margin-top: 12px; display: block}
.MDPHInfo .spFalse { display: none}

@media (min-width: 800px) { #dermatoSOST .spNBlock { margin: 9px 0 0 37px; display: block} }
@media (max-width: 679px) { #dermatoSOST .spNBlock { margin: 9px 0 0 37px; display: block} }
@media (max-width: 480px) { #dermatoHST { font-size: 2.2rem;}}
@media (max-width: 460px) {
  #dermatoSOST { max-width: 14.5em; line-height: 1.4; margin-bottom: -4px; padding-left: 37px} #dermatoSOST .spNBlock { margin: 0; display: inline}
  #dermatoSOST .MDDermato { margin-left: -37px; -webkit-transform: translateY(0px) scale(.93); transform: translateY(0px) scale(.93)} }
@media (max-width: 430px) { #dermatoHST { line-height: 1.6} #dermatoHST .spBlock { margin: 0; display: inline}}
@media (max-width: 370px) { #dermatoHST { font-size: 2.1rem} }

/* Orthopedics */
@media (max-width: 839px) { #orthopeSignST .spNBlock { margin: 8px 0 0 4.75em; display: block} }
@media (max-width: 439px) { #orthopeSignST { font-size: 2.1rem} #orthopeSignST .spNBlock { margin: 7px 0 0 3.76em} }
@media (max-width: 369px) { #orthopeSignST .spNBlock { margin-left: 2.7em} }
@media (max-width: 500px) {
  .caseImage { line-height: 1; display: block}
  .caseImage::after { margin: 17.5px 0 0; clip-path: polygon(50% 75%, 0 0, 100% 0)} }
@media (max-width: 580px) { #orthopQOL .spBlock { margin: 8px 0 0 34px; display: block} }
@media (max-width: 390px) { #orthopePTEN { font-size: 1.5rem; letter-spacing: .06em} }
@media (max-width: 380px) {
  #ourOrthopMed .spNBlock { margin: 5px 0 0 5.77em; display: block}
  #orthopQOL { font-size: 2.1rem; letter-spacing: .05em} #orthopePTEN .onChar16, #orthopePTEN .onChar20 { width: 5px} }

@media (min-width: 800px) { #orthopQOL .spBlock { margin: 8px 0 0 34px; display: block} }

/* SoftTissue */
@media (max-width: 499px) { #ourSoftTMed .spBlock { margin: 8px 0 0 5.9em; display: block} }
@media (max-width: 419px) { #softTCorrespondDiseases .spNBlock { margin: 5px 0 0 10.1em; display: block} #ourSoftTMed .spBlock { margin-left: 4.8em} }
@media (max-width: 379px) { #softTCorrespondDiseases .spNBlock { margin-left: 9.07em} #SoftTPartnership .spNBlock { margin: 5px 0 0 5.87em; display: block} #ourSoftTMed .spBlock { margin-left: 3.75em} }

/* Radiology */
.detectableCasesST { font-size: 1.8rem; letter-spacing: .05em; margin: 30px 0 0; padding: 0 0 8px 15px; position: relative}
.detectableCasesST::before {
  content: ''; position: absolute; top: 4px; left: 0; background: #72c09e; width: 8px; height: 13px; display: block}

.detectableCasesList { margin: 0; padding: 0 0 0 14px}

.DCLItem { font-size: 1.5rem; line-height: 1.8; letter-spacing: .05em; margin: 12px 0 0; padding-left: 15px}
.DCLItem::before { content: '●'; color: #b29977; font-size: 1rem; margin-right: 5px; margin-left: -14px; vertical-align: 12%}

/* Discipline */
@media (max-width: 540px) { #Discipline .spNBlock { margin: 8px 0 0 37px;display: block} }

/* Medical Page Side Bar */
.MDSideBar { width: 200px}

.MDSFixed { position: sticky; top: 0}
.fixed .MDSFixed { padding-top: 90px}

.MDSCat { background: #e0f0ee; font-size: 1.5rem; letter-spacing: .075em; margin: 0; padding: 12px}
.MDSCat:nth-of-type(2), .MDSCat:nth-of-type(3) { margin-top: 50px}

.MDSList { margin: 10px 0 0; padding: 0}

.MDSItem { font-size: 1.5rem; letter-spacing: .05em; margin: 0}

.MDSLink {
  color: #444; text-decoration: none; padding: 12px 0 12px 12px; border-bottom: 1px solid #ddd; display: block;
  position: relative; overflow: hidden; cursor: pointer}

.MDSLink::before {
  content: ''; position: absolute; top: 0; left: auto; right: 0;
  background: #f2faff; width: 0; height: 100%; display: block; z-index: -1}

@media (max-width: 799px) {
  .MDSideBar { width: calc(100% - 5vw); padding-left: 5vw} .spPad { margin-top: 50px}
  .MDSCat, .MDSLink { padding: 12px 20px} .MDSLSign { right: 20px} .fixed .MDSFixed { margin-top: -10px; padding: 0 0 50px}
  .MDSList { margin: 0} .MDSCat:nth-of-type(2), .MDSCat:nth-of-type(3) { margin-top: 30px} }

@media (max-width: 480px) { .MDSideBar { padding: 0 5vw} }
@media (min-width: 800px) { .MDSideBar { padding-bottom: 55px} }

/* -------------------------------------------
  SYMPTOM
------------------------------------------- */
#symptomHeadCopy {
  font-size: 1.6rem; line-height: 2.2; letter-spacing: .06em; margin: 60px 0 0}

.symptomHCNotice { margin-top: 12px; display: block}

/* Symptom Navi */
#symptomNav { padding: 0 !important}

.symNavList { margin: 0; padding: 0}

.symNavItem { flex-grow: 1; font-size: 1.5rem; text-align: center; letter-spacing: .05em; width: auto; margin: 4px 2px 0}

.symNavLink {
  color: #444; text-decoration: none; padding: 12px 20px 18px; display: block;
  position: relative; z-index: 1; cursor: pointer; overflow: hidden}
.symNavLink:hover { color: #fff}

.symNavLink::before, .symNavLink::after { content: ''; position: absolute; top: 0; height: 100%; display: block}
.symNavLink::before { left: auto; right: 0; width: 100%; background: #eae5d9; z-index: -2}
.symNavLink::after { left: 0; right: auto; width: 0; background: #52c0c9; z-index: -1}

.SNLSign {
  position: absolute; bottom: 7px; left: 50%; background: #b29977; width: 8px; height: 6px; margin-left: -4px;
  clip-path: polygon(0 0, 50% 100%, 100% 0); display: block}
.symNavLink:hover .SNLSign { background: #fff962; bottom: 5px}

.symNavLink:hover::after { width: 100%}

.symNavItem:first-of-type .symNavLink { border-radius: 5px 0 0 5px}
.symNavItem:last-of-type .symNavLink { border-radius: 0 5px 5px 0}

/* Symptom List */
#symptomList { padding: 10px 5vw 50px}

.symptomItem { margin-top: 40px; overflow: auto;}

.SIScroll { min-width: 680px;}

.symptomkind { color: #005e7e; background: #dee; font-size: 1.8rem; letter-spacing: .1em; margin: 0; padding: 10px 20px}

.symptomDetail { align-items: stretch; margin: 5px 0 0}

.symDT, .symDD, .PDDT, .PDDD { font-size: 1.6rem; line-height: 1.6; letter-spacing: .06em; margin: 0 0 5px; padding: 15px 20px; display: block}
.symDT, .PDDT { color: #4e4e4e; width: calc(30% - 40px)}
.symDD, .PDDD { display: flex; align-items: center; width: calc(100% - 30% - 45px)}
.symDT { background: #f0f0f0}
.symDD { background: #f9f0e8}

.DDUrgent { color: #d25e00; font-size: 1.7rem; font-weight: 600}

.DDNotice { color: #855939; font-size: 1.5rem; font-weight: 500; width: 100%; display: block}
.DDNotice::before { content: "*"; color: #e53e66; font-size: 1.7rem; vertical-align: -17%; margin-right: 3px}

.possibleDiseases { align-items: stretch; margin: 0}

.PDDT, .PDDD { padding: 10px 20px 15px}
.PDDT { padding-right: 15px; border-left: 1px solid #c7d2d5; border-bottom: 2px solid #c7d2d5}
.PDDD { line-height: 1.8; border-left: 1px solid #f0d2b9; border-bottom: 2px solid #f0d2b9}

@media (max-width: 480px) { #symptomList { padding: 10px 5px 50px}}

/* -------------------------------------------
  Access
------------------------------------------- */
#ACCHeadCopy { line-height: 2.2}

.accessMapWrapp { width: calc(100% - 4px); margin-top: 50px; padding: 1px; border: 1px solid #bbb}

#AccMap { width: calc(100% - 2px); height: 516px; border: 1px solid #fff}

.AMapInfo { align-items: center; padding: 30px 0}

.AMAddress { margin: 0; padding-left: 20px; position: relative}

.AMAddress::before {
  content: ''; position: absolute; top: 5px; left: 0;
  background: url(../images/access/pin.svg) no-repeat 0 0 / cover; width: 13px; height: 19px; display: block}

.AMapBT { letter-spacing: .1em; margin: 0}

@media (max-width: 379px) { #accInformation { font-size: 1.7rem;} }
@media (max-width: 560px) { .AMapInfo { padding: 20px 0 50px} .AMAddress { width: calc(100% - 20px)} .AMapBT { margin-top: 10px;} }

/* By The Car */
.accTransportation { padding-bottom: 50px}

.accTransportST { padding-top: 50px; border-top: 2px solid #ddd}

.BCarInfo { line-height: 2.2; margin: 30px 0 0}

.BCarMap { width: calc(50% - 30px)}

.BCMName { font-size: 1.8rem; letter-spacing: .1em; margin: 0}

.BCMAdd { line-height: 1; margin: 12px 0 0}

.BCGMWrapp { width: calc(100% - 4px); margin-top: 30px; padding: 1px; border: 1px solid #bbb}

.BCGMap { width: calc(100% - 2px); height: 396px; border: 1px solid #fff}

@media (max-width: 767px) {
  .BCarMap { width: 100%} .BCarMap:last-of-type { margin-top: 35px}
  .BCGMWrapp { margin-top: 24px} .BCGMap { height: 356px} }

/* Access Opening Hour */
#accOHour { padding: 40px 5vw 45px}

#accOHST { color: #f96600; font-size: 3.8rem; letter-spacing: .04em; margin: 0}
.AOHSEN { color: #444; font-size: 1.8rem; font-style: normal; margin-top: 12px; display: block}

.AOHCal { align-items: center; max-width: 560px; margin: 0 auto; padding: 10px 0 0}

#AOHCalender { width: 100%}

.AOHCInfo { margin-top: 12px}

.AOHCNotice { font-size: 1.4rem; line-height: 2; letter-spacing: .075em; margin: 0}

#AOHCBT { letter-spacing: .075em; font-size: 1.5rem; margin: 5px 0 0; z-index: 1; position: relative}

#AOHCBT .TNLBB { padding: 15px 65px 15px 30px}

/* -------------------------------------------
  Column
------------------------------------------- */
/* Column List */
#columnEN .onChar12 { width: 8px}

#columnHeadCopy { font-size: 1.8rem; line-height: 2; letter-spacing: .06em; margin: 50px 0 0}

.columnWrapp, .columnListHead, .columnPostHead { margin: 0 auto; padding: 50px 5vw; position: relative}
.columnListHead { padding: 0 5vw 40px}
.columnPostHead { padding: 10px 5vw}

.articleList { width: 100%}

.ALLink {
  text-decoration: none; margin-top: 30px; display: block;
  position: relative; z-index: 1; cursor: pointer; overflow: hidden}
.ALLink:first-of-type { margin: 0}

.ALLink::before, .ALLink::after {
  content: ''; position: absolute; top: 0; left: 0; height: 100%}
.ALLink::before { background: #fff; width: 100%; z-index: -2}
.ALLink::after { left: auto; right: 0; background: #a9e7ea; width: 0; z-index: -1}
.ALLink:hover::after { left: 0; right: auto; width: 100%}

.ALItem { align-items: center; padding: 20px; position: relative}

.ALThumb, .noImage { width: 33%; margin: 0; opacity: 1; overflow: hidden}
.ALThumb img, .noImage { min-height: 170px; object-fit: cover}
.noImage { background: #c0d9a2; position: relative; z-index: 1}
.noImage::after {
 content: ''; position: absolute; top: 50%; left: 50%;
 background: url(../images/column/image_ico.svg) no-repeat 0 0 / 60px;
 width: 60px; height: 60px; margin: -30px 0 0 -30px; display: block; z-index: 2}

.ALLink:hover .ALThumb { opacity: .7; -webkit-transform: translateY(-2px); transform: translateY(-2px)}
.ALLink:hover .ALThumb img { -webkit-transform: scale(1.06); transform: scale(1.06)}

.ALData { width: calc(100% - 40%); height: 170px; padding-right: 10px}

.ALTitle { color: #444; font-size: 1.8rem; line-height: 1.5; letter-spacing: .05em; min-height: 3em; margin: 0; padding-top: 10px;}
.ALCopy {
  color: #555; font-size: 1.4rem; line-height: 1.8; display: -webkit-box;
  -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; margin: 10px 0 0; overflow: hidden}

.ALTime { color: #777; font-size: 1.5rem; letter-spacing: .1em; margin-top: 10px; display: block}

.ALSign {
  position: absolute; bottom: 25px; right: 30px;
  background: #b5b5b5; width: 24px; height: 24px; border-radius: 50%; display: block}
.ALLink:hover .ALSign { background: #00a9b2; width: 28px; height: 28px; margin: -2px -2px 0 0}

.ALSign::before, .ALSign::after { content: ''; position: absolute; background: #fff; height: 2px}
.ALSign::before { top: 50%; left: 6px; width: 12px; margin-top: -1px}
.ALSign::after { top: 9px; right: 7px; width: 3px; -webkit-transform: rotate(45deg); transform: rotate(45deg)}
.ALLink:hover .ALSign::before { left: 8px}
.ALLink:hover .ALSign::after { top: 11px; right: 9px}

@media (max-width: 540px) {
  #columnHeadCopy { font-size: 1.7rem} .ALItem { align-items: inherit; display: block}
  .ALTitle { min-height: inherit} .ALData { width: 100%; height: auto; padding: 0} .ALThumb, .noImage { width: auto; margin: 0 auto}
  .ALThumb img, .noImage { max-height: 200px} .noImage { min-height: 200px} .ALSign { right: 20px; bottom: 15px} }

@media (max-width: 390px) { .columnWrapp, .ALItem { padding-left: 4vw; padding-right: 4vw} }

/* Column List Page */
.CLHTitle { order: 2; font-size: 3rem; letter-spacing: .05em; margin: 25px 0 0}

.CLHKind { color: #f96600; font-size: 1.5rem; font-style: normal; letter-spacing: .06em; margin-bottom: 8px; display: block}

.CLHTSub { font-size: 2.2rem; margin-left: 2px; vertical-align: -.075em}

.CLHColumn { order: 1; width: 100%; margin: 20px 0 0; position: relative}

.CLHCST { font-size: 2rem; letter-spacing: .05em}
.CLHCEN { display: none}

/* Column Alticle Page */
.CPHST { font-size: 2.4rem; letter-spacing: .06em; margin: 25px 0 0; padding-bottom: 10px; display: inline-block}

.CPHEN { color: #f96600; font-size: 1.6rem; text-align: center; text-indent: -2px; margin: 10px 0 0; display: block}

#spColumnIndW { margin-top: 30px; padding: 5vw}

.columnAlticle { background: #fff; max-width: calc(840px - 10vw); margin: 0 auto; padding: 5vw}

.columnTitle { color: #444; font-size: 2.2rem; letter-spacing: .05em; line-height: 1.3; margin: 0; position: relative}

.columnMeta { display: flex; flex-flow: column; justify-content: flex-start}

.columnTime, .columnCat { color: #888; font-size: 1.4rem; letter-spacing: .1em; margin: 20px 0 0; display: block}
.columnCat { letter-spacing: .06em; line-height: 1.5; margin-top: 7px}

.colCatLink {
  color: #333; text-decoration: none; margin-left: .5em; padding-bottom: 4px; border-bottom: 1px solid #7eaebb;
  display: inline-block; position: relative}
.colCatLink:hover { color: #39b; border-bottom: 1px solid #e57e2e}

.CHKeyList { justify-content: flex-start; margin: 0; padding: 15px 0 0}

.CHKeyList .keyItem { margin: 0 15px 0 0}

/* CMS Article Body */
#columnBody { margin: 30px auto 0; padding-top: 15px; border-top: 1px solid #ccc}

.newsBody p, .newsBody li { font-size: 1.6rem; line-height: 2.2; letter-spacing: .06em; margin: 1.25em 0 0}
.newsBody h2, .newsBody h3, .newsBody h4, .newsBody h5 { color: #494949; line-height: 1.8; letter-spacing: .075em; margin: 2em 0 0}
.newsBody h2 { font-size: 2.1rem; padding-bottom: 5px; border-bottom: 2px solid #ddd; display: inline-block}
.newsBody h3 { font-size: 1.9rem}
.newsBody h4 { font-size: 1.7rem; margin-bottom: 1.1em}
.newsBody h5 { font-size: 1.6rem; margin-bottom: 1.1em}
.newsBody ul { margin: 0; padding: 10px 0 0 3.8em}
.newsBody li { margin: 0; list-style-type: circle}
.newsBody ol li { list-style-type: decimal }
.newsBody hr { margin: 3em 0; border-top: 1px solid #ccc }

.newsBody figure{ margin: 1.25em 0 0 }
.newsBody img { width: 100% !important; height: auto !important; margin: 0 auto; display: block}
.newsBody a img { text-decoration: none; border: none; outline: none}
.newsBody .wp-block-buttons{
  font-size: 1.6rem; line-height: 2.2; letter-spacing: .06em; margin: 1.25em 0 0;
}
.newsBody .wp-block-buttons a{ font-size: 1.6rem; line-height: 2.2; letter-spacing: .06em }

@media (max-width: 640px) { #columnBody p, #columnBody li { font-size: 1.5rem}}

/* Column Side Bar */
.columnSideBar { background: #fff; margin-top: 30px; padding: 30px; position: relative}

.spCatWrapp { width: 50%}
.spKeyWrapp { width: 42%}

.CSBST { color: #555; font-size: 1.6rem; letter-spacing: .06em; margin: 0}
#spKeyST { margin: 0 !important}

.CSNList { margin: 20px 0 0; padding: 0}

.CSNItem, .keyItem { font-size: 1.5rem; line-height: 1.5; letter-spacing: .06em}

.CSNLink, .keyLink { color: #444; text-decoration: none; display: block; position: relative; z-index: 1; cursor: pointer; overflow: hidden}
.CSNLink { padding: 12px 10px 10px 10px; border-bottom: 1px solid #bbb}
.CSNLink:hover { padding-left: 15px}

.CSKeyList { justify-content: flex-start; margin: 5px 0 0; padding: 0}

.keyItem { margin: 15px 7px; display: inline-block}

.keyLink { background: #e2e2e2; padding: 5px 12px; border-radius: 15px}
.keyLink:hover { -webkit-transform: translate(1px,-1px); transform: translate(1px,-1px)}

.CSNLink::after, .keyLink::before, .keyLink::after {
  content: ''; position: absolute; top: 0; left: auto; right: 0; width: 0; height: 100%; display: block}
.keyLink::before { width: 100%; z-index: -2}

.CSNLink::after, .keyLink::after { background: #cbeff1; z-index: -1}
.keyLink::after{ width: 100%; transform: scale(0)}

.CSNLink:hover::after { left: 0; right: auto; width: 100%}

.keyLink:hover::after { -webkit-transform: scale(1); transform: scale(1)}

@media (max-width: 640px) { .spCatWrapp { width: 50%} .spKeyWrapp { width: 45%} }
@media (max-width: 560px) {
  .spCatWrapp, .spKeyWrapp { width: 100%} .spKeyWrapp { margin-top: 35px}
  .CSNList { margin-top: 10px} .CSKeyList { margin-top: 15px;} .keyItem { margin: 9px 7px} }

/* CMS List Navigation */
#paginationList { text-align: center; margin: 0 auto; padding: 0 7px 40px 0}

#paginationList li { font-size: 1.6rem; margin: 7px 0 0 7px; display: inline-block}

.link_page:not(.link_before):not(.link_next), .current_page { width: 40px; height: 40px; margin-top: 5px; display: block; position: relative; z-index: 1}

.link_page:not(.link_before):not(.link_next):before, .link_page:not(.link_before):not(.link_next):after, .current_page:before {
  content: ''; position: absolute; top: -11px; left: 0; width: 40px; height: 40px;
  -webkit-border-radius: 50%; border-radius: 50%}

#paginationList .link_page:not(.current_page):before { background: #399eb5; z-index: -2}
#paginationList .current_page:before { background: #b5b5b5; z-index: -1}

#paginationList .link_page:not(.current_page):after {
  background: #00c2cc; -webkit-transform: scale(0); transform: scale(0); z-index: -1}

#paginationList .link_page:not(.current_page):hover:before { opacity: 0}
#paginationList .link_page:not(.current_page):hover:after { -webkit-transform: scale(1); transform: scale(1)}

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

.current_page { color: #f9f9f9; }

#paginationList .link_before, #paginationList .link_next {
  color: #4799d5; font-size: 2.2rem; padding: 0 2px; vertical-align: -.15em; display: inline-block}
#paginationList .link_before:not(.link_next):hover, #paginationList .link_next:not(.link_next):hover { color: #00c2cc}
#paginationList .link_before.disabled, #paginationList .link_next.disabled, #paginationList .dots {
  color: #b5b5b5;
}


/* Individual Pagination */
#newsIndNavi, #blogIndNavi { margin: 0 auto; padding: 0 0 2px; position: relative}

.win .indPageNavi { font-weight: 500}

.indPageNavi a, .indPageNavi li > span {
 color: #555; font-size: 1.5rem; text-align: center; letter-spacing: .1em; text-decoration: none;
 padding: 33px 0 32px; display: block; position: relative; z-index: 1}
.win.firefox .indPageNavi a, .win.firefox .indPageNavi li > span { padding: 51px 0 54px}
.indPageNavi li > span.disabled{
  opacity: .5;
}

#newsIndNavi.indPageNavi a:hover, #blogIndNavi.indPageNavi a:hover { color: #fff; text-shadow: none}

.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%}
.returnList .spFalse { margin-right: 10px}

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

#newsIndNavi .previousEntry a:before, #newsIndNavi .nextEntry a:before,
#newsIndNavi .previousEntry > span:before, #newsIndNavi .nextEntry > span:before { background: #e0e0e0}
#newsIndNavi .returnList a:before { background: #d2d2d2}

#blogIndNavi .previousEntry a:before, #blogIndNavi .nextEntry a:before,
#blogIndNavi .previousEntry > span:before, #blogIndNavi .nextEntry > span:before { background: #f2f0de}
#blogIndNavi .returnList a:before { background: #e2e2d5}

.previousEntry a:after, .returnList a:after, .nextEntry a:after,
.previousEntry > span:after, .nextEntry > span:after {
 background: #66b5c0; -webkit-transform: scaleX(0); transform: scaleX(0)}
.returnList a:after { background: #888}

#blogIndNavi .previousEntry a:after, #blogIndNavi .nextEntry a:after,
#blogIndNavi .previousEntry > span:after, #blogIndNavi .nextEntry > span:after { background: #b9b29e}
#blogIndNavi .returnList a:after { background: #999582}

.previousEntry a:after { -webkit-transform-origin: top right; transform-origin: top right}
.returnList a:after { -webkit-transform-origin: 50%; transform-origin: 50%}
.nextEntry a:after, .nextEntry > span:after { -webkit-transform-origin: top left; transform-origin: top left}

.previousEntry a:hover:after, .returnList a:hover:after, .nextEntry a:hover:after {
 -webkit-transform: scaleX(1); transform: scaleX(1)}

/* Pagination Link Sign */
.RLSign, .PESign, .NESign { position: absolute; top: 50%; background: #444; height: 1px; transition: inherit; pointer-events: none}

.RLSign { top: inherit; bottom: 12px; left: calc(50% - 20px); background: #555; width: 50px}
.PESign { top: calc(50% + 1px); left: 20%; background: #555; width: 30px}
.NESign { top: calc(50% + 1px); right: 20%; background: #555; width: 30px}

.PLSign:before, .NESign:before {
  content: ''; position: absolute; right: 0; bottom: 0; transition: inherit;
  border-top: 2px solid transparent; border-right: 5px solid transparent;
  border-left: 3px solid #555; border-bottom: 4px solid #555}

.PESign:before, .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 #555; border-bottom: 4px solid #555}
.NESign:before { border-left: 3px solid #555; border-bottom: 4px solid #555}

.returnList a .RLSign:before {
  content: ''; position: absolute; bottom: 10px; left: 22px; transition: inherit; border-top: 1px solid transparent;
  border-left: 6px solid transparent; border-right: 3px solid #555; border-bottom: 4px solid #555}
.returnList a .RLSign:after {
  content: ''; position: absolute; bottom: 0;right: 0; width: 18px; height: 10px;
  border-top: 1px solid #555; border-right: 1px solid #555; transition: inherit; }

@media (max-width: 699px) { .PESign { left: 10%} .NESign { right: 10%} }

@media (max-width: 560px) { .indPageNavi a, .indPageNavi li > span { font-size: 1.4rem; letter-spacing: .06em}}
@media (max-width: 480px) {
  .indPageNavi a, .indPageNavi li > span { padding: 20px 0 32px} .returnList .spFalse { display: none}
  .PESign, .NESign { top: inherit; bottom: 18px; left: 50%; background: #555; width: 26px; margin-left: -12px}
  .RLSign { left: calc(50% - 15px); bottom: 12px; width: 30px} .returnList a .RLSign:after { width: 12px; height: 8px}
  .returnList a .RLSign:before { left: 12px; bottom: 8px} }


/* -------------------------------------------
  News
------------------------------------------- */
/* News List */
#newsHeadCopy { font-size: 1.6rem; letter-spacing: .06em; line-height: 1.8; margin: 60px 0 0}

.newsList { margin: 0 auto; padding: 50px 5vw 20px}

.NLLink {
  text-decoration: none; padding: 20px; border-top: 2px solid #ccc;
  display: block; position: relative; z-index: 1; cursor: pointer; overflow: hidden}
.NLLink:last-of-type { border-bottom: 2px solid #ccc}

.NLLink::after {
  content: ''; position: absolute; top: 0; left: auto; right: 0; background: #a9e7ea; width: 0; height: 100%; display: block; z-index: -1}
.NLLink:hover::after { left: 0; right: auto; width: 100%}

.NLItem { -webkit-justify-content: flex-start; justify-content: flex-start; align-items: center}

.NLImage { width: 200px}

.NLTitle {
  color: #333; font-size: 1.6rem; text-shadow: 1px 1px 0 rgba(255,255,255,.5);
  line-height: 1.8; letter-spacing: .06em; width: calc(100% - 250px); margin: 0; padding: 15px 0 15px 35px}
.NLTime { color: #7e7e7e; font-size: 1.5rem; letter-spacing: .1em; margin-top: 30px; display: block}
.NLLink:hover .NLTitle { -webkit-transform: translateX(5px); transform: translateX(5px)}

.NLImage img, .NLNoImage { height: 145px; object-fit: cover}
.NLNoImage { background: #ccc; position: relative; z-index: 1}
.NLNoImage::after {
 content: ''; position: absolute; top: 50%; left: 50%;
 background: url(../images/column/image_ico.svg) no-repeat 0 0 / 60px;
 width: 60px; height: 60px; margin: -30px 0 0 -30px; display: block; z-index: 2}
 .NLLink:hover .NLNoImage { background-color: #a7ccb2}

 .NLLink:hover img, .NLLink:hover .NLNoImage::after { -webkit-transform: scale(1.05); transform: scale(1.05)}

 @media (max-width: 640px) {
  .NLLink { padding: 20px 0} .NLImage { width: 220px; margin: 0 auto} .NLImage img, .NLNoImage { height: 154px}
  .NLTitle { width: 100%; padding: 15px 10px 0} .NLTime { margin-top: 5px} .NLSign { top: inherit; bottom: 30px} }

 @media (max-width: 559px) {  #newsHeadCopy .spNBlock { display: block} }


/* News Post */
#newsPost { max-width: calc(860px - 10vw); margin: 0 auto; padding: 50px 5vw}

.newsTitle { font-size: 2rem; line-height: 1.6; letter-spacing: .05em; margin: 0; padding-bottom: 15px; border-bottom: 1px solid #bbb}

.newsTime { color: #777; font-size: 1.4rem; letter-spacing: .08em; margin-top: 12px; display: block}

#NPBody { padding-top: 30px}

#NPBody img { max-width: 900px; margin: 0 auto; padding: 10px 0}


/* -------------------------------------------
  Forvets
------------------------------------------- */
.BGGray#forvetsAbout .innerWrapp + .innerWrapp{
  border-top: 3px solid #FFF;
}
.FVCopy{
  margin: 0;
}
.FVTit{
  font-size: 1.7rem;
  font-weight: 700;
  margin: 0;
}
.FVPMark{
  display: flex;
}
.FVPMark .FVPMarkTxt{
  flex: 1
}
.FVBT{
  margin: 0;
}
.FVBT.flexC{
  justify-content: flex-start;
  gap: 18px 25px;
}
.LBLabel{
  border-radius: 3px;
  background: #FFF;
  color: #17798e;
  font-size: 1em;
  font-weight: 700;
  line-height: 1;
  padding: .3em .45em .35em;
  margin: 0 0 0 18px;
}
.AUList{
  gap: 23px 55px;
  margin-inline: auto;
  max-width: 300px;
  width: 80%;
}
.AUItem{
  background-color: #FFF;
  flex-direction: column-reverse;
  width: 100%;
}
.AUItemText{
  display: flex;
  flex-direction: column;
  padding: 24px 28px 30px;
}
.AUTit{
  font-size: 1.6rem;
  margin: 0 0 20px;
}
.AUTxt{
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 5px;
}
.AUEn{
  color: #f96600;
  font-size: 1.4rem;
  font-weight: 700;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  margin: 0;
}
.AUItemText .FVBT{
  margin: 35px 0 0;
}
.AUItemText .FVBT .LBB01{
  padding: 17px 45px 17px 15px;
  width: calc(100% - 45px - 15px);
}
.AUItemText .FVBT .LBB01 .LSign01{
  right: 15px;
}
.AUItemIM{
  overflow: hidden;
  width: 100%;
}
.AUItemIM img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  display: block;
}
#forvetsLetters{
  padding-bottom: 0;
}
.formWrapp{
  background-color: #FFF;
  border-radius: 6px;
  padding: 25px 15px 60px;
  margin-top: 35px;
}
#forvetsLetters .DBB01{
  width: calc(100% - 50px - 30px);
}

/* -------------------------------------------
  Tab
------------------------------------------- */
.tabBtns{
  gap: 0 12px;
  padding: 0;
  margin: 0;
}
.tabBtn{
  cursor: pointer;
  flex: 1;
  padding: 6px;
}
.tabBtnInner{
  background-color: #b3b3b3;
  color: #FFF;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
  padding: 12px 10px;
  text-align: center;
  transition: opacity .3s;
}
.tabBtn:hover .tabBtnInner{
  opacity: .8;
}
.is-active .tabBtnInner{
  background-color: #16798e;
}
.tabBtnG.is-active .tabBtnInner{
  background-color: #4ab05b;
}
.tabBtnB.is-active .tabBtnInner{
  background-color: #009dd9;
}
.tabContentsWrapp{
  padding: 30px 5vw 60px;
  margin-inline: -5vw;
}
.tabContents:not(.is-active){
  display: none;
}


/* -------------------------------------------
  Form
------------------------------------------- */
.formItem{
  display: block;
  margin-top: 15px;
}
.formItem p:not([class]){
  margin: 0;
}
.wpcf7-form-control-wrap + .wpcf7-form-control-wrap > input{
  margin-top: 8px;
}
.formLb{
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  margin: 0 0 5px;
}
.formItem:has(.wpcf7-list-item) .formLb{
  margin-bottom: 0;
}
.FormMR{
  background-color: #f96600;
  border-radius: 2px;
  color: #FFF;
  display: inline-block;
  font-size: .7em;
  font-weight: 700;
  margin: 0 0 .1em .5em;
  padding: .1em .5em;
  vertical-align: text-bottom;
}
/* form input */
.wpcf7 input:not(.wpcf7-submit), .wpcf7 select, .wpcf7 textarea{
  background-color: #FFF;
  border: 1px solid #b3b3b3;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.5rem;
  padding: 17px 15px;
}
.wpcf7 textarea{
  height: 192px;
}
.wpcf7 input:not(.wpcf7-submit).wpcf7-not-valid, .wpcf7 select.wpcf7-not-valid, .wpcf7 textarea.wpcf7-not-valid{
  border-color: #ee4853;
}
.wpcf7 select{
  -webkit-appearance: none;
  appearance: none;
  background: url(../images/recruit/ico_arrowBorder_down.svg) right 7px center / 9px auto no-repeat;
  padding: 16px 25px 16px 15px;
}
.inputFull{
  width: 100%;
}
.formSub{
  font-size: 1.5rem;
  margin: 0 5px;
}
.inputMgt{
  margin-top: 8px;
}
/* radio, checkboz */
.wpcf7-list-item{
  margin: 8px 35px 0 0;
}
.spFormList1col .wpcf7-list-item{
  display: block;
  margin: 8px 0 0;
}
.wpcf7-list-item label{
  display: inline-block;
  font-size: 1.5rem;
  line-height: 1.5;
  box-sizing: border-box;
  position: relative;
  cursor: pointer;
  padding-left: 28px;
}
.wpcf7 label:has(input[type=radio]:disabled),
.wpcf7 label:has(input[type=checkbox]:disabled){
  opacity: 0.4;
}
.wpcf7 input[type=radio],
.wpcf7 input[type=checkbox]{
  appearance: none;
  background: #FFFFFF;
  border: 1px solid #4d4d4d;
  border-radius: 4px;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
  box-shadow: 0 0 0 0 transparent;
  position: absolute;
  transform: translateY(-50%);
  top: 54%;
  left: 0;
}
.wpcf7 .radioAny input[type=checkbox],
.wpcf7 input[type=radio]{
  border-radius: 50%;
}
.wpcf7-not-valid input[type=radio],
.wpcf7-not-valid input[type=checkbox]{
  border-color: #ee4853;
}
.wpcf7 input[type=radio]::before,
.wpcf7 input[type=checkbox]::before{
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  opacity: 0;
}
.wpcf7 .radioAny input[type=checkbox]::before,
.wpcf7 input[type=radio]::before{
  background: #0075ff;
  border-radius: 50%;
  height: 60%;
  width: 60%;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
.wpcf7 .wpcf7-checkbox:not(.radioAny) input[type=checkbox]::before {
  width: 100%;
  height: 100%;
  mask-image: url("../images/common/icon_check.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  background-color: #FFFFFF;
}
.wpcf7 input[type=radio]:checked,
.wpcf7 input[type=checkbox]:checked{
  border-color: #0075ff;
  border-width: 2px;
}
.wpcf7 .wpcf7-checkbox:not(.radioAny) input[type=checkbox]:checked{
  background: #0075ff;
}
.wpcf7 input[type=radio]:checked::before,
.wpcf7 input[type=checkbox]:checked::before{
  opacity: 1;
}
/* file */
.wpcf7 input[type="file"]{
  border: none;
  color: #16798e;
  padding: 0;
  margin: 10px 0 0;
  width: 100%;
}
.wpcf7 input[type="file"]::file-selector-button{
  background: #16798e;
  border: none;
  border-radius: 3px;
  color: #FFF;
  padding: 12px 17px;
  margin-right: 5px;
}
/* error */
.wpcf7 .wpcf7-not-valid-tip,
.wpcf7 form .wpcf7-response-output,
.customErrorText{
  color: #ee4853;
  border: none;
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 6px;
  padding: 0;
  position: relative;
}
.wpcf7 form .wpcf7-response-output{
  background: #fef0f1;
  border-radius: 3px;
  box-sizing: border-box;
  justify-content: center;
  padding: 17px 10px;
  margin: 0 auto 30px;
  text-align: left;
  width: 100%;
}
.wpcf7 .wpcf7-not-valid-tip::before,
.wpcf7 form .wpcf7-response-output::before,
.customErrorText::before{
  content: "";
  display: block;
  flex-shrink: 0;
  background: url(../images/common/icon_caution.svg) center center / contain no-repeat;
  margin-right: .3em;
  height: 1.3em;
  width: 1.3em;
}
.wpcf7 form.sent .wpcf7-response-output{
  background: rgb(70, 180, 80, .3);
  color: #333;
  padding: 20px 10px;
  font-size: 1.5rem;
  font-weight: 500;
  width: 100%;
  text-align: center;
}
.wpcf7 form.sent .wpcf7-response-output::before{
  content: none;
}
.customError .wpcf7-not-valid-tip{
  display: none;
}
.customError:not(:has(.wpcf7-not-valid-tip)) .customErrorText{
  display: none;
}

.wpcf7 .wpcf7-response-output {
  margin:10px 0 0;
  padding:8px 35px 8px 14px;
  -webkit-border-radius:4px;
  -moz-border-radius:4px;
  border-radius:4px; }
/* button */
.wpcf7-spinner{
  visibility: hidden;
  display: none;
}
.formSubmit p{
  margin: 0;
  height: 100%;
  width: 100%;
  position: relative;
  z-index: 2;
}
.formSubmitWrapp{
  margin: 55px auto 0;
  text-align: center;
}
.formSubmit{
  display: inline-block;
  position: relative;
}
.formSubmit input.wpcf7-submit,
.formSubmit input.wpcf7-previous{
  border: none;
  background: none;
  cursor: pointer;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
  z-index: 1;
  overflow: hidden;
  cursor: pointer;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 12px 65px 12px 30px;
  margin: 0;
}
.formSubmit::before,
.formSubmit::after{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
}
.formSubmit::before{
  background: #f9851e;
  left: 0;
  width: 100%;
  z-index: 0;
}
.formSubmit::after{
  left: auto;
  right: 0;
  background: #00a9b2;
  width: 0;
  z-index: 1;
  -webkit-transition: all .35s cubic-bezier(.075, .82, .165, 1) .05s;
  transition: all .35s cubic-bezier(.075, .82, .165, 1) .05s;
}
.formSubmit:hover::after{
  left: 0;
  right: auto;
  width: 100%;
}
.formSubmit .TNLSign::before,
.formSubmit .TNLSign::after{
  background: #f9851e;
}
.formSubmit:hover .TNLSign{
  width: 22px;
  height: 22px;
  -webkit-transform: translate(2px, -2px);
  transform: translate(2px, -2px);
  opacity: .8;
}
.formSubmit:hover .TNLSign::before,
.formSubmit:hover .TNLSign::after{
  background: rgb(0, 170, 180);
}
.formSubmit:hover .TNLSign::before{
  left: 6px;
}
.formSubmit:hover .TNLSign::after{
  right: 7px;
}


/* -------------------------------------------
  Slick Slider
------------------------------------------- */
.slick-loading .slick-list{background:#fff}
.slick-next,.slick-prev{position:absolute;top:50%;background:rgba(0,0,0,.6);color:transparent;font-size:0;line-height:0;
  width:34px;height:34px;padding:0;display:block; border:none;outline:0;cursor:pointer;z-index:10;border-radius:50%;
  -webkit-transform:translate(0,-50%);transform:translate(0,-50%)}
.slick-next:hover,.slick-prev:hover{color:transparent;outline:0;background:rgba(14, 149, 138, 0.6)}
.slick-next:focus:before,.slick-next:hover:before{opacity:1}
.slick-next.slick-disabled:before,.slick-prev.slick-disabled:before{opacity:0}
.slick-next:before,.slick-prev:before{font-size:24px;line-height:1;opacity:.85;color:#fff;vertical-align: 4px;-webkit-font-smoothing:antialiased}
.slick-prev{left:10px} [dir=rtl] .slick-prev{right:-10px;left:auto}
.slick-prev:before{content:'←'} [dir=rtl] .slick-prev:before{content:'→'}
.slick-next{right:10px} [dir=rtl] .slick-next{right:auto;left:-10px}
.slick-next:before{content:'→'} [dir=rtl] .slick-next:before{content:'←'}
.slick-next:hover:before,.slick-prev:hover:before{color:#333}
.slick-dotted.slick-slider{margin-bottom:30px}
.slick-dots{display:none}
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}
.slick-list:focus{outline:0}
.slick-list.dragging{cursor:pointer}s
.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}
.slick-track:after,.slick-track:before{display:table;content:''}
.slick-track:after{clear:both}
.slick-loading .slick-track{visibility:hidden}
.slick-slide{display:none;float:left;height:100%;min-height:1px}
[dir=rtl] .slick-slide{float:right}
.slick-slide img{display:block}
.slick-slide.slick-loading img{display:none}
.slick-slide.dragging img{pointer-events:none}
.slick-initialized .slick-slide{display:block}
.slick-loading .slick-slide{visibility:hidden}
.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}
.slick-arrow.slick-hidden{display:none}

@media (max-width: 480px) { .slick-prev{left:5px}
[dir=rtl] .slick-prev{right:-5px;left:auto}.slick-next{right:5px}
[dir=rtl] .slick-next{right:auto;left:-5px}}


/* -------------------------------------------
  Recruit
------------------------------------------- */
#pageHead.recruitHead{
  flex-direction: column-reverse;
}
#recruitEC{
  background-size: contain;
  bottom: -6vw;
  right: -12px;
  width: 110%;
}
.recruitHead .PTWrapp{
  padding-block: 0 5px;
}
#recruitHeadCopy1{
  font-size: 3.5rem;
  line-height: 1.8;
  letter-spacing: .05em;
  margin: 7.5vw 0 0;
}
#recruitHeadCopy2{
  font-size: 2.8rem;
  line-height: 1.8;
  letter-spacing: .05em;
  margin: 0;
}

.recruitFeatures .pc,
.recruitPhilosophy .pc,
.recruitWLB .pc,
.recruitInterview .pc,
.recruitGDL .pc,
.rctAbout .pc,
.rctForm .pc{
  display: none;
}
.recruitFeatures .innerWrapp{
  padding-block: 55px 0;
}
.recruitFeatures .rctStickyWrapp.last-block .innerWrapp{
  padding-bottom: 70px;
}
.recruitFeatures .pageST .letAnim,
.recruitPhilosophy .pageST .letAnim,
.recruitWLB .pageST .letAnim,
.recruitInterview .pageST .letAnim,
.rctAbout .pageST .letAnim,
.rctForm .pageST .letAnim{
  line-height: 1.5;
  font-size: 2.5rem;
}
.recruitFeatures .pageST .PSTEn,
.recruitPhilosophy .pageST .PSTEn,
.recruitWLB .pageST .PSTEn,
.recruitInterview .pageST .PSTEn,
.rctAbout .pageST .PSTEn,
.rctForm .pageST .PSTEn{
  margin-top: 10px;
}
.rctFtItem{
  padding-block: 50px 20px;
  position: relative;
  box-sizing: border-box;
}
.rctFtTit{
  color: #1d7e52;
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: .03em;
  margin: 0;
}
.rctFtTxt{
  font-size: 1.5rem;
  letter-spacing: .05em;
  line-height: 1.8;
  margin: 25px 0 0;
}
.rctFtImg{
  border-radius: 40px 0 0 40px;
  overflow: hidden;
  height: 350px;
  margin: 35px -5vw 0 0;
  width: 95vw;
}
.rctFtImg .BBIM,
.rctFtImg img{
  border-radius: 0;
  height: 100%;
  width: 100%;
  max-width: inherit;
  object-fit: cover;
  display: block;
}

.recruitPhilosophy .innerWrapp{
  padding-block: 65px 64px;
}
.rctPhItem .st20,
.rctPhTit.st20,
.rctWLBConTxt .st20,
.rctAbout .st20{
  font-size: 1.9rem;
  line-height: 1.5;
}
.rctPhItem > .PTTPad50{
  padding-top: 45px !important;
}
.rctPhCon{
  --rctPhConBR: 50px;
  --rctPhConMRL1: 5vw;
  --rctPhConMRL2: 28px;
  border: 2px solid;box-sizing: border-box;
  padding-block: 46px 50px;
}
.rctPhCon01{
  --rctPhConColor: #009dd9;
  border-color: var(--rctPhConColor);
  border-left: none;
  border-radius: 0 var(--rctPhConBR) var(--rctPhConBR) 0;
  margin: 55px 0 0 calc(-1 * var(--rctPhConMRL1));
  padding-inline: var(--rctPhConMRL1) var(--rctPhConMRL2);
}
.rctPhCon02{
  --rctPhConColor: #f96602;
  border-color: var(--rctPhConColor);
  border-right: none;
  border-radius: var(--rctPhConBR) 0 0 var(--rctPhConBR);
  margin: 40px calc(-1 * var(--rctPhConMRL1)) 0 0;
  padding-inline: var(--rctPhConMRL2) var(--rctPhConMRL1);
}
.rctPhCon03{
  --rctPhConColor: #1d7e52;
  border-color: var(--rctPhConColor);
  border-left: none;
  border-radius: 0 var(--rctPhConBR) var(--rctPhConBR) 0;
  max-width: 800px;
  margin: 40px 0 0 calc(-1 * var(--rctPhConMRL1));
  padding-inline: var(--rctPhConMRL1) var(--rctPhConMRL2);
}
.rctPhTit{
  border-bottom: 2px solid var(--rctPhConColor);
  color: var(--rctPhConColor);
  line-height: 1.5;
  padding-bottom: .5em;
}
.rctPhCon01 .rctPhTit,
.rctPhCon03 .rctPhTit{
  margin-right: calc(-1 * var(--rctPhConMRL2));
}
.rctPhCon02 .rctPhTit{
  margin-left: calc(-1 * var(--rctPhConMRL2));
  padding-left:  var(--rctPhConMRL2);
}
.rctPhCon01 .rctPhTit,.rctPhCon02,.rctPhCon03{
  position: relative;
}
.rctPhCon01 .rctPhTit .rctPhDeco,
.rctPhCon02 .rctPhDeco,
.rctPhCon03 .rctPhDeco{
  background: #FFF;
  position: absolute;
  stroke-width: 2px;
  margin-inline: -1px;
  width: 68px;
}
.rctPhCon01 .rctPhTit .rctPhDeco{
  stroke: #009dd9;
  bottom: -15.5px;
  right: 16px;
}
.rctPhCon02 .rctPhDeco{
  stroke: #f96602;
  right: 16px;
  bottom: calc(100% - 13.5px);
}
.rctPhCon03 .rctPhDeco{
  stroke: #1d7e52;
  left: 16px;
  bottom: -15.5px;
}
.rctPhCon03 .rctPhTit{
  max-width: 600px;
  margin-left: auto;
}
.rctPhCon03 .rctPhTxt{
  max-width: calc(600px - var(--rctPhConMRL2));
  margin-left: auto;
}

.recruitWLB .innerWrapp{
  padding-block: 30px 100px;
}
.rctWLBConWrapp{
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  box-sizing: border-box;
}
.rctWLBConTxt{
  width: 550px;
}
.rctWLBConImg{
  margin: 15px -5vw 0 0;
}
.rctWLBConImg .BBIM, .rctWLBConImg  img{
  max-width: inherit;
  width: 100%;
}
.rctMarker{
  font-weight: 700;
  border-bottom: 2px dotted #f96602;
}

.rctWLBLists{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 40px 0 0;
  padding: 0;
}
.rctWLBList{
  box-sizing: border-box;
  background: #FFF;
  box-shadow: 0 0 5px rgba(0,0,0,.12);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 10px 15px;
  min-height: 75px;
  width: 100%;
}
.rctWLBList p{
  color: #f96602;
  font-size: 1.8rem;
  line-height: 1.5;
  margin: 0;
  padding-left: 52px;
  position: relative;
}
.rctWLBList p::before{
  content: "";
  background: url(../images/recruit/ico_logo_lightgray.svg) center center / contain no-repeat;
  height: 35px;
  width: 35px;
  position: absolute;
  top: calc(50% - 16px);
  left: 0;
}

.rctWLBBtns{
  margin-top: 74px;
  justify-content: center;
  align-items: flex-end;
  gap: 30px 60px;
}
.rctWLBBtns .LBB01{
  border-radius: 100vh;
  font-size: 1.6rem;
  min-width: 210px;
  padding: 25px 48px 25px 30px;
  text-align: center;
}
.rctLink01::before{
  background-color: #f96602;
}
.rctWLBBtns .LBB01 i{
  right: 30px;
}
.rctWLBBtnCopy{
  font-size: 1.6rem;
  padding: 0 .3em 0 .8em;
  letter-spacing: .05em;
  margin: 0 auto 14px;
  text-align: center;
  position: relative;
  width: fit-content;
}
.rctWLBBtnCopy::before,
.rctWLBBtnCopy::after{
  position: absolute;
  top: 0.25rem;
  height: 1.5rem;
  content: '';
}
.rctWLBBtnCopy::before{
  border-left: solid 2px;
  left: 0;
  transform: rotate(-22deg);
}
.rctWLBBtnCopy::after{
  border-right: solid 2px;
  right: 0;
  transform: rotate(22deg);
}

.recruitInterview{
  border-radius: 0 100px 0 0;
}
.recruitInterview .innerWrapp{
  padding-block: 55px 55px;
}
.rctINWrapp01{
  margin-top: 55px;
}
.rctINImgBox{
  box-sizing: border-box;
  padding: 10px 0 20px;
  position: relative;
  width: 100%;
}
.rctINImgBox::before{
  background: var(--rctINColor);
  content: "";
  border-radius: 0 30px 30px 0;
  position: absolute;
  top: 0;
  bottom: 0;
}
.rctBlue{
  --rctINColor: #009dd9;
  --rctINDarkColor: #16798e;
}
.rctGreen{
  --rctINColor: #80bc00;
  --rctINDarkColor: #1d7e52;
  --rctINColor2: #1d7e52;
  --rctINBG: #f1faf1;
}
.rctOrange{
  --rctINColor2: #f96602;
  --rctINBG: #fdefe5;
}
.rctWhtOrange{
  --rctINColor2: #f96602;
  --rctINBG: #FFF;
}
.rctWhtGreen{
  --rctINColor2: #1d7e52;
  --rctINBG: #FFF;
}
.rctWhtBlue{
  --rctINColor2: #009dd9;
  --rctINBG: #FFF;
}
.rctINImgBox p{
  color: #FFF;
  position: relative;
  padding-right: 14%;
}
.rctINName{
  font-size: 1.8rem;
  margin-bottom: 10px;
  position: relative;
}
.rctINName .small{
  margin-left: .5em;
  font-size: 1.5rem;
}
.rctINImgBox .BBIM,
.rctINImgBox .BBIM img{
  border-radius: 0;
  max-width: 100%;
  width: 100%;
}
.rctINCareer{
  font-size: 1.5rem;
  line-height: 1.8;
  margin: 15px 0 0;
}
.rctINQA{
  line-height: 1.5;
  position: relative;
  margin-top: 35px;
}
.rctINQ{
  color: var(--rctINDarkColor);
  font-size: 2rem;
  padding-left: 1.8em;
  position: relative;
}
.rctINA + .rctINQ{
  margin-top: 35px;
}
.rctINQ::before{
  color: var(--rctINColor);
  content: "Q.";
  font-family: "Figtree", sans-serif; font-optical-sizing: auto; font-style: normal;
  font-size: 2.9rem;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: -.15em;
}
.rctINWrapp01.first,
.rctINWrapp02.first,
.pageST + .rctINWrapp01,
.pageST + .rctINWrapp02{
  margin-top: 46px;
}
.rctINWrapp01 .rctINImgBox::before{
  right: 13%;
  left: -5vw;
}
.rctINWrapp01.rctReverse{
  flex-direction: row-reverse;
}
.rctINWrapp01.rctReverse .rctINImgBox::before{
  left: 13%;
  right: -5vw;
  border-radius: 30px 0 0 30px;
}
.rctINWrapp01.rctReverse .rctINImgBox p{
  padding-inline: calc(14% + 15px) 0;
}
.rctINWrapp02.first{
  margin-top: 60px;
}
.rctINWrapp02{
  margin-top: 40px;
  padding: 32px 22px 45px 0;
  position: relative;
}
.rctINWrapp02.rctReverse{
  padding-inline: 22px 0;
}
.rctINWrapp02 .rctINWrappInner{
  max-width: 900px;
}
.rctINWrapp02.rctReverse .rctINWrappInner{
  margin-left: auto;
}
.rctINWrapp02::before{
  background: var(--rctINBG);
  content: "";
  border-radius: 0 30px 30px 0;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: -5vw;
}
.rctINWrapp02.rctReverse::before{
  border-radius: 30px 0 0 30px;
  left: 0;
  right: -5vw;
}
.rctINWrapp02 .rctINQA{
  margin-top: 30px;
}
.rctINWrapp02 .rctINQ::before,
.rctINWrapp02 .rctINName,
.rctINWrapp02 .rctINQ{
  color: var(--rctINColor2);
}
.rctINWrapp02 .rctINName{
  font-size: 2rem;
  margin-bottom: 30px;
}

.moreBoxSP{
  position: relative;
}
.moreBoxSP .moreBoxSPInner{
  overflow: hidden;
  max-height: 310px;
}
.moreBoxSP .moreBoxSPInner.is-open{
  max-height: 3000px;
}
.moreBoxSP .moreBoxBtnWrapp{
  background: #FFF;
  background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 30%, rgba(255, 255, 255, 1) 100%);
  border-radius: 0 0 30px 30px;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 105px 0 45px;
  text-align: center;
  width: 100%;
}
.moreBoxSP .moreBoxSPInner.is-open + .moreBoxBtnWrapp{
  background: none;
  padding: 30px 0 0;
  position: inherit;
}
.moreBoxSP .moreBoxBtnWrapp .moreBoxBtn{
  color: #000;
  outline: none;
  border: none;
  background: #f0f0f0;
  display: inline-block;
  font-size: 1.6rem;
  padding: 15px 32px 15px 10px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 130px;
}
.moreBoxSP .moreBoxBtnWrapp .moreBoxBtn::after{
  content: "";
  background: url(../images/recruit/ico_arrowBorder_down.svg) center center / contain no-repeat;
  display: block;
  width: 13px;
  height: 100%;
  position: absolute;
  right: 15px;
  top: 0;
}
.moreBoxSP .moreBoxSPInner.is-open + .moreBoxBtnWrapp .moreBoxBtn::after{
  transform: scale(-1, -1);
}

.recruitGDL .innerWrapp{
  padding: 60px 0 25px;
}

.rctAbout .st20.PTTPad50{
  padding-top: 50px !important;
}
.rctFlow{
  margin: 40px auto 0;
  width: 93%;
}
.rctAbout .FVPMark{
  width: 93%;
  margin-inline: auto;
}

.rctForm{
  background-color: #efefef;
}
.rctFMWrapp{
  margin: 40px 0 0;
  padding: 0;
}
.rctFMWrapp > p{
  margin: 0;
}
.rctForm .tabBtns{
  gap: 0 6px;
}
.rctForm .tabBtn{
  display: flex;
  max-width: 228px;
  width: fit-content;
}
.rctForm .tabBtn:nth-of-type(2){
  flex: inherit;
}
.rctForm .tabBtnInner{
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 10px;
  text-align: left;
  height: 100%;
  width: 100%;
}


/* -------------------------------------------
 Accordion
------------------------------------------- */
.rctGreen{
  --rctAccMain: #4ab05b;
  --rctAccLight: #e0f0ee;
  --rctAccCloseImg: url("../images/recruit/ico_closeG_sp.svg");
}
.rctBlue{
  --rctAccMain: #009dd9;
  --rctAccSmoke: #65a79e;
  --rctAccCloseImg: url("../images/recruit/ico_closeB_sp.svg");
}
.rctAcc{
  background: var(--rctAccMain);
}
.rctAcc + .rctAcc{
  margin-top: 20px;
}
.rctAccTit{
  color: #FFF;
  cursor: pointer;
  font-size: 2.4rem;
  line-height: 1.5;
  display: flex;
  letter-spacing: .1em;
  justify-content: space-between;
  align-items: center;
  padding: 10px 2vw 10px 5vw;
  text-align: left;
  transition: .2s;
  min-height: 83px;
}
.rctAccTit::before,
.rctAccTit::after{
  content: "";
}
.rctAccTit::before{
  background: url(../images/recruit/ico_logo_wht.svg) left center / contain no-repeat;
  height: 35px;
  width: 50px;
}
.rctAccTit::after{
  background: url(../images/recruit/ico_open_sp.svg) right center / contain no-repeat;
  height: 44px;
  width: 62px;
}
.rctAcc[open] .rctAccTit::after{
  background-image: url(../images/recruit/ico_close_sp.svg);
}
.rctAccTitInner{
  flex: 1;
}
.rctAccCon{
  background: var(--rctAccMain);
  padding: 0 5vw 5vw;
}
.rctAccCon *{
  box-sizing: border-box;
}
.rctAccInner{
  background: #FFF;
  border-radius: 6px;
  padding: 35px 20px 35px;
}
.rctACTit01{
  font-size: 2rem;
  text-align: center;
}
.rctACTit02{
  color: #009dd9;
  font-size: 2rem;
  line-height: 1.5;
  margin: 40px 0 0;
}
.rctGDLDetail{
  margin: 35px 0 0;
  flex-direction: column;
}
.rctGDLDetail .gdlDT,
.rctGDLDetail .gdlDD{
  font-size: 1.6rem;
  line-height: 1.8;
  padding-block: 20px;
}
.rctGDLDetail .gdlDT{
  background: var(--rctAccLight);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 15px;
  margin: 0;
  text-align: center;
  width: 100%;
}
.rctGDLDetail .gdlDD{
  background: #FFF;
  padding: 12px 0 20px;
  margin: 0 0 2px;
  width: 100%;
}
.rctGDLDetail .gdlDD:last-child{
  border: none;
}
.rctGDLDetail .gdlDD .gdlDDInner{
  margin: 0;
  width: 100%;
}
.NList{
  padding-left: .8em;
}
.NList .NListItem{
  position: relative;
}
.NList .NListItem::before{
  content: "・";
  position: absolute;
  top: .05em;
  left: -1em;
}
.rctACNote{
  background: #efefef;
  padding: 12px;
  max-width: 100%;
  margin: 40px 0 0;
  width: fit-content;
}
.rctACTxt{
  margin: 8px 0 0;
}
.rctACTxt.st20{
  line-height: 1.8;
}
.rctAccClose{
  background: var(--rctAccCloseImg) center center / contain no-repeat;
  border: none;
  cursor: pointer;
  display: block;
  outline: none;
  text-indent: 400%;
  white-space: nowrap;
  overflow: hidden;
  padding: 0;
  margin: 40px auto 0;
  height: 44px;
  width: 62px;
  transition: .2s;
}


/* -------------------------------------------
 CSS Animation
------------------------------------------- */
/* Common Animation */
.GNLink, .GNLink::after, .ANLink, .ANTelSign, .ANResSign, .AMFIPSign, .FTelNum, .instaLink, .BreadcrumbList a, .BreadcrumbList a::after,
.tLink01, .tLink01::after, .ONItem a::before, .ORTNum, .ORTSign, .ORInstaLogo, .LSign01, .LSign01::before, .LSign01::after,
.LSign02, .LSign03, .TNLSign, .TNLSign::before, .TNLSign::after, .TNLink, .TNKind, .TBCopy, .TBSign, .TBSign::before, .TBSign::after, .TBIco,
.BBNLink, .BBLSign, .BBLSign::before, .BBLSign::after, .OSOSign, .BVResBT::after, .BVTelBT::after, .BVResIco, .BVTelIco, .NLSign,
.fivePILink, .fivePIsign, .MDSLink, .MDSLink::before, .MDSLSign, .GMNIco, .GMNIcoW, .graySign, .graySign::before, .graySign::after, .SPMIco,
.IBNLink, .ALSign, .ALSign::before, .ALSign::after, .ALThumb, .CSNLink, .CSNSign, .keyLink, .colCatLink, .newsBody p a, .newsBody p a::after,
.indPageNavi a, .indPageNavi li > span, .NLLink, .NLTitle, .symNavLink, .SNLSign {
  -webkit-transition: all .15s ease-in-out .05s; transition: all .15s ease-in-out .05s}

#globalHead, .homeLink, #GNav, .FTElSign, .fixedBTLink::after, .LBBox::after, .LBBlack::after, #retTop:before, #retTop:after, .TBLink::after,
.BBIM::after, .slick-next, .slick-prev, .slick-next:before, .slick-prev:before, .OSOLink::after, .GMNLink::after, .SPMLink::after,
.ALLink::after, .CSNLink::after, .keyLink::after, .link_page:before, .link_page:after, .previousEntry a:after, .previousEntry > span:after, .returnList a:after,
.nextEntry a:after, .nextEntry > span:after, .NLLink::after, .symNavLink::after {
 -webkit-transition: all .35s cubic-bezier(.075, .82, .165, 1) .05s; transition: all .35s cubic-bezier(.075, .82, .165, 1) .05s}

.fixedBTLink { -webkit-transition: all .2s ease-in-out .1s; transition: all .2s ease-in-out .1s}

.ALThumb img, .NLLink img, .NLNoImage, .NLNoImage::after { -webkit-transition: all .25s ease-in-out .05s; transition: all .25s ease-in-out .05s}

.fixedBT, #sideFixBT { -webkit-transition: all .35s ease-in-out .1s; transition: all .35s ease-in-out .1s}

/* Standerd */
@-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}
.fadeIn02 { -webkit-animation: fadeIn .8s ease-in-out; animation: fadeIn .8s ease-in-out; -webkit-animation-fill-mode:both; animation-fill-mode:both}
.fadeIn03 { -webkit-animation: fadeIn 1s ease-in-out; animation: fadeIn 1s 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} }
#globalHeader, .fadeDown01 {
  -webkit-animation: fadeDown .8s ease-in-out; animation: fadeDown .8s ease-in-out}
.fadeDown02, #homeLogo { -webkit-animation: fadeDown 1s ease-in-out; animation: fadeDown 1s ease-in-out}

@-webkit-keyframes fadeUp {
  0%,25%{ -webkit-transform: translate3d(0,20px,0); opacity: 0} 100%{ -webkit-transform:none; opacity: 1} }
@keyframes fadeUp { 0%,25%{ transform: translate3d(0,20px,0); opacity: 0} 100%{ transform:none; opacity: 1} }
.fadeUp01, #firstVBT { -webkit-animation: fadeUp .65s ease-in-out; animation: fadeUp .65s ease-in-out}
.fadeUp02, #recruitBT { -webkit-animation: fadeUp .8s ease-in-out; animation: fadeUp .8s ease-in-out}
.fadeUp03 { -webkit-animation: fadeUp .95s ease-in-out; animation: fadeUp .95s ease-in-out}
.fadeUp04 { -webkit-animation: fadeUp 1.1s ease-in-out; animation: fadeUp 1.1s ease-in-out}
.fadeUp05 { -webkit-animation: fadeUp 1.25s ease-in-out; animation: fadeUp 1.25s ease-in-out}
.fadeUp06 { -webkit-animation: fadeUp 1.4s ease-in-out; animation: fadeUp 1.4s 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} }
.leftIn00 { -webkit-animation: leftIn .4s ease-in-out; animation: leftIn .4s ease-in-out}
.leftIn01 { -webkit-animation: leftIn .6s ease-in-out; animation: leftIn .6s ease-in-out}
.leftIn02 { -webkit-animation: leftIn .8s ease-in-out; animation: leftIn .8s ease-in-out}
.leftIn03 { -webkit-animation: leftIn 1s ease-in-out; animation: leftIn 1s ease-in-out}
.leftIn04 { -webkit-animation: leftIn 1.15s ease-in-out; animation: leftIn 1.15s 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} }
.rightIn00 { -webkit-animation: rightIn .4s ease-in-out; animation: rightIn .4s ease-in-out}
.rightIn01, #TCharaContainer, #sideFixBT { -webkit-animation: rightIn .6s ease-in-out; animation: rightIn .6s ease-in-out}
.rightIn02 { -webkit-animation: rightIn .8s ease-in-out; animation: rightIn .8s ease-in-out}
.rightIn03 { -webkit-animation: rightIn 1s ease-in-out; animation: rightIn 1s ease-in-out}
.rightIn04 { -webkit-animation: rightIn 1.15s ease-in-out; animation: rightIn 1.15s ease-in-out}

@-webkit-keyframes scaleUp {0%,30%{-webkit-transform:scale(0);opacity:0} 100%{-webkit-transform: scale(1);opacity:1}}
@keyframes scaleUp {0%,30%{transform:scale(0);opacity:0} 100%{transform: scale(1);opacity:1}}
.scaleUp01 {
  -webkit-animation: scaleUp .5s cubic-bezier(.075,.82,.165,1); animation: scaleUp .5s cubic-bezier(.075,.82,.165,1);
  -webkit-transform-origin:center; transform-origin:center}
.scaleUp02 {
  -webkit-animation: scaleUp .75s cubic-bezier(.075,.82,.165,1); animation: scaleUp .75s cubic-bezier(.075,.82,.165,1);
  -webkit-transform-origin:center; transform-origin:center}
.scaleUp03 {
  -webkit-animation: scaleUp 1s cubic-bezier(.075,.82,.165,1); animation: scaleUp 1s cubic-bezier(.075,.82,.165,1);
  -webkit-transform-origin:center; transform-origin:center}
.squareBG {
  -webkit-animation: scaleUp .65s cubic-bezier(.075,.82,.165,1); animation: scaleUp .65s cubic-bezier(.075,.82,.165,1);
  -webkit-transform-origin:right center; transform-origin:right center}

/* Lettering Animation */
@-webkit-keyframes typing01 {0%,25%{-webkit-transform:translate3d(-10px,0,0);opacity:0} 100%{-webkit-transform:none;opacity:1}}
@keyframes typing01 {0%,25%{transform:translate3d(-10px,0,0);opacity:0} 100%{transform:none;opacity:1}}
.onChar1{display:inline-block;-webkit-animation:typing01 .2s ease;animation:typing01 .2s ease}.onChar2{display:inline-block;-webkit-animation:typing01 .3s ease;animation:typing01 .3s ease}.onChar3{display:inline-block;-webkit-animation:typing01 .4s ease;animation:typing01 .4s ease}.onChar4{display:inline-block;-webkit-animation:typing01 .5s ease;animation:typing01 .5s ease}.onChar5{display:inline-block;-webkit-animation:typing01 .6s ease;animation:typing01 .6s ease}.onChar6{display:inline-block;-webkit-animation:typing01 .7s ease;animation:typing01 .7s ease}.onChar7{display:inline-block;-webkit-animation:typing01 .8s ease;animation:typing01 .8s ease}.onChar8{display:inline-block;-webkit-animation:typing01 .9s ease;animation:typing01 .9s ease}.onChar9{display:inline-block;-webkit-animation:typing01 1s ease;animation:typing01 1s ease}.onChar10{display:inline-block;-webkit-animation:typing01 1.1s ease;animation:typing01 1.1s ease}.onChar11{display:inline-block;-webkit-animation:typing01 1.2s ease;animation:typing01 1.2s ease}.onChar12{display:inline-block;-webkit-animation:typing01 1.3s ease;animation:typing01 1.3s ease}.onChar13{display:inline-block;-webkit-animation:typing01 1.4s ease;animation:typing01 1.4s ease}.onChar14{display:inline-block;-webkit-animation:typing01 1.5s ease;animation:typing01 1.5s ease}.onChar15{display:inline-block;-webkit-animation:typing01 1.55s ease;animation:typing01 1.55s ease}.onChar16{display:inline-block;-webkit-animation:typing01 1.6s ease;animation:typing01 1.6s ease}.onChar17{display:inline-block;-webkit-animation:typing01 1.65s ease;animation:typing01 1.65s ease}.onChar18{display:inline-block;-webkit-animation:typing01 1.7s ease;animation:typing01 1.7s ease}.onChar19{display:inline-block;-webkit-animation:typing01 1.75s ease;animation:typing01 1.75s ease}.onChar20{display:inline-block;-webkit-animation:typing01 1.8s ease;animation:typing01 1.8s ease}.onChar21{display:inline-block;-webkit-animation:typing01 1.85s ease;animation:typing01 1.85s ease}.onChar22{display:inline-block;-webkit-animation:typing01 1.9s ease;animation:typing01 1.9s ease}.onChar23{display:inline-block;-webkit-animation:typing01 1.95s ease;animation:typing01 1.95s ease}.onChar24{display:inline-block;-webkit-animation:typing01 2s ease;animation:typing01 2s ease}.onChar25{display:inline-block;-webkit-animation:typing01 2.05s ease;animation:typing01 2.05s ease}.onChar26{display:inline-block;-webkit-animation:typing01 2.1s ease;animation:typing01 2.1s ease}.onChar27{display:inline-block;-webkit-animation:typing01 2.15s ease;animation:typing01 2.15s ease}.onChar28{display:inline-block;-webkit-animation:typing01 2.2s ease;animation:typing01 2.2s ease}.onChar29{display:inline-block;-webkit-animation:typing01 2.25s ease;animation:typing01 2.25s ease}.onChar30{display:inline-block;-webkit-animation:typing01 2.3s ease;animation:typing01 2.3s ease}.onChar31{display:inline-block;-webkit-animation:typing01 2.35s ease;animation:typing01 2.35s ease}.onChar32{display:inline-block;-webkit-animation:typing01 2.4s ease;animation:typing01 2.4s ease}.onChar33{display:inline-block;-webkit-animation:typing01 2.45s ease;animation:typing01 2.45s ease}.onChar34{display:inline-block;-webkit-animation:typing01 2.5s ease;animation:typing01 2.5s ease}.onChar35{display:inline-block;-webkit-animation:typing01 2.55s ease;animation:typing01 2.55s ease}.onChar36{display:inline-block;-webkit-animation:typing01 2.6s ease;animation:typing01 2.6s ease}.onChar37{display:inline-block;-webkit-animation:typing01 2.65s ease;animation:typing01 2.65s ease}.onChar38{display:inline-block;-webkit-animation:typing01 2.7s ease;animation:typing01 2.7s ease}.onChar39{display:inline-block;-webkit-animation:typing01 2.75s ease;animation:typing01 2.75s ease}.onChar40{display:inline-block;-webkit-animation:typing01 2.8s ease;animation:typing01 2.8s ease}

.thc02 .onChar1{display:inline-block;-webkit-animation:typing01 1s ease;animation:typing01 1s ease}.thc02 .onChar2{display:inline-block;-webkit-animation:typing01 1.1s ease;animation:typing01 1.1s ease}.thc02 .onChar3{display:inline-block;-webkit-animation:typing01 1.2s ease;animation:typing01 1.2s ease}.thc02 .onChar4{display:inline-block;-webkit-animation:typing01 1.3s ease;animation:typing01 1.3s ease}.thc02 .onChar5{display:inline-block;-webkit-animation:typing01 1.4s ease;animation:typing01 1.4s ease}.thc02 .onChar6{display:inline-block;-webkit-animation:typing01 1.5s ease;animation:typing01 1.5s ease}.thc02 .onChar7{display:inline-block;-webkit-animation:typing01 1.6s ease;animation:typing01 1.6s ease}.thc02 .onChar8{display:inline-block;-webkit-animation:typing01 1.7s ease;animation:typing01 1.7s ease}.thc02 .onChar9{display:inline-block;-webkit-animation:typing01 1.8s ease;animation:typing01 1.8s ease}.thc02 .onChar10{display:inline-block;-webkit-animation:typing01 1.85s ease;animation:typing01 1.85s ease}.thc02 .onChar11{display:inline-block;-webkit-animation:typing01 1.9s ease;animation:typing01 1.9s ease}.thc02 .onChar12{display:inline-block;-webkit-animation:typing01 1.95s ease;animation:typing01 1.95s ease}.thc02 .onChar13{display:inline-block;-webkit-animation:typing01 2s ease;animation:typing01 2s ease}.thc02 .onChar14{display:inline-block;-webkit-animation:typing01 2.05s ease;animation:typing01 2.05s ease}.thc02 .onChar15{display:inline-block;-webkit-animation:typing01 2.1s ease;animation:typing01 2.1s ease}.thc02 .onChar16{display:inline-block;-webkit-animation:typing01 2.15s ease;animation:typing01 2.15s ease}.thc02 .onChar17{display:inline-block;-webkit-animation:typing01 2.15s ease;animation:typing01 2.15s ease}.thc02 .onChar18{display:inline-block;-webkit-animation:typing01 2.2s ease;animation:typing01 2.2s ease}.thc02 .onChar19{display:inline-block;-webkit-animation:typing01 2.25s ease;animation:typing01 2.25s ease}.thc02 .onChar20{display:inline-block;-webkit-animation:typing01 2.3s ease;animation:typing01 2.3s ease}.thc02 .onChar21{display:inline-block;-webkit-animation:typing01 2.35s ease-in-out;animation:typing01 2.35s ease}.thc02 .onChar22{display:inline-block;-webkit-animation:typing01 2.4s ease;animation:typing01 2.4s ease}.thc02 .onChar23{display:inline-block;-webkit-animation:typing01 2.45s ease;animation:typing01 2.45s ease}.thc02 .onChar24{display:inline-block;-webkit-animation:typing01 2.5s ease;animation:typing01 2.5s ease}

@media (max-width: 599px) {
  .thc02 .onChar1{display:inline-block;-webkit-animation:typing01 .6s ease;animation:typing01 .6s ease}.thc02 .onChar2{display:inline-block;-webkit-animation:typing01 .7s ease;animation:typing01 .7s ease}.thc02 .onChar3{display:inline-block;-webkit-animation:typing01 .8s ease;animation:typing01 .8s ease}.thc02 .onChar4{display:inline-block;-webkit-animation:typing01 .9s ease;animation:typing01 .9s ease}.thc02 .onChar5{display:inline-block;-webkit-animation:typing01 1s ease;animation:typing01 1s ease}.thc02 .onChar6{display:inline-block;-webkit-animation:typing01 1.1s ease;animation:typing01 1.1s ease}.thc02 .onChar7{display:inline-block;-webkit-animation:typing01 1.2s ease;animation:typing01 1.2s ease}.thc02 .onChar8{display:inline-block;-webkit-animation:typing01 1.3s ease;animation:typing01 1.3s ease}.thc02 .onChar9{display:inline-block;-webkit-animation:typing01 1.4s ease;animation:typing01 1.4s ease}.thc02 .onChar10{display:inline-block;-webkit-animation:typing01 1.5s ease;animation:typing01 1.5s ease}.thc02 .onChar11{display:inline-block;-webkit-animation:typing01 1.6s ease;animation:typing01 1.6s ease}.thc02 .onChar12{display:inline-block;-webkit-animation:typing01 1.7s ease;animation:typing01 1.7s ease}.thc02 .onChar13{display:inline-block;-webkit-animation:typing01 1.85s ease;animation:typing01 1.85s ease}.thc02 .onChar14{display:inline-block;-webkit-animation:typing01 1.9s ease;animation:typing01 1.9s ease}.thc02 .onChar15{display:inline-block;-webkit-animation:typing01 1.95s ease;animation:typing01 1.95s ease}.thc02 .onChar16{display:inline-block;-webkit-animation:typing01 2s ease;animation:typing01 2s ease}.thc02 .onChar17{display:inline-block;-webkit-animation:typing01 2.05s ease;animation:typing01 2.05s ease}.thc02 .onChar18{display:inline-block;-webkit-animation:typing01 2.1s ease;animation:typing01 2.1s ease}.thc02 .onChar19{display:inline-block;-webkit-animation:typing01 2.15s ease;animation:typing01 2.15s ease}.thc02 .onChar20{display:inline-block;-webkit-animation:typing01 2.2s ease;animation:typing01 2.2s ease}.thc02 .onChar21{display:inline-block;-webkit-animation:typing01 2.25s ease-in-out;animation:typing01 2.25s ease}.thc02 .onChar22{display:inline-block;-webkit-animation:typing01 2.3s ease;animation:typing01 2.3s ease}.thc02 .onChar23{display:inline-block;-webkit-animation:typing01 2.35s ease;animation:typing01 2.35s ease}.thc02 .onChar24{display:inline-block;-webkit-animation:typing01 2.4s ease;animation:typing01 2.4s ease}

  .thc03 .onChar1{display:inline-block;-webkit-animation:typing01 1s ease;animation:typing01 1s ease}.thc03 .onChar2{display:inline-block;-webkit-animation:typing01 1.1s ease;animation:typing01 1.1s ease}.thc03 .onChar3{display:inline-block;-webkit-animation:typing01 1.2s ease;animation:typing01 1.2s ease}.thc03 .onChar4{display:inline-block;-webkit-animation:typing01 1.3s ease;animation:typing01 1.3s ease}.thc03 .onChar5{display:inline-block;-webkit-animation:typing01 1.4s ease;animation:typing01 1.4s ease}.thc03 .onChar6{display:inline-block;-webkit-animation:typing01 1.5s ease;animation:typing01 1.5s ease}.thc03 .onChar7{display:inline-block;-webkit-animation:typing01 1.6s ease;animation:typing01 1.6s ease}.thc03 .onChar8{display:inline-block;-webkit-animation:typing01 1.7s ease;animation:typing01 1.7s ease}.thc03 .onChar9{display:inline-block;-webkit-animation:typing01 1.8s ease;animation:typing01 1.8s ease}.thc03 .onChar10{display:inline-block;-webkit-animation:typing01 1.85s ease;animation:typing01 1.85s ease}.thc03 .onChar11{display:inline-block;-webkit-animation:typing01 1.9s ease;animation:typing01 1.9s ease}.thc03 .onChar12{display:inline-block;-webkit-animation:typing01 1.95s ease;animation:typing01 1.95s ease}.thc03 .onChar13{display:inline-block;-webkit-animation:typing01 2s ease;animation:typing01 2s ease}.thc03 .onChar14{display:inline-block;-webkit-animation:typing01 2.05s ease;animation:typing01 2.05s ease}.thc03 .onChar15{display:inline-block;-webkit-animation:typing01 2.1s ease;animation:typing01 2.1s ease}.thc03 .onChar16{display:inline-block;-webkit-animation:typing01 2.15s ease;animation:typing01 2.15s ease}.thc03 .onChar17{display:inline-block;-webkit-animation:typing01 2.15s ease;animation:typing01 2.15s ease}.thc03 .onChar18{display:inline-block;-webkit-animation:typing01 2.2s ease;animation:typing01 2.2s ease}.thc03 .onChar19{display:inline-block;-webkit-animation:typing01 2.25s ease;animation:typing01 2.25s ease}.thc03 .onChar20{display:inline-block;-webkit-animation:typing01 2.3s ease;animation:typing01 2.3s ease}.thc03 .onChar21{display:inline-block;-webkit-animation:typing01 2.35s ease-in-out;animation:typing01 2.35s ease}.thc03 .onChar22{display:inline-block;-webkit-animation:typing01 2.4s ease;animation:typing01 2.4s ease}.thc03 .onChar23{display:inline-block;-webkit-animation:typing01 2.45s ease;animation:typing01 2.45s ease}.thc03 .onChar24{display:inline-block;-webkit-animation:typing01 2.5s ease;animation:typing01 2.5s ease}
}


@-webkit-keyframes movTyping {0%,90%{-webkit-transform:translate3d(-10px,10px,0);opacity:0} 100%{-webkit-transform:none;opacity:1}}
@keyframes movTyping {0%,90%{transform:translate3d(-10px,10px,0);opacity:0} 100%{transform:none;opacity:1}}
.movType .onChar1{display:inline-block;-webkit-animation:movTyping 1.5s ease;animation:movTyping 1.5s ease}.movType .onChar2{display:inline-block;-webkit-animation:movTyping 1.6s ease;animation:movTyping 1.6s ease}.movType .onChar3{display:inline-block;-webkit-animation:movTyping 1.7s ease;animation:movTyping 1.7s ease}.movType .onChar4{display:inline-block;-webkit-animation:movTyping 1.8s ease;animation:movTyping 1.8s ease}.movType .onChar5{display:inline-block;-webkit-animation:movTyping 1.9s ease;animation:movTyping 1.9s ease}.movType .onChar6{display:inline-block;-webkit-animation:movTyping 2s ease;animation:movTyping 2s ease}.movType .onChar7{display:inline-block;-webkit-animation:movTyping 2.1s ease;animation:movTyping 2.1s ease}.movType .onChar8{display:inline-block;-webkit-animation:movTyping 2.2s ease;animation:movTyping 2.2s ease}.movType .onChar9{display:inline-block;-webkit-animation:movTyping 2.3s ease;animation:movTyping 2.3s ease}.movType .onChar10{display:inline-block;-webkit-animation:movTyping 2.4s ease;animation:movTyping 2.4s ease}.movType .onChar11{display:inline-block;-webkit-animation:movTyping 2.5s ease;animation:movTyping 2.5s ease}.movType .onChar12{display:inline-block;-webkit-animation:movTyping 2.6s ease;animation:movTyping 2.6s ease}.movType .onChar13{display:inline-block;-webkit-animation:movTyping 2.7s ease;animation:movTyping 2.7s ease}.movType .onChar14{display:inline-block;-webkit-animation:movTyping 2.8s ease;animation:movTyping 2.8s ease}.movType .onChar15{display:inline-block;-webkit-animation:movTyping 2.9s ease;animation:movTyping 2.9s ease}.movType .onChar16{display:inline-block;-webkit-animation:movTyping 3s ease;animation:movTyping 3s ease}.movType .onChar17{display:inline-block;-webkit-animation:movTyping 3.1s ease;animation:movTyping 3.1s ease}

.movType02 .onChar1{display:inline-block;-webkit-animation:movTyping 2.3s ease;animation:movTyping 2.3s ease}.movType02 .onChar2{display:inline-block;-webkit-animation:movTyping 2.4s ease;animation:movTyping 2.4s ease}.movType02 .onChar3{display:inline-block;-webkit-animation:movTyping 2.5s ease;animation:movTyping 2.5s ease}.movType02 .onChar4{display:inline-block;-webkit-animation:movTyping 2.6s ease;animation:movTyping 2.6s ease}.movType02 .onChar5{display:inline-block;-webkit-animation:movTyping 2.7s ease;animation:movTyping 2.7s ease}.movType02 .onChar6{display:inline-block;-webkit-animation:movTyping 2.8s ease;animation:movTyping 2.8s ease}.movType02 .onChar7{display:inline-block;-webkit-animation:movTyping 2.9s ease;animation:movTyping 2.9s ease}.movType02 .onChar8{display:inline-block;-webkit-animation:movTyping 2.9s ease;animation:movTyping 2.9s ease}.movType02 .onChar9{display:inline-block;-webkit-animation:movTyping 3s ease;animation:movTyping 3s ease}.movType02 .onChar10{display:inline-block;-webkit-animation:movTyping 3.1s ease;animation:movTyping 3.1s ease}.movType02 .onChar11{display:inline-block;-webkit-animation:movTyping 3.2s ease;animation:movTyping 3.2s ease}.movType02 .onChar12{display:inline-block;-webkit-animation:movTyping 3.3s ease;animation:movTyping 3.3s ease}.movType02 .onChar13{display:inline-block;-webkit-animation:movTyping 3.4s ease;animation:movTyping 3.4s ease}.movType02 .onChar14{display:inline-block;-webkit-animation:movTyping 3.5s ease;animation:movTyping 3.5s ease}.movType02 .onChar15{display:inline-block;-webkit-animation:movTyping 3.6s ease;animation:movTyping 3.6s ease}.movType02 .onChar16{display:inline-block;-webkit-animation:movTyping 3.7s ease;animation:movTyping 3.7s ease}.movType02 .onChar17{display:inline-block;-webkit-animation:movTyping 3.8s ease;animation:movTyping 3.8s ease}

#THEnCopy .thc01 .onChar3, #THEnCopy .thc01 .onChar11, #THEnCopy .thc01 .onChar22, #THEnCopy .thc02 .onChar5,
#THEnCopy .thc02 .onChar14, #THEnCopy .thc02 .onChar19, #THEnCopy .thc02 .onChar28 { margin-left: 8px}




/* -------------------------------------------
  Text Link Hover
------------------------------------------- */
.tLink01, .newsBody p a { color: #1e8eb7; text-decoration: none; display: inline-block; position: relative}
.tLink01:hover, .newsBody p a:hover { color: #f07700}
.FNList a:hover, .TNList a:hover { color: #f06900}

.BreadcrumbList a::after, .tLink01::after, .FNList a::after, .TNList a::after, .newsBody p a::after {
  content: ''; position: absolute; bottom: -3px; left: 0; background-color: #e57e2e; width: 100%; height: 2px;
  -webkit-transform: scaleX(0); transform: scaleX(0); -webkit-transform-origin: left bottom; transform-origin: left bottom}
.BreadcrumbList a::after { bottom: -1px}
.TNList a::after { bottom: -5px}
.newsBody p a::after { bottom: 2px}
.newsBody p .NBPopIM::after { display: none}

.BreadcrumbList a:hover::after, .tLink01:hover::after, .FNList a:hover::after, .TNList a:hover::after, .newsBody p a:hover::after {
  -webkit-ttransform: scaleX(1); transform: scaleX(1)}

/* -------------------------------------------
  Displey Setting
------------------------------------------- */
.homeLink, #retTop, .ANLink, #botLogo, #ORLogo, .IMST, .IMCopy, .PIBanner {
  text-indent: 400%; white-space: nowrap; overflow: hidden}

.homeLink, #retTop a, .IBNLink {
  text-decoration: none; display: block; cursor: pointer; overflow: hidden}

#globalNav .current { cursor: default}
