@charset "utf-8";
/**@font-face {
    font-family: 'Noto Sans CJK JP';
    src: url(../css/font/NotoSansCJKjp-Regular.otf);
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Noto Sans CJK JP';
    src: url(../css/font/NotoSansCJKjp-Medium.otf);
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Noto Sans CJK JP';
    src: url(../css/font/NotoSansCJKjp-Bold.otf);
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: 'Noto Sans CJK JP';
    src: url(../css/font/NotoSansCJKjp-Medium.otf);
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Noto Sans CJK JP';
    src: url(../css/font/NotoSansCJKjp-Bold.otf);
    font-weight: bold;
    font-style: normal;
}**/
/* 共通 */
html {
  font-size: 62.5%;
}
*, *::before, *::after {
  box-sizing: border-box;
}
body * {
  -webkit-text-size-adjust: 100%;
}
a{
    text-decoration: none;
    color:  #222;
}
img {
  max-width: 100%;
  width:  100%;
  height: auto;
  vertical-align: bottom;
}
input[type="submit"] {
  -webkit-appearance: none !important;
}
button {
  border:  none;
  padding:  0;
}
body {
  /**font-family: 'Noto Sans CJK JP', sans-serif;**/
  font-family: 'ヒラギノ角ゴ W2 JIS2004',sans-serif;
  font-size: 1.4rem;
  line-height: 1.4;
  color:  #222;
}
/**20220218**/
sup{
    vertical-align: super;
  font-size: smaller;
}

/* タイトル */
.subtitle {
  font-size: 2.0rem;
  color: #F8B527;
}
.h2-title {
  font-size: 4.1rem;
  font-weight: bold;
}
/* ボタン */
.btn-area {
  position:  relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 31px 0 35px;
  width:  100%;
  text-align: center;
}
.btn-area a {
  padding: 15px 60px;
  background: #F8B527;
  border-radius:  50px;
  border: 1px solid #F8B527;
  transition:  all ease .4s;
}
.btn-area.black a {
  padding: 15px 60px;
  background: #383838;
  min-width: 342px;
  border: 1px solid #383838;
}
.btn-area.black a span{
  color:  #fff;
}
.btn-area.black a:hover {
  background: #fff;
  border: 1px solid #383838;
}
.btn-area.black a:hover span{
  color:  #383838;
}
.btn-area.white a{
  background: none;
  border:  1px solid #fff;
  color:  #fff;
}
.btn-area.white a:hover{
  background:#fff;
  border:  1px solid #fff;
  color:  #222;
}
.btn-area.Bblack a{
  background: none;
  border:  1px solid #383838;
  color:  #383838;
}
.btn-area.Bblack a:hover{
  background: #383838;
  border:  1px solid #383838;
  color:  #fff;
}
.btn-area.ic-shop a {
  padding: 15px 60px;
  border-radius:  50px;
}
.btn-area.ic-shop a:before{
  content: "";
  display: block;
  width:  13px;
  height:  18px;
  position:  absolute;
  top:  50%;
  left:  10px;
  transform:  traslate(0,-50%);
}
/* カルーセル */
.slick-slide {
    margin:0 10px;
}
.slick-prev, 
.slick-next {
  position: absolute;
  top: 45%;
  transform:  translate(0,-50%);
  cursor: pointer;
  height: 48px;
  width: 48px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  transition:  .4s;
}

.slick-prev {
    left: -45px;
    background:  url('/img/top4/ic-slider-arrow01.png') no-repeat;
    background-size: contain;

}
.slick-prev:hover {
    background:  url('/img/top4/ic-slider-arrow01_black.png') no-repeat;
    background-size: contain;
}
.slick-next {
    right: -45px;
    background:  url('/img/top4/ic-slider-arrow02.png') no-repeat;
    background-size: contain;
}
.slick-next:hover {
    background:  url('/img/top4/ic-slider-arrow02_black.png') no-repeat;
    background-size: contain;
}
.sp-only {
  display:  none;
}


/***************************************************************************************  
 * ヘッダー
 ***************************************************************************************/

#header {
  padding: 27px 30px 0 30px;
  position: fixed;
  width:  100%;
  top:  0;
  left:  0;
  z-index: 10;
  transition:  .3s;
}
.header-wrapper_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  max-width: 1366px;
  margin: 0 auto;
}
.header-logo {
  width:  140px;
  margin-right:  0px;/*55px*/
}
.header-main {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  height:  60px;
  flex: 1;

}
.header-main_headding {
  width:  100%;
}
.header-main_headding ul{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.header-main_headding ul li{
  margin-right: 10px;
}
.header-main_headding ul li:last-child{
  margin-right:  0;
}
.header-main_headding ul li a{
  color: #fff;
}
.header-main_headding_language {
  display: flex;
}
.header-main_headding_language > div:not(:first-child){
  border-left: 1px solid #fff;
  margin-left: 10px;
  padding-left: 10px;
}

.header-main-under {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  margin-top: 10px;
  position: relative;
}
.header-main-under .left-menu{
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-around;
  -ms-flex-pack: space-around;
  justify-content: space-around;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  flex:  1;
}
.header-main-under .left-menu > li,
.header-main-under .right-menu > li{
  /*211118 変更
    padding: 10px 5px;*/
    padding: 5px;
  margin-bottom: -10px;
  transition: .4s;
}
.header-main-under .left-menu li > a,
.header-main-under .right-menu li > a{
    /*211118 変更
  padding:  10px 0;*/
    padding:  5px 0;
  color:  #fff;
}
.header-main-under .left-menu > li:hover {
  background:  #fff;
}
.header-main-under .left-menu > li:hover > a{
  color:  #222;
}

#megamenu {
  position: absolute;
  top: 0;
  left: 0;
  width:calc(100% + 160px);
  padding: 46px 57px;
  background:  #fff;
  visibility: hidden;
  opacity: 0;
  transition: .5s top, .5s opacity;
  box-shadow: 0 0 5px rgb(0 0 0 / 16%);

}
#megamenu ul {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
#megamenu ul li{
  position:  relative;
  padding-left:13px;
  width:  33%;
  margin-bottom:  25px;
  display: flex;
  align-items: center;
}
#megamenu ul li a{
  color:  #222;
}
#megamenu ul li a:before{
  content: "";
  display: block;
  width: 7px;
  height: 11px;
  background: url('/img/top4/ic-link-arrow.png') no-repeat;
  background-size: contain;
  position:  absolute;
  top:  50%;
  left:  0;
  transform:  translate(0,-50%);
}
.header-main-under .left-menu > li:hover #megamenu{
  top: 38px;
  opacity: 1;
  visibility: visible;
}

.header-main-under .right-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-around;
  -ms-flex-pack: space-around;
  justify-content: space-around;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 370px;
    align-items: stretch;;
}

/*211117追加*/
.header-main-under .right-menu li{
    display: flex;
}

/*211117変更
.header-main-under .right-menu li:last-child {
  position: relative;
}*/

.header-main-under .right-menu li.online {
  width: 163px;
  /*211117変更
    padding: 10px 3px;*/
    padding: 0;
  text-align: center;
  background: #F8B500;
  border-radius:  5px;
  margin-right:  13px;
    /*211117追加*/
    display: flex;
    align-items: center;
    justify-content: center;
}
.header-main-under .right-menu li.online a {
  color:  #222;
    width: 100%;
}
.header-main-under .right-menu li.login{
  padding: 0;
  margin-right:  13px;
}

/*211117追加*/
.header-main-under .right-menu li.online span{
  display: block;
    font-size: 12px;
}

.header-main-under .right-menu li.login a{
  width:  146px;
    /*211117変更
  padding: 10px 17px;*/
    padding: 0;
  text-align: center;
  background: #1E3190;
  border-radius:  5px;
    /*211117追加*/
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu-sp {
  visibility: hidden;
}
.menu-sp-nav,
.menu-sp-subnav {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: scroll;
  will-change: transform;
  visibility: hidden;
}

/* offset設定 */
#header.offset {
  background: #F5F5F5;
  padding: 27px 30px 30px 30px;
}
.offset .header-main_headding ul li a{
  color:  #222;
}
.offset .header-main-under .left-menu li > a,
.offset .header-main-under .right-menu li > a{
  color:  #222;
}
.offset .header-main-under .right-menu li.login a{
  color:  #fff;
}
.offset .header-main_headding_language > div:not(:first-child){
  border-color: #222;
}


