@charset "UTF-8";
html, body {
  width: 100%;
  font-family: Noto Sans JP, futura-pt, Century Gothic, \30d2\30e9\30ae\30ce\89d2\30b4 ProN W3, Hiragino Kaku Gothic ProN, \6e38\30b4\30b7\30c3\30af\4f53, YuGothic, Yu Gothic Medium, \6e38\30b4\30b7\30c3\30af, Yu Gothic, \30e1\30a4\30ea\30aa, Meiryo, sans-serif;
  font-weight: 500;
  font-style: normal;
  -webkit-text-size-adjust: none;
  background: #ffffff;
  line-height: 1.5;
  color: #454040
}
body {
  min-width: 1200px;
  margin-top: 70px;
}

@media screen and (min-width: 768px) {
  body {
    margin-top: 100px;
  }
}

@media (max-width: 767px) {
  body {
    min-width: initial
  }
}
a {
  text-decoration: none;
  color: #454040;
  outline: none
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box
}
ol, ul {
  list-style: none
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle
}
.text {
  margin-bottom: 1em
}
.text:last-of-type {
  margin-bottom: 0
}
.notes {
  display: inline-block;
  position: relative;
  margin-left: 1em
}
.notes:before {
  content: "\203b";
  display: block;
  position: absolute;
  top: 0;
  left: -1em
}
.js-fadein {
  opacity: 0;
  transform: translateY(20px);
  transition-property: opacity, transform;
  transition-duration: 1s
}
.scroll-in {
  opacity: 1;
  transform: translate(0)
}
.PCdisp {
  display: block
}
@media (max-width: 767px) {
  .PCdisp{
    display: none
  }
}
.SPdisp {
  display: none
}
@media (max-width: 767px) {
  .SPdisp {
    display: block
  }
}
.SPbr {
  display: none
}
@media (max-width: 767px) {
  .SPbr {
    display: inline
  }
}
.PCbr {
  display: inline
}
@media (max-width: 767px) {
  .PCbr {
    display: none
  }
}
.js-clickitemBlank, .js-clickitem {
  cursor: pointer;
  transition: opacity .3s
}
.js-clickitemBlank:hover, .js-clickitem:hover {
  opacity: .5
}
@media (max-width: 767px) {
  .js-clickitemBlank:hover, .js-clickitem:hover {
    opacity: 1
  }
}
.js-clickitemBlankIcon {
  cursor: pointer;
  transition: opacity .3s
}
.js-clickitemBlankIcon:hover {
  opacity: .5
}
@media (max-width: 767px) {
  .js-clickitemBlankIcon:hover {
    opacity: 1
  }
}
.js-clickitemBlankIcon:after {
  display: inline-block;
  position: absolute;
  height: 13px;
  width: 15px;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  top: -10px;
  right: -5px;
  margin: 0 0 0 5px;
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: 600;
  font-size: .81rem
}
@media (max-width: 767px) {
  .js-clickitemBlankIcon:after {
    top: 8px
  }
}
.blankIconImg {
  display: flex;
  color: #FF3C00;
  font-size: 1rem;
  font-weight: 700;
  padding: 0 0 0 5px
}
.blankIconImg:after {
  height: 13px;
  width: 15px;
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: 600;
  font-size: .81rem
}
.lity {
  z-index: 10000 !important
}
.lity .lity-container {
  width: calc(100% - 24px);
  max-width: 960px
}
@media screen and (min-width: 768px) {
  .PClayout, .pcLayout {
    display: block
  }
  .SPlayout, .spLayout {
    display: none !important
  }
}
@media (max-width: 767px) {
  .PClayout, .pcLayout {
    display: none !important
  }
  .SPlayout, .spLayout {
    display: block
  }
  br.SPlayout {
    display: inline
  }
}
@font-face {
  font-family: Athelas Regular;
  font-style: normal;
  font-weight: 400;
  src: local("Athelas Regular"), url(../fonts/fonts_smart//Athelas-Regular.woff) format("woff")
}
@font-face {
  font-family: Futura Medium;
  font-style: normal;
  font-weight: 400;
  src: local("Futura Medium"), url(../fonts/fonts_smart/Futura-Medium.woff) format("woff"), url(../fonts/fonts_smart/Futura-Medium.ttf) format("truetype")
}
.en-font__fm {
  font-family: Futura Medium;
  font-weight: 700;
  letter-spacing: 2px
}
body.modalOn {
  overflow: hidden
}
#headerMenu.headerMenu {
  position:relative;
  width:100%;
  height:auto;
  margin:0
}
#headerMenu .PCbr {
  display:none
}
@media screen and (min-width: 768px) {
  #headerMenu .PCbr {
    display:inline
  }
}
@media screen and (min-width: 768px) {
  #headerMenu .SPbr {
    display:none
  }
}
#headerMenu .headerNav {
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:70px;
  margin:0 auto;
  background:#ffffff;
  z-index:999
}
#headerMenu .headerNav.modalOn {
  top:0!important
}
#headerMenu .headerLogo {
  flex:0 1 auto;
  margin-left:10px;
  transition:all .3s ease
}
#headerMenu .headerLogo img {
  max-width:100%;
  height:auto;
  transition:opacity .3s;
  text-align:center;
  vertical-align:middle
}
@media screen and (min-width: 768px) {
  #headerMenu .headerLogo a:hover img {
    opacity:.5
  }
}
#headerMenu .headerLogo .noLogoText {
  display:flex;
  align-items:center;
  justify-content:flex-start
}
#headerMenu .headerLogo .noLogoText a {
  color:#454040;
  font-size:.9375rem;
  transition:opacity .3s
}
@media screen and (min-width: 768px) {
  #headerMenu .headerLogo .noLogoText a:hover {
    opacity:.5
  }
}
#headerMenu .headerLogo .noLogoText .corpUrl {
  display:inline-block;
  margin-right:.5em
}
@media screen and (min-width: 768px) {
  #headerMenu .headerLogo:hover {
    cursor:pointer;
    opacity:.7
  }
}
#headerMenu .navItems {
  display:block;
  flex:0 1 auto;
  margin-left:auto;
  padding-left:1em
}
#headerMenu .navItems.modalOn {
  top:0!important
}
#headerMenu .navItemList {
  display:none;
  position:absolute;
  left:0;
  width:100%;
  background:#C8D4D7;
  overflow-y:auto;
  z-index:1
}
#headerMenu .navItemListInner {
  display:flex;
  flex-wrap:wrap;
  flex-direction:row;
  align-content:flex-start;
  padding-top:10px
}
@media (max-width: 767px) {
  #headerMenu .navItemListInner {
    width:calc(100% - 35px);
    margin:0 auto;
    padding-top:25px
  }
}
#headerMenu .navItemFlex {
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%
}
@media (max-width: 767px) {
  #headerMenu .navItemFlex {
    padding:5px 0;
    border-right:1px solid #000
  }
}
#headerMenu .navItem {
  flex:0 1 140px;
  width:100%;
  margin:0;
  padding:16px;
  border-top:solid 1px #454040;
  transition:all .3s ease
}
@media (max-width: 767px) {
  #headerMenu .navItem {
    order:5;
    padding:13px 0
  }
}
#headerMenu .navItem a {
  transition:opacity .3s;
  cursor:pointer
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem a:hover {
    opacity:.5
  }
}
#headerMenu .navItem [class*=letter] {
  display:block;
  min-height:0;
  color:#454040;
  line-height:1.4;
  text-align:center
}
#headerMenu .navItem .letterTop {
  font-size:.8125rem
}
#headerMenu .navItem .letterBottom {
  display:none
}
#headerMenu .navItem#memberNav {
  display:block;
  order:1
}
#headerMenu .navItem#dataNav {
  display:block;
  order:2
}
#headerMenu .navItem#welfareNav {
  display:block;
  order:3
}
#headerMenu .navItem#onedayNav {
  display:none;
  order:4
}
#headerMenu .navItem#workplaceNav {
  display:none;
  order:5
}
#headerMenu .navItem#faqNav {
  display:none;
  order:6
}
#headerMenu .navItem#externalPageNav01 {
  order:9
}
#headerMenu .navItem#externalPageNav02 {
  order:10
}
#headerMenu .navItem#externalPageNav03 {
  display:none
}
#headerMenu .navItem.navItemRegister,
#headerMenu .navItem.navItemSearch {
  display:flex;
  justify-content:center;
  align-items:center;
  transition:all .3s ease
}
@media (max-width: 767px) {
  #headerMenu .navItem.navItemRegister,
  #headerMenu .navItem.navItemSearch {
    justify-content:unset;
    width:50%;
    padding:0;
    border:none
  }
}
#headerMenu .navItem.navItemRegister .navItemFlex,
#headerMenu .navItem.navItemSearch .navItemFlex {
  flex-basis:100px;
  height:100px;
  border-left:1px solid transparent;
  transition:all .3s ease
}
#headerMenu .navItem.navItemRegister .navItemFlex span,
#headerMenu .navItem.navItemSearch .navItemFlex span {
  transition:all .3s ease
}
@media (max-width: 767px) {
  #headerMenu .navItem.navItemRegister .navItemFlex,
  #headerMenu .navItem.navItemSearch .navItemFlex {
    flex-basis:160px;
    height:90px;
    border:none;
    background-color:#fff;
    border-radius:10px 0;
    box-shadow:0 3px 6px #00000029
  }
}
#headerMenu .navItem.navItemRegister .js-clickitem,
#headerMenu .navItem.navItemSearch .js-clickitem {
  display:flex;
  flex-direction:column;
  width:100%;
  height:70px;
  justify-content:space-between;
  align-items:center
}
@media (max-width: 767px) {
  #headerMenu .navItem.navItemRegister .js-clickitem,
  #headerMenu .navItem.navItemSearch .js-clickitem {
    height:100%;
    justify-content:center
  }
}
#headerMenu .navItem.navItemRegister .js-clickitem .iconBox,
#headerMenu .navItem.navItemSearch .js-clickitem .iconBox {
  width:38px;
  height:36px;
  background-size:contain;
  position:relative
}
#headerMenu .navItem.navItemRegister .js-clickitem .iconBox:after,
#headerMenu .navItem.navItemSearch .js-clickitem .iconBox:after {
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  left:0;
  width:100%;
  height:100%;
  transition-duration:.3s;
  opacity:0;
  background-size:contain
}
#headerMenu .navItem.navItemRegister .js-clickitem .letterBottom,
#headerMenu .navItem.navItemSearch .js-clickitem .letterBottom {
  display:inline-block;
  font-size:.875rem;
  font-weight:700;
  line-height:1.1
}
@media (max-width: 767px) {
  #headerMenu .navItem.navItemRegister .js-clickitem .letterBottom,
  #headerMenu .navItem.navItemSearch .js-clickitem .letterBottom {
    margin-top:.5rem
  }
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem.navItemRegister:hover .iconBox:after,
  #headerMenu .navItem.navItemSearch:hover .iconBox:after {
    opacity:1
  }
  #headerMenu .navItem.navItemRegister:hover .letterBottom,
  #headerMenu .navItem.navItemSearch:hover .letterBottom {
    color:#52a93f
  }
}
@media (max-width: 767px) {
  #headerMenu .navItem.navItemNews,
  #headerMenu .navItem.navItemFavorite {
    border-top:1px solid #000!important;
    margin-top:27px
  }
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem.navItemRegister .js-clickitem {
    border-left:1px solid #454040;
    border-right:1px solid #454040
  }
}
#headerMenu .navItem.navItemRegister .iconBox {
  background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAABICAMAAABr2OMPAAAAOVBMVEUAAABEQEBEQEBAQEBEQEBFQEBFQEBDQEBEQEBFQEBFQEBEQEBEQEBAQEBFQEBFQEBEQEBFQUFFQEDHh/XYAAAAEnRSTlMAgOAQYMAwULCQoPBAINDPcD+Su9RLAAABhUlEQVRYw+2Y227DMAiGY3w+JGl4/4edmKpFqb3gYGnS2vyXiHwyGAPtdOtDNJtgEbMNRg+jEu5K8xBL4VEPOUonfFUSx2qRBNG4yZkISLJCVkKSeok5iliePl3ctMstZPISGIWV9fFuM4UtYJnvU7ROa2TZD5U1NKy8NJ3BVWZH5svlUeirhp3MRZIy24pecp/ql5KKVHp/C5OH6VfwAxdQVfc6UBo1f6BoWZj8OZFt7KHzsPoU66EFER+9BDZFpjlyML5th4mByQaKX7ESeOGoA2xovTKEOdjCxGqCza31wC9cmLyYC/h3sG1TTW3bVZixeCJrLsAKICMovTCFHVJ9sPSsP6uass/6Sj/Ve1KrDyTF+eRZxMPb8gv4s0mSCzNuctdk10Asx7k5ooHu6Yg1qz2mYseEU92LuGZdoG/nAnaVP/Wobx24TGQtWgdrmStbZmD221Sln8lvYoZb6YUV5gcLTa+Zx+wJXq81Tcb7ht2wd4KFumnIvbWp/qThvG+9tb4AM9006+LoJkkAAAAASUVORK5CYII=)
}
#headerMenu .navItem.navItemRegister .iconBox:after {
  background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAABICAMAAABr2OMPAAAAOVBMVEUAAABSqT5RqD9Qr0BSqj1RqT5QqkBQqT1RqD5RqD5RqT5SqT9QpzxQp0BRqD9RqT9SqD1Rqj1SqT/l6E3vAAAAEnRSTlMAgOAQYMAwULCQoPBAINDPcD+Su9RLAAABhUlEQVRYw+2Y227DMAiGY3w+JGl4/4edmKpFqb3gYGnS2vyXiHwyGAPtdOtDNJtgEbMNRg+jEu5K8xBL4VEPOUonfFUSx2qRBNG4yZkISLJCVkKSeok5iliePl3ctMstZPISGIWV9fFuM4UtYJnvU7ROa2TZD5U1NKy8NJ3BVWZH5svlUeirhp3MRZIy24pecp/ql5KKVHp/C5OH6VfwAxdQVfc6UBo1f6BoWZj8OZFt7KHzsPoU66EFER+9BDZFpjlyML5th4mByQaKX7ESeOGoA2xovTKEOdjCxGqCza31wC9cmLyYC/h3sG1TTW3bVZixeCJrLsAKICMovTCFHVJ9sPSsP6uass/6Sj/Ve1KrDyTF+eRZxMPb8gv4s0mSCzNuctdk10Asx7k5ooHu6Yg1qz2mYseEU92LuGZdoG/nAnaVP/Wobx24TGQtWgdrmStbZmD221Sln8lvYoZb6YUV5gcLTa+Zx+wJXq81Tcb7ht2wd4KFumnIvbWp/qThvG+9tb4AM9006+LoJkkAAAAASUVORK5CYII=)
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem.navItemRegister .letterBottom {
    width:4rem
  }
}
@media (max-width: 767px) {
  #headerMenu .navItem.navItemRegister {
    order:1;
    justify-content:flex-start
  }
}
#headerMenu .navItem.navItemSearch {
  background-color:#52a93f
}
#headerMenu .navItem.navItemSearch .iconBox {
  background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAABICAMAAABr2OMPAAAAOVBMVEUAAAD///////////////////////////////////////////////////////////////////////8KOjVvAAAAEnRSTlMA8DDAgBBgUEDQ4JDfsKBwIG8drpSBAAABn0lEQVRYw+2X6XKDMAyEbUu+MEfR+z9sCSR1DsDrlJl2WvYno/lsSQsS6tS/0IdL1Mqkltjbb5HGKA+Kzr6L6uVVmt/BWZZ16bGaZaJsiiov57Tc1LELkwbOeG2qWF+k+w5aR3KVq2dRUE/yTaZVsbRXKxrqMjVLvZqN8KAXGtaFpdDRFhpNCIuvrOLVPeB7oCQeTbRHTmWsox9YPWaHtHsRufMBc49HWtkrBV2tR7L0YM81cn0LOHsONLsxaX67lQLzHHZDSCYxAutkUtoNaeEvApctBBnjeJj/tTAgzTg3HIalI63B5fMiAtNlE3n0dQpAoEXnWEJSIGxW2DnLhH31sKljoCNbKIrASTcgUycA1SgHOkEd5IqDMwhUsdxQac0mS0t2P5io3mjpKLMaVbUGCduVk/rafc/LotY9o1iLVNP0DZfM3dOUUTU00+RtmJjdyEyZFGMdzXayKVY2CmjbvAuviszlrFi7w7sXXF7AbVNLU6F/KHm8a4fRmQbLOKaLOP8hAjREJ+2k/TSN1JE0dSCtU0fRSDqrTv1BfQKJ9DVfm7ToOAAAAABJRU5ErkJggg==)
}
#headerMenu .navItem.navItemSearch .iconBox:after {
  background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAABICAMAAABr2OMPAAAAOVBMVEUAAABRqT9QqkBRqT5SqT5Qr0BSqj1QqT1QpzxRqD9SqD9RqD5RqD9RqD5RqT5SqD1Qp0BQqD5SqT8nRG3nAAAAEnRSTlMA8DDAgBBgUEDQ4JDfsKBwIG8drpSBAAABn0lEQVRYw+2X6XKDMAyEbUu+MEfR+z9sCSR1DsDrlJl2WvYno/lsSQsS6tS/0IdL1Mqkltjbb5HGKA+Kzr6L6uVVmt/BWZZ16bGaZaJsiiov57Tc1LELkwbOeG2qWF+k+w5aR3KVq2dRUE/yTaZVsbRXKxrqMjVLvZqN8KAXGtaFpdDRFhpNCIuvrOLVPeB7oCQeTbRHTmWsox9YPWaHtHsRufMBc49HWtkrBV2tR7L0YM81cn0LOHsONLsxaX67lQLzHHZDSCYxAutkUtoNaeEvApctBBnjeJj/tTAgzTg3HIalI63B5fMiAtNlE3n0dQpAoEXnWEJSIGxW2DnLhH31sKljoCNbKIrASTcgUycA1SgHOkEd5IqDMwhUsdxQac0mS0t2P5io3mjpKLMaVbUGCduVk/rafc/LotY9o1iLVNP0DZfM3dOUUTU00+RtmJjdyEyZFGMdzXayKVY2CmjbvAuviszlrFi7w7sXXF7AbVNLU6F/KHm8a4fRmQbLOKaLOP8hAjREJ+2k/TSN1JE0dSCtU0fRSDqrTv1BfQKJ9DVfm7ToOAAAAABJRU5ErkJggg==)
}
#headerMenu .navItem.navItemSearch .letterBottom {
  color:#fff
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem.navItemSearch:hover {
    background-color:#fff
  }
  #headerMenu .navItem.navItemSearch:hover .letterBottom {
    color:#52a93f
  }
}
@media (max-width: 767px) {
  #headerMenu .navItem.navItemSearch {
    order:2;
    background-color:transparent;
    justify-content:flex-end
  }
  #headerMenu .navItem.navItemSearch .navItemFlex {
    background-color:#52a93f
  }
}
#headerMenu .navItem.navItemFavorite {
  padding:0;
  border:none;
  transition:all .3s ease
}
@media (max-width: 767px) {
  #headerMenu .navItem.navItemFavorite {
    display:block;
    width:50%;
    order:3;
    padding:13px 0
  }
}
#headerMenu .navItem.navItemFavorite .js-clickitem {
  display:flex;
  flex-direction:column;
  width:100%;
  height:70px;
  justify-content:space-between;
  align-items:center
}
@media (max-width: 767px) {
  #headerMenu .navItem.navItemFavorite .js-clickitem {
    justify-content:center;
    height:100%
  }
}
#headerMenu .navItem.navItemFavorite .heartBox {
  background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAABICAMAAABr2OMPAAAAOVBMVEUAAABEQEBEQEBEQEBFQEBAQEBEQEBDQEBEQEBFQEBEQEBFQEBFQEBFQEBAQEBEQUFEQEBEQEBFQEDIdL+tAAAAEnRSTlMAP/DAoBBvUODQsJAw3yBPgF+7K93gAAAA2klEQVRYw+3Wyw6EIAwFUKEgLx9j//9jpyTz0sBiahfG9G4lR6SS3EFz63gzOoAZES240ZyhVof72Lx5HrUkbCWvDCtY7MS6qbl+Dl3sZaVijPG0Tzq9+PHmx97zK9S1XQwpEPZHND1+PBrIQgy9q7wPpIt1Hk6l9flMjBKyHEbxW7bHobCxmvo7VzEClJFGxMC6UUwxxRRTTDHFrosdOu0prNVpuVin08pg307LwP7ttCjZaa1gp7VGrtPCMoh12rotsU5bI3WdFFNMMcUui0XEJIaFFMNwyzwBSmE0Dw0f5wUAAAAASUVORK5CYII=);
  background-size:contain;
  background-position:center;
  width:38px;
  height:36px;
  margin:0 auto;
  position:relative
}
@media (max-width: 767px) {
  #headerMenu .navItem.navItemFavorite .heartBox {
    display:none

  }
}
#headerMenu .navItem.navItemFavorite .heartBox:after {
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  left:0;
  width:100%;
  height:100%;
  transition-duration:.3s;
  opacity:0;
  background-size:contain;
  background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAABICAMAAABr2OMPAAAAOVBMVEUAAABQqTxRqT5RqT5Qr0BQqT1RqD1SqT9RqT9SqD9RqT9RqT5RqD5QqkBRqD9Qp0BSqT5Rqj1SqT/L9L6jAAAAEnRSTlMAP8CgEE9v8O/g0LCQMN8ggF8RVefOAAAA2klEQVRYw+3WSQ7DIAwF0GAgjJl8/8PWSG1VIliUeBFF/tughwVB+pPk0TFq1gArInrQs7pCWY11fDrMGLVFbCXZkbE8duL10ly/9rd5WzErpQzNSacXvt66156xUNZ2MaSArY9o2X88upCNGNorfw6ki3U+LtlhI2MYxSY+jGKOdJrP6WGspPzORQwAeaYrGsC6EUwwwQQTTDDB7oudOu0lrNVpR7FOp72O1Z12APu30yJnp3WMndYpvk4L28TWactYbJ22hOs5CSaYYILdFguIkQ2zMdjpkXkBF780N5Rot5kAAAAASUVORK5CYII=)
}
#headerMenu .navItem.navItemFavorite .badge {
  display:flex;
  align-items:center;
  justify-content:center;
  position:absolute;
  right:-10px;
  bottom:-5px;
  width:24px;
  height:24px;
  background-color:#52a93f;
  border-radius:50%;
  color:#fff;
  font-size:1rem;
  font-weight:700;
  line-height:1;
  text-align:center;
  z-index:1
}
@media (max-width: 767px) {
  #headerMenu .navItem.navItemFavorite .badge {
    display:none
  }
}
#headerMenu .navItem.navItemFavorite .badge.noFavorite {
  display:none
}
#headerMenu .navItem.navItemFavorite .letterBottom {
  display:inline-block;
  font-size:.875rem;
  font-weight:700;
  line-height:1.1;
  transition:all .3s ease
}
@media (max-width: 767px) {
  #headerMenu .navItem.navItemFavorite .letterBottom {
    font-weight:500;
    margin-top:0;
    font-size:.8125rem
  }
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem.navItemFavorite:hover .heartBox:after {
    opacity:1
  }
  #headerMenu .navItem.navItemFavorite:hover .letterBottom {
    color:#52a93f
  }
}
#headerMenu .navItem.full .navItemFlex,
#headerMenu .navItem.right .navItemFlex {
  border-right:none
}
#headerMenu .blankIconImg {
  display:inline-block;
  padding:5px 0 0 10px;
  color:#fff;
  font-size:.75rem;
  line-height:1;
  vertical-align:top
}
#headerMenu .blankIcon {
  display:flex
}
#headerMenu .blankIcon:after {
  height:13px;
  width:15px;
  font-family:"Font Awesome 5 Free";
  font-weight:600;
  font-size:.81rem
}
#headerMenu .hamburger {
  align-items:flex-start;
  justify-content:center;
  position:relative;
  width:70px;
  height:70px;
  background:#ffffff;
  text-align:center;
  z-index:1
}
#headerMenu .hamburger-box:after {
  color:#ed6d00
}
#headerMenu .hamburger-inner,
#headerMenu .hamburger-inner:before,
#headerMenu .hamburger-inner:after {
  background:#ED6D00
}
#headerMenu .navItemListSp {
  display:none
}
@media (max-width: 767px) {
  #headerMenu .navItem {
    flex:auto;
    width:50%;
    flex-wrap:wrap
  }
  #headerMenu .navItem.full {
    width:100%
  }
  #headerMenu .navItem.useful {
    border-bottom:1px solid #000
  }
  #headerMenu .navItemListSp {
    display:flex
  }
  #headerMenu .navItemListSp .navItem {
    border:none;
    padding:0
  }
  #headerMenu .SNSIconList {
    width:100%;
    max-width:340px;
    margin:45px auto 0;
    height:40px;
    order:6
  }
  #headerMenu .SNSIconList .SNSIcon {
    width:40px;
    height:100%
  }
  #headerMenu .SNSIconList .SNSIcon:not(:last-of-type) {
    margin-right:20px
  }
  #headerMenu .SNSIconList .SNSIcon img {
    object-fit:contain
  }
}
.PConly .modalOn {
  overflow:auto
}
.PConly #headerMenu .headerNav {
  height:100px;
  background:#ffffff;
  min-width:1200px
}
.PConly #headerMenu .headerLogo {
  margin-left:30px;
  flex:0 1 auto
}
.PConly #headerMenu .navItems {
  display:block;
  flex:1 1 auto;
  padding-left:1em
}
.PConly #headerMenu .navItemList {
  display:block;
  position:static;
  background:transparent;
  visibility:visible;
  overflow:auto
}
.PConly #headerMenu .navItemListInner {
  flex-wrap:nowrap;
  align-content:stretch;
  justify-content:flex-end;
  padding-top:0
}
.PConly #headerMenu .navItem {
  flex:0 1 auto;
  width:auto;
  height:100px;
  margin-right:24px;
  padding:0;
  border:none
}
.PConly #headerMenu .navItem .letterTop {
  font-size:1rem;
  font-weight:700;
  transition:all .3s
}
.PConly #headerMenu .navItem .js-clickitem:hover {
  opacity:1
}
.PConly #headerMenu .navItem .js-clickitem:hover .letterTop {
  color:#52a93f
}
.PConly #headerMenu .navItemBg {
  flex:0 1 100px;
  margin-right:0;
  padding:0
}
.PConly #headerMenu .navItemBgGray {
  border:none;
  flex:0 1 100px;
  margin:0
}
.PConly #headerMenu .navItemSp {
  display:none
}
.hamburger {
  transition-property:opacity,filter;
  transition-duration:.15s;
  transition-timing-function:linear;
  font:inherit;
  color:inherit;
  text-transform:none;
  border:0;
  outline:none;
  margin:0;
  overflow:visible;
  border-radius:0;
  cursor:pointer
}
.hamburger-box {
  display:block;
  position:absolute;
  top:30%;
  width:25px;
  height:25px;
  transform:translateY(-50%)
}
.hamburger-box:after {
  content:"MENU";
  position:absolute;
  top:30px;
  left:50%;
  transform:translate(-50%);
  font-size:.8125rem
}
.hamburger-inner {
  display:block;
  top:50%;
  margin-top:-2px
}
.hamburger-inner,
.hamburger-inner:before,
.hamburger-inner:after {
  position:absolute;
  width:25px;
  height:2px;
  border-radius:4px;
  transition-property:transform;
  transition-duration:.15s;
  transition-timing-function:ease
}
.hamburger-inner:before,
.hamburger-inner:after {
  content:"";
  display:block;
  height:2px
}
.hamburger-inner:before {
  top:-10px
}
.hamburger-inner:after {
  display:none;
  bottom:-10px
}
.hamburger--collapse .hamburger-inner {
  top:auto;
  bottom:0;
  transition-duration:.13s;
  transition-delay:.13s;
  transition-timing-function:cubic-bezier(.55,.055,.675,.19)
}
.hamburger--collapse .hamburger-inner:after {
  top:-20px;
  transition:top .2s .2s cubic-bezier(.33333,.66667,.66667,1),opacity .1s linear
}
.hamburger--collapse .hamburger-inner:before {
  transition:top .12s .2s cubic-bezier(.33333,.66667,.66667,1),transform .13s cubic-bezier(.55,.055,.675,.19)
}
.hamburger--collapse.js-hb-active .hamburger-inner {
  transform:translate3d(0,-5px,0) rotate(-45deg);
  transition-delay:.22s;
  transition-timing-function:cubic-bezier(.215,.61,.355,1)
}
.hamburger--collapse.js-hb-active .hamburger-inner:after {
  top:0;
  opacity:0;
  transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity .1s .22s linear
}
.hamburger--collapse.js-hb-active .hamburger-inner:before {
  top:0;
  transform:rotate(-90deg);
  transition:top .1s .16s cubic-bezier(.33333,0,.66667,.33333),transform .13s .25s cubic-bezier(.215,.61,.355,1)
}
#footer.footer {
  position:relative;
  width:100%;
  margin:0;
  padding:71px 0 12px;
  background:#454040;
  color:#fff;
  font-weight:700;
  height:500px
}
@media (max-width: 767px) {
  #footer.footer {
    padding:15px 0 3px;
    height:260px
  }
}
#footer * {
  box-sizing:border-box;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden
}
#footer img {
  max-width:100%;
  height:auto;
  vertical-align:middle;
  line-height:1;
  object-fit:contain
}
#footer .pageTop {
  display:none;
  position:fixed;
  right:15px;
  bottom:15px;
  width:50px;
  height:50px;
  z-index:9998
}
@media screen and (min-width: 768px) {
  #footer .pageTop {
    width:70px;
    height:70px;
    right:20px;
    bottom:20px
  }
}
#footer .pageTopAnchor {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  position:relative;
  width:70px;
  height:70px;
  color:#454040;
  background:#ffffff;
  border:1px solid #454040;
  transition:all .3s ease;
  border-radius:10px 0;
  overflow:hidden
}
@media (max-width: 767px) {
  #footer .pageTopAnchor {
    width:50px;
    height:50px
  }
}
#footer .pageTopAnchor i {
  color:#ed6d00;
  transition:all .3s ease;
  margin-top:.25rem;
  z-index:1
}
@media (max-width: 767px) {
  #footer .pageTopAnchor i {
    margin-top:0;
    font-size:.75rem
  }

}
#footer .pageTopAnchor span {
  font-family:Montserrat,sans-serif;
  font-weight:700;
  font-size:1rem;
  font-style:normal;
  line-height:1;
  margin-top:.25rem;
  transition:all .3s ease;
  text-align:center;
  z-index:1
}
@media (max-width: 767px) {
  #footer .pageTopAnchor span {
    font-size:.75rem
  }
}
#footer .pageTopAnchor:before,
#footer .pageTopAnchor:after {
  content:"";
  display:block;
  position:absolute;
  top:0;
  width:100%;
  height:100%;
  background-color:#454040;
  transition:all .3s ease
}
#footer .pageTopAnchor:before {
  left:-100%;
  border-radius:10px 0 0
}
#footer .pageTopAnchor:after {
  right:-100%;
  border-radius:0 0 10px
}
@media screen and (min-width: 1280px) {
  #footer .pageTopAnchor:hover span {
    color:#fff
  }
  #footer .pageTopAnchor:hover:before {
    transform:translate(100%)
  }
  #footer .pageTopAnchor:hover:after {
    transform:translate(-100%)
  }
}
#footer #searchJobsBtn {
  display:none;
  position:fixed;
  right:0;
  bottom:0;
  z-index:9997;
  background-color:#8c8c8c99;
  width:100%
}
#footer #searchJobsBtn .searchJobsBtn-bnr {
  padding:12px;
  text-align:center
}
#footer #searchJobsBtn .searchJobsBtn-bnr a {
  display:block;
  width:100%;
  margin:0 auto;
  padding:5px 10px;
  background:#ED6D00
}
#footer #searchJobsBtn .searchJobsBtn-bnr a .en,
#footer #searchJobsBtn .searchJobsBtn-bnr a .ja {
  display:block;
  color:#000;
  font-weight:500;
  line-height:1
}
#footer #searchJobsBtn .searchJobsBtn-bnr a .en {
  margin-bottom:5px;
  font-size:1.5rem
}
#footer #searchJobsBtn .searchJobsBtn-bnr a .ja {
  font-size:.8125rem
}
#footer #searchJobsBtn .searchJobsBtn-bnr a img {
  max-width:100%;
  height:auto;
  vertical-align:middle
}
#footer .footerLayout {
  display:flex;
  position:relative;
  flex-direction:column;
  width:calc(100% - 24px);
  height:100%;
  max-width:960px;
  margin:0 auto
}
@media screen and (min-width: 768px) {
  #footer .footerLayout {
    flex-direction:row;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:space-between
  }
}
#footer .footerCorpInfo {
  display:block
}
@media (max-width: 767px) {
  #footer .footerCorpInfo {
    text-align:center
  }
}
#footer .footerTitle img {
  object-fit:contain
}
#footer .copyright {
  margin-top:2.5rem;
  position:absolute;
  padding-top:0;
  bottom:0;
  width:100%
}
@media (max-width: 767px) {
  #footer .copyright {
    margin-top:2rem
  }
}
#footer .blankIconImg {
  display:inline-block;
  padding:5px 0 0 10px;
  color:#fff;
  font-size:.75rem;
  line-height:1;
  vertical-align:top
}
#footer .blankIcon {
  display:flex
}
#footer .blankIcon:after {
  height:13px;
  width:15px;
  font-family:"Font Awesome 5 Free";
  content:"\f35d";
  font-weight:600;
  font-size:.81rem;
  margin-left:.4rem
}
#footer .footerRemoteNav,
#footer .copyright {
  min-height:0
}
#footer .footerRemoteNav {
  padding-bottom:0;
  align-self:flex-start;
  width:500px
}
@media (max-width: 767px) {
  #footer .footerRemoteNav {
    display:none
  }
}
#footer .footerRemoteNavList {
  display:flex;
  flex-direction:column;
  flex-wrap:wrap;
  justify-content:flex-start;
  max-height:200px
}
#footer .footerRemoteNavItem {
  display:flex;
  flex-grow:0;
  flex-shrink:1;
  text-align:left;
  margin-right:55px;
  margin-bottom:20px;
  transition:all .3s ease
}
#footer .footerRemoteNavItem:nth-of-type(5),
#footer .footerRemoteNavItem:last-of-type {
  margin-bottom:0
}
#footer .footerRemoteNavItem:nth-last-of-type(6) {
  margin-bottom:5rem
}
#footer .footerRemoteNavItem:nth-last-of-type(-n+3) {
  margin-right:0
}
#footer .footerRemoteNavItem .letter {
  font-size:.875rem;
  line-height:1.5
}
@media screen and (min-width: 768px) {
  #footer .footerRemoteNavItem:hover {
    opacity:.5
  }
}
#footer .SNSIconListWrapper {
  width:100%;
  margin:0 auto;
  max-width:340px
}
@media (max-width: 767px) {
  #footer .SNSIconListWrapper {
    max-width:160px
  }
}
#footer .SNSIconListWrapper .SNSIconList {
  display:flex;
  flex-direction:row;
  justify-content:center;
  margin:0 auto;
  width:100%;
  max-width:340px
}
@media (max-width: 767px) {
  #footer .SNSIconListWrapper .SNSIconList {
    max-width:160px;
    padding-top:10px;
    flex-wrap:wrap
  }
}
#footer .SNSIconListWrapper .SNSIconList .SNSIcon {
  display:inline-block;
  width:40px;
  height:40px;
  transition:all .3s ease
}
@media screen and (min-width: 768px) {
  #footer .SNSIconListWrapper .SNSIconList .SNSIcon:not(:last-of-type) {
    margin-right:20px
  }
  #footer .SNSIconListWrapper .SNSIconList .SNSIcon:hover {
    opacity:.5
  }
}
@media (max-width: 767px) {
  #footer .SNSIconListWrapper .SNSIconList .SNSIcon {
    margin-top:5px;
    margin-right:20px
  }
  #footer .SNSIconListWrapper .SNSIconList .SNSIcon:nth-of-type(3n) {
    margin-right:0
  }
}
#footer .footerContentWrapper {
  width:100%;
  margin:0 auto;
  display:flex;
  justify-content:center
}
@media (max-width: 767px) {
  #footer .footerContentWrapper {
    margin-top:10px;
    flex-wrap:wrap;
    max-width:350px
  }
}
#footer .footerContentWrapper .bottomLinks {
  display:inline-block;
  font-size:.875rem;
  line-height:1.5;
  margin:0;
  padding:0 20px
}
@media screen and (min-width: 768px) {
  #footer .footerContentWrapper .bottomLinks {
    border-left:1px solid #FFF;
    border-right:1px solid #FFF
  }
  #footer .footerContentWrapper .bottomLinks:first-of-type {
    border-left:none
  }
  #footer .footerContentWrapper .bottomLinks:last-of-type {
    border-right:none
  }
}
@media (max-width: 767px) {
  #footer .footerContentWrapper .bottomLinks {
    font-size:.8125rem;
    margin-top:10px
  }
  #footer .footerContentWrapper .bottomLinks:nth-of-type(even) {
    border-left:1px solid #FFF
  }
}
#footer .copyright {
  text-align:center
}
#footer .copyright small {
  font-style:normal;
  font-size:.875rem;
  line-height:1.5
}
@media (max-width: 767px) {
  #footer .copyright small {
    font-size:.8125rem;
    line-height:1.25
  }
}
#maintenanceNotice {
  width: 100%;
  display: flex;
  align-items: center
}

