@charset "utf-8";

/* CSS Document */

@import 'https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900';
/*
font-family: 'Roboto', sans-serif;
*/


/********************************************************************************************
ベース
********************************************************************************************/
html,
body {
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  -webkit-tap-highlight-color:transparent;
/*
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",  "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "メイリオ", Meiryo, serif;
*/
}

body{
  background-color: rgba(76, 26, 122, 0.02);
}

@media all and (-ms-high-contrast:none) {
/* IEだけメイリオに */
  body {
    font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  }
}

a {
  color: #337ab7 ;
  text-decoration: underline;
  transition:all 0.2s ease;
}

a:visited{
}
a:hover,
a:active {
  color: ;
  text-decoration: none;
}

img {
  width: auto;
  max-width: 100%;
  height: auto;
}


/* = Selected Text
----------------------------------------------- */
::selection {
  background: rgba(0, 144, 202, 0.5); /* Safari */
}

::-moz-selection {
  background: rgba(0, 144, 202, 0.5); /* Firefox */
}


/********************************************************************************************
レイアウト
********************************************************************************************/

/**********************************************
common
***********************************************/

.relative {  position: relative !important; }

.right,.alignright {  float: right !important; }
.left,.alignleft  {  float: left !important; }
.aligncenter  { display: block; margin-left:auto; margin-right:auto; }

.textAlign-center {  text-align: center !important; }
.textAlign-right  {  text-align: right !important; }
.textAlign-left   {  text-align: left !important; }

.l-bottom-xxsmall {  margin-bottom: 5px  !important; }
.l-bottom-xsmall  {  margin-bottom: 10px !important; }
.l-bottom-small   {  margin-bottom: 15px !important; }
.l-bottom         {  margin-bottom: 20px !important; }
.l-bottom-large   {  margin-bottom: 30px !important; }
.l-bottom-xlarge  {  margin-bottom: 50px !important; }
.l-bottom-xxlarge {  margin-bottom: 80px !important; }

.l-top-xxsmall {  margin-top: 5px  !important; }
.l-top-xsmall  {  margin-top: 10px !important; }
.l-top-small   {  margin-top: 15px !important; }
.l-top         {  margin-top: 20px !important; }
.l-top-large   {  margin-top: 30px !important; }
.l-top-xlarge  {  margin-top: 50px !important; }
.l-top-xxlarge {  margin-top: 80px !important; }

.l-bottom-xxsmall-p {  padding-bottom: 5px  !important; }
.l-bottom-xsmall-p  {  padding-bottom: 10px !important; }
.l-bottom-small-p   {  padding-bottom: 15px !important; }
.l-bottom-p         {  padding-bottom: 20px !important; }
.l-bottom-large-p   {  padding-bottom: 30px !important; }
.l-bottom-xlarge-p  {  padding-bottom: 50px !important; }
.l-bottom-xxlarge-pta {  padding-bottom: 80px !important; }

.l-top-xxsmall-p {  padding-top: 5px  !important; }
.l-top-xsmall-p  {  padding-top: 10px !important; }
.l-top-small-p   {  padding-top: 15px !important; }
.l-top-p         {  padding-top: 20px !important; }
.l-top-large-p   {  padding-top: 30px !important; }
.l-top-xlarge-p  {  padding-top: 50px !important; }
.l-top-xxlarge-p {  padding-top: 80px !important; }


@media screen and (max-width:834px) {

  .l-bottom-xxsmall {  margin-bottom: 5px  !important; }
  .l-bottom-xsmall  {  margin-bottom: 7px !important; }
  .l-bottom-small   {  margin-bottom: 10px !important; }
  .l-bottom         {  margin-bottom: 15px !important; }
  .l-bottom-large   {  margin-bottom: 20px !important; }
  .l-bottom-xlarge  {  margin-bottom: 30px !important; }
  .l-bottom-xxlarge {  margin-bottom: 40px !important; }

  .l-top-xxsmall {  margin-top: 5px  !important; }
  .l-top-xsmall  {  margin-top: 7px !important; }
  .l-top-small   {  margin-top: 10px !important; }
  .l-top         {  margin-top: 15px !important; }
  .l-top-large   {  margin-top: 20px !important; }
  .l-top-xlarge  {  margin-top: 30px !important; }
  .l-top-xxlarge {  margin-top: 40px !important; }

  .l-bottom-xxsmall-p {  padding-bottom: 5px  !important; }
  .l-bottom-xsmall-p  {  padding-bottom: 7px !important; }
  .l-bottom-small-p   {  padding-bottom: 10px !important; }
  .l-bottom-p         {  padding-bottom: 15px !important; }
  .l-bottom-large-p   {  padding-bottom: 20px !important; }
  .l-bottom-xlarge-p  {  padding-bottom: 30px !important; }
  .l-bottom-xxlarge-p {  padding-bottom: 40px !important; }

  .l-top-xxsmall-p {  padding-top: 5px  !important; }
  .l-top-xsmall-p  {  padding-top: 7px !important; }
  .l-top-small-p   {  padding-top: 10px !important; }
  .l-top-p         {  padding-top: 15px !important; }
  .l-top-large-p   {  padding-top: 20px !important; }
  .l-top-xlarge-p  {  padding-top: 30px !important; }
  .l-top-xxlarge-p {  padding-top: 40px !important; }

}