/* 検索窓設定 */
.open-btn{
    width: 35px;
    height: 35px;
    background: url(/img/top4/ic-search.png) no-repeat;
    background-size: contain;
    /*211117変更
    position: absolute;
    top: -7px;
    left: 0px;*/
}
#search-wrap{
    position:fixed;
  top: 0;
    left: 0;
  z-index: -1;
  opacity: 0;
  transition: all 0.4s;
  width:100%;
}
#search-wrap.panelactive{
  opacity: 1;
   z-index: 3;
   background: rgb(0 0 0 / 80%);
   display: flex;
   justify-content: center;
   align-items: center;
   height: 100vh;
}
#search-wrap .search-area{
  display: none;
}
#search-wrap.panelactive .search-area{
  display: block;
  width:80%;
  position: relative;
}
#search-wrap form{
  position: relative;
  height: 66px;
}
#search-wrap input{
  -webkit-appearance:none;
  outline: none;
  cursor: pointer;
  color: #fff;
}
 #search-wrap input[type="text"] {
  width: 100%;
  font-size: 19px;
  padding: 20px;
  border: none;
  border-bottom:2px solid #666;
  transition: all 0.5s;
  letter-spacing: 0.05em;
  color: #333;
}
 #search-wrap input[type="text"]:focus {
  background:#fff;
}
 #search-wrap input[type="submit"] {
  position: absolute;
   top:0;
  right:10px;
  background:url("/img/top4/ic-search.png") no-repeat 15px center;
  background-size: 35px 35px;
  width:60px;
  height: 60px;
  border: 0;
}
.close-btn{
  position: absolute;
  top:10px;
  right:10px;
  z-index: 2;
  cursor: pointer;
    width: 60px;
    height:60px;
}
.close-btn span{
    display: inline-block;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
  background-color: #fff;
 }
.close-btn span:nth-of-type(1) {
    top: 21px;
    left: 16px;
    transform: translateY(6px) rotate(-135deg);
    width: 50%;
}
.close-btn span:nth-of-type(2){
    top: 32px;
    left: 16px;
    transform: translateY(-6px) rotate(135deg);
    width: 50%;
}





/***************************************************************************************  
 * メインヴィジュアル
 ***************************************************************************************/
.mv-wrapper {
  width:  100%;
  height:  850px;
}
.mv-content {

}
.mv-content_inner {
  position: relative;
}
.mv-img {
  display:  none;
}
.mv-img.slick-initialized {
  display: block;
}
.mv-item {
  position:  relative;
}
.mv-item img {
  width: 100%;
  height:850px;
  object-fit: cover;
}
.mv-text {
  position: absolute;
  left: 37%;
  top:  67%;
  z-index: 1;
}
.mv-text_inner{
  min-width: 600px;
  width:  100%;
}

.mv-title {
  font-size:  4.0rem;
  color:  #fff;
  text-shadow: -1px -1px 3px #000;
}
.mv-subtitle {
  font-size: 1.8rem;
  color:  #fff;
  text-shadow: -1px -1px 3px #000;
}

.mv-item:nth-child(1) .mv-text {
  top:  71%;
}
.mv-item:nth-child(1) .mv-title {
  font-size:  4.5rem;
    /*font-size:  3rem;*/
}
.mv-item:nth-child(1) .mv-subtitle {
  font-size: 1.8rem;
    /*font-size: 1.6rem;*/
    line-height: 1.5em;
}
.mv-wrapper .slick-slide {
    margin:0;
}
.mv-video-wrap {
  position: absolute;
  top: 46%;
    /*top: 44%;
    top: 35%;
  top:  50%; */
  left:  10px;
  max-width: 400px;
  width:  100%;
  height: auto;
}
.mv-video {
}
.mv-video .menu {
  padding-top: 20px;
  width:  350px;
/*width:  330px;*/
}
.mv-video .menu > li{
  width: 100%;
  height: 60px;
/*height: 80px;*/
  position: relative;
  margin: 0 0 1px 10px;
/*margin: 0 0 1px 30px;*/
}
.mv-video .menu li a,
.mv-video .menu > li > div{
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  width: 100%;
  height:  100%;
  position: relative;
  font-size: 1.5rem;
  background-color: hsla(0,0%,0%,0.6);
  letter-spacing: .3px;
  padding: 6px 10px 6px 26px;
  min-height:  57px;
  cursor:  pointer;
}
.mv-video .menu img {
  max-width: 80px;
  height:  auto;
  display: block;
}
.mv-video .menu li a.icon-blank:after {
  content: '';
  width: 18px;
  height: 18px;
  background: url('/img/top4/ic-blank.png') no-repeat;
  background-size:  contain;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(0,-50%);
}
.mv-video .menu li a.icon-arrow:after,
.mv-video .menu li > div.icon-arrow:after {
  content: '';
  width: 18px;
  height: 18px;
  background: url('/img/top4/ic-arrow.png') no-repeat;
  background-size:  contain;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(0,-50%);
}
.mv-item.slick-slide:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    /* background-color: rgba(0,0,0,0.1);
    background-image: radial-gradient(#333 30%, transparent 30%), radial-gradient(#333 30%, transparent 22%);
    background-size: 2px 2px;
    background-position: 0 0, 2px 2px; */
    background:url(
      data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABRJREFUGFdjZGBg+M/AwMDIyAAFAA4pAQP4L554AAAAAElFTkSuQmCC
    ) repeat;
    /* background-color: rgba(000,000,000,0.1); */
}

/*追加分*/
.movie_members_menu {
  display: block;
  position: absolute;
  top: 0;
  /*right: -245px;*/
    right: -350px;
    width: 350px;
  visibility: hidden;
  opacity: 0;
  transition: .5s right, .5s opacity;
}

.mv-video .menu > li.megamenu:hover .movie_members_menu{
  opacity: 1;
  visibility: visible;
}

/* 220104追加 */
.mv-video .menu > li.movie_keystation {
    height: 80px;
    /*height: 110px;*/
    font-size: 17px;
    line-height: 1.5;
}

/* 221108追加 */
li.movie_keystation p {
    font-size: 13px;
}

/***************************************************************************************  
 * フッター
 ***************************************************************************************/
#footer{
  position: relative;
  margin-top: 25px;
  border-top: 1px solid #E0E1E2;
}
.footer-upper {
  position: relative;
  max-width:  1366px;
  margin:  0 auto;
  padding:  90px 0 37px;
}
.footer-upper-list {
  width:  100%;
}
.footer-upper-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  flex-wrap: wrap;
}
.footer-upper-list li:last-child {
  display: flex;
  justify-content: center;
  align-items:  center;
}
.footer-upper-list li .member {
  padding: 10px 17px;
  text-align: center;
  background: #1E3190;
  border-radius:  5px;
  margin-right:  10px;
}
.footer-upper-list li .member a {
  color:  #fff;
  margin-right:  5px;
}
.footer-upper-list li .online {
  padding: 10px 17px;
  text-align: center;
  background: #F8B500;
  border-radius:  5px;
  color:  #fff;
}
.footer-upper-list a {
  
}
.footer-upper-contets{
  width: 100%;
  margin-top:  50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.footer-logo {

}
.footer-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-around;
  -ms-flex-pack: space-around;
  justify-content: space-around;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.footer-link li {
  margin-right: 1.5em;
    /*margin-right: 10px;*/
}
.footer-link li a{
  color: #9E9E9E;
}
.footer-link li:last-child {
  margin-right: 0;
}
.footer-bottom {
  width:  100%;
  background: #212223;
}
.footer-bottom-inner {
  width:  100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
    flex-wrap: wrap;
  max-width:  1366px;
  margin:  0 auto;
  padding:  34px;
}
.Copyright {
  font-size: 1.0rem;
  color:  #fff;
}

/** 220218 **/
.footer-bottom-inner p{
    color: #fff;
    font-size: 1.0rem;
    width: 100%;
    margin: 0 0 1em;
    display: block;
}
/****/

.footer-bottom .footer-link li {
  padding-right:  5px;
  position: relative;
  margin-right:  5px;
}
.footer-bottom .footer-link li:last-child {
  margin-right:  0;
}
.footer-bottom .footer-link li:after {
  content: "";
  display: block;
  width: 1px;
  height: 10px;
  background: #fff;
  position:  absolute;
  top:  57%;
  right:  0;
  transform:  translate(0,-50%);
}
.footer-bottom .footer-link a{
  font-size: 1.0rem;
  color:  #fff;
}
.footer-bottom .footer-link li:last-child:after {
  display:  none;
}
.footer-topbtn {
  position:  absolute;
  top:  -24px;
  right: 24px;
  display:  block;
  width: 48px;
  height:  48px;
  background: #EEBA42;
  border-radius:  50px;
  border:  1px solid #EEBA42;
  cursor:  pointer;
}
.footer-topbtn span {
  position: relative;  
  top: 47%;
  left: 48%;
  transform: translate(0,-50%);
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 0.2em;
  height: 1em;
  background: #fff;
  transition:  all .2s ease;
}
.footer-topbtn span:before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  border: 0.2em solid #fff;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: rotate(-45deg);
  position: absolute;
  top: 0;
  left: -0.2em;
  margin: auto;
}
.footer-topbtn:hover {
  background: #fff;
  border:  1px solid #222;
}
.footer-topbtn:hover span {
  background: #222;
}
.footer-topbtn:hover span:before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  border: 0.2em solid #222;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: rotate(-45deg);
  position: absolute;
  top: 0;
  left: -0.2em;
  margin: auto;
}
/***************************************************************************************  
 * メインコンテンツ
 ***************************************************************************************/