/*------------------------------------------------------------
notFound
------------------------------------------------------------*/
.not-found-box {
  width: calc(100% - 24px);
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 50px 0;
}

.not-found-text {
  margin-bottom: 25px;
}

.not-found-button {
  display: block;
  width: 100%;
  max-width: 200px;
  margin: 0 auto;
  padding: 10px;
  background-color: var(--main-color);
  color: #ffffff;
  font-size: 1.3rem;
  text-align: center;
  transition-property: background-color, opacity;
  transition-duration: .3s;
  cursor: pointer;
}

@media only screen and (min-width: 960px) {/* ---------- Laptop PC ---------- */
  .not-found-box {
    padding: 100px 0;
  }
  
  .not-found-text {
    margin-bottom: 50px;
    text-align: center;
  }
  
  .not-found-button {
    max-width: 400px;
    padding: 15px;
    font-size: 1.6rem;
  }
  
  .not-found-button:hover {
    opacity: .5;
  }
}

@media only screen and (min-width: 1280px) {/* ---------- Desktop PC ---------- */
}

/*------------------------------------------------------------
footer
------------------------------------------------------------*/
.footer {
  margin-top: auto;
}

.page-top {
  display: none;
  position: fixed;
  right: 12px;
  bottom: 12px;
  width: 40px;
  height: 40px;
  z-index: 3;
}

.page-top-anchor {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 40px;
  height: 40px;
  color: #ffffff;
}

.page-top-anchor::before,
.page-top-anchor::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.page-top-anchor::before {
  background-color: #00eade;
  transition: opacity .3s;
  z-index: -1;
}

.page-top-anchor::after {
  background-color: #ffffff;
  z-index: -2;
}

[class*="footer-inner"] {
  display: flex;
  flex-direction: column;
  width: calc(100% - 24px);
  max-width: var(--content-width);
  margin: 0 auto;
}

.footer-top {
  padding: 20px 0 40px;
}

.footer-bottom {
  padding: 20px 0;
  background-color: #000000;
}

.footer-nav-list {
  display: flex;
  flex-wrap: wrap;
}

.footer-nav-item {
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: calc((100% - 20px) / 2);
  margin-right: 20px;
  text-align: center;
}

.footer-nav-item:nth-of-type(even),
.footer-nav-item:last-of-type:not(:root) {
  margin-right: 0;
}

.footer-nav-item:nth-of-type(n+3) {
  margin-top: 20px;
}

.footer-nav-item a {
  transition: opacity .3s;
}

.footer-nav-item .letter {
  font-size: 1.2rem;
  line-height: 1.4;
}

.footer-nav-item .blank-icon {
  margin-left: 5px;
}

.footer-logo {
  margin-bottom: 20px;
  text-align: center;
}

.footer-logo a {
  display: inline;
}

.footer-menu-nav {
  margin-top: 20px;
}

.footer-menu-nav .footer-nav-item [class*="letter"] {
  display: block;
  line-height: 1.4;
}

.footer-menu-nav .footer-nav-item .letter-top {
  font-size: 1.4rem;
}

.footer-menu-nav .footer-nav-item .letter-bottom {
  margin-top: 2px;
  font-size: 1.0rem;
}

.footer-remote-nav {
  min-height: 0%;
  padding-bottom: 40px;
  background-color: transparent;
}

.footer-remote-nav .footer-nav-item a {
  color: #ffffff;
}

.copyright {
  min-height: 0%;
  text-align: center;
}

.copyright small {
  color: #ffffff;
  font-style: normal;
  font-size: 1.2rem;
  line-height: 1.4;
}

@media only screen and (min-width: 560px) {/* ---------- Tablet ---------- */
  .footer-top {
    padding-bottom: 20px;
  }
  
  [class*="footer-inner"] {
    justify-content: space-between;
  }
  
  .footer-inner-top {
    flex-direction: row;
  }
  
  .footer-inner-bottom {
    flex-direction: row-reverse;
  }
  
  .footer-nav-item {
    flex-basis: calc(((100% - 40px) / 3) - .01px);
  }

  .footer-nav-item:nth-of-type(even) {
    margin-right: 20px;
  }
  
  .footer-nav-item:nth-of-type(3n+3) {
    margin-right: 0;
  }
  
  .footer-nav-item:nth-of-type(n+3) {
    margin-top: 0;
  }

  .footer-nav-item:nth-of-type(n+4) {
    margin-top: 20px;


  }
  
  .footer-logo {
    align-self: flex-start;
    flex: 0 1 25%;
    margin-bottom: 0;
    text-align: left;
  }
  
  .footer-menu-nav {
    flex: 0 1 70%;
    margin-top: 0;
  }
  
  .footer-remote-nav {
    align-self: center;
    flex: 0 1 70%;
    padding: 0;
  }
  
  .copyright {
    align-self: center;
    flex: 0 1 25%;
    text-align: left;
  }
}

@media only screen and (min-width: 960px) {/* ---------- Laptop PC ---------- */
  .page-top {
    right: 20px;
    bottom: 20px;
  }
  
  .page-top-anchor:hover::before,
  .footer-nav-item a:hover {
    opacity: .5;
  }
  
  .footer-menu-nav .footer-nav-list {
    justify-content: flex-start;
  }
  
  .footer-menu-nav .footer-nav-item {
    flex-basis: calc(((100% - 100px) / 6) - .01px);
    text-align: center;
  }
  
  .footer-menu-nav .footer-nav-item,
  .footer-menu-nav .footer-nav-item:nth-of-type(3n+3) {
    margin-right: 20px;
  }
  
  .footer-menu-nav .footer-nav-item:nth-of-type(6n+6) {
    margin-right: 0;
  }
  
  .footer-menu-nav .footer-nav-item:nth-of-type(n+3),
  .footer-menu-nav .footer-nav-item:nth-of-type(n+4) {
    margin-top: 0;
  }

  .footer-menu-nav .footer-nav-item:nth-of-type(n+7) {
    margin-top: 20px;
  }
  
  .footer-remote-nav {
    background-color: transparent;
  }
  
  .footer-remote-nav .footer-nav-list {
    justify-content: flex-end;
    margin-bottom: -20px;
  }
  
  .footer-remote-nav .footer-nav-item {
    flex-basis: auto;
    margin: 0 0 20px 60px;
    text-align: left;
  }
  
  .footer-menu-nav .footer-nav-item .letter-top {
    font-size: 1.8rem;
  }

  .footer-menu-nav .footer-nav-item .letter-bottom {
    font-size: 1.2rem;
  }
  
  .copyright {
    text-align: left;
  }
}


/*===========================================================
content
===========================================================*/

/*------------------------------------------------------------
common
------------------------------------------------------------*/
.inner{
  width: calc(100% - 24px);
  max-width: 1200px;
  margin: 0 auto;
}

.inner-02{
  width: calc(100% - 24px);
  max-width: 960px;
  margin: 0 auto;
}

.font-montserrat{
  font-family: 'Montserrat', sans-serif;
  font-style: normal;
  font-weight: 500;
}

.font-kakugo{
  font-family: "fot-udkakugoc80-pro", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.font-black{
  color: #000!important;
}

.common-main-block{
  height: 125px;
  position: relative;
  z-index: 1;
  margin-bottom: 48px;
  background: url(../../uploads/mainimg_sp.jpg)no-repeat center center / cover;
}

.common-main-block .inner{
  position: absolute;
  z-index: 1;
  bottom: -48px;
  left: 12px;
}

.common-heading{
  line-height: 1;
}

.common-heading .letter-top{
  display: flex;
  width: fit-content;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 8px 5px 0;
  background: #000000;
  color: #FF3C00;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 30px;
  line-height: 1;
  opacity: 0;
}

.t-caret{
  display: none;
}

::-webkit-full-page-media, :future, :root .common-heading .letter-top{
  padding: 4px 5px 5px;
}

.common-heading .letter-bottom{
  display: flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  padding: 2px 4px;
  height: 30px;
  background-color: #fff;
  border: 1px solid #000;
  color: #000;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  opacity: 0;
}

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

.text-right{
  text-align: right;
}

.inline-block {
  display: inline-block;
}

.common-heading02{
  margin-bottom: 15px;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  line-height: 1.33;
}

.common-txt{
  font-size: 13px;
  line-height: 1.6;
}

.common-heading03 span{
  display: inline-block;
  padding: 2px 11px 4px;
  background-color: #FCE2CC;
  border: solid 1px #000;
  color: #000;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}

a.common-link{
  position: relative;
  color: #ED6D00;
  transition: all .3s;
}

@media only screen and (min-width: 768px) {
  .common-main-block{
    height: 250px;
    margin-bottom: 92px;
    background: url(../../uploads/mainimg_pc-scaled.jpg)no-repeat center center / cover;
  }

  .common-main-block .inner{
    bottom: -92px;
  }

  .common-heading .letter-top{
    height: 76px;
    padding: 12px 10px 3px;
    font-size: 56px;
  }
  
  .common-heading .letter-bottom{
    padding: 2px 9px;
    height: 57px;
    border-width: 2px;
    font-size: 30px;
  }
  
  .common-main-block .inner{
    left: 50%;
    transform: translateX(-50%);
  }
  
  .common-heading02{
    margin-bottom: 30px;
    font-size: 28px;
    line-height: 1.6;
  }

  .common-txt{
    font-size: 18px;
    line-height: 1.77;
  }

  .common-heading03 span{
    padding: 5px 18px 7px;
    border-width: 2px;
    font-size: 30px;
  }
  
  a.common-link[href*="tel"]{
    color: inherit;
    pointer-events: none;
  }
  
  a.common-link:hover{
    opacity: 1!important;
  }
  
  a.common-link::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 0;
    background-color: #ED6D00;
    opacity: 0;
    transition: all .3s;
  }
  
  a.common-link:hover::after{
    opacity: 1;
  }
}

/*------------------------------------------------------------
button-style
------------------------------------------------------------*/
.btn-shutter {
  position: relative;
  overflow: hidden;
  padding: 7px 0;
  color: #fff;
  background: #454040;
  font-weight: 700;
  text-align: center;
}

.btn-shutter span {
  position: relative;
  z-index: 1;
}

.btn-shutter:before {
  position: absolute;
  top: 0;
  left: calc(-100% + 2px);
  width: 100%;
  height: 100%;
  content: '';
  transition: all .3s ease-in-out;
  transform: translateX(0) translateY(0);
  background: #ED6D00;
}

.btn-shutter:after {
  position: absolute;
  top: 0;
  right: calc(-100% + 2px);
  width: 100%;
  height: 100%;
  content: '';
  transition: all .3s ease-in-out;
  transform: translateX(0) translateY(0);
  background: #ED6D00;
}


@media only screen and (min-width: 768px) {
  .btn-shutter {
    padding: 16px
  }

  .btn-shutter:before {
    left: calc(-100% + 4px);
  }

  .btn-shutter:after {
    right: calc(-100% + 4px);
  }

  .btn-shutter:hover:before {
    transform: translateX(50%) translateY(0);
  }

  .btn-shutter:hover:after {
    transform: translateX(-50%) translateY(0);
  }
}
/*------------------------------------------------------------
news
------------------------------------------------------------*/
.category-list {
  width: calc(100% - 40px);
  min-width: 311px;
  margin: 86px auto 16px;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
}

.category-list-item {
  min-width: 90px;
  margin: 0 10px 5px 0;
  padding: 0 14px;
  background: #fff;
  border: solid 1px #707070;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

.category-list-item a{
  width: 100%;
  height: 100%;
}

.category-list-item.current {
  background-color: #454040;
  border-color: #454040;
}

.category-list-item.current a{
  color: #fff!important;
}

.category-list-name {
  display: inline-block;
  position: relative;
  transition-property: opacity color;
}

.new-list{
  width: calc(100% - 40px);
  min-width: 311px;
  margin: 0 auto;
  padding: 10px 0 5px;
  border-top: solid 2px #454040;
  border-bottom: solid 2px #454040;
}

.new-list.not-post-list{
  margin-bottom: 50px;
}

.new-list-item{
  position: relative;
  z-index: 0;
  border-bottom: solid 1px #454040;
}

.new-list-item-arrow{
  position: absolute;
  right: 7px;
  top: calc(50% - 6px);
  color: #FF3C00;
  font-size: .75rem;
}

.new-list-item:last-of-type{
  border: none;
}

.new-date{
  font-size: 12px;
  font-weight: 700;
}

.new-date-text{
  display: inline-block;
  width: 85px;
  border-right: solid 1px #707070;
}

.new-category,
.post-pagenav-category a{
  position: absolute;
  display: block;
  min-width: 75px;
  padding: 0 4px;
  background-color: #fff;
  border: solid 1px #707070;
  font-size: 12px;
  text-align: center;
  top: 9px;
  left: 119px;
  z-index: 1;
}

.post-pagenav-category a{
  top: 5px;
  left: 142px;
}

.new-title{
  font-size: 14px;
  line-height: 1.53;
}

.new-item-link{
  display: block;
  padding: 10px 35px 15px 15px;
}

.new-item-link-txt{
  margin-top: 7px;
  font-size: 13px;
}

.pagenav,
.wp-pagenavi,
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  display: flex;
}

.pagenav {
  margin: 36px auto 80px;
}

.pagenav,
.pagenav a {
  color: #454040;
}

.result-count {
  display: none;
}

.wp-pagenavi {
  width: 100%;
  justify-content: center;
}

.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-right: 5px;
  border: solid 1px #454040;
  font-family: 'Montserrat', sans-serif;
}