/**********************************************
column
***********************************************/

.l-column{
  display: flex;
}
.l-column-half {
  justify-content: space-between;
}
.l-column-block {
  width: 48%;
}

.l-firstColumn{
  width: 68%;
  float: left;
}

.l-secondColumn{
  width: 25%;
  float: right;
}

@media screen and (max-width:1024px) {

  .l-column{
    display: block;
  }
  .l-column-half {
  }
  .l-column-block {
    width: auto;
  }

}

@media screen and (max-width:834px) {

  .l-firstColumn{
    width: auto;
    float: none;
  }

  .l-secondColumn{
    width: auto;
    float: none;
  }

}

/**********************************************
base
***********************************************/

.l-base {
  width: auto;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 12px;
  padding-right: 12px;
}

.l-base-wide {
  width: auto;
  max-width: 1224px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 12px;
  padding-right: 12px;
}

.l-base-small {
  width: auto;
  max-width: 824px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 12px;
  padding-right: 12px;
}

.l-block {
  padding-top: 80px;
  padding-bottom: 80px;
}

.l-block-top {
  padding-top: 80px;
}

.l-block-bottom {
  padding-bottom: 80px;
}

@media screen and (max-width:834px) {

  .l-base {
    box-sizing: border-box;
    padding-left: 0;
    padding-right: 0;
  }

  .l-base-wide {
    box-sizing: border-box;
    padding-left: 0;
    padding-right: 0;
  }

  .l-base-small {
    box-sizing: border-box;
    padding-left: 0;
    padding-right: 0;
  }

  .l-base:not(.l-base-noOffset),
  .l-base-wide:not(.l-base-noOffset),
  .l-base-small:not(.l-base-noOffset){
    padding-left: 10px;
    padding-right: 10px;
  }

  .l-base-wide .l-base,
  .l-base-wide .l-base-small,
  .l-base .l-base-small {
    padding-left: 0;
    padding-right: 0;
  }

  .l-block {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .l-block-top {
    padding-top: 40px;
  }

  .l-block-bottom {
    padding-bottom: 40px;
  }

}

/********************************************************************************************
モジュール
********************************************************************************************/


/**********************************************
common
***********************************************/


/**********************************************
module-text
***********************************************/

.textMain{
  font-size: 124%;
  line-height: 2;
}

.text-small{
  padding-bottom: 8px;
  font-size: 93%;
}

.text-large{
}

.text-accent{
}


.text-success{
  color: #5cb85c;
}
.text-danger{
  color: #d9534f;
}


.list-dot {}

.list-dot li {
  font-size: 124%;
  line-height: 2;
  margin-left: 1em;
}

.list-dot li::before {
  content: "・";
  margin-left: -1em;
}

.list-asterisk {}

.list-asterisk li {
  font-size: 124%;
  line-height: 2;
  margin-left: 1em;
}

.list-asterisk li::before {
  content: "※";
  margin-left: -1em;
}

.list-number {
  padding-left: 2em;
}

.list-number li {
  font-size: 124%;
  line-height: 2;
  list-style: decimal;
}

@media screen and (max-width:834px) {

  .textMain{
    font-size: 124%;
    line-height: 1.7;
  }
  
  .text-small{
    padding-bottom: 5px;
    font-size: 77%;
  }

  .list-dot {}

  .list-dot li {
    font-size: 124%;
    line-height: 1.7;
    margin-left: 1em;
  }

  .list-dot li::before {
    content: "・";
    margin-left: -1em;
  }

  .list-asterisk {}

  .list-asterisk li {
    font-size: 124%;
    line-height: 1.7;
    margin-left: 1em;
  }

  .list-asterisk li::before {
    content: "※";
    margin-left: -1em;
  }

  .list-number {
    padding-left: 2em;
  }

  .list-number li {
    font-size: 124%;
    line-height: 1.7;
    list-style: decimal;
  }

}

/**********************************************
module-btn
***********************************************/

.btn{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  min-width: 100px;
  text-align: center;
  display: inline-block;
  padding: 8px 20px;
  background-color: #666;
  color: #fff;
  box-shadow: none;
  border: none;
  text-decoration: none !important;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
  font-size: 116%;
  font-weight: 600;
  border-radius: 5px;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition:all 0.2s ease;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.btn i{
  opacity: 0.7;
}

.btn-large{
  font-size: 131%;
  padding: 15px 30px;
}
.btn-small{
  font-size: 93%;
  padding: 5px 15px;
}
.btn-block{
  width: 100%;
  display: block;
}

.btn.btn-default{
  box-shadow: 0 0 0 1px #ddd inset;
  background-color: #f0f0f0;
  color: #666;
}
.btn.btn-default:hover{
  background-color: #e0e0e0;
  filter: none;
}
.btn.btn-primary{
  background-color: #337ab7;
}
.btn.btn-success{
  background-color: #5cb85c;
}
.btn.btn-info{
  background-color: #5bc0de;
}
.btn.btn-warning{
  background-color: #f0ad4e;
}
.btn.btn-danger{
  background-color: #d9534f;
}

.btn:hover{
  filter: saturate(90%) grayscale(20%) contrast(150%);
}
@media screen and (max-width:834px) {

  .btn {
    font-size: 108%;
    min-width: 60px;
  }

  .btn-large{
    font-size: 124%;
  }
  .btn-small{
    font-size: 93%;
  }
  .btn-block{
    display: block;
  }

}


/**********************************************
module-btnList
***********************************************/

.btnWrap{
  text-align: center;
}

.btnList{
  display: flex;
  justify-content: center;
}
.btnList li{
  padding: 0 5px;
}


/**********************************************
module-alert
***********************************************/

.alert{
  padding: 15px 30px;
  background-color: #f6f6f6;
  position: relative;
  line-height: 1.8;
}


.alert-success{
  background-color: #dff0d8;
}
.alert-info{
  background-color: #d9edf7;
}
.alert-warning{
  background-color: #fcf8e3;
}
.alert-danger{
  background-color: #fee9e9;
  color: #a00;
}


.alert-close{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
  right: 20px;
  top: 10px;
  border: none;
  box-shadow: none;
  background: none;
  font-size: 16px;
  padding: 5px 5px;
  cursor: pointer;
}


@media screen and (max-width:834px) {

  .alert{
    padding: 15px 15px;
    line-height: 1.7;
  }

}



/**********************************************
module-header
***********************************************/

.header {
  width: 100%;
  height: 54px;
  background: #E46E93;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
}

.header-inner {
  position: relative;
}

.header-logo {
  padding-top: 4px;
}
.header-logo img {
  height: 46px;
}

.header-block {
  position: absolute;
  right: 0;
  top: 0;
}

.header-link {
  display: flex;
  padding: 15px 20px 0 0;
}
.header-link li {
  padding: 0 8px;
}
.header-link a {
  display: inline-block;
  color: #fff;
  font-size: 93%;
  font-weight: bold;
  text-decoration: none;
}
.header-link a i{
  margin-right: 0.2em;
}
.header-link a:hover {
  text-decoration: underline;
}


@media screen and (max-width:1224px) {

  .header-link a span{
    display: none;
  }

}


@media screen and (max-width:834px) {

  .header-link{
    display: none;
  }
}

/**********************************************
module-navi
***********************************************/

.navi {
  position: absolute;
  left: 180px;
  top: 0;
}

.navi-list {
  display: flex;
}

.navi-list > li {
  position: relative;
  transition:all 0.2s ease;
}
.navi-list > li:hover ,
.navi-list > li > a.is-active{
  background-color: rgba(0, 0, 0, 0.1);
}

.navi-list > li > a.is-active::after{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 5px 0 5px;
  border-color: #E46E93 transparent transparent transparent;
  position: absolute;
  left: 50%;
  top: 100%;
  margin-left: -5px;
}
.navi-list > li:first-child::before {
  content: "";
  display: block;
  width: 1px;
  height: 30px;
  position: absolute;
  top: 12px;
  left: -1px;
  background-color: #fff;
  opacity: 0.2;
}
.navi-list > li::after {
  content: "";
  display: block;
  width: 1px;
  height: 30px;
  position: absolute;
  top: 12px;
  right: -1px;
  background-color: #fff;
  opacity: 0.2;
}

.navi-list > li > a{
  display: block;
  height: 54px;
  font-size: 108%;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  padding: 15px 15px 0;
  white-space: nowrap;
}


.navi-list ul {
  position: absolute;
  left: 0;
  top: 100%;
  background-color: #E46E93;
  min-width: 200px;
  visibility: hidden;
  opacity: 0;
  transition:all 0.2s ease;
}
.navi-list li:hover ul {
  visibility: visible;
  opacity: 1;
}
.navi-list ul li{
}
.navi-list ul li a{
  display: block;
  padding: 10px 20px;
  color: #fff;
  text-decoration: none;
}
.navi-list ul li a:hover{
  background-color: rgba(0, 0, 0, 0.15);
}


@media screen and (max-width:1224px) {

  .navi-list > li > a{
    padding: 15px 10px 0;
  }
}

@media screen and (max-width:834px) {

  .navi {
    display: none;
  }

}


/**********************************************
module-mobile
***********************************************/

@media screen and (max-width:834px) {

  .mobile{
    position: fixed;
    width: 300px;
    height: 100vh;
    z-index: 9998;
    right: -30px;
    top: 0;
    opacity: 0;
    transition:all 0.3s ease;
    background-color: #000;
    -webkit-overflow-scrolling: touch;
  }

  .is-mobile-open .mobile{
    opacity: 1;
    right: 0;
  }

  .mobile-close{
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.7);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition:all 0.2s ease;
    z-index: -1;
  }
  .is-mobile-open .mobile-close{
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    z-index: 9990;
  }

  .mobile-trigger {
    position: fixed;
    right: 10px;
    top: 6px;
    z-index: 9999;
    cursor: pointer;
    background: none;
    border: none;
    background-color: transparent;
  }
  .mobile-btn {
    display: block;
    position: relative;
    width: 60px;
    height: 60px;
    padding: 10px 20px;
    cursor: pointer;
    background: none;
    border: none;
    transition: all .4s;
  }
  .mobile-btn span {
    display: inline-block;
    position: absolute;
    left: 25%;
    width: 50%;
    height: 2px;
    background-color: #fff;
    transition: all .4s;
  }
  .mobile-btn span:nth-of-type(1) {
    top: 10px;
  }
  .mobile-btn span:nth-of-type(2) {
    top: 20px;
  }
  .mobile-btn span:nth-of-type(3) {
    top: 30px;
  }

  .is-mobile-open .mobile-btn span {
    background-color: #fff;
  }

  .mobile-btn.is-active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-135deg);
  }

  .mobile-btn.is-active span:nth-of-type(2) {
    opacity: 0;
  }

  .mobile-btn.is-active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(135deg);
  }

}


