@charset "utf-8";

html {
	font-size: 62.5%;
}

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Meiryo UI", "メイリオ", Meiryo , sans-serif;
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

.headerbox {
	height: 50px;
}

header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	background-color: rgba(255,255,255,0.6);
	display: flex;
	z-index: 999;
}

header p img {
	width: 150px;
	margin: 10px 0 0 10px;
}


nav {
	display: none;
}

/** ハンバーガーメニュー **/

/* hamburgerここから */
	/* inputを非表示 */
.input-hidden{
	display: none;
}
	/* label */
.hamburger-demo-switch{
	cursor: pointer;
	position: absolute;
	right: 1%;
	top: 0; /* ハンバーガーアイコンの位置（上から） */
	z-index: 9999;
	width: 4em; /* アイコン（クリック可能領域）の幅 */
	height: 4em; /* アイコン（クリック可能領域の）高さ */
}
/* メニュー展開時にハンバーガーアイコンを固定 */
#hamburger-demo1:checked ~ .hamburger-demo-switch{
	position: fixed;
}
/* ハンバーガーアイコン */
.hamburger-switch-line1, .hamburger-switch-line1:before, .hamburger-switch-line1:after{
	width: 25px;
	height: 3px;
	background: #a6dbed; /* ハンバーガーアイコンの色 */
	position: absolute;
	top: 50%;
	left: 50%;
	transition: .3s;
	content: "";
}
.hamburger-switch-line1{
		transform: translate(-50%, -50%);
}
.hamburger-switch-line1:before{
	transform: translate(-50%, -300%);
}
.hamburger-switch-line1:after{
	transform: translate(-50%, 200%);
}
/* ハンバーガーアイコン･アニメーション */
#hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1{
	width: 0;
}
#hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1:before{
	transform: rotate(45deg) translate(-40%, 325%);
}
#hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1:after{
	transform: rotate(-45deg) translate(-40%, -325%);
}
/* メニューエリア */
.hamburger-demo-menuwrap{
	position: fixed;
	height: 100%;
	background: #fafafa; /* メニューエリアの背景色 */
	padding: 5em 3% 2em;
	z-index: 9998;
	transition: .3s;
	overflow-y: scroll; /* メニュー内容が多い場合に縦スクロールする */
	top: 0;
	left: 100%;
	width: 30%;
}
/* メニューリスト */
.hamburger-demo-menulist{
	margin-right: 3%;
	padding-left: 5% !important; /* !important不要な場合もあり */
	list-style: none;
}
.hamburger-demo-menulist li a{
	font-size: 1.4rem;
	text-decoration: none;
	color: #a6dbed; /* メニューリストの文字色 */
	display: block;
	padding: .5em 0;
}
.hamburger-demo-menulist li a:hover {
	color: #ff96c4;
}

/* メニューエリア･アニメーション */
	/* 右から */
#hamburger-demo1:checked ~ .hamburger-demo-menuwrap{
	left: 70%;
}
	/* コンテンツカバー */
#hamburger-demo1:checked ~ .hamburger-demo-cover{
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 9997;
	background: rgba(3,3,3,.5);
	display: block;
}

.hamburger-demo-menulist img {
	width: 20px;
	padding: 5px 0 0 5px;
}

.subNav {
	position: fixed;
	top: 50px;
	left: 0;
	width: 100%;
	height: 30px;
	background-color: rgba(255,255,255,0.8);
	display: flex;
	z-index: 900;
}

.subNav ul {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
	padding-top: 10px;
 }

.subNav ul li {
	width: 90%;
	text-align: center;
}

.subNav ul li a {
	font-weight: bold;
	color: #a6dbed;
	text-decoration: none;
}

.subNav ul li a:hover {
	color: #ff96c4;
}

.anchor{
    display: block;
    padding-top: 180px;
    margin-top: -180px;
}

/** article **/