.wp-pagenavi .previouspostslink{
  transform: rotate(180deg);
}

.wp-pagenavi .current {
  background-color: #454040;
  color: #fff;
}

.not-post {
  padding: 50px 0;
  font-size: 13px;
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .category-hover-item,
  .category-hover-item a,
  .wp-pagenavi .nextpostslink,
  .wp-pagenavi .previouspostslink,
  .wp-pagenavi .page{
    transition: all .3s;
  }
  
  .category-hover-item:hover a{
    color: #fff;
  }

  .wp-pagenavi .nextpostslink:hover,
  .wp-pagenavi .previouspostslink:hover,
  .wp-pagenavi .page:hover,
  .category-hover-item:hover,
  .post-pagenav-category a:hover{
    background-color: #454040;
    border-color: #454040;
    color: #fff;
  }
  
  .not-post{
    font-size: 16px;
  }
  
  .category-list {
    width: 100%;
    margin: 175px auto 40px;
    justify-content: center;
  }

  .category-list-item {
    min-width: 116px;
    margin: 0 5px 5px 0;
    border: solid 2px #707070;
    transition: all .3s;
  }
  

  .category-list-item a{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 0;
    transition: all .3s;
  }

  .new-list{
    width: 100%;
    padding: 0;
    border-top: solid 4px #454040;
    border-bottom: solid 4px #454040;
  }

  .new-list-item{
    display: flex;
    align-content: center;
    border-bottom: solid 2px #454040;
  }
  
  .new-list.not-post-list{
    margin-bottom: 150px;
  }
  
  .new-list-item-arrow{
    right: 120px;
    top: calc(50% - 8px);
    font-size: 1rem;
    transition: all .3s;
  }
  
  .new-list-item:hover .new-list-item-arrow{
    right: 110px;
  }
  
  .new-date{
    position: static;
    display: flex;
    align-items: center;
    margin-bottom: 0;
    font-size: 20px;
  }

  .new-date-text{
    width: 130px;
    height: 40px;
    margin-right: 204px;
    padding: 5px 20px 0 0;
    border-right: solid 2px #707070;
  }

  .new-category,
  .post-pagenav-category a {
    width: 160px;
    padding: 4px;
    border: solid 2px #707070;
    font-size: 14px;
    top: 50%;
    left: 260px;
    transform: translateY(-50%);
    transition: all .3s;
  }
  
  .post-pagenav-category a {
    padding: 0 10px;
    top: 27px;
    left: 199px;
    transform: none;
    width: auto;
    min-width: 100px;
  }
  
  .post-pagenav-next .post-pagenav-category a{
    left: 160px
  }

  .new-title{
    width: 100%;
  }

  .new-item-link{
    display: flex;
    height: 100%;
    align-items: center;
    padding: 44px 110px;
  }
  
  .new-item-link-txt{
    margin-top: 0;
    font-size: 20px;
  }
}

/*------------------------------------------------------------
newSingle
------------------------------------------------------------*/

.single-post-block{
  position: relative;
  z-index: 0;
  background-color: #F3F1F1;
}

.single-post-block::before{
  position: absolute;
  content: "";
  z-index: -1;
  width: 100%;
  height: calc(100% + 48px);
  left: 0;
  top: -48px;
  background-color: #F3F1F1;
}

.single-post-content{
  padding: 56px 0 30px;
}

.single-head {
  padding: 15px 8px;
  border-top: solid 2px #454040;
  border-bottom: solid 2px #454040;
}

.single-head .new-date{
  position: relative;
  margin-bottom: 20px;
  padding: 0;
}

.single-head .new-category{
  top: 0px;
  left: 102px;
}

.single-title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.66;
}

.single-body {
  overflow: hidden;
  border-bottom: solid 2px #454040;
}

.single-body-content{
  margin: 30px auto;
  padding: 0 8px;
}

.single-body h2{
  margin: 2em 0 1em;
  font-size: 15px;
  font-weight: 700;
}

.single-body p {
  margin-bottom: 1em;
  font-size: 13px;
  line-height: 1.54;
  clear: both;
}

.single-body ul,
.single-body ol {
  margin-top: 1em;
  margin-bottom: 1em;
}

.single-body ul li + li,
.single-body ol li + li {
  margin-top: 10px;
}

.single-body ul li {
  list-style-type: disc;
}

.single-body ol li {
  list-style-type: decimal;
}

.single-body .not-post {
  padding-bottom: 60px;
}

.post-pagenav-wrapper {
  margin: 22px auto 70px;
}

.post-home{
  display: flex;
  width: 70px;
  height: 70px;
  margin: 0 auto 15px;
  background: #454040;
}

.post-home a{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 12px;
}

.post-home a .txt{
  position: relative;
}

.post-home a .txt:before{
  content: "";
  display: block;
  width: 100%;
  height: 13px;
  margin: 6px 0 10px;
  background: url(../../uploads/news_list_ico.png)no-repeat center center / contain;
}

.post-pagenav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.post-pagenav-block {
  position: relative;
  z-index: 0;
  width: 100%;
  border: solid 1px #454040;
}

.post-pagenav-block.post-pagenav-prev{
  margin-bottom: 10px;
}

.post-pagenav-arrow{
  position: absolute;
  z-index: 1;
  right: 7px;
  top: calc(50% - 6px);
  color: #FF3C00;
  font-size: .75rem;
}

.post-pagenav-prev .post-pagenav-arrow{
  right: auto;
  left: 7px;
  transform: rotate(180deg);
}

.post-pagenav-link{
  display: flex;
  flex-direction: column-reverse;
  margin: 0 auto;
  padding: 5px 43px 5px;
  font-size: 13px;
}

.post-pagenav-link-txt{
  margin-top: 7px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  #news .is-layout-flex{
    display: block;
  }
  
  #news .is-layout-flex:last-of-type{
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .single-post-block::before{
    height: calc(100% + 92px);
    top: -92px;
  }
  
  .single-post-content{
    padding: 80px 0 108px;
  }
  
  .single-head {
    padding: 30px 0;
    border-width: 4px;
  }
  
  .single-head .new-date{
    margin: 0 auto 40px;
    max-width: 980px;
    padding: 0 10px;
    font-size: 24px;
  }
  
  .single-head .new-date .new-date-text{
    width: 150px;
    padding-top: 1px;
  }
  
  .single-head .new-category {
    top: 4px;
    left: 180px;
    transform: none;
  }
  
  .single-title {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 10px;
    font-size: 30px;
  }
  
  .single-body {
    border-bottom-width: 4px
  }
  
  .single-body-content{
    max-width: 980px;
    margin: 50px auto;
    padding: 0 10px;
  }
  
  .single-body h2{
    font-size: 28px;
  }
  
  .single-body .is-layout-flow h2{
    margin-top: 0;
  }
  
  .single-body .is-layout-flow{
    margin-top: 2em;
  }
    
  .single-body p{
    margin-bottom: 2em;
    font-size: 18px;
    line-height: 1.78;
  }
  
  
  .single-body .is-layout-flow p:last-of-type{
    margin-bottom: 0;
  }
  
  .single-body figure{
    margin-bottom: 3em;
  }
  
  .single-body img {
    display: inline-block;
  }
  
  .single-body .alignleft,
  .single-body .alignright {
    margin-bottom: 1em;
  }
  
  .single-body .alignleft + br,
  .single-body .alignright + br,
  .single-body .aligncenter + br {
    display: none;
  }
  
  .single-body .fancybox,
  .single-body .alignleft img,
  .single-body .alignright img {
    margin-bottom: 0;
  }
  
  .single-body .fancybox img {
    opacity: 1;
    transition: opacity .3s;
  }
  
  .single-body .fancybox:hover img {
    opacity: .6;
  }
  
  .single-body .alignleft {
    float: left;
    margin-right: 1em;
  }

  .single-body .alignright {
    float: right;
    margin-left: 1em;
  }

  #new .single-body .aligncenter {
    display: block;
    margin: 0 auto 10px;
  }
  
  .post-pagenav-wrapper {
    height: 120px;
    margin: 100px auto;
  }
  
  .post-home {
    width: 120px;
    height: 120px;
    margin-bottom: 0;
    transition: all .3s;
    position: relative;
  }
  
  .post-home:hover{
    background-color: #ED6D00;
  }
  
  .post-home a{
    font-size: 14px;
  }
  
  .post-home a .txt:before{
    height: 20px;
    margin: 10px 0 13px;
  }
  
  .post-pagenav{
    margin-top: -120px;
  }
  
  .post-pagenav.last{
    justify-content: flex-end;
  }
  
  .post-pagenav-block{
    width: calc(50% - 80px);
    border-width: 2px;
    transition: all .3s;
  }
  
  .post-pagenav-block.post-pagenav-prev{
    margin-bottom: 0;
  }
  
  .post-pagenav-link{
    height: 116px;
    padding: 30px 70px 30px 30px;
  }
  
  .post-pagenav-prev .post-pagenav-link{
    height: 116px;
    padding: 30px 30px 30px 70px;
  }
  
  .post-pagenav-link .new-date-text{
    width: 110px;
    height: 20px;
    padding: 1px 0 0;
    font-size: 16px;
    line-height: 1;
  }
  
  .post-pagenav-link-txt{
    margin-top: 10px;
    font-size: 16px;
  }
  
  .post-pagenav-arrow{
    top: calc(50% - 8px);
    right: 30px;
    font-size: 16px;
    transition: all .3s;
  }
  
  .post-pagenav-prev .post-pagenav-arrow{
    right: auto;
    left: 30px;
  }
  
  .post-pagenav-block:hover{
    background-color: #FCE2CC;
  }
  
  .post-pagenav-block:hover .post-pagenav-arrow{
    right: 20px;
  }
  
  .post-pagenav-block:hover.post-pagenav-prev .post-pagenav-arrow{
    right: auto;
    left: 20px;
  }
}

/*===========================================================
page
===========================================================*/

/*------------------------------------------------------------
about
------------------------------------------------------------*/
#about .about-overview{
  padding: 34px 0 100px;
}

#about .common-heading03{
  margin-bottom: 35px;
}

#about .about-movie-block{
  margin: 0 auto 40px;
}

#about .about-movie{
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

#about .about-movie iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#about .about-introduction{
  position: relative;
  margin-bottom: 100px;
  padding-bottom: 70px;
}

#about .about-introduction::before{
  position: absolute;
  content: "";
  width: 100%;
  height: 70px;
  bottom: 0;
  left: 0;
  background: url("../../uploads/about_bg_sp.png")no-repeat center bottom / contain;
}

#about .about-introduction-txt{
  margin-bottom: 30px;
}

#about .about-introduction-txt:last-of-type{
  margin-bottom: 0;
}

#about .about-strength{
  padding: 78px 0 50px;
  background-color: #C8D4D7;
}

#about .about-enclosure{
  padding: 22px 23px 0;
  background-color: #fff;
  border-radius: 15px 0 15px 0;
  border: solid 2px #454040;
}

#about .about-strength-item{
  margin-bottom: 40px;
}

#about .about-strength-item:last-of-type{
  margin-bottom: 0;
}

#about .about-strength-img{
  width: 190px;
  margin: 20px auto 0;
}

#about .about-merit{
  padding: 50px 0 75px;
  background-color: #E9E7DF;
}

#about .about-merit-item{
  margin-bottom: 15px;
  padding: 22px 15px 20px;
}

#about .about-merit-item:last-of-type{
  margin-bottom: 0;
}

#about .about-merit .common-heading02{
  margin-bottom: 10px;
}

#about .about-merit-ico{
  width: 60px;
  margin: 0 auto 15px;
}

@media only screen and (min-width: 768px) {/* ---------- Desktop PC ---------- */
  #about .about-overview{
    padding: 86px 0 140px;
  } 

  #about .common-heading03{
    margin-bottom: 80px;
  }

  #about .about-movie-block{
    max-width: 980px;
    margin: 0 auto 80px;
    padding: 0 10px;
  }

  #about .about-introduction{
    padding-bottom: 100px;
  }

  #about .about-introduction::before{
    height: calc((100vw / 1920) * 320);
    min-height: 320px;
    background: url("../../uploads/about_bg_pc.png")no-repeat center bottom / contain;
  }

  #about .about-introduction-txt{
    max-width: 900px;
    margin: 0 auto 80px;
  }

  #about .about-strength{
    padding: 100px 0;
  }
  
  #about .about-strength-txt .common-heading02{
    text-align: left;
  }
  
  #about .about-strength .about-movie-block{
    margin-bottom: 104px;
  }

  #about .about-enclosure{
    border-radius: 30px 0 30px 0;
  }

  #about .about-strength-item{
    padding: 45px 440px 60px 60px;
    position: relative;
    z-index: 0;
    margin-bottom: 110px;
  }
  
  #about .about-strength-item:nth-of-type(2){
    padding: 62px 30px 70px 470px;
  }

  #about .about-strength-img{
    position: absolute;
    z-index: 1;
    width: 440px;
    text-align: center;
    bottom: 0;
    right: 0;
  }
  
  #about .about-strength-item:nth-of-type(2) .about-strength-img{
    right: auto;
    left: 0;
  }
  
  #about .about-merit{
    padding: 100px 0 150px;
  }
  
  #about .about-merit-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  #about .about-merit-item{
    display: flex;
    flex-direction: column;
    width: calc((100% - 60px) / 3);
    margin: 0;
    padding: 35px 20px 30px;
  }
  
  #about .about-merit-item:first-of-type .common-heading02{
    padding-top: 37px;
  }

  #about .about-merit .common-heading02{
    min-height: 128px;
    font-size: 24px;
  }

  #about .about-merit-ico{
    width: 120px;
  }
}

/*------------------------------------------------------------
faq
------------------------------------------------------------*/

#faq .faq-overview{
  padding: 32px 0 30px;
}

#faq .faq-overview .common-txt{
  max-width: 314px;
  margin: 0 auto;
  text-align: left;
}

#faq .faq-menu-list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 80px;
}

#faq .faq-menu-item{
  width: calc((100% - 9px) / 2);
  margin-bottom: 12px;
}

#faq .faq-menu-item:last-of-type,
#faq .faq-menu-item:nth-last-of-type(2){
  margin-bottom: 0;
}

#faq .faq-menu-item .txt{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 0px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

#faq .faq-content-block{
  padding: 50px 0;
  background-color: #C8D4D7;
}

#faq .faq-content-block:nth-of-type(2n){
  background-color: #E9E7DF;
}

#faq .faq-content-block .common-heading03{
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
}

#faq .faq-content-block.joining-content .common-heading03{
  margin-bottom: 40px;
}

#faq .faq-content{
  position: relative;
}

#faq .faq-content::before{
  position: absolute;
  content: "";
  z-index: 0;
  background: url("../../uploads/faq_bg01_sp.png")no-repeat center bottom / contain;
  width: 100%;
  height: 100%;
  bottom: 2px;
  left: 0;
  mix-blend-mode: multiply;
}

#faq .dormitory-content .faq-content::before{
  background: url("../../uploads/faq_bg02_sp.png")no-repeat center bottom / contain;
  bottom: -24px;
}

#faq .treatment-content .faq-content::before{
  background: url("../../uploads/faq_bg03_sp.png")no-repeat center bottom / contain;
  bottom: -24px;
}

#faq .factory-content .faq-content::before{
  background: url("../../uploads/faq_bg04_sp.png")no-repeat center bottom / contain;
  bottom: -28px;
  min-height: 162px;
}

#faq .joining-content .faq-content::before{
  background: url("../../uploads/faq_bg05_sp.png")no-repeat center bottom / contain;
  bottom: -28px;
}

#faq .faq-content-list{
  position: relative;
}

#faq .dormitory-content .faq-content-list{
  padding-bottom: 108px;
}

#faq .factory-content .faq-content-list{
  padding-bottom: 20px;
}

#faq .faq-content-list::before{
  position: absolute;
  content: "";
  z-index: 1;
  background: url("../../uploads/faq_illust01.png")no-repeat center center / contain;
  width: 70px;
  height: 200px;
  bottom: -5px;
  left: -12px;
}

#faq .dormitory-content .faq-content-list::before{
  background: url("../../uploads/faq_illust02.png")no-repeat center center / contain;
  width: 126px;
  height: 113px;
  bottom: -25px;
  left: 2px;
}

#faq .treatment-content .faq-content-list::before{
  background: url("../../uploads/faq_illust03.png")no-repeat center center / contain;
  width: 70px;
  height: 159px;
  bottom: -25px;
  left: -12px;
}

#faq .factory-content .faq-content-list::before{
  background: url("../../uploads/faq_illust04.png")no-repeat center center / contain;
  width: 68px;
  height: 175px;
  bottom: -28px;
  left: -12px;
}

#faq .joining-content .faq-content-list::before{
  background: url("../../uploads/faq_illust05.png")no-repeat center center / contain;
  width: 70px;
  height: 234px;
  bottom: -23px;
  left: -12px;
}

#faq .faq-content-item{
  width: calc(100% - 58px);
  margin-left: auto;
  margin-bottom: 15px;
  border: solid 2px #454040;
}

#faq .faq-content-item:last-of-type{
  margin-bottom: 0;
}

#faq .faq-content-item .question{
  position: relative;
  z-index: 0;
  padding: 10px 30px 10px 34px;
  background-color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.42;
}

#faq .faq-content-item .question::before{
  position: absolute;
  content: "";
  z-index: 1;
  width: 14px;
  height: 3px;
  border-radius: 1px;
  background-color: #FF3C00;
  top: calc(50% - 1.5px);
  right: 7px;
}

#faq .faq-content-item .question::after{
  position: absolute;
  content: "";
  z-index: 1;
  width: 3px;
  height: 14px;
  border-radius: 1px;
  background-color: #FF3C00;
  top: calc(50% - 7px);
  right: 12.5px;
  transition: all .3s;
}

#faq .faq-content-item .question.active{
  border-bottom: none;
}

#faq .faq-content-item .question.active::after{
  content: none;
}

#faq .faq-content-item .question-ico{
  position: absolute;
  top: 8px;
  left: 10px;
  font-size: 15px;
}

#faq .faq-content-item .answer-inner{
  padding: 0 4px 15px 41px;
  background-color: #fff;
  position: relative;
  z-index: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.42;
}

#faq .faq-content-item .answer{
  padding-top: 6px;
}

#faq .faq-content-item .answer-ico{
  position: absolute;
  top: 6px;
  left: 20px;
  color: #52A93F;
  font-size: 13px;
  text-align: center;
}

#faq .faq-content-item .answer-img{
  margin: 10px 0 0 -20px;
}

#faq .joining-content .faq-content-item .answer-img{
  margin-left: 0;
}

#faq .faq-content-item .answer-img-txt{
  display: block;
  margin-top: 15px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.53;
  text-align: center;
}

#faq .faq-movie-block{
  max-width: 960px;
  margin: 0 auto;
}

#faq .faq-movie{
  position: relative;
  width: 100%;
  height: 0;
  margin: 0 auto;
  padding-top: 56.25%;
}

#faq .faq-movie iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#faq #basic .faq-movie-block{
  margin-top: 80px;
}

#faq .faq-flow-list{
  margin-top: 38px;
}

#faq .faq-flow-item{
  position: relative;
  margin-bottom: 86px;
  padding: 58px 14px 25px;
  background: #fff;
  border: solid 2px #454040;
  border-radius: 15px 0 15px 0;
}

#faq .faq-flow-item:last-of-type{
  margin-bottom: 0;
}

#faq .faq-flow-item-num{
  position: absolute;
  padding: 5px 19px;
  top: -15px;
  left: 50%;
  background: #52A93F;
  border: solid 2px #454040;
  color: #fff;
  font-size: 17px;
  text-align: center;
  transform: translateX(-50%);
  line-height: 1;
}

#faq .faq-flow-item-num .en{
  margin-bottom: 2px;
  font-size: 13px;
  font-style: italic;
}

#faq .faq-flow-item-num .en .num{
  font-size: 18px;
}

#faq .faq-flow-item-num::before{
  position: absolute;
  content: "";
  z-index: 1;
  background: url("../../uploads/faq_tack_ico.png")no-repeat center center / contain;
  width: 12px;
  height: 14px;
  top: -7px;
  left: calc(50% - 2px);
}

#faq .faq-flow-item-block{
  position: relative;
  margin-bottom: 25px;
  padding: 0 10px 25px;
}

#faq .faq-flow-item-block::before{
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: url("../../uploads/faq_flow_dotted.png")repeat-x center left / contain;
  left: 0;
  bottom: 0;
}

#faq .faq-flow-item-block:last-of-type{
  margin-bottom: 30px;
  padding-bottom: 0;
}

#faq .faq-flow-item-block:last-of-type::before{
  content: none;
}

#faq .faq-flow-item-ttl{
  color: #ED6D00;
  font-size: 15px;
  text-align: center;
}

#faq .faq-flow-item-menu-btn{
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 160px;
  height: 90px;
  margin: 15px auto;
  border: none;
  background-color: #fff;
  border-radius: 10px 0;
  box-shadow: 0 2px 3px rgba(0,0,0,.16);
  text-align: center;
}

#faq .faq-flow-item-ico{
  display: block;
  width: 38px;
  height: 36px;
  background-size: contain;
  position: relative;
  margin: 0 auto;
}

#faq .faq-flow-item-ico::after{
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition-duration: .3s;
  background-size: contain;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAABICAMAAABr2OMPAAAAOVBMVEUAAABEQEBEQEBAQEBEQEBFQEBFQEBDQEBEQEBFQEBFQEBEQEBEQEBAQEBFQEBFQEBEQEBFQUFFQEDHh/XYAAAAEnRSTlMAgOAQYMAwULCQoPBAINDPcD+Su9RLAAABhUlEQVRYw+2Y227DMAiGY3w+JGl4/4edmKpFqb3gYGnS2vyXiHwyGAPtdOtDNJtgEbMNRg+jEu5K8xBL4VEPOUonfFUSx2qRBNG4yZkISLJCVkKSeok5iliePl3ctMstZPISGIWV9fFuM4UtYJnvU7ROa2TZD5U1NKy8NJ3BVWZH5svlUeirhp3MRZIy24pecp/ql5KKVHp/C5OH6VfwAxdQVfc6UBo1f6BoWZj8OZFt7KHzsPoU66EFER+9BDZFpjlyML5th4mByQaKX7ESeOGoA2xovTKEOdjCxGqCza31wC9cmLyYC/h3sG1TTW3bVZixeCJrLsAKICMovTCFHVJ9sPSsP6uass/6Sj/Ve1KrDyTF+eRZxMPb8gv4s0mSCzNuctdk10Asx7k5ooHu6Yg1qz2mYseEU92LuGZdoG/nAnaVP/Wobx24TGQtWgdrmStbZmD221Sln8lvYoZb6YUV5gcLTa+Zx+wJXq81Tcb7ht2wd4KFumnIvbWp/qThvG+9tb4AM9006+LoJkkAAAAASUVORK5CYII=)
}

#faq .faq-flow-item-menu-btn .txt{
  margin-top: 8px;
  font-size: 13px;
}

#faq .faq-flow-item-txt{
  width: calc(100% - 48px);
  margin: 0 auto;
  font-size: 13px;
  line-height: 1.6;
}

#faq .faq-flow-item-block.decision .faq-flow-item-ttl{
  color: #52A93F;
}

#faq .faq-flow-item-block.decision .faq-flow-item-menu-btn{
  background-color: #52A93F;
}

#faq .faq-flow-item-block.decision .faq-flow-item-menu-btn .txt{
  color: #fff;
}

