/* 全体要素 */
body {
margin: 0;
background: #eee;
position: relative;
}
* {
  margin: 0;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.contents_box::-webkit-scrollbar{
  display: none;
}

@font-face {
/*任意のフォント名（フリーフォントの名称など）*/
font-family: "lineseed";
/*フォントファイルへのパス（複数指定は上から順に読み込まれる）*/
src: url("/font/LINESeedJP_OTF_Eb.woff") format("woff"),
url("/font/LINESeedJP_OTF_Eb.woff") format("woff");
}

/*フォント*/
body {
  font-family: "lineseed","Impact","Anton",Hiragino Kaku Gothic Std W8,sans-serif;
}

/*ヘッダー*/
header {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  padding: 20px 30px;
  background: #fff;
  box-sizing: border-box;
  border-bottom-right-radius: 30px;
  border-bottom-left-radius: 30px;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .2);
  text-align: center
}
header .inner {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
}
header img{
  width: 50%;
  height: 50%;
  object-fit: scale-down;
}

/*下部メニュー*/
.menu {
  position: fixed;
  z-index: 999;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 5px 5px;
  background: #fff;
  box-sizing: border-box;
  border-top-right-radius: 30px;
  border-top-left-radius: 30px;
  box-shadow: 0 10px 25px 0 rgba(.2, .2, .2, .2);
  text-align: center
}
.menu .inner {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
}
.menu ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
.menu li {
  justify-content: center;
  align-items: center;
  width: 20%; /* 要素が5つの場合（100/5） */
  padding: 0;
  margin: 0;
}
.menu li a {
  color: #333;
  text-align: center;
  display: block;
  width: 100%;
  padding: 10px 0px 0px 0px;
  font-size: 20px;
  text-decoration: none;
}
.menu li p {
  font-size: 10px;
}
.menu-icon {
  font-size: 20px;
}
.menu-txt {
  font-size: 10px;
}
/*タイピングテキスト*/
.TextTyping {
  position: fixed;
  z-index: 3;
  top: 45%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  text-shadow: 0 0 15px #fff;
  text-align: center;
  width: 100%
}
.TextTyping span {
	display: none;
     　display: table-cell;
　text-align: center;
　vertical-align: middle;

}
.TextTyping::after {
 	content: "|";
	animation: typinganime .8s ease infinite;
}
@keyframes typinganime{
	from{opacity:0}
	to{opacity:1}
}


.top{
    /*headerを全画面で見せる*/
  width:100%;
  height: 100vh;
  position: relative;
}


.top:before{
    /*header の疑似要素に背景画像を指定*/
position:fixed;
  content:"";
  top:0;
  left:0;
  z-index:2;
  width:100%;
  height: 100vh;
  /*背景画像設定*/
  background:url("https://tpenpen4.com/profile/img/icon.png") no-repeat center;
  background-color: #fff;
  object-fit: scale-down;
}

main{
  position: relative;
  z-index:3;
  background-image: url('https://tpenpen4.com/profile/img/back.png');
  background-color: #fff;
  background-size:contain
}

/*プロフィールの最初*/
      .top-profile{
        width:50%;
        height: 50%;
        position: relative;
      }
      .top-profile img{
        width:100%;
      }
      .top-profile p{
        position: absolute;
        top:50%;
        left:100%;
        font-size:200%;
        transform: translate(-10%,-30%);
        color: #000;
        padding:0;
        margin:0;
      }
/*プロフィールの最初-テキスト*/
.bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;/*　はみ出た色要素を隠す　*/
	opacity:0;
}
@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
}
}
.bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:1s;
	animation-delay: 0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes bgextendAnimeSecond{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}
.bgRLextend::before{
	animation-name:bgRLextendAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #000;/*伸びる背景色の設定*/
}
@keyframes bgRLextendAnime{
	0% {
		transform-origin:right;
		transform:scaleX(0);
	}
	50% {
		transform-origin:right;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:left;
	}
	100% {
		transform-origin:left;
		transform:scaleX(0);
	}
}
.bgappearTrigger,
.bgRLextendTrigger{
    opacity: 0;
}

/*h1見出し*/
main h1 {
  position: relative;
  padding: 1.5rem 1rem;
  font-size: 350%;
}
main h1:after {
  position: absolute;
  bottom: 17px;
  left: 0;
  width: 100%;
  height: 15px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*p*/
main p,h2,table {
  padding-left: 1rem;
  padding-right: 1rem;
}
.embed {
  padding-left: 1rem;
  padding-right: 1rem;
}
/*a*/
a {
  color: #0095d9;
}
/*ボタン*/
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.btn,
a.btn,
button.btn {
  font-size: 1.0rem;
  font-weight: 300;
  line-height: 1.0;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-border {
  margin-bottom: 12px;
  padding: 0;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  border-radius: 0;
}

a.btn-border span {
  position: relative;

  display: block;

  padding: 1.25rem 3rem;

  color: #000;
  border: 2px solid #000;
  border-radius: 0.5rem;
  background: #fff;
}

a.btn-border:before {
  position: absolute;
  bottom: -8px;
  left: 0;

  display: block;

  width: 100%;
  height: 14px;

  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;

  border: 2px solid #000;
  border-top: 1px solid #000;
  border-radius: 0 0 0.5rem 0.5rem;
  background-image: -webkit-repeating-linear-gradient(
    135deg,
    #000,
    #000 1px,
    transparent 2px,
    transparent 5px
  );
  background-image: repeating-linear-gradient(
    -45deg,
    #000,
    #000 1px,
    transparent 2px,
    transparent 5px
  );
  background-size: 7px 7px;

  -webkit-backface-visibility: hidden;

  backface-visibility: hidden;
}

a.btn-border:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);
}

a.btn-border:hover:before {
  bottom: -5px;
}

a.btn-border:active {
  -webkit-transform: translate(0, 7px);
  transform: translate(0, 7px);
}

a.btn-border:active:before {
  bottom: -1px;
}

/*YouTube埋め込みPC*/
.youtube {
  position: relative;
  max-width: 600px;
  max-height: 600px;
  aspect-ratio: >16 / 9;
}
.youtube iframe {
  padding-left: 1rem;
  padding-right: 1rem;
  border-radius: 10%;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width:480px) {
/*YouTube埋め込みSP*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  padding-left: 1rem;
  padding-right: 1rem;
  border-radius: 10%;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
}
/*Twitter埋め込み*/
.p-twitter-box{
  margin:1rem auto;
  max-width:500px;
  width:100%;
  padding-left: 1rem;
  padding-right: 1rem;
}
.p-twitter-box .p-twitter-title{
  color: #fff;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 0 2em 0;
  font-size: 12px;
}
.p-twitter-box .twitter-tweet{
  margin:0 !important;
}
.p-twitter-box p{
  display:none;
}
/*こめじるし*/
.kome {
  text-align: right;
  font-size: 10px;
  padding-left: 1rem;
}