
/* ********************************** フッターデザイン ********************************** */
.footer_list{
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  background-color: var(--maincolor);
}

.footer_list > li {
  flex: 1 0 calc(100%/3 - 4em);
  box-sizing: border-box;
  padding: 2.5em 3em;
}


.footer_list > li:nth-child(2),
.footer_list > li:nth-child(3){
  border-left: 1px solid white;
}

/* 4番目以降の要素を横幅100%に設定 */
.footer_list > li:nth-child(n+4) {
  flex: 1 0 100%; 
  border-top: 1px solid white;
}

.footer_list nav li{
  margin-bottom: 1.4em;
  display: block;
}

.footer_list nav li::before{
  content: "・ ";
}

.footer_list nav li　a{
  display: block;
  border-bottom: 4px solid transparent;
}




.footer_contact_list{
  display: flex;
  flex-wrap: wrap;
}

.footer_wrapper .simple_arrow_icon::before{
  content: "";
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  background-image: url(../images/systems/icon/simple_arrow_icon_white.svg);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: 2px;
  transform: rotate(-90deg);
  margin: 0 0.2em;
}

.footer_wrapper .footer_list_name{
  margin-bottom: 0.75em;
}

.footer_contact_list .contact_sub_ttl{
  background-color: #D15E12;
  color: white;
  padding: 0.5em 2em 0.8em 2em;
  border-radius: 999px;
  margin: 0 1.5em 1em 0;
  line-height: 1.5em;
}

.footer_contact_list .contact_sub_ttl::before{
  content: "〈 ";
}

.footer_contact_list .contact_sub_ttl::after{
  content: " 〉";
}

.footer_sns_list{
  display: flex;
  align-items: baseline;
}

/* 2番目以降の要素を指定 */
.footer_sns_list li:nth-child(n+2){
  width: 3em;
  margin-left: 2em;
}

.footer_sns_list li:nth-child(3){
  margin-left: 1.3em;
}

.footer_sns_list li:last-of-type{
  width: 4em;
}

.footer_sns_list .twitter_icon{
  width: 2.7em;
}

/* SNSのアイコン_通常時のsvgの色設定 */
.footer_sns_list .twitter_icon,
.footer_sns_list .instagram_icon,
.footer_sns_list .tiktok_icon,
.footer_sns_list .facebook_icon,
.footer_sns_list .youTube_icon{
  filter: invert(100%) sepia(0%) saturate(2%) hue-rotate(21deg) brightness(105%) contrast(101%);
}
  
/* SNSのアイコン_ホバー時にsvgを色変更 */
.footer_sns_list .twitter_icon:hover,
.footer_sns_list .instagram_icon:hover,
.footer_sns_list .tiktok_icon:hover,
.footer_sns_list .facebook_icon:hover,
.footer_sns_list .youTube_icon:hover{
  filter: invert(0%) sepia(86%) saturate(7443%) hue-rotate(188deg) brightness(86%) contrast(89%);
}






/* ********************************** アクセス数 ********************************** */










/* ********************************** コピーライト ********************************** */
#copyright_box {
  width: 100vw;
  text-align: center;
  background-color: #D15E12;
  padding-top: 2em;
}

#copyright_box_inner_warapper {
  width: 100%;
  height: 80px;
}

#copyright_box small {
  font-size: 1em;
  line-height: 75px;
  color: white;
}

#copyright_box small br{
  display: none;
}

#copyright_box .footer_access_count_wrapper{
  padding: 1em;
  border: 1px solid white;
  width: fit-content;
  margin: 0 auto;
}

#copyright_box .footer_access_count{
  display: flex;
}

#copyright_box .footer_access_count > li:first-of-type{
  margin-right: 1em;
  padding-right: 1em;
  border-right: 1px solid white;
}

#copyright_box .footer_access_count .ttl{
  font-size: 0.7em;
  margin-bottom: 0.5em;
}





/* ********************************** ページトップスクロールの設定 ********************************** */

/*リンクを右下に固定*/
#page-top{
  position: fixed;
  right: 2%;
  bottom: 0;
  z-index: 1;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateY(170px);
}



/*　上に上がる動き　*/
#page-top.UpMove{
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
from {
opacity: 0;
  transform: translateY(150px);
}
to {
opacity: 1;
  transform: translateY(0);
}
}

/*　下に下がる動き　*/
#page-top.DownMove{
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime{
from {
    opacity: 1;
  transform: translateY(0);
}
to {
    opacity: 1;
  transform: translateY(150px);
}
}

/*画像の切り替えと動き*/
#page-top a {
  /*aタグの形状*/
  display: block;
  width: 170px;
  height: 130px;
  text-transform: uppercase; 
  /*背景画像の指定*/
  background: url("../images/systems/illust/tokucyan_top1.png") no-repeat center;
  background-size: contain;
}

#page-top.floatAnime a{
  width: 100px;
  height: 200px;
  /*背景画像の指定*/
  background: url("../images/systems/illust/tokucyan_top2.png") no-repeat center;
  background-size: contain;
  /*アニメーションの指定*/
  animation: floatAnime 2s linear infinite;
  opacity: 0;
}

@keyframes floatAnime {
0% { transform: translateX(0); opacity: 0; }
25% { transform: translateX(-6px);opacity: 1; }
50% { transform: translateX(0) }
100% { transform: translateX(6px);opacity: 1; }
}