#faq .faq-flow-item-block.decision .faq-flow-item-ico::after{
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAABICAMAAABr2OMPAAAAOVBMVEUAAAD///////////////////////////////////////////////////////////////////////8KOjVvAAAAEnRSTlMA8DDAgBBgUEDQ4JDfsKBwIG8drpSBAAABn0lEQVRYw+2X6XKDMAyEbUu+MEfR+z9sCSR1DsDrlJl2WvYno/lsSQsS6tS/0IdL1Mqkltjbb5HGKA+Kzr6L6uVVmt/BWZZ16bGaZaJsiiov57Tc1LELkwbOeG2qWF+k+w5aR3KVq2dRUE/yTaZVsbRXKxrqMjVLvZqN8KAXGtaFpdDRFhpNCIuvrOLVPeB7oCQeTbRHTmWsox9YPWaHtHsRufMBc49HWtkrBV2tR7L0YM81cn0LOHsONLsxaX67lQLzHHZDSCYxAutkUtoNaeEvApctBBnjeJj/tTAgzTg3HIalI63B5fMiAtNlE3n0dQpAoEXnWEJSIGxW2DnLhH31sKljoCNbKIrASTcgUycA1SgHOkEd5IqDMwhUsdxQac0mS0t2P5io3mjpKLMaVbUGCduVk/rafc/LotY9o1iLVNP0DZfM3dOUUTU00+RtmJjdyEyZFGMdzXayKVY2CmjbvAuviszlrFi7w7sXXF7AbVNLU6F/KHm8a4fRmQbLOKaLOP8hAjREJ+2k/TSN1JE0dSCtU0fRSDqrTv1BfQKJ9DVfm7ToOAAAAABJRU5ErkJggg==);
}

#faq .faq-flow-step01-txt{
  font-size: 13px;
  line-height: 1.6;
}

#faq .faq-flow-item .fas{
  position: absolute;
  color: #454040;
  font-size: 27px;
  left: calc(50% - 10px);
  bottom: -50px;
}

#faq .faq-flow-item:last-of-type .fas{
  display: none;
}

#faq .faq-flow-item-step-img{
  padding: 0 10px;
  text-align: center;
}

#faq .faq-flow-item-step-txt{
  margin-top: 25px;
  font-size: 13px;
  line-height: 1.6;
}

#faq .faq-flow-item-step-txt .txt{
  margin-bottom: 1em;
}

#faq .faq-flow-item-step-txt .txt:last-of-type{
  margin-bottom: 0;
}

#faq .faq-flow-item-last-txt{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -22px;
  padding: 10px 0;
  background: #ED6D00;
  color: #fff;
  font-size: 16px;
  line-height: 1;
}

#faq .faq-flow-item-last-txt .and{
  margin: 0 5px;
  font-size: 29px;
  opacity: .53;
  line-height: 1;
}

#faq .faq-info-block{
  padding-top: 48px;
}

#faq .faq-info-txt-block{
  margin-bottom: 30px;
}

#faq .faq-info-txt-block .common-heading02{
  text-align: left;
}

#faq .faq-info-tel-block{
  position: relative;
  padding-bottom: 42px;
}

#faq .faq-info-tel-block::before{
  position: absolute;
  content: "";
  background: url("../../uploads/faq_info_illust_sp.png")no-repeat right bottom / contain;
  width: calc(100% - 270px + 69px);
  height: calc(100% + 20px);
  right: -12px;
  bottom: 0;
}

#faq .faq-info-tel{
  width: 270px;
  padding: 20px;
  border: solid 2px #454040;
  text-align: center;
}

#faq .faq-info-tel .ttl{
  display: inline-block;
  padding: 4px 5px;
  background: #52A93F;
  color: #fff;
  font-size: 15px;
  text-align: center;
  line-height: 1;
}

#faq .faq-info-tel .txt{
  margin: 15px 0 10px;
  font-size: 14px;
}

#faq .faq-info-tel .num{
  display: block;
  position: relative;
  background-color: #fff;
  color: #ED6D00;
  font-size: 29px;
  font-weight: 600;
  line-height: 1;
  text-align: right;
}

#faq .faq-info-tel .num::before{
  position: absolute;
  content: "";
  z-index: 1;
  display: inline-block;
  background: url("../../uploads/faq_freedial_ico.png")no-repeat center center / contain;
  width: 30px;
  height: 30px;
  left: 0;
  top: calc(50% - 15px);
}


@media only screen and (min-width: 768px) {/* ---------- Desktop PC ---------- */
  
  #faq .faq-overview{
    padding: 60px 0 70px;
  }
  
  #faq .faq-overview .common-txt{
    max-width: none;
    text-align: center;
  }

  #faq .faq-menu-list{
    margin-bottom: 120px;
  }

  #faq .faq-menu-item{
    width: calc((100% - 60px) / 3);
    margin-bottom: 30px;
    border-width: 4px;
    transition: all .3s;
  }
  
  #faq .faq-menu-item:hover{
    background-color: #ED6D00;
  }

  #faq .faq-menu-item:nth-last-of-type(3){
    margin-bottom: 0;
  }

  #faq .faq-menu-item .txt{
    padding: 8px 0;
    font-size: 24px;
  }
  
  #faq .faq-content-block .common-heading03{
    margin-bottom: 55px;
  }
  
  #faq .faq-content-block{
    padding: 100px 0;
  }

  #faq .faq-content::before{
    background: url("../../uploads/faq_bg01_pc.png")no-repeat center bottom / cover;
    height: calc(100vw / 1920 * 636);
    bottom: 40px;
  }

  #faq .dormitory-content .faq-content::before{
    background: url("../../uploads/faq_bg02_pc.png")no-repeat center bottom / cover;
    height: calc(100vw / 1920 * 600);
    max-height: 600px;
    bottom: 45px;
  }

  #faq .treatment-content .faq-content::before{
    background: url("../../uploads/faq_bg03_pc.png")no-repeat center bottom / cover;
    height: calc(100vw / 1920 * 322);
    bottom: 46px;
  }

  #faq .factory-content .faq-content::before{
    background: url("../../uploads/faq_bg04_pc.png")no-repeat center bottom / cover;
    height: calc(100vw / 1920 * 438);
    bottom: -34px;
  }

  #faq .joining-content .faq-content::before{
    background: url("../../uploads/faq_bg05_pc.png")no-repeat center bottom / cover;
    height: calc(100vw / 1920 * 634);
    max-height: 634px;
    bottom: 34px;
  }

  #faq .dormitory-content .faq-content-list{
    padding-bottom: 0;
  }
  
  #faq .factory-content .faq-content-list{
    padding-bottom: 100px;
  }

  #faq .faq-content-list::before{
    width: 230px;
    height: 650px;
    bottom: 0;
    z-index: -1;
  }

  #faq .dormitory-content .faq-content-list::before{
    width: 252px;
    height: 226px;
    bottom: -4px;
  }

  #faq .treatment-content .faq-content-list::before{
    width: 188px;
    height: 427px;
    bottom: -4px;
  }

  #faq .factory-content .faq-content-list::before{
    width: 136px;
    height: 370px;
    bottom: -80px;
    left: 32px;
  }

  #faq .joining-content .faq-content-list::before{
    width: 180px;
    height: 600px;
    bottom: -10px;
  }

  #faq .faq-content-item{
    width: calc(100% - 240px);
    margin-bottom: 30px;
  }

  #faq .faq-content-item .question{
    padding: 30px 118px 30px 100px;
    font-size: 24px;
    cursor: pointer;
    transition: all .3s;
  }
  
  #faq .faq-content-item .question::before{
    width: 28px;
    height: 6px;
    border-radius: 2px;
    top: calc(50% - 3px);
    right: 30px;
  }

  #faq .faq-content-item .question::after{
    width: 6px;
    height: 28px;
    border-radius: 2px;
    top: calc(50% - 14px);
    right: 41px;
  }

  #faq .faq-content-item .question-ico{
    top: 20px;
    left: 40px;
    font-size: 39px;
  }

  #faq .faq-content-item .answer-inner{
    margin-top: -1px;
    padding: 0 110px 30px 115px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.77;
  }

  #faq .faq-content-item .answer{
    padding-top: 10px;
  }

  #faq .faq-content-item .answer-ico{
    top: -4px;
    left: 60px;
    color: #52A93F;
    font-size: 34px;
  }

  #faq .faq-content-item .answer-img{
    margin: 20px 0 0 0;
  }
  
  #faq .faq-content-item .answer-img-txt{
    max-width: 612px;
    margin-top: 12px;
    font-size: 14px;
    text-align: right;
  }
  
  #faq #basic .faq-movie-block{
    margin-top: 210px;
  }

  #faq .faq-flow-list{
    margin-top: 118px;
  }

  #faq .faq-flow-item{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 130px;
    padding: 86px 40px 50px;
    border-radius: 30px 0 30px 0;
  }

  #faq .faq-flow-item-num{
    padding: 5px 39px;
    top: -38px;
    border: solid 3px #454040;
    font-size: 28px;
  }

  #faq .faq-flow-item-num .en{
    font-size: 20px;
  }

  #faq .faq-flow-item-num .en .num{
    font-size: 30px;
  }

  #faq .faq-flow-item-num::before{
    width: 24px;
    height: 27px;
    top: -19px;
  }

  #faq .faq-flow-item-block,
  #faq .faq-flow-item-block:last-of-type{
    margin-bottom: 0;
    padding: 20px 79px;
    width: 50%;
  }

  #faq .faq-flow-item-block::before{
    width: 2px;
    height: calc(100% - 10px);
    background: url(../../uploads/faq_flow_dotted_pc.png)repeat-y center top / contain;
    left: auto;
    right: 0;
  }
  
  #faq .faq-flow-item-ttl{
    font-size: 20px;
  }

  #faq .faq-flow-item-menu-btn{
    margin: 20px auto 20px;
    border-radius: 20px 0;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);
  }

  #faq .faq-flow-item-ico{
    width: 49px;
    height: 49px;
  }

  #faq .faq-flow-item-menu-btn .txt{
    margin-top: 8px;
    font-size: 16px;
  }

  #faq .faq-flow-item-txt{
    width: 100%;
    font-size: 16px;
  }

  #faq .faq-flow-step01-txt{
    max-width: 500px;
    margin: 20px auto 0;
    font-size: 18px;
    line-height: 1.7;
  }

  #faq .faq-flow-item .fas{
    font-size: 48px;
    left: calc(50% - 18px);
    bottom: -67px;
  }
  
  #faq .faq-flow-item-step-img{
    width: calc(50% - 140px);
    padding: 0;
    text-align: left;
  }

  #faq .faq-flow-item-step-txt{
    width: calc(50% + 80px);
    margin-top: 0;
    font-size: 18px;
    line-height: 1.7;
  }
  
  #faq .faq-flow-item-last-txt{
    margin-top: -50px;
    padding: 15px 0;
    font-size: 28px;
  }

  #faq .faq-flow-item-last-txt .and{
    margin: 0 10px;
    font-size: 50px;
  }

  #faq .faq-info-block{
    padding-top: 90px;
  }
  
  #faq .faq-info-block .inner{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  #faq .faq-info-txt-block{
    width: calc(50% - 170px);
    margin-bottom: 0;
  }

  #faq .faq-info-tel-block{
    width: calc(50% + 88px);
    padding-bottom: 98px;
  }

  #faq .faq-info-tel-block::before{
    background: url("../../uploads/faq_info_illust_pc.png")no-repeat right bottom / contain;
    width: 300px;
    height: 380px;
    right: 0;
  }

  #faq .faq-info-tel{
    width: 500px;
    padding: 20px 48px;
    border: solid 4px #454040;
  }

  #faq .faq-info-tel .ttl{
    margin-left: 5px;
    padding: 5px 10px;
    font-size: 24px;
  }

  #faq .faq-info-tel .txt{
    margin: 22px 0 10px;
    font-size: 20px;
  }

  #faq .faq-info-tel .num{
    font-size: 50px;
  }

  #faq .faq-info-tel .num::before{
    width: 60px;
    height: 60px;
    top: calc(50% - 30px);
  }
}

@media print, screen and (min-width: 1280px){
  #faq .faq-content-item .question:hover{
    background-color: #FCE2CC;
  
}

  }
/*------------------------------------------------------------
#privacy-policy
------------------------------------------------------------*/
#privacy-policy .privacy-policy-overview{
  margin-bottom: 75px;
}

#privacy-policy .privacy-policy-overview .common-txt-intro{
  padding: 40px 0 50px !important;
  margin: 0 15px;
}

#privacy-policy .privacy-policy-overview .common-heading02{
  text-align: left;
  margin-bottom: 20px;
}

#privacy-policy .privacy-policy-overview .common-txt{
  padding: 0 15px;
  text-align: left;
}

#privacy-policy .privacy-policy-overview .common-txt-wrap01{
  margin-bottom: 40px;
}

#privacy-policy .privacy-policy-overview .common-txt-wrap01:last-of-type{
  margin-bottom: 50px;
}

#privacy-policy .privacy-policy-overview .common-heading03{
  margin-bottom: 30px;
}

#privacy-policy .privacy-policy-overview .contact-list-wrap{
  margin: 25px 0 30px;
}

#privacy-policy .privacy-policy-overview .contact-list::before{
  content: "◆";
}

#privacy-policy .privacy-policy-overview .contact-mail{
  color: #ED6D00;
}

@media print, screen and (min-width: 768px) {
  
  #privacy-policy .privacy-policy-overview .common-txt-intro{
    padding: 83px 0 50px !important;
    margin: 0 30px;
  }

  #privacy-policy .privacy-policy-overview .common-heading02{
    margin-bottom: 30px;
  }

  #privacy-policy .privacy-policy-overview .common-txt-wrap01:last-of-type{
    margin-bottom: 80px;
  }

  #privacy-policy .privacy-policy-overview .common-heading03{
    margin-bottom: 50px;
  }

  #privacy-policy .privacy-policy-overview .content-wrap{
    max-width: 960px;
    width: calc(100% - 24px);
    margin: 0 auto;
  }

  #privacy-policy .privacy-policy-overview{
    margin-bottom: 135px;
  }

  #privacy-policy .privacy-policy-overview .contact-list-wrap{
    margin-bottom: 0;
  }

  #privacy-policy .privacy-policy-overview .common-txt{
    padding: 0 30px;
  }
}


/*------------------------------------------------------------
nippn-pj
------------------------------------------------------------*/ 
#nippon-pj .common-heading .letter-top{
  padding-top: 6px;
}

#nippon-pj .common-main-block{
  margin-bottom: 72px;
}

#nippon-pj .common-main-block .inner{
  bottom: -72px;
}

#nippon-pj .nippon-pj-top{
  padding: 38px 0 30px;
}

#nippon-pj .nippon-pj-images{
  margin: auto auto 20px;
  width: 295px;
  height: auto;
}

#nippon-pj .nippn-pj-text-area{
  margin: auto;
  width: calc(100% - 31px);
  min-width: 320px;
}

#nippon-pj .nippon-pj-txt{
  font-size: 14px;
  line-height: 1.57;
}

#nippon-pj .nippon-pj-text-mgtop{
  margin-top: 1.7em;
}

#nippon-pj .nippon-pj-profile.nippn-pj-text-area{
  margin-top: 40px;
  padding-bottom: 76px;
}

@media only screen and (min-width: 768px) {/* ---------- Desktop PC ---------- */
  #nippon-pj .common-main-block {
    margin-bottom: 92px;
  }
  
  #nippon-pj .common-main-block .inner {
    bottom: -92px;
  }
  
  #nippon-pj .common-heading .letter-top{
    padding-top: 17px;
  }
  #nippon-pj .common-txt{
    font-size: 16px;
    line-height: 1.87;
  }
  
  #nippon-pj .nippon-pj-txt{
    font-size: 18px;
    line-height: 1.77;
  }
  
  #nippon-pj .nippon-pj-top{
    padding: 114px 0 60px;
  }
  
  #nippon-pj .sizes {
    width: 100%;
  }
  
  #nippon-pj .nippon-pj-content-box{
    display: flex;
  }
  
  #nippon-pj .nippon-pj-images{
    flex-shrink: 0;
    width: 400px;
    margin: 0 85px 0 0;
  }
  
  #nippon-pj .nippn-pj-text-area{
    margin: initial;
  }
  
}



/*------------------------------------------------------------
#terms 
------------------------------------------------------------*/
#terms .terms-overview{
    margin-bottom: 75px;
  }
  
  #terms .terms-overview .common-txt-intro{
    padding: 40px 0 50px !important;
    margin: 0 15px;
  }
  
  #terms .terms-overview .common-heading02{
    text-align: left;
    margin-bottom: 20px;
  }
  
  #terms .terms-overview .common-txt{
    padding: 0 15px;
    text-align: left;
  }
  
  #terms .terms-overview .common-txt-wrap01{
    margin-bottom: 40px;
  }
  
  #terms .terms-overview .common-txt-wrap01:last-of-type{
    margin-bottom: 50px;
  }
  
  #terms .terms-overview .common-heading03{
    margin-bottom: 30px;
  }
  
  #terms .terms-overview .contact-list-wrap{
    margin: 25px 0 30px;
  }
  
  #terms .terms-overview .contact-list::before{
    content: "◆";
  }
  
  #terms .terms-overview .contact-mail{
    color: #ED6D00;
  }
  
  #terms .terms-overview .common-link-text{
    word-break: break-all;
  }
  
  #terms .terms-overview .common-link-text a{
    color: #ED6D00;
    transition: all .3s ease-out;
  }
  
  #terms .terms-overview .common-txt-wrap01:first-of-type{
    padding-top: 40px;
  }
  
  #terms .terms-overview .text-memo{
    margin-top: 30px;
  }
  
  #terms .terms-overview .common-heading03 span{
    text-align: left;
  }
  
  #terms .terms-overview .common-link-text:hover a{
    opacity: .6;
  }
  
  @media print, screen and (min-width: 768px) {/* ---------- タブレット・PC以上 ---------- */
    #terms .terms-overview .common-txt-intro{
      padding: 83px 0 50px !important;
      margin: 0 30px;
    }
    
    #terms .terms-overview .common-heading02{
      margin-bottom: 30px;
    }
    
    #terms .terms-overview .common-txt-wrap01:last-of-type{
      margin-bottom: 80px;
    }
    
    #terms .terms-overview .common-heading03{
      margin-bottom: 50px;
    }
    
    #terms .terms-overview .content-wrap{
      max-width: 960px;
      width: calc(100% - 24px);
      margin: 0 auto;
    }
    
    #terms .terms-overview{
      margin-bottom: 135px;
    }
    
    #terms .terms-overview .contact-list-wrap{
      margin-bottom: 0;
    }
    
    #terms .terms-overview .common-txt{
      padding: 0 30px;
    }
    
    #terms .terms-overview .text-memo{
      margin-top: 40px;
    }
  }




/*------------------------------------------------------------
disclaimer
------------------------------------------------------------*/
#disclaimer .disclaimer-overview{
    margin-bottom: 75px;
  }
  
  #disclaimer .disclaimer-overview .common-heading02::before{
    content: "■";
    display: inline;
  }
  
  #disclaimer .disclaimer-overview .common-heading02{
    text-align: left;
    margin-bottom: 20px;
  }
  
  #disclaimer .disclaimer-overview .common-txt{
    padding: 0 15px;
    text-align: left;
  }
  
  #disclaimer .disclaimer-overview .common-txt-wrap01{
    margin-bottom: 40px;
  }
  
  #disclaimer .disclaimer-overview .common-txt-wrap01:last-of-type{
    margin-bottom: 50px;
  }
  
  #disclaimer .disclaimer-overview .contact-list::before{
    content: "◆";
  }
  
  #disclaimer .disclaimer-overview .contact-mail{
    color: #ED6D00;
  }
  
  #disclaimer .disclaimer-overview .common-txt-wrap01:first-of-type{
    padding-top: 40px;
  }
  
  #disclaimer .disclaimer-overview .common-txt:nth-of-type(n+2){
    margin-top: 25px;
  }
  
  #disclaimer .disclaimer-overview a{
    transition: all .3s ease-out;
  }
  
  #disclaimer .disclaimer-overview a:hover{
    opacity: .6;
  }
  
@media print, screen and (min-width: 768px) {/* ---------- タブレット・PC以上 ---------- */
    
  #disclaimer .disclaimer-overview .common-heading02{
    margin-bottom: 30px;
  }

  #disclaimer .disclaimer-overview .common-txt-wrap01:last-of-type{
    margin-bottom: 80px;
  }

  #disclaimer .disclaimer-overview .content-wrap{
    max-width: 960px;
    width: calc(100% - 24px);
    margin: 0 auto;
  }

  #disclaimer .disclaimer-overview{
    margin-bottom: 135px;
  }

  #disclaimer .disclaimer-overview .common-txt{
    padding: 0 30px;
  }
}


/*------------------------------------------------------------
jpb-fair
------------------------------------------------------------*/ 
#job-fair{
  margin-bottom:135px;
  }

#job-fair .inner-03{
  width: calc(100% - 24px);
  max-width: 900px;
  margin: 0 auto;
}

#job-fair .job-fair-content-block{
  padding-top: 35px;
}

#job-fair .common-heading02 {
  width: calc(100% - 30px);
  margin: auto;
}

#job-fair .common-txt {
  line-height: 1.77;
}

#job-fair .job-fair-content {
  margin-bottom: 60px;
}

#job-fair .job-fair-text-area {
  box-shadow: 0 0 0 1px #333, 0 0 0 4px #fff, 0 0 0 5px #333;
  border-radius: 5px;
  width: calc(100% - 10px);
  margin: 30px auto 0;
  padding: 20px;
}

#job-fair .job-fair-text-mgtop{
  margin-top: 1.7em;
}

#job-fair .job-fair-list::before {
  content: "□";
}

#job-fair .job-fair-job-rabi {
  padding: 0 15px;
}

#job-fair .job-fair-images {
  margin-bottom: 30px;
}

#job-fair .job-fair-contact-info::after {
  position: absolute;
  content: "";
  background: url(../../uploads/job-fair_info_illust_sp.png) no-repeat right top / contain;
  width: calc(100% - 270px + 54px);
  height: calc(100% + 87px);
  top: -7px;
  right: 0;
}

#job-fair .job-fair-info-title{
  width: calc(100% - 30px);
  margin: auto;
}
#job-fair .job-fair-heading01{
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
}

#job-fair .job-fair-heading02{
  font-size: 15px;
  font-weight: 700;
  margin-top: 20px; 
  margin-bottom: 15px;
  width: calc(100% + 24px);
  margin-left: -12px;
}

#job-fair .job-fair-info:first-of-type .job-fair-access{
  margin-top: 30px;
}

#job-fair .job-fair-access{
  margin-bottom: 40px;
}

#job-fair .job-fair-contact-info {
  position: relative;
}

#job-fair .job-fair-tel-box {
  border: solid 2px #454040;
  width: 270px;
  margin-top: 30px;
  padding: 15px 19px 24px;
}

#job-fair .job-fair-tel-box .title {
  display: inline-block;
  background: #52A93F;
  color: #fff;
  font-size: 15px;
  line-height: 1;
  padding: 4px 5px;
  margin-bottom: 15px;
}

#job-fair .job-fair-tel-box .corp-name {
  font-size: 14px;
  line-height: 1;
  margin-bottom: 14px;
}

#job-fair .job-fair-tel-box .number {
  display: block;
  position: relative;
  text-align: right;
  color: #ED6D00;
  font-size: 29px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 14px;
}

#job-fair .job-fair-tel-box .number::before {
  position: absolute;
  content: "";
  display: inline-block;
  background: url("../../uploads/job-fair_freedial_ico.png")no-repeat center center / contain;
  width: 30px;
  height: 30px;
  left: 0;
  top: calc(50% - 15px);
}


#job-fair .job-fair-tel-box .text {
  font-size: 15px;
  line-height: 1.1
}

#job-fair .mail-text{
  font-size: 15px;
  font-weight: 700;
  width: 270px;
  margin: 20px auto 15px;
  margin-top: 20px; 
  margin-bottom: 15px;
  margin-left: -12px;
}

@media only screen and (min-width: 768px) {/* ---------- Desktop PC ---------- */
  #job-fair{
    margin-bottom: 100px;
  }
  
  #job-fair .job-fair-content-block {
  padding-top: 70px;
}
  
  #job-fair .job-fair-content{
    margin-bottom: 100px;
    padding: 0;
  }
  
  #job-fair .job-fair-text-area {
    box-shadow: 0 0 0 1px #333, 0 0 0 6px #fff, 0 0 0 7px #333;
    border-radius: 10px;
    width: calc(100% - 14px);
    margin-top: 20px;
    padding: 32px;
  }
  
  #job-fair .job-fair-images {
    margin-bottom: 100px;
  }
  
  #job-fair .job-fair-heading01{
    font-size: 48px;
    margin-bottom: 40px;
  }

  #job-fair .job-fair-heading02{
    font-size: 20px;
    width: 100%;
    margin: 40px 0 20px;
  }
  #job-fair .job-fair-info:first-of-type .job-fair-access {
    margin-top: 60px;
  }
  
  #job-fair .job-fair-access{
    margin-bottom: 80px;
  }
  
  #job-fair .map iframe {
    height: 400px;
  }
  
  #job-fair .job-fair-contact-info{
    display: inline-block;
    width: 640px;
  }
  
  #job-fair .job-fair-contact-info::after {
    background-image: url(../../uploads/job-fair_info_illust_pc.png);
    width: calc(100% - 500px + 55px);
    height: calc(100% - 16px);
    top: 20px;
  }
  
  #job-fair .job-fair-tel-box {
    border-width: 4px;
    width: 500px;
    margin-top: 96px;
    margin-left: 14px;
    padding: 23px 44px 40px;
  }
  
  #job-fair .job-fair-tel-box .title {
    font-size: 24px;
    margin-bottom: 26px;
    padding: 6px 10px;
  }

  
  #job-fair .job-fair-tel-box .corp-name {
    font-size: 18px;
    margin-bottom: 18px;
  }
  
  #job-fair .job-fair-tel-box .number {
    font-size: 50px;
    margin-bottom: 18px;
  }
  
  #job-fair .job-fair-tel-box .number::before {
    width: 60px;
    height: 60px;
    top: calc(50% - 30px);
  }
  
  #job-fair .job-fair-tel-box .text {
    font-size: 20px;
  }
  
  #job-fair .job-fair-contact-info .mail-text {
    width: 500px;
    font-size: 20px;
    line-height: 2;
    margin-left: 14px;
  }

}