/**********************************************
module-mobile-navi
***********************************************/

.mobile-navi {
  padding-top: 50px;
}
.mobile-navi > li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.mobile-navi > li > a {
  display: block;
  padding: 12px 20px;
  color: #fff;
  font-size: 116%;
  font-weight: 600;
  text-decoration: none;
}

.mobile-navi ul{
  padding-bottom: 10px;
}
.mobile-navi ul a{
  display: block;
  padding: 5px 20px 5px 35px;
  color: #fff;
  text-decoration: none;
  position: relative;
}
.mobile-navi ul a::before{
  content: "-";
  position: absolute;
  left: 22px;
  top: 5px;
}


.mobile-link {
  padding-top: 15px;
  text-align: right;
}
.mobile-link li {
}
.mobile-link li a{
  display: inline-block;
  padding: 5px 20px 5px 20px;
  color: #fff;
  text-decoration: none;
}
.mobile-link li i{
  margin-right: 0.2em;
  opacity: 0.7;
}

/**********************************************
module-footer
***********************************************/

.footer{
  max-width: 1224px;
  padding: 80px 12px 20px 12px;
  text-align: center;
  margin: 0 auto;
  font-size: 93%;
}

.footer-navi {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-bottom: 20px;
}
.footer-navi li {
}
.footer-navi li:not(:last-child)::after {
  content: "|";
  padding: 0 1em;
  opacity: 0.5;
}
.footer-navi a {
  display: inline-block;
  padding: 2px 0;
}

