@charset "utf-8";

/*========================================================================================================================


  ◇◆◇ レイアウト ◇◆◇
  
  1.  header
  2.  nav
  3.  contents
  4.  footer
  99. parts  
  
  
========================================================================================================================*/

/*----------------------------------------------------------------------------------------------------

  1. header
  
----------------------------------------------------------------------------------------------------*/

header {
  margin-left:auto;
  margin-right:auto;
  background-color:#fff;
  box-sizing:border-box;
  position:relative;
  z-index:99;
}

@media screen and (max-width:640px) {
  header {
    padding:1.5rem 1.5rem 1.75rem 1.5rem;
  }
}


/*-----------------------------------------------------------------------------------
  ロゴ
-----------------------------------------------------------------------------------*/

.hdLogo {
  color:#1e968c;
  line-height:1;
}

.hdLogo a,
.hdLogo a:visited,
.hdLogo a:hover {
  color:inherit;
  text-decoration:none;
}

.hdLogo a {
  display:inline-block;
  position:relative;
  z-index:2;
}

.hdLogo img {
  max-width:70px;
  max-height:70px;
  margin-bottom:1rem;
}

.hdLogo .jp {
  font-size:181.2%;
  font-weight:500;
}

.hdLogo .jp .hojin {
  display:block;
  font-size:0.48em;
  margin-bottom:0.4rem;
  margin-top:-1.5em;
  text-align:left;
}

.hdLogo .en {
  font-size:87.5%;
  display:block;
  font-weight:100;
  padding-top:0.5rem;
}

@media print,screen and (min-width:641px) and (max-width:1340px) {
  .hdLogo { font-size:95%; } 
}

@media print,screen and (min-width:641px) {
  .hdLogo {
    padding-top:25px;
    padding-bottom:15px;
    -webkit-transition:font-size 0.2s ease;
    transition:font-size 0.2s ease;
  }
}

@media screen and (max-width:640px) {
  .hdLogo {
    padding-top:75px;
  }
}


/*-----------------------------------------------------------------------------------
  採用情報
-----------------------------------------------------------------------------------*/

.hdRecruit {
  box-sizing:border-box;
  width:100%;
  height:70px;
  position:absolute;
  top:0;
  right:70px;
  z-index:110;
  pointer-events:none;
  display:flex;
  justify-content:flex-end;
}

.hdRecruit a,
.hdRecruit a:visited,
.hdRecruit a:hover {
  color:#FFF;
  text-decoration:none;
}

.hdRecruit a {
  pointer-events:auto;
  width:70px;
  height:100%;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-content:center;
  background-color:#f591aa;
  -webkit-transition:background 0.2s ease !important;
  transition:background 0.2s ease !important;
}

.ua-pc .hdRecruit a:hover { background-color:#FFA0B9; }

.hdRecruit_txt {
  position:relative;
}

.hdRecruit_txt:before {
  content:"";
  width:100%;
  height:2.5em;
  background:url("../image/icon/recruit.svg") no-repeat center center;
  background-size:contain;
  display:block;
  margin-bottom:0.25rem;
}

@media screen and (max-width:640px) {
  .hdRecruit {
    min-width:500px;
    position:fixed;
    left:0;
    right:inherit;
    padding-right: 70px;
  }
}


/*-----------------------------------------------------------------------------------
  TEL
-----------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .hdTel {
    box-sizing:border-box;
    display:inline-block;
    position:absolute;
    /*right:140px;*/
    right: 70px;
    top:0;
    padding:15px;
  }
  
  .hdTel img {
    width:307px;
    height:60px;
  }
}

@media screen and (max-width:640px) {
  .hdTel {
    width:100%;
    min-width:500px;
    height:70px;
    box-sizing:border-box;
    position:fixed;
    left:0;
    top:0;
    z-index:90;
    text-align:center;
    background-color:#fff;
    box-shadow:0 8px 10px -10px rgba(0,0,0,0.2);
  }
  
  .hdTel a {
    display:block;
    height:100%;
    /*padding-right:140px;*/
    padding-right: 70px;
    padding-top:11px;
    text-align:center;
    box-sizing:border-box;
  }
  
  .hdTel img {
    width:auto;
    height:47px;
    margin-left:auto;
    margin-right:auto;
  }
}

/*----------------------------------------------------------------------------------------------------

  2. nav
  
----------------------------------------------------------------------------------------------------*/

.glNav a,
.glNav a:visited,
.glNav a:hover {
  text-decoration:none;
}

.glNav ul {
  list-style:none;
}

.glNav li a {
  display:block;
  box-sizing:border-box;
}

