:root {
  --primary: #005bab
}

.l-main.-mariavilla {
  --primary: #801749
}

#tinymce {
  width: 1080px;
  padding-top: 0
}

#tinymce.article-free p {
  margin-bottom: 20px
}

#tinymce .slide-menu {
  display: block;
  padding-top: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  visibility: visible;
  opacity: 1
}

#tinymce .fixed-anchor-wrap {
  display: block
}

.error {
  color: red
}

blockquote {
  border-left: 5px solid #ddd;
  padding: 5px 0 5px 30px;
  margin: 0
}

body {
  color: #23234b;
  font-size: 17px;
  font-family: "Noto Sans JP", sans-serif, "ヒラギノ角ゴシック ProN", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "游ゴシック体", "Yu Gothic", YuGothic;
  font-weight: 400
}

p,
dt,
dd,
li,
th,
td {
  line-height: 2
}

a {
  text-decoration: underline;
  color: var(--primary)
}

a:hover {
  text-decoration: none
}

a:hover {
  color: var(--primary)
}

a[href^="tel:"] {
  color: #23234b;
  text-decoration: underline
}

@media only screen and (min-width: 769px) {
  a[href^="tel:"] {
    text-decoration: none;
    pointer-events: none
  }
}

@media only screen and (max-width: 768px) {
  body {
    font-size: 15px
  }
}

.mt0 {
  margin-top: 0px !important
}

.mr0 {
  margin-right: 0px !important
}

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

.ml0 {
  margin-left: 0px !important
}

.pt0 {
  padding-top: 0px !important
}

.pr0 {
  padding-right: 0px !important
}

.pb0 {
  padding-bottom: 0px !important
}

.pl0 {
  padding-left: 0px !important
}

.mt1 {
  margin-top: 1px !important
}

.mr1 {
  margin-right: 1px !important
}

.mb1 {
  margin-bottom: 1px !important
}

.ml1 {
  margin-left: 1px !important
}

.pt1 {
  padding-top: 1px !important
}

.pr1 {
  padding-right: 1px !important
}

.pb1 {
  padding-bottom: 1px !important
}

.pl1 {
  padding-left: 1px !important
}

.mt2 {
  margin-top: 2px !important
}

.mr2 {
  margin-right: 2px !important
}

.mb2 {
  margin-bottom: 2px !important
}

.ml2 {
  margin-left: 2px !important
}

.pt2 {
  padding-top: 2px !important
}

.pr2 {
  padding-right: 2px !important
}

.pb2 {
  padding-bottom: 2px !important
}

.pl2 {
  padding-left: 2px !important
}

.mt3 {
  margin-top: 3px !important
}

.mr3 {
  margin-right: 3px !important
}

.mb3 {
  margin-bottom: 3px !important
}

.ml3 {
  margin-left: 3px !important
}

.pt3 {
  padding-top: 3px !important
}

.pr3 {
  padding-right: 3px !important
}

.pb3 {
  padding-bottom: 3px !important
}

.pl3 {
  padding-left: 3px !important
}

.mt4 {
  margin-top: 4px !important
}

.mr4 {
  margin-right: 4px !important
}

.mb4 {
  margin-bottom: 4px !important
}

.ml4 {
  margin-left: 4px !important
}

.pt4 {
  padding-top: 4px !important
}

.pr4 {
  padding-right: 4px !important
}

.pb4 {
  padding-bottom: 4px !important
}

.pl4 {
  padding-left: 4px !important
}

.mt5 {
  margin-top: 5px !important
}

.mr5 {
  margin-right: 5px !important
}

.mb5 {
  margin-bottom: 5px !important
}

.ml5 {
  margin-left: 5px !important
}

.pt5 {
  padding-top: 5px !important
}

.pr5 {
  padding-right: 5px !important
}

.pb5 {
  padding-bottom: 5px !important
}

.pl5 {
  padding-left: 5px !important
}

.mt6 {
  margin-top: 6px !important
}

.mr6 {
  margin-right: 6px !important
}

.mb6 {
  margin-bottom: 6px !important
}

.ml6 {
  margin-left: 6px !important
}

.pt6 {
  padding-top: 6px !important
}

.pr6 {
  padding-right: 6px !important
}

.pb6 {
  padding-bottom: 6px !important
}

.pl6 {
  padding-left: 6px !important
}

.mt7 {
  margin-top: 7px !important
}

.mr7 {
  margin-right: 7px !important
}

.mb7 {
  margin-bottom: 7px !important
}

.ml7 {
  margin-left: 7px !important
}

.pt7 {
  padding-top: 7px !important
}

.pr7 {
  padding-right: 7px !important
}

.pb7 {
  padding-bottom: 7px !important
}

.pl7 {
  padding-left: 7px !important
}

.mt8 {
  margin-top: 8px !important
}

.mr8 {
  margin-right: 8px !important
}

.mb8 {
  margin-bottom: 8px !important
}

.ml8 {
  margin-left: 8px !important
}

.pt8 {
  padding-top: 8px !important
}

.pr8 {
  padding-right: 8px !important
}

.pb8 {
  padding-bottom: 8px !important
}

.pl8 {
  padding-left: 8px !important
}

.mt9 {
  margin-top: 9px !important
}

.mr9 {
  margin-right: 9px !important
}

.mb9 {
  margin-bottom: 9px !important
}

.ml9 {
  margin-left: 9px !important
}

.pt9 {
  padding-top: 9px !important
}

.pr9 {
  padding-right: 9px !important
}

.pb9 {
  padding-bottom: 9px !important
}

.pl9 {
  padding-left: 9px !important
}

.mt10 {
  margin-top: 10px !important
}

.mr10 {
  margin-right: 10px !important
}

.mb10 {
  margin-bottom: 10px !important
}

.ml10 {
  margin-left: 10px !important
}

.pt10 {
  padding-top: 10px !important
}

.pr10 {
  padding-right: 10px !important
}

.pb10 {
  padding-bottom: 10px !important
}

.pl10 {
  padding-left: 10px !important
}

.mt11 {
  margin-top: 11px !important
}

.mr11 {
  margin-right: 11px !important
}

.mb11 {
  margin-bottom: 11px !important
}

.ml11 {
  margin-left: 11px !important
}

.pt11 {
  padding-top: 11px !important
}

.pr11 {
  padding-right: 11px !important
}

.pb11 {
  padding-bottom: 11px !important
}

.pl11 {
  padding-left: 11px !important
}

.mt12 {
  margin-top: 12px !important
}

.mr12 {
  margin-right: 12px !important
}

.mb12 {
  margin-bottom: 12px !important
}

.ml12 {
  margin-left: 12px !important
}

.pt12 {
  padding-top: 12px !important
}

.pr12 {
  padding-right: 12px !important
}

.pb12 {
  padding-bottom: 12px !important
}

.pl12 {
  padding-left: 12px !important
}

.mt13 {
  margin-top: 13px !important
}

.mr13 {
  margin-right: 13px !important
}

.mb13 {
  margin-bottom: 13px !important
}

.ml13 {
  margin-left: 13px !important
}

.pt13 {
  padding-top: 13px !important
}

.pr13 {
  padding-right: 13px !important
}

.pb13 {
  padding-bottom: 13px !important
}

.pl13 {
  padding-left: 13px !important
}

.mt14 {
  margin-top: 14px !important
}

.mr14 {
  margin-right: 14px !important
}

.mb14 {
  margin-bottom: 14px !important
}

.ml14 {
  margin-left: 14px !important
}

.pt14 {
  padding-top: 14px !important
}

.pr14 {
  padding-right: 14px !important
}

.pb14 {
  padding-bottom: 14px !important
}

.pl14 {
  padding-left: 14px !important
}

.mt15 {
  margin-top: 15px !important
}

.mr15 {
  margin-right: 15px !important
}

.mb15 {
  margin-bottom: 15px !important
}

.ml15 {
  margin-left: 15px !important
}

.pt15 {
  padding-top: 15px !important
}

.pr15 {
  padding-right: 15px !important
}

.pb15 {
  padding-bottom: 15px !important
}

.pl15 {
  padding-left: 15px !important
}

.mt16 {
  margin-top: 16px !important
}

.mr16 {
  margin-right: 16px !important
}

.mb16 {
  margin-bottom: 16px !important
}

.ml16 {
  margin-left: 16px !important
}

.pt16 {
  padding-top: 16px !important
}

.pr16 {
  padding-right: 16px !important
}

.pb16 {
  padding-bottom: 16px !important
}

.pl16 {
  padding-left: 16px !important
}

.mt17 {
  margin-top: 17px !important
}

.mr17 {
  margin-right: 17px !important
}

.mb17 {
  margin-bottom: 17px !important
}

.ml17 {
  margin-left: 17px !important
}

.pt17 {
  padding-top: 17px !important
}

.pr17 {
  padding-right: 17px !important
}

.pb17 {
  padding-bottom: 17px !important
}

.pl17 {
  padding-left: 17px !important
}

.mt18 {
  margin-top: 18px !important
}

.mr18 {
  margin-right: 18px !important
}

.mb18 {
  margin-bottom: 18px !important
}

.ml18 {
  margin-left: 18px !important
}

.pt18 {
  padding-top: 18px !important
}

.pr18 {
  padding-right: 18px !important
}

.pb18 {
  padding-bottom: 18px !important
}

.pl18 {
  padding-left: 18px !important
}

.mt19 {
  margin-top: 19px !important
}

.mr19 {
  margin-right: 19px !important
}

.mb19 {
  margin-bottom: 19px !important
}

.ml19 {
  margin-left: 19px !important
}

.pt19 {
  padding-top: 19px !important
}

.pr19 {
  padding-right: 19px !important
}

.pb19 {
  padding-bottom: 19px !important
}

.pl19 {
  padding-left: 19px !important
}

.mt20 {
  margin-top: 20px !important
}

.mr20 {
  margin-right: 20px !important
}

.mb20 {
  margin-bottom: 20px !important
}

.ml20 {
  margin-left: 20px !important
}

.pt20 {
  padding-top: 20px !important
}

.pr20 {
  padding-right: 20px !important
}

.pb20 {
  padding-bottom: 20px !important
}

.pl20 {
  padding-left: 20px !important
}

.mt25 {
  margin-top: 25px !important
}

.mr25 {
  margin-right: 25px !important
}

.mb25 {
  margin-bottom: 25px !important
}

.ml25 {
  margin-left: 25px !important
}

.pt25 {
  padding-top: 25px !important
}

.pr25 {
  padding-right: 25px !important
}

.pb25 {
  padding-bottom: 25px !important
}

.pl25 {
  padding-left: 25px !important
}

.mt30 {
  margin-top: 30px !important
}

.mr30 {
  margin-right: 30px !important
}

.mb30 {
  margin-bottom: 30px !important
}

.ml30 {
  margin-left: 30px !important
}

.pt30 {
  padding-top: 30px !important
}

.pr30 {
  padding-right: 30px !important
}

.pb30 {
  padding-bottom: 30px !important
}

.pl30 {
  padding-left: 30px !important
}

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

.mr35 {
  margin-right: 35px !important
}

.mb35 {
  margin-bottom: 35px !important
}

.ml35 {
  margin-left: 35px !important
}

.pt35 {
  padding-top: 35px !important
}

.pr35 {
  padding-right: 35px !important
}

.pb35 {
  padding-bottom: 35px !important
}

.pl35 {
  padding-left: 35px !important
}

.mt40 {
  margin-top: 40px !important
}

.mr40 {
  margin-right: 40px !important
}

.mb40 {
  margin-bottom: 40px !important
}

.ml40 {
  margin-left: 40px !important
}

.pt40 {
  padding-top: 40px !important
}

.pr40 {
  padding-right: 40px !important
}

.pb40 {
  padding-bottom: 40px !important
}

.pl40 {
  padding-left: 40px !important
}

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

.mr45 {
  margin-right: 45px !important
}

.mb45 {
  margin-bottom: 45px !important
}

.ml45 {
  margin-left: 45px !important
}

.pt45 {
  padding-top: 45px !important
}

.pr45 {
  padding-right: 45px !important
}

.pb45 {
  padding-bottom: 45px !important
}

.pl45 {
  padding-left: 45px !important
}

.mt50 {
  margin-top: 50px !important
}

.mr50 {
  margin-right: 50px !important
}

.mb50 {
  margin-bottom: 50px !important
}

.ml50 {
  margin-left: 50px !important
}

.pt50 {
  padding-top: 50px !important
}

.pr50 {
  padding-right: 50px !important
}

.pb50 {
  padding-bottom: 50px !important
}

.pl50 {
  padding-left: 50px !important
}

.mt55 {
  margin-top: 55px !important
}

.mr55 {
  margin-right: 55px !important
}

.mb55 {
  margin-bottom: 55px !important
}

.ml55 {
  margin-left: 55px !important
}

.pt55 {
  padding-top: 55px !important
}

.pr55 {
  padding-right: 55px !important
}

.pb55 {
  padding-bottom: 55px !important
}

.pl55 {
  padding-left: 55px !important
}

.mt60 {
  margin-top: 60px !important
}

.mr60 {
  margin-right: 60px !important
}

.mb60 {
  margin-bottom: 60px !important
}

.ml60 {
  margin-left: 60px !important
}

.pt60 {
  padding-top: 60px !important
}

.pr60 {
  padding-right: 60px !important
}

.pb60 {
  padding-bottom: 60px !important
}

.pl60 {
  padding-left: 60px !important
}

.mt65 {
  margin-top: 65px !important
}

.mr65 {
  margin-right: 65px !important
}

.mb65 {
  margin-bottom: 65px !important
}

.ml65 {
  margin-left: 65px !important
}

.pt65 {
  padding-top: 65px !important
}

.pr65 {
  padding-right: 65px !important
}

.pb65 {
  padding-bottom: 65px !important
}

.pl65 {
  padding-left: 65px !important
}

.mt70 {
  margin-top: 70px !important
}

.mr70 {
  margin-right: 70px !important
}

.mb70 {
  margin-bottom: 70px !important
}

.ml70 {
  margin-left: 70px !important
}

.pt70 {
  padding-top: 70px !important
}

.pr70 {
  padding-right: 70px !important
}

.pb70 {
  padding-bottom: 70px !important
}

.pl70 {
  padding-left: 70px !important
}

.mt75 {
  margin-top: 75px !important
}

.mr75 {
  margin-right: 75px !important
}

.mb75 {
  margin-bottom: 75px !important
}

.ml75 {
  margin-left: 75px !important
}

.pt75 {
  padding-top: 75px !important
}

.pr75 {
  padding-right: 75px !important
}

.pb75 {
  padding-bottom: 75px !important
}

.pl75 {
  padding-left: 75px !important
}

.mt80 {
  margin-top: 80px !important
}

.mr80 {
  margin-right: 80px !important
}

.mb80 {
  margin-bottom: 80px !important
}

.ml80 {
  margin-left: 80px !important
}

.pt80 {
  padding-top: 80px !important
}

.pr80 {
  padding-right: 80px !important
}

.pb80 {
  padding-bottom: 80px !important
}

.pl80 {
  padding-left: 80px !important
}

.mt85 {
  margin-top: 85px !important
}

.mr85 {
  margin-right: 85px !important
}

.mb85 {
  margin-bottom: 85px !important
}

.ml85 {
  margin-left: 85px !important
}

.pt85 {
  padding-top: 85px !important
}

.pr85 {
  padding-right: 85px !important
}

.pb85 {
  padding-bottom: 85px !important
}

.pl85 {
  padding-left: 85px !important
}

.mt90 {
  margin-top: 90px !important
}

.mr90 {
  margin-right: 90px !important
}

.mb90 {
  margin-bottom: 90px !important
}

.ml90 {
  margin-left: 90px !important
}

.pt90 {
  padding-top: 90px !important
}

.pr90 {
  padding-right: 90px !important
}

.pb90 {
  padding-bottom: 90px !important
}

.pl90 {
  padding-left: 90px !important
}

.mt95 {
  margin-top: 95px !important
}

.mr95 {
  margin-right: 95px !important
}

.mb95 {
  margin-bottom: 95px !important
}

.ml95 {
  margin-left: 95px !important
}

.pt95 {
  padding-top: 95px !important
}

.pr95 {
  padding-right: 95px !important
}

.pb95 {
  padding-bottom: 95px !important
}

.pl95 {
  padding-left: 95px !important
}

.mt100 {
  margin-top: 100px !important
}

.mr100 {
  margin-right: 100px !important
}

.mb100 {
  margin-bottom: 100px !important
}

.ml100 {
  margin-left: 100px !important
}

.pt100 {
  padding-top: 100px !important
}

.pr100 {
  padding-right: 100px !important
}

.pb100 {
  padding-bottom: 100px !important
}

.pl100 {
  padding-left: 100px !important
}

.mt105 {
  margin-top: 105px !important
}

.mr105 {
  margin-right: 105px !important
}

.mb105 {
  margin-bottom: 105px !important
}

.ml105 {
  margin-left: 105px !important
}

.pt105 {
  padding-top: 105px !important
}

.pr105 {
  padding-right: 105px !important
}

.pb105 {
  padding-bottom: 105px !important
}

.pl105 {
  padding-left: 105px !important
}

.mt110 {
  margin-top: 110px !important
}

.mr110 {
  margin-right: 110px !important
}

.mb110 {
  margin-bottom: 110px !important
}

.ml110 {
  margin-left: 110px !important
}

.pt110 {
  padding-top: 110px !important
}

.pr110 {
  padding-right: 110px !important
}

.pb110 {
  padding-bottom: 110px !important
}

.pl110 {
  padding-left: 110px !important
}

.mt115 {
  margin-top: 115px !important
}

.mr115 {
  margin-right: 115px !important
}

.mb115 {
  margin-bottom: 115px !important
}

.ml115 {
  margin-left: 115px !important
}

.pt115 {
  padding-top: 115px !important
}

.pr115 {
  padding-right: 115px !important
}

.pb115 {
  padding-bottom: 115px !important
}

.pl115 {
  padding-left: 115px !important
}

.mt120 {
  margin-top: 120px !important
}

.mr120 {
  margin-right: 120px !important
}

.mb120 {
  margin-bottom: 120px !important
}

.ml120 {
  margin-left: 120px !important
}

.pt120 {
  padding-top: 120px !important
}

.pr120 {
  padding-right: 120px !important
}

.pb120 {
  padding-bottom: 120px !important
}

.pl120 {
  padding-left: 120px !important
}

.mt125 {
  margin-top: 125px !important
}

.mr125 {
  margin-right: 125px !important
}

.mb125 {
  margin-bottom: 125px !important
}

.ml125 {
  margin-left: 125px !important
}

.pt125 {
  padding-top: 125px !important
}

.pr125 {
  padding-right: 125px !important
}

.pb125 {
  padding-bottom: 125px !important
}

.pl125 {
  padding-left: 125px !important
}

.mt130 {
  margin-top: 130px !important
}

.mr130 {
  margin-right: 130px !important
}

.mb130 {
  margin-bottom: 130px !important
}

.ml130 {
  margin-left: 130px !important
}

.pt130 {
  padding-top: 130px !important
}

.pr130 {
  padding-right: 130px !important
}

.pb130 {
  padding-bottom: 130px !important
}

.pl130 {
  padding-left: 130px !important
}

.mt135 {
  margin-top: 135px !important
}

.mr135 {
  margin-right: 135px !important
}

.mb135 {
  margin-bottom: 135px !important
}

.ml135 {
  margin-left: 135px !important
}

.pt135 {
  padding-top: 135px !important
}

.pr135 {
  padding-right: 135px !important
}

.pb135 {
  padding-bottom: 135px !important
}

.pl135 {
  padding-left: 135px !important
}

.mt140 {
  margin-top: 140px !important
}

.mr140 {
  margin-right: 140px !important
}

.mb140 {
  margin-bottom: 140px !important
}

.ml140 {
  margin-left: 140px !important
}

.pt140 {
  padding-top: 140px !important
}

.pr140 {
  padding-right: 140px !important
}

.pb140 {
  padding-bottom: 140px !important
}

.pl140 {
  padding-left: 140px !important
}

.mt145 {
  margin-top: 145px !important
}

.mr145 {
  margin-right: 145px !important
}

.mb145 {
  margin-bottom: 145px !important
}

.ml145 {
  margin-left: 145px !important
}

.pt145 {
  padding-top: 145px !important
}

.pr145 {
  padding-right: 145px !important
}

.pb145 {
  padding-bottom: 145px !important
}

.pl145 {
  padding-left: 145px !important
}

.mt150 {
  margin-top: 150px !important
}

.mr150 {
  margin-right: 150px !important
}

.mb150 {
  margin-bottom: 150px !important
}

.ml150 {
  margin-left: 150px !important
}

.pt150 {
  padding-top: 150px !important
}

.pr150 {
  padding-right: 150px !important
}

.pb150 {
  padding-bottom: 150px !important
}

.pl150 {
  padding-left: 150px !important
}

.mt155 {
  margin-top: 155px !important
}

.mr155 {
  margin-right: 155px !important
}

.mb155 {
  margin-bottom: 155px !important
}

.ml155 {
  margin-left: 155px !important
}

.pt155 {
  padding-top: 155px !important
}

.pr155 {
  padding-right: 155px !important
}

.pb155 {
  padding-bottom: 155px !important
}

.pl155 {
  padding-left: 155px !important
}

.mt160 {
  margin-top: 160px !important
}

.mr160 {
  margin-right: 160px !important
}

.mb160 {
  margin-bottom: 160px !important
}

.ml160 {
  margin-left: 160px !important
}

.pt160 {
  padding-top: 160px !important
}

.pr160 {
  padding-right: 160px !important
}

.pb160 {
  padding-bottom: 160px !important
}

.pl160 {
  padding-left: 160px !important
}

.mt165 {
  margin-top: 165px !important
}

.mr165 {
  margin-right: 165px !important
}

.mb165 {
  margin-bottom: 165px !important
}

.ml165 {
  margin-left: 165px !important
}

.pt165 {
  padding-top: 165px !important
}

.pr165 {
  padding-right: 165px !important
}

.pb165 {
  padding-bottom: 165px !important
}

.pl165 {
  padding-left: 165px !important
}

.mt170 {
  margin-top: 170px !important
}

.mr170 {
  margin-right: 170px !important
}

.mb170 {
  margin-bottom: 170px !important
}

.ml170 {
  margin-left: 170px !important
}

.pt170 {
  padding-top: 170px !important
}

.pr170 {
  padding-right: 170px !important
}

.pb170 {
  padding-bottom: 170px !important
}

.pl170 {
  padding-left: 170px !important
}

.mt175 {
  margin-top: 175px !important
}

.mr175 {
  margin-right: 175px !important
}

.mb175 {
  margin-bottom: 175px !important
}

.ml175 {
  margin-left: 175px !important
}

.pt175 {
  padding-top: 175px !important
}

.pr175 {
  padding-right: 175px !important
}

.pb175 {
  padding-bottom: 175px !important
}

.pl175 {
  padding-left: 175px !important
}

.mt180 {
  margin-top: 180px !important
}

.mr180 {
  margin-right: 180px !important
}

.mb180 {
  margin-bottom: 180px !important
}

.ml180 {
  margin-left: 180px !important
}

.pt180 {
  padding-top: 180px !important
}

.pr180 {
  padding-right: 180px !important
}

.pb180 {
  padding-bottom: 180px !important
}

.pl180 {
  padding-left: 180px !important
}

.mt185 {
  margin-top: 185px !important
}

.mr185 {
  margin-right: 185px !important
}

.mb185 {
  margin-bottom: 185px !important
}

.ml185 {
  margin-left: 185px !important
}

.pt185 {
  padding-top: 185px !important
}

.pr185 {
  padding-right: 185px !important
}

.pb185 {
  padding-bottom: 185px !important
}

.pl185 {
  padding-left: 185px !important
}

.mt190 {
  margin-top: 190px !important
}

.mr190 {
  margin-right: 190px !important
}

.mb190 {
  margin-bottom: 190px !important
}

.ml190 {
  margin-left: 190px !important
}

.pt190 {
  padding-top: 190px !important
}

.pr190 {
  padding-right: 190px !important
}

.pb190 {
  padding-bottom: 190px !important
}

.pl190 {
  padding-left: 190px !important
}

.mt195 {
  margin-top: 195px !important
}

.mr195 {
  margin-right: 195px !important
}

.mb195 {
  margin-bottom: 195px !important
}

.ml195 {
  margin-left: 195px !important
}

.pt195 {
  padding-top: 195px !important
}

.pr195 {
  padding-right: 195px !important
}

.pb195 {
  padding-bottom: 195px !important
}

.pl195 {
  padding-left: 195px !important
}

.mt200 {
  margin-top: 200px !important
}

.mr200 {
  margin-right: 200px !important
}

.mb200 {
  margin-bottom: 200px !important
}

.ml200 {
  margin-left: 200px !important
}

.pt200 {
  padding-top: 200px !important
}

.pr200 {
  padding-right: 200px !important
}

.pb200 {
  padding-bottom: 200px !important
}

.pl200 {
  padding-left: 200px !important
}

.left-text {
  text-align: left !important
}

.right-text {
  text-align: right !important
}

.center-text {
  text-align: center !important
}

.f8px {
  font-size: 8px !important
}

.f9px {
  font-size: 9px !important
}

.f10px {
  font-size: 10px !important
}

.f11px {
  font-size: 11px !important
}

.f12px {
  font-size: 12px !important
}

.f13px {
  font-size: 13px !important
}

.f14px {
  font-size: 14px !important
}

.f15px {
  font-size: 15px !important
}

.f16px {
  font-size: 16px !important
}

.f17px {
  font-size: 17px !important
}

.f18px {
  font-size: 18px !important
}

.f19px {
  font-size: 19px !important
}

.f20px {
  font-size: 20px !important
}

.f21px {
  font-size: 21px !important
}

.f22px {
  font-size: 22px !important
}

.f23px {
  font-size: 23px !important
}

.f24px {
  font-size: 24px !important
}

.f25px {
  font-size: 25px !important
}

.f26px {
  font-size: 26px !important
}

.f27px {
  font-size: 27px !important
}

.f28px {
  font-size: 28px !important
}

.f29px {
  font-size: 29px !important
}

.f30px {
  font-size: 30px !important
}

.f31px {
  font-size: 31px !important
}

.f32px {
  font-size: 32px !important
}

.f33px {
  font-size: 33px !important
}

.f34px {
  font-size: 34px !important
}

.f35px {
  font-size: 35px !important
}

.f36px {
  font-size: 36px !important
}

.f37px {
  font-size: 37px !important
}

.f38px {
  font-size: 38px !important
}

.f39px {
  font-size: 39px !important
}

.f40px {
  font-size: 40px !important
}

.lh10 {
  line-height: 1 !important
}

.lh11 {
  line-height: 1.1 !important
}

.lh12 {
  line-height: 1.2 !important
}

.lh13 {
  line-height: 1.3 !important
}

.lh14 {
  line-height: 1.4 !important
}

.lh15 {
  line-height: 1.5 !important
}

.lh16 {
  line-height: 1.6 !important
}

.lh17 {
  line-height: 1.7 !important
}

.lh18 {
  line-height: 1.8 !important
}

.lh19 {
  line-height: 1.9 !important
}

.lh20 {
  line-height: 2 !important
}

.lh21 {
  line-height: 2.1 !important
}

.lh22 {
  line-height: 2.2 !important
}

.lh23 {
  line-height: 2.3 !important
}

.lh24 {
  line-height: 2.4 !important
}

.lh25 {
  line-height: 2.5 !important
}

.lh26 {
  line-height: 2.6 !important
}

.lh27 {
  line-height: 2.7 !important
}

.lh28 {
  line-height: 2.8 !important
}

.lh29 {
  line-height: 2.9 !important
}

.lh30 {
  line-height: 3 !important
}

.ls0 {
  letter-spacing: 0em !important
}

.ls1 {
  letter-spacing: 0.001em !important
}

.ls2 {
  letter-spacing: 0.002em !important
}

.ls3 {
  letter-spacing: 0.003em !important
}

.ls4 {
  letter-spacing: 0.004em !important
}

.ls5 {
  letter-spacing: 0.005em !important
}

.ls6 {
  letter-spacing: 0.006em !important
}

.ls7 {
  letter-spacing: 0.007em !important
}

.ls8 {
  letter-spacing: 0.008em !important
}

.ls9 {
  letter-spacing: 0.009em !important
}

.ls10 {
  letter-spacing: 0.01em !important
}

.ls11 {
  letter-spacing: 0.011em !important
}

.ls12 {
  letter-spacing: 0.012em !important
}

.ls13 {
  letter-spacing: 0.013em !important
}

.ls14 {
  letter-spacing: 0.014em !important
}

.ls15 {
  letter-spacing: 0.015em !important
}

.ls16 {
  letter-spacing: 0.016em !important
}

.ls17 {
  letter-spacing: 0.017em !important
}

.ls18 {
  letter-spacing: 0.018em !important
}

.ls19 {
  letter-spacing: 0.019em !important
}

.ls20 {
  letter-spacing: 0.02em !important
}

.ls21 {
  letter-spacing: 0.021em !important
}

.ls22 {
  letter-spacing: 0.022em !important
}

.ls23 {
  letter-spacing: 0.023em !important
}

.ls24 {
  letter-spacing: 0.024em !important
}

.ls25 {
  letter-spacing: 0.025em !important
}

.ls26 {
  letter-spacing: 0.026em !important
}

.ls27 {
  letter-spacing: 0.027em !important
}

.ls28 {
  letter-spacing: 0.028em !important
}

.ls29 {
  letter-spacing: 0.029em !important
}

.ls30 {
  letter-spacing: 0.03em !important
}

.ls31 {
  letter-spacing: 0.031em !important
}

.ls32 {
  letter-spacing: 0.032em !important
}

.ls33 {
  letter-spacing: 0.033em !important
}

.ls34 {
  letter-spacing: 0.034em !important
}

.ls35 {
  letter-spacing: 0.035em !important
}

.ls36 {
  letter-spacing: 0.036em !important
}

.ls37 {
  letter-spacing: 0.037em !important
}

.ls38 {
  letter-spacing: 0.038em !important
}

.ls39 {
  letter-spacing: 0.039em !important
}

.ls40 {
  letter-spacing: 0.04em !important
}

.ls41 {
  letter-spacing: 0.041em !important
}

.ls42 {
  letter-spacing: 0.042em !important
}

.ls43 {
  letter-spacing: 0.043em !important
}

.ls44 {
  letter-spacing: 0.044em !important
}

.ls45 {
  letter-spacing: 0.045em !important
}

.ls46 {
  letter-spacing: 0.046em !important
}

.ls47 {
  letter-spacing: 0.047em !important
}

.ls48 {
  letter-spacing: 0.048em !important
}

.ls49 {
  letter-spacing: 0.049em !important
}

.ls50 {
  letter-spacing: 0.05em !important
}

.ls51 {
  letter-spacing: 0.051em !important
}

.ls52 {
  letter-spacing: 0.052em !important
}

.ls53 {
  letter-spacing: 0.053em !important
}

.ls54 {
  letter-spacing: 0.054em !important
}

.ls55 {
  letter-spacing: 0.055em !important
}

.ls56 {
  letter-spacing: 0.056em !important
}

.ls57 {
  letter-spacing: 0.057em !important
}

.ls58 {
  letter-spacing: 0.058em !important
}

.ls59 {
  letter-spacing: 0.059em !important
}

.ls60 {
  letter-spacing: 0.06em !important
}

.ls61 {
  letter-spacing: 0.061em !important
}

.ls62 {
  letter-spacing: 0.062em !important
}

.ls63 {
  letter-spacing: 0.063em !important
}

.ls64 {
  letter-spacing: 0.064em !important
}

.ls65 {
  letter-spacing: 0.065em !important
}

.ls66 {
  letter-spacing: 0.066em !important
}

.ls67 {
  letter-spacing: 0.067em !important
}

.ls68 {
  letter-spacing: 0.068em !important
}

.ls69 {
  letter-spacing: 0.069em !important
}

.ls70 {
  letter-spacing: 0.07em !important
}

.ls71 {
  letter-spacing: 0.071em !important
}

.ls72 {
  letter-spacing: 0.072em !important
}

.ls73 {
  letter-spacing: 0.073em !important
}

.ls74 {
  letter-spacing: 0.074em !important
}

.ls75 {
  letter-spacing: 0.075em !important
}

.ls76 {
  letter-spacing: 0.076em !important
}

.ls77 {
  letter-spacing: 0.077em !important
}

.ls78 {
  letter-spacing: 0.078em !important
}

.ls79 {
  letter-spacing: 0.079em !important
}

.ls80 {
  letter-spacing: 0.08em !important
}

.ls81 {
  letter-spacing: 0.081em !important
}

.ls82 {
  letter-spacing: 0.082em !important
}

.ls83 {
  letter-spacing: 0.083em !important
}

.ls84 {
  letter-spacing: 0.084em !important
}

.ls85 {
  letter-spacing: 0.085em !important
}

.ls86 {
  letter-spacing: 0.086em !important
}

.ls87 {
  letter-spacing: 0.087em !important
}

.ls88 {
  letter-spacing: 0.088em !important
}

.ls89 {
  letter-spacing: 0.089em !important
}

.ls90 {
  letter-spacing: 0.09em !important
}

.ls91 {
  letter-spacing: 0.091em !important
}

.ls92 {
  letter-spacing: 0.092em !important
}

.ls93 {
  letter-spacing: 0.093em !important
}

.ls94 {
  letter-spacing: 0.094em !important
}

.ls95 {
  letter-spacing: 0.095em !important
}

.ls96 {
  letter-spacing: 0.096em !important
}

.ls97 {
  letter-spacing: 0.097em !important
}

.ls98 {
  letter-spacing: 0.098em !important
}

.ls99 {
  letter-spacing: 0.099em !important
}

.ls100 {
  letter-spacing: 0.1em !important
}

.fw100 {
  font-weight: 100 !important
}

.fw200 {
  font-weight: 200 !important
}

.fw300 {
  font-weight: 300 !important
}

.fw400 {
  font-weight: 400 !important
}

.fw500 {
  font-weight: 500 !important
}

.fw600 {
  font-weight: 600 !important
}

.fw700 {
  font-weight: 700 !important
}

.fw800 {
  font-weight: 800 !important
}

.fw900 {
  font-weight: 900 !important
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table
}

.clearfix:after {
  clear: both
}

.relative {
  position: relative !important
}

.mt1em {
  margin-top: 1em
}

.mb1em {
  margin-bottom: 1em
}

.mw100 {
  max-width: 100% !important
}

.w100 {
  width: 100% !important
}

