@charset "utf-8";
/*ベースCSS*/

@media all and (max-width: 640px) {

  /* mobile用のスタイルを記述 */
  body {
    /*font-family: "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
    font-size: 12px;
    overflow-x: hidden;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    min-width: inherit;
  }

  .l-pageBody {
    padding-top: 15px;
    padding-bottom: 0;
  }
}

/* l-topcontrol-pc
---------------------------------------------------------------------------- */
@media all and (max-width: 640px) {
  .l-topcontrol-sp {
    padding-top: 30px;
  }
}


/* l-header
---------------------------------------------------------------------------- */
@media all and (max-width: 640px) {
  .l-header-inner {
    display: none;
  }

  .l-sub-gNav-pc {
    display: none;
  }

  .l-sp-header-inner {
    display: block;
  }

  .l-header {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    height: 45px;
    width: 100%;
    padding: 0;
    background: #effcff;
    z-index: 99997;
    border-bottom: 7px solid #81cde2;
  }

  .l-logo {
    position: absolute;
    top: 0;
    left: 0;
    padding: 12px 0 0 10px;
    width: 150px;
  }

  .l-navOpen {
    /*
		position: absolute;
		top: 0px;
		right: 0px;
	*/
    float: right;
    width: 90px;
  }

  #navOpen {
    position: relative;
    z-index: 10;
    width: 90px;
    cursor: pointer;
  }

}

/* l-gNav
---------------------------------------------------------------------------- */
@media all and (max-width: 640px) {
  .l-gNav-pc {
    display: none;
  }

  .l-gNav-sp {
    display: block;
  }

  #sidr {
    position: fixed;
    top: 0;
    right: calc((100% - 90px) * -1);
    width: calc(100% - 90px);
    height: 375px;
    z-index: 99999;
  }

  .l-gNav-sp {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow: auto;
    background: rgba(0, 0, 0, 0);
  }

  .l-gNav-sp-inner {
    background-color: #fff;
  }

  .l-gNav-sp-inner ul .link span {
    position: absolute;
    top: 15px;
    right: 10px;
    background: #fff;
    display: block;
    width: 16px;
    height: 16px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    border: 1px solid #9e9e9e;
    border-radius: 50%;
    box-sizing: border-box;
  }

  .l-gNav-sp-inner ul .link span::before {
    position: absolute;
    display: block;
    content: '';
    width: 0;
    height: 0;
    border: 3px solid transparent;
    border-left: 5px solid #9e9e9e;
    border-right: none;
    top: 9px;
    left: 5px;
    margin-top: -5px;
  }

  .l-gNav-sp-inner ul li {
    position: relative;
    border-bottom: 1px solid #ccc;
  }

  .l-gNav-sp-inner ul li a {
    display: block;
    padding: 10px 35px 10px 10px;
    color: #242424;
    font-size: 145%;
    text-decoration: none;
  }

  .l-gNav-sp-inner ul li.accordion {
    background: none;
  }

  .l-gNav-sp-inner ul li.accordion span {
    position: absolute;
    top: 15px;
    right: 10px;
    background: #fff;
    display: block;
    width: 16px;
    height: 16px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    border: 1px solid #9e9e9e;
    border-radius: 50%;
    box-sizing: border-box;
  }

  .l-gNav-sp-inner ul li.accordion span::before, .l-gNav-sp-inner ul li.accordion span::after {
    display: block;
    content: '';
    background-color: #9e9e9e;
    position: absolute;
    width: 10px;
    height: 1px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .l-gNav-sp-inner ul li.accordion span::before {
    width: 1px;
    height: 10px;
  }

  .l-gNav-sp-inner ul li.accordion.active span::before {
    content: normal;
  }

  /* .l-gNav-sp-inner ul li.accordion::before {
    content: "";
    position: absolute;
    top: 14px;
    right: 10px;
    width: 16px;
    height: 16px;
    background: url(/common/img/icon_sp_gNav.png) no-repeat;
    background-size: 16px 16px;
    transform: rotateZ(90deg);
    transition: transform .2s;
  }

  .l-gNav-sp-inner ul li.accordion.active::before {
    transform: rotateZ(-90deg);
  } */

  .l-gNav-sp-inner ul li.accordion p {
    display: block;
    padding: 10px 35px 10px 10px;
    color: #242424;
    font-size: 145%;
  }

  .l-gNav-sp-inner ul li.accordion p+ul {
    display: none;
  }

  .l-gNav-sp-inner ul li.accordion p+ul li {
    border: none;
    background: none;
    border-top: 1px dotted #9e9e9e;
  }

  .l-gNav-sp-inner ul li.accordion p+ul li:last-child {
    background: none;
  }

  .l-gNav-sp-inner ul li.accordion p+ul li a {
    position: relative;
    padding: 10px 10px 10px 25px;
    font-size: 117%;
  }

  /*.l-gNav-sp-inner ul li.accordion p+ul li a::before {*/
  /*  content: "";*/
  /*  position: absolute;*/
  /*  top: 0;*/
  /*  bottom: 0;*/
  /*  left: 10px;*/
  /*  width: 7px;*/
  /*  height: 8px;*/
  /*  margin: auto;*/
  /*  background: url(/common/img/ico_arrow401.png) no-repeat;*/
  /*  background-size: 7px 8px;*/
  /*}*/

  /*.l-siteMap {*/
  /*  padding: 10px;*/
  /*  text-align: right;*/
  /*}*/
  /*.l-siteMap p + p {*/
  /*  margin-top: 5px;*/
  /*}*/
  /*.l-siteMap a {*/
  /*  color: #777777;*/
  /*  font-size: 117%;*/
  /*  text-decoration: underline;*/
  /*}*/

  /*.l-gNavClose {*/
  /*  padding: 15px;*/
  /*  text-align: center;*/
  /*  background: url(/common/img/icon_sp_gNav_Close.png) no-repeat;*/
  /*  background-position: 71px center;*/
  /*  background-color: #ababab;*/
  /*  font-size: 150%;*/
  /*  color: #fff;*/
  /*}*/

  #l-overlay {
    display: none;
    width: 100%;
    height: 100%;
    text-align: center;
    position: fixed;
    top: 0;
    z-index: 99998;
  }
}