@media print,screen and (min-width:641px) {
  #glNav-orig {
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    font-weight:300;
  }
  
  #glNav-orig > ul {
    width:100%;
    box-sizing:border-box;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    font-size:106.3%;
  }
  
  #glNav-orig > ul > li {
    vertical-align:top;
  }
  
  #glNav-orig > ul > li > a { padding:1rem 0.75rem 1.5rem 0.75rem; }
  #glNav-orig > ul > li:first-child a { padding-left:0; }
  #glNav-orig > ul > li:last-child a { padding-right:0; }


  #glNav-orig li.parent .child {
    display:none;
    min-width:1280px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
    position:absolute;
    left:50%;
    top:99%;
    transform:translateX(-50%);
    background-color:#fff;
    z-index:99;
    border-top:1px solid #e7ebec;
  }
  
  #glNav-orig li.parent.toggle-active > a { color:#728a90; }
  
  #glNav-orig li.parent > a { position:relative; }
  
  #glNav-orig li.parent > a:before,
  #glNav-orig li.parent > a:after {
    content:"";
    border:10px solid transparent;
    position:absolute;
    left:50%;
    bottom:-0.5px;
    transform:translate(-50%);
    z-index:100;
    -webkit-transition:all 0.3s;
    -moz-transition:all 0.3s;
    -ms-transition:all 0.3s;
    -o-transition:all 0.3s;
    transition:all 0.3s;
    display:none;
  }

  #glNav-orig li.parent > a:before {
    border-bottom-color:#43636b;
  }
    
  #glNav-orig li.parent > a:after {
    border-bottom-color:#fff;
  }
  
  #glNav-orig li.parent.toggle-active > a:before,
  #glNav-orig li.parent.toggle-active > a:after {
    display:inline-block;
  }
  
  #glNav-orig li.parent .child_ct {
    max-width:1200px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
    box-sizing:border-box;
    padding-top:50px;
    padding-bottom:50px;
  }

  .ua-tab #glNav-orig li.parent .child_ct { padding-top:80px; }
  #glNav-orig li.parent .child_ct { position:relative; }

  .ua-pc #glNav-orig li.parent .child_ct .closeBtn { display:none; }
  
  #glNav-orig li.parent .child_ct .closeBtn {
    display:inline-block;
    position:absolute;
    right:-0.75rem;
    top:20px;
    cursor:pointer;
    padding:0.5rem;
  }
    
  #glNav-orig li.parent .child_ct .closeBtn span {
    position:relative;
    display:block;
    text-indent:100%;
    white-space:nowrap;
    overflow:hidden;
    width:1.5rem;
    height:1.5rem;
  }
  
  #glNav-orig li.parent .child_ct .closeBtn span:before,
  #glNav-orig li.parent .child_ct .closeBtn span:after {
    content:"";
    position:relative;
    top:50%;
    left:0;
    display:block;
    width:100%;
    border-top:2px solid #144a52;
  }
  
  #glNav-orig li.parent .child_ct .closeBtn span:before {
    transform:rotate(-45deg);
  }
     
  #glNav-orig li.parent .child_ct .closeBtn span:after {
    transform:rotate(45deg);
  }

  
  /* 診療内容
  ==================================================*/
  
  #glNav-orig li.parent .child .medical ul {
    width:100%;
    display:table;
  }

  #glNav-orig li.parent .child .medical li {
    width:calc(100% / 6);
    display:table-cell;
    border-style:solid;
    border-color:#e7ebec;
    border-width:0 1px 0 0;
    box-sizing:border-box;
    border-collapse:collapse;
    vertical-align:top;
  }
  
  #glNav-orig li.parent .child .medical li:first-child {
    border-width:0 1px 0 1px;
  }
  
  #glNav-orig li.parent .child .medical li a {
    width:100%;
    display:block;
    position:relative;
    padding-top:1rem;
    padding-bottom:1rem;
    box-sizing:border-box;
  }

  #glNav-orig li.parent .child .medical li a:before {
    content:"";
    width:100%;
    height:70px;
    margin-bottom:0.5rem;
    display:block;
    background-position:center center;
    background-repeat:no-repeat;
    background-size:contain;
  }
  
  #glNav-orig li.parent .child .medical li.col-01 a:before { background-image:url(../image/icon/medical_ic01.svg); }
  #glNav-orig li.parent .child .medical li.col-02 a:before { background-image:url(../image/icon/medical_ic02.svg); }
  #glNav-orig li.parent .child .medical li.col-03 a:before { background-image:url(../image/icon/medical_ic03.svg); }
  #glNav-orig li.parent .child .medical li.col-04 a:before { background-image:url(../image/icon/medical_ic04.svg); }
  #glNav-orig li.parent .child .medical li.col-05 a:before { background-image:url(../image/icon/medical_ic05.svg); }
  #glNav-orig li.parent .child .medical li.col-06 a:before { background-image:url(../image/icon/medical_ic06.svg); }
  #glNav-orig li.parent .child .medical li.col-07 a:before { background-image:url(../image/icon/medical_ic07.svg); }
  
  .no-svg #glNav-orig li.parent .child .medical li.col-01 a:before { background-image:url(../image/icon/medical_ic01.png); }
  .no-svg #glNav-orig li.parent .child .medical li.col-02 a:before { background-image:url(../image/icon/medical_ic02.png); }
  .no-svg #glNav-orig li.parent .child .medical li.col-03 a:before { background-image:url(../image/icon/medical_ic03.png); }
  .no-svg #glNav-orig li.parent .child .medical li.col-04 a:before { background-image:url(../image/icon/medical_ic04.png); }
  .no-svg #glNav-orig li.parent .child .medical li.col-05 a:before { background-image:url(../image/icon/medical_ic05.png); }
  .no-svg #glNav-orig li.parent .child .medical li.col-06 a:before { background-image:url(../image/icon/medical_ic06.png); }
  .no-svg #glNav-orig li.parent .child .medical li.col-07 a:before { background-image:url(../image/icon/medical_ic07.png); }

  
  /* 健康応援メニュー
  ==================================================*/
  
  #glNav-orig li.parent .child .health ul {
    margin-left:-10px;
    margin-right:-10px;
  }

  #glNav-orig li.parent .child .health li {
    width:calc(100% / 5);
    float:left;
    padding:0 10px;
    box-sizing:border-box;
  }
  
  #glNav-orig li.parent .child .health li .tmb {
    display:inline-block;
    position:relative;
    width:100%;
    height:150px;
    overflow:hidden;
  }
  
  #glNav-orig li.parent .child .health li .tmb img {
    position:absolute;
    left:50%;
    transform:translateX(-50%);
  }
  
  #glNav-orig li.parent .child .health li .tmb[data-posi=t] img { top:0; }
  #glNav-orig li.parent .child .health li .tmb[data-posi=c] img { top:50%; transform:translate(-50%,-50%); }
  #glNav-orig li.parent .child .health li .tmb[data-posi=b] img { bottom:0; }
}

@media screen {  
  html.is-glNav-sd-open,
  html.is-glNav-sd-open body {
    height:100%;
  }
  
  #glNav-sd-wrap {
    content:"";
    background-color:transparent;
    -webkit-transition:background 0.3s ease;
    transition:background 0.3s ease;
  }
  
  html.is-glNav-sd-open #glNav-sd-wrap {
    background-color:rgba(20,60,70,0.2);
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index:98;
  }
}

@media print,screen and (min-width:641px) and (max-width:1340px) {
  #glNav-orig {
    left:0;
    transform:translateX(0);
    font-size:95%;
  }
}

@media print,screen and (min-width:641px) {
  #glNav-orig {
    -webkit-transition:font-size 0.2s ease;
    transition:font-size 0.2s ease;
  }
}

#glNav-fix_ct {
  display:none;
}
  
#glNav-fix_ct .telLink img {
  width:445px;
  height:67px;
}
  