.fade {
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
  opacity: 1;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.fade:hover {
  opacity: .7
}

.left-box {
  float: left !important
}

.right-box {
  float: right !important
}

.center-box {
  margin-left: auto !important;
  margin-right: auto !important
}

.left-sp {
  float: left !important
}

.right-sp {
  float: right !important
}

.normal {
  font-weight: normal
}

.bold {
  font-weight: bold
}

@media only screen and (max-width: 768px) {
  .left-text-tb {
    text-align: left !important
  }

  .right-text-tb {
    text-align: right !important
  }

  .center-text-tb {
    text-align: center !important
  }

  .mt0-tb {
    margin-top: 0px !important
  }

  .mr0-tb {
    margin-right: 0px !important
  }

  .mb0-tb {
    margin-bottom: 0px !important
  }

  .ml0-tb {
    margin-left: 0px !important
  }

  .pt0-tb {
    padding-top: 0px !important
  }

  .pr0-tb {
    padding-right: 0px !important
  }

  .pb0-tb {
    padding-bottom: 0px !important
  }

  .pl0-tb {
    padding-left: 0px !important
  }

  .mt1-tb {
    margin-top: 1px !important
  }

  .mr1-tb {
    margin-right: 1px !important
  }

  .mb1-tb {
    margin-bottom: 1px !important
  }

  .ml1-tb {
    margin-left: 1px !important
  }

  .pt1-tb {
    padding-top: 1px !important
  }

  .pr1-tb {
    padding-right: 1px !important
  }

  .pb1-tb {
    padding-bottom: 1px !important
  }

  .pl1-tb {
    padding-left: 1px !important
  }

  .mt2-tb {
    margin-top: 2px !important
  }

  .mr2-tb {
    margin-right: 2px !important
  }

  .mb2-tb {
    margin-bottom: 2px !important
  }

  .ml2-tb {
    margin-left: 2px !important
  }

  .pt2-tb {
    padding-top: 2px !important
  }

  .pr2-tb {
    padding-right: 2px !important
  }

  .pb2-tb {
    padding-bottom: 2px !important
  }

  .pl2-tb {
    padding-left: 2px !important
  }

  .mt3-tb {
    margin-top: 3px !important
  }

  .mr3-tb {
    margin-right: 3px !important
  }

  .mb3-tb {
    margin-bottom: 3px !important
  }

  .ml3-tb {
    margin-left: 3px !important
  }

  .pt3-tb {
    padding-top: 3px !important
  }

  .pr3-tb {
    padding-right: 3px !important
  }

  .pb3-tb {
    padding-bottom: 3px !important
  }

  .pl3-tb {
    padding-left: 3px !important
  }

  .mt4-tb {
    margin-top: 4px !important
  }

  .mr4-tb {
    margin-right: 4px !important
  }

  .mb4-tb {
    margin-bottom: 4px !important
  }

  .ml4-tb {
    margin-left: 4px !important
  }

  .pt4-tb {
    padding-top: 4px !important
  }

  .pr4-tb {
    padding-right: 4px !important
  }

  .pb4-tb {
    padding-bottom: 4px !important
  }

  .pl4-tb {
    padding-left: 4px !important
  }

  .mt5-tb {
    margin-top: 5px !important
  }

  .mr5-tb {
    margin-right: 5px !important
  }

  .mb5-tb {
    margin-bottom: 5px !important
  }

  .ml5-tb {
    margin-left: 5px !important
  }

  .pt5-tb {
    padding-top: 5px !important
  }

  .pr5-tb {
    padding-right: 5px !important
  }

  .pb5-tb {
    padding-bottom: 5px !important
  }

  .pl5-tb {
    padding-left: 5px !important
  }

  .mt6-tb {
    margin-top: 6px !important
  }

  .mr6-tb {
    margin-right: 6px !important
  }

  .mb6-tb {
    margin-bottom: 6px !important
  }

  .ml6-tb {
    margin-left: 6px !important
  }

  .pt6-tb {
    padding-top: 6px !important
  }

  .pr6-tb {
    padding-right: 6px !important
  }

  .pb6-tb {
    padding-bottom: 6px !important
  }

  .pl6-tb {
    padding-left: 6px !important
  }

  .mt7-tb {
    margin-top: 7px !important
  }

  .mr7-tb {
    margin-right: 7px !important
  }

  .mb7-tb {
    margin-bottom: 7px !important
  }

  .ml7-tb {
    margin-left: 7px !important
  }

  .pt7-tb {
    padding-top: 7px !important
  }

  .pr7-tb {
    padding-right: 7px !important
  }

  .pb7-tb {
    padding-bottom: 7px !important
  }

  .pl7-tb {
    padding-left: 7px !important
  }

  .mt8-tb {
    margin-top: 8px !important
  }

  .mr8-tb {
    margin-right: 8px !important
  }

  .mb8-tb {
    margin-bottom: 8px !important
  }

  .ml8-tb {
    margin-left: 8px !important
  }

  .pt8-tb {
    padding-top: 8px !important
  }

  .pr8-tb {
    padding-right: 8px !important
  }

  .pb8-tb {
    padding-bottom: 8px !important
  }

  .pl8-tb {
    padding-left: 8px !important
  }

  .mt9-tb {
    margin-top: 9px !important
  }

  .mr9-tb {
    margin-right: 9px !important
  }

  .mb9-tb {
    margin-bottom: 9px !important
  }

  .ml9-tb {
    margin-left: 9px !important
  }

  .pt9-tb {
    padding-top: 9px !important
  }

  .pr9-tb {
    padding-right: 9px !important
  }

  .pb9-tb {
    padding-bottom: 9px !important
  }

  .pl9-tb {
    padding-left: 9px !important
  }

  .mt10-tb {
    margin-top: 10px !important
  }

  .mr10-tb {
    margin-right: 10px !important
  }

  .mb10-tb {
    margin-bottom: 10px !important
  }

  .ml10-tb {
    margin-left: 10px !important
  }

  .pt10-tb {
    padding-top: 10px !important
  }

  .pr10-tb {
    padding-right: 10px !important
  }

  .pb10-tb {
    padding-bottom: 10px !important
  }

  .pl10-tb {
    padding-left: 10px !important
  }

  .mt11-tb {
    margin-top: 11px !important
  }

  .mr11-tb {
    margin-right: 11px !important
  }

  .mb11-tb {
    margin-bottom: 11px !important
  }

  .ml11-tb {
    margin-left: 11px !important
  }

  .pt11-tb {
    padding-top: 11px !important
  }

  .pr11-tb {
    padding-right: 11px !important
  }

  .pb11-tb {
    padding-bottom: 11px !important
  }

  .pl11-tb {
    padding-left: 11px !important
  }

  .mt12-tb {
    margin-top: 12px !important
  }

  .mr12-tb {
    margin-right: 12px !important
  }

  .mb12-tb {
    margin-bottom: 12px !important
  }

  .ml12-tb {
    margin-left: 12px !important
  }

  .pt12-tb {
    padding-top: 12px !important
  }

  .pr12-tb {
    padding-right: 12px !important
  }

  .pb12-tb {
    padding-bottom: 12px !important
  }

  .pl12-tb {
    padding-left: 12px !important
  }

  .mt13-tb {
    margin-top: 13px !important
  }

  .mr13-tb {
    margin-right: 13px !important
  }

  .mb13-tb {
    margin-bottom: 13px !important
  }

  .ml13-tb {
    margin-left: 13px !important
  }

  .pt13-tb {
    padding-top: 13px !important
  }

  .pr13-tb {
    padding-right: 13px !important
  }

  .pb13-tb {
    padding-bottom: 13px !important
  }

  .pl13-tb {
    padding-left: 13px !important
  }

  .mt14-tb {
    margin-top: 14px !important
  }

  .mr14-tb {
    margin-right: 14px !important
  }

  .mb14-tb {
    margin-bottom: 14px !important
  }

  .ml14-tb {
    margin-left: 14px !important
  }

  .pt14-tb {
    padding-top: 14px !important
  }

  .pr14-tb {
    padding-right: 14px !important
  }

  .pb14-tb {
    padding-bottom: 14px !important
  }

  .pl14-tb {
    padding-left: 14px !important
  }

  .mt15-tb {
    margin-top: 15px !important
  }

  .mr15-tb {
    margin-right: 15px !important
  }

  .mb15-tb {
    margin-bottom: 15px !important
  }

  .ml15-tb {
    margin-left: 15px !important
  }

  .pt15-tb {
    padding-top: 15px !important
  }

  .pr15-tb {
    padding-right: 15px !important
  }

  .pb15-tb {
    padding-bottom: 15px !important
  }

  .pl15-tb {
    padding-left: 15px !important
  }

  .mt16-tb {
    margin-top: 16px !important
  }

  .mr16-tb {
    margin-right: 16px !important
  }

  .mb16-tb {
    margin-bottom: 16px !important
  }

  .ml16-tb {
    margin-left: 16px !important
  }

  .pt16-tb {
    padding-top: 16px !important
  }

  .pr16-tb {
    padding-right: 16px !important
  }

  .pb16-tb {
    padding-bottom: 16px !important
  }

  .pl16-tb {
    padding-left: 16px !important
  }

  .mt17-tb {
    margin-top: 17px !important
  }

  .mr17-tb {
    margin-right: 17px !important
  }

  .mb17-tb {
    margin-bottom: 17px !important
  }

  .ml17-tb {
    margin-left: 17px !important
  }

  .pt17-tb {
    padding-top: 17px !important
  }

  .pr17-tb {
    padding-right: 17px !important
  }

  .pb17-tb {
    padding-bottom: 17px !important
  }

  .pl17-tb {
    padding-left: 17px !important
  }

  .mt18-tb {
    margin-top: 18px !important
  }

  .mr18-tb {
    margin-right: 18px !important
  }

  .mb18-tb {
    margin-bottom: 18px !important
  }

  .ml18-tb {
    margin-left: 18px !important
  }

  .pt18-tb {
    padding-top: 18px !important
  }

  .pr18-tb {
    padding-right: 18px !important
  }

  .pb18-tb {
    padding-bottom: 18px !important
  }

  .pl18-tb {
    padding-left: 18px !important
  }

  .mt19-tb {
    margin-top: 19px !important
  }

  .mr19-tb {
    margin-right: 19px !important
  }

  .mb19-tb {
    margin-bottom: 19px !important
  }

  .ml19-tb {
    margin-left: 19px !important
  }

  .pt19-tb {
    padding-top: 19px !important
  }

  .pr19-tb {
    padding-right: 19px !important
  }

  .pb19-tb {
    padding-bottom: 19px !important
  }

  .pl19-tb {
    padding-left: 19px !important
  }

  .mt20-tb {
    margin-top: 20px !important
  }

  .mr20-tb {
    margin-right: 20px !important
  }

  .mb20-tb {
    margin-bottom: 20px !important
  }

  .ml20-tb {
    margin-left: 20px !important
  }

  .pt20-tb {
    padding-top: 20px !important
  }

  .pr20-tb {
    padding-right: 20px !important
  }

  .pb20-tb {
    padding-bottom: 20px !important
  }

  .pl20-tb {
    padding-left: 20px !important
  }

  .mt25-tb {
    margin-top: 25px !important
  }

  .mr25-tb {
    margin-right: 25px !important
  }

  .mb25-tb {
    margin-bottom: 25px !important
  }

  .ml25-tb {
    margin-left: 25px !important
  }

  .pt25-tb {
    padding-top: 25px !important
  }

  .pr25-tb {
    padding-right: 25px !important
  }

  .pb25-tb {
    padding-bottom: 25px !important
  }

  .pl25-tb {
    padding-left: 25px !important
  }

  .mt30-tb {
    margin-top: 30px !important
  }

  .mr30-tb {
    margin-right: 30px !important
  }

  .mb30-tb {
    margin-bottom: 30px !important
  }

  .ml30-tb {
    margin-left: 30px !important
  }

  .pt30-tb {
    padding-top: 30px !important
  }

  .pr30-tb {
    padding-right: 30px !important
  }

  .pb30-tb {
    padding-bottom: 30px !important
  }

  .pl30-tb {
    padding-left: 30px !important
  }

  .mt35-tb {
    margin-top: 35px !important
  }

  .mr35-tb {
    margin-right: 35px !important
  }

  .mb35-tb {
    margin-bottom: 35px !important
  }

  .ml35-tb {
    margin-left: 35px !important
  }

  .pt35-tb {
    padding-top: 35px !important
  }

  .pr35-tb {
    padding-right: 35px !important
  }

  .pb35-tb {
    padding-bottom: 35px !important
  }

  .pl35-tb {
    padding-left: 35px !important
  }

  .mt40-tb {
    margin-top: 40px !important
  }

  .mr40-tb {
    margin-right: 40px !important
  }

  .mb40-tb {
    margin-bottom: 40px !important
  }

  .ml40-tb {
    margin-left: 40px !important
  }

  .pt40-tb {
    padding-top: 40px !important
  }

  .pr40-tb {
    padding-right: 40px !important
  }

  .pb40-tb {
    padding-bottom: 40px !important
  }

  .pl40-tb {
    padding-left: 40px !important
  }

  .mt45-tb {
    margin-top: 45px !important
  }

  .mr45-tb {
    margin-right: 45px !important
  }

  .mb45-tb {
    margin-bottom: 45px !important
  }

  .ml45-tb {
    margin-left: 45px !important
  }

  .pt45-tb {
    padding-top: 45px !important
  }

  .pr45-tb {
    padding-right: 45px !important
  }

  .pb45-tb {
    padding-bottom: 45px !important
  }

  .pl45-tb {
    padding-left: 45px !important
  }

  .mt50-tb {
    margin-top: 50px !important
  }

  .mr50-tb {
    margin-right: 50px !important
  }

  .mb50-tb {
    margin-bottom: 50px !important
  }

  .ml50-tb {
    margin-left: 50px !important
  }

  .pt50-tb {
    padding-top: 50px !important
  }

  .pr50-tb {
    padding-right: 50px !important
  }

  .pb50-tb {
    padding-bottom: 50px !important
  }

  .pl50-tb {
    padding-left: 50px !important
  }

  .mt55-tb {
    margin-top: 55px !important
  }

  .mr55-tb {
    margin-right: 55px !important
  }

  .mb55-tb {
    margin-bottom: 55px !important
  }

  .ml55-tb {
    margin-left: 55px !important
  }

  .pt55-tb {
    padding-top: 55px !important
  }

  .pr55-tb {
    padding-right: 55px !important
  }

  .pb55-tb {
    padding-bottom: 55px !important
  }

  .pl55-tb {
    padding-left: 55px !important
  }

  .mt60-tb {
    margin-top: 60px !important
  }

  .mr60-tb {
    margin-right: 60px !important
  }

  .mb60-tb {
    margin-bottom: 60px !important
  }

  .ml60-tb {
    margin-left: 60px !important
  }

  .pt60-tb {
    padding-top: 60px !important
  }

  .pr60-tb {
    padding-right: 60px !important
  }

  .pb60-tb {
    padding-bottom: 60px !important
  }

  .pl60-tb {
    padding-left: 60px !important
  }

  .mt65-tb {
    margin-top: 65px !important
  }

  .mr65-tb {
    margin-right: 65px !important
  }

  .mb65-tb {
    margin-bottom: 65px !important
  }

  .ml65-tb {
    margin-left: 65px !important
  }

  .pt65-tb {
    padding-top: 65px !important
  }

  .pr65-tb {
    padding-right: 65px !important
  }

  .pb65-tb {
    padding-bottom: 65px !important
  }

  .pl65-tb {
    padding-left: 65px !important
  }

  .mt70-tb {
    margin-top: 70px !important
  }

  .mr70-tb {
    margin-right: 70px !important
  }

  .mb70-tb {
    margin-bottom: 70px !important
  }

  .ml70-tb {
    margin-left: 70px !important
  }

  .pt70-tb {
    padding-top: 70px !important
  }

  .pr70-tb {
    padding-right: 70px !important
  }

  .pb70-tb {
    padding-bottom: 70px !important
  }

  .pl70-tb {
    padding-left: 70px !important
  }

  .mt75-tb {
    margin-top: 75px !important
  }

  .mr75-tb {
    margin-right: 75px !important
  }

  .mb75-tb {
    margin-bottom: 75px !important
  }

  .ml75-tb {
    margin-left: 75px !important
  }

  .pt75-tb {
    padding-top: 75px !important
  }

  .pr75-tb {
    padding-right: 75px !important
  }

  .pb75-tb {
    padding-bottom: 75px !important
  }

  .pl75-tb {
    padding-left: 75px !important
  }

  .mt80-tb {
    margin-top: 80px !important
  }

  .mr80-tb {
    margin-right: 80px !important
  }

  .mb80-tb {
    margin-bottom: 80px !important
  }

  .ml80-tb {
    margin-left: 80px !important
  }

  .pt80-tb {
    padding-top: 80px !important
  }

  .pr80-tb {
    padding-right: 80px !important
  }

  .pb80-tb {
    padding-bottom: 80px !important
  }

  .pl80-tb {
    padding-left: 80px !important
  }

  .mt85-tb {
    margin-top: 85px !important
  }

  .mr85-tb {
    margin-right: 85px !important
  }

  .mb85-tb {
    margin-bottom: 85px !important
  }

  .ml85-tb {
    margin-left: 85px !important
  }

  .pt85-tb {
    padding-top: 85px !important
  }

  .pr85-tb {
    padding-right: 85px !important
  }

  .pb85-tb {
    padding-bottom: 85px !important
  }

  .pl85-tb {
    padding-left: 85px !important
  }

  .mt90-tb {
    margin-top: 90px !important
  }

  .mr90-tb {
    margin-right: 90px !important
  }

  .mb90-tb {
    margin-bottom: 90px !important
  }

  .ml90-tb {
    margin-left: 90px !important
  }

  .pt90-tb {
    padding-top: 90px !important
  }

  .pr90-tb {
    padding-right: 90px !important
  }

  .pb90-tb {
    padding-bottom: 90px !important
  }

  .pl90-tb {
    padding-left: 90px !important
  }

  .mt95-tb {
    margin-top: 95px !important
  }

  .mr95-tb {
    margin-right: 95px !important
  }

  .mb95-tb {
    margin-bottom: 95px !important
  }

  .ml95-tb {
    margin-left: 95px !important
  }

  .pt95-tb {
    padding-top: 95px !important
  }

  .pr95-tb {
    padding-right: 95px !important
  }

  .pb95-tb {
    padding-bottom: 95px !important
  }

  .pl95-tb {
    padding-left: 95px !important
  }

  .mt100-tb {
    margin-top: 100px !important
  }

  .mr100-tb {
    margin-right: 100px !important
  }

  .mb100-tb {
    margin-bottom: 100px !important
  }

  .ml100-tb {
    margin-left: 100px !important
  }

  .pt100-tb {
    padding-top: 100px !important
  }

  .pr100-tb {
    padding-right: 100px !important
  }

  .pb100-tb {
    padding-bottom: 100px !important
  }

  .pl100-tb {
    padding-left: 100px !important
  }

  .mt105-tb {
    margin-top: 105px !important
  }

  .mr105-tb {
    margin-right: 105px !important
  }

  .mb105-tb {
    margin-bottom: 105px !important
  }

  .ml105-tb {
    margin-left: 105px !important
  }

  .pt105-tb {
    padding-top: 105px !important
  }

  .pr105-tb {
    padding-right: 105px !important
  }

  .pb105-tb {
    padding-bottom: 105px !important
  }

  .pl105-tb {
    padding-left: 105px !important
  }

  .mt110-tb {
    margin-top: 110px !important
  }

  .mr110-tb {
    margin-right: 110px !important
  }

  .mb110-tb {
    margin-bottom: 110px !important
  }

  .ml110-tb {
    margin-left: 110px !important
  }

  .pt110-tb {
    padding-top: 110px !important
  }

  .pr110-tb {
    padding-right: 110px !important
  }

  .pb110-tb {
    padding-bottom: 110px !important
  }

  .pl110-tb {
    padding-left: 110px !important
  }

  .mt115-tb {
    margin-top: 115px !important
  }

  .mr115-tb {
    margin-right: 115px !important
  }

  .mb115-tb {
    margin-bottom: 115px !important
  }

  .ml115-tb {
    margin-left: 115px !important
  }

  .pt115-tb {
    padding-top: 115px !important
  }

  .pr115-tb {
    padding-right: 115px !important
  }

  .pb115-tb {
    padding-bottom: 115px !important
  }

  .pl115-tb {
    padding-left: 115px !important
  }

  .mt120-tb {
    margin-top: 120px !important
  }

  .mr120-tb {
    margin-right: 120px !important
  }

  .mb120-tb {
    margin-bottom: 120px !important
  }

  .ml120-tb {
    margin-left: 120px !important
  }

  .pt120-tb {
    padding-top: 120px !important
  }

  .pr120-tb {
    padding-right: 120px !important
  }

  .pb120-tb {
    padding-bottom: 120px !important
  }

  .pl120-tb {
    padding-left: 120px !important
  }

  .mt125-tb {
    margin-top: 125px !important
  }

  .mr125-tb {
    margin-right: 125px !important
  }

  .mb125-tb {
    margin-bottom: 125px !important
  }

  .ml125-tb {
    margin-left: 125px !important
  }

  .pt125-tb {
    padding-top: 125px !important
  }

  .pr125-tb {
    padding-right: 125px !important
  }

  .pb125-tb {
    padding-bottom: 125px !important
  }

  .pl125-tb {
    padding-left: 125px !important
  }

  .mt130-tb {
    margin-top: 130px !important
  }

  .mr130-tb {
    margin-right: 130px !important
  }

  .mb130-tb {
    margin-bottom: 130px !important
  }

  .ml130-tb {
    margin-left: 130px !important
  }

  .pt130-tb {
    padding-top: 130px !important
  }

  .pr130-tb {
    padding-right: 130px !important
  }

  .pb130-tb {
    padding-bottom: 130px !important
  }

  .pl130-tb {
    padding-left: 130px !important
  }

  .mt135-tb {
    margin-top: 135px !important
  }

  .mr135-tb {
    margin-right: 135px !important
  }

  .mb135-tb {
    margin-bottom: 135px !important
  }

  .ml135-tb {
    margin-left: 135px !important
  }

  .pt135-tb {
    padding-top: 135px !important
  }

  .pr135-tb {
    padding-right: 135px !important
  }

  .pb135-tb {
    padding-bottom: 135px !important
  }

  .pl135-tb {
    padding-left: 135px !important
  }

  .mt140-tb {
    margin-top: 140px !important
  }

  .mr140-tb {
    margin-right: 140px !important
  }

  .mb140-tb {
    margin-bottom: 140px !important
  }

  .ml140-tb {
    margin-left: 140px !important
  }

  .pt140-tb {
    padding-top: 140px !important
  }

  .pr140-tb {
    padding-right: 140px !important
  }

  .pb140-tb {
    padding-bottom: 140px !important
  }

  .pl140-tb {
    padding-left: 140px !important
  }

  .mt145-tb {
    margin-top: 145px !important
  }

  .mr145-tb {
    margin-right: 145px !important
  }

  .mb145-tb {
    margin-bottom: 145px !important
  }

  .ml145-tb {
    margin-left: 145px !important
  }

  .pt145-tb {
    padding-top: 145px !important
  }

  .pr145-tb {
    padding-right: 145px !important
  }

  .pb145-tb {
    padding-bottom: 145px !important
  }

  .pl145-tb {
    padding-left: 145px !important
  }

  .mt150-tb {
    margin-top: 150px !important
  }

  .mr150-tb {
    margin-right: 150px !important
  }

  .mb150-tb {
    margin-bottom: 150px !important
  }

  .ml150-tb {
    margin-left: 150px !important
  }

  .pt150-tb {
    padding-top: 150px !important
  }

  .pr150-tb {
    padding-right: 150px !important
  }

  .pb150-tb {
    padding-bottom: 150px !important
  }

  .pl150-tb {
    padding-left: 150px !important
  }

  .mt155-tb {
    margin-top: 155px !important
  }

  .mr155-tb {
    margin-right: 155px !important
  }

  .mb155-tb {
    margin-bottom: 155px !important
  }

  .ml155-tb {
    margin-left: 155px !important
  }

  .pt155-tb {
    padding-top: 155px !important
  }

  .pr155-tb {
    padding-right: 155px !important
  }

  .pb155-tb {
    padding-bottom: 155px !important
  }

  .pl155-tb {
    padding-left: 155px !important
  }

  .mt160-tb {
    margin-top: 160px !important
  }

  .mr160-tb {
    margin-right: 160px !important
  }

  .mb160-tb {
    margin-bottom: 160px !important
  }

  .ml160-tb {
    margin-left: 160px !important
  }

  .pt160-tb {
    padding-top: 160px !important
  }

  .pr160-tb {
    padding-right: 160px !important
  }

  .pb160-tb {
    padding-bottom: 160px !important
  }

  .pl160-tb {
    padding-left: 160px !important
  }

  .mt165-tb {
    margin-top: 165px !important
  }

  .mr165-tb {
    margin-right: 165px !important
  }

  .mb165-tb {
    margin-bottom: 165px !important
  }

  .ml165-tb {
    margin-left: 165px !important
  }

  .pt165-tb {
    padding-top: 165px !important
  }

  .pr165-tb {
    padding-right: 165px !important
  }

  .pb165-tb {
    padding-bottom: 165px !important
  }

  .pl165-tb {
    padding-left: 165px !important
  }

  .mt170-tb {
    margin-top: 170px !important
  }

  .mr170-tb {
    margin-right: 170px !important
  }

  .mb170-tb {
    margin-bottom: 170px !important
  }

  .ml170-tb {
    margin-left: 170px !important
  }

  .pt170-tb {
    padding-top: 170px !important
  }

  .pr170-tb {
    padding-right: 170px !important
  }

  .pb170-tb {
    padding-bottom: 170px !important
  }

  .pl170-tb {
    padding-left: 170px !important
  }

  .mt175-tb {
    margin-top: 175px !important
  }

  .mr175-tb {
    margin-right: 175px !important
  }

  .mb175-tb {
    margin-bottom: 175px !important
  }

  .ml175-tb {
    margin-left: 175px !important
  }

  .pt175-tb {
    padding-top: 175px !important
  }

  .pr175-tb {
    padding-right: 175px !important
  }

  .pb175-tb {
    padding-bottom: 175px !important
  }

  .pl175-tb {
    padding-left: 175px !important
  }

  .mt180-tb {
    margin-top: 180px !important
  }

  .mr180-tb {
    margin-right: 180px !important
  }

  .mb180-tb {
    margin-bottom: 180px !important
  }

  .ml180-tb {
    margin-left: 180px !important
  }

  .pt180-tb {
    padding-top: 180px !important
  }

  .pr180-tb {
    padding-right: 180px !important
  }

  .pb180-tb {
    padding-bottom: 180px !important
  }

  .pl180-tb {
    padding-left: 180px !important
  }

  .mt185-tb {
    margin-top: 185px !important
  }

  .mr185-tb {
    margin-right: 185px !important
  }

  .mb185-tb {
    margin-bottom: 185px !important
  }

  .ml185-tb {
    margin-left: 185px !important
  }

  .pt185-tb {
    padding-top: 185px !important
  }

  .pr185-tb {
    padding-right: 185px !important
  }

  .pb185-tb {
    padding-bottom: 185px !important
  }

  .pl185-tb {
    padding-left: 185px !important
  }

  .mt190-tb {
    margin-top: 190px !important
  }

  .mr190-tb {
    margin-right: 190px !important
  }

  .mb190-tb {
    margin-bottom: 190px !important
  }

  .ml190-tb {
    margin-left: 190px !important
  }

  .pt190-tb {
    padding-top: 190px !important
  }

  .pr190-tb {
    padding-right: 190px !important
  }

  .pb190-tb {
    padding-bottom: 190px !important
  }

  .pl190-tb {
    padding-left: 190px !important
  }

  .mt195-tb {
    margin-top: 195px !important
  }

  .mr195-tb {
    margin-right: 195px !important
  }

  .mb195-tb {
    margin-bottom: 195px !important
  }

  .ml195-tb {
    margin-left: 195px !important
  }

  .pt195-tb {
    padding-top: 195px !important
  }

  .pr195-tb {
    padding-right: 195px !important
  }

  .pb195-tb {
    padding-bottom: 195px !important
  }

  .pl195-tb {
    padding-left: 195px !important
  }

  .mt200-tb {
    margin-top: 200px !important
  }

  .mr200-tb {
    margin-right: 200px !important
  }

  .mb200-tb {
    margin-bottom: 200px !important
  }

  .ml200-tb {
    margin-left: 200px !important
  }

  .pt200-tb {
    padding-top: 200px !important
  }

  .pr200-tb {
    padding-right: 200px !important
  }

  .pb200-tb {
    padding-bottom: 200px !important
  }

  .pl200-tb {
    padding-left: 200px !important
  }

  .f8px-tb {
    font-size: 8px !important
  }

  .f9px-tb {
    font-size: 9px !important
  }

  .f10px-tb {
    font-size: 10px !important
  }

  .f11px-tb {
    font-size: 11px !important
  }

  .f12px-tb {
    font-size: 12px !important
  }

  .f13px-tb {
    font-size: 13px !important
  }

  .f14px-tb {
    font-size: 14px !important
  }

  .f15px-tb {
    font-size: 15px !important
  }

  .f16px-tb {
    font-size: 16px !important
  }

  .f17px-tb {
    font-size: 17px !important
  }

  .f18px-tb {
    font-size: 18px !important
  }

  .f19px-tb {
    font-size: 19px !important
  }

  .f20px-tb {
    font-size: 20px !important
  }

  .f21px-tb {
    font-size: 21px !important
  }

  .f22px-tb {
    font-size: 22px !important
  }

  .f23px-tb {
    font-size: 23px !important
  }

  .f24px-tb {
    font-size: 24px !important
  }

  .f25px-tb {
    font-size: 25px !important
  }

  .f26px-tb {
    font-size: 26px !important
  }

  .f27px-tb {
    font-size: 27px !important
  }

  .f28px-tb {
    font-size: 28px !important
  }

  .f29px-tb {
    font-size: 29px !important
  }

  .f30px-tb {
    font-size: 30px !important
  }

  .f31px-tb {
    font-size: 31px !important
  }

  .f32px-tb {
    font-size: 32px !important
  }

  .f33px-tb {
    font-size: 33px !important
  }

  .f34px-tb {
    font-size: 34px !important
  }

  .f35px-tb {
    font-size: 35px !important
  }

  .f36px-tb {
    font-size: 36px !important
  }

  .f37px-tb {
    font-size: 37px !important
  }

  .f38px-tb {
    font-size: 38px !important
  }

  .f39px-tb {
    font-size: 39px !important
  }

  .f40px-tb {
    font-size: 40px !important
  }

  .lh10-tb {
    line-height: 1 !important
  }

  .lh11-tb {
    line-height: 1.1 !important
  }

  .lh12-tb {
    line-height: 1.2 !important
  }

  .lh13-tb {
    line-height: 1.3 !important
  }

  .lh14-tb {
    line-height: 1.4 !important
  }

  .lh15-tb {
    line-height: 1.5 !important
  }

  .lh16-tb {
    line-height: 1.6 !important
  }

  .lh17-tb {
    line-height: 1.7 !important
  }

  .lh18-tb {
    line-height: 1.8 !important
  }

  .lh19-tb {
    line-height: 1.9 !important
  }

  .lh20-tb {
    line-height: 2 !important
  }

  .lh21-tb {
    line-height: 2.1 !important
  }

  .lh22-tb {
    line-height: 2.2 !important
  }

  .lh23-tb {
    line-height: 2.3 !important
  }

  .lh24-tb {
    line-height: 2.4 !important
  }

  .lh25-tb {
    line-height: 2.5 !important
  }

  .lh26-tb {
    line-height: 2.6 !important
  }

  .lh27-tb {
    line-height: 2.7 !important
  }

  .lh28-tb {
    line-height: 2.8 !important
  }

  .lh29-tb {
    line-height: 2.9 !important
  }

  .lh30-tb {
    line-height: 3 !important
  }

  .ls0-tb {
    letter-spacing: 0em !important
  }

  .ls1-tb {
    letter-spacing: 0.001em !important
  }

  .ls2-tb {
    letter-spacing: 0.002em !important
  }

  .ls3-tb {
    letter-spacing: 0.003em !important
  }

  .ls4-tb {
    letter-spacing: 0.004em !important
  }

  .ls5-tb {
    letter-spacing: 0.005em !important
  }

  .ls6-tb {
    letter-spacing: 0.006em !important
  }

  .ls7-tb {
    letter-spacing: 0.007em !important
  }

  .ls8-tb {
    letter-spacing: 0.008em !important
  }

  .ls9-tb {
    letter-spacing: 0.009em !important
  }

  .ls10-tb {
    letter-spacing: 0.01em !important
  }

  .ls11-tb {
    letter-spacing: 0.011em !important
  }

  .ls12-tb {
    letter-spacing: 0.012em !important
  }

  .ls13-tb {
    letter-spacing: 0.013em !important
  }

  .ls14-tb {
    letter-spacing: 0.014em !important
  }

  .ls15-tb {
    letter-spacing: 0.015em !important
  }

  .ls16-tb {
    letter-spacing: 0.016em !important
  }

  .ls17-tb {
    letter-spacing: 0.017em !important
  }

  .ls18-tb {
    letter-spacing: 0.018em !important
  }

  .ls19-tb {
    letter-spacing: 0.019em !important
  }

  .ls20-tb {
    letter-spacing: 0.02em !important
  }

  .ls21-tb {
    letter-spacing: 0.021em !important
  }

  .ls22-tb {
    letter-spacing: 0.022em !important
  }

  .ls23-tb {
    letter-spacing: 0.023em !important
  }

  .ls24-tb {
    letter-spacing: 0.024em !important
  }

  .ls25-tb {
    letter-spacing: 0.025em !important
  }

  .ls26-tb {
    letter-spacing: 0.026em !important
  }

  .ls27-tb {
    letter-spacing: 0.027em !important
  }

  .ls28-tb {
    letter-spacing: 0.028em !important
  }

  .ls29-tb {
    letter-spacing: 0.029em !important
  }

  .ls30-tb {
    letter-spacing: 0.03em !important
  }

  .ls31-tb {
    letter-spacing: 0.031em !important
  }

  .ls32-tb {
    letter-spacing: 0.032em !important
  }

  .ls33-tb {
    letter-spacing: 0.033em !important
  }

  .ls34-tb {
    letter-spacing: 0.034em !important
  }

  .ls35-tb {
    letter-spacing: 0.035em !important
  }

  .ls36-tb {
    letter-spacing: 0.036em !important
  }

  .ls37-tb {
    letter-spacing: 0.037em !important
  }

  .ls38-tb {
    letter-spacing: 0.038em !important
  }

  .ls39-tb {
    letter-spacing: 0.039em !important
  }

  .ls40-tb {
    letter-spacing: 0.04em !important
  }

  .ls41-tb {
    letter-spacing: 0.041em !important
  }

  .ls42-tb {
    letter-spacing: 0.042em !important
  }

  .ls43-tb {
    letter-spacing: 0.043em !important
  }

  .ls44-tb {
    letter-spacing: 0.044em !important
  }

  .ls45-tb {
    letter-spacing: 0.045em !important
  }

  .ls46-tb {
    letter-spacing: 0.046em !important
  }

  .ls47-tb {
    letter-spacing: 0.047em !important
  }

  .ls48-tb {
    letter-spacing: 0.048em !important
  }

  .ls49-tb {
    letter-spacing: 0.049em !important
  }

  .ls50-tb {
    letter-spacing: 0.05em !important
  }

  .ls51-tb {
    letter-spacing: 0.051em !important
  }

  .ls52-tb {
    letter-spacing: 0.052em !important
  }

  .ls53-tb {
    letter-spacing: 0.053em !important
  }

  .ls54-tb {
    letter-spacing: 0.054em !important
  }

  .ls55-tb {
    letter-spacing: 0.055em !important
  }

  .ls56-tb {
    letter-spacing: 0.056em !important
  }

  .ls57-tb {
    letter-spacing: 0.057em !important
  }

  .ls58-tb {
    letter-spacing: 0.058em !important
  }

  .ls59-tb {
    letter-spacing: 0.059em !important
  }

  .ls60-tb {
    letter-spacing: 0.06em !important
  }

  .ls61-tb {
    letter-spacing: 0.061em !important
  }

  .ls62-tb {
    letter-spacing: 0.062em !important
  }

  .ls63-tb {
    letter-spacing: 0.063em !important
  }

  .ls64-tb {
    letter-spacing: 0.064em !important
  }

  .ls65-tb {
    letter-spacing: 0.065em !important
  }

  .ls66-tb {
    letter-spacing: 0.066em !important
  }

  .ls67-tb {
    letter-spacing: 0.067em !important
  }

  .ls68-tb {
    letter-spacing: 0.068em !important
  }

  .ls69-tb {
    letter-spacing: 0.069em !important
  }

  .ls70-tb {
    letter-spacing: 0.07em !important
  }

  .ls71-tb {
    letter-spacing: 0.071em !important
  }

  .ls72-tb {
    letter-spacing: 0.072em !important
  }

  .ls73-tb {
    letter-spacing: 0.073em !important
  }

  .ls74-tb {
    letter-spacing: 0.074em !important
  }

  .ls75-tb {
    letter-spacing: 0.075em !important
  }

  .ls76-tb {
    letter-spacing: 0.076em !important
  }

  .ls77-tb {
    letter-spacing: 0.077em !important
  }

  .ls78-tb {
    letter-spacing: 0.078em !important
  }

  .ls79-tb {
    letter-spacing: 0.079em !important
  }

  .ls80-tb {
    letter-spacing: 0.08em !important
  }

  .ls81-tb {
    letter-spacing: 0.081em !important
  }

  .ls82-tb {
    letter-spacing: 0.082em !important
  }

  .ls83-tb {
    letter-spacing: 0.083em !important
  }

  .ls84-tb {
    letter-spacing: 0.084em !important
  }

  .ls85-tb {
    letter-spacing: 0.085em !important
  }

  .ls86-tb {
    letter-spacing: 0.086em !important
  }

  .ls87-tb {
    letter-spacing: 0.087em !important
  }

  .ls88-tb {
    letter-spacing: 0.088em !important
  }

  .ls89-tb {
    letter-spacing: 0.089em !important
  }

  .ls90-tb {
    letter-spacing: 0.09em !important
  }

  .ls91-tb {
    letter-spacing: 0.091em !important
  }

  .ls92-tb {
    letter-spacing: 0.092em !important
  }

  .ls93-tb {
    letter-spacing: 0.093em !important
  }

  .ls94-tb {
    letter-spacing: 0.094em !important
  }

  .ls95-tb {
    letter-spacing: 0.095em !important
  }

  .ls96-tb {
    letter-spacing: 0.096em !important
  }

  .ls97-tb {
    letter-spacing: 0.097em !important
  }

  .ls98-tb {
    letter-spacing: 0.098em !important
  }

  .ls99-tb {
    letter-spacing: 0.099em !important
  }

  .ls100-tb {
    letter-spacing: 0.1em !important
  }
}

@media only screen and (max-width: 480px) {
  .left-text-sp {
    text-align: left !important
  }

  .right-text-sp {
    text-align: right !important
  }

  .center-text-sp {
    text-align: center !important
  }

  .mt0-sp {
    margin-top: 0px !important
  }

  .mr0-sp {
    margin-right: 0px !important
  }

  .mb0-sp {
    margin-bottom: 0px !important
  }

  .ml0-sp {
    margin-left: 0px !important
  }

  .pt0-sp {
    padding-top: 0px !important
  }

  .pr0-sp {
    padding-right: 0px !important
  }

  .pb0-sp {
    padding-bottom: 0px !important
  }

  .pl0-sp {
    padding-left: 0px !important
  }

  .mt1-sp {
    margin-top: 1px !important
  }

  .mr1-sp {
    margin-right: 1px !important
  }

  .mb1-sp {
    margin-bottom: 1px !important
  }

  .ml1-sp {
    margin-left: 1px !important
  }

  .pt1-sp {
    padding-top: 1px !important
  }

  .pr1-sp {
    padding-right: 1px !important
  }

  .pb1-sp {
    padding-bottom: 1px !important
  }

  .pl1-sp {
    padding-left: 1px !important
  }

  .mt2-sp {
    margin-top: 2px !important
  }

  .mr2-sp {
    margin-right: 2px !important
  }

  .mb2-sp {
    margin-bottom: 2px !important
  }

  .ml2-sp {
    margin-left: 2px !important
  }

  .pt2-sp {
    padding-top: 2px !important
  }

  .pr2-sp {
    padding-right: 2px !important
  }

  .pb2-sp {
    padding-bottom: 2px !important
  }

  .pl2-sp {
    padding-left: 2px !important
  }

  .mt3-sp {
    margin-top: 3px !important
  }

  .mr3-sp {
    margin-right: 3px !important
  }

  .mb3-sp {
    margin-bottom: 3px !important
  }

  .ml3-sp {
    margin-left: 3px !important
  }

  .pt3-sp {
    padding-top: 3px !important
  }

  .pr3-sp {
    padding-right: 3px !important
  }

  .pb3-sp {
    padding-bottom: 3px !important
  }

  .pl3-sp {
    padding-left: 3px !important
  }

  .mt4-sp {
    margin-top: 4px !important
  }

  .mr4-sp {
    margin-right: 4px !important
  }

  .mb4-sp {
    margin-bottom: 4px !important
  }

  .ml4-sp {
    margin-left: 4px !important
  }

  .pt4-sp {
    padding-top: 4px !important
  }

  .pr4-sp {
    padding-right: 4px !important
  }

  .pb4-sp {
    padding-bottom: 4px !important
  }

  .pl4-sp {
    padding-left: 4px !important
  }

  .mt5-sp {
    margin-top: 5px !important
  }

  .mr5-sp {
    margin-right: 5px !important
  }

  .mb5-sp {
    margin-bottom: 5px !important
  }

  .ml5-sp {
    margin-left: 5px !important
  }

  .pt5-sp {
    padding-top: 5px !important
  }

  .pr5-sp {
    padding-right: 5px !important
  }

  .pb5-sp {
    padding-bottom: 5px !important
  }

  .pl5-sp {
    padding-left: 5px !important
  }

  .mt6-sp {
    margin-top: 6px !important
  }

  .mr6-sp {
    margin-right: 6px !important
  }

  .mb6-sp {
    margin-bottom: 6px !important
  }

  .ml6-sp {
    margin-left: 6px !important
  }

  .pt6-sp {
    padding-top: 6px !important
  }

  .pr6-sp {
    padding-right: 6px !important
  }

  .pb6-sp {
    padding-bottom: 6px !important
  }

  .pl6-sp {
    padding-left: 6px !important
  }

  .mt7-sp {
    margin-top: 7px !important
  }

  .mr7-sp {
    margin-right: 7px !important
  }

  .mb7-sp {
    margin-bottom: 7px !important
  }

  .ml7-sp {
    margin-left: 7px !important
  }

  .pt7-sp {
    padding-top: 7px !important
  }

  .pr7-sp {
    padding-right: 7px !important
  }

  .pb7-sp {
    padding-bottom: 7px !important
  }

  .pl7-sp {
    padding-left: 7px !important
  }

  .mt8-sp {
    margin-top: 8px !important
  }

  .mr8-sp {
    margin-right: 8px !important
  }

  .mb8-sp {
    margin-bottom: 8px !important
  }

  .ml8-sp {
    margin-left: 8px !important
  }

  .pt8-sp {
    padding-top: 8px !important
  }

  .pr8-sp {
    padding-right: 8px !important
  }

  .pb8-sp {
    padding-bottom: 8px !important
  }

  .pl8-sp {
    padding-left: 8px !important
  }

  .mt9-sp {
    margin-top: 9px !important
  }

  .mr9-sp {
    margin-right: 9px !important
  }

  .mb9-sp {
    margin-bottom: 9px !important
  }

  .ml9-sp {
    margin-left: 9px !important
  }

  .pt9-sp {
    padding-top: 9px !important
  }

  .pr9-sp {
    padding-right: 9px !important
  }

  .pb9-sp {
    padding-bottom: 9px !important
  }

  .pl9-sp {
    padding-left: 9px !important
  }

  .mt10-sp {
    margin-top: 10px !important
  }

  .mr10-sp {
    margin-right: 10px !important
  }

  .mb10-sp {
    margin-bottom: 10px !important
  }

  .ml10-sp {
    margin-left: 10px !important
  }

  .pt10-sp {
    padding-top: 10px !important
  }

  .pr10-sp {
    padding-right: 10px !important
  }

  .pb10-sp {
    padding-bottom: 10px !important
  }

  .pl10-sp {
    padding-left: 10px !important
  }

  .mt11-sp {
    margin-top: 11px !important
  }

  .mr11-sp {
    margin-right: 11px !important
  }

  .mb11-sp {
    margin-bottom: 11px !important
  }

  .ml11-sp {
    margin-left: 11px !important
  }

  .pt11-sp {
    padding-top: 11px !important
  }

  .pr11-sp {
    padding-right: 11px !important
  }

  .pb11-sp {
    padding-bottom: 11px !important
  }

  .pl11-sp {
    padding-left: 11px !important
  }

  .mt12-sp {
    margin-top: 12px !important
  }

  .mr12-sp {
    margin-right: 12px !important
  }

  .mb12-sp {
    margin-bottom: 12px !important
  }

  .ml12-sp {
    margin-left: 12px !important
  }

  .pt12-sp {
    padding-top: 12px !important
  }

  .pr12-sp {
    padding-right: 12px !important
  }

  .pb12-sp {
    padding-bottom: 12px !important
  }

  .pl12-sp {
    padding-left: 12px !important
  }

  .mt13-sp {
    margin-top: 13px !important
  }

  .mr13-sp {
    margin-right: 13px !important
  }

  .mb13-sp {
    margin-bottom: 13px !important
  }

  .ml13-sp {
    margin-left: 13px !important
  }

  .pt13-sp {
    padding-top: 13px !important
  }

  .pr13-sp {
    padding-right: 13px !important
  }

  .pb13-sp {
    padding-bottom: 13px !important
  }

  .pl13-sp {
    padding-left: 13px !important
  }

  .mt14-sp {
    margin-top: 14px !important
  }

  .mr14-sp {
    margin-right: 14px !important
  }

  .mb14-sp {
    margin-bottom: 14px !important
  }

  .ml14-sp {
    margin-left: 14px !important
  }

  .pt14-sp {
    padding-top: 14px !important
  }

  .pr14-sp {
    padding-right: 14px !important
  }

  .pb14-sp {
    padding-bottom: 14px !important
  }

  .pl14-sp {
    padding-left: 14px !important
  }

  .mt15-sp {
    margin-top: 15px !important
  }

  .mr15-sp {
    margin-right: 15px !important
  }

  .mb15-sp {
    margin-bottom: 15px !important
  }

  .ml15-sp {
    margin-left: 15px !important
  }

  .pt15-sp {
    padding-top: 15px !important
  }

  .pr15-sp {
    padding-right: 15px !important
  }

  .pb15-sp {
    padding-bottom: 15px !important
  }

  .pl15-sp {
    padding-left: 15px !important
  }

  .mt16-sp {
    margin-top: 16px !important
  }

  .mr16-sp {
    margin-right: 16px !important
  }

  .mb16-sp {
    margin-bottom: 16px !important
  }

  .ml16-sp {
    margin-left: 16px !important
  }

  .pt16-sp {
    padding-top: 16px !important
  }

  .pr16-sp {
    padding-right: 16px !important
  }

  .pb16-sp {
    padding-bottom: 16px !important
  }

  .pl16-sp {
    padding-left: 16px !important
  }

  .mt17-sp {
    margin-top: 17px !important
  }

  .mr17-sp {
    margin-right: 17px !important
  }

  .mb17-sp {
    margin-bottom: 17px !important
  }

  .ml17-sp {
    margin-left: 17px !important
  }

  .pt17-sp {
    padding-top: 17px !important
  }

  .pr17-sp {
    padding-right: 17px !important
  }

  .pb17-sp {
    padding-bottom: 17px !important
  }

  .pl17-sp {
    padding-left: 17px !important
  }

  .mt18-sp {
    margin-top: 18px !important
  }

  .mr18-sp {
    margin-right: 18px !important
  }

  .mb18-sp {
    margin-bottom: 18px !important
  }

  .ml18-sp {
    margin-left: 18px !important
  }

  .pt18-sp {
    padding-top: 18px !important
  }

  .pr18-sp {
    padding-right: 18px !important
  }

  .pb18-sp {
    padding-bottom: 18px !important
  }

  .pl18-sp {
    padding-left: 18px !important
  }

  .mt19-sp {
    margin-top: 19px !important
  }

  .mr19-sp {
    margin-right: 19px !important
  }

  .mb19-sp {
    margin-bottom: 19px !important
  }

  .ml19-sp {
    margin-left: 19px !important
  }

  .pt19-sp {
    padding-top: 19px !important
  }

  .pr19-sp {
    padding-right: 19px !important
  }

  .pb19-sp {
    padding-bottom: 19px !important
  }

  .pl19-sp {
    padding-left: 19px !important
  }

  .mt20-sp {
    margin-top: 20px !important
  }

  .mr20-sp {
    margin-right: 20px !important
  }

  .mb20-sp {
    margin-bottom: 20px !important
  }

  .ml20-sp {
    margin-left: 20px !important
  }

  .pt20-sp {
    padding-top: 20px !important
  }

  .pr20-sp {
    padding-right: 20px !important
  }

  .pb20-sp {
    padding-bottom: 20px !important
  }

  .pl20-sp {
    padding-left: 20px !important
  }

  .mt25-sp {
    margin-top: 25px !important
  }

  .mr25-sp {
    margin-right: 25px !important
  }

  .mb25-sp {
    margin-bottom: 25px !important
  }

  .ml25-sp {
    margin-left: 25px !important
  }

  .pt25-sp {
    padding-top: 25px !important
  }

  .pr25-sp {
    padding-right: 25px !important
  }

  .pb25-sp {
    padding-bottom: 25px !important
  }

  .pl25-sp {
    padding-left: 25px !important
  }

  .mt30-sp {
    margin-top: 30px !important
  }

  .mr30-sp {
    margin-right: 30px !important
  }

  .mb30-sp {
    margin-bottom: 30px !important
  }

  .ml30-sp {
    margin-left: 30px !important
  }

  .pt30-sp {
    padding-top: 30px !important
  }

  .pr30-sp {
    padding-right: 30px !important
  }

  .pb30-sp {
    padding-bottom: 30px !important
  }

  .pl30-sp {
    padding-left: 30px !important
  }

  .mt35-sp {
    margin-top: 35px !important
  }

  .mr35-sp {
    margin-right: 35px !important
  }

  .mb35-sp {
    margin-bottom: 35px !important
  }

  .ml35-sp {
    margin-left: 35px !important
  }

  .pt35-sp {
    padding-top: 35px !important
  }

  .pr35-sp {
    padding-right: 35px !important
  }

  .pb35-sp {
    padding-bottom: 35px !important
  }

  .pl35-sp {
    padding-left: 35px !important
  }

  .mt40-sp {
    margin-top: 40px !important
  }

  .mr40-sp {
    margin-right: 40px !important
  }

  .mb40-sp {
    margin-bottom: 40px !important
  }

  .ml40-sp {
    margin-left: 40px !important
  }

  .pt40-sp {
    padding-top: 40px !important
  }

  .pr40-sp {
    padding-right: 40px !important
  }

  .pb40-sp {
    padding-bottom: 40px !important
  }

  .pl40-sp {
    padding-left: 40px !important
  }

  .mt45-sp {
    margin-top: 45px !important
  }

  .mr45-sp {
    margin-right: 45px !important
  }

  .mb45-sp {
    margin-bottom: 45px !important
  }

  .ml45-sp {
    margin-left: 45px !important
  }

  .pt45-sp {
    padding-top: 45px !important
  }

  .pr45-sp {
    padding-right: 45px !important
  }

  .pb45-sp {
    padding-bottom: 45px !important
  }

  .pl45-sp {
    padding-left: 45px !important
  }

  .mt50-sp {
    margin-top: 50px !important
  }

  .mr50-sp {
    margin-right: 50px !important
  }

  .mb50-sp {
    margin-bottom: 50px !important
  }

  .ml50-sp {
    margin-left: 50px !important
  }

  .pt50-sp {
    padding-top: 50px !important
  }

  .pr50-sp {
    padding-right: 50px !important
  }

  .pb50-sp {
    padding-bottom: 50px !important
  }

  .pl50-sp {
    padding-left: 50px !important
  }

  .mt55-sp {
    margin-top: 55px !important
  }

  .mr55-sp {
    margin-right: 55px !important
  }

  .mb55-sp {
    margin-bottom: 55px !important
  }

  .ml55-sp {
    margin-left: 55px !important
  }

  .pt55-sp {
    padding-top: 55px !important
  }

  .pr55-sp {
    padding-right: 55px !important
  }

  .pb55-sp {
    padding-bottom: 55px !important
  }

  .pl55-sp {
    padding-left: 55px !important
  }

  .mt60-sp {
    margin-top: 60px !important
  }

  .mr60-sp {
    margin-right: 60px !important
  }

  .mb60-sp {
    margin-bottom: 60px !important
  }

  .ml60-sp {
    margin-left: 60px !important
  }

  .pt60-sp {
    padding-top: 60px !important
  }

  .pr60-sp {
    padding-right: 60px !important
  }

  .pb60-sp {
    padding-bottom: 60px !important
  }

  .pl60-sp {
    padding-left: 60px !important
  }

  .mt65-sp {
    margin-top: 65px !important
  }

  .mr65-sp {
    margin-right: 65px !important
  }

  .mb65-sp {
    margin-bottom: 65px !important
  }

  .ml65-sp {
    margin-left: 65px !important
  }

  .pt65-sp {
    padding-top: 65px !important
  }

  .pr65-sp {
    padding-right: 65px !important
  }

  .pb65-sp {
    padding-bottom: 65px !important
  }

  .pl65-sp {
    padding-left: 65px !important
  }

  .mt70-sp {
    margin-top: 70px !important
  }

  .mr70-sp {
    margin-right: 70px !important
  }

  .mb70-sp {
    margin-bottom: 70px !important
  }

  .ml70-sp {
    margin-left: 70px !important
  }

  .pt70-sp {
    padding-top: 70px !important
  }

  .pr70-sp {
    padding-right: 70px !important
  }

  .pb70-sp {
    padding-bottom: 70px !important
  }

  .pl70-sp {
    padding-left: 70px !important
  }

  .mt75-sp {
    margin-top: 75px !important
  }

  .mr75-sp {
    margin-right: 75px !important
  }

  .mb75-sp {
    margin-bottom: 75px !important
  }

  .ml75-sp {
    margin-left: 75px !important
  }

  .pt75-sp {
    padding-top: 75px !important
  }

  .pr75-sp {
    padding-right: 75px !important
  }

  .pb75-sp {
    padding-bottom: 75px !important
  }

  .pl75-sp {
    padding-left: 75px !important
  }

  .mt80-sp {
    margin-top: 80px !important
  }

  .mr80-sp {
    margin-right: 80px !important
  }

  .mb80-sp {
    margin-bottom: 80px !important
  }

  .ml80-sp {
    margin-left: 80px !important
  }

  .pt80-sp {
    padding-top: 80px !important
  }

  .pr80-sp {
    padding-right: 80px !important
  }

  .pb80-sp {
    padding-bottom: 80px !important
  }

  .pl80-sp {
    padding-left: 80px !important
  }

  .mt85-sp {
    margin-top: 85px !important
  }

  .mr85-sp {
    margin-right: 85px !important
  }

  .mb85-sp {
    margin-bottom: 85px !important
  }

  .ml85-sp {
    margin-left: 85px !important
  }

  .pt85-sp {
    padding-top: 85px !important
  }

  .pr85-sp {
    padding-right: 85px !important
  }

  .pb85-sp {
    padding-bottom: 85px !important
  }

  .pl85-sp {
    padding-left: 85px !important
  }

  .mt90-sp {
    margin-top: 90px !important
  }

  .mr90-sp {
    margin-right: 90px !important
  }

  .mb90-sp {
    margin-bottom: 90px !important
  }

  .ml90-sp {
    margin-left: 90px !important
  }

  .pt90-sp {
    padding-top: 90px !important
  }

  .pr90-sp {
    padding-right: 90px !important
  }

  .pb90-sp {
    padding-bottom: 90px !important
  }

  .pl90-sp {
    padding-left: 90px !important
  }

  .mt95-sp {
    margin-top: 95px !important
  }

  .mr95-sp {
    margin-right: 95px !important
  }

  .mb95-sp {
    margin-bottom: 95px !important
  }

  .ml95-sp {
    margin-left: 95px !important
  }

  .pt95-sp {
    padding-top: 95px !important
  }

  .pr95-sp {
    padding-right: 95px !important
  }

  .pb95-sp {
    padding-bottom: 95px !important
  }

  .pl95-sp {
    padding-left: 95px !important
  }

  .mt100-sp {
    margin-top: 100px !important
  }

  .mr100-sp {
    margin-right: 100px !important
  }

  .mb100-sp {
    margin-bottom: 100px !important
  }

  .ml100-sp {
    margin-left: 100px !important
  }

  .pt100-sp {
    padding-top: 100px !important
  }

  .pr100-sp {
    padding-right: 100px !important
  }

  .pb100-sp {
    padding-bottom: 100px !important
  }

  .pl100-sp {
    padding-left: 100px !important
  }

  .mt105-sp {
    margin-top: 105px !important
  }

  .mr105-sp {
    margin-right: 105px !important
  }

  .mb105-sp {
    margin-bottom: 105px !important
  }

  .ml105-sp {
    margin-left: 105px !important
  }

  .pt105-sp {
    padding-top: 105px !important
  }

  .pr105-sp {
    padding-right: 105px !important
  }

  .pb105-sp {
    padding-bottom: 105px !important
  }

  .pl105-sp {
    padding-left: 105px !important
  }

  .mt110-sp {
    margin-top: 110px !important
  }

  .mr110-sp {
    margin-right: 110px !important
  }

  .mb110-sp {
    margin-bottom: 110px !important
  }

  .ml110-sp {
    margin-left: 110px !important
  }

  .pt110-sp {
    padding-top: 110px !important
  }

  .pr110-sp {
    padding-right: 110px !important
  }

  .pb110-sp {
    padding-bottom: 110px !important
  }

  .pl110-sp {
    padding-left: 110px !important
  }

  .mt115-sp {
    margin-top: 115px !important
  }

  .mr115-sp {
    margin-right: 115px !important
  }

  .mb115-sp {
    margin-bottom: 115px !important
  }

  .ml115-sp {
    margin-left: 115px !important
  }

  .pt115-sp {
    padding-top: 115px !important
  }

  .pr115-sp {
    padding-right: 115px !important
  }

  .pb115-sp {
    padding-bottom: 115px !important
  }

  .pl115-sp {
    padding-left: 115px !important
  }

  .mt120-sp {
    margin-top: 120px !important
  }

  .mr120-sp {
    margin-right: 120px !important
  }

  .mb120-sp {
    margin-bottom: 120px !important
  }

  .ml120-sp {
    margin-left: 120px !important
  }

  .pt120-sp {
    padding-top: 120px !important
  }

  .pr120-sp {
    padding-right: 120px !important
  }

  .pb120-sp {
    padding-bottom: 120px !important
  }

  .pl120-sp {
    padding-left: 120px !important
  }

  .mt125-sp {
    margin-top: 125px !important
  }

  .mr125-sp {
    margin-right: 125px !important
  }

  .mb125-sp {
    margin-bottom: 125px !important
  }

  .ml125-sp {
    margin-left: 125px !important
  }

  .pt125-sp {
    padding-top: 125px !important
  }

  .pr125-sp {
    padding-right: 125px !important
  }

  .pb125-sp {
    padding-bottom: 125px !important
  }

  .pl125-sp {
    padding-left: 125px !important
  }

  .mt130-sp {
    margin-top: 130px !important
  }

  .mr130-sp {
    margin-right: 130px !important
  }

  .mb130-sp {
    margin-bottom: 130px !important
  }

  .ml130-sp {
    margin-left: 130px !important
  }

  .pt130-sp {
    padding-top: 130px !important
  }

  .pr130-sp {
    padding-right: 130px !important
  }

  .pb130-sp {
    padding-bottom: 130px !important
  }

  .pl130-sp {
    padding-left: 130px !important
  }

  .mt135-sp {
    margin-top: 135px !important
  }

  .mr135-sp {
    margin-right: 135px !important
  }

  .mb135-sp {
    margin-bottom: 135px !important
  }

  .ml135-sp {
    margin-left: 135px !important
  }

  .pt135-sp {
    padding-top: 135px !important
  }

  .pr135-sp {
    padding-right: 135px !important
  }

  .pb135-sp {
    padding-bottom: 135px !important
  }

  .pl135-sp {
    padding-left: 135px !important
  }

  .mt140-sp {
    margin-top: 140px !important
  }

  .mr140-sp {
    margin-right: 140px !important
  }

  .mb140-sp {
    margin-bottom: 140px !important
  }

  .ml140-sp {
    margin-left: 140px !important
  }

  .pt140-sp {
    padding-top: 140px !important
  }

  .pr140-sp {
    padding-right: 140px !important
  }

  .pb140-sp {
    padding-bottom: 140px !important
  }

  .pl140-sp {
    padding-left: 140px !important
  }

  .mt145-sp {
    margin-top: 145px !important
  }

  .mr145-sp {
    margin-right: 145px !important
  }

  .mb145-sp {
    margin-bottom: 145px !important
  }

  .ml145-sp {
    margin-left: 145px !important
  }

  .pt145-sp {
    padding-top: 145px !important
  }

  .pr145-sp {
    padding-right: 145px !important
  }

  .pb145-sp {
    padding-bottom: 145px !important
  }

  .pl145-sp {
    padding-left: 145px !important
  }

  .mt150-sp {
    margin-top: 150px !important
  }

  .mr150-sp {
    margin-right: 150px !important
  }

  .mb150-sp {
    margin-bottom: 150px !important
  }

  .ml150-sp {
    margin-left: 150px !important
  }

  .pt150-sp {
    padding-top: 150px !important
  }

  .pr150-sp {
    padding-right: 150px !important
  }

  .pb150-sp {
    padding-bottom: 150px !important
  }

  .pl150-sp {
    padding-left: 150px !important
  }

  .mt155-sp {
    margin-top: 155px !important
  }

  .mr155-sp {
    margin-right: 155px !important
  }

  .mb155-sp {
    margin-bottom: 155px !important
  }

  .ml155-sp {
    margin-left: 155px !important
  }

  .pt155-sp {
    padding-top: 155px !important
  }

  .pr155-sp {
    padding-right: 155px !important
  }

  .pb155-sp {
    padding-bottom: 155px !important
  }

  .pl155-sp {
    padding-left: 155px !important
  }

  .mt160-sp {
    margin-top: 160px !important
  }

  .mr160-sp {
    margin-right: 160px !important
  }

  .mb160-sp {
    margin-bottom: 160px !important
  }

  .ml160-sp {
    margin-left: 160px !important
  }

  .pt160-sp {
    padding-top: 160px !important
  }

  .pr160-sp {
    padding-right: 160px !important
  }

  .pb160-sp {
    padding-bottom: 160px !important
  }

  .pl160-sp {
    padding-left: 160px !important
  }

  .mt165-sp {
    margin-top: 165px !important
  }

  .mr165-sp {
    margin-right: 165px !important
  }

  .mb165-sp {
    margin-bottom: 165px !important
  }

  .ml165-sp {
    margin-left: 165px !important
  }

  .pt165-sp {
    padding-top: 165px !important
  }

  .pr165-sp {
    padding-right: 165px !important
  }

  .pb165-sp {
    padding-bottom: 165px !important
  }

  .pl165-sp {
    padding-left: 165px !important
  }

  .mt170-sp {
    margin-top: 170px !important
  }

  .mr170-sp {
    margin-right: 170px !important
  }

  .mb170-sp {
    margin-bottom: 170px !important
  }

  .ml170-sp {
    margin-left: 170px !important
  }

  .pt170-sp {
    padding-top: 170px !important
  }

  .pr170-sp {
    padding-right: 170px !important
  }

  .pb170-sp {
    padding-bottom: 170px !important
  }

  .pl170-sp {
    padding-left: 170px !important
  }

  .mt175-sp {
    margin-top: 175px !important
  }

  .mr175-sp {
    margin-right: 175px !important
  }

  .mb175-sp {
    margin-bottom: 175px !important
  }

  .ml175-sp {
    margin-left: 175px !important
  }

  .pt175-sp {
    padding-top: 175px !important
  }

  .pr175-sp {
    padding-right: 175px !important
  }

  .pb175-sp {
    padding-bottom: 175px !important
  }

  .pl175-sp {
    padding-left: 175px !important
  }

  .mt180-sp {
    margin-top: 180px !important
  }

  .mr180-sp {
    margin-right: 180px !important
  }

  .mb180-sp {
    margin-bottom: 180px !important
  }

  .ml180-sp {
    margin-left: 180px !important
  }

  .pt180-sp {
    padding-top: 180px !important
  }

  .pr180-sp {
    padding-right: 180px !important
  }

  .pb180-sp {
    padding-bottom: 180px !important
  }

  .pl180-sp {
    padding-left: 180px !important
  }

  .mt185-sp {
    margin-top: 185px !important
  }

  .mr185-sp {
    margin-right: 185px !important
  }

  .mb185-sp {
    margin-bottom: 185px !important
  }

  .ml185-sp {
    margin-left: 185px !important
  }

  .pt185-sp {
    padding-top: 185px !important
  }

  .pr185-sp {
    padding-right: 185px !important
  }

  .pb185-sp {
    padding-bottom: 185px !important
  }

  .pl185-sp {
    padding-left: 185px !important
  }

  .mt190-sp {
    margin-top: 190px !important
  }

  .mr190-sp {
    margin-right: 190px !important
  }

  .mb190-sp {
    margin-bottom: 190px !important
  }

  .ml190-sp {
    margin-left: 190px !important
  }

  .pt190-sp {
    padding-top: 190px !important
  }

  .pr190-sp {
    padding-right: 190px !important
  }

  .pb190-sp {
    padding-bottom: 190px !important
  }

  .pl190-sp {
    padding-left: 190px !important
  }

  .mt195-sp {
    margin-top: 195px !important
  }

  .mr195-sp {
    margin-right: 195px !important
  }

  .mb195-sp {
    margin-bottom: 195px !important
  }

  .ml195-sp {
    margin-left: 195px !important
  }

  .pt195-sp {
    padding-top: 195px !important
  }

  .pr195-sp {
    padding-right: 195px !important
  }

  .pb195-sp {
    padding-bottom: 195px !important
  }

  .pl195-sp {
    padding-left: 195px !important
  }

  .mt200-sp {
    margin-top: 200px !important
  }

  .mr200-sp {
    margin-right: 200px !important
  }

  .mb200-sp {
    margin-bottom: 200px !important
  }

  .ml200-sp {
    margin-left: 200px !important
  }

  .pt200-sp {
    padding-top: 200px !important
  }

  .pr200-sp {
    padding-right: 200px !important
  }

  .pb200-sp {
    padding-bottom: 200px !important
  }

  .pl200-sp {
    padding-left: 200px !important
  }

  .f8px-sp {
    font-size: 8px !important
  }

  .f9px-sp {
    font-size: 9px !important
  }

  .f10px-sp {
    font-size: 10px !important
  }

  .f11px-sp {
    font-size: 11px !important
  }

  .f12px-sp {
    font-size: 12px !important
  }

  .f13px-sp {
    font-size: 13px !important
  }

  .f14px-sp {
    font-size: 14px !important
  }

  .f15px-sp {
    font-size: 15px !important
  }

  .f16px-sp {
    font-size: 16px !important
  }

  .f17px-sp {
    font-size: 17px !important
  }

  .f18px-sp {
    font-size: 18px !important
  }

  .f19px-sp {
    font-size: 19px !important
  }

  .f20px-sp {
    font-size: 20px !important
  }

  .f21px-sp {
    font-size: 21px !important
  }

  .f22px-sp {
    font-size: 22px !important
  }

  .f23px-sp {
    font-size: 23px !important
  }

  .f24px-sp {
    font-size: 24px !important
  }

  .f25px-sp {
    font-size: 25px !important
  }

  .f26px-sp {
    font-size: 26px !important
  }

  .f27px-sp {
    font-size: 27px !important
  }

  .f28px-sp {
    font-size: 28px !important
  }

  .f29px-sp {
    font-size: 29px !important
  }

  .f30px-sp {
    font-size: 30px !important
  }

  .f31px-sp {
    font-size: 31px !important
  }

  .f32px-sp {
    font-size: 32px !important
  }

  .f33px-sp {
    font-size: 33px !important
  }

  .f34px-sp {
    font-size: 34px !important
  }

  .f35px-sp {
    font-size: 35px !important
  }

  .f36px-sp {
    font-size: 36px !important
  }

  .f37px-sp {
    font-size: 37px !important
  }

  .f38px-sp {
    font-size: 38px !important
  }

  .f39px-sp {
    font-size: 39px !important
  }

  .f40px-sp {
    font-size: 40px !important
  }

  .lh10-sp {
    line-height: 1 !important
  }

  .lh11-sp {
    line-height: 1.1 !important
  }

  .lh12-sp {
    line-height: 1.2 !important
  }

  .lh13-sp {
    line-height: 1.3 !important
  }

  .lh14-sp {
    line-height: 1.4 !important
  }

  .lh15-sp {
    line-height: 1.5 !important
  }

  .lh16-sp {
    line-height: 1.6 !important
  }

  .lh17-sp {
    line-height: 1.7 !important
  }

  .lh18-sp {
    line-height: 1.8 !important
  }

  .lh19-sp {
    line-height: 1.9 !important
  }

  .lh20-sp {
    line-height: 2 !important
  }

  .lh21-sp {
    line-height: 2.1 !important
  }

  .lh22-sp {
    line-height: 2.2 !important
  }

  .lh23-sp {
    line-height: 2.3 !important
  }

  .lh24-sp {
    line-height: 2.4 !important
  }

  .lh25-sp {
    line-height: 2.5 !important
  }

  .lh26-sp {
    line-height: 2.6 !important
  }

  .lh27-sp {
    line-height: 2.7 !important
  }

  .lh28-sp {
    line-height: 2.8 !important
  }

  .lh29-sp {
    line-height: 2.9 !important
  }

  .lh30-sp {
    line-height: 3 !important
  }

  .ls0-sp {
    letter-spacing: 0em !important
  }

  .ls1-sp {
    letter-spacing: 0.001em !important
  }

  .ls2-sp {
    letter-spacing: 0.002em !important
  }

  .ls3-sp {
    letter-spacing: 0.003em !important
  }

  .ls4-sp {
    letter-spacing: 0.004em !important
  }

  .ls5-sp {
    letter-spacing: 0.005em !important
  }

  .ls6-sp {
    letter-spacing: 0.006em !important
  }

  .ls7-sp {
    letter-spacing: 0.007em !important
  }

  .ls8-sp {
    letter-spacing: 0.008em !important
  }

  .ls9-sp {
    letter-spacing: 0.009em !important
  }

  .ls10-sp {
    letter-spacing: 0.01em !important
  }

  .ls11-sp {
    letter-spacing: 0.011em !important
  }

  .ls12-sp {
    letter-spacing: 0.012em !important
  }

  .ls13-sp {
    letter-spacing: 0.013em !important
  }

  .ls14-sp {
    letter-spacing: 0.014em !important
  }

  .ls15-sp {
    letter-spacing: 0.015em !important
  }

  .ls16-sp {
    letter-spacing: 0.016em !important
  }

  .ls17-sp {
    letter-spacing: 0.017em !important
  }

  .ls18-sp {
    letter-spacing: 0.018em !important
  }

  .ls19-sp {
    letter-spacing: 0.019em !important
  }

  .ls20-sp {
    letter-spacing: 0.02em !important
  }

  .ls21-sp {
    letter-spacing: 0.021em !important
  }

  .ls22-sp {
    letter-spacing: 0.022em !important
  }

  .ls23-sp {
    letter-spacing: 0.023em !important
  }

  .ls24-sp {
    letter-spacing: 0.024em !important
  }

  .ls25-sp {
    letter-spacing: 0.025em !important
  }

  .ls26-sp {
    letter-spacing: 0.026em !important
  }

  .ls27-sp {
    letter-spacing: 0.027em !important
  }

  .ls28-sp {
    letter-spacing: 0.028em !important
  }

  .ls29-sp {
    letter-spacing: 0.029em !important
  }

  .ls30-sp {
    letter-spacing: 0.03em !important
  }

  .ls31-sp {
    letter-spacing: 0.031em !important
  }

  .ls32-sp {
    letter-spacing: 0.032em !important
  }

  .ls33-sp {
    letter-spacing: 0.033em !important
  }

  .ls34-sp {
    letter-spacing: 0.034em !important
  }

  .ls35-sp {
    letter-spacing: 0.035em !important
  }

  .ls36-sp {
    letter-spacing: 0.036em !important
  }

  .ls37-sp {
    letter-spacing: 0.037em !important
  }

  .ls38-sp {
    letter-spacing: 0.038em !important
  }

  .ls39-sp {
    letter-spacing: 0.039em !important
  }

  .ls40-sp {
    letter-spacing: 0.04em !important
  }

  .ls41-sp {
    letter-spacing: 0.041em !important
  }

  .ls42-sp {
    letter-spacing: 0.042em !important
  }

  .ls43-sp {
    letter-spacing: 0.043em !important
  }

  .ls44-sp {
    letter-spacing: 0.044em !important
  }

  .ls45-sp {
    letter-spacing: 0.045em !important
  }

  .ls46-sp {
    letter-spacing: 0.046em !important
  }

  .ls47-sp {
    letter-spacing: 0.047em !important
  }

  .ls48-sp {
    letter-spacing: 0.048em !important
  }

  .ls49-sp {
    letter-spacing: 0.049em !important
  }

  .ls50-sp {
    letter-spacing: 0.05em !important
  }

  .ls51-sp {
    letter-spacing: 0.051em !important
  }

  .ls52-sp {
    letter-spacing: 0.052em !important
  }

  .ls53-sp {
    letter-spacing: 0.053em !important
  }

  .ls54-sp {
    letter-spacing: 0.054em !important
  }

  .ls55-sp {
    letter-spacing: 0.055em !important
  }

  .ls56-sp {
    letter-spacing: 0.056em !important
  }

  .ls57-sp {
    letter-spacing: 0.057em !important
  }

  .ls58-sp {
    letter-spacing: 0.058em !important
  }

  .ls59-sp {
    letter-spacing: 0.059em !important
  }

  .ls60-sp {
    letter-spacing: 0.06em !important
  }

  .ls61-sp {
    letter-spacing: 0.061em !important
  }

  .ls62-sp {
    letter-spacing: 0.062em !important
  }

  .ls63-sp {
    letter-spacing: 0.063em !important
  }

  .ls64-sp {
    letter-spacing: 0.064em !important
  }

  .ls65-sp {
    letter-spacing: 0.065em !important
  }

  .ls66-sp {
    letter-spacing: 0.066em !important
  }

  .ls67-sp {
    letter-spacing: 0.067em !important
  }

  .ls68-sp {
    letter-spacing: 0.068em !important
  }

  .ls69-sp {
    letter-spacing: 0.069em !important
  }

  .ls70-sp {
    letter-spacing: 0.07em !important
  }

  .ls71-sp {
    letter-spacing: 0.071em !important
  }

  .ls72-sp {
    letter-spacing: 0.072em !important
  }

  .ls73-sp {
    letter-spacing: 0.073em !important
  }

  .ls74-sp {
    letter-spacing: 0.074em !important
  }

  .ls75-sp {
    letter-spacing: 0.075em !important
  }

  .ls76-sp {
    letter-spacing: 0.076em !important
  }

  .ls77-sp {
    letter-spacing: 0.077em !important
  }

  .ls78-sp {
    letter-spacing: 0.078em !important
  }

  .ls79-sp {
    letter-spacing: 0.079em !important
  }

  .ls80-sp {
    letter-spacing: 0.08em !important
  }

  .ls81-sp {
    letter-spacing: 0.081em !important
  }

  .ls82-sp {
    letter-spacing: 0.082em !important
  }

  .ls83-sp {
    letter-spacing: 0.083em !important
  }

  .ls84-sp {
    letter-spacing: 0.084em !important
  }

  .ls85-sp {
    letter-spacing: 0.085em !important
  }

  .ls86-sp {
    letter-spacing: 0.086em !important
  }

  .ls87-sp {
    letter-spacing: 0.087em !important
  }

  .ls88-sp {
    letter-spacing: 0.088em !important
  }

  .ls89-sp {
    letter-spacing: 0.089em !important
  }

  .ls90-sp {
    letter-spacing: 0.09em !important
  }

  .ls91-sp {
    letter-spacing: 0.091em !important
  }

  .ls92-sp {
    letter-spacing: 0.092em !important
  }

  .ls93-sp {
    letter-spacing: 0.093em !important
  }

  .ls94-sp {
    letter-spacing: 0.094em !important
  }

  .ls95-sp {
    letter-spacing: 0.095em !important
  }

  .ls96-sp {
    letter-spacing: 0.096em !important
  }

  .ls97-sp {
    letter-spacing: 0.097em !important
  }

  .ls98-sp {
    letter-spacing: 0.098em !important
  }

  .ls99-sp {
    letter-spacing: 0.099em !important
  }

  .ls100-sp {
    letter-spacing: 0.1em !important
  }
}

@media only screen and (max-width: 768px) {
  .pc {
    display: none !important
  }
}

@media only screen and (max-width: 480px) {
  .pctb {
    display: none !important
  }
}

@media only screen and (min-width: 769px) {
  .tb {
    display: none !important
  }
}

@media only screen and (min-width: 481px) {
  .sp {
    display: none !important
  }
}

.flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.fd--row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row
}

