@charset "UTF-8";
/* CSS Document */

/*===================================
	全体のスタイリング
====================================*/
#wrapper {
/*	position:relative;*/
}


/*===================================
	works_menu内
====================================*/
.works_main_imege {
  /* 縦横中央揃えの記述は以下の3行 */
	display: flex;
	justify-content: center;
	align-items: center;
	
	height: 400px;
	background-image: url(../img/contact_image.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
/*	position: absolute;*/
}

#form_block {
	position:relative;
/*	width: 100%;*/
}

#form_block .menu_title {
	font-family: sans-serif;
	font-size: 170%;
	margin: 80px 0px 50px 390px;
}
@media screen and (max-width: 780px) {
  #form_block .menu_title {
	margin: 40px 0px 50px 40px;
  }
}


/*--2023-0602以降の「自動メーラー立ち上げ」の記述------------------------------------------*/

.contact_message{
	margin: 80px 0px 50px 390px;
	max-width: 720px;
	font-family: sans-serif;
	line-height: 1.6em;
	}

.contact_message a{
	margin: 80px 0px 50px 0px;
	max-width: 720px;
	color: #a0522d;
	font-family: 'Hina Mincho', serif;
	font-size: 180%;
	}

@media screen and (max-width: 780px) {
  .contact_message {
	margin: 40px 0px 50px 40px;
  }
}

.contact_message a:hover {
  color: red;
}

.little_spece{
	margin: 0px 0px 15px 0px;
}







/*--Formの記述《2023-0602以降は不必要状態》------------------------------------------*/


.Form {
	margin: 80px 0px 50px 390px;
	max-width: 720px;
	font-family: sans-serif;
}
@media screen and (max-width: 780px) {
  .Form {
	margin: 40px 0px 50px 40px;
  }
}


.Form-Item {
  border-top: 1px solid #ddd;
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 780px) {
  .Form-Item {
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 16px;
    padding-bottom: 16px;
    flex-wrap: wrap;
  }
}


.Form-Item:nth-child(5) {
  border-bottom: 1px solid #ddd;
}


.Form-Item-Label {
  width: 100%;
  max-width: 248px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 780px) {
  .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
  }
}


.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}
@media screen and (max-width: 780px) {
  .Form-Item-Label.isMsg {
    margin-top: 0;
  }
}


.Form-Item-Label-Required {
  border-radius: 6px;
  margin-right: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 40px;
  display: inline-block;
  text-align: center;
  background: #D2B48C;
  color: #fff;
  font-size: 12px;
}
@media screen and (max-width: 780px) {
  .Form-Item-Label-Required {
    border-radius: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    width: 32px;
    font-size: 10px;
  }
}


.Form-Item-Input {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #eaedf2;
  font-size: 14px;
}
@media screen and (max-width: 780px) {
  .Form-Item-Input {
    margin-left: 0;
    margin-top: 18px;
    height: 40px;
    flex: inherit;
    font-size: 15px;
  }
}


.Form-Item-Textarea {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #eaedf2;
  font-size: 16px;
}
@media screen and (max-width: 780px) {
  .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
  }
}


.Form-Btn {
  border-radius: 6px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
  padding-bottom: 10px;
  width: 200px;
  display: block;
  letter-spacing: 0.05em;
  background: #D2B48C;
  color: #fff;
  font-weight: bold;
  font-size: 17px;

}
@media screen and (max-width: 780px) {
  .Form-Btn {
	  margin-top: 24px;
	  padding-top: 8px;
	  padding-bottom: 8px;
	  font-size: 16px;
  }
}

/*--Formの記述　ここまで------------------------------------------*/



/*--「送信確認 画面」「送信完了 画面」の追加記述《2023-0602以降は不必要状態》--------------------------------*/

.message_wrap {
	margin: 0px 0px 100px 390px;
	}

@media screen and (max-width: 780px) {
  .message_wrap {
	margin: 40px 0px 50px 40px;
  }
}

.message_kakunin {
	margin: 0px 0px -80px 390px;
	}

@media screen and (max-width: 780px) {
  .message_kakunin {
	margin: 40px 0px -50px 40px;
  }
}

.Form-Item-kakunin{
	padding: 20px 0px 20px 0px;
}

h2 {
	font-size: 150%;
	padding: 30px 0px 30px 0px;
	font-family: 'Hina Mincho', serif;
	letter-spacing: 0.1em;
	color: #8b4513;
}
.message{
	font-size: 100%;
	font-family: sans-serif;
	line-height: 1.8em;
}

/*--「送信確認 画面」「送信完了 画面」の追加記述　ここまで--------------------------------*/


.last_spece {
	margin: 0px 0px 100px 410px;
	}



/*===================================
	footer
====================================*/

footer{
	position:relative;
	background-color: black;
	height: 50px;
	z-index: 1;
}

footer p{
	font-family: sans-serif;
	color: white;
	font-size: 70%;
	text-align: center;
	padding-top: 20px;
	letter-spacing: 0.1em;
}




/*===================================
	header内
====================================*/