@media screen {
  html.is-glNav-open {
    overflow-y:hidden;
  }
  
  html.is-glNav-open,
  html.is-glNav-open body {
    height:100%;
  }
  
  #glNav-fix-wrap {
    background-color:transparent;
    -webkit-transition:background 0.3s ease;
    transition:background 0.3s ease;
  }
  
  html.is-glNav-open #glNav-fix-wrap {
    background-color:rgba(20,60,70,0.2);
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index:100;
  }

  #glNav-fix {
    width:100%;
    height:70px;
    position:fixed;
    top:0;
    overflow:hidden;
    box-sizing:border-box;
    transform:translateZ(0);
    background-color:transparent;
    -webkit-overflow-scrolling:touch;
    font-size:112.5%;
    z-index:101;
    pointer-events:none;
  }
  
  html.is-glNav-open #glNav-fix {
    width:100%;
    height:100%;
    pointer-events:auto;
  }
  
  html.is-glNav-open #glNav-fix_win {
    height:100%;
    min-height:100%;
    height:auto;
    float:right;
    background-color:#fff;
    position:relative;
  }
  
  #glNav-clone {
    box-sizing:border-box;
  }
  
  #glNav-clone:after {
    content:"";
    width:100%;
    height:2rem;  /* #glNav-fix_winの下余白分 */
    display:block;
  }
  
  html.is-glNav-open #glNav-clone {
    position:fixed;
    top:70px;
    right:0;
    bottom:0;
    overflow-y:auto;
    z-index:110;
  }
  
  #glNav-clone ul { text-align:left; }
  
  #glNav-clone ul:not(.child) {
    padding-top:1rem;
    padding-bottom:1.5rem;
    font-weight:400;
  }
  
  #glNav-clone li.not-parent,
  #glNav-clone li.parent {
    padding:0 1.5rem;
    box-sizing:border-box;
  }
  
  #glNav-clone li.not-parent a,
  #glNav-clone li.parent > a {
    padding:1rem;
    border-bottom:1px solid #dce2e3;
  }
  
  #glNav-clone ul.child {
    font-size:90%;
    font-weight:200;
    padding-top:1.25rem;
    padding-bottom:1.25rem;
    display:none;
    border-bottom:1px solid #dce2e3;
  }
  
  #glNav-clone ul.child a {
    padding:0.5rem 1rem;
  }
  
  #glNav-clone li.parent > a {
    position:relative;
  }
  
  #glNav-clone li.parent > a:after {
    content:"";
    width:17px;
    height:1px;
    background-color:#144a52;
    position:absolute;
    right:1.25rem;
    top:50%;
    transform:translateY(-50%);
  }
  
  #glNav-clone li.parent > a:before {
    content:"";
    width:1px;
    height:17px;
    background-color:#144a52;
    position:absolute;
    right:1.25rem;
    top:50%;
    transform:translate(-8.5px,-50%);
  }
  
  #glNav-clone li.parent.toggle-active > a {
    background-color:#f0f8f8;
  }
  
  #glNav-clone li.parent.toggle-active > a:before {
    display:none;
  }

  #glNav-clone .icon-instagram {
    display:block;
    width:50px;
    height:auto;
    margin:20px auto 0 auto;
  }
}

@media screen and (min-width:641px) {
  #glNav-fix,
  #glNav-fix_ct {
    min-width:1280px;
  }
  
  html.is-glNav-open #glNav-fix_win,
  html.is-glNav-open #glNav-clone {
    width:500px;
  }
}


@media screen and (max-width:640px) {
  #glNav-orig,
  #glNav-orig li.parent .child {
    display:none !important;
  }
  
  #glNav-fix {
    min-width:500px;
  }
  
  html.is-glNav-open #glNav-fix_win,
  html.is-glNav-open #glNav-clone {
    width:100%;
  }
  
  #glNav-clone li .pc-none {
    display:inline-block !important;
  }
}

@media print {
  #glNav-fix_ct {
    display:none !important;
  }

  #glNav-fix {
    width:100%;
    height:70px;
    position:absolute;
    top:0;
    overflow:hidden;
    box-sizing:border-box;
    transform:translateZ(0);
    background-color:transparent;
    -webkit-overflow-scrolling:touch;
    font-size:112.5%;
    z-index:101;
    pointer-events:none;
  }
}

/*-----------------------------------------------------------------------------------
  マンガでわかる歯科治療
-----------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .glNav-mangaBtn {
    display:inline-block;
    position:absolute;
    right:0;
    bottom:-webkit-calc(100% + 0.75rem);
    bottom:calc(100% + 0.75rem);
  }
}

@media screen and (max-width:640px) {
  .glNav-mangaBtn {
    display:none;
  }
}


/*-----------------------------------------------------------------------------------
  Navボタン
-----------------------------------------------------------------------------------*/

.glNavBtn {
  background-color:#1e968c;
  display:block;
  width:70px;
  height:70px;
  pointer-events:auto;
  float:right;
  position:relative;
  z-index:110;
  -webkit-transition:background 0.2s ease !important;
  transition:background 0.2s ease !important;
}

.ua-pc .glNavBtn:hover { background-color:#3ab7a1; }

.glNavBtn-ic,
.glNavBtn-ic span,
.glNavBtn-ic span:before,
.glNavBtn-ic span:after {
  display:inline-block;
}
html.is-glNav-open .glNavBtn-ic,
html.is-glNav-open .glNavBtn-ic span {
  display:inline-block;
  box-sizing:border-box;
}

.glNavBtn-ic {
  position:relative;
  width:28px;
  height:20px;
  margin-top:25px;
}
    
.glNavBtn-ic span {
  position:absolute;
  left:0;
  width:100%;
  height:2px;
  background-color:#fff;
}

.glNavBtn-ic span:nth-of-type(1) {
  top:0;
}
.glNavBtn-ic span:nth-of-type(2) {
  top:9px;
}
.glNavBtn-ic span:nth-of-type(3) {
  bottom:0;
}

.glNavBtn.is-load .glNavBtn-ic span:nth-of-type(1) {
  -webkit-animation:menu-bar01 0.4s forwards;
  animation:menu-bar01 0.4s forwards;
}

.glNavBtn.is-load .glNavBtn-ic span:nth-of-type(2) {
  transition:all 0.2s 0.2s;
  opacity:1;
}

.glNavBtn.is-load .glNavBtn-ic span:nth-of-type(3) {
  -webkit-animation:menu-bar02 0.4s forwards;
  animation:menu-bar02 0.4s forwards;
}

.glNavBtn.is-close .glNavBtn-ic span:nth-of-type(1) {
  -webkit-animation:active-menu-bar01 0.4s forwards;
  animation:active-menu-bar01 0.4s forwards;
}

.glNavBtn.is-close .glNavBtn-ic span:nth-of-type(2) {
  opacity:0;
}

.glNavBtn.is-close .glNavBtn-ic span:nth-of-type(3) {
  -webkit-animation:active-menu-bar03 0.4s forwards;
  animation:active-menu-bar03 0.4s forwards;
}

@-webkit-keyframes menu-bar01 {
  0% {
    -webkit-transform:translateY(9px) rotate(45deg);
  }
  50% {
    -webkit-transform:translateY(9px) rotate(0);
  }
  100% {
    -webkit-transform:translateY(0) rotate(0);
  }
}
@keyframes menu-bar01 {
  0% {
    transform:translateY(9px) rotate(45deg);
  }
  50% {
    transform:translateY(9px) rotate(0);
  }
  100% {
    transform:translateY(0) rotate(0);
  }
}
@-webkit-keyframes menu-bar02 {
  0% {
    -webkit-transform:translateY(-9px) rotate(-45deg);
  }
  50% {
    -webkit-transform:translateY(-9px) rotate(0);
  }
  100% {
    -webkit-transform:translateY(0) rotate(0);
  }
}
@keyframes menu-bar02 {
  0% {
    transform:translateY(-9px) rotate(-45deg);
  }
  50% {
    transform:translateY(-9px) rotate(0);
  }
  100% {
    transform:translateY(0) rotate(0);
  }
}
@-webkit-keyframes active-menu-bar01 {
  0% {
    -webkit-transform:translateY(0) rotate(0);
  }
  50% {
    -webkit-transform:translateY(9px) rotate(0);
  }
  100% {
    -webkit-transform:translateY(9px) rotate(45deg);
  }
}
@keyframes active-menu-bar01 {
  0% {
    transform:translateY(0) rotate(0);
  }
  50% {
    transform:translateY(9px) rotate(0);
  }
  100% {
    transform:translateY(9px) rotate(45deg);
  }
}
@-webkit-keyframes active-menu-bar03 {
  0% {
    -webkit-transform:translateY(0) rotate(0);
  }
  50% {
    -webkit-transform:translateY(-9px) rotate(0);
  }
  100% {
    -webkit-transform:translateY(-9px) rotate(-45deg);
  }
}
@keyframes active-menu-bar03 {
  0% {
    transform:translateY(0) rotate(0);
  }
  50% {
    transform:translateY(-9px) rotate(0);
  }
  100% {
    transform:translateY(-9px) rotate(-45deg);
  }
}


/*----------------------------------------------------------------------------------------------------

  3. contents
  
----------------------------------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------------
  ページタイトル
-----------------------------------------------------------------------------------*/

#pgHd {
  width:100%;
  height:260px;
  box-sizing:border-box;
  background:linear-gradient(-45deg, #5bb3c3, #a0dcd2, #61c5b4);
  background-size:200% 200%;
  -webkit-animation:Gradient 10s ease infinite;
  -moz-animation:Gradient 10s ease infinite;
  animation:Gradient 10s ease infinite;
  color:#fff;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-content:center;
}

#pgHd h2 {
  font-weight:500;
  line-height:1.5;
  white-space:nowrap;
}