/*------------------------------------------------------------
pickup-jobs
------------------------------------------------------------*/ 


#pickup-jobs .pickup-jobs-overview .content-box{
  color: #000;
  position: relative;
  z-index: 0;
  max-width: 325px;
  margin: 0 auto 182px;
}

#pickup-jobs .pickup-jobs-overview .content-box:last-of-type{
  margin-bottom: 0;
}

#pickup-jobs .pickup-jobs-overview{
  background-color: #F3F1F1;
  padding: 94px 0 109px;
  margin-top: 73px;
}

#pickup-jobs .pickup-jobs-overview .content-box .bg{
  border: solid 2px #454040;
  border-radius: 15px 0 15px;
  background-image: url(../../uploads/pickup_content_bg01_sp.jpg);
  background-size: 100%;
  position: relative;
}

#pickup-jobs .pickup-jobs-overview .content-box .bg::before, #pickup-jobs .pickup-jobs-overview .content-box .bg::after, #pickup-jobs .pickup-jobs-overview .content-ttl::before{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

#pickup-jobs .pickup-jobs-overview .content-box .bg::before{
  max-width: 100px;
  max-height: 208px;
  background-image: url(../../uploads/pickup_content01_illust01_pc.png);
  left: -25px;
  bottom: -39px;
}

#pickup-jobs .pickup-jobs-overview .content-box .bg::after{
  max-width: 85px;
  max-height: 225px;
  background-image: url(../../uploads/pickup_content01_illust02.png);
  right: -12px;
  bottom: 21px;
}

#pickup-jobs .pickup-jobs-overview .content-box.box02 .bg{
  background-image: url(../../uploads/pickup_content_bg02_sp.jpg);
  background-size: cover;
}

#pickup-jobs .pickup-jobs-overview .content-box.box02 .bg::before{
  background-image: url(../../uploads/pickup_content02_illust01.png);
}

#pickup-jobs .pickup-jobs-overview .content-box.box02 .bg::after{
  background-image: url(../../uploads/pickup_content02_illust02.png);
  max-width: 75px;
  max-height: 194px;
}

#pickup-jobs .pickup-jobs-overview .content-box.box03 .bg::before{
  background-image: url(../../uploads/pickup_content03_illust01.png);
  max-width: 73px;
  max-height: 242px;
  left: -13px;
  bottom: -34px;
}

#pickup-jobs .pickup-jobs-overview .content-box.box03 .bg::after{
  background-image: url(../../uploads/pickup_content03_illust02.png);
  max-width: 88px;
  max-height: 220px;
}

#pickup-jobs .pickup-jobs-overview .content-ttl{
  font-size: 15px;
  font-weight: bold;
  line-height: 1.26;
  border: solid 2px #454040;
  background-color: #FFF;
  text-align: left;
  padding: 12px 23px;
  width: fit-content;
  max-width: 260px;
  margin: -21px auto 0;
  position: relative;
}

#pickup-jobs .pickup-jobs-overview .content-ttl::before{
  max-width: 100px;
  height: 68px;
  background-image: url(../../uploads/pickup_content01_ttl.png);
  left: -55px;
  top: -56px;
}

#pickup-jobs .pickup-jobs-overview .box03 .content-ttl::before{
  background-image: url(../../uploads/pickup_content03_ttl.png);
  max-width: 105px;
  height: 85px;
}

#pickup-jobs .pickup-jobs-overview .box02 .content-ttl::before{
  background-image: url(../../uploads/pickup_content02_ttl.png);
  left: unset;
  right: -69px;
  max-width: 120px;
  height: 81px;
}

#pickup-jobs .pickup-jobs-overview .box01 .content-ttl, #pickup-jobs .pickup-jobs-overview .box03 .content-ttl{
  transform: translateX(11px);
}

#pickup-jobs .pickup-jobs-overview .content-img{
  max-width: 250px;
  margin: 0 auto 15px;
}

#pickup-jobs .pickup-jobs-overview .tag{
  font-size: 13px;
  font-weight: 400;
  width: fit-content;
  background-color: #FFF;
  border: solid 1px #F08A33;
  padding: 1px 5px;
  margin-bottom: 5px;
}

#pickup-jobs .pickup-jobs-overview .tag:last-of-type{
  margin: 0;
}

#pickup-jobs .pickup-jobs-overview .tag::before{
  content: "#";
}

#pickup-jobs .pickup-jobs-overview .content-tag-wrap{
  width: 100%;
  max-width: 175px;
  margin: 0 auto;
}

#pickup-jobs .pickup-jobs-overview .content-inner-wrap{
  padding: 12px 0 28px;
}

#pickup-jobs .pickup-jobs-overview .btn-text{
  color: #FFF;
  width: fit-content;
  padding: 8px 38px;
  position: relative;
  z-index: 60;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.42;
}

#pickup-jobs .pickup-jobs-overview .btn-detail::before, #pickup-jobs .pickup-jobs-overview .btn-detail::after{
  content: "";
  display: block;
  width: 3px;
  height: 100%;
  position: absolute;
  top: 0;
  background-color: #ED6D00;
  transition: all .3s ease-out;
}

#pickup-jobs .pickup-jobs-overview .btn-detail::before{
  left: 0;
}

#pickup-jobs .pickup-jobs-overview .btn-detail::after{
  right: 0;
}

#pickup-jobs .pickup-jobs-overview .btn-detail{
  width: fit-content;
  margin: 21px auto 0;
  position: relative;
  background-color: #454040;
  filter: drop-shadow(0px 1px 2px rgba(0,0,0,0.16));
}

#pickup-jobs .pickup-jobs-overview .btn-detail:hover::before, #pickup-jobs .pickup-jobs-overview .btn-detail:hover::after{
  width: 50%;
}


@media print, screen and (min-width: 768px) {/* ---------- タブレット・PC以上 ---------- */
  #pickup-jobs .pickup-jobs-overview{
    margin-top: 145px;
    padding-top: 150px;
    padding: 150px 0 195px;
  }

  #pickup-jobs .pickup-jobs-overview .content-box{
    max-width: 1081px;
    margin-bottom: 245px;
  }

  #pickup-jobs .pickup-jobs-overview .content-box .bg{
    border: solid 4px #454040;
    background-image: url(../../uploads/pickup_content_bg01_pc.jpg);
    border-radius: 30px 0 30px;
  }

  #pickup-jobs .pickup-jobs-overview .content-box.box02 .bg{
    background-image: url(../../uploads/pickup_content_bg02_pc.jpg);
  }

  #pickup-jobs .pickup-jobs-overview .content-ttl{
    font-size: 30px;
    line-height: 1.46;
    width: 100%;
    max-width: 900px;
    padding-left: 300px;
    padding-right: 90px;
    margin-top: -43px;
    border: solid 4px #454040;
  }

  #pickup-jobs .pickup-jobs-overview .box02 .content-ttl{
    padding-left: 140px;
    padding-right: 280px;
  }

  #pickup-jobs .pickup-jobs-overview .content-ttl::before{
    max-width: 260px;
    height: 176px;
    top: -80px;
    left: 32px;
  }

  #pickup-jobs .pickup-jobs-overview .box02 .content-ttl::before{
    max-width: 276px;
    height: 194px;
    right: 36px;
    bottom: -33px;
  }

  #pickup-jobs .pickup-jobs-overview .content-inner-wrap{
    padding: 50px 0 36px;
  }

  #pickup-jobs .pickup-jobs-overview .content-inner{
    display: flex;
    justify-content: center;
    width: fit-content;
    margin: 0 auto;
  }

  #pickup-jobs .pickup-jobs-overview .content-img{
    max-width: 500px;
    margin: 0;
  }

  #pickup-jobs .pickup-jobs-overview .content-tag-wrap{
    max-width: unset;
    width: fit-content;
    margin-left: 19px;
  }

  #pickup-jobs .pickup-jobs-overview .tag{
    font-size: 18px;
    padding: 2px 10px;
    margin-bottom: 12px;
    border: solid 2px #F08A33
  }

  #pickup-jobs .pickup-jobs-overview .btn-text{
    font-size: 14px;
    padding: 12px 45px;
  }

  #pickup-jobs .pickup-jobs-overview .btn-detail::before, #pickup-jobs .pickup-jobs-overview .btn-detail::after{
    width: 4px;
  }

  #pickup-jobs .pickup-jobs-overview .btn-detail{
    margin-top: 30px;
  }

  #pickup-jobs .pickup-jobs-overview .content-box .bg::before{
    max-width: 250px;
    max-height: 520px;
    left: -60px;
    bottom: -41px;
  }

  #pickup-jobs .pickup-jobs-overview .content-box .bg::after{
    max-width: 170px;
    max-height: 450px;
    right: -59px;
    bottom: 38px;
  }

  #pickup-jobs .pickup-jobs-overview .content-box.box02 .bg::before{
    max-width: 210px;
    height: 470px;
    bottom: 34px;
  }

  #pickup-jobs .pickup-jobs-overview .content-box.box02 .bg::after{
    max-width: 176px;
    max-height: 454px;
    right: -50px;
    bottom: -40px;
  }

  #pickup-jobs .pickup-jobs-overview .box03 .content-ttl::before{
    max-width: 210px;
    height: 170px;
    left: 84px;
    bottom: -40px;
  }

  #pickup-jobs .pickup-jobs-overview .content-box.box03 .bg::before{
    max-width: 146px;
    max-height: 484px;
    left: -60px;
    bottom: -38px;
  }

  #pickup-jobs .pickup-jobs-overview .content-box.box03 .bg::after{
    max-width: 200px;
    max-height: 500px;
    bottom: 14px;
  }

}


/*------------------------------------------------------------
useful
------------------------------------------------------------*/

#useful .useful-overview{
  padding: 35px 0 50px;
}

#useful .useful-overview .common-heading02{
  margin-bottom: 0;
}

#useful .useful-column-selection .common-heading03{
  margin-bottom: 30px;
}

#useful .useful-column-selection .common-heading02{
  margin-bottom: 54px;
}

#useful .useful-common-ttl{
  margin-bottom: 40px;
  text-align: center;
}

#useful .useful-common-ttl .txt{
  display: inline-block;
  padding: 3px 5px 4px;
  background-color: #454040;
  color: #FF3C00;
  font-size: 15px;
  font-weight: 400;
  text-align: center;
  line-height: 1;
}

#useful .useful-column-selection{
  padding-bottom: 60px;
}

#useful .useful-column-selection-list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#useful .useful-column-selection-item{
  width: calc((100% - 15px ) / 2);
  min-height: 100px;
  margin-bottom: 15px;
  background-color: #DCEED8;
  border: solid 1px #454040;
  border-radius: 15px 0;
}

#useful .useful-column-selection-link{
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 20px 0;
  font-size: 14px;
  line-height: 1.28;
}

#useful .useful-column-selection-item:last-of-type,
#useful .useful-column-selection-item:nth-last-of-type(2){
  margin-bottom: 0;
}

#useful .useful-column-selection-link .txt{
  position: relative;
  z-index: 2;
  width: calc(100% - 10px);
  min-width: 158px;
  margin: 0 auto;
  padding-left: 10px;
}

#useful .useful-column-selection-link .ico{
  position: absolute;
  z-index: 1;
  bottom: 5px;
  right: 15px;
  width: 50px;
  height: 50px;
}

#useful .useful-column-selection-link .fas{
  position: absolute;
  z-index: 1;
  bottom: 10px;
  right: 5px;
  color: #FF3C00;
  font-size: 12px;
}

#useful .useful-column-check{
  padding: 50px 0 60px;
  background-color: #E9E7DF;
}

#useful .useful-column-check-list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#useful .useful-column-check-item{
  position: relative;
  width: calc((100% - 11px) / 2);
  margin-bottom: 10px;
  background: #fff;
  border: solid 2px #454040;
  border-radius: 15px 0;
  font-size: 13px;
  font-weight: 700;
}

#useful .useful-column-check-item-link{
  display: block;
  height: 250px;
  padding: 8px 8px 15px;
}

#useful .useful-column-check-item .fas{
  position: absolute;
  z-index: 1;
  bottom: 8px;
  right: 6px;
  color: #FF3C00;
  font-size: 12px;
}

#useful .useful-column-check-item-link .time{
  display: block;
  margin: 10px 0 3px;
  font-size: 12px;
}

#useful .useful-column-check-item-img{
  height: 110px;
  object-fit: cover;
}

#useful .useful-column-check-more{
  width: 200px;
  margin: 25px auto 0;
  cursor: pointer;
  font-size: 14px;
}

#useful .useful-column-check-more.link{
  display: flex!important;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #000;
}

#useful .useful-column-check-more.link::before,
#useful .useful-column-check-more.link::after{
  background-color: #000;
}

#useful .useful-column-check-more.link .txt{
  position: relative;
  padding-left: 70px;
}

#useful .useful-column-check-more.link .txt::before{
  position: absolute;
  content: "";
  background: url("../../uploads/note_logo.png")no-repeat center center / contain;
  width: 65px;
  height: 25px;
  left: 0;
  top: calc(50% - 12.5px);
}

#useful .useful-column-check-more.link .fas{
  position: absolute;
  top: 6px;
  right: 6px;
  font-size: 10px;
}

#useful .next-active .useful-column-check-more{
  display: none;
}

#useful .useful-commentary{
  padding: 54px 0 75px;
  background-color: #C8D4D7;
}

#useful .useful-commentary .common-heading03{
  margin-bottom: 32px;
}

#useful .useful-commentary .common-txt{
  width: calc(100% - 30px);
  margin: 0 auto 33px;
}

#useful .useful-commentary-list{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-between;
}

#useful .useful-commentary-list::after{
  content: "";
  display: block;
  width: calc((100% - 9px) / 3);
}

#useful .useful-commentary-item{
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc((100% - 9px) / 3);
  min-height: 168px;
  margin-bottom: 10px;
}

#useful .useful-commentary-item:last-of-type,
#useful .useful-commentary-item:nth-last-of-type(2){
  margin-bottom: 0;
}

#useful .useful-popup-item{
  display: none;
  height: 100%;
  padding: 20px 15px 7px;
}

#useful .useful-commentary-item .front{
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #ED6D00;
  border-radius: 10px;
  box-shadow: 0 2px 3px rgba(0,0,0,.16);
}

#useful .useful-commentary-item .front::before{
  position: absolute;
  content: "";
  background: url(../../uploads/infomation_commentary_ico.png)no-repeat center center / contain;
  width: 30px;
  height: 30px;
  bottom: 5px;
  right: 5px;
  z-index: 1;
}

#useful .useful-commentary-item .front a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: url(../../uploads/infomation_commentary_bg_sp.png)no-repeat center center / calc(100% - 10px) auto;
}

#useful .useful-commentary-item .popup-txt{
  color: rgba(255,255,255,.87);
  font-size: 15px;
  text-align: center;
  line-height: 1.3;
}

#useful .useful-commentary-item .popup-txt .kana{
  display: block;
  margin-top: 4px;
  color: rgba(69,64,64,.87);
  font-size: 12px;
}


#fancybox-outer{
  background-color: transparent;
  border-radius: 10px;
  box-shadow: 0 2px 3px rgba(0,0,0,.16)!important;
}

#fancybox-content{
  padding: 10px;
  background-color: #FCE2CC!important;
  border: none!important;
  border-radius: 10px;
}

#fancybox-content>*{
  height: 100%!important;
  background-color: #fff;
  border-radius: 10px;
}

#fancybox-prev span::after,
#fancybox-next span::after{
  top: calc(50% - 30px)!important;
  width: 25px!important;
  background: url(../../uploads/useful_popup_arrow.png)no-repeat center center /contain;
  height: 60px!important;
  border: none!important;
  transform: none!important;
  right: 1px!important;
}

#fancybox-prev span::after{
  left: 1px!important;
  transform: rotate(180deg)!important;
}

#fancybox-close:hover span,
#fancybox-next:hover span,
body.rtl #fancybox-prev:hover span,
#fancybox-prev:hover span,
body.rtl #fancybox-next:hover span{
  transform: rotate(0deg)!important;
}


#fancybox-outer .fancy-ico span{
  border: none!important;
  background: none!important;
  box-shadow: none!important;
}

#fancybox-close span::after,
#fancybox-close span::before {
  top: 40px!important;
  left: -28px!important;
  width: 22px!important;
  height: 2px!important;
  background-color: #FF3C00!important;
}

.useful-popup-item{
  min-height: 400px;
  position: relative;
  padding: 20px 15px 7px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.useful-popup-item-ttl{
  margin-bottom: 30px;
  color: #ED6D00;
  font-size: 20px;
  text-align: center;
}

.useful-popup-item-ttl .kana{
  display: block;
  color: rgba(69,64,64,.87);
  font-size: 13px;
}

.useful-popup-item-txt{
  position: relative;
  z-index: 1;
  width: calc(100% - 75px);
  min-width: 200px;
  margin: 0 auto 1em;
  font-size: 15px;
  line-height: 1.4;
}

.useful-popup-item-txt.sp-13{
  font-size: 13px;
}

.useful-popup-item-txt:last-of-type{
  margin-bottom: 0;
}

.useful-popup-item.w-100 .useful-popup-item-txt,
.useful-popup-item-list{
  width: 100%;
  min-height: auto;
  font-size: 13px;
}

.useful-popup-item-list{
  position: relative;
  z-index: 1;
  margin-top: 30px;
  margin-bottom: 20px;
}

.useful-popup-item-list .list-item-txt{
  margin-bottom: 1em;
}

.useful-popup-item .num{
  position: absolute;
  width: 100%;
  bottom: 7px;
  font-size: 11px;
  font-weight: 500;
  text-align: center;
}

.useful-popup-item .ico{
  position: absolute;
  width: 85px;
  right: 25px;
  bottom: 25px;
}

.useful-popup-item.w-100 .ico{
  position: absolute;
  width: 125px;
  right: 0;
  bottom: 0;
}

#useful .useful-link-block{
  width: calc(100% - 24px);
  margin: 0 auto 60px;
  text-align: center;
}

#useful .useful-link-list{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  grid-gap: 33px 11px;
  margin-bottom: 75px;
}

#useful .useful-link-txt{
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
}
@media print, screen and (max-width: 374px){
  #useful .useful-link-txt{
    font-size: 13px;
  }
}

#useful .useful-nav-link{
  width: calc(100% - 24px);
  max-width: 800px;
  margin: 60px auto;
  text-align: center;
}
@media print, screen and (max-width: 767px) {
  #popup17 .useful-popup-item-txt:nth-of-type(2),
  #popup17 .useful-popup-item-txt:nth-of-type(3){
    margin-bottom: 40px;
  }

  #popup18 .useful-popup-item-txt:nth-of-type(3){
    margin-bottom: 90px;
  }

  #popup18 .useful-popup-item-txt:nth-of-type(4){
    margin-bottom: 50px;
  }
  
  #popup19 .useful-popup-item-txt:nth-of-type(3){
    margin-bottom: 88px;
  }
  
  #popup20 .useful-popup-item-txt{
    margin-bottom: 110px;
  }
  
  #popup20 .useful-popup-item-txt:nth-of-type(3){
    margin-bottom: 100px;
  }
}
@media print, screen and (min-width: 768px) {

  #useful .useful-overview{
    padding: 55px 0 120px;
  }

  #useful .useful-column-selection .common-heading03{
    margin-bottom: 60px;
  }

  #useful .useful-column-selection .common-heading02{
    margin-bottom: 118px;
  }

  #useful .useful-common-ttl{
    margin-bottom: 70px;
  }

  #useful .useful-common-ttl .txt{
    padding: 5px 10px 7px;
    font-size: 28px;
  }

  #useful .useful-column-selection{
    padding-bottom: 100px;
  }

  #useful .useful-column-selection-item{
    width: calc((100% - 30px ) / 3);
    margin-bottom: 46px;
    border: solid 2px #454040;
    border-radius: 30px 0;
    transition: all .3s;
  }
  
  #useful .useful-column-selection-item:hover{
    background-color: rgba(220,238,216,.7);
  }

  #useful .useful-column-selection-link{
    padding: 40px 0;
    font-size: 20px;
    line-height: 1.5;
  }

  #useful .useful-column-selection-item:nth-last-of-type(3){
    margin-bottom: 0;
  }

  #useful .useful-column-selection-link .txt{
    width: calc(100% - 46px);
    padding-left: 0;
  }

  #useful .useful-column-selection-link .ico{
    bottom: calc(50% - 50px);
    right: 30px;
    width: 100px;
    height: 100px;
    transition: all .3s;
  }

  #useful .useful-column-selection-link .fas{
    bottom: 26px;
    right: 20px;
    font-size: 16px;
    transition: all .3s;
  }
  
  #useful .useful-column-selection-item:hover .ico{
    opacity: .7;
  }
  
  #useful .useful-column-selection-item:hover .fas{
    right: 10px;
  }
  
  #useful .useful-column-check{
    padding: 104px 0;
  }
  
  #useful .useful-column-check-list::after{
    display: block;
    content: "";
    width: calc((100% - 60px) / 3);
  }

  #useful .useful-column-check-item{
    width: calc((100% - 60px) / 3);
    margin-bottom: 50px;
    border-radius: 30px 0;
    font-size: 18px;
  }
  
  #useful .useful-column-check-item-link{
    height: 460px;
    padding: 20px;
  }
  
  #useful .useful-column-check-item .fas{
    bottom: 26px;
    right: 20px;
    font-size: 16px;
    transition: all .3s;
  }

  #useful .useful-column-check-item-link .time{
    margin: 30px 0 8px;
    font-size: 16px;
  }

  #useful .useful-column-check-item-img{
    height: 255px;
    object-fit: cover;
    transition: all .3s;
  }

  #useful .useful-column-check-more{
    width: 500px;
    margin: 0 auto;
    background-color: #000;
    font-size: 18px;
    transition: all .3s;
  }
  
  #useful .useful-column-check-more::before{
    left: calc(-100% + 8px);
  }
  
  #useful .useful-column-check-more::after{
    right: calc(-100% + 8px);
  }
  
  #useful .useful-column-check-more.link:hover{
    color: #fff;
  }
  
  #useful .useful-column-check-more.link .txt{
    padding-left: 110px;
  }
  
  #useful .useful-column-check-more.link .txt::before{
    width: 100px;
    height: 38px;
    top: calc(50% - 19px);
    transition: all .3s;
  }
  
  #useful .useful-column-check-more.link:hover .txt::before{
    background: url("../../uploads/note_logo_hover.png")no-repeat center center / contain;
  }
  
  #useful .useful-column-check-more.link .fas{
    right: 12px;
    transition: all .3s;
  }
  
  #useful .useful-column-check-more.link:hover .fas{
    color: #fff;
    z-index: 1;
  }
  
  #useful .useful-column-check-item:hover .fas{
    right: 10px;
  }
  
  #useful .useful-column-check-item:hover .useful-column-check-item-img{
    opacity: .7;
  }
  
  #useful .useful-commentary{
    padding: 100px 0 150px;
  }

  #useful .useful-commentary .common-heading02{
    margin-bottom: 40px;
  }

  #useful .useful-commentary .common-heading03{
    margin-bottom: 60px;
  }

  #useful .useful-commentary .common-txt{
    margin: 0 auto 100px;
    text-align: center;
  }
  
  #useful .useful-commentary-item{
    width: calc((100% - 60px) / 3);
    height: 480px;
    position: relative;
    perspective: 1000px;
    margin-bottom: 30px;
    cursor: pointer;
    transition: all .3s;
  }
  
  #useful .useful-commentary-item.w-100{
    width: 100%;
    perspective: 3000px;
  }
  
  #useful .useful-commentary-item.w-50{
    width: calc((100% - 16px) / 2);
    perspective: 2000px;
  }
  
  #useful .useful-commentary-item .front{
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 20px;
    transform: rotate(0);
    transition: 2s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);
    z-index: 1;
  }
  
  #useful .useful-commentary-item .front::before{
    width: 60px;
    height: 60px;
    bottom: 10px;
    right: 10px;
  }
  
  #useful .useful-commentary-item .front a{
    pointer-events: none;
    background: url(../../uploads/infomation_commentary_bg_pc.png)no-repeat center center / 368px auto;
  }
  
  #useful .useful-commentary-item .popup-txt{
    font-size: 30px;
    line-height: 1.1;
  }
  
  #useful .useful-commentary-item .popup-txt .kana{
    margin-top: 12px;
    font-size: 18px;
  }

  #useful .useful-commentary-item .back{
    transform: rotateY(-180deg);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 15px;
    background-color: #FCE2CC;
    border-radius: 20px;
    transition: 2s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);
  }
  
  #useful .useful-commentary-item.active .front{
    z-index: 0;
    transform: rotateY(180deg);
  }
  
  #useful .useful-commentary-item.active .back{
    transform: rotate(0);
  }
  
  #useful .useful-popup-item{
    display: block;
    height: 100%;
    min-height: auto;
    background-color: #fff;
    border-radius: 20px;
  }
  
  #useful .useful-popup-item-txt{
    width: 100%;
    font-size: 18px;
    line-height: 2;
  }
  
  #useful .useful-popup-item-txt.sp-13{
    font-size: 16px;
  }
  
  #useful .useful-popup-item-txt.pc-18{
    font-size: 18px;
  }
  
  #useful .useful-popup-item.w-100{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 20px 15px;
  }
  
  #useful .useful-popup-txt-block{
    width: calc(50% - 110px);
  }
  
  #useful .useful-popup-txt-block .useful-popup-item-txt{
    width: calc(100% - 120px);
    margin: 0 auto;
    padding-right: 15px;
  }
  
  #useful .useful-popup-item-list{
    width: calc(50% + 110px);
    margin: 10px 0;
    font-size: 16px;
    line-height: 1.75em;
  }
  
  #useful .useful-popup-item-list .list-item-txt{
    margin-bottom: 1.75em;
  }
  
  #useful .useful-popup-item-ttl{
    margin-bottom: 40px;
    font-size: 31px;
  }
  
  #useful .useful-popup-item-ttl .kana{
    font-size: 18px;
  }
  
  #useful .useful-popup-item .num{
    display: none;
  }
  
  #useful .useful-popup-item .ico{
    width: 150px;
    right: 0;
    bottom: 0;
  }

  #useful .useful-popup-item.w-100 .ico{
    width: 250px;
  }
  
  #useful #popup09 .useful-popup-item-txt{
    margin-bottom: 30px;
  }
  
  #useful #popup17,
  #useful #popup18,
  #useful #popup19,
  #useful #popup20{
    padding: 10px 30px;
  }
  
  #useful #popup17 .useful-popup-item-ttl,
  #useful #popup18 .useful-popup-item-ttl{
    margin-bottom: 20px;
  }
  
  #useful #popup18 .useful-popup-item-txt{
    margin-bottom: 30px;
  }
  
  #useful #popup19 .useful-popup-item-ttl{
    margin-bottom: 10px;
  }
  
  #useful #popup20 .useful-popup-item-ttl{
    margin-bottom: 10px;
    line-height: 1.2;
  }
  
  #useful #popup20 .useful-popup-item-ttl kana{
    margin-top: 6px;
  }
  
  #useful .useful-link-block{
    max-width: 800px;
    margin: 0 auto 100px;
  }
  
  #useful .useful-link-list{
    grid-gap: 90px 80px;
    margin-bottom: 120px;
  }
  
  #useful .useful-link-block a,
  #useful .useful-link-item a,
  #useful .useful-nav-link a{
    transition: all .3s;
  }
  
  #useful .useful-link-block a:hover,
  #useful .useful-link-item a:hover,
  #useful .useful-nav-link a:hover{
    opacity: .7;
  }
  
  #useful .useful-link-txt{
    font-size: 22px;
  }

  #useful .useful-nav-link{
    margin: 100px auto;
  }
}