#header{
	width: 340px;
	height: 100%;
	position:fixed;
	top:0px;
	left:0px;
	background-color: rgba(135, 130, 130, 0.8);
	/*   ？？　背景に対してグレーを載せにならないか？　
	ならないなら写真＋グレー帯のバックJPEGを作る？
	その場合、レスポンシブにすることがかなり面倒になる*/
}

#header .main_title p {
	color: white;
	font-size: 100%;
	padding: 70px 0px 8px 48px;
	font-family: 'Hina Mincho', serif;
	letter-spacing: 0.1em;
}

#header .main_title h1 a {
	font-family: 'Heebo', sans-serif;
	color: white;
	font-size: 200%;
	padding-left: 48px;
	letter-spacing: 0.05em;
}

#header nav {
	font-family: sans-serif;
	padding-top: 50px;
}

#header nav li a{
	color: white;
	font-size: 110%;
}

#header nav li:nth-child(5) a {
	color: black;

}


#header nav li{
	padding-left: 55px;
	padding-top: 20px;
	letter-spacing: 0.1em;
}

#header .sns_mark {
	padding-left: 45px;
	padding-top: 200px;
}

#header .sns_mark img {
	width: 27px;
	height: 27px;
}

#header .sns_mark li {
	padding: 10px;
}

/* ↓ ハンバーガー用のチェックボックスをPCでは非表示*/
#header input {
	display: none;
}

#menu-icon {
	display: none;
}
	
/* ↓ navのホバー時にボールド指示*/
/*
#header .trans-BOLD:hover {
	font-weight: bold;
}
*/

/* ↓ SNSマークのホバー時に少し大きくなる*/
#header .largement:hover img {
	width: 32px;
	height: 32px;
}

/*「 header 」のスマホ対応 ----------------  */
@media not all and (min-width: 780px){
#header{
	width: 100%;
	height: auto;
	}

#header .main_title p {
	padding: 20px 0px 8px 20px;
	}

#header .main_title h1 a {
	font-size: 150%;
	padding-left: 20px;
	}
#header .main_title h1 {
	padding-bottom: 15px;
	}
#header nav {
	padding-top: 20px;
	}
	
#header nav li{
	padding-left: 30px;
	}

#header .sns_mark {
	padding-left: 20px;
	padding-top: 30px;
	padding-bottom: 20px;
	}

#header .sns_mark ul {
	display: flex;
	}
	
	
	/* ↓ ハンバーガーメニューの記述=======================================*/
    #ham-menu {
        background-color: #808080; /*メニュー背景色*/
        border-radius: 0 0 0 10px; /*左下角丸*/
		box-sizing: border-box;
/*        height: 50%;*/
		/*↑ heightは、スマホ横位置画角などの場合、スタイルが崩れるから指定しない*/
        padding: 0px; /*メニュー内左右上下余白*/
        position: fixed;
        right: -200px; /*メニュー横幅 width と合わせる*/
		width: 200px; /*メニュー横幅*/
        top: 0;
        transition: transform 0.3s linear 0s; /*0.3s はアニメーションにかかる時間*/
        z-index: 1000;
    }

    #menu-background {
		display: block;
/*        background-color: rgba(255,255,255,1);*/
/*        height: 100%;*/
        opacity: 0;
        position: fixed;
        right: 0;
        top: 0;
        transition: all 0.3s linear 0s; /*0.3s はアニメーションにかかる時間*/
        width: 100%;
        z-index: -1;
    }

    #menu-icon {
        background-color: rgba(0,0,0,0); /*アイコン部分背景色*/
        color: #FFFFFF; /*アイコン（フォント）色*/
        cursor: pointer;
        display: block;
        font-size: 50px; /*アイコン（フォント）サイズ*/
        height: 50px; /*アイコン縦高さ*/
        line-height: 50px; /*縦位置中央化*/
        position: fixed;
        right: 0;
        text-align: center;
        top: 0;
        width: 50px; /*アイコン横幅*/
        transition: all 0.3s linear 0s; /*0.3s はアニメーションにかかる時間*/
        z-index: 1000;
    }

    #menu-cb {
        display: none; /*チェックボックス（cb）本体は消しておく*/
    }

    #menu-cb:checked ~ #ham-menu,
    #menu-cb:checked ~ #menu-icon {
        transform: translate(-200px); /*メニュー本体横幅 width と合わせる*/
    }

    #menu-cb:checked ~ #menu-background {
        opacity: 0.5;
        z-index: 999;
    }
	

	/* ↑ハンバーガーメニューの記述　ここまで=======================================*/
	
	
}
/*「 header 」のスマホ対応　ここまで ----------------  */





/* ↓ navのホバー時に下線指示*/
#header nav a {
  display: inline-block;
  position: relative;
  overflow: hidden;
}

#header nav a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  transform: translate(-100%, 0);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  content: "";
}

#header nav a:hover:after {
  transform: translate(0, 0);
}

#header nav li:nth-child(5) a:after {
	background-color: transparent;
/*  ↑ 4つ目のホバー時に,下線を無効にする background-color: transparent*/
}
/* navの下線--ここまで*/