/* l-visual
---------------------------------------------------------------------------- */
@media all and (max-width: 640px) {
  .l-visual-sp {
    position: relative;
  }

  .l-visual-sp h2 {
    top: 0;
    left: 0;
    position: absolute;
  }
}

/* l-sidebar
---------------------------------------------------------------------------- */
@media all and (max-width: 640px) {
  .l-wrap-sidebar-inner>li>ul>li {
    font-size: 140%;
    border-top: 1px solid #cfcfcf;
    background-color: #ffffff;
  }

  .l-wrap-sidebar-inner li a {
    color: #212121;
    display: block;
    text-decoration: none;
    padding: 17px 0 17px 10px;
    position: relative;
  }

  /*.l-wrap-sidebar-inner li a:after {*/
  /*  background: #9b9b9b url(/common/img/ico_right_arrow_01.png) no-repeat center center;*/
  /*  background-size: 5px;*/
  /*  content: "";*/
  /*  display: block;*/
  /*  width: 20px;*/
  /*  height: 100%;*/
  /*  position: absolute;*/
  /*  right: 0;*/
  /*  top: 0;*/
  /*}*/

  .l-wrap-sidebar-inner li a span {
    color: #212121 !important;
  }
}

/* l-footer
---------------------------------------------------------------------------- */
@media all and (max-width: 640px) {
  .l-footer-sp-inner .footer-link li {
    font-size: 140%;
    border-top: 1px solid #c8c8c8;
    background-color: #e5e5e5;
  }
  
  .l-footer-sp-inner .footer-link .link_bg {
    background: #fff;
  }

  .l-footer-sp-inner .footer-link li a {
    color: #212121;
    display: block;
    text-decoration: none;
    padding: 17px 0 17px 10px;
    position: relative;
  }

  /*.l-footer-sp-inner .footer-link li a:after {*/
  /*  background: #9b9b9b url(/common/img/ico_right_arrow_01.png) no-repeat center center;*/
  /*  background-size: 5px;*/
  /*  content: "";*/
  /*  display: block;*/
  /*  width: 20px;*/
  /*  height: 100%;*/
  /*  position: absolute;*/
  /*  right: 0;*/
  /*  top: 0;*/
  /*}*/

  .l-footer-sp-inner .footer-sns {
    display: flex;
    justify-content: center;
    background-color: #7b7b7b;
    padding: 15px 20px;
  }

  .l-footer-sp-inner .footer-sns li+li {
    margin-left: 20px;
  }

  .l-footer-sp-inner .footer-sns.snsL li:nth-child(2),
  .l-footer-sp-inner .footer-sns.snsL li:nth-child(3) {
    margin-left: 25px;
  }

  .l-footer-sp-inner .footer-sns.snsL li:nth-child(4) {
    margin-left: 15px;
  }

  .l-footer-sp-inner .footer-sns.snsL li:nth-child(5) {
    margin-left: 10px;
  }

  .l-footer-sp-inner .footer-sns li a {
    display: block;
    text-align: center;
    text-decoration: none;
  }

  .l-footer-sp-inner .footer-sns li img {
    width: 30px;
  }

  .l-footer-sp-inner .footer-sns li span {
    display: block;
    margin-top: 2px;
    color: #fff;
    font-size: 10px;
  }

  .l-footer-sp-inner .footer-sns.app {
    padding-top: 0;
  }

  .l-footer-sp-inner .footer-sns.app li img {
    width: 100px;
  }

  .l-footer-sp-inner-copyright {
    background-color: #444444;
    text-align: center;
    padding: 8px 20px 13px;
  }
}

@media all and (max-width: 640px) {
  #sp-pagetop {
    padding-top: 52px;
  }

  /*
	#sp-pagetop {
		position:absolute; z-index:1;
		top:45px; bottom:0px; left:0;
		width:100%;
		overflow:auto;
	}
	#sp-pagetop.sp-screen{
		position:static;
		z-index:1;
		top:0;
		bottom:0px;
		left:0;
		margin-top:45px;
	
	}
	#scrollerContent {
		position:absolute; z-index:1;
		-webkit-touch-callout:none;
		-webkit-tap-highlight-color:rgba(0,0,0,0);
		width:100%;
		padding:0;
	}
*/
}