.footer-text {
  font-size: 93%;
  line-height: 1.8;
}

.copyright{
  display: block;
  font-size: 93%;
  padding-top: 20px;
}


@media screen and (max-width:834px) {

  .footer{
    padding: 40px 0 20px;
  }

  .footer-navi {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding-bottom: 0;
    margin-bottom: 20px;
    border-top: 1px solid #ddd;
    background-color: #fff;
  }
  .footer-navi li {
    width: 50%;
    flex-grow: 1;
    box-shadow: 1px 1px 0 0 #ddd;
  }
  .footer-navi li:not(:last-child)::after {
    display: none;
  }
  .footer-navi a {
    display: block;
    padding: 10px 0;
    color: #000;
    text-align: center;
    text-decoration: none;
    font-size: 85%;
  }

  .footer-text {
    font-size: 93%;
    padding: 0 15px;
  }

  .copyright{
    display: block;
    font-size: 77%;
    padding-top: 20px;
  }

}

/**********************************************
module-contents
***********************************************/

.contents{
  padding-top: 60px;
}


/**********************************************
module-pageHeading
***********************************************/

.pageHeading{
  border-bottom: 1px solid #ddd;
  background-color: #fff;
  margin-bottom: 60px;
}

.pageHeading-title {
  font-size: 200%;
  padding: 20px 0 30px;
}


@media screen and (max-width:834px) {

  .pageHeading{
    margin-bottom: 20px;
  }

  .pageHeading-title {
    font-size: 154%;
    padding: 10px 0 15px;
  }

}



/**********************************************
module-breadcrumb
***********************************************/

.breadcrumb{
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 5px;
}
.breadcrumb li{
  font-size: 77%;
  color: #999;
}
.breadcrumb li a{
  color: #333;
  text-decoration: none;
}
.breadcrumb li:not(:last-child)::after{
  content: ">";
  padding: 0 4px;
  color: #333 !important;
}
.breadcrumb li a:hover{
  color: #fe5b0a;
  text-decoration: underline;
}

@media screen and (max-width:768px) {

  .breadcrumb{
  }
  .breadcrumb li{
    font-size: 70%;
  }
  .breadcrumb li a{
  }
  .breadcrumb li:not(:last-child)::after{
    padding: 0 3px;
  }
  .breadcrumb li a:hover{
  }

}



/**********************************************
module-search
***********************************************/

