* {
    padding: 0;
    padding:0;
    box-sizing: border-box;
  }
  a, a:visited ,a:hover {
    color: #000;
    text-decoration: none;
  }
  a:hover{
    opacity: 0.7;
  }
  a:active {
    border: none;
  }
  .card:hover{
    background: #f9f9f9;
  }

  img {
    width: 100%;
  }
  
  body {
    margin: 0;
    overflow-x: hidden;
    font-family: "Noto Serif JP", serif;
  }
  
  .container {
    width: 100%;
    background: white;
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    margin: 0 auto;
    position: absolute;
    z-index: 10;
    background-color: transparent;
  }
  
  .header {
    display: flex;
    width: 100%;
    padding: 15px;
    /* background: white; */
    border-bottom: 1px solid #D9D9D9;
    align-items: center;
    gap: 24px;
  }
  
  .logo {
    padding: 10px;
  }
  
  .logo-img {
    width: 53px;
    height: 53px;
  }
  
  .nav {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-right: 1rem;
  }
  
  .nav-item {
    padding: 8px;
    border-radius: 8px;
    color: #1E1E1E;
    font-size: 16px;
    line-height: 16px;
  }
  
  .selected {
    background: #F5F5F5;
  }
  
  .content {
    width: 100%;
    padding: 64px;
    /* background: white; */
    display: flex;
    flex-direction: column;
    gap: 48px;
  }
  
  .heading-group {
    display: flex;
    flex-direction: column;

    gap: 8px;
  }
  
  .heading {
    font-size: 36px;
    font-weight: 600;
    text-align: center;
    color: #1E1E1E;
  }
  
  .subheading {
    text-align: center;
    font-size: 20px;
    color: #757575;
  }
  
  .card-group {
    display: flex;
    gap: 48px;
  }
  
  .card {
    flex: 1;
    padding: 24px;
    background: white;
    border-radius: 8px;
    border: 1px solid #D9D9D9;
    display: flex;
    gap: 24px;
  }
  
  .card-img {
    background-color:inherit;
    overflow:initial;
  }
  .card-img img {
    width: 100%;
  }
  
  .card-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  
  .card-title {
    font-size: 24px;
    font-weight: 600;
    color: #1E1E1E;
  }
  
  .card-body {
    font-size: 16px;
    color: #757575;
  }
  
  /* swipe */
  .slider-wrapper { 
	width: 100%;
	margin:0 auto;
    padding: 0;
}

/* canvas */
canvas {
    display: block;
    position: fixed;
    z-index: 1;
  }

  /* ハンバーガーメニュー */
/* アクセシビリティ対策 */
.visuallyHidden {
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}



/* ハンバーガーボタンのスタイル */
.hamburger {
  appearance: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  height: 32px;
  outline: none;
  position: fixed;
  right: 30px;
  top: 30px;
  transition: transform .6s, width .6s;
  width: 40px;
  z-index: 9999;
  overflow:visible;
  /* メニューよりも上にする */
}

/* ハンバーガーメニュー三本線 */
.hamburger-line {
  background-color: #000;
  height: 4px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  transition: inherit;
  width: 100%;
}

.hamburger-line::before,
.hamburger-line::after {
  background-color: #000;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  transition: inherit;
  width: 100%;
}

.hamburger-line::before {
  top: 10px;
}

.hamburger-line::after {
  top: 20px;
}

/* ハンバーガーメニュー三本線オープン時 */
.hamburger[aria-expanded="true"] .hamburger-line {
  transform: translateY(15px) rotate(-45deg);
}

.hamburger[aria-expanded="true"] .hamburger-line::before {
  transform: translateY(-12px) translateX(20px) rotate(45deg);
  width: 0;
}

.hamburger[aria-expanded="true"] .hamburger-line::after {
  transform: translateY(-20px) rotate(90deg);
}

/* オーバーレイのスタイル */
.overlay {
  background-color: #333;
  cursor: pointer;
  height: 100vh;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: opacity .6s, visibility .6s;
  visibility: hidden;
  width: 100vw;
  z-index: 10;
  /* メニューよりも下にする */
}

