@charset "utf-8";
body {
	font: normal 18px/1.7 "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	text-align: left;
	color:#000;
	text-align: justify;
	overflow-x: hidden;
}

body .sp-item {
    display: none !important; }
  body .pc-item {
    display: block !important; }

  @media screen and (max-width: 640px) {
    body {
      min-width: inherit;
	  height:100%;
	  }
      body .sp-item {
        display: block !important; }
      body .pc-item {
        display: none !important; 
				vertical-align: bottom;}
				
	  body .sp-item img {
		width:100%;}
}

@media screen and (max-width: 640px) {
	.sp img{
		max-width:90%;
}
	.sp02 img{
		max-width:100%;
}
.sp03 img{
		max-width:70%;
}
}

.fl_left {
	float: left;
}
.fl_right {
	float: right;
}
.ov_hd {
	overflow: hidden;
}
.bg_none {
	background-image: none!important;
}
a.rollover:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.rollover:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.center {
	text-align: center;
}
.right {
	text-align:right;
}
.line_0 {
	line-height: 0;
}
.zindex {
	z-index: 200;
}
input[type=radio] {
	width: 15px;
	height: 15px;
	vertical-align: middle;
}
input[type=image]:hover{
		opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	}


/* ----------------------------------------------------

    text

---------------------------------------------------- */
em {
	text-decoration: underline;
  font-style: normal;
}
.bd_red {
	border-bottom: 1px solid #FF0004;
	padding-bottom: 2px;
}
.bd_red02 {
	border-bottom: 3px solid #FF0004;
	padding-bottom: 0px;
}
.red {
	color: #ff0000;
}
.yellow {
	background-color: #ffff00;
}
.gray {
	color:#666666;
}
.bold {
	font-weight: bold;
}
strong {
	font-weight: bold;
}
.strike {
	text-decoration: line-through;
}
.ac {
	text-align: center !important;
}
.ar {
	text-align: right !important;
}
.al {
	text-align: left !important;
}
.bold {
	font-weight: bold !important;
}
.font10 {
	font-size: 10px !important;
}
.font11 {
	font-size: 11px !important;
}
.font12 {
	font-size: 12px !important;
}
.font13 {
	font-size: 13px !important;
}
.font14 {
	font-size: 14px !important;
}
.font15 {
	font-size: 15px !important;
}
.font16 {
	font-size: 16px !important;
}
.font17 {
	font-size: 17px !important;
	line-height:150%;
}
.font18 {
	font-size: 18px !important;
}
.font19 {
	font-size: 19px !important;
}
.font20 {
	font-size: 20px !important;
}
.font21 {
	font-size: 21px !important;
}
.font22 {
	font-size: 22px !important;
}
.font23 {
	font-size: 23px !important;
}
.font24 {
	font-size: 24px !important;
}
.font25 {
	font-size: 25px !important;
}
.font26 {
	font-size: 26px !important;
}
.font27 {
	font-size: 27px !important;
}
.font28 {
	font-size: 28px !important;
}
.font29 {
	font-size: 29px !important;
}
.font30 {
	font-size: 30px !important;
}
.font32 {
	font-size: 32px !important;
}
/* ----------------------------------------------------

    float

---------------------------------------------------- */
.fr {
	float: right !important;
}
.fl {
	float: left !important;
}
.clear {
	clear: both;
}
.img {
	line-height: 0;
	padding: 0;
	margin: 0;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;/*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

hr {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
/* ----------------------------------------------------
    clearfix の代用
    &#60;div class="hr"&#62;&#60;hr /&#62;&#60;/div&#62;
---------------------------------------------------- */

/* ここから*/

.resizeimage img { width: 100%; }

.main {
	line-height: 0;
	padding: 0;
	margin: 0;
}

.contact {
  width: 960px;/*横幅*/
  margin: 0 auto;/*中央寄せ*/
  padding: 60px 0;
}

.contact-table {
  width: 100%;
  margin-bottom: 20px;
}

.contact-item,
.contact-body {
  padding: 20px;
  border: 1px solid #ccc;
}

.contact-item {
  text-align: left; /* テキスト左寄せ */
  width: 30%; /* 横幅30%指定（グレーの背景色部分） */
  background-color: #eee; /* グレーの背景色 */
}

.contact-body {
  width: 70%; /* 横幅70%指定（白背景色部分） */
}

.form-text {
  width: 100%;
  padding: 10px;
  border-radius: 5px;
  border: 1px solid #ccc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  max-width: 400px;
}

.form-textarea {
  width: 100%;
  padding: 10px;
  height: 200px;
  border-radius: 5px;
  border: 1px solid #ccc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
button1 {
  width: 100%;
  padding: 8px 16px;
  margin: 16px auto;
  text-align: center;
  display: flex;
  flex-direction: column;
}

label {
  margin-top: 8px;
}

button {
  width: 20%;
  height: 2.5em;
  margin: 8px auto;
  padding: 4px 0;
  border-radius: 4px;
  background-color: orange;
  color: white;
}

button:hover {
  opacity: .7;
}

.accountID {

}



フッター
.footer {
  background-color: #808080; /* グレーの背景色 */
  color: white; /* 文字を白に */
  text-align: center; /* 中央揃え */
  padding: 20px 0; /* 上下にパディングを追加 */
}

.footer-content {
  margin: 0 auto; /* 中央揃え */
  padding: 10px; /* フッター内のパディング */
}

.footer-links {
  list-style-type: none; /* リストのスタイルをなしに */
  padding: 0; /* パディングをリセット */
  margin: 10px 0; /* 上下のマージンを追加 */
}

.footer-links li {
  display: inline-block; /* 横並びにするが、ブロック要素として扱う */
  margin: 0 15px; /* リストアイテムの間のスペース */
}

.footer-content p {
  line-height: 1.5; /* 行間を広げる */
  margin: 10px 0; /* 上下にマージンを追加 */
}

.footer a {
  color: white; /* リンクの文字色を白に変更 */
  text-decoration: none; /* 下線を消す（任意） */
}

.footer a:hover {
  text-decoration: underline; /* ホバー時に下線を表示（任意） */
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
 
  /* フッター全体のパディングを調整 */
  .footer {
    padding: 15px 10px; /* 上下左右のパディングを調整 */
  }

  /* コンテンツのパディングと文字サイズを調整 */
  .footer-content {
    padding: 5px; /* 少しだけパディングを縮める */
  }

  .footer-content p {
    font-size: 14px; /* 文字サイズを小さくする */
    line-height: 1.4; /* 行間を少し広げる */
    margin: 5px 0; /* 上下マージンを調整 */
  }

  /* フッター内のリンクの文字サイズを調整 */
  .footer a {
    font-size: 20px; /* リンクのフォントサイズ調整 */
  }
}

    /* パソコン画面サイズでは非表示にする */
@media screen and (min-width: 769px) {
  .SP-item {
    display: none; /* パソコンでは非表示 */
  }
}

/* スマホ画面サイズでは非表示にする */
@media screen and (max-width: 768px) {
  .PC-item {
    display: none; /* スマホでは非表示 */
  }
}


.resizeimage {
  margin: 0;
  padding: 0;
}

.img img {
  display: block;
  margin: 0;
  padding: 0;
}

.PC-item,
.SP-item {
  line-height: 0;
  margin: 0;
  padding: 0;
}

.PC_main2_box {
  position: relative; /* 子要素を基準に位置を調整できるようにする */
}

.PC_btn1 img {
  position: absolute; /* 親要素を基準に配置 */
  top: 70%; /* 上部から70%に配置 */
  left: 50%; /* 中央 */
  transform: translateX(-50%); /* 水平方向に中央揃え調整 */
  z-index: 10; /* 他の要素より前面に表示するための設定 */

   /* サイズをビューポートに基づいて設定 */
   width: 68%; /* ビューポート幅の68%に設定 */
   height: auto; /* 縦横比を維持 */
  }

  .PC_pastwork_box {
    position: relative; /* 子要素を基準に位置を調整できるようにする */
  }
  
  .PC_smn01 img {
    position: absolute; /* 親要素を基準に配置 */
    top: 20%; /* 上部から20%に配置 */
    left: 18%; /* 左配置 */
    transform: translateX(-50%); /* 水平方向に中央揃え調整 */
    z-index: 10; /* 他の要素より前面に表示するための設定 */
  
    /* サイズをビューポートに基づいて設定 */
    width: 30%; /* ビューポート幅の30%に設定 */
    height: auto; /* 縦横比を維持 */
    /* 重なり順を指定*/
    z-index: 2;
    }

    .PC_smn02 img {
      position: absolute; /* 親要素を基準に配置 */
      top: 20%; /* 上部から20%に配置 */
      left: 50%; /* 中央配置 */
      transform: translateX(-50%); /* 水平方向に中央揃え調整 */
      z-index: 10; /* 他の要素より前面に表示するための設定 */
    
      /* サイズをビューポートに基づいて設定 */
      width: 30%; /* ビューポート幅の30%に設定 */
      height: auto; /* 縦横比を維持 */
      /* 重なり順を指定*/
      z-index: 2;
      }

      .PC_smn03 img {
        position: absolute; /* 親要素を基準に配置 */
        top: 20%; /* 上部から20%に配置 */
        left: 82%; /* 右配置 */
        transform: translateX(-50%); /* 水平方向に中央揃え調整 */
        z-index: 10; /* 他の要素より前面に表示するための設定 */
      
        /* サイズをビューポートに基づいて設定 */
        width: 30%; /* ビューポート幅の30%に設定 */
        height: auto; /* 縦横比を維持 */
        /* 重なり順を指定*/
        z-index: 2;
        }

        .PC_smn04 img {
          position: absolute; /* 親要素を基準に配置 */
          top: 60%; /* 上部から60%に配置 */
          left: 18%; /* 左配置 */
          transform: translateX(-50%); /* 水平方向に中央揃え調整 */
          z-index: 10; /* 他の要素より前面に表示するための設定 */
        
          /* サイズをビューポートに基づいて設定 */
          width: 30%; /* ビューポート幅の30%に設定 */
          height: auto; /* 縦横比を維持 */
          /* 重なり順を指定*/
          z-index: 2;
          }

          .PC_smn05 img {
            position: absolute; /* 親要素を基準に配置 */
            top: 60%; /* 上部から60%に配置 */
            left: 50%; /* 中央配置 */
            transform: translateX(-50%); /* 水平方向に中央揃え調整 */
            z-index: 10; /* 他の要素より前面に表示するための設定 */
          
            /* サイズをビューポートに基づいて設定 */
            width: 30%; /* ビューポート幅の30%に設定 */
            height: auto; /* 縦横比を維持 */
            /* 重なり順を指定*/
            z-index: 2;
            }

            .PC_smn06 img {
              position: absolute; /* 親要素を基準に配置 */
              top: 60%; /* 上部から60%に配置 */
              left: 82%; /* 右配置 */
              transform: translateX(-50%); /* 水平方向に中央揃え調整 */
              z-index: 10; /* 他の要素より前面に表示するための設定 */
            
              /* サイズをビューポートに基づいて設定 */
              width: 30%; /* ビューポート幅の30%に設定 */
              height: auto; /* 縦横比を維持 */
              /* 重なり順を指定*/
              z-index: 2;
              }

  .PC_main4_box {
    position: relative; /* 子要素を基準に位置を調整できるようにする */
  }
  
  .PC_btn2 img {
    position: absolute; /* 親要素を基準に配置 */
    top: 25%; /* 上部から25%に配置 */
    left: 50%; /* 中央 */
    transform: translateX(-50%); /* 水平方向に中央揃え調整 */
    z-index: 10; /* 他の要素より前面に表示するための設定 */
  
     /* サイズをビューポートに基づいて設定 */
     width: 40%; /* ビューポート幅の40%に設定 */
     height: auto; /* 縦横比を維持 */
    }

    .PC_btn1:hover img, .PC_btn2:hover img {
      filter: brightness(40%); /* 画像を40%の明るさに変更 */
    }

    a:hover img {
      opacity: 0.8;
  }

    /* ヘッダーのスタイル */
    header {
      background-color: white;
      padding: 10px;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 1000;
  }

  nav {
      display: flex;
      justify-content: flex-end;
      align-items: center;
  }

  nav a {
      color: gray;
      text-decoration: none;
      padding: 10px;
      margin: 0 15px;
  }

  nav a:hover {
      background-color: #555;
      color: white;
  }

  .hamburger {
      display: none;
      flex-direction: column;
      cursor: pointer;
  }

  .hamburger span {
      background: gray;
      height: 3px;
      width: 25px;
      margin: 4px 0;
      transition: 0.3s;
  }

  .mobile-menu {
      display: none;
      flex-direction: column;
      background-color: white;
  }

  .mobile-menu a {
      padding: 10px;
      border-bottom: 1px solid #ddd;
      color: gray;
  }

  .mobile-menu a:hover {
      background-color: #555;
      color: white;
  }

  @media (max-width: 768px) {
      nav {
          display: none;
      }

      .hamburger {
          display: flex;
      }

      .mobile-menu {
          display: none;
      }

      .mobile-menu.open {
          display: flex;
      }
  }

  footer.footer {
    color: #cccccc;
    text-align: center;
    padding: 20px 0;
}

.footer-content {
    margin-top: 20px;
}

.footer-links {
    list-style: none;
    padding: 0;
}

.footer-links li {
    display: inline-block;
    margin: 0 15px;
}

.footer-links a {
    color: #cccccc;
    text-decoration: none;
}



/* ここからSP版*/

.SP_main2_box {
  position: relative; /* 子要素を基準に位置を調整できるようにする */
}

.SP_btn1 img {
  position: absolute; /* 親要素を基準に配置 */
  bottom: 15%; /* 下部から15%に配置 */
  left: 50%; /* 中央 */
  transform: translateX(-50%); /* 水平方向に中央揃え調整 */
  z-index: 10; /* 他の要素より前面に表示するための設定 */

   /* サイズをビューポートに基づいて設定 */
   width: 68%; /* ビューポート幅の68%に設定 */
   height: auto; /* 縦横比を維持 */
  }

  .SP_main4_box {
    position: relative; /* 子要素を基準に位置を調整できるようにする */
  }
  
  .SP_btn2 img {
    position: absolute; /* 親要素を基準に配置 */
    top: 25%; /* 上部から25%に配置 */
    left: 50%; /* 中央 */
    transform: translateX(-50%); /* 水平方向に中央揃え調整 */
    z-index: 10; /* 他の要素より前面に表示するための設定 */
  
     /* サイズをビューポートに基づいて設定 */
     width: 90%; /* ビューポート幅の90%に設定 */
     height: auto; /* 縦横比を維持 */
    }

    .SP_btn1:hover img, .SP_btn2:hover img {
      filter: brightness(40%); /* 画像を40%の明るさに変更 */
    }



    .SP_pastwork_box {
      position: relative; /* 子要素を基準に位置を調整できるようにする */
    }
    
    .SP_smn01 img {
      position: absolute; /* 親要素を基準に配置 */
      top: 5%; 
      left: 50%; /* 中央配置 */
      transform: translateX(-50%); /* 水平方向に中央揃え調整 */
      z-index: 10; /* 他の要素より前面に表示するための設定 */
    
      /* サイズをビューポートに基づいて設定 */
      width: 90%; /* ビューポート幅の30%に設定 */
      height: auto; /* 縦横比を維持 */
      /* 重なり順を指定*/
      z-index: 2;
      }
  
      .SP_smn02 img {
        position: absolute; /* 親要素を基準に配置 */
        top: 20%;
        left: 50%; /* 中央配置 */
        transform: translateX(-50%); /* 水平方向に中央揃え調整 */
        z-index: 10; /* 他の要素より前面に表示するための設定 */
      
        /* サイズをビューポートに基づいて設定 */
        width: 90%; /* ビューポート幅の90%に設定 */
        height: auto; /* 縦横比を維持 */
        /* 重なり順を指定*/
        z-index: 2;
        }
  
        .SP_smn03 img {
          position: absolute; /* 親要素を基準に配置 */
          top: 35%; 
          left: 50%; /* 中央配置 */
          transform: translateX(-50%); /* 水平方向に中央揃え調整 */
          z-index: 10; /* 他の要素より前面に表示するための設定 */
        
          /* サイズをビューポートに基づいて設定 */
          width: 90%; /* ビューポート幅の90%に設定 */
          height: auto; /* 縦横比を維持 */
          /* 重なり順を指定*/
          z-index: 2;
          }
  
          .SP_smn04 img {
            position: absolute; /* 親要素を基準に配置 */
            top: 50%;
            left: 50%; /* 中央配置 */
            transform: translateX(-50%); /* 水平方向に中央揃え調整 */
            z-index: 10; /* 他の要素より前面に表示するための設定 */
          
            /* サイズをビューポートに基づいて設定 */
            width: 90%; /* ビューポート幅の90%に設定 */
            height: auto; /* 縦横比を維持 */
            /* 重なり順を指定*/
            z-index: 2;
            }
  
            .SP_smn05 img {
              position: absolute; /* 親要素を基準に配置 */
              top: 67%; 
              left: 50%; /* 中央配置 */
              transform: translateX(-50%); /* 水平方向に中央揃え調整 */
              z-index: 10; /* 他の要素より前面に表示するための設定 */
            
              /* サイズをビューポートに基づいて設定 */
              width: 90%; /* ビューポート幅の90%に設定 */
              height: auto; /* 縦横比を維持 */
              /* 重なり順を指定*/
              z-index: 2;
              }
  
              .SP_smn06 img {
                position: absolute; /* 親要素を基準に配置 */
                top: 83%;
                left: 50%; /* 中央配置 */
                transform: translateX(-50%); /* 水平方向に中央揃え調整 */
                z-index: 10; /* 他の要素より前面に表示するための設定 */
              
                /* サイズをビューポートに基づいて設定 */
                width: 90%; /* ビューポート幅の90%に設定 */
                height: auto; /* 縦横比を維持 */
                /* 重なり順を指定*/
                z-index: 2;
                }