@charset "utf-8";
/* CSS Document */
/*リセット*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}

body {
  line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display:block;
}

nav ul {
  list-style:none;
}

blockquote, q {
  quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content:'';
  content:none;
}

a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}

/* change colours to suit your needs */
ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}

/* change colours to suit your needs */
mark {
  background-color:#ff9;
  color:#000;
  font-style:italic;
   font-weight:bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}

table {
  border-collapse:collapse;
  border-spacing:0;
}

/* change border colour to suit your needs */
hr {
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}

input, select {
  vertical-align:middle;
}


/*共通制御*/
body {
	font: 100%/1.4 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	margin: 0;
	padding: 0;
	color: #000;
}

a img { /* このセレクターは、一部のブラウザーでイメージをリンクで囲んだ場合にイメージの周囲に表示される初期設定の青いボーダーを削除します。 */
	border: none;
}
/* ~~ サイトのリンクのスタイル付けは、ホバー効果を作成するセレクターグループも含め、この順序にする必要があります。~~ */
a:link {
	color: #42413C;
	text-decoration: none; /* 非常に特殊な表示方法でリンクをスタイル付けする場合を除き、一目で見分けられるように下線を指定することをお勧めします。 */
}
a:visited {
	color: #6E6C64;
	text-decoration: none;
}
a:hover, a:active, a:focus { /* このセレクターグループは、キーボードを使用するユーザーに対し、マウスを使用するユーザーと同じホバー効果を提供します。 */
	text-decoration:underline;
}

/* ~~ この固定幅コンテナが他の div を囲みます。~~ */
.container {
	max-width: 1200px;
	background: #FFF;
	margin: 0 auto; 
	}
.headerbox {
	background: #00FFFF;
}
.header {
	padding:5px 0;
	max-width: 1200px;
	margin: 0 auto; 
	}

.content {
	max-width: 960px;
	margin: 0 auto; 
}
h2.titlehead {
	font-size:2.5rem;
	text-align:center;
	margin:50px 0;

	}
h2.titlehead span {
	color:#00FFFF;
	}
p.leadmessage {
	font-size:1.3rem;
	line-height:180%;
	}

/* ~~ フッター ~~ */
.footer {
	padding: 10px 0;
	background: #CCC49F;
}

/* ~~ その他の float/clear クラス ~~ */
.fltrt {  /* このクラスを使用すると、ページ内でエレメントを右にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: right;
	margin-left: 8px;
}
.fltlft { /* このクラスを使用すると、ページ内でエレメントを左にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* このクラスは、#footer が #container から削除されているか取り出されている場合に、<br /> または空の div で、フローティングさせる最後の div に続く最後のエレメントとして (#container 内に) 配置できます。 */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}

/*ボックス*/
.flexbox {
            display: flex;
            justify-content: center; /* ボックスを中央に配置 */
            align-items: center;
            min-height: 500px;
            margin: 120px 0 0 0;
            position: relative;
	}
	.flexbox h2 {
		font-size:1.6rem;
		margin-bottom:20px;
		}
	.flexbox p {
		line-height:200%;
		font-size:1.1rem;
		}
	.flast {
		margin-bottom:120px;
		}		
  .box {
            color: white;
            border-radius: 8px; /* 角を丸くする */
            box-sizing: border-box; /* パディングを含めた幅指定 */
        }

         .box-left {
            position:absolute;
			left:0;
			top:120px;
			background-color:#EAFFFF;
			color:#000000;
            z-index: 2; /* 重なり順序の設定 */
			min-height:350px;
			padding: 30px;
             width: 530px; 
       }
		.box-right {
              z-index: 1; /* 重なり順序の設定 */
            position:absolute;
			right:0;
			top:0;
     }

/*逆版*/
         .box-left2 {
            position:absolute;
			left:0;
			top:0;
           
              z-index: 1; /* 重なり順序の設定 */
        }
		.box-right2 {
            position:absolute;
			right:0;
			top:120px;
			background-color:#EAFFFF;
			color:#000000;
            z-index: 2; /* 重なり順序の設定 */
			min-height:350px;
			padding: 30px;
                width: 530px; 
  }
/*社長*/  
		.box-right3 {
            position:absolute;
			right:0;
			top:-60px;
			background-color:#EAFFFF;
			color:#000000;
            z-index: 2; /* 重なり順序の設定 */
			min-height:350px;
			padding: 30px;
                width: 530px; 
  }
  