article {
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

.click {
	font-size: 1.3rem;
	font-weight: bold;
	color: #ff7fb6;
	margin-top: 100px;
}

h1,
h2,
h3 {
	font-size: 1.4rem;
	font-weight: bold;
	color: #a6dbed;
	padding-bottom: 30px;
}

h4 {
	font-size: 1.4rem;
	font-weight: bold;
	color: #a6dbed;
	padding-bottom: 15px;
}

.close {
	font-size: 1.3rem;
	color: #fff;
	text-decoration: none;
	padding-left: 10px;
}

#paper {
	height: 400px;
	margin: 100px 0 50px;
}

#paper .main{
	width: 60%;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
}

#paper .main img {
	width: 100px;
}

/** digital **/

#digital {
	height: 520px;
	margin-bottom: 30px;
}

.dega,
.degb {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
}

.dega {
	width: 90%;
}

.degb {
	width: 60%;
	margin-top: 30px;
}

#digital .main img {
	width: 80px;
}

.anim-box {
  animation: poyoyon3 2.5s infinite;
  opacity: 1;
}
@keyframes poyoyon3 {
  0%, 40% {
    transform: skew(0deg, 0deg);
  }
  5% {
    transform: skew(5deg, 5deg);
  }
  10% {
    transform: skew(-4deg, -4deg);
  }
  15% {
    transform: skew(3deg, 3deg);
  }
  20% {
    transform: skew(-2deg, -2deg);
  }
  25% {
    transform: skew(1deg, 1deg);
  }
  30% {
    transform: skew(-0.6deg, -0.6deg);
  }
  35% {
    transform: skew(0.3deg, 0.3deg);
  }
}

.swing {
  animation-name: katakata;
  animation-duration: 6000ms;
  animation-iteration-count: infinite;
  animation-timing-function: step-start;
}

@keyframes katakata {
  0% {
    transform: translateY(-2px) rotate(6deg);
  }

  10% {
      transform: translate(0) rotate(0deg);
  }
  20% {
      transform: translate(0) rotate(-6deg);
  }
  30% {
      transform: translateY(-2px) rotate(0deg);
  }
  40% {
      transform: translateY(-2px) rotate(6deg);
  }
  50% {
      transform: translate(2px) rotate(-2deg);
  }
  60% {
      transform: translateY(2px) rotate(0deg);
  }
  70% {
      transform: translate(0) rotate(6deg);
  }
  80% {
      transform: translate(2px) rotate(-2deg);
  }
  90% {
      transform: translate(0) rotate(0deg);
  }
  100% {
      transform: translateY(-2px) rotate(6deg);
  }
}

/** font **/

#font {
	height: 500px;
	margin-bottom: 40px;
}

#font .main {
	width: 95%;
	margin: 0 auto;
}

#font .main img {
	width: 120px;
}

.boxa,
.boxb {
	display: flex;
	justify-content: space-between;
}

.boxb {
	width: 70%;
	margin: 0 auto;
}

.box {
   animation: fuwafuwa 2s infinite;
}

@keyframes fuwafuwa {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-30px);
  }
  100% {
    transform: translateY(0px);
  }
}

/**package **/

#package {
	height: 400px;
	margin-bottom: 40px;
}

#package .main {
	width: 80%;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	padding: 20px 0 40px;
}

#package .main img {
	width: 100px;
}

/* モーダル全体(背景＋本体) */
.modal{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 900;
}

/* モーダル背景 */
.modal-bg{
	height: 100%;
	width: 100%;	
	background: rgba(186, 226, 241, 0.9);
}

/* モーダル本体 */
.modal-content{
	position: absolute;
	top: 59%;
	left: 59.5%;
	transform: translate(-60%, -50%);
}

.modal-content img {
	width: 400px;
}

/* モーダルウィンドウ表示中に記事本体を固定 */
body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
}

#topBtn {
	width: 100%;
	height: 100px;
	margin: 0 auto;
}

#topBtn img {
	width: 65px;
}

/** footer **/

footer {
	width: 100%;
	height: 50px;
	background-color: #fad8e5;
}

.text { 
	line-height: 1.4;
	font-weight: bold;
	color: #999;
	text-align: center;
	padding-top: 12px;
}

.sns {
	display: none;
}