.fd--column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column
}

.fd--rowreverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse
}

.fd--columnreverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse
}

.fw--nowrap {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap
}

.fw--wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.fw--wrapreverse {
  -ms-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse
}

.jc--start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start
}

.jc--end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end
}

.jc--center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.jc--between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.jc--around {
  -ms-flex-pack: distribute;
  justify-content: space-around
}

.jc--evenly {
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly
}

.jc--stretch {
  -webkit-box-pack: stretch;
  -ms-flex-pack: stretch;
  justify-content: stretch
}

.ai--start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}

.ai--end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}

.ai--center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.ai--stretch {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch
}

@media only screen and (max-width: 768px) {
  .fd--row-tb {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
  }

  .fd--column-tb {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }

  .fd--rowreverse-tb {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }

  .fd--columnreverse-tb {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
  }

  .fw--nowrap-tb {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
  }

  .fw--wrap-tb {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }

  .fw--wrapreverse-tb {
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse
  }

  .jc--start-tb {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
  }

  .jc--end-tb {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
  }

  .jc--center-tb {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }

  .jc--between-tb {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }

  .jc--around-tb {
    -ms-flex-pack: distribute;
    justify-content: space-around
  }

  .jc--evenly-tb {
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly
  }

  .jc--stretch-tb {
    -webkit-box-pack: stretch;
    -ms-flex-pack: stretch;
    justify-content: stretch
  }

  .ai--start-tb {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }

  .ai--end-tb {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
  }

  .ai--center-tb {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }

  .ai--stretch-tb {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch
  }
}