/*社員インタビュー*/

.interviewbox {
	background-color:#CCFFFF;
	padding:50px 0 70px 0;
	margin:150px 0 0 0;
}
.interview {
            display: flex;
            gap: 20px;
			justify-content: space-between;
            align-items: center;
			margin: 0 auto;
			width:800px;
        }
h2.interviewtitle {
	padding:0 0 200px 0 !important;
	text-align:center;
	font-size:1.9rem;
	}		
        .card {
            background: white;
            width: 350px;
            padding: 20px 0;
            border-radius: 10px;
            box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
            position: relative;
			min-height:400px;
      }
        .card img {
            position: absolute;
            top: -170px;
            left: 50%;
            transform: translateX(-50%);
         /*   border-radius: 50%;            
			border: 3px solid white;
			background-color:#FFFFFF;*/
        }
        .card h3 {
            margin-top: 70px;
			margin-bottom:10px;
            font-size: 1.4rem;
			text-align:center;
        }
		.card p {
			padding:0 20px;
			line-height:180%;
			}
/*仕事内容*/
div.workbox {
	margin:70px 0 0 0;
	}
div.workbox h3 {
	font-size:1.6rem;
	border-bottom: 2px solid #00FFFF;
	}	
div.workbox h3.two {
	font-size:1.6rem;
	border-bottom: 2px solid #00FFFF;
	margin:50px 0 20px 0;
	}	
div.workbox p {
	font-size:1.1rem;
	margin-top:20px;
	}
div.workbox .fontb {
	font-weight:bold;	
	}			
div.workbox table.ktable {
	}
div.workbox table.ktable td {
	padding:10px 0 10px 10px;
	}
div.workbox table.ktable td.left {
	padding:10px 20px 10px 20px;
	vertical-align: middle;
	font-weight:bold;
	}			
/*footer*/			
div#footerarea {
	margin-top:100px;
	background-color:#CCFFFF;
	height:140px;
	clear:both;
	}
div#footer {
	clear:both;
	width:960px;
	color:#000000;
	margin:0 auto;
/*	background-image:url(../images/footerback.png);*/
	background-repeat:no-repeat;
}
div#footer p.footerlink {
	padding-top:20px;
	}
div#footerinfo {
	margin:30px 0 0 0;
	}
div#footerinfo img {
	float:left;
	margin-right:50px;
	}
div#footer a {
	color:#000000;
	text-decoration:none;
	}
div#footer a:hover {
	text-decoration:underline;
	}						
/*右下バナー */
        .recruit-banner {
            position: fixed;
            right: 20px;
            bottom: 20px;
            color: #fff;
            padding: 15px 20px;
            border-radius: 50%;
            font-size: 16px;
            font-weight: bold;
            text-decoration: none;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 80px;
            height: 80px;
            text-align: center;
            overflow: hidden;
        }

        .recruit-banner img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .recruit-banner span {
            position: relative;
            z-index: 1;
			color:#FFFFFF;
			border:none;
			text-shadow: 2px 2px 7px black; /* 右に3px、下に3px、ぼかし5px、色はグレー */
       }
		a.recruit-banner  {
 			text-decoration:none !important;
			}

        .recruit-banner:hover {
            transform: translateY(-5px);
            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.4);
              opacity: 0.8;
      }		
/*右下バナー 文字のみ
        .recruit-banner {
            position: fixed;
            right: 20px;
            bottom: 20px;
            background: #ff6600;
            color: #fff;
            padding: 15px 20px;
            border-radius: 50%;
            font-size: 16px;
            font-weight: bold;
            text-decoration: none;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 90px;
            height: 90px;
            text-align: center;
        }

        .recruit-banner:hover {
            transform: translateY(-5px);
            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.4);
        }		
*/
/* ボックスが画面幅を超えないようにするためのレスポンシブ設定 */
        @media (max-width: 1024px) {
			h1 img  {
	width: 100%;
    height: auto; /* 縦横比を維持 */
    display: block; /* 余計な隙間をなくす */
				}
		}

        @media (max-width: 768px) {
.flexbox {
                flex-direction: column; /* 小さい画面では縦並びに */
                align-items: center;
            }

            .box {
                width: 80%; /* 幅を80%に */
                margin-bottom: 20px; /* ボックスの間にスペースを空ける */
            }

            .box-right {
                left: 0; /* 小さい画面では重なりをなくす */
            }
}