@charset "utf-8";

/* ========================================
    リセットcss
========================================= */
*{
	margin: 0;
	padding: 0;
	list-style: none;
	box-sizing: border-box;

}


/* ========================================
	全体設計
========================================= */
body {
	color:#888888;
	font-size: 14px;
	line-height: 1;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	background-color: #fff;
}

/* ========================================
	ラッパー
========================================= */
div#wrapper{
	width: 1440px;
	margin: 0 auto;
	position: relative;
}

/* ========================================
	ヘッダー
========================================= */

header {
  	max-width: 1440px;
  	width: 100%;
  	height: 76px;
  	background-color: #f5f5f5;
  	display: flex;
  	justify-content: space-between;
  	align-items: center;
 	margin: 0 auto;
  	padding: 0 20px; /* 余白を追加して中身がくっつかないように */
  	box-sizing: border-box;
}


#header_inner{
	width: 840px;
	height: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header h1{
	width: 230px;
	height: 45px;
	margin-left: 40px;
}

header nav ul{
	display: flex;

}

nav ul li{
	width: 110px;
	height: 40px;
	margin-left: 20px;
	text-align: center;
	line-height: 40px;
}

nav ul li a{
	color: #070000;
	text-decoration: none;
	font-size: 18px;
	font-weight: bold;
}

nav ul li a:hover{
	color: #87d9b9;
	cursor: pointer;
}

#search {
	margin-left: auto; /* 検索フォームを右端に押し出す */
}

.search-form {
	display: flex;
	align-items: center;
}

.search-form input {
	padding: 6px 10px;
	border: 1px solid #ccc;
	border-radius: 4px 0 0 4px;
}

.search-form button {
	padding: 6px 12px;
	border: none;
	background-color: #cdc7c7;
	color: #fff;
	border-radius: 0 4px 4px 0;
	cursor: pointer;
}

.search-form input,
.search-form button {
    font-size: 16px;
    line-height: 1.5;
    box-sizing: border-box;
    height: 36px; /* 明示的に高さを揃える */
}

.search-form input::placeholder {
    color: #cdc7c7; /* 薄いグレー*/
}


/* ========================================
	メイン画像
========================================= */
div#mainimage {
	width: 1440px;
	height: 344px;
	overflow: hidden; /* はみ出しを隠す */
	margin-bottom: 20px;
	background-color: #036ca2;
	position: relative;
}

#mainimage img {
    width: 100%;
    height: auto;
    object-fit: cover; /* 枠にフィットさせつつ、切り取り */
    display: block;
}

#mainimage p{
	font-size: 42px;
	font-weight: bold;
	position: absolute;
	right: 40px;
	bottom: 20px;
	
	/*グラデーションテキスト*/
	background: linear-gradient(120deg,
	#e754e2,
	#bfc2fe, 
	#5ed1e1   
	);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;


	/* 境界線（テキストストローク） */
  	-webkit-text-stroke: 1px #ffffff; /* 白い縁取り */

	/* ドロップシャドウ */
  	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
	
	/* 半透明の帯 */
    background-color: rgba(255, 255, 255, 0.3); /* 白の30%透明 */
    padding: 10px 20px;
    border-radius: 8px;


}

/* ========================================
	レフト・ライト　レイアウト
========================================= */
div#container{
	width: 1200px;
	margin: 0 auto;
	height: 355px;
	background-color: #fff;
	border: 1px solid #cccccc;
	padding: 20px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	
}

/* ========================================
	レフト
========================================= */
div#left{
	width: 720px;
	height: auto;
	text-align: left;
}

#left_title{
	font-size:36px;
	font-weight: bold;
	margin-bottom: 20px;
}

.left_subtitle{
	margin-bottom: 20px;
	font-size: 18px;
}

.left_text1,
.left_text2,
.left_text3{
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 16px;
	line-height: 1.5;
}

/* ========================================
	ライト
========================================= */
div#right{
	width: 280px;
	height: 180px;
	margin: 20px;
	text-align: center;
	
}


h3 {
    margin: 0 0 10px 0;
    padding: 0;
    text-align: center;
}


#right img {
    width: 100%;
    height: auto;
    display: block;
}

.image-wrapper {
    display: flex;
    width: 100%;
    height: auto;
    background: linear-gradient(to right, #eee 50%, #9cddff 50%);
    padding: 10px;
    border: 2px solid #ccc;
}

.image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}

#contact{
	margin-top: 20px;
	text-align: left;
}

#contact h4{
	font-size: 14px;
	color: #888;
	margin-bottom: 10px;
}

.contact_button {
    width: 140px;
    text-align: center;
    display: inline-block;
    padding: 12px 24px;
    background-color: #ccc;
    color: #555;
    font-size: 16px;
    font-weight: bold;
    border: 2px solid #888;
    border-radius: 8px; 
    text-decoration: none;
	
    /* ドロップシャドウ */
    box-shadow: -2.6px 3.1px 4px rgba(114, 193, 224, 0.4);
}

.contact_button:hover {
    background-color: #66c2ff;
    color: #fff;
    border-color: #66c2ff;
}




/* ========================================
	フッター
========================================= */
footer{
	max-width: 1440px;
	width: 100%;
	margin: 0 auto;
	height: 70px;
	margin-top: 40px;
	background-color: #f0f0f0;
}


div#footer_inner{
	width: 1400px;
	margin: 0 auto;
	line-height: 70px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#list{
	width: 660px;
	height: 24px;
	background-color: #fff;
	border: 2px solid #888;
	line-height: 24px;
	padding: 0 10px;
	font-size: 14px;
	color: #333;
}