@media only screen and (max-width: 480px) {
  .fd--row-sp {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
  }

  .fd--column-sp {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }

  .fd--rowreverse-sp {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }

  .fd--columnreverse-sp {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
  }

  .fw--nowrap-sp {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
  }

  .fw--wrap-sp {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }

  .fw--wrapreverse-sp {
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse
  }

  .jc--start-sp {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
  }

  .jc--end-sp {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
  }

  .jc--center-sp {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }

  .jc--between-sp {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }

  .jc--around-sp {
    -ms-flex-pack: distribute;
    justify-content: space-around
  }

  .jc--evenly-sp {
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly
  }

  .jc--stretch-sp {
    -webkit-box-pack: stretch;
    -ms-flex-pack: stretch;
    justify-content: stretch
  }

  .ai--start-sp {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }

  .ai--end-sp {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
  }

  .ai--center-sp {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }

  .ai--stretch-sp {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch
  }
}

.owl5>*+* {
  margin-top: 5px
}

.owl10>*+* {
  margin-top: 10px
}

.owl15>*+* {
  margin-top: 15px
}

.owl20>*+* {
  margin-top: 20px
}

.owl25>*+* {
  margin-top: 25px
}

.owl30>*+* {
  margin-top: 30px
}

.owl35>*+* {
  margin-top: 35px
}

.owl40>*+* {
  margin-top: 40px
}

.owl45>*+* {
  margin-top: 45px
}

.owl50>*+* {
  margin-top: 50px
}

.owl55>*+* {
  margin-top: 55px
}

.owl60>*+* {
  margin-top: 60px
}

.owl65>*+* {
  margin-top: 65px
}

.owl70>*+* {
  margin-top: 70px
}

.owl75>*+* {
  margin-top: 75px
}

.owl80>*+* {
  margin-top: 80px
}

.owl85>*+* {
  margin-top: 85px
}

.owl90>*+* {
  margin-top: 90px
}

.owl95>*+* {
  margin-top: 95px
}

.owl100>*+* {
  margin-top: 100px
}

@media only screen and (max-width: 768px) {
  .owl5-tb>*+* {
    margin-top: 5px
  }

  .owl10-tb>*+* {
    margin-top: 10px
  }

  .owl15-tb>*+* {
    margin-top: 15px
  }

  .owl20-tb>*+* {
    margin-top: 20px
  }

  .owl25-tb>*+* {
    margin-top: 25px
  }

  .owl30-tb>*+* {
    margin-top: 30px
  }

  .owl35-tb>*+* {
    margin-top: 35px
  }

  .owl40-tb>*+* {
    margin-top: 40px
  }

  .owl45-tb>*+* {
    margin-top: 45px
  }

  .owl50-tb>*+* {
    margin-top: 50px
  }

  .owl55-tb>*+* {
    margin-top: 55px
  }

  .owl60-tb>*+* {
    margin-top: 60px
  }

  .owl65-tb>*+* {
    margin-top: 65px
  }

  .owl70-tb>*+* {
    margin-top: 70px
  }

  .owl75-tb>*+* {
    margin-top: 75px
  }

  .owl80-tb>*+* {
    margin-top: 80px
  }

  .owl85-tb>*+* {
    margin-top: 85px
  }

  .owl90-tb>*+* {
    margin-top: 90px
  }

  .owl95-tb>*+* {
    margin-top: 95px
  }

  .owl100-tb>*+* {
    margin-top: 100px
  }
}

@media only screen and (max-width: 480px) {
  .owl5-sp>*+* {
    margin-top: 5px
  }

  .owl10-sp>*+* {
    margin-top: 10px
  }

  .owl15-sp>*+* {
    margin-top: 15px
  }

  .owl20-sp>*+* {
    margin-top: 20px
  }

  .owl25-sp>*+* {
    margin-top: 25px
  }

  .owl30-sp>*+* {
    margin-top: 30px
  }

  .owl35-sp>*+* {
    margin-top: 35px
  }

  .owl40-sp>*+* {
    margin-top: 40px
  }

  .owl45-sp>*+* {
    margin-top: 45px
  }

  .owl50-sp>*+* {
    margin-top: 50px
  }

  .owl55-sp>*+* {
    margin-top: 55px
  }

  .owl60-sp>*+* {
    margin-top: 60px
  }

  .owl65-sp>*+* {
    margin-top: 65px
  }

  .owl70-sp>*+* {
    margin-top: 70px
  }

  .owl75-sp>*+* {
    margin-top: 75px
  }

  .owl80-sp>*+* {
    margin-top: 80px
  }

  .owl85-sp>*+* {
    margin-top: 85px
  }

  .owl90-sp>*+* {
    margin-top: 90px
  }

  .owl95-sp>*+* {
    margin-top: 95px
  }

  .owl100-sp>*+* {
    margin-top: 100px
  }
}

.row-owl5>*+* {
  margin-left: 5px
}

.row-owl10>*+* {
  margin-left: 10px
}

.row-owl15>*+* {
  margin-left: 15px
}

.row-owl20>*+* {
  margin-left: 20px
}

.row-owl25>*+* {
  margin-left: 25px
}

.row-owl30>*+* {
  margin-left: 30px
}

.row-owl35>*+* {
  margin-left: 35px
}

.row-owl40>*+* {
  margin-left: 40px
}

.row-owl45>*+* {
  margin-left: 45px
}

.row-owl50>*+* {
  margin-left: 50px
}

.row-owl55>*+* {
  margin-left: 55px
}

.row-owl60>*+* {
  margin-left: 60px
}

.row-owl65>*+* {
  margin-left: 65px
}

.row-owl70>*+* {
  margin-left: 70px
}

.row-owl75>*+* {
  margin-left: 75px
}

.row-owl80>*+* {
  margin-left: 80px
}

.row-owl85>*+* {
  margin-left: 85px
}

.row-owl90>*+* {
  margin-left: 90px
}

.row-owl95>*+* {
  margin-left: 95px
}

.row-owl100>*+* {
  margin-left: 100px
}

@media only screen and (max-width: 768px) {
  .row-owl5-tb>*+* {
    margin-left: 5px
  }

  .row-owl10-tb>*+* {
    margin-left: 10px
  }

  .row-owl15-tb>*+* {
    margin-left: 15px
  }

  .row-owl20-tb>*+* {
    margin-left: 20px
  }

  .row-owl25-tb>*+* {
    margin-left: 25px
  }

  .row-owl30-tb>*+* {
    margin-left: 30px
  }

  .row-owl35-tb>*+* {
    margin-left: 35px
  }

  .row-owl40-tb>*+* {
    margin-left: 40px
  }

  .row-owl45-tb>*+* {
    margin-left: 45px
  }

  .row-owl50-tb>*+* {
    margin-left: 50px
  }

  .row-owl55-tb>*+* {
    margin-left: 55px
  }

  .row-owl60-tb>*+* {
    margin-left: 60px
  }

  .row-owl65-tb>*+* {
    margin-left: 65px
  }

  .row-owl70-tb>*+* {
    margin-left: 70px
  }

  .row-owl75-tb>*+* {
    margin-left: 75px
  }

  .row-owl80-tb>*+* {
    margin-left: 80px
  }

  .row-owl85-tb>*+* {
    margin-left: 85px
  }

  .row-owl90-tb>*+* {
    margin-left: 90px
  }

  .row-owl95-tb>*+* {
    margin-left: 95px
  }

  .row-owl100-tb>*+* {
    margin-left: 100px
  }
}

@media only screen and (max-width: 480px) {
  .row-owl5-sp>*+* {
    margin-left: 5px
  }

  .row-owl10-sp>*+* {
    margin-left: 10px
  }

  .row-owl15-sp>*+* {
    margin-left: 15px
  }

  .row-owl20-sp>*+* {
    margin-left: 20px
  }

  .row-owl25-sp>*+* {
    margin-left: 25px
  }

  .row-owl30-sp>*+* {
    margin-left: 30px
  }

  .row-owl35-sp>*+* {
    margin-left: 35px
  }

  .row-owl40-sp>*+* {
    margin-left: 40px
  }

  .row-owl45-sp>*+* {
    margin-left: 45px
  }

  .row-owl50-sp>*+* {
    margin-left: 50px
  }

  .row-owl55-sp>*+* {
    margin-left: 55px
  }

  .row-owl60-sp>*+* {
    margin-left: 60px
  }

  .row-owl65-sp>*+* {
    margin-left: 65px
  }

  .row-owl70-sp>*+* {
    margin-left: 70px
  }

  .row-owl75-sp>*+* {
    margin-left: 75px
  }

  .row-owl80-sp>*+* {
    margin-left: 80px
  }

  .row-owl85-sp>*+* {
    margin-left: 85px
  }

  .row-owl90-sp>*+* {
    margin-left: 90px
  }

  .row-owl95-sp>*+* {
    margin-left: 95px
  }

  .row-owl100-sp>*+* {
    margin-left: 100px
  }
}

*,
::before,
::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

* {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: .04em
}

::before,
::after {
  display: inline-block;
  text-decoration: inherit;
  vertical-align: inherit
}

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}

body {
  background: #fff;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased
}

main,
footer,
header,
hgroup,
nav,
section {
  display: block
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline
}

audio:not([controls]) {
  display: none;
  height: 0
}

[hidden] {
  display: none
}

a {
  background-color: rgba(0, 0, 0, 0)
}

a:active,
a:hover {
  outline: 0
}

b,
strong {
  font-weight: bold
}

small {
  font-size: 80%
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sup {
  top: -0.5em
}

sub {
  bottom: -0.25em
}

img {
  border: 0;
  vertical-align: bottom;
  max-width: 100%
}

svg:not(:root) {
  overflow: hidden
}

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0
}

*:focus-visible {
  outline: var(--primary) !important;
  outline-style: solid !important;
  outline-width: 2px !important
}

input[type=checkbox]:focus+label {
  text-decoration: underline;
  text-decoration-color: var(--primary)
}

select {
  height: 30px;
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 0 20px 0 5px;
  line-height: 1
}

button,
input,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 4px 6px;
  border: 1px solid #ccc;
  border-radius: 4px;
  outline: none
}

input:not([type=checkbox]):not([type=radio]),
textarea,
button {
  -webkit-appearance: none
}

input {
  padding: 0 6px
}

input:focus,
textarea:focus {
  outline: none
}

input[type=button],
input[type=submit] {
  background-color: rgba(0, 0, 0, 0);
  border: none
}

button {
  overflow: visible;
  background-color: rgba(0, 0, 0, 0);
  border-radius: 0;
  border: none
}

button,
select {
  text-transform: none
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: none;
  cursor: pointer
}

button[disabled],
input[disabled] {
  cursor: default
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0
}

input {
  line-height: normal
}

input[type=checkbox],
input[type=radio] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 5px 0 0
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto
}

input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

input[type=text],
select,
textarea {
  font-size: 100%
}

input[type=text]:focus,
textarea:focus {
  -webkit-transition: .2s;
  transition: .2s
}

input[type=text]:focus,
textarea:focus {
  border-color: rgba(82, 168, 236, .8);
  outline: 0;
  outline: thin dotted \9;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(82, 168, 236, .6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(82, 168, 236, .6)
}

textarea {
  overflow: auto;
  resize: vertical
}

label {
  display: inline-block
}

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

td,
th {
  text-align: left;
  vertical-align: top;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt"
}

ol {
  list-style-position: inside
}

li {
  list-style-type: none
}

address {
  font-style: normal
}

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
p,
table,
thead,
tbody,
tfoot,
address {
  margin: 0;
  padding: 0
}

input,
textarea,
table,
thead,
tbody,
tfoot,
address {
  text-align: left
}

div,
dl,
dt,
dd,
ul,
ol,
li,
form,
p {
  text-align: inherit;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt"
}

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

figure {
  margin: 0
}

@media only screen and (max-width: 768px) {
  .float>.left-box {
    float: none !important;
    width: 100% !important
  }

  .float>.right-box {
    float: none !important;
    width: 100% !important
  }

  .float>[class^=mr],
  .float>[class*=" mr"] {
    margin-right: 0 !important
  }

  .float>[class^=ml],
  .float>[class*=" ml"] {
    margin-left: 0 !important
  }
}

@media only screen and (min-width: 769px) {

  .float>[class^=mb],
  .float>[class*=" mb"] {
    margin-bottom: 0 !important
  }
}

.float:before,
.float:after {
  content: " ";
  display: table
}

.float:after {
  clear: both
}

@media only screen and (max-width: 480px) {
  .float>.left-sp {
    float: none !important;
    width: 100% !important
  }

  .float>.right-sp {
    float: none !important;
    width: 100% !important
  }

  .float>[class^=mr],
  .float>[class*=" mr"] {
    margin-right: 0 !important
  }

  .float>[class^=ml],
  .float>[class*=" ml"] {
    margin-left: 0 !important
  }
}

@media only screen and (min-width: 769px) {

  .float>[class^=mb],
  .float>[class*=" mb"] {
    margin-bottom: 0 !important
  }
}

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 10px;
  padding-right: 10px;
  width: 1100px
}

.container:before,
.container:after {
  content: " ";
  display: table
}

.container:after {
  clear: both
}

@media only screen and (max-width: 768px) {
  .container {
    padding-left: 20px;
    padding-right: 20px
  }
}

@media only screen and (max-width: 480px) {
  .container {
    padding-left: 20px;
    padding-right: 20px
  }
}

@media only screen and (max-width: 768px) {
  .container {
    width: auto
  }
}

@media only screen and (max-width: 480px) {
  .container {
    width: auto
  }
}

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 10px;
  padding-right: 10px
}

.container-fluid:before,
.container-fluid:after {
  content: " ";
  display: table
}

.container-fluid:after {
  clear: both
}

@media only screen and (max-width: 768px) {
  .container-fluid {
    padding-left: 20px;
    padding-right: 20px
  }
}

@media only screen and (max-width: 480px) {
  .container-fluid {
    padding-left: 20px;
    padding-right: 20px
  }
}

.row {
  margin-left: -10px;
  margin-right: -10px
}

.row:before,
.row:after {
  content: " ";
  display: table
}

.row:after {
  clear: both
}

@media only screen and (max-width: 768px) {
  .row {
    margin-left: -5px;
    margin-right: -5px
  }
}

@media only screen and (max-width: 480px) {
  .row {
    margin-left: -5px;
    margin-right: -5px
  }
}

.col1,
.col2,
.col3,
.col4,
.col5,
.col6,
.col7,
.col8,
.col9,
.col10,
.col11,
.col12 {
  position: relative;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px
}

@media only screen and (max-width: 768px) {

  .col1,
  .col2,
  .col3,
  .col4,
  .col5,
  .col6,
  .col7,
  .col8,
  .col9,
  .col10,
  .col11,
  .col12 {
    padding-left: 5px;
    padding-right: 5px
  }
}

@media only screen and (max-width: 480px) {

  .col1,
  .col2,
  .col3,
  .col4,
  .col5,
  .col6,
  .col7,
  .col8,
  .col9,
  .col10,
  .col11,
  .col12 {
    padding-left: 5px;
    padding-right: 5px
  }
}

.col1,
.col2,
.col3,
.col4,
.col5,
.col6,
.col7,
.col8,
.col9,
.col10,
.col11,
.col12 {
  float: left
}

.col1 {
  width: 8.3333333333%
}

.col2 {
  width: 16.6666666667%
}

.col3 {
  width: 25%
}

.col4 {
  width: 33.3333333333%
}

.col5 {
  width: 41.6666666667%
}

.col6 {
  width: 50%
}

.col7 {
  width: 58.3333333333%
}

.col8 {
  width: 66.6666666667%
}

.col9 {
  width: 75%
}

.col10 {
  width: 83.3333333333%
}

.col11 {
  width: 91.6666666667%
}

.col12 {
  width: 100%
}

.col0-pull {
  right: auto
}

.col1-pull {
  right: 8.3333333333%
}

.col2-pull {
  right: 16.6666666667%
}

.col3-pull {
  right: 25%
}

.col4-pull {
  right: 33.3333333333%
}

.col5-pull {
  right: 41.6666666667%
}

.col6-pull {
  right: 50%
}

.col7-pull {
  right: 58.3333333333%
}

.col8-pull {
  right: 66.6666666667%
}

.col9-pull {
  right: 75%
}

.col10-pull {
  right: 83.3333333333%
}

.col11-pull {
  right: 91.6666666667%
}

.col12-pull {
  right: 100%
}

.col0-push {
  left: auto
}

.col1-push {
  left: 8.3333333333%
}

.col2-push {
  left: 16.6666666667%
}

.col3-push {
  left: 25%
}

.col4-push {
  left: 33.3333333333%
}

.col5-push {
  left: 41.6666666667%
}

.col6-push {
  left: 50%
}

.col7-push {
  left: 58.3333333333%
}

.col8-push {
  left: 66.6666666667%
}

.col9-push {
  left: 75%
}

.col10-push {
  left: 83.3333333333%
}

.col11-push {
  left: 91.6666666667%
}

.col12-push {
  left: 100%
}

.col0-offset {
  margin-left: 0%
}

.col1-offset {
  margin-left: 8.3333333333%
}

.col2-offset {
  margin-left: 16.6666666667%
}

.col3-offset {
  margin-left: 25%
}

.col4-offset {
  margin-left: 33.3333333333%
}

.col5-offset {
  margin-left: 41.6666666667%
}

.col6-offset {
  margin-left: 50%
}

.col7-offset {
  margin-left: 58.3333333333%
}

.col8-offset {
  margin-left: 66.6666666667%
}

.col9-offset {
  margin-left: 75%
}

.col10-offset {
  margin-left: 83.3333333333%
}

.col11-offset {
  margin-left: 91.6666666667%
}

.col12-offset {
  margin-left: 100%
}

.col1-tb,
.col1-sp,
.col2-tb,
.col2-sp,
.col3-tb,
.col3-sp,
.col4-tb,
.col4-sp,
.col5-tb,
.col5-sp,
.col6-tb,
.col6-sp,
.col7-tb,
.col7-sp,
.col8-tb,
.col8-sp,
.col9-tb,
.col9-sp,
.col10-tb,
.col10-sp,
.col11-tb,
.col11-sp,
.col12-tb,
.col12-sp {
  position: relative;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px
}

@media only screen and (max-width: 768px) {

  .col1-tb,
  .col1-sp,
  .col2-tb,
  .col2-sp,
  .col3-tb,
  .col3-sp,
  .col4-tb,
  .col4-sp,
  .col5-tb,
  .col5-sp,
  .col6-tb,
  .col6-sp,
  .col7-tb,
  .col7-sp,
  .col8-tb,
  .col8-sp,
  .col9-tb,
  .col9-sp,
  .col10-tb,
  .col10-sp,
  .col11-tb,
  .col11-sp,
  .col12-tb,
  .col12-sp {
    padding-left: 5px;
    padding-right: 5px
  }
}

@media only screen and (max-width: 480px) {

  .col1-tb,
  .col1-sp,
  .col2-tb,
  .col2-sp,
  .col3-tb,
  .col3-sp,
  .col4-tb,
  .col4-sp,
  .col5-tb,
  .col5-sp,
  .col6-tb,
  .col6-sp,
  .col7-tb,
  .col7-sp,
  .col8-tb,
  .col8-sp,
  .col9-tb,
  .col9-sp,
  .col10-tb,
  .col10-sp,
  .col11-tb,
  .col11-sp,
  .col12-tb,
  .col12-sp {
    padding-left: 5px;
    padding-right: 5px
  }
}

@media only screen and (max-width: 768px) {

  .col1-tb,
  .col2-tb,
  .col3-tb,
  .col4-tb,
  .col5-tb,
  .col6-tb,
  .col7-tb,
  .col8-tb,
  .col9-tb,
  .col10-tb,
  .col11-tb,
  .col12-tb {
    float: left
  }

  .col1-tb {
    width: 8.3333333333%
  }

  .col2-tb {
    width: 16.6666666667%
  }

  .col3-tb {
    width: 25%
  }

  .col4-tb {
    width: 33.3333333333%
  }

  .col5-tb {
    width: 41.6666666667%
  }

  .col6-tb {
    width: 50%
  }

  .col7-tb {
    width: 58.3333333333%
  }

  .col8-tb {
    width: 66.6666666667%
  }

  .col9-tb {
    width: 75%
  }

  .col10-tb {
    width: 83.3333333333%
  }

  .col11-tb {
    width: 91.6666666667%
  }

  .col12-tb {
    width: 100%
  }

  .col0-pull-tb {
    right: auto
  }

  .col1-pull-tb {
    right: 8.3333333333%
  }

  .col2-pull-tb {
    right: 16.6666666667%
  }

  .col3-pull-tb {
    right: 25%
  }

  .col4-pull-tb {
    right: 33.3333333333%
  }

  .col5-pull-tb {
    right: 41.6666666667%
  }

  .col6-pull-tb {
    right: 50%
  }

  .col7-pull-tb {
    right: 58.3333333333%
  }

  .col8-pull-tb {
    right: 66.6666666667%
  }

  .col9-pull-tb {
    right: 75%
  }

  .col10-pull-tb {
    right: 83.3333333333%
  }

  .col11-pull-tb {
    right: 91.6666666667%
  }

  .col12-pull-tb {
    right: 100%
  }

  .col0-push-tb {
    left: auto
  }

  .col1-push-tb {
    left: 8.3333333333%
  }

  .col2-push-tb {
    left: 16.6666666667%
  }

  .col3-push-tb {
    left: 25%
  }

  .col4-push-tb {
    left: 33.3333333333%
  }

  .col5-push-tb {
    left: 41.6666666667%
  }

  .col6-push-tb {
    left: 50%
  }

  .col7-push-tb {
    left: 58.3333333333%
  }

  .col8-push-tb {
    left: 66.6666666667%
  }

  .col9-push-tb {
    left: 75%
  }

  .col10-push-tb {
    left: 83.3333333333%
  }

  .col11-push-tb {
    left: 91.6666666667%
  }

  .col12-push-tb {
    left: 100%
  }

  .col0-offset-tb {
    margin-left: 0%
  }

  .col1-offset-tb {
    margin-left: 8.3333333333%
  }

  .col2-offset-tb {
    margin-left: 16.6666666667%
  }

  .col3-offset-tb {
    margin-left: 25%
  }

  .col4-offset-tb {
    margin-left: 33.3333333333%
  }

  .col5-offset-tb {
    margin-left: 41.6666666667%
  }

  .col6-offset-tb {
    margin-left: 50%
  }

  .col7-offset-tb {
    margin-left: 58.3333333333%
  }

  .col8-offset-tb {
    margin-left: 66.6666666667%
  }

  .col9-offset-tb {
    margin-left: 75%
  }

  .col10-offset-tb {
    margin-left: 83.3333333333%
  }

  .col11-offset-tb {
    margin-left: 91.6666666667%
  }

  .col12-offset-tb {
    margin-left: 100%
  }
}

@media only screen and (max-width: 480px) {

  .col1-sp,
  .col2-sp,
  .col3-sp,
  .col4-sp,
  .col5-sp,
  .col6-sp,
  .col7-sp,
  .col8-sp,
  .col9-sp,
  .col10-sp,
  .col11-sp,
  .col12-sp {
    float: left
  }

  .col1-sp {
    width: 8.3333333333%
  }

  .col2-sp {
    width: 16.6666666667%
  }

  .col3-sp {
    width: 25%
  }

  .col4-sp {
    width: 33.3333333333%
  }

  .col5-sp {
    width: 41.6666666667%
  }

  .col6-sp {
    width: 50%
  }

  .col7-sp {
    width: 58.3333333333%
  }

  .col8-sp {
    width: 66.6666666667%
  }

  .col9-sp {
    width: 75%
  }

  .col10-sp {
    width: 83.3333333333%
  }

  .col11-sp {
    width: 91.6666666667%
  }

  .col12-sp {
    width: 100%
  }

  .col0-pull-sp {
    right: auto
  }

  .col1-pull-sp {
    right: 8.3333333333%
  }

  .col2-pull-sp {
    right: 16.6666666667%
  }

  .col3-pull-sp {
    right: 25%
  }

  .col4-pull-sp {
    right: 33.3333333333%
  }

  .col5-pull-sp {
    right: 41.6666666667%
  }

  .col6-pull-sp {
    right: 50%
  }

  .col7-pull-sp {
    right: 58.3333333333%
  }

  .col8-pull-sp {
    right: 66.6666666667%
  }

  .col9-pull-sp {
    right: 75%
  }

  .col10-pull-sp {
    right: 83.3333333333%
  }

  .col11-pull-sp {
    right: 91.6666666667%
  }

  .col12-pull-sp {
    right: 100%
  }

  .col0-push-sp {
    left: auto
  }

  .col1-push-sp {
    left: 8.3333333333%
  }

  .col2-push-sp {
    left: 16.6666666667%
  }

  .col3-push-sp {
    left: 25%
  }

  .col4-push-sp {
    left: 33.3333333333%
  }

  .col5-push-sp {
    left: 41.6666666667%
  }

  .col6-push-sp {
    left: 50%
  }

  .col7-push-sp {
    left: 58.3333333333%
  }

  .col8-push-sp {
    left: 66.6666666667%
  }

  .col9-push-sp {
    left: 75%
  }

  .col10-push-sp {
    left: 83.3333333333%
  }

  .col11-push-sp {
    left: 91.6666666667%
  }

  .col12-push-sp {
    left: 100%
  }

  .col0-offset-sp {
    margin-left: 0%
  }

  .col1-offset-sp {
    margin-left: 8.3333333333%
  }

  .col2-offset-sp {
    margin-left: 16.6666666667%
  }

  .col3-offset-sp {
    margin-left: 25%
  }

  .col4-offset-sp {
    margin-left: 33.3333333333%
  }

  .col5-offset-sp {
    margin-left: 41.6666666667%
  }

  .col6-offset-sp {
    margin-left: 50%
  }

  .col7-offset-sp {
    margin-left: 58.3333333333%
  }

  .col8-offset-sp {
    margin-left: 66.6666666667%
  }

  .col9-offset-sp {
    margin-left: 75%
  }

  .col10-offset-sp {
    margin-left: 83.3333333333%
  }

  .col11-offset-sp {
    margin-left: 91.6666666667%
  }

  .col12-offset-sp {
    margin-left: 100%
  }
}

@media print {

  .tb,
  .sp {
    display: none !important
  }

  .l-container {
    overflow: visible !important
  }

  header {
    position: inherit !important
  }

  .key-visual.top {
    max-height: 600px !important
  }
}

@-webkit-keyframes Animation {}

@keyframes Animation {}

@keyframes Animation {}

@-webkit-keyframes fadezoom {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }

  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
}

@keyframes fadezoom {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }

  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
}

@-webkit-keyframes button-hover001 {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0)
  }

  100% {
    -webkit-transform: translate(-50%, -50%) scale(0.95);
    transform: translate(-50%, -50%) scale(0.95)
  }
}

@keyframes button-hover001 {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0)
  }

  100% {
    -webkit-transform: translate(-50%, -50%) scale(0.95);
    transform: translate(-50%, -50%) scale(0.95)
  }
}

@-webkit-keyframes button-hover001out {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    opacity: .8
  }

  100% {
    -webkit-transform: translate(-50%, -50%) scale(1.2);
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 0
  }
}

@keyframes button-hover001out {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    opacity: .8
  }

  100% {
    -webkit-transform: translate(-50%, -50%) scale(1.2);
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 0
  }
}

.js-hover-content-mouseon::after {
  -webkit-transform: translate(-50%, -50%) scale(0.95);
  -ms-transform: translate(-50%, -50%) scale(0.95);
  transform: translate(-50%, -50%) scale(0.95);
  -webkit-animation: button-hover001 .3s ease-in-out;
  animation: button-hover001 .3s ease-in-out
}

.js-hover-content-mouseout::after {
  -webkit-transform: translate(-50%, -50%) scale(0);
  -ms-transform: translate(-50%, -50%) scale(0);
  transform: translate(-50%, -50%) scale(0);
  -webkit-animation: button-hover001out .3s ease-in;
  animation: button-hover001out .3s ease-in
}

@-webkit-keyframes underline-fade {
  0% {
    width: 100%
  }

  50% {
    width: 0%;
    left: 50%
  }

  100% {
    width: 100%;
    left: 0
  }
}

@keyframes underline-fade {
  0% {
    width: 100%
  }

  50% {
    width: 0%;
    left: 50%
  }

  100% {
    width: 100%;
    left: 0
  }
}

.button01,
.l-main .ui.form.inputForm button.button01,
.l-main .ui.form.inputForm a.button01,
ul.btn01-list>li>a,
.button05,
.button02,
.l-main .ui.form.inputForm button.button02,
.l-main .ui.form.inputForm a.button02 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-height: 65px;
  width: 100%;
  max-width: 300px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  border: 1px solid var(--primary);
  background: #fff;
  position: relative;
  padding: 10px;
  -webkit-transition: .3s;
  transition: .3s
}

.button01>span,
.l-main .ui.form.inputForm button.button01>span,
.l-main .ui.form.inputForm a.button01>span,
ul.btn01-list>li>a>span,
.button05>span,
.button02>span,
.l-main .ui.form.inputForm button.button02>span,
.l-main .ui.form.inputForm a.button02>span {
  color: var(--primary);
  position: relative;
  position: relative;
  z-index: 2;
  padding-left: 27px
}