#main {
  width: 100%;
}
.container {
  width:  100%;
}
.container-inner {
  background: #fff;
}
.container-inner.gray {
  background: #F5F6F7
}
.container-inner.black {
  background: #383838;
}
.contents {
  width:  100%;
}
.contents-inner {
  max-width:  1100px;
  margin:  0 auto;
}
/* 重要なお知らせ */
.Notices {
  width:  100%;
  margin-top:  40px;
}
.Notices dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
    margin-bottom: 0.5em;
}

.Notices dl.important {
  border: solid 1px #FF2915;
    margin-bottom: 2em;
    font-family: "新ゴ M";
    background: #FFCCCC;
}
.Notices dl.important dt {
  position:  relative;
  padding: 15px 28px 15px 45px;
  background: #FFCCCC;
}
.Notices dl.important dt:before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background: url('/img/top4/ic-attNotices.png') no-repeat;
  background-size: contain;
  position:  absolute;
  top:  50%;
  left:  15px;
  transform:  translate(0,-50%);
}
.Notices dt span {
}
.Notices dl.important dd {
  flex:  1;
  background: #fff;
  padding: 0.8em 15px;
    font-size: 1.05em;
}
.Notices dl.important dd dl{
  margin: 0;
}
.Notices dl.important dd dl p{
    margin-bottom: 1em;
    font-size: 1.1em;
}

.Notices dd {
  flex:  1;
  background: #F4F4F4;
  padding: 15px;
}
.Notices dd a.mt10{
    margin-top: 10px;
    display: block;
}
.Notices dd span {
}
.Notices dd dl{
  display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
}
.Notices dd dl dt{
  position:  static;
  padding: 0;
  background: #F4F4F4;
  color: #222;
    width: 9em;
}
.Notices dd dl dt:before {
  content: "";
  display: block;
  width: auto;
  height: auto;
  background: #F4F4F4;
  background-size: contain;
  position:  static;
  top:  50%;
  left:  15px;
  transform:  translate(0,-50%);
}
.Notices dd dl dd{
  padding: 0;
}

/* CMギャラリー */
.gallery {
  margin-top: 30px;
  padding: 30px 0 0;
  text-align: center;
}
.gallery-ttl {

}
.gallery-ttl .subtitle {

}
.gallery-ttl .title {

}
.gallery-content {
  margin-top:  30px;
}
.gallery-img {

}
.gallery-img li {
}
.gallery-img li img {
    width:100%;
    height:auto;
    border-radius: 13px;
}
.gallery li img + p{
  margin-top:  17px;
}
.gallery .onetype {
  width: 80%;
  margin:  0 auto;
  padding:  30px;
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0 2px 14px 0 rgb(0 0 0 / 15%);
  text-align: center;
}
.gallery .onetype p{
  margin-top:  20px;
}
.mb2em{
    margin-bottom: 2em;
}


/* 常設カルーセル*/
.carousel {
  width:  100%;
  margin-top: 30px;
  padding: 30px 0;
}
.carousel-img {
  width: 85%;
  margin: 0 auto;
}
.carousel-img li img{
    width:100%;
    height:auto;
    border-radius: 20px;
    box-shadow: 2px 2px 2px 1px #d8d9da;
    margin: 2% 0;
}

/* お客様のデジタルライフをサポート */
.support {
  padding-top:  111px;
}
.support_ttl {
  position:  relative;
  display: flex;
  justify-content: center;
  padding:  16px;
}
.support_ttl:before {
  content: "";
  position: absolute;
  top: 0;
  left:  0;
  width:  100%;
  height:  3px;
  border-top:  1px solid #F8B527;
  border-bottom:  1px solid #F8B527;
}
.support_ttl:after {
  content: "";
  position: absolute;
  bottom: 0;
  left:  0;
  width:  100%;
  height:  3px;
  border-top:  1px solid #F8B527;
  border-bottom:  1px solid #F8B527;
}
.support_ttl span{
  font-size: 3.2rem;
}
.support_contents {
  display: flex;
  justify-content: space-between;
  margin:  30px 0;
}
.support_colum {
  display: flex;
  align-items: center;
  justify-content:  space-between;
  flex-wrap:  wrap;
  width:  50%;
}
.support_colum:first-child {
  width:  77%;
}
.support_colum_item {
  position:  relative;
  width: 45%;
  margin: 10px 10px;
  overflow: hidden;
}
.support_colum .support_colum_item:only-child{
  width:  100%;
}
.support_colum_img {

}
.support_colum_img img{
  border-radius: 13px;
}
.support_colum_ttl {
  position: absolute;
  bottom: 0;
  width:  100%;
  padding:  20px 10px;
  text-align:  center;
  background: #212121;
  opacity:  .8;
  color:  #fff;
  border-radius: 0 0 10px 10px;
}
.support_colum_ttl span {
  display:  block;
  width:  100%;
  font-size:  1.2rem;
}
.support_colum .support_colum_item:only-child .support_colum_ttl{
  font-size:  2.0rem;
}
.support_colum .support_colum_item:only-child .support_colum_ttl span{
  font-size:  1.4rem;
}

/**.support ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: cetnter;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top:  30px;
}
.support li {
  position: relative;
  margin-top: 20px;
  width: 18%;
  max-width: 188px;
  background: #F5F6F7;
  border-radius: 15px;
  text-align: center;
  transition: .4s;
  margin-right:  15px;
}
.support li:nth-child(5) {
  margin-right: 0;
}
.support a {
  position:  relative;
  display:  block;
  height:  100%;
  padding: 25px 5px 20px;
}
.support a:after{
  content:  "";
  display: block;
  position: absolute;
  bottom: 7px;
  left: 50%;
  border-top: solid 3px #D1CCCC;
  border-right: solid 3px #D1CCCC;
  width: 10px;
  height: 10px;
  transform: rotate(135deg) translate(0,50%);
  transition:  all .6s;
}
.support li:hover {
  background: #FFC240
}
.support li:hover a:after {
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  transform: rotate(135deg) translate(0,20%);
}
.support p {
  margin-top:  17px;
  font-size:  1.3rem;
}
.support li:nth-child(1) img{
  width: 82px;
}
.support li:nth-child(2) img{
  width: 62px;
}
.support li:nth-child(3) img{
  width: 70px;
}
.support li:nth-child(4) img{
  width: 63px;
}
.support li:nth-child(5) img{
  width: 61px;
}
.support li:nth-child(6) img{
  width: 52px;
}
.support li:nth-child(7) img{
  width: 54px;
}
.support li:nth-child(8) img{
  width: 59px;
}
.support li:nth-child(9) img{
  width: 52px;
}
.support li:nth-child(10) img{
  width: 58px;
}**/