#list a{
	margin-right: 10px;
	text-decoration: none;
}


/* ========================================
	Resultls
========================================= */
#r_content {
	width: 1207px;
	/*width: 1440px;*/
	/*height: 729px;*/
	min-height: 729px; /* 高さを固定せず、最低限にする */

	text-align: center;
	margin: 20px auto;
  	padding: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
  	align-items:center;

}

.card {
	width: 560px;
	height: 300px;
  	background-color: white;
  	border: 1px solid #ccc;
  	border-radius: 8px;
  	/*padding: 16px;*/
  	box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  	box-sizing: border-box;
	position: relative;	
}

#key {
  	position: absolute;
  	top: 56%;
  	left: 220px; /* 左からの距離 */
  	transform: translateY(-50%); /* 縦中央に揃える */
  	padding: 8px;
  	font-size: 14px;
  	width: 370px;
	line-height: 150%;
}

#r_contact {
  	position: absolute;
  	top: 56%;
  	right: 220px; /* 右からの距離 */
  	transform: translateY(-50%); /* 縦中央に揃える */
  	padding: 8px;
  	font-size: 14px;
  	width: 370px;
}

h5{
	font-size: 16px;
	line-height: 150%;
}


.card:nth-child(1),
.card:nth-child(2) {
  	margin-bottom: 80px; /* 行間の余白を広げる */
}

.card_title {
	width: 100%;
	min-height: 68px;
	background-color: #f3f0e9;
	border: 1px solid  #bbbbbb;
	padding: 20px;
	box-sizing: border-box; 
	
}

h4 {
	font-size: 36px;
	color: #888888;
	margin-bottom: 20px;
}

#card_blue {
  	color: #007acc;
	font-size: 46px;
}

#card_green {
  	color: #006644;
	font-size: 46px;
}

#card_purple {
  	color: #6a5acd;
	font-size: 46px;
}

#card_black {
  	color: #0c0c0c;
	font-size: 46px;
}



.cc {
	font-size: 24px;
	margin-bottom: 20px;
}

.gaiyou {
	font-size: 22px;
	margin-bottom: 20px;
}

.gihou {
	font-size: 16px;
	margin-bottom: 20px;
}
	
.honbun {
	font-size: 16px;
}	
	
/* ========================================
	portfolio
========================================= */
#p_content{
	width: 1440px;
	height: 741px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	
}

#p_left{
	/*background-color: palegoldenrod;*/
	width: 430px;
	min-height: 744px;
}

.jitugi2 {
  height: 322px;
  text-align: center;
}

.jitugi2 h6 {
  font-size: 19px;
  margin-top: 30px;    
  text-align: center;
}



.jitugi2 img {
  width: 355px;
  height: 186px;
  margin-top: 30px;
  margin-bottom: 30px; 
}

.jitugi3 {
	/*background-color: yellow;*/
  	width: 430px;
  	height: 336px;
  	display: flex;
  	justify-content: space-between;
  	align-items: flex-end;
  	box-sizing: border-box;
}

.jitugi3_1 {
  	/*background-color: pink;*/
  	margin:0 38px;
}

.jitugi3_1 img{
	width: 89px;
  	height: 331px;
}

.jitugi3_right {
	/*background-color: royalblue;*/
	margin-right: 40px;
  	width: 220px;
  	height: 336px;
  	display: flex;
  	flex-direction: column;
  	justify-content: space-between;
}

.jitugi3_2,
.jitugi3_3 {
  	
  	width: 100%;
}

.jitugi3_2 {
  	height: 167px;
}

.jitugi3_3 {
  	height: 27px;
}

.jitugi3_2 img,
.jitugi3_3 img {
  	display: block;
  	width: 100%;
  	height: 100%;
  	object-fit: cover;
}



#p_center{
	/*background-color: orange;*/
	width: 623px;
	min-height: 744px;
	position: relative;
}


#p_center img{
	width: 623px;
	height: 444px;
	position: absolute;
  	top: 50%;
  	transform: translateY(-50%);
  	left: 0; /* 横位置はそのまま左寄せ */
}

#p_center h6{
	font-size: 31px;
	margin-top: 100px;
	text-align: center;
	/* ドロップシャドウ */
  	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}


#p_right{
	/*background-color: palegreen;*/
	width: 383px;
	min-height: 744px;
}

.jitugi4{
	/*background-color: aqua;*/
	width: 383px;
	height: 322px;
	text-align: center;
	margin-top: 20px;
}


.jitugi4 h6 {
  font-size: 19px;
  margin-top: 30px;    
  text-align: center;
}



.jitugi4 img{	
	width: 316PX;
	height: 212px;
	margin-top:30px;
	margin-bottom: 76px;
}

#p_contact {
	/*background-color: pink;*/
	width: 383px;
  	padding-top: 30px;
	padding-bottom: 30px;
  	font-size: 14px;
	text-align: center;
  	
}

.jitugi6 {	
	width: 383PX;
	height: 190px;
	text-align: center;
}


.jitugi6 h6 {
  	font-size: 19px;
  	margin-top: 30px;    
  	margin-bottom: 10px;
  	text-align: center;
}


.jitugi6 img{
	display: inline-block;
  	margin: 10px 0;

}

.setumei{
	font-size: 19px;
	font-weight: bold;
	text-align: center;
	 /* ドロップシャドウ */
  	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