.button01>span::before,
.l-main .ui.form.inputForm button.button01>span::before,
.l-main .ui.form.inputForm a.button01>span::before,
ul.btn01-list>li>a>span::before,
.button05>span::before,
.button02>span::before,
.l-main .ui.form.inputForm button.button02>span::before,
.l-main .ui.form.inputForm a.button02>span::before {
  content: "";
  height: 15px;
  width: 15px;
  background: url(../img/icon_btn01.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.button01::before,
.l-main .ui.form.inputForm button.button01::before,
.l-main .ui.form.inputForm a.button01::before,
ul.btn01-list>li>a::before,
.button05::before,
.button02::before,
.l-main .ui.form.inputForm button.button02::before,
.l-main .ui.form.inputForm a.button02::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-transition: .3s;
  transition: .3s
}

.button01::after,
.l-main .ui.form.inputForm button.button01::after,
.l-main .ui.form.inputForm a.button01::after,
ul.btn01-list>li>a::after,
.button05::after,
.button02::after,
.l-main .ui.form.inputForm button.button02::after,
.l-main .ui.form.inputForm a.button02::after {
  content: "";
  border-right: 1px solid var(--primary);
  border-bottom: 1px solid var(--primary);
  position: absolute;
  z-index: -1;
  height: 100%;
  width: 100%;
  right: -5px;
  bottom: -5px;
  -webkit-transition: .3s;
  transition: .3s
}

.button01:hover,
.l-main .ui.form.inputForm button.button01:hover,
.l-main .ui.form.inputForm a.button01:hover,
ul.btn01-list>li>a:hover,
.button05:hover,
.button02:hover,
.l-main .ui.form.inputForm button.button02:hover,
.l-main .ui.form.inputForm a.button02:hover {
  -webkit-transform: translate(5px, 5px);
  -ms-transform: translate(5px, 5px);
  transform: translate(5px, 5px);
  background: linear-gradient(190deg, #46a5ea, #005bab)
}

.button01:hover::before,
.l-main .ui.form.inputForm button.button01:hover::before,
.l-main .ui.form.inputForm a.button01:hover::before,
ul.btn01-list>li>a:hover::before,
.button05:hover::before,
.button02:hover::before,
.l-main .ui.form.inputForm button.button02:hover::before,
.l-main .ui.form.inputForm a.button02:hover::before {
  opacity: 0
}

.button01:hover::after,
.l-main .ui.form.inputForm button.button01:hover::after,
.l-main .ui.form.inputForm a.button01:hover::after,
ul.btn01-list>li>a:hover::after,
.button05:hover::after,
.button02:hover::after,
.l-main .ui.form.inputForm button.button02:hover::after,
.l-main .ui.form.inputForm a.button02:hover::after {
  right: 0;
  bottom: 0;
  opacity: 0
}

.button01:hover>span,
.l-main .ui.form.inputForm button.button01:hover>span,
.l-main .ui.form.inputForm a.button01:hover>span,
ul.btn01-list>li>a:hover>span,
.button05:hover>span,
.button02:hover>span,
.l-main .ui.form.inputForm button.button02:hover>span,
.l-main .ui.form.inputForm a.button02:hover>span {
  color: #fff
}

.button01:hover>span::before,
.l-main .ui.form.inputForm button.button01:hover>span::before,
.l-main .ui.form.inputForm a.button01:hover>span::before,
ul.btn01-list>li>a:hover>span::before,
.button05:hover>span::before,
.button02:hover>span::before,
.l-main .ui.form.inputForm button.button02:hover>span::before,
.l-main .ui.form.inputForm a.button02:hover>span::before {
  background: url(../img/icon_btn02.png) no-repeat center/contain
}

@media only screen and (max-width: 768px) {

  .button01,
  .l-main .ui.form.inputForm button.button01,
  .l-main .ui.form.inputForm a.button01,
  ul.btn01-list>li>a,
  .button05,
  .button02,
  .l-main .ui.form.inputForm button.button02,
  .l-main .ui.form.inputForm a.button02 {
    min-height: 61px
  }
}

.button01.-white,
.l-main .ui.form.inputForm button.-white.button01,
.l-main .ui.form.inputForm a.-white.button01,
ul.btn01-list>li>a.-white,
.-white.button05,
.-white.button02,
.l-main .ui.form.inputForm button.-white.button02,
.l-main .ui.form.inputForm a.-white.button02 {
  border-color: #fff
}

.button01.-white::before,
.l-main .ui.form.inputForm button.-white.button01::before,
.l-main .ui.form.inputForm a.-white.button01::before,
ul.btn01-list>li>a.-white::before,
.-white.button05::before,
.-white.button02::before,
.l-main .ui.form.inputForm button.-white.button02::before,
.l-main .ui.form.inputForm a.-white.button02::before,
.button01.-white::after,
.l-main .ui.form.inputForm button.-white.button01::after,
.l-main .ui.form.inputForm a.-white.button01::after,
ul.btn01-list>li>a.-white::after,
.-white.button05::after,
.-white.button02::after,
.l-main .ui.form.inputForm button.-white.button02::after,
.l-main .ui.form.inputForm a.-white.button02::after {
  border-right-color: #fff;
  border-bottom-color: #fff
}

.l-main.-mariavilla .button01>span::before,
.l-main.-mariavilla .ui.form.inputForm button.button01>span::before,
.l-main.-mariavilla .ui.form.inputForm a.button01>span::before,
.l-main.-mariavilla ul.btn01-list>li>a>span::before,
.l-main.-mariavilla .button05>span::before,
.l-main.-mariavilla .button02>span::before,
.l-main.-mariavilla .ui.form.inputForm button.button02>span::before,
.l-main.-mariavilla .ui.form.inputForm a.button02>span::before {
  background: url(../img/maria_icon_btn01.png) no-repeat center/contain
}

.l-main.-mariavilla .button01:hover,
.l-main.-mariavilla .ui.form.inputForm button.button01:hover,
.l-main.-mariavilla .ui.form.inputForm a.button01:hover,
.l-main.-mariavilla ul.btn01-list>li>a:hover,
.l-main.-mariavilla .button05:hover,
.l-main.-mariavilla .button02:hover,
.l-main.-mariavilla .ui.form.inputForm button.button02:hover,
.l-main.-mariavilla .ui.form.inputForm a.button02:hover {
  background: linear-gradient(190deg, #a8176b, #801749)
}

.l-main.-mariavilla .button01:hover>span::before,
.l-main.-mariavilla .ui.form.inputForm button.button01:hover>span::before,
.l-main.-mariavilla .ui.form.inputForm a.button01:hover>span::before,
.l-main.-mariavilla ul.btn01-list>li>a:hover>span::before,
.l-main.-mariavilla .button05:hover>span::before,
.l-main.-mariavilla .button02:hover>span::before,
.l-main.-mariavilla .ui.form.inputForm button.button02:hover>span::before,
.l-main.-mariavilla .ui.form.inputForm a.button02:hover>span::before {
  background: url(../img/icon_btn02.png) no-repeat center/contain
}

.button02:before,
.l-main .ui.form.inputForm button.button02:before,
.l-main .ui.form.inputForm a.button02:before {
  background: linear-gradient(190deg, #46a5ea, #005bab)
}

.button02>span,
.l-main .ui.form.inputForm button.button02>span,
.l-main .ui.form.inputForm a.button02>span {
  color: #fff
}

.button02>span::before,
.l-main .ui.form.inputForm button.button02>span::before,
.l-main .ui.form.inputForm a.button02>span::before {
  background: url(../img/icon_btn02.png) no-repeat center/contain
}

.button02:hover:before,
.l-main .ui.form.inputForm button.button02:hover:before,
.l-main .ui.form.inputForm a.button02:hover:before {
  opacity: 1
}

.l-main.-mariavilla .button02:before,
.l-main.-mariavilla .ui.form.inputForm button.button02:before,
.l-main.-mariavilla .ui.form.inputForm a.button02:before {
  background: linear-gradient(190deg, #a8176b, #801749)
}

.l-main.-mariavilla .button02>span,
.l-main.-mariavilla .ui.form.inputForm button.button02>span,
.l-main.-mariavilla .ui.form.inputForm a.button02>span {
  color: #fff
}

.l-main.-mariavilla .button02>span::before,
.l-main.-mariavilla .ui.form.inputForm button.button02>span::before,
.l-main.-mariavilla .ui.form.inputForm a.button02>span::before {
  background: url(../img/icon_btn02.png) no-repeat center/contain
}

.button03,
ul.btn03-list>li>a {
  display: inline-block;
  font-size: 15px;
  font-weight: 400;
  color: #23234b;
  line-height: 2;
  letter-spacing: .04em;
  text-decoration: none;
  position: relative;
  padding-right: 41px;
  -webkit-transition: .3s;
  transition: .3s
}

.button03::before,
ul.btn03-list>li>a::before {
  content: "";
  height: 1px;
  width: calc(100% - 41px);
  background: #23234b;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transition: .3s;
  transition: .3s
}

.button03::after,
ul.btn03-list>li>a::after {
  content: "";
  height: 28px;
  width: 28px;
  border-radius: 50%;
  background: url(../img/icon_btn03.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: .3s;
  transition: .3s
}

.button03:hover,
ul.btn03-list>li>a:hover {
  color: #23234b
}

.button03:hover::before,
ul.btn03-list>li>a:hover::before {
  background: #23234b
}

.button03:hover::after,
ul.btn03-list>li>a:hover::after {
  background: url(../img/icon_btn03_hover.png) no-repeat center/contain
}

.button03.-blue,
ul.btn03-list>li>a.-blue {
  color: var(--primary)
}

.button03.-blue::before,
ul.btn03-list>li>a.-blue::before {
  background: var(--primary)
}

.button03.-blue::after,
ul.btn03-list>li>a.-blue::after {
  background: url(../img/icon_chevron_primary.png) no-repeat center/contain
}

.button03.-blue:hover::after,
ul.btn03-list>li>a.-blue:hover::after {
  background: url(../img/icon_btn03_hover.png) no-repeat center/contain
}

.l-main.-mariavilla .button03,
.l-main.-mariavilla ul.btn03-list>li>a {
  color: var(--primary)
}

.l-main.-mariavilla .button03::before,
.l-main.-mariavilla ul.btn03-list>li>a::before {
  background: var(--primary)
}

.l-main.-mariavilla .button03::after,
.l-main.-mariavilla ul.btn03-list>li>a::after {
  background: url(../img/maria_icon_btn03.png) no-repeat center/contain
}

.button04 {
  display: inline-block;
  font-size: 15px;
  font-weight: 400;
  color: #23234b;
  line-height: 2;
  letter-spacing: .04em;
  text-decoration: none;
  position: relative;
  padding-right: 41px;
  -webkit-transition: .3s;
  transition: .3s
}

.button04::before {
  content: "";
  height: 1px;
  width: calc(100% - 41px);
  background: #23234b;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transition: .3s;
  transition: .3s
}

.button04::after {
  content: "";
  height: 28px;
  width: 28px;
  border-radius: 50%;
  background: url(../img/icon_arr_gray.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: .3s;
  transition: .3s
}

.button04:hover {
  color: var(--primary)
}

.button04:hover::before {
  background: var(--primary)
}

.button04:hover::after {
  background: url(../img/icon_arr_primary.png) no-repeat center/contain
}

.button05 {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 20px 20px 40px;
  -webkit-transition: all .3s;
  transition: all .3s
}

.button05 i {
  height: 80px;
  width: 80px;
  border-radius: 50%;
  background: #f4f8fa;
  margin-bottom: 15px
}

.button05>span {
  font-weight: 500;
  padding: 0
}

.button05>span::before {
  display: none
}

.button05:hover {
  background: linear-gradient(190deg, #005bab, #46a5ea)
}

.button05:hover::before,
.button05:hover::after {
  background: var(--primary);
  right: -5px;
  bottom: -5px
}

.l-main.-mariavilla .button05 i {
  background: #f2e5ec
}

ul.btn01-list {
  display: grid;
  gap: 35px;
  grid-template-columns: repeat(auto-fit, minmax(335px, 1fr))
}

@media only screen and (max-width: 768px) {
  ul.btn01-list {
    gap: 20px
  }
}

ul.btn01-list>li>a {
  max-width: unset
}

ul.btn03-list {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px;
  row-gap: 20px
}

.primary-txt {
  color: var(--primary)
}

.white-txt {
  color: #fff !important
}

.base-font-txt {
  color: #23234b !important
}

.red-txt {
  color: #ab0048
}

.bg-gray {
  background: #d3d3d3
}

table th,
table td {
  line-height: 2
}

@media only screen and (max-width: 768px) {

  table th,
  table td {
    line-height: 1.7
  }
}

.table01,
.schedule-table {
  width: 100%
}

.table01 th,
.schedule-table th,
.table01 td,
.schedule-table td {
  border: 1px solid #ddd;
  padding: 20px 20px
}

.table01 thead tr th,
.schedule-table thead tr th {
  background: var(--primary);
  color: #fff
}

.table01 tbody tr th,
.schedule-table tbody tr th {
  background: #f4f8fa;
  font-weight: 500
}

@media only screen and (max-width: 768px) {

  .table01,
  .schedule-table {
    border-bottom: 1px solid #ddd
  }

  .table01 td,
  .schedule-table td,
  .table01 th,
  .schedule-table th {
    display: block;
    width: 100% !important;
    padding: 15px 15px;
    border-bottom: none
  }
}

.l-main.-mariavilla .table01 tbody tr th,
.l-main.-mariavilla .schedule-table tbody tr th {
  background: #f2e5ec
}

.table01.-thead-center thead tr th,
.-thead-center.schedule-table thead tr th {
  text-align: center
}

.table01.-center th,
.schedule-table th,
.table01.-center td,
.schedule-table td {
  text-align: center
}

.table01.-middle th,
.schedule-table th,
.table01.-middle td,
.schedule-table td {
  vertical-align: middle
}

.table01.-td-middle td,
.-td-middle.schedule-table td {
  vertical-align: middle
}

.table01.-td-right td,
.-td-right.schedule-table td {
  text-align: right
}

.table01.-barrier tbody tr td:first-of-type,
.-barrier.schedule-table tbody tr td:first-of-type {
  padding-right: 0;
  padding-left: 0;
  text-align: center
}

.table01.-barrier tbody tr td:first-of-type img,
.-barrier.schedule-table tbody tr td:first-of-type img {
  width: 50px
}

.table01.-thead-second thead tr th,
.-thead-second.schedule-table thead tr th {
  background: #f4f8fa;
  color: #23234b
}

.table01.-outpatient th,
.-outpatient.schedule-table th,
.table01.-outpatient td,
.-outpatient.schedule-table td {
  line-height: 1.5;
  padding: 15px 10px
}

.table01.-noborder th,
.-noborder.schedule-table th,
.table01.-noborder td,
.-noborder.schedule-table td {
  padding: 12px 5px
}

.table01.-noborder td,
.-noborder.schedule-table td {
  border: unset;
  border-right: 1px solid #ddd;
  line-height: 1.5
}

.table01.-noborder tr.topborder,
.-noborder.schedule-table tr.topborder {
  border-top: 1px solid #ddd
}

.table01.-noborder tbody,
.-noborder.schedule-table tbody {
  border-bottom: 1px solid #ddd
}

.table02 {
  width: 100%;
  border-bottom: 1px solid #d8e4e8
}

.table02 tr:not(:first-of-type) {
  border-top: 1px solid #d8e4e8
}

.table02 th,
.table02 td {
  padding: 19px 0px
}

.table02 th {
  color: var(--primary)
}

@media only screen and (max-width: 768px) {

  .table02 th,
  .table02 td {
    display: block;
    width: 100% !important;
    padding: 10px 0
  }

  .table02 th {
    padding-top: 23px;
    padding-bottom: 5px
  }

  .table02 td {
    padding-bottom: 25px
  }

  .table02.nodrop-table th,
  .table02.schedule-table th,
  .table02.nodrop-table td,
  .table02.schedule-table td {
    padding: 10px 0
  }
}

.table02.-label th>span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 14px;
  background: #f4f8fa;
  color: var(--primary);
  width: 90px;
  height: 35px
}

.table02.-file-list {
  border-bottom: none
}

.table02.-file-list th {
  font-weight: 500;
  color: #23234b
}

.table02.-privacy {
  margin-top: -19px
}

.table02.-privacy th {
  font-weight: 500
}

.table02.-privacy th:nth-of-type(2) {
  text-align: center
}

.overflow-table {
  overflow-x: auto
}

@media only screen and (max-width: 768px) {

  .nodrop-table tbody tr th,
  .schedule-table tbody tr th,
  .nodrop-table tbody tr td,
  .schedule-table tbody tr td,
  .nodrop-table thead tr th,
  .schedule-table thead tr th,
  .nodrop-table thead tr td,
  .schedule-table thead tr td {
    display: table-cell;
    width: auto !important
  }
}

@media only screen and (max-width: 768px) {

  .nodrop-table tbody tr th,
  .schedule-table tbody tr th,
  .nodrop-table thead tr th,
  .schedule-table thead tr th {
    white-space: nowrap
  }
}

table.access-table {
  width: 100%
}

table.access-table tr:not(:last-of-type) {
  border-bottom: 1px solid #eee
}

table.access-table tr th,
table.access-table tr td {
  padding: 19px 0;
  vertical-align: middle
}

table.access-table tr th>span {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  line-height: 35px;
  text-align: center;
  color: var(--primary);
  background: #f4f8fa;
  min-width: 90px
}

table.access-table tr td {
  padding-left: 20px
}

@media only screen and (max-width: 768px) {
  table.access-table tr td {
    padding-left: 0
  }
}

table.access-table tr td a.tel {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.25;
  letter-spacing: .04em;
  color: var(--primary);
  text-decoration: none
}

@media only screen and (max-width: 768px) {
  table.access-table tr td a.tel {
    font-size: 20px;
    font-weight: 400
  }
}

.js-scrollable.-long .scroll-hint-icon {
  top: 200px
}

.schedule-table {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content
}

.news-link-event01 a[href$=".pdf"]:after {
  content: "";
  height: 16px;
  width: 16px;
  background: url(../img/pdf.png) no-repeat center/contain;
  margin-left: 5px
}

.news-link-event01 a[href="#"] {
  color: #23234b;
  text-decoration: none;
  pointer-events: none
}

.news-link-event02,
ul.news-list {
  pointer-events: none
}

.news-link-event02 a,
ul.news-list a {
  pointer-events: all
}

.news-link-event02 a[href="#"],
ul.news-list a[href="#"] {
  pointer-events: none
}

.news-link-event02 a[href$=".pdf"]~.ttl:after,
ul.news-list a[href$=".pdf"]~.ttl:after {
  content: "";
  height: 16px;
  width: 16px;
  background: url(../img/pdf.png) no-repeat center/contain;
  margin-left: 5px
}

ul.red-news-list>li+li {
  margin-top: 5px
}

ul.red-news-list>li {
  background: #fff;
  border-radius: 4px;
  padding: 11px 15px;
  color: #c43b3b
}

ul.red-news-list>li time {
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .04em;
  display: block;
  margin-bottom: 5px
}

ul.red-news-list>li p.ttl {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .04em
}

ul.news-list>li {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 15px;
  -moz-column-gap: 15px;
  column-gap: 15px;
  min-height: 75px;
  background: #fff;
  -webkit-transition: .3s;
  transition: .3s;
  pointer-events: none;
  position: relative;
  padding-right: 38px
}

ul.news-list>li:not(:last-of-type) {
  border-bottom: 1px solid #eee
}

ul.news-list>li:hover {
  background: #f4f8fa
}

ul.news-list>li:hover .ttl {
  color: var(--primary)
}

@media only screen and (max-width: 768px) {
  ul.news-list>li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    row-gap: 5px;
    min-height: 95px;
    padding-top: 15px;
    padding-bottom: 15px
  }

  ul.news-list>li:last-of-type {
    border-bottom: 1px solid #eee
  }
}

ul.news-list>li a::after {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: url(../img/icon_arr_gray.png) no-repeat center/contain;
  position: absolute;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  top: 50%;
  right: 0px
}

ul.news-list>li a[href="#"]:after {
  display: none
}

ul.news-list>li .data-box {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
  padding-right: 10px;
  border-right: 1px solid #eee
}

@media only screen and (max-width: 768px) {
  ul.news-list>li .data-box {
    border: unset
  }
}

ul.news-list>li .ttl {
  -webkit-transition: .3s;
  transition: .3s
}

ul.notice-list>li {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 26px;
  -moz-column-gap: 26px;
  column-gap: 26px;
  min-height: 72px;
  background: #fff;
  position: relative;
  border-bottom: 1px solid #eee;
  pointer-events: none
}

@media only screen and (max-width: 768px) {
  ul.notice-list>li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    row-gap: 5px;
    min-height: 85px
  }
}

ul.notice-list>li a {
  pointer-events: all
}

ul.notice-list>li a[href="#"] {
  pointer-events: none
}

ul.notice-list>li a[href$=".pdf"]~.ttl:after {
  content: "";
  height: 16px;
  width: 16px;
  background: url(../img/pdf.png) no-repeat center/contain;
  margin-left: 5px
}

ul.notice-list>li a:hover~.ttl {
  color: var(--primary)
}

ul.notice-list>li .data-box {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

ul.notice-list>li .data-box time {
  font-weight: 400;
  font-size: 17px;
  min-width: 105px
}

@media only screen and (max-width: 768px) {
  ul.notice-list>li .data-box time {
    font-size: 15px;
    min-width: 90px
  }
}

ul.notice-list>li .data-box .department {
  font-size: 12px;
  color: var(--primary);
  background: #f4f8fa;
  text-align: center;
  border-radius: 20px;
  padding: 4.5px 20px;
  line-height: 1
}

ul.notice-list>li .ttl {
  font-size: 15px;
  -webkit-transition: .3s;
  transition: .3s
}

@media only screen and (max-width: 768px) {
  ul.notice-list>li .ttl {
    font-size: 13px
  }
}

ul.notice-list.-news {
  background: #fff;
  padding: 0 30px
}

ul.notice-list.-news>li {
  -webkit-column-gap: 78px;
  -moz-column-gap: 78px;
  column-gap: 78px
}

ul.notice-list.-news>li:last-of-type {
  border-bottom: none
}

ul.notice-list.-news>li .data-box time {
  font-family: "Roboto", sans-serif;
  color: var(--primary)
}

ul.notice-list.-news-archive>li {
  padding: 15px 0
}

ul.notice-list.-news-archive>li .department {
  width: 168px;
  text-align: center
}

ul.notice-list.-meta>li {
  border-bottom: none;
  min-height: auto
}

ul.notice-list.-side {
  margin-top: -20px
}

ul.notice-list.-side li {
  padding: 20px 0;
  -webkit-transition: .3s;
  transition: .3s
}

ul.notice-list.-side li .data-box {
  margin-bottom: 5px
}

ul.notice-list.-side li .data-box time {
  font-size: 13px;
  font-weight: 400;
  min-width: 76px
}

ul.notice-list.-side li:hover {
  opacity: .7
}

ul.notice-list.-scroll {
  max-height: 216px;
  overflow: scroll
}

@media only screen and (max-width: 768px) {
  ul.notice-list.-scroll {
    max-height: 250px
  }
}

.l-main.-mariavilla ul.notice-list>li .data-box .department {
  width: 102px;
  background: #f2e5ec
}

.cms-ullist>li,
.dot-list>li,
.asterisk-list>li {
  padding-left: 25px;
  position: relative
}

.cms-ullist>li::before,
.dot-list>li::before,
.asterisk-list>li::before {
  position: absolute;
  content: "";
  top: 7px;
  left: 0px;
  color: var(--primary);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 10px
}

@media only screen and (max-width: 768px) {

  .cms-ullist>li::before,
  .dot-list>li::before,
  .asterisk-list>li::before {
    top: 5px
  }
}

.cms-ullist[style="list-style-type: circle;"]>li,
.cms-ullist[style="list-style-type: square;"]>li,
.dot-list[style="list-style-type: circle;"]>li,
[style="list-style-type: circle;"].asterisk-list>li,
.dot-list[style="list-style-type: square;"]>li,
[style="list-style-type: square;"].asterisk-list>li {
  list-style-type: inherit;
  text-indent: 0
}

.cms-ullist[style="list-style-type: circle;"]>li::before,
.cms-ullist[style="list-style-type: square;"]>li::before,
.dot-list[style="list-style-type: circle;"]>li::before,
[style="list-style-type: circle;"].asterisk-list>li::before,
.dot-list[style="list-style-type: square;"]>li::before,
[style="list-style-type: square;"].asterisk-list>li::before {
  content: none
}

.cms-ullist[style="list-style-type: circle;"]>li::marker,
.cms-ullist[style="list-style-type: square;"]>li::marker,
.dot-list[style="list-style-type: circle;"]>li::marker,
[style="list-style-type: circle;"].asterisk-list>li::marker,
.dot-list[style="list-style-type: square;"]>li::marker,
[style="list-style-type: square;"].asterisk-list>li::marker {
  color: #7c7eba
}

.cms-ollist,
.num-list {
  counter-reset: section
}

.cms-ollist>li,
.num-list>li {
  padding-left: 32px;
  position: relative;
  counter-increment: section
}

.cms-ollist>li:before,
.num-list>li:before {
  content: counter(section) ".";
  color: var(--primary);
  position: absolute;
  left: 0;
  top: 0;
  font-weight: bold;
  font-family: "Roboto", sans-serif
}

@media only screen and (max-width: 768px) {

  .cms-ollist>li,
  .num-list>li {
    padding-left: 24px
  }
}

.cms-ollist[style="list-style-type: lower-alpha;"]>li,
.cms-ollist[style="list-style-type: lower-roman;"]>li,
.cms-ollist[style="list-style-type: upper-alpha;"]>li,
.cms-ollist[style="list-style-type: upper-roman;"]>li,
.num-list[style="list-style-type: lower-alpha;"]>li,
.num-list[style="list-style-type: lower-roman;"]>li,
.num-list[style="list-style-type: upper-alpha;"]>li,
.num-list[style="list-style-type: upper-roman;"]>li {
  list-style-type: inherit;
  text-indent: 0;
  margin-left: 0
}

.cms-ollist[style="list-style-type: lower-alpha;"]>li::before,
.cms-ollist[style="list-style-type: lower-roman;"]>li::before,
.cms-ollist[style="list-style-type: upper-alpha;"]>li::before,
.cms-ollist[style="list-style-type: upper-roman;"]>li::before,
.num-list[style="list-style-type: lower-alpha;"]>li::before,
.num-list[style="list-style-type: lower-roman;"]>li::before,
.num-list[style="list-style-type: upper-alpha;"]>li::before,
.num-list[style="list-style-type: upper-roman;"]>li::before {
  content: none
}

.cms-ollist[style="list-style-type: lower-alpha;"]>li::marker,
.cms-ollist[style="list-style-type: lower-roman;"]>li::marker,
.cms-ollist[style="list-style-type: upper-alpha;"]>li::marker,
.cms-ollist[style="list-style-type: upper-roman;"]>li::marker,
.num-list[style="list-style-type: lower-alpha;"]>li::marker,
.num-list[style="list-style-type: lower-roman;"]>li::marker,
.num-list[style="list-style-type: upper-alpha;"]>li::marker,
.num-list[style="list-style-type: upper-roman;"]>li::marker {
  color: #7c7eba
}

.cms-ollist.-asterisk>li,
.num-list.-asterisk>li {
  padding-left: 32px
}

.cms-ollist.-asterisk>li:before,
.num-list.-asterisk>li:before {
  content: "※" counter(section);
  top: 0;
  font-size: 17px;
  font-weight: 400
}

@media only screen and (max-width: 768px) {

  .cms-ollist.-asterisk>li,
  .num-list.-asterisk>li {
    padding-left: 24px
  }

  .cms-ollist.-asterisk>li:before,
  .num-list.-asterisk>li:before {
    font-size: 15px;
    top: 0
  }
}

.asterisk-list>li:before {
  content: "※";
  font-size: 17px;
  top: 0
}

@media only screen and (max-width: 768px) {
  .asterisk-list>li:before {
    font-size: 15px;
    top: 0
  }
}

.asterisk-list.-center {
  display: inline-block
}

.file-icon,
ul.magazine-archivelist>li>a,
ul.file-list>li>a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  line-height: 1.5;
  color: #23234b;
  padding-left: 20px;
  -webkit-transition: .3s;
  transition: .3s
}

.file-icon:before,
ul.magazine-archivelist>li>a:before,
ul.file-list>li>a:before {
  font-weight: 900;
  font-family: "Font Awesome 6 Free";
  position: absolute;
  top: 0;
  left: 0
}

.file-icon[href$=".pdf"]:before,
ul.magazine-archivelist>li>a[href$=".pdf"]:before,
ul.file-list>li>a[href$=".pdf"]:before {
  content: "";
  color: #ef0d00
}

.file-icon[href$=".pdf"]:hover,
ul.magazine-archivelist>li>a[href$=".pdf"]:hover,
ul.file-list>li>a[href$=".pdf"]:hover {
  color: #ef0d00
}

.file-icon[href$=".xls"]:before,
ul.magazine-archivelist>li>a[href$=".xls"]:before,
ul.file-list>li>a[href$=".xls"]:before,
.file-icon[href$=".xlsx"]:before,
ul.magazine-archivelist>li>a[href$=".xlsx"]:before,
ul.file-list>li>a[href$=".xlsx"]:before,
.file-icon[href$=".xlsm"]:before,
ul.magazine-archivelist>li>a[href$=".xlsm"]:before,
ul.file-list>li>a[href$=".xlsm"]:before {
  content: "";
  color: #238049
}

.file-icon[href$=".xls"]:hover,
ul.magazine-archivelist>li>a[href$=".xls"]:hover,
ul.file-list>li>a[href$=".xls"]:hover,
.file-icon[href$=".xlsx"]:hover,
ul.magazine-archivelist>li>a[href$=".xlsx"]:hover,
ul.file-list>li>a[href$=".xlsx"]:hover,
.file-icon[href$=".xlsm"]:hover,
ul.magazine-archivelist>li>a[href$=".xlsm"]:hover,
ul.file-list>li>a[href$=".xlsm"]:hover {
  color: #238049
}

.file-icon[href$=".doc"]:before,
ul.magazine-archivelist>li>a[href$=".doc"]:before,
ul.file-list>li>a[href$=".doc"]:before,
.file-icon[href$=".docx"]:before,
ul.magazine-archivelist>li>a[href$=".docx"]:before,
ul.file-list>li>a[href$=".docx"]:before {
  content: "";
  color: #1b50b0
}

.file-icon[href$=".doc"]:hover,
ul.magazine-archivelist>li>a[href$=".doc"]:hover,
ul.file-list>li>a[href$=".doc"]:hover,
.file-icon[href$=".docx"]:hover,
ul.magazine-archivelist>li>a[href$=".docx"]:hover,
ul.file-list>li>a[href$=".docx"]:hover {
  color: #1b50b0
}

ul.file-list>li>a {
  padding-left: 32px
}

@media only screen and (max-width: 768px) {
  ul.file-list>li>a {
    padding-left: 24px
  }
}

.anchor-box {
  border: 1px solid #ddd;
  background-color: #fff;
  position: relative;
  margin-top: 10px
}

.anchor-box .anchor-ttl {
  background: #fff;
  position: absolute;
  top: -15px;
  left: 30px;
  padding: 0 20px
}

.anchor-box .anchor-link {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px 30px;
  padding: 30px 40px
}

.anchor-box .anchor-link>li>a {
  display: block;
  color: #23234b;
  text-decoration: none;
  position: relative;
  padding-left: 22px;
  -webkit-transition: all .3s;
  transition: all .3s
}

.anchor-box .anchor-link>li>a:before {
  content: "";
  font-weight: 900;
  font-family: "Font Awesome 6 Free";
  color: var(--primary);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.anchor-box .anchor-link>li>a:hover {
  color: var(--primary)
}

@media only screen and (max-width: 768px) {
  .anchor-box .anchor-ttl {
    left: 10px;
    padding: 0 10px
  }

  .anchor-box .anchor-link {
    gap: 5px 0;
    padding: 20px 20px 15px
  }

  .anchor-box .anchor-link>li {
    width: 100%
  }
}

.gradient01,
.top-nav-wrap::after {
  background: -webkit-gradient(linear, right top, left top, from(rgba(75, 131, 255, 0.3)), to(rgba(124, 230, 255, 0.3)));
  background: linear-gradient(to left, rgba(75, 131, 255, 0.3), rgba(124, 230, 255, 0.3))
}

.gradient02,
section.top-recruit-info-sec .content .l-box .info-ttl-box .info-ttl,
.bnr-list .bnr-item .bnr::after,
ul.top-navlist02>li .icon::after,
h2:not(.top)::before,
ul.card-list>li .card-img::after {
  background: -webkit-gradient(linear, right top, left top, from(#035ead), to(#46a5ea));
  background: linear-gradient(to left, #035ead, #46a5ea);
  background: -webkit-gradient(linear, left top, right top, from(#035ead), to(#46a5ea))
}

.gradient-mariavilla,
.l-main.-mariavilla h2:not(.top)::before {
  background: -webkit-gradient(linear, right top, left top, from(#801749), to(#a8176b));
  background: linear-gradient(to left, #801749, #a8176b);
  background: -webkit-gradient(linear, left top, right top, from(#801749), to(#a8176b))
}

.bg-color {
  background-color: #f4f8fa
}

.py-80 {
  padding: 80px 0
}

.scroll-box {
  position: relative
}

@media only screen and (max-width: 768px) {
  .scroll-box.icon {
    overflow-x: scroll
  }

  .scroll-box.icon::before {
    content: "";
    height: 28px;
    width: 28px;
    background: url(../img/icon_arr_primary.png) no-repeat center/contain;
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
  }

  .scroll-box.icon ul.tab-list {
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    white-space: nowrap
  }

  .scroll-box.fade-icon::before {
    content: none
  }
}

ul.tab-list {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid var(--primary)
}

ul.tab-list>li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

@media only screen and (max-width: 768px) {
  ul.tab-list>li {
    width: 100%;
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset
  }
}

ul.tab-list>li>a {
  display: grid;
  height: 100%;
  min-height: 75px;
  color: #23234b;
  line-height: 1.7;
  text-align: center;
  text-decoration: none;
  background: #eee;
  position: relative;
  padding: 8px 10px;
  -webkit-transition: .3s;
  transition: .3s;
  place-content: center
}

ul.tab-list>li>a::after {
  content: "";
  height: 100%;
  width: 100%;
  visibility: hidden;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, left bottom, from(#005bab), to(#46a5ea));
  background: linear-gradient(#005bab, #46a5ea);
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: .3s;
  transition: .3s
}

ul.tab-list>li>a:hover,
ul.tab-list>li>a.current {
  color: #fff;
  background: unset
}

ul.tab-list>li>a:hover::after,
ul.tab-list>li>a.current::after {
  visibility: visible;
  opacity: 1
}

@media only screen and (max-width: 768px) {
  ul.tab-list>li>a {
    min-height: 70px;
    min-width: 75px;
    font-size: 14px;
    white-space: nowrap;
    padding: 5px
  }
}

.l-main.-mariavilla ul.tab-list>li>a.current,
.l-main.-mariavilla ul.tab-list>li>a:hover {
  background: -webkit-gradient(linear, right top, left top, from(#801749), to(#a8176b));
  background: linear-gradient(to left, #801749, #a8176b)
}

ul.tab-list02 {
  display: grid;
  -webkit-column-gap: 4px;
  -moz-column-gap: 4px;
  column-gap: 4px;
  row-gap: 5px;
  grid-template-columns: repeat(auto-fit, minmax(176px, 1fr))
}

@media only screen and (max-width: 480px) {
  ul.tab-list02 {
    grid-template-columns: repeat(2, 1fr)
  }
}

ul.tab-list02>li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

ul.tab-list02>li>a {
  display: grid;
  height: 100%;
  min-height: 87px;
  font-size: 16px;
  font-weight: 500;
  color: var(--primary);
  line-height: 1.5;
  letter-spacing: .04em;
  text-align: center;
  text-decoration: none;
  border: 1px solid var(--primary);
  border-radius: 4px;
  background: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  position: relative;
  padding: 10px;
  -webkit-transition: .3s;
  transition: .3s;
  place-content: center
}

ul.tab-list02>li>a::before {
  content: "";
  height: calc(100% + 10px);
  width: calc(100% + 10px);
  visibility: hidden;
  border: 1px solid #fff;
  border-radius: 4px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 0;
  -webkit-transition: .3s;
  transition: .3s
}

ul.tab-list02>li>a:hover,
ul.tab-list02>li>a.current {
  color: #fff;
  background: var(--primary)
}

ul.tab-list02>li>a:hover::before,
ul.tab-list02>li>a.current::before {
  height: calc(100% - 5px);
  width: calc(100% - 5px);
  visibility: visible;
  opacity: 1
}

@media only screen and (max-width: 768px) {

  ul.tab-list02>li>a::before:hover,
  ul.tab-list02>li>a::before.current {
    height: calc(100% - 10px);
    width: calc(100% - 10px)
  }
}

ul.card-list {
  display: grid;
  -webkit-column-gap: 60px;
  -moz-column-gap: 60px;
  column-gap: 60px;
  row-gap: 70px;
  grid-template-columns: repeat(auto-fit, minmax(460px, 1fr))
}

@media only screen and (max-width: 480px) {
  ul.card-list {
    row-gap: 40px;
    grid-template-columns: 1fr
  }
}

ul.card-list>li>a:hover~.card-img::after {
  visibility: visible;
  opacity: .4
}

ul.card-list>li>a:hover~.card-body .card-ttl {
  color: #23234b
}

ul.card-list>li>a:hover~.card-body .card-ttl::before {
  background: url(../img/icon_btn01_black.png) no-repeat center/contain
}

ul.card-list>li>a:hover~.card-body .card-ttl::after {
  background: url(../img/icon_btn03.png) no-repeat center/contain
}

ul.card-list>li .card-img {
  position: relative;
  aspect-ratio: 460/240
}

ul.card-list>li .card-img::after {
  content: "";
  height: 100%;
  width: 100%;
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: .3s;
  transition: .3s
}

@media only screen and (max-width: 768px) {
  ul.card-list>li .card-img {
    aspect-ratio: 335/200
  }
}

ul.card-list>li .card-body .card-ttl {
  display: block;
  font-size: 20px;
  font-weight: 500;
  color: var(--primary);
  line-height: 1.7;
  letter-spacing: .04em;
  text-decoration: none;
  border-bottom: 1px solid #d8e4e8;
  position: relative;
  padding: 19px 29px;
  margin-bottom: 20px;
  -webkit-transition: .3s;
  transition: .3s
}

ul.card-list>li .card-body .card-ttl::before,
ul.card-list>li .card-body .card-ttl::after {
  content: "";
  position: absolute;
  -webkit-transition: .3s;
  transition: .3s
}

ul.card-list>li .card-body .card-ttl::before {
  height: 15px;
  width: 15px;
  background: url(../img/icon_btn01.png) no-repeat center/contain;
  top: 28px;
  left: 0
}

ul.card-list>li .card-body .card-ttl::after {
  height: 28px;
  width: 28px;
  background: url(../img/icon_arr_gray.png) no-repeat center/contain;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

ul.card-list>li .card-body .card-ttl:hover {
  color: #23234b
}

ul.card-list>li .card-body .card-ttl:hover::before {
  background: url(../img/icon_btn01_black.png) no-repeat center/contain
}

ul.card-list>li .card-body .card-ttl:hover::after {
  background: url(../img/icon_btn03.png) no-repeat center/contain
}

@media only screen and (max-width: 768px) {
  ul.card-list>li .card-body .card-ttl {
    padding: 19px 29px 14px;
    margin-bottom: 0
  }
}

ul.card-list.-info {
  grid-template-columns: repeat(auto-fit, minmax(440px, 1fr))
}

@media only screen and (max-width: 480px) {
  ul.card-list.-info {
    grid-template-columns: 1fr
  }
}

ul.card-list.-info>li .card-img {
  position: relative;
  aspect-ratio: 440/300
}

ul.card-list.-info>li .card-img::before {
  content: "";
  height: 200px;
  width: 160px;
  background: url(../img/img_card_deco.png) no-repeat center/contain;
  position: absolute;
  z-index: 1;
  right: 20px;
  bottom: 25px
}

@media only screen and (max-width: 768px) {
  ul.card-list.-info>li .card-img::before {
    height: 190px;
    width: 152px
  }
}

ul.card-list.-info>li .card-img .img-txt {
  font-family: "Roboto", sans-serif;
  font-size: 21px;
  font-weight: 400;
  color: #fff;
  line-height: 1.8;
  letter-spacing: .04em;
  position: absolute;
  z-index: 1;
  left: 25px;
  bottom: 10px
}

@media only screen and (max-width: 768px) {
  ul.card-list.-info>li .card-img {
    aspect-ratio: 335/228
  }

  ul.card-list.-info>li .card-img::before {
    right: 15px;
    bottom: 18px
  }

  ul.card-list.-info>li .card-img .img-txt {
    font-size: 16px;
    left: 19px;
    bottom: 7px
  }
}

ul.card-list02 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 30px
}

ul.card-list02>li .img-box {
  aspect-ratio: 340/210;
  margin-bottom: 20px;
  position: relative
}

ul.card-list02>li .img-box.-icon::before {
  content: "";
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: url(../img/icon_play.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}

ul.card-link-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, 1fr)
}

ul.card-link-list>li.mx-full {
  width: 100%;
  grid-column: 1/-1
}

ul.card-link-list>li>a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 48px;
  text-align: center;
  text-decoration: none;
  border: 1px solid #d8e4e8;
  background: #f4f8fa;
  padding: 0 35px;
  -webkit-transition: .3s;
  transition: .3s
}

ul.card-link-list>li>a>span {
  display: inline-block;
  font-size: 17px;
  font-weight: 400;
  color: #23234b;
  line-height: 1.7;
  letter-spacing: .04em;
  position: relative;
  padding-left: 25px;
  -webkit-transition: .3s;
  transition: .3s
}

ul.card-link-list>li>a>span::before {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 12px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

ul.card-link-list>li>a:hover {
  background: var(--primary)
}

ul.card-link-list>li>a:hover>span {
  color: #fff
}

ul.card-link-list>li>a:hover>span::before {
  color: #fff
}

.box01,
.contact-box,
.box04,
.box03,
.box02 {
  border: 1px solid #23234b;
  background: #fff;
  padding: 24px 30px
}

@media only screen and (max-width: 768px) {

  .box01,
  .contact-box,
  .box04,
  .box03,
  .box02 {
    padding: 20px 24px
  }
}

.box01.-gray,
.-gray.contact-box,
.-gray.box04,
.-gray.box03,
.-gray.box02 {
  border-color: #ddd
}

.box01.-p30,
.-p30.contact-box,
.-p30.box04,
.-p30.box03,
.-p30.box02 {
  padding: 30px
}

@media only screen and (max-width: 768px) {

  .box01.-p30,
  .-p30.contact-box,
  .-p30.box04,
  .-p30.box03,
  .-p30.box02 {
    padding: 24px
  }
}

.box01.-p40,
.-p40.contact-box,
.-p40.box04,
.-p40.box03,
.-p40.box02 {
  padding: 40px
}

@media only screen and (max-width: 768px) {

  .box01.-p40,
  .-p40.contact-box,
  .-p40.box04,
  .-p40.box03,
  .-p40.box02 {
    padding: 24px
  }
}

.box02 {
  border-color: #f4f8fa;
  background: #f4f8fa
}

.box02.-arrow {
  position: relative;
  margin-bottom: 70px
}

.box02.-arrow::before {
  content: "";
  height: 0;
  width: 0;
  border-style: solid;
  border-top: 30px solid var(--primary);
  border-right: 22px solid rgba(0, 0, 0, 0);
  border-bottom: 0;
  border-left: 22px solid rgba(0, 0, 0, 0);
  position: absolute;
  left: 50%;
  bottom: -55px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}

@media only screen and (max-width: 768px) {
  .box02.-arrow {
    margin-bottom: 50px
  }

  .box02.-arrow::before {
    bottom: -45px
  }
}

.l-main.-mariavilla .box02 {
  border-color: #f2e5ec;
  background: #f2e5ec
}

.box03 {
  border-color: #fce8ed;
  background: #fce8ed
}

.l-main.-mariavilla .box03 {
  border-color: #f7f4ef;
  background: #f7f4ef
}

.box04 {
  border: 2px solid var(--primary);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0);
  position: relative
}

.box04::before {
  display: block;
  content: "";
  height: 100%;
  width: 100%;
  background: linear-gradient(45deg, #005bab, #46a5ea);
  position: absolute;
  z-index: -10;
  top: 0;
  left: 0
}

.box05 {
  border: 4px solid #f4f8fa;
  padding: 60px
}

@media only screen and (max-width: 768px) {
  .box05 {
    padding: 35px
  }
}

.box06 {
  border: 4px solid #f2e5ec;
  padding: 60px
}

@media only screen and (max-width: 768px) {
  .box06 {
    padding: 35px
  }
}

.contact-box {
  border: 2px solid var(--primary);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0);
  padding: 40px
}

@media only screen and (max-width: 768px) {
  .contact-box {
    padding: 30px
  }
}

.mx-auto {
  margin-inline: auto
}

.w-fit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content
}

.fixed-anchor-wrap {
  display: none;
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid #d8e4e8;
  background: #f4f8fa;
  margin-bottom: 60px;
  background: var(--primary)
}

.fixed-anchor-wrap .content {
  position: relative
}

.fixed-anchor-wrap .close-btn {
  display: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.fixed-anchor-wrap .close-btn:after {
  position: absolute;
  top: 18px;
  right: 30px;
  content: "";
  font-size: 20px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: .3s;
  transition: .3s
}

@media only screen and (max-width: 1400px) {
  .fixed-anchor-wrap .close-btn {
    display: block
  }
}

.fixed-anchor-wrap .close-btn:hover {
  opacity: .8
}

.fixed-anchor-wrap .close-btn.active:after {
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg)
}

.fixed-anchor-wrap p.ttl {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
  position: relative;
  padding: 15px 45px 15px 30px;
  color: #fff
}

.fixed-anchor-wrap p.ttl:before {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 10px
}

@media only screen and (max-width: 1400px) {
  .fixed-anchor-wrap {
    border-radius: 10px;
    top: auto;
    right: 20px;
    bottom: 20px
  }
}

@media only screen and (max-width: 768px) {
  .fixed-anchor-wrap {
    margin-bottom: 40px
  }

  .fixed-anchor-wrap .close-btn:after {
    right: 20px;
    top: 13px
  }

  .fixed-anchor-wrap p.ttl {
    padding: 10px 30px 10px 20px
  }
}

ul.fixed-anchor-navlist {
  padding: 20px 30px;
  background: #f4f8fa
}

@media only screen and (max-width: 768px) {
  ul.fixed-anchor-navlist {
    padding: 10px 20px
  }
}

ul.fixed-anchor-navlist>li {
  border-bottom: 1px dashed #d8e4e8;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 15px;
  -moz-column-gap: 15px;
  column-gap: 15px
}

ul.fixed-anchor-navlist>li>a {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
  color: #23234b;
  text-decoration: none;
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  -webkit-transition: .3s;
  transition: .3s;
  padding: 10px 30px 10px 0
}

ul.fixed-anchor-navlist>li>a::after {
  content: "";
  background: url(../img/icon_arr_gray.png) no-repeat center/contain;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
  width: 20px;
  height: 20px
}

ul.fixed-anchor-navlist>li>a:hover {
  color: var(--primary)
}

.fixed-anchor-toggle-btn {
  position: relative;
  display: block;
  text-align: right;
  width: 35px;
  height: 28px;
  border-left: 1px dashed #d8e4e8
}

.fixed-anchor-toggle-btn::after {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/icon_plus.png) no-repeat center/contain
}

.fixed-anchor-toggle-btn.active::after {
  background: url(../img/icon_minus.png) no-repeat center/contain
}

ul.fixed-anchor-sublist {
  padding: 0 0 10px;
  width: 100%
}

ul.fixed-anchor-sublist>li:not(:last-of-type) {
  margin-bottom: 8px
}

ul.fixed-anchor-sublist>li>a {
  font-size: 15px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .04em;
  color: #23234b;
  text-decoration: none;
  position: relative;
  padding-left: 17px;
  display: block;
  -webkit-transition: .3s;
  transition: .3s
}

ul.fixed-anchor-sublist>li>a::before {
  content: "";
  background: url(../img/icon_chevron_primary.png) no-repeat center/contain;
  position: absolute;
  left: -5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  -webkit-transition: .3s;
  transition: .3s
}

ul.fixed-anchor-sublist>li>a:hover {
  color: var(--primary)
}

ul.fixed-anchor-sublist>li>a:hover::before {
  left: 0
}

.cta-box {
  padding: 40px;
  position: relative;
  border-radius: 10px;
  overflow: hidden
}

@media only screen and (max-width: 768px) {
  .cta-box {
    padding: 30px
  }
}

.cta-box::before,
.cta-box::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0
}

.cta-box::before {
  background: -webkit-gradient(linear, left top, right top, from(#7ce6ff), to(#4b83ff));
  background: linear-gradient(to right, #7ce6ff, #4b83ff);
  opacity: .9;
  z-index: -1
}

.cta-box::after {
  background: url(../img/img_cta.jpg) no-repeat center/cover;
  z-index: -2
}

.cta-box p.cta-ttl {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .04em;
  color: #fff;
  text-align: center;
  margin-bottom: 30px
}

@media only screen and (max-width: 768px) {
  .cta-box p.cta-ttl {
    font-size: 24px
  }
}

.cta-box ul.cta-btn-list {
  max-width: 640px;
  margin-inline: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  row-gap: 25px;
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px
}

@media only screen and (max-width: 768px) {
  .cta-box ul.cta-btn-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

.cta-box ul.cta-btn-list>li {
  width: 305px
}

@media only screen and (max-width: 768px) {
  .cta-box ul.cta-btn-list>li {
    width: 100%;
    text-align: center
  }
}

h1 body:not(.top) {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .04em;
  border-bottom: 1px solid var(--primary);
  position: relative;
  padding: 0 0 21px 34px;
  margin-bottom: 10px
}

h1 body:not(.top)::before {
  content: "";
  height: 14px;
  width: 14px;
  background: url(../img/icon_h1.png) no-repeat center/contain;
  position: absolute;
  top: 12px;
  left: 0
}

@media only screen and (max-width: 768px) {
  h1 body:not(.top) {
    font-size: 20px;
    padding-bottom: 24px
  }

  h1 body:not(.top)::before {
    height: 12px;
    width: 12px;
    top: 8px
  }
}

h2.top {
  font-size: 36px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: .08em;
  margin-bottom: 5px
}

@media only screen and (max-width: 768px) {
  h2.top {
    font-size: 28px;
    margin-bottom: 0
  }
}

h2:not(.top) {
  font-size: 32px;
  font-weight: bold;
  color: var(--primary);
  line-height: 1.7;
  letter-spacing: .04em;
  position: relative;
  padding: 24px 0 0 0;
  margin-bottom: 28px
}

h2:not(.top)::before {
  content: "";
  height: 5px;
  width: 70px;
  position: absolute;
  top: 0;
  left: 0
}

@media only screen and (max-width: 768px) {
  h2:not(.top) {
    font-size: 26px
  }
}

h2:not(.top).-no-border {
  padding-top: 0
}

h2:not(.top).-no-border::before {
  display: none
}

h3.top {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.3076;
  letter-spacing: .04em;
  margin-bottom: 5px
}

h3:not(.top) {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.7;
  letter-spacing: .04em;
  border-bottom: 1px dashed var(--primary);
  background: #f4f8fa;
  position: relative;
  padding: 10px 10px 10px 40px;
  margin-bottom: 25px
}

h3:not(.top)::before {
  content: "";
  height: 15px;
  width: 15px;
  border: 4px solid var(--primary);
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: 26px;
  left: 15px
}

@media only screen and (max-width: 768px) {
  h3:not(.top) {
    font-size: 21px;
    padding: 12px 10px 10px 40px
  }

  h3:not(.top)::before {
    top: 22px
  }
}

.l-main.-mariavilla h3:not(.top) {
  background: #f2e5ec
}

h4:not(.top) {
  font-size: 21px;
  font-weight: bold;
  line-height: 1.7;
  letter-spacing: .04em;
  position: relative;
  padding-left: 30px;
  margin-bottom: 17px
}

h4:not(.top)::before {
  content: "";
  height: 15px;
  width: 15px;
  background: #23234b;
  position: absolute;
  top: 10px;
  left: 0
}

@media only screen and (max-width: 768px) {
  h4:not(.top) {
    font-size: 18px;
    padding-left: 24px;
    margin-bottom: 14px
  }

  h4:not(.top)::before {
    height: 12px;
    width: 12px
  }
}

h5:not(.top) {
  font-weight: bold;
  color: var(--primary);
  margin-bottom: 10px
}

h6.top {
  font-family: "Roboto", sans-serif;
  font-size: 24px;
  font-weight: 400;
  color: var(--primary);
  line-height: 2;
  letter-spacing: .04em;
  text-transform: capitalize
}

@media only screen and (max-width: 768px) {
  h6.top {
    font-size: 19px
  }
}

h6.top.-min {
  font-size: 21px
}

.tag {
  display: inline-block;
  min-width: 150px;
  font-size: 12px;
  font-weight: 400;
  color: #fff;
  line-height: 25px;
  text-align: center;
  background: var(--primary);
  padding: 0 5px
}

.tag.-medical {
  background: #23234b
}

.tag.-recruit {
  background: #3daa86
}

.tag.-course {
  background: #6d2683
}

.tag.-info {
  background: #000
}

.tag02 {
  font-size: 12px;
  color: var(--primary);
  line-height: 1;
  text-align: center;
  border-radius: 20px;
  background: #f4f8fa;
  padding: 4.5px 20px
}

time {
  font-family: "Roboto", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em
}

.hover-all {
  position: relative
}

.hover-all>a {
  display: block;
  height: 100%;
  width: 100%;
  font-size: 0;
  position: absolute;
  z-index: 9;
  top: 0;
  left: 0
}

.youtube-wrap {
  height: 0;
  width: 100%;
  position: relative;
  padding-bottom: 56.25%
}

.youtube-wrap>iframe {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0
}

.ofi>img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center
}

.ofi.-top>img {
  -o-object-position: top;
  object-position: top
}

.ofi.-bottom>img {
  -o-object-position: bottom;
  object-position: bottom
}

.ofi.-left>img {
  -o-object-position: left;
  object-position: left
}

.ofi.-right>img {
  -o-object-position: right;
  object-position: right
}

.ofi.-ratio {
  display: block;
  overflow: hidden;
  position: relative
}

.ofi.-ratio>img {
  min-height: 100%;
  width: 100%;
  min-width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto auto
}

.news-detail>*+h3 {
  margin-top: 60px
}

.news-detail>*+h4 {
  margin-top: 30px
}

.news-detail .news-detail-free {
  margin: 0 0 40px
}

.news-detail .news-detail-free p {
  margin-bottom: 20px
}

.news-detail .news-detail-image {
  text-align: center;
  margin: 10px auto
}

.news-detail .news-detail-image>img {
  height: auto;
  width: auto;
  max-width: 100%
}

.news-detail .news-detail-pdf a[href$=".pdf"] {
  vertical-align: middle
}

.news-detail .news-detail-pdf a[href$=".pdf"]:after {
  content: "";
  height: 16px;
  width: 16px;
  background: url(../img/pdf.png) no-repeat center/contain;
  margin-left: 5px
}

.news-detail>*:empty {
  display: none;
  font-size: 0;
  line-height: 0;
  border: none;
  background: none;
  padding: 0;
  margin: 0
}

.news-detail>*:empty:before,
.news-detail>*:empty:after {
  display: none
}

.column2 {
  display: grid;
  -webkit-column-gap: 32px;
  -moz-column-gap: 32px;
  column-gap: 32px;
  row-gap: 64px;
  grid-template-columns: repeat(2, 1fr)
}

@media only screen and (max-width: 768px) {
  .column2 {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
    row-gap: 30px
  }
}

@media only screen and (max-width: 480px) {
  .column2 {
    grid-template-columns: 1fr
  }
}

.column2.-md {
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px;
  row-gap: 32px
}

@media only screen and (max-width: 768px) {
  .column2.-md {
    row-gap: 20px;
    grid-template-columns: 1fr
  }
}

.column3 {
  display: grid;
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px;
  row-gap: 30px;
  grid-template-columns: repeat(3, 1fr)
}

@media only screen and (max-width: 768px) {
  .column3 {
    -webkit-column-gap: 15px;
    -moz-column-gap: 15px;
    column-gap: 15px;
    row-gap: 20px;
    grid-template-columns: repeat(2, 1fr)
  }
}

@media only screen and (max-width: 480px) {
  .column3 {
    grid-template-columns: 1fr
  }
}

.column3.-md {
  row-gap: 45px
}

@media only screen and (max-width: 768px) {
  .column3.-md {
    row-gap: 30px
  }
}

.column4 {
  display: grid;
  -webkit-column-gap: 32px;
  -moz-column-gap: 32px;
  column-gap: 32px;
  row-gap: 64px;
  grid-template-columns: repeat(4, 1fr)
}

@media only screen and (max-width: 768px) {
  .column4 {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
    row-gap: 30px;
    grid-template-columns: repeat(2, 1fr)
  }
}

.menu-list>li {
  position: relative
}

.menu-list>li::after {
  content: "";
  height: 28px;
  width: 28px;
  background: url(../img/icon_btn03.png) no-repeat center/contain;
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 0;
  -webkit-transform: translate(-50%, 50%) rotate(90deg);
  -ms-transform: translate(-50%, 50%) rotate(90deg);
  transform: translate(-50%, 50%) rotate(90deg);
  -webkit-transition: all .3s;
  transition: all .3s
}

.menu-list>li .ttl {
  -webkit-transition: all .3s;
  transition: all .3s
}

.menu-list>li:hover::after {
  background: url(../img/icon_arr_gray.png) no-repeat center/contain
}

.menu-list>li:hover .ttl {
  color: #fff
}

.hr01 {
  border: none;
  border-top: 1px solid #ddd
}

.cardo-txt {
  font-family: "Roboto", sans-serif
}

.no-border {
  border: none !important
}

.ttl-news {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 19px;
  font-weight: 500;
  color: var(--primary);
  margin-bottom: 20px
}

.ttl-news::before {
  content: "";
  height: 32.14px;
  width: 34px;
  background: url(../img/icon_news.png) no-repeat center/contain;
  margin-right: 14px
}

.tel-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.tel-contact:before {
  content: "";
  height: 66px;
  width: 66px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 20px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #fff;
  line-height: 66px;
  text-align: center;
  border-radius: 50%;
  background: var(--primary);
  margin-right: 10px;
  margin-right: 8px
}

.tel-contact a,
.tel-contact span {
  font-size: 32px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  color: var(--primary);
  line-height: 1.0625;
  letter-spacing: 0;
  text-decoration: none
}

.tel-contact.-fax:before {
  content: ""
}

.tel-contact.-left {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start
}

@media only screen and (max-width: 768px) {
  .tel-contact:before {
    height: 40px;
    width: 40px;
    line-height: 40px;
    margin-right: 5px
  }

  .tel-contact a,
  .tel-contact span {
    font-size: 22px
  }
}

.pagetop {
  position: fixed;
  right: 60px;
  bottom: 60px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--primary);
  text-align: center;
  border: 2px solid #fff;
  padding: 0;
  z-index: 100;
  font-size: 0
}

@media only screen and (max-width: 768px) {
  .pagetop {
    right: 30px;
    bottom: 30px;
    width: 50px;
    height: 50px
  }
}

.pagetop i {
  color: #fff;
  font-size: 20px;
  line-height: 74px
}

@media only screen and (max-width: 768px) {
  .pagetop i {
    font-size: 14px;
    line-height: 46px
  }
}

.iframe-wrap {
  height: 0;
  width: 100%;
  overflow: hidden;
  position: relative;
  padding-bottom: 46.29%
}

.iframe-wrap>iframe {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0
}

.l-container {
  overflow: clip
}

.l-container.-admin {
  display: grid;
  grid-template-rows: 20px auto;
  grid-template-columns: 220px auto;
  min-height: 100vh
}

@media only screen and (max-width: 1024px) {
  .l-container.-admin {
    grid-template-rows: 63px auto 63px;
    grid-template-columns: auto
  }
}

@media only screen and (min-width: 769px) {
  .l-container {
    min-width: 1100px
  }
}

body.top .l-container {
  padding-top: 110px
}

@media only screen and (max-width: 768px) {
  body.top .l-container {
    padding-top: 0
  }
}

.container.-w1270 {
  width: calc(1270px + 20px)
}

@media only screen and (max-width: 768px) {
  .container.-w1270 {
    width: auto
  }
}

.container.-w1220 {
  width: calc(1220px + 20px)
}

@media only screen and (max-width: 768px) {
  .container.-w1220 {
    width: auto
  }
}

.container.-w1080 {
  width: calc(1080px + 20px)
}

@media only screen and (max-width: 768px) {
  .container.-w1080 {
    width: auto
  }
}

body {
  width: 100%;
  text-align: justify;
  padding-top: 0
}

body.open {
  height: 100%;
  overflow: hidden;
  position: fixed;
}
body.open .h-nav{
  display: none;
}

@media only screen and (max-width: 768px) {
  body {
    position: relative;
    padding-top: 80px
  }
}

header {
  width: 100%;
  z-index: 9999;
  top: 0;
  left: 0;
  position: fixed
}

@media only screen and (max-width: 768px) {
  header {
    width: 100%;
    z-index: 9999;
    top: 0;
    left: 0;
    position: fixed
  }
}

.h-wrap {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 21px 0px 21px 30px;
  background: #fff
}

body:not(.top) .h-wrap {
  background-color: #fff
}

@media only screen and (max-width: 768px) {
  .h-wrap {
    padding: 10px 0px 10px 20px;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16)
  }
}

.h-wrap .h-right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px
}

@media only screen and (max-width: 1190px) {
  .h-wrap .h-right {
    -webkit-column-gap: 10px;
    -moz-column-gap: 10px;
    column-gap: 10px
  }
}

@media only screen and (max-width: 1250px) {
  .h-wrap .h-right nav.h-nav {
    display: none
  }
}

.h-wrap body:not(.top) {
  background-color: rgba(0, 0, 0, .2)
}

a.h-logo {
  display: block;
  height: 60px
}

a.h-logo>img {
  height: 100%
}

@media only screen and (min-width: 1350px) {
  a.h-logo {
    height: 70px
  }
}

@media only screen and (max-width: 768px) {
  a.h-logo {
    height: 50px
  }
}

ul.h-navlist {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
  margin-bottom: 2px;
  -webkit-transition: .3s;
  transition: .3s
}

ul.h-navlist>li>a,
ul.h-navlist>li>span {
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .04em;
  color: #23234b;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: .3s;
  transition: .3s
}

ul.h-navlist>li>a:hover,
ul.h-navlist>li>span:hover {
  color: var(--primary)
}

ul.h-navlist>li.has-child {
  position: relative;
  cursor: pointer
}

ul.h-navlist>li.has-child>span {
  position: relative;
  padding-right: 21px
}

ul.h-navlist>li.has-child>span::after {
  content: "";
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: url(../img/icon_chevron_black.png) no-repeat center/contain;
  position: absolute;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  top: 50%;
  right: 0
}

ul.h-navlist>li.has-child:hover .h-sublist-box {
  pointer-events: all;
  opacity: 1;
  visibility: visible;
  bottom: 0px
}

@media only screen and (min-width: 1300px) {

  ul.h-navlist>li>a,
  ul.h-navlist>li>span {
    font-size: 15px
  }
}

@media only screen and (max-width: 1190px) {
  ul.h-navlist {
    -webkit-column-gap: 10px;
    -moz-column-gap: 10px;
    column-gap: 10px
  }
}

.h-sublist-box {
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: .3s ease;
  transition: .3s ease;
  padding-top: 8px;
  position: absolute;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  bottom: 5px;
  left: 0;
  z-index: 99;
  min-width: 270px
}

ul.h-sublist {
  padding-top: 15px;
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
  background: #fff;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .16);
  box-shadow: 0 0 10px rgba(0, 0, 0, .16);
  border-radius: 4px;
  padding: 4px 20px
}

ul.h-sublist>li:not(:last-of-type) {
  border-bottom: 1px solid #eee
}

ul.h-sublist>li>a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 49px;
  position: relative;
  font-size: 13px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: .04em;
  color: var(--primary);
  text-decoration: none;
  -webkit-transition: .3s;
  transition: .3s
}

ul.h-sublist>li>a:hover {
  color: #23234b
}

@media only screen and (min-width: 1300px) {
  ul.h-sublist>li>a {
    font-size: 15px
  }
}

ul.h-navlist02 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px;
  -webkit-transition: .3s;
  transition: .3s
}

@media only screen and (max-width: 1190px) {
  ul.h-navlist02 {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px
  }
}

ul.h-navlist02>li>a {
  font-size: 16px;
  font-weight: 500;
  line-height: .875;
  letter-spacing: .04em;
  color: var(--primary);
  text-decoration: none;
  position: relative;
  padding-bottom: 5px
}

ul.h-navlist02>li>a::after {
  content: "";
  width: 0;
  right: 0;
  background: var(--primary);
  position: absolute;
  bottom: 0;
  height: 1px;
  -webkit-transition: .3s;
  transition: .3s
}

ul.h-navlist02>li>a:hover::after {
  width: 100%;
  right: unset;
  left: 0
}

@media only screen and (min-width: 1300px) {
  ul.h-navlist02>li>a {
    font-size: 18px
  }
}

ul.h-infolist {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

ul.h-infolist>li {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 90px;
  min-height: 60px;
  border-left: 1px solid var(--primary);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  row-gap: 10px
}

@media only screen and (max-width: 1190px) {
  ul.h-infolist>li {
    min-width: 80px
  }
}

@media only screen and (max-width: 768px) {
  ul.h-infolist>li {
    border-left: none;
    min-width: 80px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    row-gap: 8px;
    padding-top: 5px
  }

  ul.h-infolist>li:not(.slidemenu-btn) {
    display: none
  }
}

ul.h-infolist>li .icon>img {
  display: block;
  height: 24px;
  width: 31px
}

ul.h-infolist>li .ttl {
  font-size: 12px;
  font-weight: bold;
  line-height: 1.16666667;
  letter-spacing: .04em;
  color: var(--primary);
  text-align: center
}

@media only screen and (min-width: 1300px) {
  ul.h-infolist>li .ttl {
    font-size: 14px
  }
}

@media only screen and (max-width: 768px) {
  ul.h-infolist>li .ttl {
    font-size: 10px
  }
}

.slidemenu-btn {
  height: 53px;
  width: 53px;
  z-index: 9999;
  cursor: pointer
}

@media only screen and (max-width: 768px) {
  .slidemenu-btn {
    min-width: 60px;
    min-height: 40px
  }
}

.slidemenu-btn .bars {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 24px;
  margin: 0 auto
}

@media only screen and (max-width: 768px) {
  .slidemenu-btn .bars {
    height: 20px
  }
}

.slidemenu-btn .bars>span {
  display: block;
  height: 1px;
  width: 40px;
  background: var(--primary);
  -webkit-transition: .3s;
  transition: .3s
}

@media only screen and (max-width: 768px) {
  .slidemenu-btn .bars>span {
    width: 30px
  }
}

.slidemenu-btn.active .bars>span:nth-child(1) {
  -webkit-transform: translate(0, 11px) rotate(-45deg);
  -ms-transform: translate(0, 11px) rotate(-45deg);
  transform: translate(0, 11px) rotate(-45deg)
}

.slidemenu-btn.active .bars>span:nth-child(2) {
  opacity: 0
}

.slidemenu-btn.active .bars>span:nth-child(3) {
  -webkit-transform: translate(0, -11px) rotate(45deg);
  -ms-transform: translate(0, -11px) rotate(45deg);
  transform: translate(0, -11px) rotate(45deg)
}

@media only screen and (max-width: 768px) {
  .slidemenu-btn.active .bars>span:nth-child(1) {
    -webkit-transform: translate(0, 9px) rotate(-35deg);
    -ms-transform: translate(0, 9px) rotate(-35deg);
    transform: translate(0, 9px) rotate(-35deg)
  }

  .slidemenu-btn.active .bars>span:nth-child(3) {
    -webkit-transform: translate(0, -10px) rotate(35deg);
    -ms-transform: translate(0, -10px) rotate(35deg);
    transform: translate(0, -10px) rotate(35deg)
  }
}

.slide-menu {
  height: 100%;
  width: 100%;
  overflow: scroll;
  background-color: #fff;
  position: fixed;
  z-index: 9998;
  top: 0;
  left: 100%;
  padding-top: 110px;
  -webkit-transition: left .3s;
  transition: left .3s
}

@media only screen and (min-width: 769px) {
  .slide-menu {
    left: 0;
    -webkit-transition: all .3s;
    transition: all .3s;
    visibility: hidden;
    opacity: 0
  }

  body.open .slide-menu {
    visibility: visible;
    opacity: 1
  }

  .slide-menu h1 {
    padding-bottom: 10px;
    font-size: 24px;
    border-bottom: 1px solid #005bab
  }

  .slide-menu h1:before {
    content: "";
    display: inline-block;
    margin-right: 10px;
    background-image: url(../img/icon_h1.png);
    background-size: contain;
    width: 14px;
    height: 14px
  }
}

@media only screen and (max-width: 768px) {
  .slide-menu {
    padding-top: 80px
  }
}

body.open .slide-menu {
  left: 0
}

.s-nav-content {
  padding-bottom: 10px
}

.s-nav-content .split {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 60px;
  -moz-column-gap: 60px;
  column-gap: 60px;
  padding: 10px 0 0 0;
  margin-bottom: 30px
}

@media only screen and (max-width: 768px) {
  .s-nav-content .split {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 7px 0 0;
    margin-bottom: 0
  }
}

.s-nav-content .split section.s-nav-sec:nth-of-type(1) {
  max-width: 560px
}

@media only screen and (max-width: 768px) {
  .s-nav-content .split section.s-nav-sec:nth-of-type(1) {
    max-width: unset;
    width: 100%
  }
}

.s-nav-content .split section.s-nav-sec:nth-of-type(2) {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

@media only screen and (max-width: 768px) {
  .s-nav-content .split section.s-nav-sec:nth-of-type(2) {
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
    width: 100%
  }
}

ul.s-navlist.-col2 {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px
}

@media only screen and (max-width: 768px) {
  ul.s-navlist.-col2 {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
    -webkit-column-gap: unset;
    -moz-column-gap: unset;
    column-gap: unset
  }
}

ul.s-navlist>li {
  border-bottom: 1px dashed #d8e4e8;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 15px;
  -moz-column-gap: 15px;
  column-gap: 15px
}

ul.s-navlist>li>a {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
  color: #23234b;
  text-decoration: none;
  min-height: 67px;
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  -webkit-transition: .3s;
  transition: .3s;
  padding: 20px 40px 20px 0
}

ul.s-navlist>li>a::after {
  content: "";
  background: url(../img/icon_arr_gray.png) no-repeat center/contain;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 28px;
  height: 28px
}

ul.s-navlist>li>a:hover {
  color: var(--primary)
}

@media only screen and (max-width: 768px) {
  ul.s-navlist>li>a {
    font-size: 15px
  }
}

.s-toggle-btn {
  position: relative;
  display: block;
  text-align: right;
  width: 43px;
  height: 28px;
  border-left: 1px dashed #d8e4e8
}

.s-toggle-btn::after {
  content: "";
  width: 28px;
  height: 28px;
  background: url(../img/icon_plus.png) no-repeat center/contain
}

.s-toggle-btn.active::after {
  background: url(../img/icon_minus.png) no-repeat center/contain
}

ul.s-sublist {
  padding: 18px 0;
  width: 100%
}

ul.s-sublist>li:not(:last-of-type) {
  margin-bottom: 8px
}

ul.s-sublist>li>a {
  font-size: 15px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .04em;
  color: #23234b;
  text-decoration: none;
  position: relative;
  padding-left: 37px;
  display: block;
  -webkit-transition: .3s;
  transition: .3s
}

ul.s-sublist>li>a::before {
  content: "";
  background: url(../img/icon_chevron_primary.png) no-repeat center/contain;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  -webkit-transition: .3s;
  transition: .3s
}

ul.s-sublist>li>a:hover {
  color: var(--primary)
}

ul.s-sublist>li>a:hover::before {
  left: 5px
}

ul.s-navlist02 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 34px;
  -moz-column-gap: 34px;
  column-gap: 34px;
  row-gap: 3px
}

@media only screen and (max-width: 768px) {
  ul.s-navlist02 {
    background: #eee;
    margin: 0 -20px;
    padding: 28px 20px;
    -webkit-column-gap: 15px;
    -moz-column-gap: 15px;
    column-gap: 15px;
    row-gap: 4px
  }
}

ul.s-navlist02>li {
  position: relative;
  line-height: 1.5
}

@media only screen and (max-width: 768px) {
  ul.s-navlist02>li {
    width: calc(50% - 7.5px)
  }

  ul.s-navlist02>li:nth-child(even)::after {
    content: none
  }
}

ul.s-navlist02>li::after {
  content: "";
  width: 1px;
  height: 14px;
  background: #23234b;
  position: absolute;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  top: 50%;
  right: -17px
}

@media only screen and (max-width: 768px) {
  ul.s-navlist02>li::after {
    height: 100%;
    right: -7.5px
  }
}

ul.s-navlist02>li>a {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.077;
  letter-spacing: .04em;
  color: #23234b;
  text-decoration: none;
  -webkit-transition: .3s;
  transition: .3s
}

ul.s-navlist02>li>a:hover {
  text-decoration: underline
}

@media only screen and (max-width: 768px) {
  ul.s-navlist02>li>a {
    text-align: center;
    display: block;
    padding: 8px;
    line-height: 1.5
  }
}

.s-bnr-content {
  background: #f4f8fa;
  padding: 38px 0
}

@media only screen and (max-width: 768px) {
  .s-bnr-content {
    padding: 22px 0
  }
}

ul.bnr-list02 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px;
  row-gap: 10px
}

ul.bnr-list02>li {
  background: #fff;
  border-radius: 4px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
  overflow: hidden
}

ul.bnr-list02>li .bnr {
  aspect-ratio: 120/80;
  width: 120px;
  overflow: hidden
}

ul.bnr-list02>li .bnr>img {
  -webkit-transition: .3s;
  transition: .3s
}

ul.bnr-list02>li .ttl {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
  color: var(--primary)
}

ul.bnr-list02>li:hover .bnr>img {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1)
}

ul.s-link-list {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

ul.s-link-list>li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

ul.s-link-list>li:nth-child(odd) {
  background: #23234b
}

ul.s-link-list>li:nth-child(even) {
  background: #005bab
}

ul.s-link-list>li .icon {
  width: 50px;
  height: 50px;
  display: block;
  padding: 5px
}

ul.s-link-list>li>a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 60px;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  column-gap: 5px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: .04em;
  color: #fff;
  text-decoration: none
}

.kv-top {
  position: relative
}

.kv-top .kv-ttl {
  position: absolute;
  top: 115px;
  left: 100px;
  z-index: 1
}

@media only screen and (max-width: 768px) {
  .kv-top .kv-ttl {
    top: 50px;
    left: 20px
  }
}

.kv-top .kv-ttl h1 {
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
  color: #fff;
  text-shadow: 0 0 20px rgba(0, 0, 0, .29)
}

@media only screen and (max-width: 768px) {
  .kv-top .kv-ttl h1 {
    font-size: 24px
  }
}

.kv-top .kv-ttl .en-ttl {
  font-family: "Cardo", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 3.5;
  letter-spacing: .1em;
  color: #fff;
  text-shadow: 0 0 20px rgba(0, 0, 0, .29)
}

@media only screen and (max-width: 768px) {
  .kv-top .kv-ttl .en-ttl {
    font-size: 15px
  }
}

.kv-slider .kv-slider-item .img-box {
  width: 100%;
  height: 590px
}

@media only screen and (max-width: 768px) {
  .kv-slider .kv-slider-item .img-box {
    height: 420px
  }
}

.kv-slider.slick-slider .slick-list .slick-track .slick-slide {
  line-height: 1
}

.kv-news-wrap {
  border-radius: 10px 0 0 10px;
  overflow: hidden;
  max-width: 250px;
  width: 100%;
  position: absolute;
  top: 120px;
  right: 0;
  z-index: 99
}

@media only screen and (max-width: 768px) {
  .kv-news-wrap {
    top: unset;
    bottom: -23px;
    right: 20px;
    border-radius: 10px
  }
}

.kv-news-wrap .close-btn {
  position: absolute;
  z-index: 9;
  cursor: pointer;
  top: 15px;
  right: 15px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: block
}

.kv-news-wrap .close-btn>img {
  display: block;
  -webkit-transition: .3s;
  transition: .3s;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.kv-news-wrap .close-btn:hover {
  opacity: .8
}

.kv-news-wrap .close-btn.active>img {
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg)
}

.kv-news-wrap p.kv-news-ttl {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
  color: #c43b3b;
  position: relative;
  padding: 0 43px
}

.kv-news-wrap p.kv-news-ttl::before {
  content: "";
  width: 22px;
  height: 18px;
  background: url(../img/icon_important.png) no-repeat center/contain;
  position: absolute;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  top: 50%;
  left: 10px
}

.kv-news-wrap>.content {
  background: #fce8ed;
  padding: 15px
}

@media only screen and (max-width: 768px) {
  .kv-news-wrap>.content {
    padding: 13px 15px
  }
}

.top-nav-wrap {
  margin-top: -45px;
  border-radius: 0 10px 10px 0;
  overflow: hidden;
  width: calc(100% - 114px);
  position: relative;
  padding: 30px 30px 30px 40px;
  z-index: 9;
  background: #fff;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 25px;
  -moz-column-gap: 25px;
  column-gap: 25px;
  row-gap: 26px
}

.top-nav-wrap::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -5
}

.top-nav-wrap .bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: .3;
  z-index: -1
}

@media only screen and (max-width: 768px) {
  .top-nav-wrap {
    margin: unset;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100vw;
    padding: 80px 20px 55px
  }
}

.top-nav-wrap .l-box {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

@media only screen and (max-width: 768px) {
  .top-nav-wrap .l-box {
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
    width: 100%
  }
}

.top-nav-wrap .r-box {
  width: 100px
}

@media only screen and (max-width: 768px) {
  .top-nav-wrap .r-box {
    width: 100%
  }
}

ul.top-navlist {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px
}

@media only screen and (max-width: 768px) {
  ul.top-navlist {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

ul.top-navlist>li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background: #fff;
  border-radius: 10px;
  padding: 25px 5px;
  position: relative
}

ul.top-navlist>li::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  background: #d8e4e8;
  border-radius: 10px
}

ul.top-navlist>li:hover::after {
  width: 100%;
  height: 100%
}

@media only screen and (max-width: 768px) {
  ul.top-navlist>li {
    padding: 16.5px 24px
  }

  ul.top-navlist>li:hover::after {
    width: calc(100% + 13px)
  }
}

ul.top-navlist>li .txt-box {
  text-align: center;
  display: grid;
  place-content: center;
  margin-bottom: 17px;
  position: relative;
  z-index: 1
}

ul.top-navlist>li .txt-box .ttl {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
  margin-bottom: 8px
}

ul.top-navlist>li .txt-box .en-ttl {
  font-family: "Roboto", sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .04em;
  color: var(--primary)
}

@media only screen and (max-width: 768px) {
  ul.top-navlist>li .txt-box {
    text-align: left;
    display: block;
    margin-bottom: 0;
    position: relative;
    padding-left: 40px;
    padding-right: 25px
  }

  ul.top-navlist>li .txt-box::before {
    content: "";
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: url(../img/icon_nav01.png) no-repeat center/contain;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
  }

  ul.top-navlist>li .txt-box::after {
    content: "";
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: url(../img/icon_nav02.png) no-repeat center/contain;
    position: absolute;
    top: 50%;
    right: -10px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
  }

  ul.top-navlist>li .txt-box .ttl {
    font-size: 17px;
    margin-bottom: 6px
  }

  ul.top-navlist>li .txt-box .en-ttl {
    font-size: 10px
  }
}

ul.top-navlist>li .icon {
  width: 100px;
  height: 100px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

@media only screen and (max-width: 768px) {
  ul.top-navlist>li .icon {
    display: none
  }
}

@media only screen and (max-width: 768px) {
  ul.top-navlist02 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 35px;
    -moz-column-gap: 35px;
    column-gap: 35px
  }
}

ul.top-navlist02>li {
  position: relative
}

ul.top-navlist02>li:not(:last-of-type) {
  margin-bottom: 14px
}

@media only screen and (max-width: 768px) {
  ul.top-navlist02>li:not(:last-of-type) {
    margin-bottom: 0
  }
}

ul.top-navlist02>li .icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #fff;
  margin: 0 auto 8px;
  -webkit-transition: .3s;
  transition: .3s;
  position: relative;
  overflow: hidden
}

ul.top-navlist02>li .icon>img {
  position: relative;
  z-index: 5
}

ul.top-navlist02>li .icon::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: .3s;
  transition: .3s
}

ul.top-navlist02>li .ttl {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .04em;
  text-align: center;
  position: relative
}

ul.top-navlist02>li:hover .icon img {
  -webkit-filter: brightness(0) saturate(100%) invert(99%) sepia(1%) saturate(3510%) hue-rotate(293deg) brightness(117%) contrast(98%);
  filter: brightness(0) saturate(100%) invert(99%) sepia(1%) saturate(3510%) hue-rotate(293deg) brightness(117%) contrast(98%)
}

ul.top-navlist02>li:hover .icon::after {
  opacity: 1;
  visibility: visible
}

.key-visual .kv-img {
  width: 100%;
  height: 450px
}

@media only screen and (max-width: 768px) {
  .key-visual .kv-img {
    height: 220px
  }
}

.key-visual .kv-ttl {
  position: relative;
  text-align: center;
  margin: -40px auto 0;
  padding: 20px 60px;
  width: 100%;
  max-width: 1100px;
  z-index: 2;
  background: #fff
}

@media only screen and (max-width: 768px) {
  .key-visual .kv-ttl {
    margin: -15px 20px 0;
    width: calc(100% - 40px);
    padding: 15px 30px
  }
}

.key-visual .kv-ttl .kv-tag {
  display: inline-block;
  font-weight: 500;
  color: var(--primary);
  border-radius: 10px;
  line-height: 1.5;
  background: #fff;
  padding: 13px 24px;
  margin-bottom: 20px
}

.key-visual .kv-ttl .key-jp {
  font-size: 42px;
  font-weight: bold;
  line-height: 1.42;
  letter-spacing: .04em;
  color: #23234b;
  margin-bottom: 5px
}

@media only screen and (max-width: 768px) {
  .key-visual .kv-ttl .key-jp {
    font-size: 23px
  }
}

.key-visual .kv-ttl .key-en {
  font-size: 70px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .1em;
  color: #23234b;
  margin-bottom: 10px
}

@media only screen and (max-width: 768px) {
  .key-visual .kv-ttl .key-en {
    font-size: 35px
  }
}

.key-visual .kv-ttl h1 {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .04em;
  color: var(--primary)
}

@media only screen and (max-width: 768px) {
  .key-visual .kv-ttl h1 {
    font-size: 13px
  }
}

.l-container.-mariavilla .key-visual .key-en {
  color: #d8e4e8
}

.l-container.-mariavilla .key-visual h1 {
  color: #801749;
  font-size: 24px
}

@media only screen and (max-width: 768px) {
  .l-container.-mariavilla .key-visual .key-en {
    font-size: 35px
  }

  .l-container.-mariavilla .key-visual h1 {
    font-size: 20px
  }
}

.key-visual02 {
  margin-top: 110px;
  position: relative;
  display: grid;
  place-content: center;
  padding: 60px 0 55px
}

@media only screen and (max-width: 768px) {
  .key-visual02 {
    margin-top: 0px;
    min-height: 300px
  }
}

.key-visual02::before {
  content: "";
  width: calc(100vw - 100px);
  min-width: 1190px;
  height: 100%;
  background: #f4f8fa;
  padding: 60px 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1
}

@media only screen and (max-width: 768px) {
  .key-visual02::before {
    min-width: unset;
    width: 100vw
  }
}

.key-visual02 .kv-ttl {
  text-align: center
}

.key-visual02 .kv-ttl .kv-tag {
  font-weight: 500;
  display: inline-block;
  color: var(--primary);
  border-radius: 10px;
  line-height: 1.5;
  background: #fff;
  padding: 13px 24px;
  margin-bottom: 20px
}

.key-visual02 .kv-ttl h1 {
  font-size: 36px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: .1em;
  color: #23234b;
  margin-bottom: 12px
}

@media only screen and (max-width: 768px) {
  .key-visual02 .kv-ttl h1 {
    font-size: 30px
  }
}

.key-visual02 .kv-ttl .key-en {
  font-family: "Roboto", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .04em;
  color: var(--primary)
}

@media only screen and (max-width: 768px) {
  .key-visual02 .kv-ttl .key-en {
    font-size: 17px
  }
}

.key-visual02.-mariavilla h1 {
  color: #23234b
}

.key-visual02.-mariavilla h6 {
  color: #801749
}

.key-visual02.-mariavilla::before {
  background: #f2e5ec
}

.key-visual02.-mariavilla .kv-ttl .kv-tag {
  color: #801749
}

.key-visual02.-mariavilla .kv-ttl .key-en {
  color: #801749
}

.l-main:before,
.l-main:after {
  content: " ";
  display: table
}

.l-main:after {
  clear: both
}

body.top .l-main {
  padding: 100px 0
}

@media only screen and (max-width: 768px) {
  body.top .l-main {
    padding: 80px 0 85px
  }
}

body:not(.top) .l-main {
  padding: 80px 0 120px
}

@media only screen and (max-width: 768px) {
  body:not(.top) .l-main {
    padding: 60px 0 100px
  }
}

main {
  grid-row: 2;
  grid-column: 2;
  overflow: hidden;
  padding: 10px 50px 50px
}

@media only screen and (max-width: 768px) {
  main {
    grid-column: 1;
    padding: 20px calc(40px/2) 40px
  }
}

main.login {
  display: grid;
  place-content: center;
  height: 100svh
}

.l-page {
  float: left;
  width: 780px
}

@media only screen and (max-width: 768px) {
  .l-page {
    float: none;
    width: 100%
  }
}

.l-side {
  float: right;
  width: 245px
}

@media only screen and (max-width: 768px) {
  .l-side {
    display: none
  }
}

.l-side.-sticky {
  position: sticky;
  top: 110px;
  left: 0
}

.container.-w1270 .l-side {
  width: 300px
}

.cate-ttl {
  margin-bottom: 20px
}

.cate-ttl>a {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .04em;
  background: linear-gradient(45deg, #035ead, #46a5ea);
  color: #fff;
  text-decoration: none;
  padding: 12px 25px;
  -webkit-transition: all .5s 0s ease;
  transition: all .5s 0s ease
}

.cate-ttl>a:hover {
  background: linear-gradient(45deg, #46a5ea, #035ead)
}

.cate-ttl.-mariavilla>a {
  background: linear-gradient(45deg, #801749, #a8176b)
}

.cate-ttl.-mariavilla>a:hover {
  background: linear-gradient(45deg, #a8176b, #801749)
}

ul.index-list>li>a {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .04em;
  color: #748084;
  text-decoration: none;
  position: relative;
  padding: 12px 25px;
  -webkit-transition: .3s;
  transition: .3s
}

ul.index-list>li>a::before {
  content: "";
  width: 2px;
  height: 100%;
  background: #d8e4e8;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: .3s;
  transition: .3s
}

ul.index-list>li>a.active,
ul.index-list>li>a.current,
ul.index-list>li>a:hover {
  color: var(--primary)
}

ul.index-list>li>a.active::before,
ul.index-list>li>a.current::before,
ul.index-list>li>a:hover::before {
  background: var(--primary)
}

.breadcrumb-wrap {
  background: #f4f8fa;
  padding: 16px 0
}

.breadcrumb-wrap ul.breadcrumb {
  font-size: 0
}

.breadcrumb-wrap ul.breadcrumb li {
  display: inline-block;
  font-size: 14px;
  position: relative
}

.breadcrumb-wrap ul.breadcrumb li:first-child:before {
  content: none
}

.breadcrumb-wrap ul.breadcrumb li:before {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/icon_chevron_primary.png) no-repeat center/contain;
  position: relative;
  top: 5px
}

.breadcrumb-wrap ul.breadcrumb li>a {
  display: inline-block;
  color: var(--primary);
  text-decoration: none
}

.breadcrumb-wrap ul.breadcrumb li>a:hover {
  text-decoration: underline
}

.l-container.-mariavilla .breadcrumb-wrap {
  background: #f2e5ec
}

.l-container.-mariavilla .breadcrumb-wrap ul.breadcrumb>li:first-child:before {
  content: none
}

.l-container.-mariavilla .breadcrumb-wrap ul.breadcrumb>li:before {
  content: "";
  background: url(../img/icon_chevron_mariavilla.png) no-repeat center/contain
}

.l-container.-mariavilla .breadcrumb-wrap ul.breadcrumb>li>a {
  color: #801749
}

.popular-page {
  background: var(--primary)
}

.popular-page .popular-page-header {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px;
  position: relative;
  padding: 17px 40px 17px 0
}

@media only screen and (max-width: 768px) {
  .popular-page .popular-page-header {
    -webkit-column-gap: 15px;
    -moz-column-gap: 15px;
    column-gap: 15px;
    padding: 14px 40px 14px 0
  }
}

.popular-page .popular-page-header::after {
  content: "";
  width: 28px;
  height: 28px;
  background: url(../img/icon_nav02.png) no-repeat center/contain;
  position: absolute;
  -webkit-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
  top: 50%;
  right: 0;
  -webkit-transition: .3s;
  transition: .3s
}

.popular-page .popular-page-header .icon {
  width: 34px;
  height: 34px
}

.popular-page .popular-page-header p.ttl {
  font-size: 18px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: .04em;
  color: #fff
}

@media only screen and (max-width: 768px) {
  .popular-page .popular-page-header p.ttl {
    font-size: 15px
  }
}

.popular-page .popular-page-header.active::after {
  -webkit-transform: translateY(-50%) rotate(270deg);
  -ms-transform: translateY(-50%) rotate(270deg);
  transform: translateY(-50%) rotate(270deg)
}

.popular-page .popular-page-body {
  padding: 25px 0 65px
}

@media only screen and (max-width: 768px) {
  .popular-page .popular-page-body {
    padding: 38px 0 55px
  }
}

.popular-page ul.popular-page-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(195px, 1fr));
  gap: 25px
}

@media only screen and (max-width: 768px) {
  .popular-page ul.popular-page-list {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    -webkit-column-gap: 15px;
    -moz-column-gap: 15px;
    column-gap: 15px;
    row-gap: 24px
  }
}

.popular-page ul.popular-page-list>li {
  border: 1px solid #fff;
  position: relative
}

.popular-page ul.popular-page-list>li::before,
.popular-page ul.popular-page-list>li::after {
  content: "";
  background: #fff;
  position: absolute;
  -webkit-transition: .3s;
  transition: .3s;
  bottom: -5px;
  right: -5px;
  z-index: 1
}

.popular-page ul.popular-page-list>li::before {
  width: 1px;
  height: calc(100% - 5px)
}

.popular-page ul.popular-page-list>li::after {
  width: calc(100% - 5px);
  height: 1px
}

.popular-page ul.popular-page-list>li:hover::before,
.popular-page ul.popular-page-list>li:hover::after {
  right: 0;
  bottom: 0;
  opacity: 0
}

.popular-page ul.popular-page-list>li:hover .content::before {
  opacity: 1;
  visibility: visible;
  z-index: 1
}

.popular-page ul.popular-page-list>li:hover .icon {
  background: #f4f8fa
}

.popular-page ul.popular-page-list>li:hover .ttl {
  color: #fff
}

.popular-page ul.popular-page-list>li .content {
  padding: 20px 20px 15px;
  background: #fff
}

.popular-page ul.popular-page-list>li .content::before {
  content: "";
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(#005bab), to(#46a5ea));
  background: linear-gradient(#005bab, #46a5ea);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: .3s;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
  z-index: 0
}

.popular-page ul.popular-page-list>li .icon {
  width: 80px;
  height: 80px;
  background: #f4f8fa;
  border-radius: 50%;
  margin: 0 auto 10px;
  -webkit-transition: .3s;
  transition: .3s;
  position: relative;
  z-index: 2
}

@media only screen and (max-width: 768px) {
  .popular-page ul.popular-page-list>li .icon {
    margin-bottom: 8px
  }
}

.popular-page ul.popular-page-list>li .ttl {
  font-size: 17px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: .04em;
  color: var(--primary);
  text-align: center;
  position: relative;
  z-index: 2;
  -webkit-transition: .3s;
  transition: .3s
}

@media only screen and (max-width: 768px) {
  .popular-page ul.popular-page-list>li .ttl {
    font-size: 15px
  }
}

footer {
  padding: 60px 0;
  position: relative
}

@media only screen and (max-width: 768px) {
  footer {
    padding: 40px 0 83px
  }
}

.f-wrap {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px
}

@media only screen and (max-width: 768px) {
  .f-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 20px
  }
}

.f-wrap .f-left {
  width: 500px
}

@media only screen and (max-width: 768px) {
  .f-wrap .f-left {
    width: 100%;
    text-align: center
  }
}

.f-wrap .f-right {
  width: 540px
}

@media only screen and (max-width: 768px) {
  .f-wrap .f-right {
    width: 100%
  }
}

.f-logo {
  height: 60px;
  display: block
}

.f-logo>img {
  height: 100%
}

ul.f-navlist>li>a {
  font-size: 15px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .04em;
  color: #23234b;
  text-decoration: none;
  position: relative;
  padding-left: 38px;
  -webkit-transition: .3s;
  transition: .3s
}

ul.f-navlist>li>a::before {
  content: "";
  width: 28px;
  height: 28px;
  background: url(../img/icon_chevron_primary.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

ul.f-navlist>li>a:hover {
  color: var(--primary)
}

.copylight>small {
  font-size: 13px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .04em;
  color: #a3b9c3
}

@media only screen and (max-width: 768px) {
  .copylight {
    position: absolute;
    bottom: 34px;
    left: 0;
    padding: 0 20px;
    text-align: center
  }

  .copylight>small {
    font-size: 11px
  }
}

ul.f-iconlist {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px
}

@media only screen and (max-width: 768px) {
  ul.f-iconlist {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

ul.f-iconlist>li>a {
  display: block;
  height: 60px
}

ul.f-iconlist>li>a>img {
  height: 100%
}

.f-info-box {
  background: #eee;
  padding: 20px 30px
}

@media only screen and (max-width: 768px) {
  .f-info-box {
    padding: 20px
  }
}

.f-info-box .info-ttl {
  font-size: 15px;
  font-weight: bold;
  line-height: 2;
  letter-spacing: .04em;
  margin-bottom: 10px
}

.f-info-box .info-txt {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .04em
}

aside.l-aside {
  z-index: 9999;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-row: 1/3;
  grid-column: 1;
  height: 100vh;
  overflow: auto;
  background: #fff;
  -webkit-box-shadow: 16px 0 32px rgba(0, 21, 14, .05);
  box-shadow: 16px 0 32px rgba(0, 21, 14, .05);
  position: fixed;
  top: 0;
  padding: 0 10px 10px;
  -webkit-transition: .3s;
  transition: .3s;
  width: 210px
}

@media only screen and (max-width: 768px) {
  aside.l-aside {
    position: absolute;
    padding: 10px;
    width: 300px;
    left: -300px;
    top: 0;
    z-index: 99999
  }
}

aside.l-aside.is-open {
  left: 0
}

.aside-wrap {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

@media only screen and (max-width: 768px) {
  .aside-wrap {
    row-gap: 30px;
    width: 100%
  }
}

.aside-wrap .aside-top {
  width: 100%
}

.aside-wrap .aside-bottom {
  width: 100%
}

.account-box {
  padding: 30px 0
}

@media only screen and (max-width: 768px) {
  .account-box {
    padding: 20px 0
  }
}

.l-logo {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 110px;
  padding: 35px 0
}

.l-logo>img {
  height: 100%
}

@media only screen and (max-width: 768px) {
  .l-logo {
    height: 40px;
    padding: 5px 0
  }
}

.l-logo.-login {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 60px;
  padding: 15px 0
}

.l-logo.-login>img {
  height: 100%
}

@media only screen and (max-width: 768px) {
  .l-logo.-login {
    height: 40px;
    padding: 10px 0
  }
}

nav.g-nav>ul>li>a {
  font-weight: bold;
  color: #646464;
  display: block;
  padding: 5px 10px;
  text-decoration: none;
  -webkit-transition: .3s;
  transition: .3s;
  border-radius: 6px
}

nav.g-nav>ul>li>a>i {
  margin-right: 10px
}

nav.g-nav>ul>li>a:hover,
nav.g-nav>ul>li>a.current {
  background: rgba(0, 91, 171, .1)
}

.l-main .ui.form.inputForm .fields:not(:nth-last-child(2)) {
  border-bottom: 1px solid #e6eff2;
  padding-bottom: 15px
}

.l-main .ui.form.inputForm .fields:nth-last-child(2) {
  margin-bottom: 60px
}

@media only screen and (max-width: 768px) {
  .l-main .ui.form.inputForm .fields:nth-last-child(2) {
    margin-bottom: 40px
  }
}

.l-main .ui.form.inputForm .input_preview>.input_labels>.input_required {
  background: #ab0048;
  border-radius: 999px;
  min-width: 27px;
  font-size: 14px
}

.l-main .ui.form.inputForm .icheck-material-blue>input:first-child {
  background-color: #2196f3
}

.l-main .ui.form.inputForm .icheck-material-blue>input:first-child+label::before {
  border-color: #787878
}

.l-main .ui.form.inputForm .icheck-material-blue>input:first-child:checked+label:before {
  border-color: #2196f3;
  background-color: #2196f3
}

.l-main .ui.form.inputForm .icheck-material-blue>input:first-child:checked+label:after {
  border-bottom-color: #fff;
  border-right-color: #fff
}

.l-main .ui.form.inputForm .icheck-material-blue>input[type=radio]:first-child:checked+label::after {
  background-color: #2196f3
}

.l-main .ui.form.inputForm p:not(.text, .item, .ui, .icheck-material-blue),
.l-main .ui.form.inputForm div:not(.text, .item, .ui, .icheck-material-blue) {
  line-height: 2;
  letter-spacing: .04em
}

.l-main .ui.form.inputForm a {
  color: var(--primary);
  text-decoration: underline
}

.l-main .ui.form.inputForm a:hover {
  text-decoration: none;
  color: var(--primary)
}

.l-main .ui.form.inputForm a[href^="tel:"] {
  color: #23234b;
  text-decoration: none
}

.l-main .ui.form.inputForm .popup.calendar:before {
  display: none
}

.l-main .ui.form.inputForm td {
  white-space: pre-wrap
}

.ui.form.inputForm [class*=icheck-material]>input[type=radio]:first-child+label:before,
.l-main .ui.form.inputForm .icheck-material-blue>input:first-child+label::before {
  border-color: #d8e4e8
}

.flyout-open {
  cursor: pointer
}

.max-w100 {
  max-width: 100% !important
}

@media only screen and (max-width: 768px) {
  .max-w100-tb {
    max-width: 100% !important
  }
}

.box01,
.search-box {
  border-radius: 10px;
  padding: 25px
}

.shadow,
.search-box {
  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, .2);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, .2)
}

.-gap10 {
  gap: 10px
}

.-gap20 {
  gap: 20px
}

.flex-1 {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

.flex-shrink-0 {
  -ms-flex-negative: 0;
  flex-shrink: 0
}

.d-block {
  display: block !important
}

.w100vw {
  width: 100vw
}

.w-auto {
  width: auto
}

.tag {
  display: inline-block;
  font-size: 14px;
  color: #fff;
  line-height: 1.7;
  border-radius: 3px;
  background: var(--primary);
  padding: 0 10px
}

@media only screen and (max-width: 768px) {
  .tag {
    font-size: 12px
  }
}

.hover-all {
  position: relative
}

.hover-all>a {
  display: block;
  height: 100%;
  width: 100%;
  font-size: 0;
  position: absolute;
  z-index: 9;
  top: 0;
  left: 0
}

.ofi>img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center
}

.ofi.-top>img {
  -o-object-position: top;
  object-position: top
}

.ofi.-bottom>img {
  -o-object-position: bottom;
  object-position: bottom
}

.ofi.-left>img {
  -o-object-position: left;
  object-position: left
}

.ofi.-right>img {
  -o-object-position: right;
  object-position: right
}

.ofi.-ratio {
  display: block;
  overflow: hidden;
  position: relative
}

.ofi.-ratio>img {
  min-height: 100%;
  width: 100%;
  min-width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto auto
}

.ofi.-contain>img {
  -o-object-fit: contain;
  object-fit: contain
}

.login-wrap {
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.login-wrap .outer {
  max-width: 650px;
  width: 100%;
  margin: 0 auto;
  background: #fff;
  border-radius: 10px;
  padding: 20px
}

.login-wrap .outer .inner {
  width: 525px;
  margin: 0 auto
}

@media only screen and (max-width: 768px) {
  .login-wrap .outer .inner {
    width: 100%
  }
}

.search-box {
  background: #fff
}

ul.search-list li.search-item {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px;
  row-gap: 10px;
  width: 100%
}

ul.search-list li.search-item.-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

ul.search-list li .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

ul.search-list li .box label {
  white-space: nowrap;
  margin-right: 10px
}

ul.search-list li .box input {
  min-width: -webkit-min-content;
  min-width: -moz-min-content;
  min-width: min-content
}

@media only screen and (max-width: 768px) {
  ul.search-list li .box {
    width: 100%;
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset
  }

  ul.search-list li .box label {
    width: 100px
  }
}

ul.search-list li .box.-fitcontent {
  -webkit-box-flex: unset;
  -ms-flex: unset;
  flex: unset
}

.search-btn-box {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  column-gap: 5px;
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content
}

.scroll-area {
  width: 100%;
  overflow-x: scroll;
  padding-bottom: 15px;
  scrollbar-width: thin;
  scrollbar-color: var(--primary) #e8e8e8
}

.scroll-area::-webkit-scrollbar {
  width: 5px;
  height: 10px
}

.scroll-area::-webkit-scrollbar-track {
  background: #e8e8e8
}

.scroll-area::-webkit-scrollbar-thumb {
  background: var(--primary)
}

.scroll-area.-scroll-y {
  max-height: 310px;
  border-bottom: 1px solid var(--primary) #e8e8e8;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, .16);
  box-shadow: 0 0 3px rgba(0, 0, 0, .16);
  padding-bottom: 0;
  border-radius: 8px
}

.table-wrap {
  overflow: visible;
  border-collapse: separate;
  border-spacing: 0
}

.table-wrap .common-table {
  width: 100%;
  white-space: nowrap;
  border-collapse: separate;
  border-spacing: 0;
  overflow: visible
}

.table-wrap .common-table.-fix {
  table-layout: fixed
}

.table-wrap .common-table>thead>tr>th {
  font-size: 14px;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0;
  padding: 8px 15px;
  background: var(--primary);
  color: #fff;
  border-top: 1px solid #d8dbdf;
  padding: 8px 15px
}

.table-wrap .common-table>thead>tr>th:first-of-type {
  border-left: 1px solid #d8dbdf;
  border-radius: 8px 0 0 0
}

.table-wrap .common-table>thead>tr>th:last-of-type {
  border-right: 1px solid #d8dbdf;
  border-radius: 0 8px 0 0
}

.table-wrap .common-table>tbody {
  background: #fff
}

.table-wrap .common-table>tbody>tr:last-of-type>td {
  border-bottom: 1px solid #d8dbdf
}

.table-wrap .common-table>tbody>tr:last-of-type>td:first-of-type {
  border-left: 1px solid #d8dbdf;
  border-radius: 0 0 0 8px
}

.table-wrap .common-table>tbody>tr:last-of-type>td:last-of-type {
  border-right: 1px solid #d8dbdf;
  border-radius: 0 0 8px 0
}

.table-wrap .common-table>tbody>tr>td {
  font-size: 14px;
  font-weight: 400;
  white-space: nowrap;
  line-height: 1.8;
  letter-spacing: 0;
  color: #121826;
  padding: 9.5px 15px;
  border-top: 1px solid #d8dbdf
}

.table-wrap .common-table>tbody>tr>td.required::after {
  content: "必須";
  width: 32px;
  border-radius: 6px;
  font-size: 10px;
  text-align: center;
  vertical-align: middle;
  background: #ea5120;
  display: inline-block;
  color: #fff;
  margin-left: 15px
}

.table-wrap .common-table>tbody>tr>td.-aligntop {
  vertical-align: top
}

.table-wrap .common-table>tbody>tr>td:first-of-type {
  border-left: 1px solid #d8dbdf
}

.table-wrap .common-table>tbody>tr>td:last-of-type {
  border-right: 1px solid #d8dbdf
}

.table-wrap .common-table>thead>tr>th.left,
.table-wrap .common-table>thead>tr>td.left,
.table-wrap .common-table>tbody>tr>th.left,
.table-wrap .common-table>tbody>tr>td.left {
  text-align: left
}

.table-wrap .common-table.-horizontal tr:first-of-type>td:first-of-type {
  border-radius: 8px 0 0 0
}

.table-wrap .common-table.-horizontal tr:first-of-type>td:last-of-type {
  border-radius: 0 8px 0 0
}

.table-wrap .common-table.-horizontal tr>td:first-of-type {
  font-size: 14px;
  font-weight: bold;
  color: #6c727f;
  background: rgba(var(--primary), 10%);
  border-right: 1px solid #d8dbdf;
  text-align: left
}

.table-wrap .common-table.-horizontal td {
  padding: 15.5px 15.5px;
  line-height: 1.8;
  font-size: 14px
}

.ui.form {
  font-size: inherit
}

.ui.form .inline.fields .field label {
  white-space: nowrap
}

@media only screen and (max-width: 768px) {
  .ui.form .inline.fields.tb-row .field {
    width: auto;
    margin-bottom: 0
  }
}

.ui.form .ui.input.error>input {
  color: #b4b4b4;
  border-color: #c43b3b;
  background: #fff4f4
}

.ui.form .ui.input.error>input:focus {
  color: #23234b;
  background: #fff4f4
}

.ui.form textarea:focus,
.ui.form input[type=number]:focus,
.ui.form .ui.input.focus>input,
.ui.form .ui.input>input:focus,
.ui.form .ui.selection.active.dropdown,
.ui.form .ui.selection.simple.dropdown:hover {
  border-color: var(--primary);
  background: #fff
}

.ui.form .ui.input.disabled input,
.ui.form .ui.selection.disabled {
  color: #646464;
  border-color: #ededed;
  background: #e8e8e8
}

.ui.form .ui.checkbox.disabled.toggle input~label:before {
  background: #939393
}

.ui.form .ui.checkbox input:checked~label::after {
  color: var(--primary)
}

.ui.form .ui.checkbox .button {
  display: inline-block;
  font-size: 14px;
  border-radius: 20px;
  padding: 5px 10px
}

.ui.form .ui.checkbox.toggle input+label[for],
.ui.form .ui.checkbox.toggle input.hidden+label {
  font-weight: 500;
  padding: .25em 4.5rem .25em 0
}

.ui.form .ui.checkbox.toggle.-sub input+label[for],
.ui.form .ui.checkbox.toggle.-sub input.hidden+label {
  display: block;
  height: 25px;
  width: 50px;
  padding: 0
}

.ui.form .ui.checkbox.toggle label::after {
  top: .16rem
}

@media only screen and (max-width: 768px) {
  .ui.form .ui.checkbox.toggle label::after {
    top: .08rem
  }
}

.ui.form .ui.checkbox.toggle input:focus:checked~label::before,
.ui.form .ui.checkbox.toggle input:checked~label::before {
  background: var(--primary)
}

.ui.form .ui.checkbox.toggle input~label:before {
  height: 25px;
  right: 0;
  left: auto
}

.ui.form .ui.checkbox.toggle input~label:after {
  right: 1.8em;
  left: auto;
  -webkit-transition: right .1s linear;
  transition: right .1s linear
}

@media only screen and (max-width: 768px) {
  .ui.form .ui.checkbox.toggle input~label:before {
    height: 1.7em
  }
}

.ui.form .ui.checkbox.toggle input:checked~label:after {
  background: #fff;
  right: .2em
}

.ui.form .ui.radio.checkbox label::before,
.ui.form .ui.radio.checkbox label::after {
  height: 20px;
  width: 20px
}

.ui.form .ui.radio.checkbox label::after {
  -webkit-transform: scale(70%);
  -ms-transform: scale(70%);
  transform: scale(70%)
}

.ui.form .ui.radio.checkbox input~label::after {
  background: var(--primary)
}

.ui.form .ui.radio.checkbox input+label[for],
.ui.form .ui.radio.checkbox input.hidden+label {
  padding-top: 2px;
  padding-bottom: 2px
}

.ui.form .ui.dropdown:not(.hover) {
  width: 100%;
  min-width: 4em;
  max-width: 200px;
  font-size: 16px
}

.ui.form .ui.selection.dropdown .menu>.item {
  font-size: inherit
}

.ui.form .ui.dropdown .fa-solid.fa-ellipsis-vertical {
  padding: 0 10px
}

.ui.form .ui.dropdown .menu>.item button {
  line-height: inherit
}

.ui.form .ui.dropdown .menu .selected.item,
.ui.form .ui.dropdown .menu .selected.item .description,
.ui.form .ui.dropdown.selected {
  font-weight: normal;
  color: #fff;
  background: var(--primary)
}

.ui.form .ui.selection.dropdown:not(.pointing):not(.floating) .menu {
  border-radius: 5px
}

.ui.form .ui.dropdown .fa-solid.fa-chevron-down {
  font-size: 12px;
  color: #b4b4b4;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.ui.form .ui.default.dropdown:not(.button)>.text,
.ui.form .ui.dropdown:not(.button)>.default.text {
  color: #23234b
}

.ui.form .ui.default.dropdown:not(.button)>.text.-gray,
.ui.form .ui.dropdown:not(.button)>.default.text.-gray {
  color: #939393
}

.ui.form .ui.selection.dropdown:not(.pointing):not(.floating) .menu {
  border-radius: 0 0 5px 5px;
  border-color: var(--primary)
}

.ui.input input[type=tel] {
  min-width: 10em
}

.ui.input input[type=mailaddress] {
  min-width: 13em
}

.ui.button,
.ui.buttons .button,
.ui.buttons .or {
  font-size: inherit;
  font-family: "Noto Sans JP", sans-serif, "ヒラギノ角ゴシック ProN", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "游ゴシック体", "Yu Gothic", YuGothic
}

.ui.primary.button {
  background: var(--primary)
}

.ui.form .field>.selection.dropdown:not(.compact) {
  min-width: 80px;
  width: 100%;
  width: 80px
}

.ui.grid>.column:not(.row) {
  padding: 30px 10px
}

@media only screen and (max-width: 768px) {
  .ui.grid>.column:not(.row) {
    width: 100% !important
  }
}

@media only screen and (max-width: 768px) {
  .ui.grid {
    display: block
  }
}

.ui.pagination.menu {
  padding: 0
}

.primary-hover {
  -webkit-transition: .3s;
  transition: .3s
}

.primary-hover:hover {
  background-color: rgba(0, 91, 171, .1)
}

.ui.fluid.dropdown>.dropdown.icon {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  margin: 0;
  right: 0
}

section.top-visit-sec {
  position: relative;
  padding: 0 0 70px 0
}

@media only screen and (max-width: 768px) {
  section.top-visit-sec {
    padding-bottom: 60px
  }
}

section.top-visit-sec::before {
  content: "";
  width: calc(100% - 30px);
  border-radius: 0 10px 10px 0;
  height: 100%;
  background: #f7f4ef;
  position: absolute;
  top: 30px;
  left: 0;
  z-index: -1
}

@media only screen and (max-width: 768px) {
  section.top-visit-sec::before {
    width: 100%;
    border-radius: 0;
    top: 20px
  }
}

section.top-visit-sec .visit-heading {
  text-align: center;
  margin-bottom: 78px
}

@media only screen and (max-width: 768px) {
  section.top-visit-sec .visit-heading {
    margin-bottom: 70px
  }
}

ul.visit-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px;
  row-gap: 70px
}

@media only screen and (max-width: 768px) {
  ul.visit-list {
    row-gap: 73px
  }
}

ul.visit-list>li {
  background: #fff;
  padding: 35px 25px;
  position: relative;
  border-radius: 4px
}

@media only screen and (max-width: 768px) {
  ul.visit-list>li {
    padding: 33px 25px 40px
  }
}

ul.visit-list>li .icon {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: var(--primary);
  margin-inline: auto;
  position: absolute;
  top: -47px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}

ul.visit-list>li .card-ttl {
  font-size: 21px;
  font-weight: 500;
  line-height: 1.61;
  letter-spacing: .04em;
  color: var(--primary);
  text-align: center;
  margin-bottom: 25px
}

ul.visit-list>li p.txt {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em
}

ul.visit-list>li p.txt>span {
  display: block;
  font-size: 15px;
  font-weight: 400;
  line-height: 3;
  letter-spacing: .04em
}

ul.visit-list>li span.schedule-tag {
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 35px;
  letter-spacing: .04em;
  min-width: 90px;
  text-align: center;
  color: var(--primary);
  background: #f4f8fa;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content
}

ul.visit-list>li ul.schedule-list>li {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
  border-radius: 4px
}

ul.visit-list>li ul.schedule-list>li:not(:last-of-type) {
  border-bottom: 1px solid #eee;
  padding-bottom: 6px;
  margin-bottom: 20px
}

ul.visit-list>li .btn-box {
  margin-top: 30px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px
}

@media only screen and (max-width: 768px) {
  ul.visit-list>li .btn-box {
    margin-top: 20px
  }
}

ul.visit-list.-outpatient>li {
  padding-bottom: 40px
}

ul.visit-list.-outpatient>li p.txt span {
  display: inline-block
}

ul.visit-list.-outpatient>li ul.schedule-list li {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

ul.visit-list.-outpatient>li ul.schedule-list li:not(:last-of-type) {
  padding-bottom: 20px
}

@media only screen and (max-width: 768px) {
  ul.visit-list.-outpatient>li ul.schedule-list li:not(:last-of-type) {
    padding-bottom: 10px
  }
}

ul.visit-list.-detail>li {
  position: relative;
  margin-bottom: 60px
}

ul.visit-list.-detail>li .btn-box {
  position: absolute;
  width: 100%;
  left: 50%;
  bottom: -60px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}

@media only screen and (max-width: 768px) {
  ul.visit-list.-detail {
    grid-template-columns: 1fr;
    row-gap: 100px
  }
}

section.top-news-sec {
  position: relative
}

section.top-news-sec::after {
  content: "";
  width: calc(100vw - 30px);
  height: calc(100% - 30px);
  background: #f4f8fa;
  border-radius: 10px 0 0 10px;
  position: absolute;
  top: 30px;
  right: 0;
  z-index: -2;
  pointer-events: none
}

@media only screen and (max-width: 768px) {
  section.top-news-sec::after {
    width: 100vw;
    right: unset;
    left: 0;
    border-radius: 0;
    top: 20px;
    height: calc(100% - 20px)
  }
}

section.top-news-sec .news-heading {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 33px
}

@media only screen and (max-width: 768px) {
  section.top-news-sec .news-heading {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 23px
  }
}

section.top-news-sec .news-body {
  padding-bottom: 100px
}

@media only screen and (max-width: 768px) {
  section.top-news-sec .news-body {
    width: 100vw;
    margin-inline: -20px;
    padding-left: 20px;
    padding-bottom: 80px
  }
}

section.top-news-sec .news-body .news-content {
  background: #fff;
  padding: 10px 20px 20px 30px
}

@media only screen and (max-width: 768px) {
  section.top-news-sec .news-body .news-content {
    padding: 22px 20px 37px 20px;
    margin-bottom: 40px
  }
}

section.top-news-sec .news-btn-box {
  margin-bottom: 5px
}

@media only screen and (max-width: 768px) {
  section.top-news-sec .news-btn-box {
    text-align: center
  }

  section.top-news-sec .news-btn-box>a {
    max-width: 240px
  }
}

section.top-info-sec .info-box {
  position: relative
}

section.top-info-sec .info-box .bg-img {
  width: 100%;
  height: 300px;
  position: relative;
  overflow: hidden
}

section.top-info-sec .info-box .bg-img>img {
  -webkit-filter: blur(10px);
  filter: blur(10px)
}

section.top-info-sec .info-box .bg-img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#000), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to right, #000, rgba(0, 0, 0, 0));
  opacity: .06;
  z-index: 1
}

@media only screen and (max-width: 768px) {
  section.top-info-sec .info-box .bg-img {
    height: 420px
  }
}

section.top-info-sec .info-box .content {
  padding: 0 100px;
  position: absolute;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  top: 50%;
  z-index: 2;
  left: 0px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%
}

@media only screen and (max-width: 768px) {
  section.top-info-sec .info-box .content {
    padding: 0 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 35px
  }
}

section.top-info-sec .info-box .txt-box {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

@media only screen and (max-width: 768px) {
  section.top-info-sec .info-box .txt-box {
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset
  }
}

section.top-info-sec .info-box .btn-box {
  width: 300px
}

@media only screen and (max-width: 768px) {
  section.top-info-sec .info-box .btn-box {
    width: 100%;
    text-align: center
  }
}

section.top-features-sec {
  position: relative
}

section.top-features-sec[data-color=yellow] .bg-color {
  background: linear-gradient(45deg, #886d0f, #d8c06f)
}

section.top-features-sec[data-color=pink] .bg-color {
  background: linear-gradient(45deg, #d88397, #cb5772)
}

section.top-features-sec[data-color=purple] .bg-color {
  background: linear-gradient(45deg, #801749, #af1d63)
}

section.top-features-sec[data-color=green] .bg-color {
  background: linear-gradient(45deg, #2aaf90, #62e5c6)
}

section.top-features-sec[data-color=dark-blue] .bg-color {
  background: linear-gradient(45deg, #23254b, #5a5c81)
}

section.top-features-sec .bg-color {
  width: 100%;
  height: calc(100% - 275px);
  background: linear-gradient(45deg, #005bab, #46a5ea);
  position: absolute;
  top: 188px;
  left: 0;
  z-index: -1;
  pointer-events: none
}

section.top-features-sec .bg-color::before,
section.top-features-sec .bg-color::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute
}

section.top-features-sec .bg-color::before {
  top: 20px
}

section.top-features-sec .bg-color::after {
  bottom: 20px
}

@media only screen and (max-width: 768px) {
  section.top-features-sec .bg-color {
    top: 150px
  }
}

section.top-features-sec .features-heading {
  text-align: center;
  margin-bottom: 30px
}

@media only screen and (max-width: 768px) {
  section.top-features-sec .features-heading {
    margin-bottom: 25px
  }
}

section.top-features-sec .tab-list02>li>a[data-color=yellow]:hover,
section.top-features-sec .tab-list02>li>a[data-color=yellow].current {
  border-color: #ad8d22;
  background: #ad8d22
}

section.top-features-sec .tab-list02>li>a[data-color=dark-blue]:hover,
section.top-features-sec .tab-list02>li>a[data-color=dark-blue].current {
  border-color: #23234b;
  background: #23234b
}

section.top-features-sec .tab-list02>li>a[data-color=green]:hover,
section.top-features-sec .tab-list02>li>a[data-color=green].current {
  border-color: #2aaf90;
  background: #2aaf90
}

section.top-features-sec .tab-list02>li>a[data-color=purple]:hover,
section.top-features-sec .tab-list02>li>a[data-color=purple].current {
  border-color: #801749;
  background: #801749
}

section.top-features-sec .tab-list02>li>a[data-color=pink]:hover,
section.top-features-sec .tab-list02>li>a[data-color=pink].current {
  border-color: #d88397;
  background: #d88397
}

.features-content {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (max-width: 768px) {
  .features-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 45px
  }
}

.features-content .l-box {
  width: 480px;
  padding: 22px 0 0 0
}

@media only screen and (max-width: 768px) {
  .features-content .l-box {
    width: 100%
  }
}

.features-content .l-box hgroup {
  margin-bottom: 17px
}

.features-content .l-box .features-btn-box {
  margin-top: 35px
}

.features-content .l-box .features-btn-box>a {
  border-color: #fff
}

@media only screen and (max-width: 768px) {
  .features-content .l-box .features-btn-box {
    margin-top: 25px;
    text-align: center
  }
}

@media only screen and (max-width: 768px) {
  .features-content .l-box {
    padding: unset
  }
}

.features-content .r-box {
  width: 520px
}

@media only screen and (max-width: 768px) {
  .features-content .r-box {
    width: 100%
  }
}

.features-content .r-box .features-img {
  aspect-ratio: 520/510;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16)
}

@media only screen and (max-width: 768px) {
  .features-content .r-box .features-img {
    aspect-ratio: 335/240
  }
}

section.top-group-sec {
  position: relative
}

section.top-group-sec .bg-img {
  width: 2800px;
  height: 815.98px;
  position: absolute;
  top: -120px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: -1
}

@media only screen and (max-width: 768px) {
  section.top-group-sec .bg-img {
    display: none
  }
}

section.top-group-sec .group-heading {
  margin-bottom: 32px
}

@media only screen and (max-width: 768px) {
  section.top-group-sec .group-heading {
    text-align: center;
    margin-bottom: 25px
  }
}

section.top-group-sec .group-body {
  padding: 0 50px;
  margin: 0 auto
}

@media only screen and (max-width: 768px) {
  section.top-group-sec .group-body {
    padding: unset;
    margin-bottom: 45px
  }
}

section.top-group-sec .group-btn-box {
  position: absolute;
  top: 35px;
  right: 10px;
  min-width: 240px
}

@media only screen and (max-width: 768px) {
  section.top-group-sec .group-btn-box {
    position: static;
    top: unset;
    left: unset;
    min-width: unset
  }

  section.top-group-sec .group-btn-box>a {
    max-width: 240px
  }
}

@media only screen and (max-width: 768px)and (max-width: 768px) {
  section.top-group-sec .group-btn-box {
    width: 100%;
    text-align: center
  }
}

section.top-recruit-sec {
  position: relative
}

@media only screen and (max-width: 768px) {
  section.top-recruit-sec {
    padding-bottom: 85px
  }
}

section.top-recruit-sec::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/bg_gradient.png) no-repeat center/cover;
  z-index: -2;
  pointer-events: none
}

@media only screen and (max-width: 768px) {
  section.top-recruit-sec::after {
    height: calc(100% - 110px);
    top: 110px
  }
}

section.top-recruit-sec .bg-img {
  width: 700px;
  height: 410px;
  position: absolute;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  top: 50%;
  left: 30px;
  z-index: -1;
  pointer-events: none
}

@media only screen and (max-width: 768px) {
  section.top-recruit-sec .bg-img {
    width: 500px;
    height: 292px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    top: unset;
    bottom: 50px;
    left: 50%
  }
}

section.top-recruit-sec .content {
  position: relative;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 120px 0;
  -webkit-column-gap: 50px;
  -moz-column-gap: 50px;
  column-gap: 50px
}

@media only screen and (max-width: 768px) {
  section.top-recruit-sec .content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
    row-gap: 80px
  }
}

section.top-recruit-sec .content .l-box {
  padding: 0 0 0 80px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

@media only screen and (max-width: 768px) {
  section.top-recruit-sec .content .l-box {
    padding: 0;
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
    width: 100%
  }
}

section.top-recruit-sec .content .l-box .txt-box {
  margin-bottom: 35px
}

section.top-recruit-sec .content .l-box .txt-box hgroup {
  margin-bottom: 30px
}

@media only screen and (max-width: 768px) {
  section.top-recruit-sec .content .l-box .txt-box {
    text-align: center;
    margin-bottom: 25px
  }

  section.top-recruit-sec .content .l-box .txt-box hgroup {
    margin-bottom: 20px
  }
}

@media only screen and (max-width: 768px) {
  section.top-recruit-sec .content .l-box .recruit-btn-box {
    text-align: center
  }
}

section.top-recruit-sec .content .r-box {
  margin-right: calc(50% - 50vw);
  margin-left: auto;
  width: calc(50vw + 40px)
}

@media only screen and (max-width: 768px) {
  section.top-recruit-sec .content .r-box {
    width: calc(100vw - 20px)
  }
}

section.top-recruit-sec .content .r-box .recruit-img-box {
  width: 100%;
  height: 340px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16)
}

@media only screen and (max-width: 768px) {
  section.top-recruit-sec .content .r-box .recruit-img-box {
    width: auto;
    height: auto;
    aspect-ratio: 335/240
  }
}

section.top-recruit-info-sec .content {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 58px;
  -moz-column-gap: 58px;
  column-gap: 58px
}

@media only screen and (max-width: 768px) {
  section.top-recruit-info-sec .content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 30px
  }
}

section.top-recruit-info-sec .content .l-box {
  width: 80px
}

@media only screen and (max-width: 768px) {
  section.top-recruit-info-sec .content .l-box {
    width: 100%
  }
}

section.top-recruit-info-sec .content .l-box .info-ttl-box .info-ttl {
  border-radius: 999px;
  overflow: hidden;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  min-width: 80px;
  min-height: 445px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 35px 0;
  background: linear-gradient(45deg, rgb(0, 91, 171), rgb(70, 165, 234))
}

@media only screen and (max-width: 768px) {
  section.top-recruit-info-sec .content .l-box .info-ttl-box .info-ttl {
    -webkit-writing-mode: unset;
    -ms-writing-mode: unset;
    writing-mode: unset;
    display: grid;
    place-content: center;
    width: 100%;
    min-width: unset;
    min-height: 60px;
    padding: 0
  }
}

section.top-recruit-info-sec .content .l-box .info-ttl-box .info-ttl .ttl {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: .08em;
  color: #fff
}

section.top-recruit-info-sec .content .l-box .info-ttl-box .info-ttl .ttl>span {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .04em;
  color: #fff;
  margin-top: 22px
}

@media only screen and (max-width: 768px) {
  section.top-recruit-info-sec .content .l-box .info-ttl-box .info-ttl .ttl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
    font-size: 21px
  }

  section.top-recruit-info-sec .content .l-box .info-ttl-box .info-ttl .ttl>span {
    font-size: 14px;
    margin-top: 0
  }
}

section.top-recruit-info-sec .content .r-box {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

@media only screen and (max-width: 768px) {
  section.top-recruit-info-sec .content .r-box {
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
    width: 100%
  }
}

section.top-bnr-sec {
  padding: 50px 0;
  position: relative
}

@media only screen and (max-width: 768px) {
  section.top-bnr-sec {
    padding: 20px 0
  }
}

section.top-bnr-sec::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/bg_bnr.png) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0
}

.bnr-list .bnr-item .bnr {
  width: 100%;
  height: 140px;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .2);
  box-shadow: 0 0 10px rgba(0, 0, 0, .2);
  border: 2px solid #fff;
  overflow: hidden;
  -webkit-transition: .3s;
  transition: .3s;
  position: relative
}

.bnr-list .bnr-item .bnr::after {
  content: "";
  width: 0%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  opacity: .7;
  z-index: 1;
  -webkit-transition: .3s;
  transition: .3s
}

@media only screen and (max-width: 768px) {
  .bnr-list .bnr-item .bnr {
    height: 138px
  }
}

.bnr-list .bnr-item:hover .bnr::after {
  width: 100%;
  right: unset;
  left: 0
}

.bnr-list.slick-slider {
  margin: 0 -15px
}

.bnr-list.slick-slider .slick-list {
  overflow: visible
}

.bnr-list.slick-slider .slick-list .slick-track {
  padding: 30px 0
}

.bnr-list.slick-slider .slick-list .slick-track .slick-slide {
  line-height: 1;
  margin: 0 15px
}

.bnr-list .slick-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
  cursor: pointer;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  -webkit-transition: .3s;
  transition: .3s;
  background: #fff;
  transition: .3s;
  padding: 0
}

.bnr-list .slick-arrow:hover>img {
  opacity: .8
}

@media only screen and (max-width: 768px) {
  .bnr-list .slick-arrow {
    width: 45px;
    height: 45px
  }
}

.bnr-list .slick-prev {
  left: -60px
}

@media only screen and (max-width: 768px) {
  .bnr-list .slick-prev {
    left: 5px
  }
}

.bnr-list .slick-next {
  right: -60px
}

@media only screen and (max-width: 768px) {
  .bnr-list .slick-next {
    right: 5px
  }
}

section.top-access-sec {
  padding: 100px 0 0
}

@media only screen and (max-width: 768px) {
  section.top-access-sec {
    padding: 50px 0 0
  }
}

section.top-access-sec .content {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 80px;
  -moz-column-gap: 80px;
  column-gap: 80px
}

@media only screen and (max-width: 768px) {
  section.top-access-sec .content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    row-gap: 50px
  }
}

section.top-access-sec .content .l-box {
  margin-left: calc(50% - 50vw);
  margin-right: auto;
  width: calc(50vw + 60px)
}

@media only screen and (max-width: 768px) {
  section.top-access-sec .content .l-box {
    margin: 0 -20px;
    width: 100vw
  }
}

section.top-access-sec .content .l-box .gmap-wrap {
  height: 0;
  width: 100%;
  position: relative;
  padding-bottom: 64.5%
}

section.top-access-sec .content .l-box .gmap-wrap>iframe {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0
}

section.top-access-sec .content .r-box {
  width: 400px
}

@media only screen and (max-width: 768px) {
  section.top-access-sec .content .r-box {
    width: 100%
  }
}

@media only screen and (max-width: 768px) {
  section.top-access-sec .content .r-box hgroup {
    text-align: center
  }
}

@media only screen and (max-width: 768px) {
  section.top-access-sec .content .access-btn-box {
    text-align: center
  }
}

.attempt-box {
  padding: 142px 24px;
  position: relative
}

.attempt-box::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(60, 75, 82, .45);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1
}

.attempt-box .bg-img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2
}

.attempt-box .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 129px;
  -moz-column-gap: 129px;
  column-gap: 129px
}

.attempt-box .txt-box .ttl-en {
  font-size: 50px;
  font-family: "Roboto", sans-serif;
  line-height: 1.156;
  letter-spacing: .08em;
  margin-bottom: 5px
}

.attempt-box .txt-box .ttl-jp {
  font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "游明朝体", "Yu Mincho", YuMincho, serif;
  font-size: 21px;
  margin-bottom: 40px
}

.attempt-box .btn-box {
  width: 305px
}

@media only screen and (max-width: 768px) {
  .attempt-box {
    padding: 64px 20px;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px
  }

  .attempt-box .content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 50px
  }

  .attempt-box .txt-box {
    text-align: center
  }

  .attempt-box .txt-box .ttl-en {
    font-size: 40px
  }

  .attempt-box .txt-box .ttl-jp {
    font-size: 18px
  }

  .attempt-box .btn-box {
    width: 100%;
    text-align: center
  }
}

.accordion-box dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 25px 40px 25px 0;
  border-bottom: 1px solid #ddd;
  position: relative
}

.accordion-box dt::after {
  content: "";
  font-size: 21px;
  font-weight: 900;
  font-family: "Font Awesome 6 Free";
  color: var(--primary);
  text-align: center;
  line-height: 30px;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.accordion-box dt.active::after {
  content: "";
  opacity: .3
}

.accordion-box dd {
  padding-top: 25px;
  margin-bottom: 55px
}

@media only screen and (max-width: 768px) {
  .accordion-box dt {
    font-size: 16px
  }

  .accordion-box dt::after {
    font-size: 30px;
    line-height: 30px
  }

  .accordion-box dd {
    margin-bottom: 30px
  }
}

.profile-box {
  position: relative
}

.profile-box .img-box {
  position: relative;
  z-index: -5
}

.profile-box .txt-box {
  position: absolute;
  left: 30px;
  bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}

.profile-box .txt-box .ttl {
  font-weight: 500;
  color: #fff;
  background: var(--primary);
  padding: 10px;
  line-height: 1.7;
  position: relative;
  z-index: -1
}

.profile-box .txt-box .ttl.-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: -20px;
  z-index: -2
}

@media only screen and (max-width: 768px) {
  .profile-box .txt-box {
    left: 20px;
    bottom: 20px
  }

  .profile-box .txt-box .ttl {
    padding: 5px;
    font-size: 11px
  }

  .profile-box .txt-box .ttl.-name {
    margin-top: -10px
  }
}

@media only screen and (max-width: 480px) {
  .profile-box .txt-box {
    left: 10px;
    bottom: 10px
  }
}

.sec-outpatient {
  background: #f7f4ef;
  padding: 154px 0 60px 0
}

.sec-outpatient-detail {
  background: #f7f4ef;
  padding: 75px 30px 30px
}

@media only screen and (max-width: 768px) {
  .sec-outpatient-detail {
    padding: 75px 20px 30px
  }
}

.flow-list>li:not(:last-of-type) {
  padding-bottom: 25px;
  border-bottom: 1px solid #ddd
}

.flow-list .ttl-num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 23px;
  font-weight: bold;
  margin-bottom: 30px
}

.flow-list .ttl-num span {
  font-size: 17px;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
  background: var(--primary);
  color: #fff;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  line-height: 44px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-align: center;
  margin-right: 8px
}

@media only screen and (max-width: 768px) {
  .flow-list .ttl-num {
    font-size: 20px;
    margin-bottom: 20px
  }

  .flow-list .ttl-num span {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
    margin-right: 15px
  }
}

.flow-list.-no-border>li {
  border-bottom: none;
  padding-bottom: 0
}

.flow-list.-no-border .ttl-num {
  margin-bottom: 0
}

dl.label-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px
}

dl.label-list dt {
  font-size: 14px;
  font-weight: 700;
  background: #f4f8fa;
  color: var(--primary);
  padding: 3.5px 16px
}

.outpatient-search {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.outpatient-search .box02 {
  width: 531px;
  padding: 30px
}

.outpatient-search .search-wrap>.item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.outpatient-search .search-wrap>.item:not(:last-of-type) {
  margin-bottom: 17px
}

.outpatient-search .search-ttl {
  margin-right: 30px
}

.outpatient-search .select-box {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

.outpatient-search .select-box:before {
  font-family: "Font Awesome 6 Free";
  font-size: 14px;
  font-weight: 900;
  content: "";
  color: var(--primary);
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.outpatient-search .select-box>select {
  font-size: 12px;
  height: 35px;
  width: 300px;
  background: #fff;
  color: #a3b9c3;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0 30px 0 15px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

@media only screen and (max-width: 768px) {
  .outpatient-search {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    row-gap: 20px
  }

  .outpatient-search .box02 {
    width: 100%
  }

  .outpatient-search .item {
    display: block
  }

  .outpatient-search .search-ttl {
    margin: 0 0 10px 0
  }

  .outpatient-search .select-box>select {
    width: 100%
  }
}

.application-list {
  row-gap: 32px;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px
}

.application-list>li {
  position: relative
}

.application-list>li>a {
  display: block;
  background: #f4f8fa;
  border: 1px solid var(--primary);
  padding: 30px;
  text-decoration: none;
  height: 100%;
  -webkit-transition: all .3s;
  transition: all .3s;
  position: relative
}

.application-list>li>a::before,
.application-list>li>a::after {
  content: "";
  background: var(--primary);
  position: absolute;
  -webkit-transition: .3s;
  transition: .3s;
  bottom: -5px;
  right: -5px;
  z-index: -1
}

.application-list>li>a::before {
  width: 1px;
  height: calc(100% - 5px)
}

.application-list>li>a::after {
  width: calc(100% - 5px);
  height: 1px
}

.application-list>li>a:hover::before,
.application-list>li>a:hover::after {
  right: 0;
  bottom: 0
}

.application-list>li .ttl {
  color: #23234b;
  display: block;
  margin-bottom: 10px
}

.application-list>li .meta-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 9px
}

.application-list>li .meta-list span {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
  background: #fff;
  color: var(--primary);
  padding: 5px 17px;
  min-width: 88px;
  -webkit-transition: all .3s;
  transition: all .3s
}

@media only screen and (max-width: 768px) {
  .application-list>li .meta-list {
    gap: 5px
  }

  .application-list>li .meta-list span {
    font-size: 11px;
    padding: 2px 10px
  }
}

.application-list>li:hover>a {
  background: var(--primary)
}

.application-list>li:hover>a:after {
  color: #fff
}

.application-list>li:hover .ttl {
  color: #fff
}

.application-list>li:hover .meta-list span {
  color: var(--primary);
  background: #fff
}

@media only screen and (max-width: 768px) {
  .application-list>li .ttl {
    font-size: 20px;
    margin-bottom: 20px
  }
}

.application-list>li.-off>a {
  background: #f4f4f4;
  color: #999
}

.application-list>li.-off>a:after {
  color: #999
}

.application-list>li.-off .ttl {
  color: #999
}

.application-list>li.-off .meta-list span {
  background: #707070
}

.application-list>li.-off:hover .meta-list span {
  background: #fff
}

.news-detail-header .data-box {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 25px;
  -moz-column-gap: 25px;
  column-gap: 25px
}

.news-detail-header .data-box time {
  font-weight: 400;
  font-size: 17px
}

@media only screen and (max-width: 768px) {
  .news-detail-header .data-box time {
    font-size: 15px;
    min-width: 90px
  }
}

.dept-header .main-img {
  aspect-ratio: 780/481
}

.dept-img {
  aspect-ratio: 780/481
}

ul.doctor-list>li:not(:last-of-type) {
  margin-bottom: 90px
}

@media only screen and (max-width: 768px) {
  ul.doctor-list>li:not(:last-of-type) {
    margin-bottom: 60px
  }
}

ul.doctor-list>li .split {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px
}

@media only screen and (max-width: 768px) {
  ul.doctor-list>li .split {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    row-gap: 10px
  }
}

ul.doctor-list>li .split .l-box {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

@media only screen and (max-width: 768px) {
  ul.doctor-list>li .split .l-box {
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
    width: 100%
  }
}

ul.doctor-list>li .split .l-box .name-box {
  margin-bottom: 30px
}

ul.doctor-list>li .split .l-box .name-box .work {
  font-weight: bold;
  margin-bottom: 20px
}

ul.doctor-list>li .split .l-box .name-box .name>span {
  color: #748084
}

ul.doctor-list>li .split .l-box .name-box .name>p {
  font-size: 27px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: .04em
}

ul.doctor-list>li .split .r-box {
  width: 340px
}

@media only screen and (max-width: 768px) {
  ul.doctor-list>li .split .r-box {
    width: 100%
  }
}

ul.doctor-list>li .split .r-box .thumb {
  width: 100%;
  height: 340px;
  aspect-ratio: 1/1;
  height: auto
}

.magazine-main-wrap {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px
}

@media only screen and (max-width: 768px) {
  .magazine-main-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.magazine-main-wrap .l-box {
  width: 380px
}

.magazine-main-wrap .r-box {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

.magazine-main {
  background: #f4f8fa;
  padding: 30px 40px
}

.magazine-main .magazine-ttl {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .04em;
  color: var(--primary)
}

ul.magazine-archivelist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(370px, 1fr));
  gap: 20px
}

@media only screen and (max-width: 768px) {
  ul.magazine-archivelist {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr))
  }
}

@media only screen and (max-width: 480px) {
  ul.magazine-archivelist {
    grid-template-columns: 1fr
  }
}

ul.magazine-archivelist>li>a {
  border: 1px solid var(--primary);
  display: grid;
  place-content: center;
  border-radius: 999px;
  padding: 20px 45px;
  font-weight: bold
}

ul.magazine-archivelist>li>a::before {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 20px;
  -webkit-transition: .3s;
  transition: .3s
}

ul.magazine-archivelist>li>a:hover {
  background: var(--primary);
  color: #fff !important
}

ul.magazine-archivelist>li>a:hover::before {
  color: #fff
}

ul.backnumber-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(225px, 1fr));
  -webkit-column-gap: 60px;
  -moz-column-gap: 60px;
  column-gap: 60px;
  row-gap: 40px
}

@media only screen and (max-width: 768px) {
  ul.backnumber-list {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px
  }
}

ul.backnumber-list>li .img-box {
  aspect-ratio: 225/315;
  width: 100%;
  margin-bottom: 20px
}

ul.backnumber-list>li .txt-box {
  text-align: center
}

ul.backnumber-list>li .txt-box p.ttl {
  font-size: 19px;
  font-weight: bold;
  margin-bottom: 10px
}

ul.backnumber-list>li .txt-box p.date {
  font-family: "Roboto", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: .04em
}

.profile-box.-mariavilla {
  position: relative
}

.profile-box.-mariavilla .img-box {
  position: relative;
  z-index: -5
}

.profile-box.-mariavilla .txt-box {
  position: absolute;
  left: 30px;
  bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}

.profile-box.-mariavilla .txt-box .ttl {
  font-weight: 500;
  color: #fff;
  background: #801749;
  padding: 10px;
  line-height: 1.7;
  position: relative;
  z-index: -1
}

.profile-box.-mariavilla .txt-box .ttl.-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: -20px;
  z-index: -2
}

@media only screen and (max-width: 768px) {
  .profile-box.-mariavilla .txt-box {
    left: 20px;
    bottom: 20px
  }

  .profile-box.-mariavilla .txt-box .ttl {
    padding: 5px;
    font-size: 11px
  }

  .profile-box.-mariavilla .txt-box .ttl.-name {
    margin-top: -10px
  }
}

@media only screen and (max-width: 480px) {
  .profile-box.-mariavilla .txt-box {
    left: 10px;
    bottom: 10px
  }
}

.sec-outpatient {
  background: #f7f4ef;
  padding: 154px 0 60px 0;
  margin-top: -184px
}

@media only screen and (max-width: 768px) {
  .sec-outpatient {
    margin-top: -154px
  }
}

.sec-outpatient-detail {
  background: #f7f4ef;
  padding: 75px 30px 30px
}

@media only screen and (max-width: 768px) {
  .sec-outpatient-detail {
    padding: 75px 20px 30px
  }
}

.flow-list>li:not(:last-of-type) {
  padding-bottom: 25px;
  border-bottom: 1px solid #ddd
}

.flow-list .ttl-num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 23px;
  font-weight: 500;
  margin-bottom: 30px
}

.flow-list .ttl-num span {
  font-size: 17px;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
  background: var(--primary);
  color: #fff;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  line-height: 44px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-align: center;
  margin-right: 8px
}

@media only screen and (max-width: 768px) {
  .flow-list .ttl-num {
    font-size: 20px;
    margin-bottom: 20px
  }

  .flow-list .ttl-num span {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
    margin-right: 15px
  }
}

.flow-list.-no-border>li {
  border-bottom: none;
  padding-bottom: 0
}

.flow-list.-no-border .ttl-num {
  margin-bottom: 0
}

dl.label-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px
}

dl.label-list dt {
  font-size: 14px;
  font-weight: 700;
  background: #f2e5ec;
  color: var(--primary);
  padding: 3.5px 16px
}

.application-list.-mariavilla {
  row-gap: 32px;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px
}

.application-list.-mariavilla>li {
  position: relative
}

.application-list.-mariavilla>li>a {
  display: block;
  background: #f2e5ec;
  border: 1px solid var(--primary);
  padding: 30px;
  text-decoration: none;
  height: 100%;
  -webkit-transition: all .3s;
  transition: all .3s;
  position: relative
}

.application-list.-mariavilla>li>a::before,
.application-list.-mariavilla>li>a::after {
  content: "";
  background: var(--primary);
  position: absolute;
  -webkit-transition: .3s;
  transition: .3s;
  bottom: -5px;
  right: -5px;
  z-index: -1
}

.application-list.-mariavilla>li>a::before {
  width: 1px;
  height: calc(100% - 5px)
}

.application-list.-mariavilla>li>a::after {
  width: calc(100% - 5px);
  height: 1px
}

.application-list.-mariavilla>li>a:hover::before,
.application-list.-mariavilla>li>a:hover::after {
  right: 0;
  bottom: 0
}

.application-list.-mariavilla>li .ttl {
  color: #23234b;
  display: block;
  margin-bottom: 10px
}

.application-list.-mariavilla>li .meta-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 9px
}

.application-list.-mariavilla>li .meta-list span {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
  background: #fff;
  color: var(--primary);
  padding: 5px 17px;
  min-width: 88px;
  -webkit-transition: all .3s;
  transition: all .3s
}

@media only screen and (max-width: 768px) {
  .application-list.-mariavilla>li .meta-list {
    gap: 5px
  }

  .application-list.-mariavilla>li .meta-list span {
    font-size: 11px;
    padding: 2px 10px
  }
}

.application-list.-mariavilla>li:hover>a {
  background: var(--primary)
}

.application-list.-mariavilla>li:hover>a:after {
  color: #fff
}

.application-list.-mariavilla>li:hover .ttl {
  color: #fff
}

.application-list.-mariavilla>li:hover .meta-list span {
  color: var(--primary);
  background: #fff
}

@media only screen and (max-width: 768px) {
  .application-list.-mariavilla>li .ttl {
    font-size: 20px;
    margin-bottom: 20px
  }
}

.application-list.-mariavilla>li.-off>a {
  background: #f4f4f4;
  color: #999
}

.application-list.-mariavilla>li.-off>a:after {
  color: #999
}

.application-list.-mariavilla>li.-off .ttl {
  color: #999
}

.application-list.-mariavilla>li.-off .meta-list span {
  background: #707070
}

.application-list.-mariavilla>li.-off:hover .meta-list span {
  background: #fff
}

.page-nav-list>li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 32px 20px;
  line-height: 1.235;
  background: #f7f4ef;
  border-bottom: 1px solid #801749;
  -webkit-transition: all .3s;
  transition: all .3s
}