.overlay.active {
  opacity: .8;
  visibility: visible;
}

/* メニューのスタイル */
.modal-container {
  background-color: #fff;
  position: fixed;
  z-index: 8999;
  /* オーバーレイよりも上にする */
}

.modal-container[aria-hidden="false"] {
  overflow-y: scroll;
}

.menu-item {
  margin-top: 20px;
  text-align: center;
}

.menu-link {
  display: inline-block;
}

/* メニューのスタイル */
.modal-container {
  height: 100%;
  opacity: 0;
  transition: opacity .6s, visibility .6s;
  visibility: hidden;
  width: 100%;
}

.modal-container[aria-hidden="false"] {
  opacity: 1;
  visibility: visible;
}

/* メニュー内デザイン */
.menu-list {
  list-style: none;
  padding: 1.5rem;
}

.menu-item a {
  padding: 0.5rem;
  text-decoration: none;
  font-size: 24px;
  color: #000;
}

.minitext {
  font-size: 14px;
}

.hamburger {display: none;}

#page-top {
  position: fixed;
  right: 5px;
  bottom: 20px;
  height: 50px;
  text-decoration: none;
  font-weight: bold;
  transform: rotate(90deg);
  font-size: 90%;
  line-height: 1.5rem;
  color: #737373;
  padding: 0 0 0 35px;
  border-top: solid 1px;
  z-index: 888;
}
#page-top::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0px;
  width: 15px;
  border-top: solid 1px;
  transform: rotate(35deg);
  transform-origin: left top;
}

.text {
  padding-bottom: 3px; /* テキストと下線の間隔 */
  background-image: linear-gradient(#000, #000);
  background-repeat: no-repeat;
  background-position: bottom right; /* 下線の初期位置 */
  background-size: 0 1px; /* 下線のサイズ（横幅、高さ） */
  transition: background-size 0.3s;
}

.text:hover {
  background-position: bottom left; /* 下線のホバー時位置 */
  background-size: 100% 1px; /* 下線の横幅を100%にする */
}
/***トップへ戻るボタンここまで***/

.card {
  flex-direction: column;
}

.textsmall {
  font-size: 16px;
}
.logotext {
  font-size: 20px;  
}

.padtop {
  padding-top: 2rem;
}

.logo_fadein{
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 999;
}
.logo_fadein p {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
	width: 280px;
}

/* スキル一覧 */
.tag {
  padding: 0.25rem 0.5rem;
  border: 1px solid #000;
  border-radius: 3px;
  margin: 0.5rem 0.5rem;
  display: inline-block;
  font-size: 18px;
}

.jatag {
  font-size: 15px;
}


.pageajust {
  flex-direction:column;
}
.cardlarge {
  width: 100%;
  flex-direction:row;

}


.cardlarge img {
  width: 50%;
  object-fit: contain;
  object-position: 0% 0%;


}



.pagecard.card {
  cursor: default;
}

@media screen and (max-width: 1200px) {

  .nav {
    display: none;
   }
   .hamburger {display: block;}
         .card-group {
      display:block;
      margin-bottom: 0;
      margin-top: 0;
      width: 100%;

     }
   .card {
    flex-direction: row;
  }
  .card{
    margin-bottom: 1rem;}
    .card img {
      width: 50%;
      object-fit: contain;
      object-position: 0% 0%;

    }
    .card-content {
      width: 50%;
    }

}
@media screen and (max-width: 980px) {

  /*****************************************************************
     480px以下に適用されるCSS（スマホ用） **********************************************************************************/
  .card {
    flex-direction: column;
  }
  .card-content {
    padding:0;
  }
  .card img {
    width:100%;
  }
  .card-content {
    width:100%;
  }
  .slider-wrapper {
    max-width: 100%;
    margin: 0 auto;
    overflow-x: hidden;
}
/* 画像のスタイルを調整 */
.nivoSlider img {
  max-width: 100%; /* 親要素の幅に合わせる */
  display: block; /* 余計な余白を防ぐ */
}
.slider-wrapper {
  display: flex;
}

}
  
  