.search{
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ddd;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.search-item {
  padding-right: 10px;
}

.search-submit-btn{
  letter-spacing: 0.1em;
  font-size: 108%;
  font-weight: 500;
  height: 40px;
}

.hitText {
  font-size: 108%;
  padding-bottom: 15px;
}


@media screen and (max-width:834px) {

  .search{
    display: block;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px solid #ddd;
    padding-bottom: 30px;
    margin-bottom: 30px;
  }

  .search-item {
    width: 100%;
    padding-right: 0;
    margin-bottom: 5px;
  }
  .search-item input[type="text"],
  .search-item select{
    width: 100% ;
  }

  .search-submit{
    width: 100%;
  }
  .search-submit-btn{
    width: 100%;
    height: 40px;
    font-size: 16px;
  }

  .hitText {
    font-size: 108%;
    padding-bottom: 15px;
  }

}

/**********************************************
module-badge
***********************************************/

.badge{
  display: inline-block;
  padding: 2px 6px;
  min-width: 40px;
  font-size: 93%;
  font-weight: bold;
  background-color: #666;
  color: #fff;
  border-radius: 4px;
}
.badge.badge-default{
}
.badge.badge-primary{
  background-color: #337ab7;
}
.badge.badge-success{
  background-color: #5cb85c;
}
.badge.badge-info{
  background-color: #5bc0de;
}
.badge.badge-warning{
  background-color: #f0ad4e;
}
.badge.badge-danger{
  background-color: #d9534f;
}

@media screen and (max-width:834px) {

  .badge{
    padding: 2px 4px;
    font-size: 85%;
    white-space: nowrap;
  }

}

/**********************************************
module-table
***********************************************/

.table{
  border: 1px solid #ddd;
  background-color: #fff;
}
.table thead th{
  background-color: #666;
  border: 1px solid #888;
  color: #fff;
  padding: 5px 5px;
  text-align: center;
  white-space: normal;
}

.table tbody tr{
  transition:all 0.2s ease;
}
.table tbody tr:nth-child(2n){
  background: #f6f6f6;
}
.table tbody tr:hover{
  background-color: rgba(203, 127, 183, 0.2);
}
.table tbody th{
}
.table tbody td{
  border: 1px solid #ddd;
  padding: 5px 8px;
  word-break: break-all;
}

.table.table-small{
  font-size: 93%;
}

.table-light.table thead th{
  background-color: #eee;
  border-color: #ddd;
  color: #000;
}

.table-shop thead th:nth-child(1) { width: 90px; }
.table-shop thead th:nth-child(2) {  }
.table-shop thead th:nth-child(3) { width: 100px; }
.table-shop thead th:nth-child(4) { width: 120px; }
.table-shop thead th:nth-child(5) { width: 80px; }
.table-shop thead th:nth-child(6) { width: 100px; }
.table-shop thead th:nth-child(7) { width: 100px; }

.table-shopAll thead th:nth-child(1) { width: 90px; }
.table-shopAll thead th:nth-child(2) {  }
.table-shopAll thead th:nth-child(3) {  }
.table-shopAll thead th:nth-child(4) { width: 100px; }
.table-shopAll thead th:nth-child(5) { width: 120px; }
.table-shopAll thead th:nth-child(6) { width: 80px; }
.table-shopAll thead th:nth-child(7) { width: 100px; }
.table-shopAll thead th:nth-child(8) { width: 100px; }

.table-adminShopAll thead th:nth-child(1) { width: 90px; }
.table-adminShopAll thead th:nth-child(2) {  }
.table-adminShopAll thead th:nth-child(3) {  }
.table-adminShopAll thead th:nth-child(4) { width: 125px; }
.table-adminShopAll thead th:nth-child(5) { width: 100px; }
.table-adminShopAll thead th:nth-child(6) { width: 100px; }
.table-adminShopAll thead th:nth-child(7) { width: 80px; }
.table-adminShopAll thead th:nth-child(8) { width: 80px; }
.table-adminShopAll thead th:nth-child(9) { width: 100px; }

.table-account thead th:nth-child(1) { width: 90px; }
.table-account thead th:nth-child(2) {  }
.table-account thead th:nth-child(3) { width: 150px; }
.table-account thead th:nth-child(4) {  }
.table-account thead th:nth-child(5) { width: 120px; }
.table-account thead th:nth-child(6) { width: 100px; }

.table-catalogCv thead th:nth-child(1) { width: 70px; }
.table-catalogCv thead th:nth-child(2) { width: 120px; }
.table-catalogCv thead th:nth-child(3) { width: 110px; }
.table-catalogCv thead th:nth-child(4) { }
.table-catalogCv thead th:nth-child(5) { width: 90px; }
.table-catalogCv thead th:nth-child(6) { width: 110px; }
.table-catalogCv thead th:nth-child(7) { width: 60px; }
.table-catalogCv thead th:nth-child(8) { }

@media screen and (max-width:834px) {

  .table{
    font-size:93%;
  }

  .table-spWidth-xxsmall{
    min-width: 600px;
  }
  .table-spWidth-small{
    width: 900px;
  }
  .table-spWidth{
    width: 1000px;
  }
  .table-spWidth-large{
    width: 1100px;
  }

}


/**********************************************
table-scroll
***********************************************/

@media screen and (max-width:834px) {

  .tableScroll{
    overflow: auto;
    position: relative;
    -webkit-overflow-scrolling: touch;
  }

  .tableScroll::-webkit-scrollbar {
    height: 10px;
  }
  .tableScroll::-webkit-scrollbar-thumb{
    background: #999;
    border-radius: 5px;
  }
  .tableScroll::-webkit-scrollbar-track-piece {
    background: #eee;
  }

/*

  .tableScroll::after{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-right: 3px solid #000;
    border-top: 3px solid #000;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -5px;
    z-index: 2;
    transform:rotate(45deg);
    animation:tableArrow 1s infinite ease-in-out ;
  }
*/

  .tableScroll.is-active::after{
    display: none;
  }

  .tableScroll > table.table-sp480{
    min-width: 480px;
  }

  .tableScroll > table.table-sp640{
    min-width: 640px;
  }

}


@keyframes tableArrow {
  0%    {transform:translate(-10px, 0) rotate(45deg); }
  100%  {transform:translate(5px, 0) rotate(45deg) ;  opacity: 0; }
}


/**********************************************
module-pagination
***********************************************/

.pagination {
  padding: 30px 0;
  display: flex;
}
.pagination a,
.pagination span{
  display: inline-block;
  padding: 4px 12px;
  font-size: 116%;
  text-decoration: none;
  color: #000;
  text-decoration: none;
  margin: 0 3px 3px 0;
  background-color: #fff;
  border: 1px solid #ddd;
}
.pagination span{
  background-color: #5f2097;
  border-color: #5f2097;
  color: #fff;
  font-weight: bold;
}
.pagination a:hover{
  background-color: rgba(182, 114, 164, 0.2);
}

/**********************************************
module-pageNavi
***********************************************/

.pageNavi{
  padding-bottom: 40px;
}

.pageNavi-list {
  display: flex;
  flex-wrap: wrap;
}
.pageNavi-list li {
  padding: 0 3px 3px 0;
}
.pageNavi-list li a {
  display: block;
  padding: 12px 20px;
  border: 1px solid #ddd;
  color: #333;
  background-color: #fff;
  text-decoration: none;
  font-size: 116%;
}
.pageNavi-list li a:hover{
  background-color: rgba(203, 127, 183, 0.15);
}
.pageNavi-list li a.is-active {
  background-color: #E46E93;
  border-color: #E46E93;
  color: #fff;
  font-weight: bold;
}


@media screen and (max-width:834px) {

  .pageNavi{
    padding-bottom: 20px;
  }

  .pageNavi-list {
    display: flex;
  }
  .pageNavi-list li {
    padding: 0 3px 3px 0;
  }
  .pageNavi-list li a {
    padding: 8px 8px;
    font-size: 93%;
  }

}

/**********************************************
module-data
***********************************************/

.data{
  margin-bottom: 30px;
}

.data-title {
  background-color: #666;
  padding: 10px 20px;
  color: #fff;
  font-size: 116%;
}
.data-subTitle {
  font-size: 116%;
  border-left: 3px solid #666;
  padding-left: 10px;
  line-height: 1.2;
  margin-bottom: 10px;
}

.data-inner {
  padding: 15px 20px;
  border: 1px solid #ddd;
  background-color: #fff;
}

.data-table{
  font-size: 93%;
}
.data-table tr:not(:last-child){
  border-bottom: 1px solid #ddd;
}
.data-table th{
  padding: 8px 10px 8px 0;
  width: 150px;
  line-height: 1.8;
  font-weight: 500;
  text-align: left;
  vertical-align: top;
}
.data-table td{
  padding: 8px 0;
  line-height: 1.8;
  font-weight: 500;
  text-align: left;
  vertical-align: top;
}


.data-table-large{
  font-size: 108%;
}
.data-table-large th{
  width: 250px;
}

@media screen and (max-width:834px) {

  .data{
    margin-bottom: 20px;
  }

  .data-title {
    font-size: 116%;
  }
  .data-inner {
    padding: 12px 15px;
  }

  .data-table{
    font-size: 85%;
  }
  .data-table tr{
  }
  .data-table th{
    padding: 8px 5px 8px 0;
    width: 130px;
    line-height: 1.7;
    font-weight: 500;
    text-align: left;
    vertical-align: top;
  }
  .data-table td{
    line-height: 1.7;
  }

}

/*
gallery
*/

.data-table-gallery {
  display: flex;
  flex-wrap: wrap;
}
.data-table-gallery li {
  width: 31%;
  margin-right: 2%;
  margin-bottom: 12px;
}
.data-table-gallery img {
}



/**********************************************
module-edit
***********************************************/

.edit{
  max-width: 1080px;
  margin: 0 auto;
}

.edit-table{
  font-size: 108%;
}
.edit-table tr:not(:last-child){
  border-bottom: 1px solid #ddd;
}
.edit-table th{
  padding: 15px 80px 15px 0;
  font-weight: 600;
  text-align: left;
  vertical-align: top;
  width: 270px;
  position: relative;
}
.edit-table td{
  padding: 15px 0 15px 0;
  font-weight: 500;
  text-align: left;
  vertical-align: top;
}

.edit-submit {
  max-width: 320px;
  margin: 0 auto;
  text-align: center;
}

.edit-required{
  position: absolute;
  right: 30px;
  top: 15px;
  font-size: 11px;
  display: inline-block;
  padding: 2px 7px;
  border-radius: 4px;
  background-color: #d9534f;
  color: #fff;
}

.edit-table-tips {
  background-color: #fee9e9;
  padding: 12px 20px;
  font-size: 93%;
  color: #c00;
}

.edit-table-caution{
  color: #c00;
  font-size: 93%;
}

.edit-file{
  padding-bottom: 20px;
}
.edit-file:not(:first-child){
  padding-top: 20px;
  border-top: 1px solid #ddd;
}
.edit-file-inner{
  display: flex;
  align-items: center;
}
.edit-file-img{
  padding-bottom: 8px;
}
.edit-file-img img{
  width: 200px;
}

.edit-file-delete {
  padding-left: 15px;
}

.edit-editor{
  width: 100%;
}

@media screen and (max-width:834px) {

  .edit{
    max-width: 1000px;
    margin: 0 auto;
  }

  .edit-table,
  .edit-table thead,
  .edit-table tbody,
  .edit-table tfoot,
  .edit-table tr,
  .edit-table th,
  .edit-table td{
    width: auto;
    display: block;
  }
  .edit-table tr:not(:last-child){
    border-bottom:none;
  }
  .edit-table th{
    padding: 20px 0 8px 0;
    width: auto;
    font-size: 108%;
  }
  .edit-table td{
    padding: 0 0 5px;
  }

  .edit-submit {
    max-width: 834px;
  }

  .edit-required{
    position: static;
    font-size: 11px;
    padding: 2px 4px;
    border-radius: 3px;
    margin-left: 5px;
    vertical-align: middle
  }


  .edit-table-tips {
    padding: 8px 10px;
    font-size: 77%;
  }

  .edit-table-caution{
    padding-top: 5px;
    font-size: 77%;
  }

  .edit-file{
    padding-bottom: 20px;
  }
  .edit-file:not(:first-child){
    padding-top: 20px;
    border-top: 1px solid #ddd;
  }
  .edit-file-inner{
    display: flex;
    align-items: center;
  }
  .edit-file-img{
    width: 25%;
    max-width: 200px;
  }
  .edit-file-img img{
    width: auto;
  }

  .edit-file-delete {
    padding-left: 10px;
    font-size: 85%
  }


  .edit-editor{
    width: 100%;
    min-height: 200px;
  }
}

/*
data-catalog
*/

.data-catalog {
  display: flex;
  flex-wrap: wrap;
  margin-left: -2%;
}
.data-catalog li {
  width: 33.3333%;
  padding-left: 2%;
  padding-bottom: 30px;
  text-align: left;
}

.data-catalog-img {
  padding-bottom: 5px;
}

.data-catalog-type{
  width: auto;
  display: flex;
  font-size: 70%;
}
.data-catalog-subTitle {
  background-color: #666;
  border: 1px solid #666;
  color: #fff;
  padding: 1px 8px;
}
.data-catalog-cat {
  border: 1px solid #666;
  padding: 1px 8px;
}

.data-catalog-title {
  font-size: 93%;
  font-weight: bold;
  padding-top: 5px;
  padding-bottom: 5px;
}

@media screen and (max-width:834px) {

  .data-catalog {
    display: flex;
    flex-wrap: wrap;
    margin-left: -2%;
  }
  .data-catalog li {
    width: 50%;
    padding-left: 2%;
    padding-bottom: 30px;
    text-align: left;
  }

}



/*
checkboxGroup
*/
.edit-checkboxHeader {
  display: flex;
  justify-content: space-between;
  padding-bottom: 10px;
}
.edit-checkboxHeader-search {
}
.edit-checkboxHeader-choice {
  padding-top: 10px;
}

.edit-checkboxGroup{
  width: auto;
  max-height: 250px;
  overflow: auto;
  background-color: #fafafa;
  border: 1px solid #ddd;
  padding: 20px 20px 12px 20px;
}

@media screen and (max-width:834px) {

  .edit-checkboxHeader-search {
    width: 65%;
  }
  .edit-checkboxHeader-choice {
    padding-top: 10px;
    font-size: 85%;
  }

  .edit-checkboxGroup{
    width: auto;
    max-height: 250px;
    padding: 15px;
    font-size: 93%;
  }

}

/**********************************************
module-toolTips
***********************************************/

.toolTips {
  position: relative;
  display: inline-block;
}
.toolTips i{
  transform: scale(1.3);
}

.toolTips-comment {
  display: block;
  position: absolute;
  left: 50%;
  bottom: 100%;
  margin-left: -80px;
  width: 160px;
  background-color: #333;
  color: #fff;
  border-radius: 8px;
  font-size: 11px;
  padding: 8px 5px;
  margin-bottom: 10px;
  visibility: hidden;
  opacity: 0;
}
.toolTips-comment::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 3px 0 3px;
  border-color: #333 transparent transparent transparent;
  position: absolute;
  left: 50%;
  top: 100%;
  margin-left: -3px;
}