.page-nav-list>li i {
  width: 42px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 16px
}

.page-nav-list>li:hover {
  opacity: .8
}

@media only screen and (max-width: 768px) {
  .page-nav-list>li {
    padding: 20px 16px;
    font-size: 14px
  }

  .page-nav-list>li i {
    width: 32px;
    margin-right: 12px
  }
}

@media screen and (max-width: 480px) {
  .page-nav-list {
    grid-template-columns: repeat(2, 1fr)
  }
}

.history-box {
  background: #fff;
  padding: 50px 48px 30px 40px
}

@media only screen and (max-width: 768px) {
  .history-box {
    padding: 50px 20px 30px
  }
}

.history-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative
}

.history-list::before {
  content: "";
  width: 2px;
  height: 100%;
  background: url(../img/bg_border01.png) repeat-y center/cover;
  position: absolute;
  top: -18px;
  left: 83px
}

.history-list dt:not(:last-of-type),
.history-list dd:not(:last-of-type) {
  margin-bottom: 40px
}

.history-list dt {
  font-size: 20px;
  width: 137px;
  padding-right: 80px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: var(--primary)
}

.history-list dd {
  width: calc(100% - 137px);
  position: relative
}

.history-list dd::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--primary);
  position: absolute;
  top: 15px;
  left: -60px
}