@media print, screen and (min-width: 1280px) {
  
  #useful .useful-commentary-item:hover{
    transform: scale(1.02);
  }
  
  #useful .useful-commentary-item .front::before{
    content: none;
  }
}


/*------------------------------------------------------------
event
------------------------------------------------------------*/ 
#event .common-main-block .inner {
  bottom: -72px;
}

#event .common-main-block {
  margin-bottom: 72px;
}

#event .common-heading .letter-top{
  min-height: 68px;
}

#event .common-heading .letter-top .line{
  letter-spacing: -.1em;
}

#event .event-content-block {
  padding: 60px 0 96px;
}

#event .event-inner {
  width: calc(100% - 75px);
  max-width: 960px;
  text-align: center;
  margin: 0 auto;
}


#event .event-img {
  margin-bottom: 30px;
}

#event .event-gift-btn{
  margin: 30px auto;
}

#event .event-link-offer {
  margin: 13px auto 24px;
}

#event .event-btn-flex{
  display: flex;
  justify-content: space-between;
}

#event .event-link-btn{
  width: calc((100% - 11px) / 2);
}

#event .event-text-block {
  padding-left: 31px;
}

#event .event-text::before {
  display: inline;
  content: "※";
  margin-right: 4px;
}

#event .event-text {
  text-indent: -17px;
}

@media print, screen and (min-width: 768px) {/* ---------- タブレット・PC以上 ---------- */
  #event .event-content-block a:hover img {
    opacity: .7;
    transition: .3s;
  }
  
  #event .common-heading .letter-top .line{
    letter-spacing: 0;
  }

  #event .common-main-block .inner {
    bottom: -92px;
  }
  
  #event .common-main-block {
    margin-bottom: 92px;
  }
  
  #event .event-content-block {
    padding: 100px 0 150px;
  }
  
  #event .event-inner{
    max-width: 920px;
  }

  
	
/*#event .event-img{
		margin-bottom: 80px;
	}
	*/
	
	#event .event-btn-flex.event-img{
		margin-bottom: 120px;
	}
  
  #event .event-gift-btn{
    margin-top: 55px;
    margin-bottom: 57px;
  }
  
  #event .event-link-offer{
    margin-top: 30px;
    margin-bottom: 50px;
    }
  
  #event .event-link-btn {
    width: calc((100% - 20px) / 2);
  }
  
  #event .event-text-block {
    max-width: 923px;
    padding-left: 23px;
  }
  
  #event .event-text::before {
    margin-right: 5px;
  }
  
  #event .event-text {
    text-indent: -23px;
  }
}

/*------------------------------------------------------------
system
------------------------------------------------------------*/ 

#system .system-inner{
  width: calc(100% - 24px);
  max-width: 920px;
  padding: 60px 0 0;
  text-align: center;
  margin: 0 auto;
}

#system .system-link-block{
  position: relative;
  max-width: 1350px;
  margin: 0 auto;
}

#system .system-link{
  width: calc(100vw / 1798 * 800);
  max-width: 681px;
  display: block;
  position: absolute;
  bottom: calc(100vw / 1798 * 120);
  left: calc(100vw / 1798 * 300);
}
@media print, screen and (min-width: 768px){
  #system .system-link{
    left: 200px;
    transition: all .3s;
  }
  
  #system .system-link:hover{
    opacity: .7;
  }
}
@media print, screen and (min-width: 1350px){
  #system .system-link{
    bottom: 80px;
    left: 212px;
  }
}

/*------------------------------------------------------------
dormitory
------------------------------------------------------------*/ 
#dormitory {
  overflow: hidden;
}

#dormitory .common-main-block {
  margin-bottom: 0;
}

#dormitory .common-txt {
  font-size: 14px;
  line-height: 1.6;
}

#dormitory .dormitory-overview {
  background-color: #F5F1F2;
  padding-top: 60px;
}

#dormitory .dormitory-top-slider .slick-slide{
  transform: translateX(10%);
}

#dormitory .dormitory-link-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: -22px;
  padding-bottom: 50px;
}

#dormitory .dormitory-link-item {
  width: 250px;
  margin-bottom: 25px;
}

#dormitory .dormitory-link-item:last-of-type {
  margin-bottom: auto;
}

#dormitory .btn-shutter {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 500;
  padding: 11px 0px;
}

#dormitory .btn-shutter::before,
#dormitory .btn-shutter::after {
  background: #454040;
}

#dormitory .btn-shutter {
  background: #ED6D00;
}

#dormitory .btn-shutter.recruit {
  background: #52A93F;
}

#dormitory .dormitory-menu-wrap {
  background-color: #F5F1F2;
  padding-bottom: 40px;
}

#dormitory .dormitory-menu-ttl {
  text-align: center;
  margin-bottom: 15px;
}

#dormitory .dormitory-menu-ttl .ttl-top {
  position: relative;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 4px;
}

#dormitory .dormitory-menu-ttl .ttl-top::before,
#dormitory .dormitory-menu-ttl .ttl-top::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 19px;
  bottom: 0;
}

#dormitory .dormitory-menu-ttl .ttl-top::before {
  background: url("../../uploads/dormitory_ttl_deco_left.png") no-repeat center center / contain;
  right: calc(100% + 13px);
}

#dormitory .dormitory-menu-ttl .ttl-top::after {
  background: url("../../uploads/dormitory_ttl_deco_right.png") no-repeat center center / contain;
  left: calc(100% + 13px);
}

#dormitory .dormitory-menu-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
}

#dormitory .dormitory-menu-item {
  position: relative;
  width: calc((100% - 15px) / 2);
  max-width: 380px;
  background: #DCEED8;
  border-radius: 15px 0 15px 0;
  border: solid 2px #454040;
}

#dormitory .dormitory-menu-item::before {
  position: absolute;
  content: "";
  width: 40px;
  height: 40px;
  background: url("../../uploads/dormitory_link_icon01.png") no-repeat center center / contain;
  bottom: 3px;
  right: 3px;
}

#dormitory .dormitory-menu-item:nth-of-type(2)::before {
  background-image: url("../../uploads/dormitory_link_icon02.png");
}

#dormitory .dormitory-menu-item:nth-of-type(3)::before {
  background-image: url("../../uploads/dormitory_link_icon03.png");
}

#dormitory .dormitory-menu-item:nth-of-type(4)::before {
  background-image: url("../../uploads/dormitory_link_icon04.png");
}

#dormitory .dormitory-menu-item:nth-of-type(5)::before {
  background-image: url("../../uploads/dormitory_link_icon05.png");
  right: 1px;
}

#dormitory .dormitory-menu-item .menu-item {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 8px 5px 17px 8px;
}

#dormitory .dormitory-menu-item .menu-item::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 9px;
  background: url("../../uploads/dormitory_icon_arrow_orange.png") no-repeat center center / contain;
  bottom: 3px;
  left: calc(50% - 16px);
}

#dormitory .dormitory-menu-item .num {
  display: block;
  color: #52A93F;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
}

#dormitory .dormitory-menu-item .txt {
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.08em;
  line-height: 1.4;
}

#dormitory .dormitory-section-wrap {
  padding-top: 60px;
  padding-bottom: 30px;
}

#dormitory .dormitory-section {
  padding-bottom: 75px;
  padding-top: 30px;
  margin-top: -30px;
}

#dormitory .dormitory-section:last-of-type {
  padding-bottom: 50px;
}

#dormitory .charm-heading {
  position: relative;
  display: flex;
  padding-bottom: 5px;
  margin-bottom: 25px;
}

#dormitory .charm-heading::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  background: #454040;
  border-radius: 2px;
  left: 0;
  bottom: 0;
}

#dormitory .charm-heading .num-wrap {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  align-items: center;
  color: #52A93F;
  margin-right: 16px;
}

#dormitory .charm-heading .num-wrap .ja {
  font-size: 14px;
  font-weight: 700;
}

#dormitory .charm-heading .num-wrap .num {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
}

#dormitory .charm-heading .ttl {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  padding-top: 17px;
}

#dormitory #charm05 .charm-heading .ttl {
  margin-left: -5px;
}

#dormitory .charm01-item {
  position: relative;
  border-radius: 15px 0 15px 0;
  border: solid 2px #454040;
  padding: 18px 16px;
}

#dormitory .charm01-item:first-of-type {
  margin-bottom: 47px;
}

#dormitory .charm01-item:first-of-type::before {
  position: absolute;
  content: "";
  width: 25px;
  height: 25px;
  background: url("../../uploads/dormitory_icon_plus.png") no-repeat center center / contain;
  left: 50%;
  top: calc(100% + 11px);
  transform: translateX(-50%);
}

#dormitory .charm01-item .ttl {
  color: #52A93F;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 17px;
  margin-top: 7px;
}

#dormitory .supply-item {
  position: relative;
  width: calc((100% - 50px) / 2);
  max-width: 150px;
  text-align: center;
  border-radius: 15px 0 15px 0;
  border: solid 2px #454040;
  padding: 6px 10px;
}

#dormitory .supply-item .txt {
  font-size: 14px;
  margin-top: 5px;
}

#dormitory .supply-list {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 50px;
}

#dormitory .supply-list::before {
  position: absolute;
  content: "";
  width: 18px;
  height: 18px;
  background: url("../../uploads/dormitory_icon_plus.png") no-repeat center center / contain;
  left: 50%;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
}

#dormitory .supply-list::after {
  position: absolute;
  content: "";
  width: 18px;
  height: 12px;
  background: url("../../uploads/dormitory_icon_equal.png") no-repeat center center / contain;
  left: 50%;
  top: calc(100% + 12px);
  transform: translateX(-50%) rotate(90deg);
}

#dormitory .charm02-top-wrap .charm02-txt {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  margin-top: 43px;
}

#dormitory .staff-voice {
  position: relative;
  border: solid 5px #FCE2CC;
  padding: 9px 13px 20px;
  margin-bottom: 20px;
}

#dormitory .staff-voice:first-of-type {
  margin-top: 72px;
}

#dormitory .staff-voice:last-of-type {
  margin-bottom: auto;
}

#dormitory .staff-voice::before {
  position: absolute;
  content: "";
  width: min(90px, calc(100vw / 375 * 90));
  height: min(90px, calc(100vw / 375 * 90));
  background: url("../../uploads/dormitory_charm02_voice_icon_sp.png") no-repeat center center / contain;
  left: 18px;
  bottom: calc(100% - 45px);
}

#dormitory .staff-voice .staff-voice-ttl {
  color: #ED6D00;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  padding-left: 38px;
  margin-bottom: 30px;
}

#dormitory .staff-voice .staff-voice-txt {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  grid-row-gap: 16px;
}

#dormitory .staff-voice-txt .common-txt.bold {
  font-weight: 700;
}

#dormitory .staff-voice-txt .common-txt.text-right {
  margin-right: 8px;
}

#dormitory .staff-voice-txt .common-txt.voice {
  grid-column: 1/3;
}

#dormitory .charm02-voice-wrap .img {
  margin-top: 20px;
}

#dormitory  .description-block {
  margin-bottom: 20px;
}

#dormitory .description-heading {
  text-align: center;
  color: #52A93F;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 30px;
}

#dormitory .dormitory-type {
  background: #F5F1F2;
  padding: 20px calc(100vw / 375 * 13) 20px calc(100vw / 375 * 12);
  display: flex;
  justify-content: space-evenly;
}

#dormitory .dormitory-type .ttl {
  position: relative;
  height: fit-content;
  text-align: center;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 2px 5px;
  margin-right: 24px;
}

#dormitory .dormitory-type .ttl::before {
  position: absolute;
  content: "";
  width: 90px;
  height: 65px;
  background: url("../../uploads/dormitory_charm03_top_illust_sp.png") no-repeat center center / contain;
  left: calc(50% - 45px);
  top: calc(100% + 12px);
}

#dormitory .dormitory-type .detail {
  flex-shrink: 0;
}

#dormitory .dormitory-type .detail-item {
  font-size: 14px;
  margin-bottom: 8px;
}

#dormitory .dormitory-type .detail-item:last-of-type {
  margin-bottom: 0;
}

#dormitory .dormitory-type .detail-item .type {
  display: inline-block;
  position: relative;
  margin-right: 32px;
  font-weight: 700
}

#dormitory .dormitory-type .detail-item .type::before {
  position: absolute;
  content: "";
  width: 2px;
  height: 13px;
  background: #454040;
  border-radius: 2px;
  top: calc(50% - 6px);
  right: -17px;
}

#dormitory .dormitory-common-list-wrap {
  border: solid 8px #DCEED8;
  margin-top: 25px;
  padding: 21px 10px;
}

#dormitory .dormitory-common-list-wrap .ttl,
#dormitory .room-list-wrap .ttl {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 20px;
}

#dormitory .dormitory-common-list-wrap .ttl::before,
#dormitory .room-list-wrap .ttl::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #52A93F;
  margin-bottom: 2px;
  margin-right: 5px;
}

#dormitory .dormitory-common-list-wrap .note {
  font-size: 13px;
  margin-bottom: 8px;
}

#dormitory .dormitory-common-list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

#dormitory .dormitory-common-list-item {
  width: calc((100% - 30px) / 3);
  max-width: 150px;
  text-align: center;
  border-radius: 15px 0 15px 0;
  border: solid 1px #454040;
  padding: 10px 3px;
}

#dormitory .dormitory-common-list-item .img {
  max-width: 60px;
  margin: 0 auto;
}

#dormitory .dormitory-common-list-item .txt-box {
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
}

#dormitory .dormitory-common-list-item .txt {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
}

#dormitory .dormitory-common-list-wrap .comment {
  text-align: center;
  margin-top: 20px;
  font-size: 13px;
}

#dormitory .dormitory-common-list-wrap .comment .link-txt {
  display: inline-block;
  color: #ED6D00;
  border-bottom: solid 1px #ED6D00;
  margin-top: 6px;
}

#dormitory .dormitory-common-list-wrap .comment .link-txt::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 8px;
  background: url("../../uploads/dormitory_icon_arrow_orange.png") no-repeat center center / contain;
  margin-left: 4px;
}

#dormitory .dormitory-common-heading {
  text-align: center;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 30px;
  margin-top: 40px;
}

#dormitory .dormitory-common-heading .ttl {
  color: #52A93F;
  font-size: 15px;
  margin-top: 7px;
}

#dormitory .dormitory-common-heading .sub-ttl {
  position: relative;
  display: inline-block;
  font-size: 14px;
}


#dormitory .dormitory-common-heading .sub-ttl::before,
#dormitory .dormitory-common-heading .sub-ttl::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 19px;
  bottom: 0;
}

#dormitory .dormitory-common-heading .sub-ttl::before {
  background: url("../../uploads/dormitory_ttl_deco_left.png") no-repeat center center / contain;
  right: calc(100% + 13px);
}

#dormitory .dormitory-common-heading .sub-ttl::after {
  background: url("../../uploads/dormitory_ttl_deco_right.png") no-repeat center center / contain;
  left: calc(100% + 13px);
}

#dormitory .room-list-wrap {
  padding: 0 18px;
}

#dormitory .room-item {
  margin-bottom: 28px;
}

#dormitory .room-item:last-of-type {
  margin-bottom: auto;
}

#dormitory .room-item .txt {
  font-size: 13px;
  margin-top: 12px;
  line-height: 1.4;
}

#dormitory .charm03-voice-wrap .staff-voice:not(:last-of-type) {
  margin-bottom: 62px;
}

#dormitory .charm03-voice-wrap .staff-voice:first-of-type::before {
  background-image: url("../../uploads/dormitory_charm03_voice01_icon_sp.png");
}

#dormitory .charm03-voice-wrap .staff-voice:nth-of-type(2)::before {
  background-image: url("../../uploads/dormitory_charm03_voice02_icon_sp.png");
}

#dormitory .charm04-rental-wrap .dormitory-common-list-item .txt {
  margin-top: 6px;
}

#dormitory .pet-list-item {
  width: calc((100% - 30px) / 3);
}

#dormitory .pet-list-item .txt {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  margin-top: 5px;
}

#dormitory .charm05-pet-wrap {
  position: relative;
  padding-bottom: calc(100vw / 375 * 60);
  z-index: 0;
}

#dormitory .charm05-pet-wrap::before {
  position: absolute;
  content: "";
  width: calc(100vw / 375 * 155);
  height: calc(100vw / 375 * 190);
  background: url("../../uploads/dormitory_charm05_pet_illust.png") no-repeat center center / contain;
  bottom: 0;
  right: 0;
  z-index: -1;
}

#dormitory .dormitory-section-wrap .note {
  font-size: 14px;
  line-height: 1.5;
  width: calc(100% + 8px);
}

#dormitory .dormitory-content-bottom {
  background: #DDE4E6;
}

#dormitory .bottom-link-wrap {
  padding-top: 40px;
}

#dormitory .bottom-link-heading {
  position: relative;
  max-width: 240px;
  margin: 0 auto;
}

#dormitory .bottom-link-heading::before {
  position: absolute;
  content: "";
  width: 75px;
  height: 55px;
  background: url("../../uploads/dormitory_content_bottom_ttl_icon_sp.png") no-repeat center center / contain;
  bottom: 3px;
  right: -8px;
}

#dormitory .bottom-link-heading .sub-ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 17px;
  font-weight: 700;
  text-align: right;
  padding-right: 10px;
  margin-bottom: 10px;
}

#dormitory .bottom-link-heading .sub-ttl::before {
  content: "";
  display: inline-block;
  width: 130px;
  height: 2px;
  background: #52A93F;
  border-radius: 2px;
}

#dormitory .ttl-orange-wrap {
  font-size: 30px;
  display: flex;
  justify-content: space-between;
}

#dormitory .ttl-orange-wrap .letter {
  width: 48px;
  height: 48px;
  text-align: center;
  border-radius: 50%;
  background: #ED6D00;
  color: #fff;
  border: solid 1px #ED6D00;
}

#dormitory .ttl-orange-wrap .letter:nth-of-type(2n) {
  color: #ED6D00;
  background: #fff;
}

#dormitory .bottom-link-heading .ttl-bottom {
  font-size: 39px;
  font-weight: 700;
  letter-spacing: .1em;
}

#dormitory .bottom-link-wrap .description-txt {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
  margin-top: 20px;
}

#dormitory .bottom-link-wrap .dormitory-link-list {
  margin-top: 30px;
}

#dormitory .dormitory-content-bottom .bottom-img {
  width: calc(100% + 24px);
  margin-left: -12px;
}