.toolTips:hover .toolTips-comment{
  visibility: visible;
  opacity: 1;
}
/*************************e*********************
module-flatpickr
***********************************************/

.flatpickr-group{
  position: relative;
}

.flatpickr-clear{
  position: absolute;
  right: 10px;
  top: 5px;
  font-size: 20px;
  color: #666;
}

/**********************************************
module-imgList
***********************************************/

.imgList {
  display: flex;
  flex-wrap: wrap;
  margin-left: -2%;
}
.imgList li {
  width: 23%;
  margin-left: 2%;
  margin-bottom: 30px;
  position: relative;
}
.imgList-img {
  cursor: all-scroll;
}

.imgList-title {
  padding-top: 10px;
  font-size: 85%;
  line-height: 1.3;
}
.imgList-edit {
  display: flex;
  position: absolute;
  right: 10px;
  top: 10px;
  visibility: hidden;
}

li:hover .imgList-edit {
  visibility: visible;
}

.imgList-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 2.2em;
  height: 2.2em;
  border: none;
  box-shadow: none;
  background-color: #337ab7;
  color: #fff;
  font-size: 14px;
  border-radius: 50%;
  padding: 0;
  margin: 0 0 0 4px;
  cursor: pointer;
}
.imgList-btn-danger{
  background-color: #d9534f;
}
.imgList-btn:hover {
}