.history-list dd .ttl {
  font-size: 20px;
  color: var(--primary)
}

@media only screen and (max-width: 768px) {
  .history-list::before {
    left: 67px
  }

  .history-list dt {
    font-size: 18px;
    width: 60px;
    padding-right: 0
  }

  .history-list dd {
    width: calc(100% - 60px);
    padding-left: 30px
  }

  .history-list dd::before {
    top: 13px;
    left: 0
  }

  .history-list dd .ttl {
    font-size: 18px
  }
}

.top-villa-vacant {
  background: #f2e5ec;
  padding: 41px 40px 40px;
  border-radius: 10px
}

.top-villa-vacant .top-box {
  gap: 20px 65px;
  padding-bottom: 27px;
  border-bottom: solid 1px #ddd;
  margin-bottom: 30px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.top-villa-vacant .top-box .title {
  font-size: 15px;
  font-weight: 500
}

.top-villa-vacant .top-box .title .ttl {
  font: 600 24px
}

.top-villa-vacant .top-box .vacant-status {
  gap: 20px 50px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.top-villa-vacant .top-box .vacant-status .item {
  gap: 12px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.top-villa-vacant .top-box .vacant-status .item .type {
  color: #fff;
  padding: 2px 20px;
  border-radius: 50px
}

.top-villa-vacant .top-box .vacant-status .item .type.-empty {
  background: #048217
}

.top-villa-vacant .top-box .vacant-status .item .type.-male {
  background: #040e82
}

.top-villa-vacant .top-box .vacant-status .item .type.-female {
  background: var(--primary)
}

.top-villa-vacant .top-box .vacant-status .item .number {
  font: 600 22px "Roboto", sans-serif
}

.top-villa-vacant .top-box .vacant-status .item .number span {
  font-size: 32px;
  line-height: 1
}

.top-villa-vacant .btm-box {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.top-villa-vacant .btm-box .button01 {
  width: 272px
}

.top-villa-vacant .btm-box .button01 span {
  padding-left: 0
}

.top-villa-vacant .btm-box .button01 span::before {
  display: none
}

.top-villa-vacant .btm-box .button01::before,
.top-villa-vacant .btm-box .button01::after {
  display: none
}

@media only screen and (max-width: 768px) {
  .top-villa-vacant {
    padding: 21px 25px 30px
  }

  .top-villa-vacant .top-box {
    padding-bottom: 20px;
    margin-bottom: 20px
  }

  .top-villa-vacant .top-box .vacant-status {
    gap: 20px 40px
  }

  .top-villa-vacant .btm-box {
    gap: 20px
  }

  .top-villa-vacant .btm-box p {
    width: 100%
  }
}

.villa-first {
  background: #f2e5ec;
  padding: 80px 0 69px
}

.villa-first .first-questions {
  position: relative;
  top: -10px
}

.villa-first .first-questions li {
  padding: 25px 40px 26px 16px;
  gap: 27px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-transition: .3s;
  transition: .3s
}

.villa-first .first-questions li .icon {
  width: 48px;
  position: relative
}

.villa-first .first-questions li .icon::before {
  content: "";
  height: 1px;
  width: 80px;
  background: var(--primary);
  position: absolute;
  left: -16px;
  bottom: -25px;
  z-index: 1
}

.villa-first .first-questions li p {
  line-height: 1.5
}

.villa-first .first-questions li::before {
  content: "";
  color: var(--primary);
  font: 900 10px "Font Awesome 6 Free";
  width: 28px;
  height: 28px;
  background: #fff;
  border-radius: 30px;
  text-align: center;
  line-height: 28px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: .3s;
  transition: .3s
}

.villa-first .first-questions li::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #ddd;
  position: absolute;
  left: 0;
  bottom: 1px;
  -webkit-transition: .3s;
  transition: .3s
}

.villa-first .first-questions li:hover {
  color: var(--primary)
}

.villa-first .first-questions li:hover::before {
  color: #fff;
  background: var(--primary)
}

.villa-first .first-questions li:hover::after {
  background: var(--primary)
}

@media only screen and (max-width: 768px) {
  .villa-first .first-questions li {
    padding: 20px 35px 20px 6px;
    gap: 20px
  }

  .villa-first .first-questions li .icon::before {
    width: 60px;
    left: -6px;
    bottom: -20px
  }
}

.ui.form.form-wrap {
  padding: 30px 60px 60px;
  border: 4px solid #e6eff2
}

.ui.form.form-wrap .form-item .mw203 {
  max-width: 203px
}

.ui.form.form-wrap .form-item .mw420 {
  max-width: 420px
}

.ui.form.form-wrap .form-item>.field {
  padding: 30px 0;
  border-bottom: 1px solid #e6eff2;
  margin-bottom: 0
}

.ui.form.form-wrap .form-item>.field:last-of-type {
  margin-bottom: 60px
}

.ui.form.form-wrap .form-item>.field>label {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 15px;
  line-height: 1.5
}

.ui.form.form-wrap .form-item>.field>label .required {
  color: #fff;
  background: #ab0048;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  padding: 3px 11px 4px;
  line-height: 1.5
}

.ui.form.form-wrap .form-item>.field input[type=text],
.ui.form.form-wrap .form-item>.field input[type=email] {
  width: 100%;
  font-size: 16px;
  padding: 8.5px 12.5px;
  border-radius: 5px;
  background: #fff;
  border: 1px solid #d8e4e8
}

.ui.form.form-wrap .form-item>.field .grouped.fields .field {
  margin: 2px 0
}

.ui.form.form-wrap .form-item .inner {
  margin-bottom: 5px
}

.ui.form.form-wrap .form-item .inner:last-of-type {
  margin-bottom: 0
}

.ui.form.form-wrap .form-item .inner>label {
  font-size: 17px;
  font-weight: 400
}

@media only screen and (max-width: 768px) {
  .ui.form.form-wrap {
    width: 100vw;
    max-width: unset;
    margin-left: -20px;
    padding: 0 15px 20px
  }

  .ui.form.form-wrap .form-item .mw203,
  .ui.form.form-wrap .form-item .mw420 {
    max-width: 100%
  }

  .ui.form.form-wrap .form-item>.field {
    padding: 20px 0
  }

  .ui.form.form-wrap .form-item>.field:last-of-type {
    margin-bottom: 40px
  }

  .ui.form.form-wrap .form-item>.field>label {
    font-size: 18px;
    gap: 10px
  }

  .ui.form.form-wrap .form-item>.field>label .required {
    min-width: -webkit-fit-content;
    min-width: -moz-fit-content;
    min-width: fit-content;
    font-size: 12px
  }
}

/*# sourceMappingURL=import.css.map */