@media screen and (max-width:640px) {
  #pgHd { height:200px; }
}

@-webkit-keyframes Gradient {
  0% {
    background-position:0% 50%
  }
  50% {
    background-position:100% 50%
  }
  100% {
    background-position:0% 50%
  }
}

@-moz-keyframes Gradient {
  0% {
    background-position:0% 50%
  }
  50% {
    background-position:100% 50%
  }
  100% {
    background-position:0% 50%
  }
}

@keyframes Gradient {
  0% {
    background-position:0% 50%
  }
  50% {
    background-position:100% 50%
  }
  100% {
    background-position:0% 50%
  }
}


/*-----------------------------------------------------------------------------------
  パンくず
-----------------------------------------------------------------------------------*/

#pan {
  width:100%;
  padding-top:1.5rem;
  box-sizing:border-box;
  line-height:1.4;
}

#pan ul {
  font-size:81.3%;
  list-style:none;
  text-align:left;
}

#pan li {
  display:inline-block;
  position:relative;
  padding-left:2em;
}

#pan li:before {
  content:"";
  display:inline-block;
  width:0.75em;
  height:1px;
  position:absolute;
  top:50%;
  left:0.5em;
  background-color:rgba(20,60,70,0.4);
}

#pan li:first-child { padding-left:0; }
#pan li:first-child:before { display:none; }

#pan a,
#pan a:visited,
#pan a:hover { color:#1e968c; text-decoration:underline; }
.ua-pc #pan a:hover { color:#3ab7a1; text-decoration:none; }

@media print,screen and (min-width:641px) {
  #pan ul {
    width:1200px;
    margin-left:auto;
    margin-right:auto;
  }
}

@media screen and (max-width:640px) {
  #pan {
    padding-left:1rem;
    padding-right:1rem;
    padding-bottom:0.5rem;
  }
}


/*-----------------------------------------------------------------------------------
  ページ目次
-----------------------------------------------------------------------------------*/

.l-pgIdx,
.l-pgIdx * {
  box-sizing:border-box;
}

.l-pgIdx {
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
  text-align:left;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  row-gap:0.5rem;
  line-height:1.4;
}

.l-pgIdx li a {
  position:relative;
  display:block;
  background-color:#FFF;
  padding:1rem 1rem 1rem 2.75rem;
}

.l-pgIdx li a:before {
  content:"";
  width:0.5rem;
  height:0.5rem;
  position:absolute;
  left:1.25rem;
  top:1.4rem;
  border-top:1px solid #144a52;
  border-right:1px solid #144a52;
  transform:rotate(135deg);
}

.l-pgIdx a,
.l-pgIdx a:visited,
.l-pgIdx a:hover { color:#1e968c; text-decoration:none; }
.ua-pc .l-pgIdx a:hover { color:#3ab7a1; text-decoration:none; }

@media print,screen and (min-width:641px) {
  .l-pgIdx {
    margin-top:60px;
  }
  
  .l-pgIdx li {
    width:calc(100% / 3);
    padding-right:0.5rem;
  }
}

@media screen and (max-width:640px) {
  .l-pgIdx {
    margin-top:2.5rem;
    margin-bottom:1rem;
    padding:0 1.5rem;
  }
  
  .l-pgIdx li {
    width:100%;
  }
}


/*-----------------------------------------------------------------------------------
  見出し
-----------------------------------------------------------------------------------*/

.l-hdLine,
.l-hdLine span {
  font-weight:500;
  line-height:1.5;
}

.l-hdLine span {
  display:inline-block;
  position:relative;
}

/* 20240205削除
.l-hdLine span {
  display:inline-block;
  position:relative;
  padding-bottom:1rem;
}

.l-hdLine span:after {
  content:"";
  display:block;
  width:2em;
  height:1px;
  background-color:#144a52;
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
}
*/

@media screen and (max-width:640px) {
  .l-hdLine { padding:0.25rem 0; }
}


/*-----------------------------------------------------------------------------------
  3ヶ月に1度チェック
-----------------------------------------------------------------------------------*/

.l-teikiCheck {
  background-image:url(../image/teikiCheck_bg.jpg);
  background-repeat:no-repeat;
  height:250px;
  position:relative;
}

.l-teikiCheck p {
  box-sizing:border-box;
  text-align:left;
  color:#1e968c;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}

.l-teikiCheck .mk {
  display:inline-block;
  background:linear-gradient(transparent 0, #61c5b4 0);
  color:#fff;
  margin-right:0.5rem;
  padding:0 0.5rem;
}

@media print,screen and (min-width:641px) {
  .l-teikiCheck {
    background-position:center top;
    background-size:2000px auto;
  }

  .l-teikiCheck p {
    width:1200px;
    margin-left:auto;
    margin-right:auto;
  }

  .l-teikiCheck .mk:last-child {
    margin-left:0.5rem;
  }
}

@media screen and (max-width:640px) {
  .l-teikiCheck {
    background-position:65% top;
    background-size:cover;
  }
  
  .l-teikiCheck p {
    width:100%;
    padding-left:1.5rem;
    top:58%;
  }
  
  .l-teikiCheck .mk:last-child {
    margin-top:0.5rem;
  }
}


/*----------------------------------------------------------------------------------------------------

  4. footer
  
----------------------------------------------------------------------------------------------------*/

footer {
  position:relative;
}

.ft_ct {
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
  text-align:left;
}

@media print,screen and (min-width:641px) {
  .ft_ct {
    font-size:98%;
  }
}

/*-----------------------------------------------------------------------------------
  住所・TEL・診療時間
-----------------------------------------------------------------------------------*/

#ftT {
  background-color:#fff;
}

.ftT_logo {
  display:inline-block;
  white-space:nowrap;
  color:#1e968c;
  line-height:1;
  font-size:175%;
  font-weight:500;
  padding-top:0.5rem;
  text-align:left;
  margin-left:auto;
  margin-right:auto;
}

.ftT_logo img {
  width:60px;
  margin-right:0.75rem;
  margin-top:-0.5rem;
}

.ftT_logo a,
.ftT_logo a:visited,
.ftT_logo a:hover {
  color:inherit;
  text-decoration:none;
}

.ftT_logo .cname {
  display:inline-block;
  margin-bottom:0.2rem;
}

.ftT_logo .hojin {
  display:block;
  font-size:0.48em;
  margin-bottom:0.4rem;
}

#ftT address {
  display:block;
  padding-bottom:1rem;
  padding-left:0.5rem;
}

.ft_ct .telLink img {
  width:399px;
  height:59px;
}

.ftT_hrs {
  overflow:hidden;
}

@media print,screen and (min-width:641px) {
  #ftT {
    padding-top:60px;
    padding-bottom:60px;
  }
  
  .ft_ct { position:relative; }
  
  #ftT address { padding-top:1.25rem; }
  
  .ftT_hrs {
    width:770px;
    position:absolute;
    right:0;
    bottom:0.5rem;
  }
}

@media screen and (max-width:640px) {
  #ftT { padding:2.5rem 1.5rem; }
  
  #ftT .ft_ct { text-align:center; }
  
  #ftT address { padding-top:1rem; }
  
  .ftT_hrs { padding-top:1.5rem; }
}


/*-----------------------------------------------------------------------------------
  Map
-----------------------------------------------------------------------------------*/

#ftMap {
  width:100%;
  height:400px;
  overflow:hidden;
  background-color:#fff;
}