@media screen and (max-width:834px) {

  .imgList {
    margin-left: -3%;
  }
  .imgList li {
    width: 47%;
    margin-left: 3%;
    margin-bottom: 30px;
  }

  .imgList-title {
    font-size: 77%;
  }
  .imgList-edit {
    right: 5px;
    top: 5px;
    visibility: visible;
  }

  .imgList-btn {
    width: 2.2em;
    height: 2.2em;
    font-size: 12px;
    margin: 0 0 0 2px;
  }

}

/**********************************************
module-planList
***********************************************/

.planList {
}
.planList li {
  display: flex;
  justify-content: space-between;
  padding: 30px;
  margin-bottom: 30px;
  border: 1px solid #ddd;
  background-color: #fff;
}

.planList-img {
  width: 25%;
}
.planList-inner {
  width: 70%;
}

.planList-title {
  font-size: 154%;
  padding-bottom: 15px;
}

.planList-summary {
  opacity: 0.7;
}

.planList-link {
  padding-top: 15px;
}

@media screen and (max-width:834px) {

  .planList {
  }
  .planList li {
    display: block;
    padding: 15px;
    margin-bottom: 20px;
  }
  .planList li::after {
    content: "";
    display: table;
    clear: both;
  }

  .planList-img {
    width: 35%;
    float: right;
    padding: 0 0 10px 10px;
  }
  .planList-inner {
    width: auto;
  }

  .planList-title {
    font-size: 124%;
    padding-bottom: 15px;
  }
  .planList-summary {
    font-size: 77%;
    opacity: 0.7;
  }

  .planList-link {
    text-align: center;
  }


}