/* 汎用レイアウト */
.column-wrapper {
  margin-top: 110px;
}
.column-inner {

}
.column-title {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
}
.column-title.center {
  text-align:  center;
}
.column-title.center .h2-title {
  width: 100%;
}
.column-wrapper .subtitle {
  width: 100%;
}
.column-wrapper .h2-title {
  margin-right:  25px;
}
.column-title span {
  flex: 1;
  padding-left:  25px;
  border-left:  1px solid #707070;
}
.column-main {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top:  50px;
}
.column-item {
  width: 30%;
  max-width:  330px;
  margin-right: 5%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.column-item:last-child {
  margin-right: 0;
}
.column-img {
  position: relative;
}
.column-img img {
  width:  100%;
  border-radius:  18px;
}
.column-img img + span {
  font-size: 10.3rem;
  font-family:  "Futura", sans-serif;
  position:  absolute;
  bottom:  -65px;
  right:  0;
}
.column-ttl {
  margin-top:  65px;
  font-size: 2.7rem;
}
.column-ttl + p{
  margin:  20px 0;
}
.shop-ttl {
  width:  100%;
  text-align: center;
  margin-top: 20px;
  font-size: 2.0rem;
  font-weight: 500;
}
.shop .scroll-text {
    display:none;
}
.black .column-wrapper {
  padding: 80px 0 100px;
  margin-top: 0px;
}
.black .column-title {
  color: #fff;
  text-align: center;
}
.black .column-wrapper .h2-title {
  width: 100%;
  color: #fff;
  margin: 0;
}
.black .column-img img + span {
  color: #fff;
}
.black .column-ttl {
  color: #fff;
}
.black .column-ttl + p{
  color: #fff;
}
.column-catch {
  position:  relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  width:  100%;
  color:  #fff;
  font-size: 3.8rem;
  margin-top:  70px;
}
.column-catch img{
  width:  241px;
  margin: 0 10px;
}
.numcolum .column-ttl{
  width:  100%;
  margin-top:  30px;
  font-size:  2.2rem;
  text-align:  center;
}

/* バナーエリア  */
.bnr-wrapper {
  margin-top:  150px;
  position:  relative;
}
.bnr-inner {
}
.bnr-bg {
  background:  url('/img/top4/bnr_bg01.png') no-repeat;
  background-size: cover;
  margin: 0 calc(50% - 50vw);
  width: 99.48vw; /*100vw;*/
  height: 300px;
  position: absolute;
  bottom:  0;
}
.bnr-img {
  position:  relative;
  top: -5px;
  background:  url('/img/top4/bnr_bg01_body.png') no-repeat;
  background-size: contain;
  background-position: center;
  width:  100%;
  height:  250px;
  display:  block;
}
.bnr-ara {
  margin-top:  70px;
}
.partner .bnr-bg {
  background:  url('/img/top4/bnr_bg02.png') no-repeat;
  background-size: cover;
  margin: 0 calc(50% - 50vw);
  width: 99.48vw; /*100vw;*/
  height: 363px;
  position: absolute;
}
.partner .bnr-img {
  position:  relative;
  top: -25px;
  background:  url('/img/top4/bnr_bg02_body.png') no-repeat;
  background-size: contain;
  width:  100%;
  height:  250px;
  display:  block;
}
.partner .bnr-img:before {
  display:  none;
}
.news.column-wrapper {
  padding-top:  80px;
}
.news .column-inner {
  padding-bottom: 72px;
}
.news .column-title {
  justify-content: space-between;
}
.news .title-link {
  display: flex;
  align-items: center;
  
}
.news .title-link:before {
  content: "";
  display:  block;
  width:  48px;
  height: 48px;
  background:  url('/img/top4/ic-slider-arrow02.png') no-repeat;
  background-size:  contain;
  margin-right:  10px;
  transition: all .4s;
}
.news .title-link:hover:before {
  background:  url('/img/top4/ic-slider-arrow02_black.png') no-repeat;
  background-size:  contain;
}
.news .column-main {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin: 50px 0 0;
  width: auto;
}
.news .column-main li{
  padding: 30px 0;
  border-bottom: 1px solid #D8D9DA;
  margin-right:  35px;
  width:  48%;
}
.news .column-main li:nth-child(2n){
  margin-right:  0;
}
.news .column-main li:nth-child(1),
.news .column-main li:nth-child(2){
  border-top: 1px solid #D8D9DA;
}
.news .column-main li > p{
  font-size: 1.4rem;
  color:  #757575;
}
.news span{
  font-size: 1.0rem;
  font-weight: bold;
  color:  #fff;
  padding:  3px 15px;
  border-radius:  5px;
  margin-right: 10px;
}
.news span.info{
  background: #1AA47C;
}
.news span.company{
  background: #1C318E;
}
.news span.chirashi{
  background: #EDB941;
}
.column-buttom p{
    display: flex;
    align-items: center;
    margin-bottom: 0.5em;
}
.news .column-main a {
  display: block;
  margin-top:  15px;
}
.news .column-buttom {
  margin:  45px -20px 0;
}
.news .column-buttom ul{
  display: flex;
  justify-content: center;
  align-items: center;
}
.news .column-buttom li {
  display: flex;
  justify-content: center;
  margin-right: 38px;
}
.news .column-buttom li:last-child {
  margin-right:  0;
}
.news .column-bnr {
  background: #fdedc6;
}
/* PC */
.news .column-bnr a{
  display: block;
  padding: 2vw 25px;
}
.news .colum-bnr img { width:  223px;}
.news .column-contents {
  background: #fff;
  padding:  2vw 20px;
}
/* *************** */




.news .column-contents p {

}
.news .column-contents span {
  font-size: 1.0rem;
  font-weight: bold;
  color: #fff;
  padding: 3px 15px;
  border-radius: 5px;
  margin-right: 10px;
}
.news .column-contents span.Flyer{
  background: #EDB941;
}
.news .column-text {

}

/*　レコメンド　*/
.recommend {
  width: 100%;
  margin: 50px  0;
  padding-bottom: 30px;
}
.recommend-img {
  width:  85%;
  margin:  0 auto;
}



.goog-te-menu-value span + img,
.goog-te-menu-value span + img + span,
.goog-te-menu-value span + img + span + img {
  display: none;
}
.goog-te-menu-value span:last-of-type {
  display:  block;
}
.goog-te-gadget-simple,
.goog-te-menu-value {
  display:  flex!important;
}

/* モーダルエリア */
.modal {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
z-index: 501;
  display:  none;
}
.modal_inner {

}
.modal_overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.7);
}
.modal_contents {
  padding: 6px;
  background: #fff;
  border-radius:  5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display:  block;
  width: 50%;
}
.matterport_contents{
  width: 80%;
}
.modal_contents_inner {
  position: relative;
  width: 100%;
  padding-top: 57%;
}
.modal_close {
  position: absolute;
  display: inline-block;
  width: 35px;
  height: 35px;
  overflow: hidden;
  top: 0;
  right: -45px;
  background:  none;
  cursor:  pointer;
}
.modal_close:before,
.modal_close:after {
  content: '';
  position: absolute;
  height: 2px;
  width: 100%;
  top: 50%;
  left: 0;
  background: #fff;
  border-radius: 5px;
  margin-top: -6px;
}
.modal_close:before {
  transform: rotate(45deg);
}
.modal_close:after {
  transform: rotate(-45deg);
}
.modal_contents_inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* よくある質問ボタン */
.btn-question {
  margin-top:  48px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn-question a {
  position:  relative;
  max-width: 600px;
  width: 100%;
  padding: 23px 0;
  background: #F8B527;
  border-radius: 50px;
  text-align:  center;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:  all .4s;
}
.btn-question a:before {
  content: "";
  width: 62px;
  height: 55px;
  background: url('/img/top4/ic-qa.png') no-repeat;
  background-size: contain;
  margin-right:  20px;
}
.btn-question a span {
  font-size:  3.0rem;
  font-weight: bold;
}

.btn-question a:hover {
  background: #383838;
  color:  #fff;
}

/* 右メニュー */
#RN {
  display: block;
  position: fixed;
  margin-top: 80px;
  margin-top: 104px;
  top: 0;
  right: 0;
  transition: 300ms;
/**201211変更 z-index: 300;**/
  z-index: 9;
}
  #RN .RN_M{
  display: none;
  -webkit-box-shadow: 0px 0px 18px 0px rgba(0,0,0,0.80);
  box-shadow: 0px 0px 18px 0px rgba(0,0,0,0.80);
  overflow: hidden;
  z-index: 301;
    width: 200px;
  }
  #RN .btnOC{
    display: block;
    width: 79px;
    height: 79px;
    margin-left: auto;
    border-radius: 3px;
    background: #ff8417;
    z-index: 302;
    position: relative;
    cursor: pointer;
    -webkit-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.30);
    box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.30);
        transition: 300ms;
  }
  #RN .btnOC.o{
    width: 50px;
    height: 50px;  
  }
  #RN .btnOC:not(.o)::before {
    content: "MENU";
    text-align: center;
    width: 79px;
    position: absolute;
    top: 16px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
  }