@media print, screen and (min-width: 768px) {/* ---------- タブレット・PC以上 ---------- */
  #dormitory .dormitory-overview {
    padding-top: 120px;
  }
  
  #dormitory .common-txt {
    font-size: 18px;
    line-height: 1.8;
  }
  
  #dormitory .dormitory-top-slider .slick-slide{
    transform: translateX(75%);
  }

  #dormitory .dormitory-link-list {
    flex-direction: row;
    justify-content: space-between;
    max-width: 886px;
    padding-bottom: 100px;
    margin-top: -50px;
  }
  
  #dormitory .dormitory-link-item {
    width: 400px;
    margin-bottom: auto;
  }
  
  #dormitory .btn-shutter {
    font-size: 24px;
    padding: 20px 0;
  }
  
  #dormitory .dormitory-menu-wrap {
    padding-bottom: 80px;
  }
  
  #dormitory .dormitory-menu-ttl {
    margin-bottom: 24px;
  }
  
  #dormitory .dormitory-menu-ttl .ttl-top {
    font-size: 22px;
  }
  
  #dormitory .dormitory-menu-ttl .ttl-top::before, #dormitory .dormitory-menu-ttl .ttl-top::after {
    width: 30px;
    height: 38px;
    bottom: -2px;
  }
  
  #dormitory .dormitory-menu-ttl .ttl-top::before {
    right: calc(100% + 22px);
  }
  
  #dormitory .dormitory-menu-ttl .ttl-top::after {
    left: calc(100% + 22px);
  }
  
  #dormitory .dormitory-menu-list {
    gap: 30px;
  }
  
  #dormitory .dormitory-menu-item {
    width: calc((100% - 60px) / 3);
    border-radius: 30px 0 30px 0;
    transition: all .3s;
  }
  
  #dormitory .dormitory-menu-item::before {
    width: 80px;
    height: 80px;
    bottom: 27px;
    right: 24px;
    transition: all .3s;
  }
  
  #dormitory .dormitory-menu-item:nth-of-type(5)::before {
    right: 19px;
  }
  
  #dormitory .dormitory-menu-item .menu-item {
    padding: 16px 24px 30px;
  }
  
  #dormitory .dormitory-menu-item .menu-item::before {
    width: 16px;
    height: 14px;
    bottom: 10px;
    transition: all .3s;
  }
  
  #dormitory .dormitory-menu-item .num {
    font-size: 30px;
    transition: all .3s;
  }
  
  #dormitory .dormitory-menu-item .txt {
    font-size: 18px;
    letter-spacing: 0;
    line-height: 1.66;
    transition: all .3s;
  }
  
  #dormitory .dormitory-menu-item:nth-of-type(5) .txt {
    letter-spacing: -0.05em;
  }
   
  #dormitory .dormitory-menu-item:hover::before {
    opacity: .7;
  }
  
  #dormitory .dormitory-menu-item:hover .menu-item::before {
    transform: translateY(5px);
  }
  
  #dormitory .dormitory-menu-item:hover .menu-item .num ,
  #dormitory .dormitory-menu-item:hover .menu-item .txt {
    opacity: .7;
  }
  
  #dormitory .dormitory-section-wrap {
    padding-top: 120px;
    padding-bottom: 110px;
  }
  
  #dormitory .dormitory-section {
    padding-bottom: 120px;
    padding-top: 50px;
    margin-top: -50px;
  }
  
  #dormitory .charm-heading {
    align-items: flex-end;
    padding-bottom: 8px;
    margin-bottom: 50px;
  }
  
  #dormitory .charm-heading .num-wrap {
    margin-right: 32px;
  }
  
  #dormitory .charm-heading .num-wrap .ja {
    font-size: 28px;
  }
  
  #dormitory .charm-heading .num-wrap .num {
    font-size: 70px;
    margin-top: -4px;
  }
  
  #dormitory .charm-heading .ttl {
    font-size: 28px;
    padding-bottom: 20px;
  }
  
  #dormitory .charm01-list {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  
  #dormitory .charm01-list::before {
    position: absolute;
    content: "";
    width: 36px;
    height: 36px;
    background: url("../../uploads/dormitory_icon_plus.png") no-repeat center center / contain;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  
  #dormitory .charm01-item {
    max-width: 560px;
    border-radius: 30px 0 30px 0;
    padding: 20px 32px 32px;
  }
  
  #dormitory .charm01-item:first-of-type {
    margin-bottom: 0;
  }
  
  #dormitory .charm01-item:first-of-type::before {
    content: none;
  }
  
  #dormitory .charm01-item .txt-block {
    max-width: 480px;
    margin: 0 auto;
  }
  
  #dormitory .charm01-item .ttl {
    font-size: 24px;
    margin-top: 30px;
  }
  
  #dormitory .charm02-top-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  #dormitory .charm02-top-wrap .charm02-txt {
    font-size: 24px;
    margin-top: 0;
    margin-left: 80px;
  }
  
  #dormitory .supply-list {
    gap: 80px;
    margin-left: 24px;
  }
  
  #dormitory .supply-list::before {
    width: 36px;
    height: 30px;
  }
  
  #dormitory .supply-list::after {
    width: 36px;
    height: 24px;
    left: calc(100% + 22px);
    top: 50%;
    transform: translateY(-50%);
  }
  
  #dormitory .supply-item {
    width: 240px;
    max-width: initial;
    border-radius: 30px 0 30px 0;
    padding-top: 20px;
    padding-bottom: 14px;
  }
  
  #dormitory .supply-item .txt {
    font-size: 20px;
    margin-top: 10px;
  }
  
  #dormitory .charm02-voice-wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
  }
  
  #dormitory .staff-voice {
    max-width: 560px;
    border-width: 10px;
    padding: 21px 30px 35px;
  }
  
  #dormitory .staff-voice::before {
    width: 150px;
    height: 150px;
    background-image: url("../../uploads/dormitory_charm02_voice_icon_pc.png");
    bottom: calc(100% - 70px);
  }
  
  #dormitory .staff-voice .staff-voice-ttl {
    font-size: 30px;
    padding-left: 30px;
    margin-bottom: 34px;
  }
  
  #dormitory .staff-voice-txt .common-txt.text-right {
    margin-right: 16px;
  }
  
  #dormitory .charm02-voice-wrap .img {
    margin-top: auto;
  }
  
  #dormitory .description-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  #dormitory .description-block {
    max-width: 600px;
    margin-bottom: 0;
  }
  
  #dormitory .description-heading {
    text-align: left;
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 40px;
  }
  
  #dormitory .dormitory-type {
    padding: 30px 51px;
  }
  
  #dormitory .dormitory-type .ttl {
    font-size: 20px;
    padding: 4px 10px;
    margin-right: 60px;
    margin-top: 4px;
  }
  
  #dormitory .dormitory-type .ttl::before {
    width: 120px;
    height: 86px;
    background-image: url("../../uploads/dormitory_charm03_top_illust_pc.png");
    left: calc(50% - 70px);
    top: calc(100% + 20px);
  }
  
  #dormitory .dormitory-type .detail-item {
    font-size: 18px;
    margin-bottom: 16px;
  }
  
  #dormitory .dormitory-type .detail-item .type {
    margin-right: 64px;
  }
  
  #dormitory .dormitory-type .detail-item .type::before {
    height: 22px;
    top: calc(50% - 10px);
    right: -33px;
  }
  
  #dormitory .description-img {
    max-width: 560px;
  }
  
  #dormitory .dormitory-common-list-wrap {
    border-width: 16px;
    margin-top: 50px;
    padding: 40px 54px 44px;
  }
  
  #dormitory .dormitory-common-list-wrap .ttl,
  #dormitory .room-list-wrap .ttl {
    font-size: 20px;
    margin-bottom: 24px;
  }
  
  #dormitory .dormitory-common-list-wrap .ttl::before,
  #dormitory .room-list-wrap .ttl::before {
    margin-right: 12px;
    margin-bottom: 3px;
  }
  
  #dormitory .dormitory-common-list-wrap .note {
    font-size: 16px;
    margin-bottom: 16px;
  }
  
  #dormitory .dormitory-common-list {
    gap: 20px;
  }
  
  #dormitory .dormitory-common-list-item {
    max-width: 160px;
    border-radius: 20px 0 20px 0;
    border-width: 2px;
    padding: 18px 10px 14px;
  }
  
  #dormitory .dormitory-common-list-item .img {
  max-width: 90px;
}
  
  #dormitory .dormitory-common-list-item .txt-box {
    height: 24px;
    margin-top: 10px;
  }
  
  #dormitory .dormitory-common-list-item .txt {
    font-size: 16px;
  }
  
  #dormitory .dormitory-common-list-wrap .comment {
    text-align: right;
    font-size: 16px;
    margin-top: 24px;
  }
  
  #dormitory .dormitory-common-list-wrap .comment .link-txt {
    border-bottom: none;
    background-image: linear-gradient(#ED6D00, #ED6D00);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 0 1px;
    transition: background-size 0.3s;
  }
  
  #dormitory .dormitory-common-list-wrap .comment .link-txt:hover {
    background-position: bottom left;
    background-size: 100% 1px;
  }
  
  #dormitory .dormitory-common-list-wrap .comment .link-txt::after {
    width: 14px;
    height: 12px;
    margin-left: 12px;
  }
  
  #dormitory .dormitory-common-heading {
    margin-top: 80px;
    margin-bottom: 40px;
  }
  
  #dormitory .dormitory-common-heading .sub-ttl {
    font-size: 22px;
  }
  
  #dormitory .dormitory-common-heading .sub-ttl::before,
  #dormitory .dormitory-common-heading .sub-ttl::after {
    width: 30px;
    height: 38px;
    bottom: -2px;
  }
  
  #dormitory .dormitory-common-heading .sub-ttl::before {
    right: calc(100% + 22px);
  }
  
  #dormitory .dormitory-common-heading .sub-ttl::after {
    left: calc(100% + 22px);
  }
  
  #dormitory .dormitory-common-heading .ttl {
    font-size: 24px;
    line-height: 1.5;
    margin-top: 15px;
  }
  
  #dormitory .room-list-wrap {
    padding: 0;
  }
  
  #dormitory .room-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 64px;
    padding-bottom: 10px;
  }
  
  #dormitory .room-item {
    max-width: 380px;
    margin-bottom: auto;
  }
  
  #dormitory .room-item .txt {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 16px;
  }
  
  #dormitory .charm03-voice-wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 110px;
  }
  
  #dormitory .charm03-voice-wrap .staff-voice:not(:last-of-type) {
    margin: 0;
  }
  
  #dormitory .charm04-rental-wrap {
    margin-top: 40px;
  }
  
  #dormitory .charm05-pet-wrap {
    margin-top: 85px;
  }
  
  #dormitory #charm05 .charm-heading .ttl {
    margin-left: 0;
  }
  
  dormitory .pet-list-item {
    width: 160px;
  }
  
  #dormitory .charm05-pet-wrap::before {
    width: 310px;
    height: 380px;
    right: -16px;
  }
  
  #dormitory .pet-list-item {
    width: 160px;
  }
  
  #dormitory .pet-list-item .txt {
    font-size: 16px;
    margin-top: 10px;
  }
  
  #dormitory .dormitory-section-wrap .note {
    font-size: 16px;
  }
  
  #dormitory .dormitory-section:last-of-type {
    padding-bottom: 110px;
  }
  
  #dormitory .dormitory-content-bottom .inner {
    display: flex;
    align-items: center;
  }
  
  #dormitory .bottom-link-wrap {
    padding-top: 0;
  }
  
  #dormitory .bottom-link-heading {
    max-width: 300px;
    margin-left: 0;
  }
  
  #dormitory .bottom-link-heading::before {
    width: 90px;
    height: 70px;
    background-image: url("../../uploads/dormitory_content_bottom_ttl_icon_pc.png");
    right: -15px;
    bottom: 5px;
  }
  
  #dormitory .bottom-link-heading .sub-ttl {
    font-size: 22px;
    padding-right: 0;
    margin-bottom: 12px;
  }
  
  #dormitory .bottom-link-heading .sub-ttl::before {
    width: 170px;
    height: 4px;
    margin-top: 4px;
  }
  
  #dormitory .ttl-orange-wrap {
    font-size: 38px;
  }
  
  #dormitory .ttl-orange-wrap .letter {
    width: 60px;
    height: 60px;
    border-width: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 3px;
  }
  
  #dormitory .bottom-link-heading .ttl-bottom {
    font-size: 50px;
  }
  
  #dormitory .bottom-link-wrap .description-txt {
    font-size: 18px;
    line-height: 1.8;
    text-align: left;
    margin-top: 28px;
  }
  
  #dormitory .bottom-link-wrap .dormitory-link-list {
    flex-direction: column;
    padding-bottom: min(30px,calc(100vw / 1920 * 30));
    margin-top: 50px;
  }
  
  #dormitory .bottom-link-wrap .dormitory-link-item:first-of-type {
    margin-bottom: 30px;
  }
  
  #dormitory .dormitory-content-bottom .bottom-img {
    flex-shrink: 0;
    width: min(790px,(calc(100vw / 1200 * 690)));
    margin-left: 110px;
  }
}
/*------------------------------------------------------------
e-sports
------------------------------------------------------------*/ 
#e-sports {
  background: #292B2F;
  color: #fff;
  overflow: clip;
}

#e-sports .common-txt {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

#e-sports .blue {
  color: #00AFF4;
}

#e-sports .red {
  color: #ED4245;
}

#e-sports .common-main-block {
  background-image: url("../../uploads/e-sports_mainimg_sp.png");
  margin-bottom: 0;
}

#e-sports .common-heading .letter-top {
  color: #00AFF4;
}

#e-sports .common-heading .letter-bottom {
  background-color: #36393F;
  color: #fff;
}

#e-sports .ttl-band-gray {
  display: inline-block;
  background: #37393F;
  border-radius: 99px;
  padding: 3px 15px;
  font-size: 20px;
  font-weight: 700;
}

#e-sports .common-link{
  display: block;
  position: relative;
  width: fit-content;
  margin: 0 auto;
  padding-right: 14px;
  z-index: 0;
}

#e-sports .common-link::before{
  position: absolute;
  content: "";
  width: 30px;
  height: 3px;
  border-radius: 9px;
  background-color: #00AFF4;
  top: calc(50% - 1px);
  right: 0;
  transition: all .3s;
  z-index: 1;
}

#e-sports .common-link::after{
  position: absolute;
  content: "";
  width: 10px;
  height: 3px;
  border-radius: 9px;
  background-color: #00AFF4;
  top: calc(50% - 3px);
  right: 0;
  transform: rotate(30deg);
  transition: all .3s;
  z-index: 1;
}

#e-sports .common-link .link-txt{
  display: flex;
  align-items: center;
  position: relative;
  width: fit-content;
  margin: 0 auto;
  padding: 14px 30px;
  background-color: #4F545C;
  border-radius: 99px;
  color: #fff;
  font-size: 15px;
  line-height: 1;
}

#e-sports .common-link .link-txt::before{
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  background: url("../../uploads/e-sports_icon_mail.png")no-repeat center center / contain;
  transform: translateY(2px);
}

#e-sports .e-sports-overview {
  background: linear-gradient(-20deg, rgba(44,47,51,1) 0%, rgba(88,101,242,1) 100%);
  padding: 62px 0 40px;
}

#e-sports .overview-txt-block{
  display: contents;
}

#e-sports .overview-main-block{
  display: flex;
  flex-direction: column;
}

#e-sports .e-sports-overview .ttl-block {
  margin-bottom: 38px;
}

#e-sports .e-sports-overview .ttl-block .ttl-img {
  width: calc(100% + 24px);
  margin-left: -12px;
  text-align: center;
}

#e-sports .e-sports-overview .ttl-block .ttl-img img {
  object-fit: cover;
  height: 150px;
}

#e-sports .e-sports-overview .ttl-block .txt {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.38;
  margin-top: -20px;
}

#e-sports .overview-main-block .top-txt {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.7;
  margin-bottom: 30px;
}

#e-sports .overview-main-block .list {
  width: calc(100% - 36px);
  min-width: 315px;
  margin: 0 auto 40px;
}

#e-sports .overview-main-block .item {
  background: #fff;
  border-radius: 10px;
  padding: 15px 15px 15px 18px;
  margin-bottom: 15px;
}

#e-sports .overview-main-block .item:last-of-type {
  margin-bottom: auto;
}

#e-sports .overview-main-block .item-inner {
  position: relative;
  padding-left: 50px;
}

#e-sports .overview-main-block .item-inner::before {
  position: absolute;
  content: "";
  width: 40px;
  height: 40px;
  background: url("../../uploads/e-sports_top_icon01.png") no-repeat center center / contain;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

#e-sports .overview-main-block .item:nth-of-type(2) .item-inner::before {
  background-image: url("../../uploads/e-sports_top_icon02.png");
}

#e-sports .overview-main-block .item:nth-of-type(3) .item-inner::before {
  background-image: url("../../uploads/e-sports_top_icon03.png");
}

#e-sports .overview-main-block .item:nth-of-type(4) .item-inner::before {
  background-image: url("../../uploads/e-sports_top_icon04.png");
}

#e-sports .overview-main-block .item:nth-of-type(5) .item-inner::before {
  background-image: url("../../uploads/e-sports_top_icon05.png");
}

#e-sports .overview-main-block .item-inner .ttl {
  color: #593695;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 5px;
}

#e-sports .overview-main-block .item:nth-of-type(2) .item-inner .ttl {
  color: #00AFF4;
}

#e-sports .overview-main-block .item:nth-of-type(3) .item-inner .ttl {
  color: #3BA55C;
}

#e-sports .overview-main-block .item:nth-of-type(4) .item-inner .ttl {
  color: #FAA61A;
}

#e-sports .overview-main-block .item:nth-of-type(5) .item-inner .ttl {
  color: #ED4245;
}

#e-sports .overview-main-block .item-inner .txt {
  color: #000000;
  font-size: 13px;
  font-weight: 700;
}

#e-sports .overview-main-block .item-inner .check-icon {
  position: relative;
  padding-left: 3px;
  margin-right: 4px;
  z-index: 0;
}

#e-sports .overview-main-block .item-inner .check-icon::before {
  position: absolute;
  content: "";
  width: 13px;
  height: 13px;
  background: #FCF3DD;
  border-radius: 50%;
  bottom: 0;
  left: 0;
  z-index: -1;
}

#e-sports .overview-main-block .item-inner .check-icon svg {
  width: 14px;
  height: 10px;
}

#e-sports .overview-main-block .img-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background: #36393F;
  border-radius: 10px;
  padding: 9px;
  order: 2;
}

@media print, screen and (max-width: 737px){
  #e-sports .overview-main-block .img-wrap .img:first-of-type, 
  #e-sports .overview-main-block .img-wrap .img:last-of-type {
    width: calc(100vw / 375 * 216);
  }

  #e-sports .overview-main-block .img-wrap .img:nth-of-type(2),
  #e-sports .overview-main-block .img-wrap .img:nth-of-type(3) {
    width: calc(100vw / 375 * 108);
  }

  #e-sports .overview-main-block .img-wrap .img:first-of-type, 
  #e-sports .overview-main-block .img-wrap .img:nth-of-type(2) {
    margin-bottom: calc(100vw / 375 * 9);
  }
}

#e-sports .overview-main-block .txt-wrap {
  margin-top: 40px;
  order: 2;
}

#e-sports .overview-main-block .txt-block {
  max-width: 330px;
  margin: 0 auto;
}

#e-sports .overview-main-block .txt-block .txt {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
  padding: 0 10px;
  margin-bottom: 1.5rem;
}

#e-sports .overview-main-block .txt-block .txt:last-of-type {
  margin-bottom: auto;
}

#e-sports .overview-main-block .txt-img {
  width: calc(100% + 24px);
  margin-left: -12px;
  text-align: center;
}

#e-sports .overview-main-block .txt-img img {
  height: 172px;
  object-fit: cover;
}

/*-----------e-sports-menu-wrap-----------*/
#e-sports .e-sports-menu-wrap {
  position: relative;
  background: url("../../uploads/e-sports_link_bg_sp.jpg") no-repeat center center / cover;
  padding-top: calc(100vw / 375 * 73);
  padding-bottom: calc(100vw / 375 * 116);
}

#e-sports .e-sports-menu-bg {
  mix-blend-mode: screen;
  position: absolute;
  top: 0;
  left: 0;
}

#e-sports .e-sports-menu-bg img {
  height: 240px;
  object-fit: cover;
}

#e-sports .e-sports-menu-ttl {
  position: relative;
  width: fit-content;
  padding-left: 13px;
  margin: 0 auto 110px;
}

#e-sports .e-sports-menu-ttl::before {
  position: absolute;
  content: "";
  width: 100vw;
  height: 240px;
  background: url("../../uploads/e-sports_link_bg_line_sp.png") no-repeat center center / auto 240px;
  top: calc(50% + 14px);
  left: calc(50% - 50vw);
  transform: translateY(-50%);
}


#e-sports .e-sports-menu-ttl .ttl-top {
  font-size: 20px;
  font-weight: 700;
}

#e-sports .e-sports-menu-ttl .ttl-top .name {
  margin-right: 15px;
}

#e-sports .e-sports-menu-ttl .ttl-bottom {
  font-size: 25px;
  font-weight: 700;
  margin-top: -28px;
}

#e-sports .e-sports-menu-ttl .ttl-bottom .num {
  display: inline-block;
  font-size: 54px;
  font-weight: 700;
  margin-right: 6px;
  transform: translateY(6px);
}

#e-sports .e-sports-menu-item {
  position: relative;
  width: 351px;
  height: 63px;
  background: url("../../uploads/e-sports_link_ttl_bg_sp.png") no-repeat center center / contain;
  margin: 0 auto 45px;
}

#e-sports .e-sports-menu-item:last-of-type {
  margin-bottom: auto;
}

#e-sports .menu-item {
  display: inline-block;
  width: 100%;
  height: 100%;
}

#e-sports .e-sports-menu-item .num {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #fff;
  border: solid 5px #2F3136;
  box-shadow: 0 3px 5px rgba(0,0,0,.2);
  font-size: 30px;
  font-weight: 700;
  top: -30px;
  left: 0;
  z-index: 1;
}

#e-sports .e-sports-menu-item .sub-ttl {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  margin-left: 80px;
  margin-top: 4px;
  z-index: 0;
}

#e-sports .e-sports-menu-item .sub-ttl::before {
  position: absolute;
  content: "";
  width: 140px;
  height: 10px;
  background: #4F545C;
  clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
  right: -28px;
  top: calc(50% - 5px);
  z-index: -1;
}

#e-sports .e-sports-menu-item .ttl {
  display: block;
  position: absolute;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  bottom: 5px;
  left: 43px;
}

#e-sports .e-sports-menu-item .ttl svg{
  display: inline-block;
  width: 12px;
  height: 11px;
  margin-left: 6px;
}

#e-sports .e-sports-menu-item .ttl svg path{
  fill :#fff;
  transition: all .3s;
}

/*------------e-sports-section【point01】------------*/
#e-sports .e-sports-section {
  padding-top: 60px;
  padding-bottom: 15px;
}

#e-sports .point-heading {
  position: relative;
  width: 375px;
  height: 130px;
  background: url("../../uploads/e-sports_point_title_bg_sp.png") no-repeat center center / contain;
  margin: 0 auto;
}

#e-sports .point-heading .num-wrap {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  left: 12px;
  top: 8px;
}

#e-sports .point-heading .num-wrap .ja {
  font-size: 12px;
  font-weight: 700;
}

#e-sports .point-heading .num-wrap .num {
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  padding-right: 5px;
}

#e-sports .point-heading .sub-ttl {
  position: absolute;
  color: #BABBBE;
  font-size: 13px;
  font-weight: 700;
  top: 32px;
  left: 100px;
}

#e-sports .point-heading .ttl {
  position: absolute;
  font-size: 17px;
  font-weight: 700;
  bottom: 34px;
  left: 50px;
}

#e-sports .e-sports-section-inner {
  width: calc(100% - 24px);
  margin: 0 auto;
  max-width: 1200px;
}

#e-sports .point01-ttl-top {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-top: 54px;
  margin-bottom: 31px;
}

#e-sports .point01-ttl-top .left, 
#e-sports .point01-ttl-top .right {
  position: relative;
  width: 50%;
  max-width: 188px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  padding-bottom: 13px;
}

#e-sports .point01-ttl-top .left::before, 
#e-sports .point01-ttl-top .right::before {
  position: absolute;
  content: "";
  width: 223px;
  height: 184px;
  background: url("../../uploads/e-sports_point01_bubble_blue_sp.png") no-repeat center center / contain;
  top: 50%;
  transform: translateY(-50%);
}

#e-sports .point01-ttl-top .left::before {
  right: 0;
}

#e-sports .point01-ttl-top .right::before {
  background-image: url("../../uploads/e-sports_point01_bubble_red_sp.png");
  left: 0;
}

#e-sports .point01-ttl-bottom {
  font-size: 19px;
  font-weight: 700;
  text-align: center;
  line-height: 1.42;
}

#e-sports .point01-subsidy-list {
  margin-top: 23px;
  padding: 0 18px;
}

#e-sports .point01-subsidy-item {
  position: relative;
  margin-bottom: 28px;
}

#e-sports .point01-subsidy-item:last-of-type {
  margin-bottom: 0;
}

#e-sports .point01-subsidy-item::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 185px;
  background: #37393F;
  border-radius: 4px;
  bottom: 0;
  left: 0;
  z-index: -1;
}

#e-sports .point01-subsidy-item .img {
  width: 240px;
  margin: 0 auto;
}

#e-sports .point01-subsidy-item .img img {
  border-radius: 3px;
  box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.2);
}

#e-sports .point01-subsidy-item .txt-block {
  max-width: 240px;
  font-weight: 700;
  text-align: center;
  padding-top: 15px;
  padding-bottom: 20px;
  margin: 0 auto;
}

#e-sports .point01-subsidy-item .txt-block .ttl {
  font-size: 15px;
  margin-bottom: 10px;
}

#e-sports .point01-subsidy-item .txt-block .common-txt {
  min-height: 42px;
}

#e-sports .support-wrap .ttl-block {
  text-align: center;
  margin-top: 60px;
  margin-bottom: 50px;
}

#e-sports .support-wrap .ttl-block .circle-txt-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 128px;
  height: 128px;
  background: #8FDFFF;
  border-radius: 50%;
  margin: 36px auto 31px;
}

#e-sports .support-wrap .ttl-block .circle-txt-wrap::before {
  position: absolute;
  content: "";
  width: 160px;
  height: 160px;
  background: url("../../uploads/e-sports_point01_circle_sp.png") no-repeat center center / contain;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

#e-sports .support-wrap .ttl-block .circle-txt {
  color: #2782A8;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

#e-sports .support-wrap .ttl-block .circle-txt .big {
  display: inline-block;
  font-size: 20px;
  margin-top: 5px;
}

#e-sports .support-wrap .ttl-block .note {
  font-size: 13px;
  line-height: 1.4;
}

#e-sports .support-wrap .table-block {
  text-align: center;
}

#e-sports .point01-table-block {
  text-align: center;
}

#e-sports .point01-table {
  margin: 30px 12px;
  overflow-x: scroll;
  overflow-y: hidden;
}

#e-sports .point01-table table {
  width: 576px;
  border-collapse: collapse;
}

#e-sports .point01-table tr {
  height: 66px;
}

#e-sports .point01-table td {
  border: solid 1px #4F545C;
}

#e-sports .point01-table .heading {
  position: relative;
  width: 148px;
  font-size: 13px;
  border-radius: 10px 10px 0 0;
  border-left: 1px solid #292B2F;
  border-right: 1px solid #292B2F;
}

#e-sports .point01-table .heading:nth-of-type(2) {
  background: #768AD4;
}

#e-sports .point01-table .heading:nth-of-type(3) {
  background: #4F69C8;
}

#e-sports .point01-table .heading:last-of-type {
  background: #768AD4;
}

#e-sports .point01-table .heading::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url("../../uploads/e-sports_point01_icon_game.png") no-repeat center center / contain;
  margin-right: 12px;
  vertical-align: super;
}

#e-sports .point01-table .heading:nth-of-type(3)::before {
  background-image: url("../../uploads/e-sports_point01_icon_train.png");
}