#ftMap iframe {
  width:100%;
  height:100%;
  vertical-align:bottom;
}


/*-----------------------------------------------------------------------------------
  Nav
-----------------------------------------------------------------------------------*/

#ftB {
  background-color:#128080;
}

#ftB,
#ftB a,
#ftB a:visited,
#ftB a:hover { color:#fff; text-decoration:none; }

#ftB nav ul { list-style:none; }

#ftB nav ul.not-parent li a,
#ftB nav ul li.parent > a,
#ftB nav ul li.parent > span {
  font-weight:400;
}

#ftB nav ul.child {
  margin-top:0.5rem;
  font-size:87.5%;
}

@media print,screen and (min-width:641px) {
  #ftB {
    padding-top:60px;
    padding-bottom:60px;
  }
  
  #ftB a:hover { text-decoration:underline; }
  
  #ftB nav {
    display:flex;
    column-gap:4.5rem;
  }

  #ftB nav li a { display:inline-block; }

  #ftB nav ul.not-parent li > a,
  #ftB nav ul.not-parent li > span {
    margin-bottom:0.5rem;
  }

  #ftB nav ul.child li > a,
  #ftB nav ul.child li > span {
    margin-bottom:0.25rem;
  }
  
  #copyright {
    padding-top:40px;
  }
}

@media screen and (max-width:640px) {
  #ftB nav {
    display:none;
  }
  
  #copyright {
    padding:1rem 1.5rem 1.5rem 1.5rem;
    text-align:center;
  }
}


/*-----------------------------------------------------------------------------------
  page top
-----------------------------------------------------------------------------------*/

.page-top {
  text-align:center;
  display:none;
  font-weight:300;
}

.page-top a {
  display:block;
  box-sizing:border-box;
  position:relative;
}

.page-top span {
  width:100%;
  display:block;
  text-align:center;
  padding-top:1.5em;
}

.page-top span:before {
  content:"";
  display:block;
  position:absolute;
  left:50%;
  width:10px;
  height:10px;
  margin-left:-5px;
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
}

@media print,screen and (min-width:641px) {
  .page-top {
    width:100%;
    min-width:1280px;
    height:80px;
    position:fixed;
    bottom:0;
    z-index:99;
    font-size:62.5%;
    pointer-events:none;
  }
  
  .page-top a {
    width:80px;
    height:80px;
    float:right;
    pointer-events:auto;
  }

  .page-top span {
    position:absolute;
    left:0;
    top:50%;
    margin-top:-1em;
  }
  
  .page-top span:before {
    top:0;
    border-left:1px solid #144a52;
    border-top:1px solid #144a52;
  }
  
  .page-top.sclB span:before {
    border-left:1px solid #fff;
    border-top:1px solid #fff;
  }

  .page-top a,
  .page-top a:visited,
  .page-top a:hover,
  .ua-pc .page-top a:hover {
    color:#143c46 !important;
    text-decoration:none;
  }
  
  .page-top.sclB a,
  .page-top.sclB a:visited,
  .page-top.sclB a:hover,
  .ua-pc .page-top.sclB a:hover {
    color:#fff !important;
  }

  .page-top span:before {
    -webkit-transition:all 0.2s;
    -moz-transition:all 0.2s;
    -o-transition:all 0.2s;
    -webkit-transition:all 0.2s;
    transition:all 0.2s;
  }
}

@media screen and (max-width:640px) {
  .page-top {
    width:100%;
    font-size:75%;
    padding-top:1.5rem;
  }
  
  .page-top a {
    padding-top:1rem;
    padding-bottom:1rem;
  }
  
  .page-top span { padding-top:1.75em; }
  
  .page-top span:before {
    top:1.5rem;
    border-left:1px solid #fff;
    border-top:1px solid #fff;
  }

  .page-top a,
  .page-top a:visited,
  .page-top a:hover,
  .ua-pc .page-top a:hover {
    color:#fff;
    text-decoration:none;
  }

  .page-top a {
    -webkit-transition:none;
    transition:none;
  }
}

@media print {
  .page-top { display:none !important; }
}


/*----------------------------------------------------------------------------------------------------

  99. parts
  
----------------------------------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------------
  診療時間
-----------------------------------------------------------------------------------*/

.hrsTbl {
  border-collapse:collapse;
  border-spacing:0;
  color:#1e968c;
}
  
.hrsTbl thead th {
  text-align:center;
  white-space:nowrap;
}

.hrsTbl th,
.hrsTbl td {
  text-align:center;
  vertical-align:middle;
  padding:0.75rem;
  line-height:1.4;
}

.hrsTbl th {
  font-weight:300;
  padding-left:1rem;
}