#RN .btnOC span{
  position: absolute;
  display: block;
  width: 46px;
  height: 5px;
  border-radius: 0px;
  background: #fff;
  left: 16px;
  transition: 300ms;
}
#RN .btnOC span:nth-of-type(1){
  top:38px;
}
#RN .btnOC span:nth-of-type(2){
  top:48px;
}
#RN .btnOC span:nth-of-type(3){
  top:58px;
}
#RN .btnOC.o span:nth-of-type(1){
  top: 24px;
        left: 3px;
  transform: rotate(-45deg);
}
#RN .btnOC.o span:nth-of-type(2){
  display: none
}
#RN .btnOC.o span:nth-of-type(3){
  top: 24px;
  left: 3px;
  transform: rotate(45deg);
}
#RN.out{
  width: 30px;
}
#RN.out ul{

  margin-left: -166px;
}
#RN ul {
  /*width: 200px;*/
  /*width: 230px;*/
  /*width: 205px;*/
  /*transition: 300ms;*/
}
#RN li {
  width: 100%;
  /* margin-bottom: 1px;*/
}

#RN li a {
  display: block;
  width: 100%;
  color: #fff;
  background: #ff8417;
  margin-bottom: 1px;
  /*padding: 10px 12px;*/
  /*padding: 8px 12px;*/
  padding: 4px 12px;
  line-height: 1.2;
  font-size: 1.5rem;
}
/*#RN li:nth-child(1) a {*/
#RN.out li:nth-child(1) a {
  background: url(/img/top3/icon_menu_2-01.png) no-repeat right 12px center;
  background-color: #ff8417;
}
/*#RN li:nth-child(2) a {*/
#RN.out li:nth-child(2) a {
  background: url(/img/top3/icon_menu_2-02.png) no-repeat right 12px center;
  background-color: #ff8417;
}
/*#RN li:nth-child(3) a {*/
#RN.out li:nth-child(3) a {
  background: url(/img/top3/icon_menu_2-03.png) no-repeat right 12px center;
  background-color: #ff8417;
}
/*#RN li:nth-child(4) a {*/
#RN.out li:nth-child(4) a {
  background: url(/img/top3/icon_menu_2-04.png) no-repeat right 12px center;
  background-color: #ff8417;
}
/*#RN li:nth-child(5) a {*/
#RN.out li:nth-child(5) a {
  background: url(/img/top3/icon_menu_2-05.png) no-repeat right 12px center;
  background-color: #ff8417;
}
/*#RN li:nth-child(6) a {*/
#RN.out li:nth-child(6) a {
  background: url(/img/top3/icon_menu_2-06.png) no-repeat right 12px center;
  background-color: #ff8417;
}
#RN li a:hover {
  background: #531a08;
  opacity: 1;
}
#RN li:nth-child(1) a:hover,
#RN li:nth-child(2) a:hover,
#RN li:nth-child(3) a:hover,
#RN li:nth-child(4) a:hover,
#RN li:nth-child(5) a:hover,
#RN li:nth-child(6) a:hover {
  background: none;
  background-color: #531a08;
}
#RN li.members {
  background: #000;
  background-size: cover;
  color: #fff;
  padding: 15px 15px 20px;
  line-height: 1.4;
  transition: 300ms;
  text-align: center;
}
#RN.out li.members {
  height: 39px;
  background: url(/img/top3/icon_menu_2-07.png) no-repeat right 12px center;
  background-color: #1d2f85;
}

#RN li.members li {
  font-size: 1.2rem;
  line-height: 1.2;
  letter-spacing: -0.1rem;
  text-align: left;
}

#RN li.members li a {
  border-radius: 3px;
  padding: 4px 8px;
  text-align: center;
  font-weight: bold;
}
#RN li.members li:first-of-type a {
  background: none;
  padding: 0;
}
#RN li.members li:first-of-type a:hover {
  background: none;
}
#RN li.members strong {
  font-size: 1.3rem;
}
#RN li.members img {
  width: 70px;
  display: block;
  margin: 10px auto;
}

  #RN li.members li:first-child a{
  border: 1px solid #999;
  background: #333;
  border-radius: 4px;
  text-align: center;
  padding: 10px 0px;
  font-size: 13px;
  margin-bottom: 14px;
}
#RN li.members li:first-child a:hover {
    background: #000;
}
  #RN li.members li:nth-child(2){
  padding: 0 0 20px;
  border-bottom: solid 1px #fff;
  text-align: center;
  }
#RN li.members li:nth-child(3){
  padding: 15px 0;
  font-weight: bold;
  line-height: 130%;
  color: #fff;
}
  #RN li.members li:nth-child(2) a{margin-top: 4px;}
  #RN li.members li:nth-child(2) a,
  #RN li.members li:nth-child(4) a{ font-size: 1.3rem;}