/**********************************************
module-xxxxx
***********************************************/

/**********************************************
module-xxxxx
***********************************************/

/**********************************************
module-xxxxx
***********************************************/

/**********************************************
module-xxxxx
***********************************************/

/**********************************************
module-xxxxx
***********************************************/

/**********************************************
module-xxxxx
***********************************************/

/**********************************************
module-xxxxx
***********************************************/

/**********************************************
module-xxxxx
***********************************************/




/********************************************************************************************
ステータス
********************************************************************************************/

.is-hide {
  display: none;
}

.is-out{
  position: absolute;
  left: -9999999px;
}

.is-pc-hide {
  display: none;
}

.is-pc-inline {
  display: inline;
}

.is-sp-inline {
  display: none;
}

.is-pc-noevent {
  pointer-events: none;
}


@media screen and (max-width:834px) {

  .is-pc-hide {
    display: block;
  }

  .is-sp-hide {
    display: none;
  }

  .is-sp-inline {
    display: inline;
  }

  .is-pc-inline {
    display: none;
  }

  .is-pc-noevent {
    pointer-events: auto;
  }

}

/********************************************************************************************
アニメーション関係
********************************************************************************************/

.fadeIn {
  transform: translate(0, 10px);
  transition: all 1s ease;
  opacity: 0;
}

.fadeIn.is-visible {
  transform: translate(0, 0);
  opacity: 1 !important;
  top: 0;
}

.fadeIn-group > * {
  opacity: 0;
}

@media screen and (max-width:834px) {

  .fadeIn-group > * {
    opacity: 1;
  }

}



/********************************************************************************************
画像アップロード時用ローディング
********************************************************************************************/
#loading{
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10001;
}
#loading__bg{
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
#loading__content{
    background: #fff;
    left: 50%;
    padding: 10px 25px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
}