.hrsTbl thead th,
.hrsTbl tbody th,
.hrsTbl tbody td { border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#d2eae8; }

.hrsTbl thead th:last-child,
.hrsTbl tbody td:last-child { padding-left:0; }
.hrsTbl tbody td { width:11%; vertical-align:top; padding-top:0.85rem; }

.hrsTbl tbody th { white-space:nowrap; }
.hrsTbl tbody th .am { display:inline-block; padding-left:0.6em; }

.hrsTbl tbody td small { font-size:75%; white-space:nowrap; }


/* アイコン
=====================================================================================*/

.hrs-mk {
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
  display:inline-block;
  vertical-align:middle;
  box-sizing:border-box;
  width:0.9em;
  height:0.9em;
  margin-top:-0.2em;
  position:relative;
}

.hrs-mk[data-ic="1"] {
  border-radius:50%;
  background-color:#3ab7a1;
}

.hrs-mk[data-ic="0"]:after {
  display:block;
  content:"";
  width:1px;
  height:100%;
  -webkit-transform:rotate(45deg);
  -o-transform:rotate(45deg);
  transform:rotate(45deg);
  background-color:#3ab7a1;
  position:absolute;
  top:0;
  left:50%;
}


/*-----------------------------------------------------------------------------------
  ボタン
-----------------------------------------------------------------------------------*/

.l-btn {
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  display:inline-block;
  box-sizing:border-box;
  border:none;
  margin:0;
  outline:none;
  text-align:center;
  text-decoration:none;
  font-size:inherit;
  cursor:pointer;
  line-height:1.4;
  border-radius:3px;
  padding:0.65em 3em;
  position:relative;
  overflow:hidden;
}

.l-btn,
.ua-pc .l-btn {
  -webkit-transition:background ease 0.2s, border ease 0.2s, color ease 0.1s;
  -moz-transition:background ease 0.2s, border ease 0.2s, color ease 0.1s;
  -ms-transition:background ease 0.2s, border ease 0.2s, color ease 0.1s;
  -o-transition:background ease 0.2s, border ease 0.2s, color ease 0.1s;
  transition:background ease 0.2s, border ease 0.2s, color ease 0.1s;
}

.l-btn,
.l-btn:visited,
.l-btn:hover { color:inherit; text-decoration:none !important; }

.l-btn .l-btn__txt {
  position:relative;
  z-index:2;
}

.l-btn[data-type="line"]:before {
  content:"";
  width:102%;
  height:102%;
  position:absolute;
  left:-1%;
  top:-1%;
  right:-1%;
  bottom:-1%;
  transform-origin:right top;
  transform:scale(0,1);  
}

.ua-pc .l-btn[data-type="line"]:before {
  -webkit-transition:transform 0.5s;
  -moz-transition:transform 0.5s;
  -ms-transition:transform 0.5s;
  -o-transition:transform 0.5s;
  transition:transform 0.5s;
}
  
.ua-pc .l-btn[data-type="line"]:hover:before,
.ua-pc .l-btn[data-type="line"] a:hover:before,
.ua-pc .linkBox:hover .l-btn[data-type="line"]:before {
  transform-origin:left top;
  transform:scale(1,1);
}


/* サイズ
=====================================================================================*/

.l-btn[data-size="S"] { padding:0.5em 2.5em; font-size:87.5%; }
.l-btn[data-size="M"] { font-size:112.5%; }
.l-btn[data-size="L"] { font-size:125%; }


/* カラー
=====================================================================================*/

.l-btn[data-color="gray"],
.l-btn[data-color="gray"]:visited,
.l-btn[data-color="gray"]:hover,
.ua-pc .l-btn[data-color="gray"]:hover,
.ua-pc .linkBox:hover .l-btn[data-type="gray"] { color:#fff; }
.l-btn[data-color="gray"] { color:#fff; background-color:#a1b1b5; }
.ua-pc .l-btn[data-color="gray"]:hover,
.ua-pc .linkBox:hover .l-btn[data-type="gray"] { background-color:#b8c4c7; }

.l-btn[data-color="lgreen"],
.l-btn[data-color="lgreen"]:visited,
.l-btn[data-color="lgreen"]:hover,
.ua-pc .l-btn[data-color="lgreen"]:hover,
.ua-pc .linkBox:hover .l-btn[data-type="lgreen"] { color:#fff; }
.l-btn[data-color="lgreen"] { color:#fff; background-color:#87c373; }
.ua-pc .l-btn[data-color="lgreen"]:hover,
.ua-pc .linkBox:hover .l-btn[data-type="lgreen"] { background-color:#96d282; }

.l-btn[data-type="line"],
.l-btn[data-type="line"]:visited { color:#1e968c; }
.l-btn[data-type="line"]:hover,
.ua-pc .l-btn[data-type="line"]:hover,
.ua-pc .linkBox:hover .l-btn[data-type="line"] { color:#fff; }
.l-btn[data-type="line"] { background-color:#fff; -webkit-box-shadow:inset 0 0 0 1px #66c5b7; box-shadow:inset 0 0 0 1px #66c5b7; }
.ua-pc .l-btn[data-type="line"]:hover,
.ua-pc .linkBox:hover .l-btn[data-type="line"] { background-color:#fff; -webkit-box-shadow:inset 0 0 0 1px #3ab7a1; box-shadow:inset 0 0 0 1px #3ab7a1; }
.l-btn[data-type="line"]:before { background-color:#3ab7a1; }

.l-btn,
.l-btn:visited,
.l-btn:hover,
.ua-pc .l-btn:hover,
.ua-pc .linkBox:hover .l-btn { color:#fff; }
.l-btn { color:#fff; background-color:#1e968c; }
.ua-pc .l-btn:hover,
.ua-pc .linkBox:hover .l-btn { background-color:#3ab7a1; }

.l-btn .l-arTxt { display:inline-block; }
.ua-pc .l-btn .l-arTxt {
  -webkit-transition:all 0.3s;
  -moz-transition:all 0.3s;
  -ms-transition:all 0.3s;
  -o-transition:all 0.3s;
  transition:all 0.3s;
}
.ua-pc .l-btn:hover .l-arTxt,
.ua-pc .linkBox:hover .l-arTxt {
  margin-right:-1.25rem;
  padding-left:1.25rem;
}

.l-btn .l-ar { border-color:#fff; }
.ua-pc .l-btn .l-ar  {
  -webkit-transition:all 0.3s;
  -moz-transition:all 0.3s;
  -ms-transition:all 0.3s;
  -o-transition:all 0.3s;
  transition:all 0.3s;
}
.ua-pc .l-btn:hover .l-ar,
.ua-pc .linkBox:hover .l-btn .l-ar {
  transform-origin:left top;
  transform:skew(45deg) scale(0,1);
  opacity:0;
}


/* 方向
=====================================================================================*/

/* 左 */
.ua-pc .l-btn[data-drc="prev"]:hover .l-arTxt {
  margin-right:0;
  padding-left:0;
  margin-left:-1.25rem;
  padding-right:1.25rem;
}


/*-----------------------------------------------------------------------------------
  矢印アイコン
-----------------------------------------------------------------------------------*/

.l-ar {
  width:2rem;
  height:5px;
  line-height:0;
  box-sizing:border-box;
  display:inline-block;
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
  vertical-align:middle;
  border-bottom-width:1px;
  border-bottom-style:solid;
  border-right-width:1px;
  border-right-style:solid;
  transform:skew(45deg);
  margin-top:-0.2em;
  margin-left:1rem;
}


/* 位置（左）
=====================================================================================*/

.l-ar[data-posi="L"] {
  margin-left:0;
  margin-right:1rem;
}


/* 方向
=====================================================================================*/

/* 左 */
.l-ar[data-drc="prev"] {
  border-right:0;
  border-left-width:1px;
  border-left-style:solid;
  transform:skew(-45deg);
}
.ua-pc .l-btn:hover .l-ar[data-drc="prev"] {
  transform-origin:right top;
  transform:skew(-45deg) scale(0,1);
}


/* カラー
=====================================================================================*/

.l-ar { border-color:#144a52; }
.l-ar[data-color="white"] { border-color:#fff; }


/*-----------------------------------------------------------------------------------
  Telアイコン
-----------------------------------------------------------------------------------*/

.l-tel_no {
  display:inline-block;
  vertical-align:middle;
  font-weight:500;
}

.l-tel_no:before {
  content:"";
  width:1.2em;
  height:1.2em;
  display:inline-block;
  vertical-align:middle;
  background-repeat:no-repeat;
  background-position:left center;
  background-size:contain;
  margin-top:-0.2em;
}

.l-tel .rsv {
  vertical-align:middle;
  display:inline-block;
  border-bottom-width:1px;
  border-bottom-style:solid;
  border-top-width:1px;
  border-top-style:solid;
  line-height:1;
  margin-left:0.75rem;
  margin-top:0.25em;
  padding:0.5em;
  font-size:80%;
}

.l-tel_no [data-ruby] {
  position:relative;
}

.l-tel_no [data-ruby]:after {
  font-weight:300;
  content:attr(data-ruby);
  white-space:nowrap;
  position:absolute;
  top:-0.85em;
  left:50%;
  margin:auto;
  transform:translateX(-50%);
  font-size:30%;
}


/* サイズ
=====================================================================================*/

.l-tel[data-size="L"] .l-tel_no { font-size:220%; }
.l-tel[data-size="M"] .l-tel_no { font-size:180%; }
.l-tel .l-tel_no { font-size:140%; }


/* カラー
=====================================================================================*/

.l-tel,
.l-tel a { color:#1e968c !important; }
.l-tel .rsv { border-color:#72bdb7; }
.l-tel .l-tel_no:before { background-image:url(../image/icon/tel.svg); }
.no-svg .l-tel .l-tel_no:before { background-image:url(../image/icon/tel.png); }


/*-----------------------------------------------------------------------------------
  Mailアイコン
-----------------------------------------------------------------------------------*/

.l-mail:before {
  content:"";
  width:1em;
  height:1em;
  display:inline-block;
  vertical-align:middle;
  background-repeat:no-repeat;
  background-position:left center;
  background-size:contain;
  margin-right:0.5rem;
  margin-top:-0.1em;
}


/* カラー
=====================================================================================*/

.l-mail[data-color="white"]:before { background-image:url(../image/icon/mail_white.svg); }
.no-svg .l-mail[data-color="white"]:before { background-image:url(../image/icon/mail_white.png); }

.l-mail:before { background-image:url(../image/icon/mail.svg); }
.no-svg .l-mail:before { background-image:url(../image/icon/mail.png); }


/*-----------------------------------------------------------------------------------
  [見出し]
-----------------------------------------------------------------------------------*/

.l-ttl {
  display:inline-block;
  position:relative;
  font-weight:500;
  color:#1e968c;
}

.l-ttl:before,
.l-ttl:after { 
  content:"";
  position:absolute;
  top:0;
  width:10px;
  height:100%;
  display:inline-block;
  border-top:solid 1px #78c0ba;
  border-bottom:solid 1px #78c0ba;
}

.l-ttl:before {
  border-left:solid 1px #78c0ba;
  left:0;
}

.l-ttl:after {
  border-right:solid 1px #78c0ba;
  right:0;
}

@media print,screen and (min-width:641px) {
  .l-ttl {
    padding-left:1.25em;
    padding-right:1.25em;
  }
}

@media screen and (max-width:640px) {
  .l-ttl {
    padding-left:0.75em;
    padding-right:0.75em;
  }
  
  .l-ttl.fs-3l { font-size:168.7%; }
}


/*-----------------------------------------------------------------------------------
  小見出し
  ///////
-----------------------------------------------------------------------------------*/

.l-subTtlLine-wrap {
  display:inline-block;
  line-height:1.4;
  color:#1e968c;
  position:relative;
  padding-bottom:1rem;
  padding-left:0.25rem;
  padding-right:0.25rem;
}

.l-subTtlLine,
.l-subTtlLine:after {
  width:100%;
  height:4px;
  display:block;
  position:absolute;
  left:0;
  bottom:0;
}

.l-subTtlLine {
  overflow:hidden;
  transform:skewX(-45deg);
}

.l-subTtlLine:after {
  content:"";
  background-size:4px 4px;
  background-color:rgba(255, 255, 255, 1);
  background-image:repeating-linear-gradient(-45deg, transparent, transparent 2px, rgba(120, 192, 186, 1) 2px, rgba(120, 192, 186, 1) 3px);
  transform:skewX(45deg) scale(1.1);
}


/*-----------------------------------------------------------------------------------
  マーカー
-----------------------------------------------------------------------------------*/

.l-mk {
  display:inline;
  background:linear-gradient(transparent 0, #61c5b4 0);
  color:#fff;
}


/*-----------------------------------------------------------------------------------
  注釈
-----------------------------------------------------------------------------------*/

span.l-annot,
small.l-annot,
b.l-annot { display:inline-block; }
.l-annotList { list-style:none; }

.l-annot,
.l-annotList li {
  padding-left:1.25rem;
  padding-top:0.25rem;
}

.l-annotList li:first-child { padding-top:0; }

.l-annot:before,
.l-annotList li:before {
  content:"※";
  margin-left:-1.25rem;
  margin-right:0.25rem;
}


/*-----------------------------------------------------------------------------------
  チェックボックス
-----------------------------------------------------------------------------------*/

.l-is-checkBox {
  list-style:none;
  text-align:left;
}

.l-is-checkBox li {
  text-align:left;
  box-sizing:border-box;
  padding-top:0.75rem;
  line-height:1.4;
  position:relative;
}

.l-is-checkBox li input {
  opacity:0;
  position:absolute;
  top:0;
  width:100%;
  height:100%;
  cursor:pointer;
}

.l-is-checkBox li input[type="checkbox"] + label {
  display:block;
  background-image:url(../image/icon/is-checkbox.svg);
  background-repeat:no-repeat;
  background-position:left top;
  background-size:auto 1.2em;
  padding-left:1.95em;
}
.l-is-checkBox li input[type="checkbox"]:checked + label {
  background-image:url(../image/icon/is-checkbox_on.svg);
}

.no-svg .l-is-checkBox li input[type="checkbox"] + label {
  background-image:url(../image/icon/is-checkbox.png);
}
.no-svg .l-is-checkBox li input[type="checkbox"]:checked + label {
  background-image:url(../image/icon/is-checkbox_on.png);
}

.ua-pc .l-is-checkBox li:hover { color:#728a90; }
.ua-pc .l-is-checkBox li {
  -webkit-transition:color 0.1s ease;
  transition:color 0.1s ease;
}


/*-----------------------------------------------------------------------------------
  チェックリスト
-----------------------------------------------------------------------------------*/

.l-is-checkList {
  list-style:none;
  text-align:left;
}

.l-is-checkList li {
  box-sizing:border-box;
  padding-left:1.95em;
  line-height:1.4;
}

.l-is-checkList li:not(:first-child) {
  padding-top:0.75rem;
}

.l-is-checkList li:before {
  content:"";
  width:1.2em;
  height:1.2em;
  margin-left:-1.95em;
  display:inline-block;
  background-image:url(../image/icon/check.svg);
  background-repeat:no-repeat;
  background-position:left top;
  background-size:contain;
  vertical-align:middle;
  margin-right:0.75em;
}

.no-svg .l-is-checkList li:before:before {
  background-image:url(../image/icon/check.png);
}


/*-----------------------------------------------------------------------------------
  ファイルアイコン
-----------------------------------------------------------------------------------*/

.l-file {
  content:"";
  display:inline-block;
  width:2em;
  height:2em;
  margin-top:-0.25em;
  margin-right:0.5em;
  vertical-align:middle;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  line-height:0;
  display:inline-block;
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
}

.l-file[data-posi="R"] {
  margin-left:0.5em;
}

.l-file.pdf { background-image:url(../image/icon/pdf.svg); }
.l-file.doc { background-image:url(../image/icon/doc.svg); }
.l-file.xls { background-image:url(../image/icon/xls.svg); }
.l-file.ppt { background-image:url(../image/icon/ppt.svg); }

.no-svg .l-file.pdf { background-image:url(../image/icon/pdf.png); }
.no-svg .l-file.doc { background-image:url(../image/icon/doc.png); }
.no-svg .l-file.xls { background-image:url(../image/icon/xls.png); }
.no-svg .l-file.ppt { background-image:url(../image/icon/ppt.png); }


/*-----------------------------------------------------------------------------------
  外部リンクアイコン
-----------------------------------------------------------------------------------*/

.l-glink:after {
  display:inline-block;
  vertical-align:top;
  margin-left:8px;
  margin-top:-0.15em;
}

.l-glink[data-color="white"]:after { content:url(../image/icon/glink_white.svg); }
.no-svg .l-glink[data-color="white"]:after { content:url(../image/icon/glink_white.png); }

.l-glink:after { content:url(../image/icon/glink.svg); }
.no-svg .l-glink:after { content:url(../image/icon/glink.png); }


/*-----------------------------------------------------------------------------------

  ブログパターン
  
-----------------------------------------------------------------------------------*/

.glog {
  text-align:left;
  box-sizing:border-box;
  word-break:break-all;
}

.glog:after {
  content:"";
  display:block;
  height:0;
  clear:both;
}

.glog ul,
.glog ol {
  list-style:inherit;
  margin-left:1.25em;
  margin-left:1.25rem;
}
.glog ol {
  list-style:decimal;
}

.glog-image-left .glog-img,
.glog-image-right .glog-img {
  display:inline-block;
  margin-bottom:10px;
  box-sizing:border-box;
  margin-top:0.25em;
  margin-top:0.25rem;
}

.glog-image-left .glog-img {
  float:left;
  margin-right:40px;
}

.glog-image-right .glog-img {
  float:right;
  margin-left:40px;
}

.glog-image-center .glog-img {
  display:block;
  text-align:center;
  margin-bottom:30px;
}

.glog-image-center-bottom .glog-img {
  display:block;
  text-align:center;
  margin-top:30px;
}

.glog-img_cp {
  display:block;
  font-size:87.5%;
  line-height:1.5;
  color:#728a90;
  padding-top:0.5em;
  text-align:center;
}

.glog .datafile {
  margin-top:1em;
  margin-bottom:1rem;
  display:inline-block;
}

.glog b,
.glog strong { font-weight:400; }

@media print,screen and (min-width:641px) {
  .glog:first-of-type { padding-top:40px; }
  .glog:not(:first-of-type) { padding-top:60px; }
}

@media screen and (max-width:640px) {
  .glog {
    padding-top:2rem;
    padding-bottom:1rem;
  }

  .glog-image-center .glog-img {
    margin-bottom:1.5rem;
    margin-top:0.25rem;
  }

  .glog-image-center-bottom .glog-img {
    margin-top:1.5rem;
    margin-bottom:0.25rem;
  }
  
  .glog-image-left .glog-img,
  .glog-image-right .glog-img {
    float:none;
    display:block;
    text-align:center;
    width:100% !important;
    max-width:100% !important;
    margin-bottom:1.5rem;
    margin-left:0;
    margin-right:0;
  }
}


/*-----------------------------------------------------------------------------------
  pagination
-----------------------------------------------------------------------------------*/

.glog-pagination {
  text-align:center;
}

.glog-pagination ul {
  display:inline-block;
  list-style:none;
  margin-left:-3px;
}

.glog-pagination li {
  float:left;
  display:inline-block;
  margin:4px;
  font-size:87.5%;
  line-height:1;
}

.glog-pagination li:after {
  content:"";
  display:block;
  height:0;
  clear:both;
}

.glog-pagination li a { display:block; }

.glog-pagination li a,
.glog-pagination li a:visited,
.glog-pagination li a:hover { color:#1e968c; text-decoration:none; }
.glog-pagination li span.active { color:#fff; background-color:#3ab7a1; }

.glog-pagination li span {
  line-height:1;
  width:2em;
  height:2em;
  padding-top:0.4em;
  display:block;
  color:#1e968c;
  background-color:#fff;
  box-sizing:border-box;
}

@media print,screen and (min-width:641px) {
  .glog-pagination { padding-top:40px; }
  
  .glog-pagination li span {
    -webkit-transition:background ease 0.15s, border ease 0.15s, color ease 0.15s;
    transition:background ease 0.15s, border ease 0.15s, color ease 0.15s;
  }

  .glog-pagination li span.active:hover,
  .glog-pagination li span.active { color:#fff; background-color:#3ab7a1; }
  .glog-pagination li span:hover { color:#1e968c; background-color:#ceece9; }
  .glog-pagination li span:hover,
  .glog-pagination li span:hover a,
  .glog-pagination li a:hover { color:#1e968c; }
}

@media screen and (max-width:640px) {
  .glog-pagination { padding-top:2rem; }
}


/*-----------------------------------------------------------------------------------
  非公開
-----------------------------------------------------------------------------------*/

.private-alert p {
  box-sizing:border-box;
  margin-bottom:50px;
  text-align:left;
  background-color:#feeff2;
  color:#e1554b;
  padding:1rem;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
}

.private-alert b {
  font-weight:500;
  background-color:#e1554b;
  font-size:75.0%;
  color:#fff;
  padding:0.4em 0.4em 0.5em 0.4em;
  vertical-align:middle;
  margin-right:1em;
  white-space:nowrap;
}

.private-alert small {
  font-size:87.5%;
  -webkit-flex:1;
  flex:1;
}