@media screen and (max-width: 1024px) {
    /* 右メニュー */
  #RN {
    display: none;
  }
  
  body.active{
    overflow:  hidden;
  }
  /* タイトル */
  .subtitle {
    font-size: 2.0rem;
    color: #F8B527;
  }
  .h2-title {
    font-size: 3.2rem;
  }
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
  /* ボタン */
  .btn-area {
    position:  relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin:  31px 0;
    width:  100%;
    text-align: center;
  }
  .btn-area a {
    padding: 15px 30px;
    background: #F8B527;
    border-radius:  50px;
    border: 1px solid #F8B527;
  }
  .btn-area.black a {
    padding: 15px 30px;
    background: #383838;
    min-width: 200px;
    border: 1px solid #383838;
  }
  .btn-area.black a span{
    color:  #fff;
  }
  .btn-area.black a:hover {
    background: #fff;
    border: 1px solid #383838;
  }
  .btn-area.black a:hover span{
    color:  #383838;
  }
  .btn-area.white a{
    background: none;
    border:  1px solid #fff;
    color:  #fff;
  }
  .btn-area.Bblack a{
    background: none;
    border:  1px solid #000000;
    color:  #383838;
  }
  .btn-area.ic-shop a {
    padding: 15px 30px;
    border-radius:  50px;
  }
  .btn-area.ic-shop a:before{
    content: "";
    display: block;
    width:  13px;
    height:  18px;
    position:  absolute;
    top:  50%;
    left:  10px;
    transform:  traslate(0,-50%);
  }
  /* カルーセル */
  .slick-slide {
      margin:0 10px;
  }
  .slick-prev, 
  .slick-next {
    position: absolute;
    top: 45%;
    transform:  translate(0,-50%);
    cursor: pointer;
    height: 30px;
    width: 30px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    transition:  .4s;
  }

  .slick-prev {
      left: -30px;
      background:  url('/img/top4/ic-slider-arrow01.png') no-repeat;
      background-size: contain;

  }
  .slick-next {
      right: -30px;
      background:  url('/img/top4/ic-slider-arrow02.png') no-repeat;
      background-size: contain;
  }



  /***************************************************************************************  
   * ヘッダー
   ***************************************************************************************/

  /*　ヘッダー　*/
  #header {
    padding: 10px;
    position: fixed;
    width:  100%;
    top:  0;
    left:  0;
    z-index: 1;
    background:  #fff;
  }
  .header-wrapper_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack:justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .header-logo {
    width: 100px;
  }
  .header-main {
    display:  none;
  }
  .menu-sp {
    visibility: hidden;
  }
  .menu-sp.active {
    visibility: visible;
  }
  .menu-sp-inner {
    position: fixed;
    top: 65px;
    right: 0;
    overflow-x: hidden;
    display: flex;
    height: 100%;
    width: 100%;
    flex-shrink: 10;
    overflow-y: scroll;
    z-index: 2;
  }
  .menu-sp-bg {
    position: fixed;
    width: 100%;
    height: 100vh;
    z-index: -1;
    background: rgba(0,0,0,.8);
    cursor:  pointer;
  }
  .menu-sp-nav,
  .menu-sp-subnav {
    min-width: 265px;
    width: 300px;
    height:calc(100% + 100px);
    min-height:calc(100% + 100px);
    background: #fff;
    padding-top: 7px;
    padding-bottom: 60px;
    margin: 0;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    overflow: scroll;
    will-change: transform;
    visibility: hidden;
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
    transition: all .4s;
  }
  .menu-sp-nav.open,
  .menu-sp-subnav.open  {
    visibility: visible;
  }
  .translate-x {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
  .menu-sp-contents {
    padding: 15px;
  }
  .menu-sp-input{
    position:  relative;
  }
  .menu-sp-input input {
    width:  100%;
    padding:  3px 50px 3px 20px;
    border-radius:  5px;
  }
  .menu-sp-contents input + span {
    content: "";
    display:  block;
    width:  20px;
    height:  20px;
    background: url('/img/top4/ic-menu-search.png') no-repeat;
    background-size:  contain;
    position: absolute;
    top: 4px;
    right: 6px;
  }
  .menu-sp-list {
    margin-top:  20px;
  }
  .menu-sp-list li {
    position:  relative;
    border-bottom: 1px solid  #ccc;
  }
  .menu-sp-list li:last-child {
    border-bottom: 0;
    padding: 0 0 1em;
/*  padding: 10px 20px;*/
  }
  .menu-sp-list a {
    display: block;
    width:  100%;
    padding:  10px 20px;
  }
  .menu-sp-list a.next-slide:after {
    content: "";
    display: block;
    border-top: solid 2px #ccc;
    border-right: solid 2px #ccc;
    width: 7px;
    height: 7px;
    position:  absolute;
    right:  0;
    top: 50%;
    transform: translate(0,-50%) rotate(45deg);
  }
  .menu-sp-btn {
    display:  flex;
    justify-content: center;
    align-items:  center;
      
    /*211117追加*/
    align-items: stretch;
  }
  .menu-sp-btn .member{
    padding: 7px 5px;
    text-align: center;
    background: #1E3190;
    border-radius: 5px;
    color:  #fff;
    font-size:  1.3rem;
    margin-right:  10px;
    
    /*211117追加*/
    display: flex;
    align-items: center;
  }
  .menu-sp-btn .online {
    padding: 7px 5px;
    text-align: center;
    background: #F8B500;
    border-radius: 5px;
    font-size:  1.3rem;
  }

/*211117追加*/
  .menu-sp-btn .online span{
    display: block;
    font-size: 12px;
  }
    
  .menu-sp #searchsubmit_sp {
    position: absolute;
    top: 0;
    right: 0;
    background: url(/img/top4/ic-search.png) no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
    border: 0;
    padding: 0px;
  }
  .google-lang-wrp {
    width:  100%;
    display:  flex;
    justify-content: center;
    align-items:  center;
  }
  .google-lang {
    position:  relative;
    display: inline-block;
  }
  .google-lang-menu {
    padding:  5px 10px 5px 30px;
    appearance:  none;
  }
  .google-lang:before {
    content: "";
    display: block;
    width:  19px;
    height:  19px;
    background: url("https://translate.googleapis.com/translate_static/img/te_ctrl3.gif") no-repeat;
    background-position: -65px 0px;
    position: absolute;
    top:  50%;
    left: 5px;
    transform: translate(0,-50%);
  }
  .google-lang:after {
    content: "▼";
    display: block;
    width:  5px;
    height:  19px;
    position: absolute;
    top:  50%;
    right: 15px;
    transform: translate(0,-50%);
  }
  .menu-sp-link {
    padding: 20px;
  }
  .menu-sp-link li {
    width: 100%;
    display: block;
    font-size:  1.2rem;
  }
  .menu-sp-link a {
    padding: 5px 0;
    display: block;
  }
  .return-nav {
    width:  100%;
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
    cursor: pointer;
  }
  .return-nav:before,
  .return-nav:after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
  }
  .return-nav:before {
    left: 3px;
    width: 17px;
    height: 1px;
    background: #222;
  }
  .return-nav:after {
    left: 5px;
    width: 10px;
    height: 10px;
    border-top: 1px solid #222;
    border-right: 1px solid #222;
    transform: rotate(-130deg);
  }
  .return-nav span {
    padding-left:  10px;
  }
  .btn-menu {
    position: relative;
    width: 30px;
    height: 25px;
    box-sizing: border-box;
    transition:  .3s;
    cursor:  pointer;
  }
  .btn-menu span {
    display: block;
    width: 100%;
    height: 2px;
    background: #444;
    position: absolute;
    left: 0;
    transition: all 0.2s ease;
  }
  .btn-menu span:nth-child(1) {
    top: 0;
  }
  .btn-menu span:nth-child(2) {
    top: 50%;
    transform: translate(0,-50%);
  }
  .btn-menu span:nth-child(3) {
    bottom: 0;
  }
  .btn-menu.open span:nth-child(1) {
    top: 50%;
    transform: translate(0,-50%);
    transform: rotate(45deg);
  }
  .btn-menu.open span:nth-child(2) {
    opacity:  0;
  }
  .btn-menu.open span:nth-child(3) {
    top: 50%;
    transform: translate(0,-50%);
    transform: rotate(-45deg);
  }

  /* offset設定 */
  #header.offset {
    padding: 10px;
  }
  .offset .header-main_headding ul li a{
    color:  #222;
  }


  /***************************************************************************************  
   * メインヴィジュアル
   ***************************************************************************************/
  .mv-wrapper {
    margin-top: 65px;
    width: 100%;
    height: auto;
  }
  .mv-content {

  }
  .mv-content_inner {
    position: relative;
  }
  .mv-img {

  }
  .mv-item {
    position:  relative;
  }
  .mv-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
.mv-text,
.mv-item:nth-child(1) .mv-text{
    width: 100%;
    position: absolute;
    bottom: -200px;
    top: 100%;
    left: 0;
  }
  .mv-text_inner {
    min-width:  100%;
  }
.mv-title,
.mv-item:nth-child(1) .mv-title{
    padding: 15px;
    font-size: 2.0rem;
    color: #333;
    text-shadow: none;
  }