#e-sports .point01-table .heading:last-of-type::before {
  background-image: url("../../uploads/e-sports_point01_icon_bed.png");
}

#e-sports .point01-table .heading .heading-txt {
  display: inline-block;
  font-weight: 500;
}

#e-sports .point01-table .sticky {
  position: sticky;
  top: 0;
  left: 0;
  background: #292B2F;
  z-index: 2;
}

#e-sports .point01-table .rank {
  width: 125px;
  color: #BABBBE;
  font-size: 15px;
  font-weight: 700;
  border: solid 1px #4F545C;
}

#e-sports .point01-table .rank::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url("../../uploads/e-sports_rank_icon01.png") no-repeat center center / contain;
  vertical-align: text-bottom;
  margin-right: 10px;
}

#e-sports .point01-table .rank-b::before {
  background-image: url("../../uploads/e-sports_rank_icon02.png");
}

#e-sports .point01-table .rank-c::before {
  background-image: url("../../uploads/e-sports_rank_icon03.png");
}

#e-sports .point01-table .rank::after {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  width: 100%;
  height: calc(100% + 1px);
  border-left: 1px solid #4F545C;
  border-right: 1px solid #4F545C;
  z-index: -1;
}

#e-sports .point01-table .rank .big {
  font-size: 20px;
}

#e-sports .point01-table .txt {
  font-size: 13px;
}

#e-sports .point01-table .txt .blue {
  font-size: 16px;
}

#e-sports .point01-table .none::before {
  content: "";
  display: inline-block;
  width: 60px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  vertical-align: inherit;
}

#e-sports .point01-table-block .bottom-txt {
  font-size: 13px;
  line-height: 1.6;
}

/*------------e-sports-section【point02】------------*/
#e-sports #point02.e-sports-section {
  background: url("../../uploads/e-sports_point02_bg_sp.png") no-repeat center 310px/ contain;
}

#e-sports .description {
  text-align: center;
  margin-top: 30px;
  padding-bottom: 25px;
}

#e-sports .description .description-ttl {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.43;
  margin-bottom: 20px;
}

#e-sports .description .description-txt {
  font-size: 14px;
  line-height: 1.6;
}

#e-sports .staff-voice {
  margin: 40px 18px auto;
  position: relative;
  background: #36393F;
  border-radius: 10px;
  padding: 40px 25px 25px;
}

#e-sports .staff-voice .staff-voice-icon {
  position: absolute;
  width: 80px;
  height: 80px;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}

#e-sports .staff-voice .staff-voice-txt .name {
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 9px;
}

#e-sports .staff-voice .staff-voice-txt .name .blue {
  font-size: 18px;
  margin-right: 8px;
}

#e-sports .staff-voice .staff-voice-txt .txt {
  font-size: 13px;
  line-height: 1.7;
}

#e-sports .common-link.youtube {
  margin: 30px auto;
}

#e-sports .common-link.youtube::before,
#e-sports .common-link.youtube::after{
  background-color: #FF0000;
}

#e-sports .common-link.youtube .link-txt::before{
  width: 25px;
  height: 25px;
  background: url("../../uploads/e-sports_icon_youtube.png")no-repeat center center / contain;
}

#e-sports .youtube-img-wrap {
  position: relative;
  padding-top: 54px;
}

#e-sports .comment-txt{
  width: fit-content;
  position: relative;
  font-size: 15px;
  font-weight: 700;
  transform: rotate(-6deg);
  z-index: 0;
}

#e-sports .youtube-img-wrap .comment-txt {
  position: absolute;
  right: 14px;
  top: 28px;
}

#e-sports .comment-txt::before {
  position: absolute;
  content: "";
  width: 120px;
  height: 73px;
  background: url("../../uploads/e-sports_txt_deco_blue.png") no-repeat center center / contain;
  top: -26px;
  left: 18px;
  z-index: -1;
}

#e-sports .comment-txt.item-red::before {
  background-image: url("../../uploads/e-sports_txt_deco_red.png");
}

#e-sports .youtube-img-wrap .img-wrap {
  display: flex;
  flex-direction: column;
}

#e-sports .youtube-img-wrap .img-wrap .img {
  margin-right: 110px;
}

#e-sports .youtube-img-wrap .img-wrap .img:nth-of-type(2n) {
  margin-right: 0;
  margin-left: 110px;
}


/*------------e-sports-section【point03】------------*/

#e-sports .description .ttl-band-gray{
  min-width: 235px;
  margin-bottom: 20px;
}

#e-sports #point03 .description-txt{
  text-align: left;
  max-width: 960px;
  margin: 0 auto;
}

#e-sports .discord-block{
  position: relative;
  width: calc(100% + 24px);
  margin: 0 -12px;
  z-index: 0;
}

#e-sports .discord-block .comment-txt{
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%) rotate(-6deg);
  text-align: center;
  z-index: 1;
}

#e-sports .discord-block .comment-txt::before{
  top: -22px;
}

#e-sports .schedule-content{
  margin: 35px 0 75px;
}

#e-sports .schedule-content .ttl{
  font-size: 40px;
  font-style: italic;
  font-weight: 300;
  color: #BABBBE;
  line-height: 1;
  text-align: center;
}

#e-sports .schedule-content .ttl-band-gray{
  display: block;
  width: fit-content;
  margin: 4px auto 60px;
}

#e-sports .schedule-content .ttl-band-gray .small{
  display: block;
  font-size: 12px;
  text-align: center;
}

#e-sports .schedule-content .staff-voice{
  background: transparent;
}

#e-sports .schedule-block {
  background-color: #2F3136;
  border-radius: 10px;
  padding: 42px 10px 32px 14px;
}

#e-sports .schedule-top {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 25px;
}

#e-sports .schedule-name {
  display: flex;
  align-items: center;
  font-size: 13px;
  margin-left: 15px;
}

#e-sports .schedule-name::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 20px;
  background: #00AFF4;
  border-radius: 10px;
  margin-right: 5px;
}

#e-sports .schedule-name:last-of-type::before {
  background: #ED4245;
}

#e-sports .schedule-main {
  display: flex;
  overflow-x: scroll;
  overflow-y: hidden;
}

#e-sports .schedule-left {
  position: sticky;
  position: -webkit-sticky; /* Safari */
  flex-shrink: 0;
  width: 58px;
  background-color: #2F3136;
  left: 0;
  top: 0;
}

#e-sports .schedule-right {
  flex-shrink: 0;
  width: 675px;
}

#e-sports .schedule-txt{
  margin-top: 40px;
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

#e-sports .e-sports-content-bottom{
  padding-bottom: 180px;
  background: url("../../uploads/e-sports_bottom_bg_sp.png")no-repeat center center / cover;
}

#e-sports .bottom-link-heading{
  text-align: center;
}

#e-sports .e-sports-content-bottom .ttl{
  width: 290px;
  margin: -20px auto 20px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
}

#e-sports .e-sports-content-bottom .description-txt{
  width: 290px;
  margin: 0 auto 20px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}



@media print, screen and (min-width: 768px){
  #e-sports .common-main-block {
    background-image: url("../../uploads/e-sports_mainimg_pc.png");
  }
  #e-sports .common-txt {
    font-size: 18px;
    line-height: 1.6;
  }

  #e-sports .ttl-band-gray {
    padding: 5px 30px 7px;
    font-size: 24px;
  }
  
  #e-sports .e-sports-menu-ttl .ttl-top .ttl-band-gray {
    font-size: 30px;
  }
  
  #e-sports .common-link{
    padding-right: 38px;
  }

  #e-sports .common-link::before{
    width: 58px;
    height: 4px;
    top: calc(50% - 2px);
    transform: scale(.34,1);
    transform-origin: left;
  }

  #e-sports .common-link::after{
    width: 14px;
    height: 4px;
    top: calc(50% - 6px);
    left: auto;
    transform: rotate(30deg);
  }

  #e-sports .common-link .link-txt{
    min-width: 400px;
    justify-content: center;
    margin: 0 auto;
    padding: 15px 50px;
    font-size: 20px;
    border: solid 4px transparent;
    transition: all .3s;
  }

  #e-sports .common-link .link-txt::before{
    width: 30px;
    height: 30px;
    margin-right: 16px;
    transform: translateY(2px);
  }
  
  #e-sports .common-link.youtube .link-txt::before{
    width: 40px;
    height: 40px;
  }

  #e-sports .common-link:hover::before{
    transform: none;
  }
  
  #e-sports .common-link:hover::after{
    transform: rotate(30deg);
  }
  
  #e-sports .common-link:hover .link-txt{
    border-color: #707070
  }
  
  #e-sports .e-sports-overview {
    padding: 184px 0 200px;
  }

  #e-sports .overview-txt-block{
    display: block;
    width: calc(50% - 40px);
  }

  #e-sports .overview-main-block{
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }

  #e-sports .e-sports-overview .ttl-block {
    margin-bottom: 100px;
  }

  #e-sports .e-sports-overview .ttl-block .ttl-img {
    width: 100%;
    margin: 0;
  }

  #e-sports .e-sports-overview .ttl-block .ttl-img img {
    height: 310px;
  }

  #e-sports .e-sports-overview .ttl-block .txt {
    font-size: 56px;
    line-height: 1.17;
    width: calc(100% + 8px);
    margin-top: -70px;
  }

  #e-sports .overview-main-block .top-txt {
    margin-bottom: 60px;
    font-size: 40px;
    line-height: 1.65;
    text-align: left;
  }

  #e-sports .overview-main-block .list {
    width: 100%;
    margin-bottom: 120px;
  }

  #e-sports .overview-main-block .item {
    margin-bottom: 30px;
    padding: 20px 40px;
    border-radius: 20px;
  }

  #e-sports .overview-main-block .item-inner {
    padding-left: 100px;
  }

  #e-sports .overview-main-block .item-inner::before {
    width: 80px;
    height: 80px;
  }

  #e-sports .overview-main-block .item-inner .ttl {
    margin-bottom: 10px;
    font-size: 26px;
  }

  #e-sports .overview-main-block .item-inner .txt {
    font-size: 20px;
  }

  #e-sports .overview-main-block .item-inner .check-icon {
    padding-left: 5px;
    margin-right: 8px;
  }

  #e-sports .overview-main-block .item-inner .check-icon::before {
    width: 26px;
    height: 26px;
  }

  #e-sports .overview-main-block .item-inner .check-icon svg {
    width: 26px;
    height: 20px;
  }

  #e-sports .overview-main-block .img-wrap {
    border-radius: 20px;
    width: 50%;
    height: 100vh;
    height: fit-content;
    top: 0;
    left: 50%;
    position: sticky;
    padding: 60px 50px;
    order: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr 300px 240px 300px 1fr;
    grid-template-rows: min(300px,calc(100vh / 1080 * 300)) min(240px,calc(100vh / 1080 * 240)) min(300px,calc(100vh / 1080 * 300));
    gap: min(20px,calc(100vh / 1080 * 20)) 20px;
  }
  
  #e-sports .overview-main-block .img-wrap .img{
    overflow: hidden;
  }
  #e-sports .overview-main-block .img-wrap .img:first-of-type {
    grid-area: 2 / 1 / 3 / 3;
    grid-area: 1 / 1 / 2 / 3;
  }
  
  #e-sports .overview-main-block .img-wrap .img:nth-of-type(2) {
    grid-area: 3 / 1 / 4 / 2;
    grid-area: 2 / 1 / 3 / 2;
  }
  
  #e-sports .overview-main-block .img-wrap .img:nth-of-type(3){
    grid-area: 3 / 2 / 4 / 3;
    grid-area: 2 / 2 / 3 / 3;
  }
  
  #e-sports .overview-main-block .img-wrap .img:nth-of-type(4){
    grid-area: 4 / 1 / 5 / 3;
    grid-area: 3 / 1 / 4 / 3;
  }

  #e-sports .overview-main-block .txt-wrap {
    order: 0;
  }

  #e-sports .overview-main-block .txt-block {
    max-width: none;
  }

  #e-sports .overview-main-block .txt-block .txt {
    margin-bottom: 1.8em;
    padding: 0;
    font-size: 24px;
  }

  #e-sports .overview-main-block .txt-img {
    width: calc(100% + 169px);
    margin: -40px 0 -40px -100px;
    text-align: left;
  }

  #e-sports .overview-main-block .txt-img img {
    height: 317px;
  }
  
  #e-sports .overview-main-block .common-link{
    margin: 0;
  }

/*-----------e-sports-menu-wrap-----------*/
  #e-sports .e-sports-menu-wrap {
    background: url("../../uploads/e-sports_link_bg_pc.jpg") no-repeat center center / cover;
    padding: 0 0 160px;
  }

  #e-sports .e-sports-menu-ttl {
    display: flex;
    align-items: center;
    height: 380px;
    margin: 0 auto;
    padding: 0 8px 0 0;
  }

  #e-sports .e-sports-menu-ttl::before {
    height: 380px;
    background: url("../../uploads/e-sports_link_bg_line_pc.png") no-repeat center center / auto 380px;
    top: 0;
    transform: none;
    z-index: -1;
  }

  #e-sports .e-sports-menu-ttl .ttl-top {
    font-size: 40px;
  }

  #e-sports .e-sports-menu-ttl .ttl-top .name {
    margin-right: 20px;
  }

  #e-sports .e-sports-menu-ttl .ttl-bottom {
    font-size: 40px;
    font-weight: 700;
    margin: -40px 0 0 30px;
  }

  #e-sports .e-sports-menu-ttl .ttl-bottom .num {
    font-size: 100px;
  }

  #e-sports .e-sports-menu-item {
    width: 770px;
    height: 160px;
    background: url("../../uploads/e-sports_link_ttl_bg_pc.png") no-repeat center center / contain;
    margin: 0 auto 30px;
  }
  
  #e-sports .e-sports-menu-item:nth-of-type(2){
    transform: translateX(115px);
  }

  #e-sports .e-sports-menu-item:last-of-type {
    transform: translateX(230px);
  }

  #e-sports .e-sports-menu-item .num {
    width: 140px;
    height: 140px;
    border: solid 10px #2F3136;
    font-size: 60px;
    top: 0;
    left: 0; 
    box-shadow: 0 5px 10px rgba(0,0,0,.2);
    transition: all .3s;
  }

  #e-sports .e-sports-menu-item .sub-ttl {
    font-size: 20px;
    margin-left: 166px;
    margin-top: 22px;
    transition: all .3s;
  }

  #e-sports .e-sports-menu-item .sub-ttl::before {
    width: 200px;
    height: 20px;
    background: #4F545C;
    clip-path: polygon(20px 0%, 100% 0%, calc(100% - 20px) 100%, 0% 100%);
    right: -48px;
    top: calc(50% - 10px);
  }

  #e-sports .e-sports-menu-item .ttl {
    font-size: 26px;
    bottom: 40px;
    left: 166px;
    transition: all .3s;
  }

  #e-sports .e-sports-menu-item .ttl svg {
    width: 26px;
    height: 26px;
    margin-left: 16px;
    transform: translateY(5px);
  }

  #e-sports .e-sports-menu-item:hover .num{
    color: #7FD7F9;
  }
  
  #e-sports .e-sports-menu-item:hover .sub-ttl{
    color: #C7C8CB;
  }
  
  #e-sports .e-sports-menu-item:hover .ttl{
    color: #B3E7FC;
  }
  
  #e-sports .e-sports-menu-item:hover .ttl svg path{
    fill: rgba(255, 255, 255, .4);
    stroke-width: 3px;
    stroke: #fff;
  }
  
  /*------------e-sports-section【point01】------------*/
  #e-sports .e-sports-section {
    padding-top: 140px;
    padding-bottom: 10px;
  }
  
  #e-sports .point-heading {
    width: 1200px;
    height: 240px;
    background-image: url("../../uploads/e-sports_point_title_bg_pc.png");
  }
  
  #e-sports .point-heading .num-wrap {
    left: 140px;
    top: 92px;
  }
  
  #e-sports .point-heading .num-wrap .ja {
    font-size: 14px;
  }
  
  #e-sports .point-heading .num-wrap .num {
    font-size: 80px;
    padding-right: 4px;
    margin-top: -7px;
  }
  
  #e-sports .point-heading .sub-ttl {
    font-size: 26px;
    top: 23px;
    left: 350px;
  }
  
  #e-sports .point-heading .ttl {
    font-size: 40px;
    left: 327px;
    bottom: 80px;
  }
  
  #e-sports .point01-ttl-top {
    margin-top: 135px;
    margin-bottom: 84px;
  }
  
  #e-sports .point01-ttl-top .left,
  #e-sports .point01-ttl-top .right {
    font-size: 24px;
    max-width: 336px;
    margin: 0 18px;
  }
  
  #e-sports .point01-ttl-top .left::before, 
  #e-sports .point01-ttl-top .right::before {
    width: 446px;
    height: 356px;
  }

  #e-sports .point01-ttl-top .left::before {
    background-image: url("../../uploads/e-sports_point01_bubble_blue_pc.png");
    right: -18px;
  }

  #e-sports .point01-ttl-top .right::before {
    background-image: url("../../uploads/e-sports_point01_bubble_red_pc.png");
    left: -18px;
  }
  
  #e-sports .point01-ttl-bottom {
    font-size: 30px;
  }
  
  #e-sports .point01-subsidy-list {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
    padding: 0;
  }
  
  #e-sports .point01-subsidy-item {
    width: calc((100% - 60px) / 3);
    margin-bottom: 0;
  }
  
  #e-sports .point01-subsidy-item::before {
    height: 296px;
    border-radius: 8px;
  }
  
  #e-sports .point01-subsidy-item .img {
    width: 300px;
  }
  
  #e-sports .point01-subsidy-item .img img {
    border-radius: 6px;
    box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.2);
  }
  
  #e-sports .point01-subsidy-item .txt-block {
    max-width: 310px;
    padding-top: 30px;
    padding-bottom: 60px;
  }
  
  #e-sports .point01-subsidy-item .txt-block .ttl {
    font-size: 20px;
    margin-bottom: 20px;
  }
  
  #e-sports .support-wrap .ttl-block {
    margin-top: 100px;
    margin-bottom: 54px;
  }
  
  #e-sports .support-wrap .ttl-block .circle-txt-wrap {
    width: 160px;
    height: 160px;
    margin-top: 50px;
    margin-bottom: 30px;
  }
  
  #e-sports .support-wrap .ttl-block .circle-txt-wrap::before {
    width: 200px;
    height: 200px;
  }
  
  #e-sports .support-wrap .ttl-block .circle-txt {
    font-size: 20px;
  }
  
  #e-sports .support-wrap .ttl-block .circle-txt .big {
    font-size: 26px;
    margin-top: 0;
  }
  
  #e-sports .support-wrap .ttl-block .note {
    font-size: 16px;
  }
  
  #e-sports .point01-table {
    margin: 50px auto 60px;
  }
  
  #e-sports .point01-table {
    margin: 50px auto 60px;
    overflow: hidden;
  }
  
  #e-sports .point01-table table {
    width: 100%;
  }
  
  #e-sports .point01-table tr {
    height: 102px;
  }
  
  #e-sports .point01-table td {
    border-width: 2px;
  }
  
  #e-sports .point01-table .heading {
    width: auto;
    font-size: 18px;
    border-radius: 20px 20px 0 0;
    border-width: 2px;
  }
  
  #e-sports .point01-table .heading::before {
    width: 24px;
    height: 24px;
    margin-right: 10px;
    vertical-align: bottom;
  }
  
  #e-sports .point01-table .rank {
    width: 300px;
    font-size: 30px;
  }
  
  #e-sports .point01-table .rank::before {
    width: 60px;
    height: 60px;
    margin-right: 30px;
    vertical-align: bottom;
  }
  
  #e-sports .point01-table .rank .big {
    font-size: 40px;
  }
  
  #e-sports .point01-table .txt {
    font-size: 20px;
  }
  
  #e-sports .point01-table .txt .blue {
    font-size: 34px;
  }
  
  #e-sports .point01-table .none::before {
    width: 120px;
  }
  
  #e-sports .point01-table-block .bottom-txt {
    font-size: 18px;
    line-height: 1.8;
  }
  
  /*------------e-sports-section【point02】------------*/
  #e-sports #point02.e-sports-section {
    background: url("../../uploads/e-sports_point02_bg_pc.png") no-repeat center 260px/ contain;
  }
  
  #e-sports #point02 .point-heading .num-wrap,
  #e-sports #point03 .point-heading .num-wrap {
    left: 132px;
  }
  
  #e-sports #point02 .point-heading .num-wrap .num {
    padding-right: 10px;
  }
  
  #e-sports .description {
    position: relative;
    margin-top: 40px;
    padding-bottom: 0;
    z-index: 1;
  }
  
  #e-sports .description .description-ttl {
    font-size: 30px;
    margin-bottom: 40px;
  }

  #e-sports .description .description-txt {
    font-size: 18px;
    line-height: 1.8;
  }
  
  #e-sports .staff-voice {
    max-width: 960px;
    display: flex;
    align-items: center;
    border-radius: 20px;
    padding: 30px 50px;
    margin: 80px auto auto;
  }
  
  #e-sports .staff-voice .staff-voice-icon {
    position: initial;
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    margin-right: 40px;
    transform: none;
  }
  
  #e-sports .staff-voice .staff-voice-txt .name {
    font-size: 16px;
    margin-bottom: 16px;
  }
  
  #e-sports .staff-voice .staff-voice-txt .name .blue {
    font-size: 24px;
    margin-right: 10px;
  }
  
  #e-sports .staff-voice .staff-voice-txt .txt {
    font-size: 16px;
    line-height: 1.8;
  }
  
  #e-sports .common-link.youtube {
    margin: 66px auto;
  }
  
  #e-sports .youtube-img-wrap {
    padding-top: 0;
  }
  
  #e-sports .youtube-img-wrap .img-wrap {
    flex-direction: row;
  }
  
  #e-sports .youtube-img-wrap .img-wrap .img {
    margin-right: auto;
  }
  
  #e-sports .youtube-img-wrap .img-wrap .img:nth-of-type(2n) {
    margin-left: auto;
    margin-top: 100px;
  }
  
  #e-sports .youtube-img-wrap .comment-txt {
    font-size: 30px;
    right: 140px;
    top: 40px;
  }
  
  #e-sports .comment-txt::before {
    width: 240px;
    height: 146px;
    top: -50px;
    left: 30px;
  }
  
  /*------------e-sports-section【point03】------------*/
  #e-sports .discord-block {
    width: 100%;
    margin: 0 auto 50px;
  }
  
  #e-sports .discord-block .comment-txt {
    font-size: 30px;
    left: auto;
    right: 50px;
    top: auto;
    bottom: 285px;
    transform: rotate(-6deg);
  }
  
  #e-sports .comment-txt.item-red::before {
    top: -50px;
    left: 40px;
  }
  
  #e-sports .discord-block .discord-img {
    width: 100vw;
    height: 1080px;
    margin-left: calc(50% - 50vw);
    margin-top: -240px;
  }
  
  #e-sports .discord-block .discord-img img {
    height: 100%;
    object-fit: cover;
  }
  
  #e-sports #point03 .staff-voice {
    margin-top: auto;
  }
  
  #e-sports .schedule-content {
    margin-top: 94px;
    margin-bottom: 150px;
  }
  
  #e-sports .schedule-content .ttl {
    font-size: 130px;
  }
  
  #e-sports .schedule-content .ttl-band-gray {
    display: flex;
    align-items: center;
    font-size: 30px;
    margin-top: 14px;
    margin-bottom: 8px;
  }
  
  #e-sports .schedule-content .ttl-band-gray .small {
    font-size: 18px;
    margin-right: 20px;
  }
  
  #e-sports .schedule-block {
    border-radius: 0 0 20px 20px;
    padding: 52px 60px 35px;
    margin-top: -10px;
  }
  
  #e-sports .schedule-top {
    margin-bottom: 40px;
  }
  
  #e-sports .schedule-name {
    font-size: 16px;
    margin-left: 30px;
  }
  
  #e-sports .schedule-name::before {
    margin-right: 10px;
  }
  
  #e-sports .schedule-main {
    overflow: hidden;
  }
  
  #e-sports .schedule-left {
    display: none;
  }
  
  #e-sports .schedule-right {
    width: 100%;
  }
  
  #e-sports .schedule-txt {
    font-size: 18px;
    line-height: 1.8;
  }
  
  #e-sports .e-sports-content-bottom{
    height: 700px;
    background-image: url("../../uploads/e-sports_bottom_bg_pc.jpg");
    background-size: auto 700px;
    padding-bottom: 75px;
  }
  
  #e-sports .bottom-link-wrap {
    width: fit-content;
  }
  
  #e-sports .bottom-link-heading {
    margin-left: -104px;
  }
  
  #e-sports .e-sports-content-bottom .ttl {
    width: fit-content;
    font-size: 30px;
    margin:   -65px 0 30px;
  }
  
  #e-sports .e-sports-content-bottom .description-txt {
    width: fit-content;
    font-size: 18px;
    line-height: 1.8;
    margin: 0 0 50px;
  }
  
  #e-sports .bottom-link-wrap .common-link {
    margin: 0;
  }
}