  @charset "utf-8";

/*==========================================
 custom properties
===========================================*/

:root {
  --main-color: #0071bf;
	--sub-color: #E5EEFF;
  
}

/*==========================================
 common
===========================================*/

*, *::before, *::after {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing: border-box;
}

a {
	color:#333;
	text-decoration:none;
}

a:hover {
	color:#333;
	text-decoration:underline;
}

a[href^="tel:"] {
  cursor: default;
}

.pc {
	display: none;
}

.sp {
	display: block;
}

.hidden {
  display: none;
}

@media print, screen and (min-width: 769px) {

.pc {
	display: block;
}

.sp {
	display: none;
}

}

/*==========================================
 全体
===========================================*/

html {
	font-size: 62.5%;
}

body {
	position: relative;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.4rem;
	line-height: 1.2;
  letter-spacing: 0.04em;
	color: #333;
	background: #FFF;
}

#wrap {
	width: 100%;
}


/* head */

#head_wrap {
	width: 100%;
  position: fixed;
  top: 0;
  background-color: #fff;
  z-index: 9999;
}
/*　上に上がる動き　*/

#head_wrap.UpMove{
  animation: UpAnime 1s forwards;
}

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

/*　下に下がる動き　*/

#head_wrap.DownMove{
  animation: DownAnime 1s forwards;
}

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

#head {
  width: 100%;
  padding: 20px;
  
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* contents */
#contents_wrap {
	width: 100%;
}

#contents {
	width: 100%;
	position: relative;
}

/* foot0 */
#foot0_wrap {
	width: 100%;
  background: #efefef;
}

#foot0 {
  padding: 20px 0;
	text-align: center;
}

@media print, screen and (min-width: 769px) {

/* head */

#head_wrap {
}
  
#head {
	max-width: 1200px;
	margin: 0 auto;
  /* align-items: flex-end; */
}

/* contents */
#contents_wrap {
}

#contents {
  width: 100%;
}

/* foot0 */
#foot0_wrap {
}

#foot0 {
	max-width: 1200px;
	margin: 0 auto;
}

}

/*==========================================
 ヘッダーのスタイル
===========================================*/

#head .logo {
  height: 20px;
  margin: 0 auto;
}

#head .logo img {
	width: auto;
	height: 100%;
}

@media print, screen and (min-width: 769px) {

  #head .logo {
    height: 30px;
    margin: 0;
  }

}

/*==========================================
 gNav
===========================================*/

@media print, screen and (min-width: 769px) {

  #gNav {
    display: flex;
    align-items: center;
  }
  
  #gNav li {
    margin-right: 20px;
  }
  
  #gNav li:last-child {
    margin-right: 0;
  }

  #gNav li a {
    display: block;
    font-size: 1.4rem;
    color: #333;
    letter-spacing: 0;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s;
    position: relative;
  }

  #gNav li a:hover {
    opacity: 0.8;
  }
  
}

/*==========================================
 main
===========================================*/


/*==========================================
 ページトップへボタンのスタイル
===========================================*/

#page-top {
  position: fixed;
  bottom: 60px;
  right: 10px;
	z-index: 10;
}

#page-top a {
	width: 55px;
	height: 55px;
	line-height: 55px;
	background: rgba(0,113,191,0.6);
	color: #FFF;
	display: block;
	text-align: center;
	transition: 0.3s;
	border-radius: 4px;
}

#page-top a i {
  font-size: 1.8rem;
}

#page-top a:hover {
	opacity: 0.8;
}

@media print, screen and (min-width: 769px) {
	
  #page-top {
      bottom: 100px;
  }

}

/*==========================================
 フッターのスタイル
===========================================*/


/*==========================================
 フッター0のスタイル
===========================================*/

#foot0 .copyright {
	font-size: 1.2rem;
  color: var(--main-color);
}

@media print, screen and (min-width: 769px) {


}

/*==========================================
 animation
===========================================*/
 
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger {
  opacity: 0;
}

.fadeIn,
.fadeUp,
.fadeDown,
.fadeLeft,
.fadeRight {
	animation-name: fadeUpAnime;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
  opacity: 0;
}

@media print, screen and (min-width: 769px) {

  .fadeIn{
    animation-name: fadeInAnime;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in-out;
    opacity: 0;
  }

  .fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-out;
    opacity: 0;
  }

  .fadeDown{
    animation-name:fadeDownAnime;
    animation-duration: 0.8s;
    animation-fill-mode:forwards;
    animation-timing-function: ease-out;
    opacity:0;
  }

  .fadeLeft{
    animation-name:fadeLeftAnime;
    animation-duration: 0.8s;
    animation-fill-mode:forwards;
    animation-timing-function: ease-out;
    opacity:0;
  }

  .fadeRight{
    animation-name:fadeRightAnime;
    animation-duration: 0.8s;
    animation-fill-mode:forwards;
    animation-timing-function: ease-out;
    opacity:0;
  }

  .delay02 {
    animation-delay: 0.2s;
  }

  .delay04 {
    animation-delay: 0.4s;
  }

  .delay06 {
    animation-delay: 0.6s;
  }

  .delay08 {
    animation-delay: 0.8s;
  }

  .delay10 {
    animation-delay: 1.0s;
  }

}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(80px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-80px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-80px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(80px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}


/*==========================================
 印刷
===========================================*/

@media print{

  body {
    width: 1200px;
  }

  #head_wrap {
    position: static;
  }

  #btnPageTop {
    display: none;
  }

}