.mv-subtitle,
.mv-item:nth-child(1) .mv-subtitle{
    font-size: 1.3rem;
    color: #333;
    padding: 0 15px;
    /*padding: 15px;*/
      text-shadow: none;
  }
  .mv-wrapper .slick-slide {
      margin:0;
      height: 60%;
  }
  .mv-video-wrap {
    max-width: 100%;
    width:  100%;
    height: 100%;
  }
  .mv-video {
  }
  .mv-video .menu {
    padding-top: 20px;
    width:  100%;
  }
  .mv-video .menu > li{
    width: 100%;
    height: 80px;
    position: relative;
    margin: 0 0 1px 0px;
  }
  .mv-video .menu li a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    width: 100%;
    height:  100%;
    position: relative;
    font-size: 1.5rem;
    background-color: hsla(0,0%,0%,0.6);
    letter-spacing: .3px;
    padding: 6px 10px 6px 26px;
  }
  .mv-video .menu img {
    max-width: 80px;
    height:  auto;
    display: block;
  }
  .mv-wrapper .slick-list {
    padding-bottom: 200px;
  }
  .mv-item.slick-slide:after{
    display: none;
  }

  /***************************************************************************************  
   * フッター
   ***************************************************************************************/
  #footer{
    margin-top:  25px;
    border-top: 1px solid #E0E1E2;
  }
  .footer-upper {
    width:  100%;
    margin:  0 auto;
    padding: 40px 15px 37px;
  }
  .footer-upper-list {
    width:  100%;
  }
  .footer-upper-list ul {
    flex-wrap: wrap;
    justify-content: center;
  }
  .footer-upper-list li:last-child {
    display: flex;
    justify-content: center;
    width:  100%;
    margin-top:  20px;
    align-items:  center;
  }
  .footer-upper-list li .member {
    padding: 10px 10px;
    text-align: center;
    background: #1E3190;
    border-radius:  5px;
    margin-right:  10px;
    font-size:  1.3rem;
  }
  .footer-upper-list li .member a {
    color:  #fff;
  }
  .footer-upper-list li .online {
    padding: 10px 10px;
    text-align: center;
    background: #F8B500;
    border-radius:  5px;
    color:  #fff;
    font-size:  1.3rem;
  }
  .footer-upper-list a {
    margin-right: 5px;
    font-size: 1.2rem;
  }
  .footer-upper-contets{
    margin-top: 30px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .footer-logo {
    width:  100%;
    margin-top:  20px;
    text-align:  center;
    order: 1;
  }
  .footer-logo img{
    width: 40%;
    max-width: 140px;
  }
  .footer-link {
    width:  100%;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
    order:  0;
  }
  .footer-link li {
    margin-right: 0;
  }
  .footer-link li a{
    font-size:  1.2rem;
  }
  .footer-link li:last-child {
    margin-right: 0;
  }
  .footer-bottom {
    width:  100%;
    background: #212223;
  }
  .footer-bottom-inner {
    width:  100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-wrap: wrap;
    max-width:  100%;
    margin:  0 auto;
    padding:  34px;
  }
  .Copyright {
    font-size: 1.0rem;
    color:  #fff;
    order:  1;
  }
    
/** 220218 **/
.footer-bottom-inner p{
    width: auto;
}
/****/
    
  .footer-bottom .footer-link li {
    padding-right:  0;
    position: relative;
    margin-right:  0;
  }
  .footer-bottom .footer-link li:last-child {
    margin-right:  0;
  }
  .footer-bottom .footer-link li:after {
    display: none;
  }
  .footer-bottom .footer-link a{
    font-size: 1.0rem;
    color:  #fff;
  }

  .footer-topbtn {
    position:  absolute;
    top:  -24px;
    right:  10px;
    display:  block;
    width: 48px;
    height:  48px;
    background: #EEBA42;
    border-radius:  50px;
    border:  1px solid #EEBA42;
    cursor:  pointer;
  }
  .footer-topbtn span {
    position: relative;  
    top: 47%;
    left: 48%;
    transform: translate(0,-50%);
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    width: 0.2em;
    height: 1em;
    background: #fff;
    transition:  all .2s ease;
  }
  .footer-topbtn span:before {
    content: '';
    width: 0.65em;
    height: 0.65em;
    border: 0.2em solid #fff;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    left: -0.2em;
    margin: auto;
  }
  .footer-topbtn:hover {
    background: #fff;
    border:  1px solid #222;
  }
  .footer-topbtn:hover span {
    background: #222;
  }
  .footer-topbtn:hover span:before {
    content: '';
    width: 0.65em;
    height: 0.65em;
    border: 0.2em solid #222;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    left: -0.2em;
    margin: auto;
  }

  /***************************************************************************************  
   * メインコンテンツ
   ***************************************************************************************/
  #main {
    width: 100%;
  }
  .container {
    width:  100%;
  }
  .container-inner {
    background: #fff;
  }
  .container-inner.gray {
    background: #F5F6F7
  }
  .container-inner.black {
    background: #383838;
  }
  .contents {
    width:  100%;
  }
  .contents-inner {
    padding:  10px 15px 0;
  }

  /* 重要なお知らせ */
  .Notices {
    width:  100%;
    margin-top: 0;
  }
  .Notices dl {
    flex-wrap: wrap;
  }
  .Notices dt {
    width: 100%;
  }

  .Notices dd {
    width: 100%;
  }
    
    
/** 220922 **/
    .Notices dl.important {
    margin-bottom: 2em;
}
    .Notices dl.important dd {
    padding: 0.5em 1em;
}
.Notices dl.important dd dl p {
    font-size: 1em;
}
    

  /* CMギャラリー */
  .gallery {
    margin-top: 30px;
    padding: 30px 0 0;
    text-align: center;
  }
  .gallery-ttl {

  }
  .gallery-ttl .subtitle {

  }
  .gallery-ttl .title {

  }
  .gallery-content {
    margin-top:  30px;
  }
  .gallery-img {
    width:  70%;
    margin:  0 auto;
  }
  .gallery-img li {
  }
  .gallery-img li img {
      width:100%;
      height:auto;
  }
  .gallery li img + p{
    margin-top:  17px;
  }
  .gallery .onetype {
    width: 100%;
    margin:  0 auto;
    padding:  20px;
    text-align: center;
  }
  .gallery .onetype p{
    margin-top:  20px;
  }


  /* 常設カルーセル*/
  .carousel {
    width: 100%;
    margin-top: 30px;
    padding: 30px 0;
  }
  .carousel-img {
    width:  70%;
    margin:  0 auto;
  }
  .carousel-img li img{
    width:100%;
    height:auto;
  }
  /* お客様のデジタルライフをサポート */
  .support {
    padding-top:  111px;
  }
  .support_ttl {
    position:  relative;
    display: flex;
    justify-content: center;
    padding:  16px;
  }
  .support_ttl:before {
    content: "";
    position: absolute;
    top: 0;
    left:  0;
    width:  100%;
    height:  3px;
    border-top:  1px solid #F8B527;
    border-bottom:  1px solid #F8B527;
  }
  .support_ttl:after {
    content: "";
    position: absolute;
    bottom: 0;
    left:  0;
    width:  100%;
    height:  3px;
    border-top:  1px solid #F8B527;
    border-bottom:  1px solid #F8B527;
  }
  .support_contents {
    flex-wrap:  wrap;
  }
  .support_ttl span{
    font-size: 3.2rem;
  }
.support_colum_item {
    width:  46%;
   }
  .support_colum_ttl {
    position: absolute;
    bottom: 0;
    width:  100%;
    padding:  20px;
    text-align:  center;
    font-size:  1.2rem;
  }
  .support_colum_ttl span {
    display:  block;
    width:  100%;
    font-size:  1.2rem;
  }
  .support_colum .support_colum_item:only-child .support_colum_ttl{
    font-size:  1.8rem;
  }
  .support_colum .support_colum_item:only-child .support_colum_ttl span{
    font-size:  1.2rem;
  }
/**  .support ul {
    margin-top:  30px;
    justify-content: space-between;
  }
  .support li {
    position: relative;
    margin-top: 20px;
    width: 31%;
    max-width: 33%;
    background: #F5F6F7;
    border-radius: 15px;
    text-align: center;
    margin-bottom: 10px;
    margin-right:  0;
  }
 .support a {
    position:  relative;
    display:  block;
    height:  100%;
    padding: 20px 5px 20px;
  }
  .support a:after{
    content:  "";
    display: block;
    position: absolute;
    bottom: 7px;
    left: 50%;
    border-top: solid 3px #D1CCCC;
    border-right: solid 3px #D1CCCC;
    width: 10px;
    height: 10px;
    transform: rotate(135deg) translate(0,20%);
  }
  .support img {

  }
  .support p {
    margin-top:  10px;
    font-size:  1.2rem;
  }
  .support li:nth-child(1) img{
    width: 40%;
  }
  .support li:nth-child(2) img{
    width: 40%;
  }
  .support li:nth-child(3) img{
    width: 40%;
  }
  .support li:nth-child(4) img{
    width: 40%;
  }
  .support li:nth-child(5) img{
    width: 40%;
  }
  .support li:nth-child(6) img{
    width: 40%;
  }
  .support li:nth-child(7) img{
    width: 40%;
  }
  .support li:nth-child(8) img{
    width: 40%;
  }
  .support li:nth-child(9) img{
    width: 40%;
  }
  .support li:nth-child(10) img{
    width: 40%;
  }**/


  /* 汎用レイアウト */
  .column-wrapper {
    margin-top: 40px;
  }
  .column-inner {

  }
  .column-title {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }
  .column-wrapper .h2-title {
    width: 100%;
    margin: 0;
  }
  .column-title span {
    margin-top: 10px;
    border:  0;
    padding: 0 20px;
  }
  .column-item {
    width: 100%;
    max-width: unset;
  }
  .column-item:last-child {
    margin-right: 0;
  }
  .column-img {
    position: relative;
    width:  100%;
  }
  .column-img img {
    width:  100%;
    border-radius:  18px;
  }
  .column-img img + span {
    font-size: 10.3rem;
    font-family:  "Futura", sans-serif;
    position:  absolute;
    bottom:  -65px;
    right:  0;
  }
  .column-ttl {
    width:  100%;
    margin-top:  65px;
    font-size: 2.7rem;
  }
  .column-ttl + p{
    margin:  20px 0;
  }
  .black .column-wrapper {
    padding: 40px 0px;
    margin-top: 0px;
  }
  .black .column-title {
    color: #fff;
    text-align: center;
  }
  .black .column-wrapper .h2-title {
    width: 100%;
    color: #fff;
    margin: 0;
  }
  .black .column-img img + span {
    color: #fff;
  }
  .black .column-ttl {
    color: #fff;
  }
  .black .column-ttl + p{
    color: #fff;
  }
  .column-catch {
    flex-wrap: wrap;
  }
  .column-catch img{
    width:  241px;
    margin: 0 10px;
  }
  .numcolum .column-ttl{
    width:  100%;
    margin-top:  30px;
    font-size:  2.2rem;
    text-align:  center;
  }
  .shop-ttl {
    width:  100%;
    text-align: center;
    margin-top: 20px;
    font-size: 2.0rem;
    font-weight: 500;
  }
  .shop .column-body {
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .shop .column-body::-webkit-scrollbar {
    display:none;
  }
  .shop .column-main {
    width: 1020px;
    display: flex;
    justify-content: center;
    flex-wrap:  nowrap;
    margin-top: 0px;
  }
  .shop .column-item {
    margin-right: 5%;
  }
  .shop .column-item:last-child {
    margin-right: 0;
  }
  .shop .scroll-text {
    text-align: end;
    margin: 30px 0 20px;
    color:#989898;
    font-size:14px;
    display:block;
  }
  .numcolum .column-item {
    width: 48%;
    margin-right: 2%;
  }
  .numcolum .column-ttl{
    margin-top: 20px;
    font-size: 1.5rem;
  }

  /* バナーエリア  */
  .bnr-wrapper {
    margin-top: 0px;
    position:  relative;
  }
  .bnr-inner {
    height: 250px;
  }
  .bnr-bg {
    background:  url('/img/top4/bnr_bg01.png') no-repeat;
    background-size: cover;
    margin: 0 calc(50% - 50vw);
    width: 99.1vw; /*100vw;*/
    height: 250px;
    position: absolute;
  }
  .bnr-img {
    position:  relative;
    top: 25px;
    background:  url('/img/top4/bnr_bg01_body.png') no-repeat;
    background-size: contain;
    background-position: center;
    width:  100%;
    height: 140px;
    display:  block;
  }
  .bnr-ara {
    margin-top:  70px;
  }
  .partner .bnr-bg {
    background:  url('/img/top4/bnr_bg02.png') no-repeat;
    background-size: cover;
    margin: 0 calc(50% - 50vw);
    width: 99.1vw; /*100vw;*/
    height: 250px;
    position: absolute;
  }
  .partner .bnr-img {
    position:  relative;
    top: 25px;
    background:  url('/img/top4/bnr_bg02_body.png') no-repeat;
    background-size: contain;
    background-position: center;
    width:  100%;
    height:  140px;
    display:  block;
  }
  .partner .bnr-img:before {
    display:  none;
  }
  .news.column-wrapper {
    padding-top:  20px;
  }
  .news .column-inner {
    padding-bottom: 72px;
  }
  .news .column-title {
    text-align: left;
    justify-content: space-between;
  }
  .news .title-link {
    display: flex;
    align-items: center;
  }
  .news .title-link:before {
    content: "";
    display:  block;
    width:  25px;
    height: 25px;
    background:  url('/img/top4/ic-slider-arrow02.png') no-repeat;
    background-size:  contain;
    margin-right:  10px;
    transition:  all .4s;
  }
  .news .title-link:hover:before {
    background:  url('/img/top4/ic-slider-arrow02_black.png') no-repeat;
    background-size:  contain;
  }
  .news .column-main {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin: 20px 0;
    width: 100%;
  }
  .news .h2-title {
    display: inline-block;
    width: auto;
  }
  .news .column-main li{
    padding: 30px 0;
    border-bottom: 1px solid #D8D9DA;
    margin-right: 0;
    width:  100%;
  }
  .news .column-main li:nth-child(1){
    border-top: 1px solid #D8D9DA
  }
  .news .column-main li:nth-child(2){
    border-top: 0;
  }
  .news .column-main li > p{
    font-size: 1.4rem;
    color:  #757575;
  }
  .news .column-main li > p > span{
    font-size: 1.0rem;
    font-weight: bold;
    color:  #fff;
    background: #1AA47C;
    padding:  3px 15px;
    border-radius:  5px;
    margin-right: 10px;
  }
  .news .column-main li > p > span.company{
    background: #1C318E;
  }
  .news .column-main a {
    display: block;
    margin-top:  15px;
  }
  .news .column-buttom {
    margin:  45px 0 0;
  }
  .news .column-buttom ul{
    flex-wrap: wrap;
  }
  .news .column-buttom li {
    width: 100%;
    margin:  20px 0;
  }
  .news .column-buttom li:last-child {
    margin-right:  0;
  }
  .news .colum-bnr {

  }

  /* SP */
.news .column-bnr a{
  display: block;
  padding: 3vw 10%;
}
.news .colum-bnr img { width:  223px;}
.news .column-contents {
  padding:  2vw 4%;
}
/* *************** */


  .news .column-contents p {

  }
  .news .column-contents span {

  }
  .news .column-text {

  }

  /*　レコメンド　*/
  .recommend {
    width: auto;
    margin: 50px 0;
    padding-bottom: 30px;
  }
  .recommend-img {
    width:  70%;
    margin:  0 auto;
  }
  /* モーダルエリア */
  .modal_contents {
    width: 90%;
  }
  .modal_close {
    display:  none;
  }
  /* よくある質問ボタン */
  .btn-question {
    margin: 20px 0;
  }
  .btn-question a {
    position:  relative;
    max-width: 80%;
    width: 100%;
    padding: 15px 0;
  }
  .btn-question a:before {
    content: "";
    width: 40px;
    height: 35px;
    background: url('/img/top4/ic-qa.png') no-repeat;
    background-size: contain;
    margin-right:  15px;
  }
  .btn-question a span {
    font-size:  2.0rem;
    font-weight: bold;
  }
  .google-lang:before{
    left: -29px;
  }


}

@media (max-width: 1024px) and (min-width: 768px)  {
  .column-item {
    margin-right: 5%;
  }
  .support_colum:first-child {
    width: 60%;
  }
  .support_colum {
    width: 40%;
  }
  .support_colum_item {
    margin: 5px 5px;
  }
  .news .column-title, .news .column-main {
    margin: 50px 10px 0;
  }
}

@media screen and (max-width: 768px) {
  .column-main {
    width: 100%;
    margin-top: 50px;
    flex-wrap: wrap;
  }
  .column-item {
    margin-right: 0;
  }
  .support_colum {
    width:  100%;
  }
  .support_colum:first-child {
    width: 100%;
  }
  .support_colum .support_colum_item:only-child{
    width:  100%;
  }
  .support_colum_item {
    margin:  5px 0;
  }
  .support_colum_item {
    width:  48%;
  }
  .support_colum_ttl {
    padding: 15px;
  }
.column-buttom p{
        flex-wrap: wrap;
    }
    .news .column-contents span {
    width: 100%;
    text-align: center;
    margin: 0 0 1em;
}
.Notices dd dl {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
}
.Notices dd dl dt{
    width: 100%;
    padding: 0 0 5px;
}
.Notices dd dl dd {
    width: 100%;
}
.Notices dd a.mt10 {
    margin-top: 5px;
}

}

