@charset "utf-8";
/* CSS Document */

body {
	width: 100%;
	background-color: #FFF;
	background-color: transparent;
	color: #333;
	font-size: 4.267vw;
	/*font-family:'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;*/
 	font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
	line-height: 2;
}

	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:768px){
	body { 
		font-size: 16px;
		}
	}

img { vertical-align: bottom; }

/*-----------------------------
text_style, box_style
-----------------------------*/

/*スマホ向けレイアウトの指定*/

.mincho {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.fs_12_vw{ font-size: 3.2vw;}
.fs_14_vw{ font-size: 3.733vw;}
.fs_16_vw{ font-size: 4.267vw;}
.fs_18_vw{ font-size: 4.8vw;}
.fs_20_vw{ font-size: 5.333vw;}
.fs_24_vw{ font-size: 6.4vw;}
.fs_30_vw{font-size: 8vw;}
.fs_40_vw{font-size: 10.677vw;}
.fs_50_vw{ font-size: 13.333vw;}


.ta_center_sp { text-align: center; }
.ta_left_sp { text-align: left; }
.ta_right_sp { text-align: right; }

.fw_bold { font-weight: bold; }

.fc_white { color: #fff; }
.fc_black { color: #000; }
.fc_base { color: #4472C4; }

.space2 { letter-spacing: 2px; }
.space5 { letter-spacing: 5px; }

.only_sp { display: block; }
.only_tb { display: none; }
.only_pc { display: none; }

.lh_10 { line-height: 1; }
.lh_12 { line-height: 1.2; }
.lh_15 { line-height: 1.5; }
.lh_17 { line-height: 1.7; }

.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb60 { margin-bottom: 60px; }
.mb100 { margin-bottom: 100px; }
.mb200 { margin-bottom: 200px; }
.mb300 { margin-bottom: 300px; }

.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px; }
.mt60 { margin-top: 60px; }
.mt100 { margin-top: 100px; }

.ml10 { margin-left: 10px; }
.ml20 { margin-left: 20px; }
.ml30 { margin-left: 30px; }
.ml40 { margin-left: 40px; }
.ml60 { margin-left: 60px; }
.ml100 { margin-left: 100px; }

.pt10 { padding-top: 10px; }
.pt20 { padding-top: 20px; }
.pt30 { padding-top: 30px; }
.pt40 { padding-top: 40px; }
.pt60 { padding-top: 60px; }
.pt100 { padding-top: 100px; }

.pb10 { padding-bottom: 10px; }
.pb20 { padding-bottom: 20px; }
.pb30 { padding-bottom: 30px; }
.pb40 { padding-bottom: 40px; }
.pb60 { padding-bottom: 60px; }
.pb100 { padding-bottom: 100px; }

.pl10 { padding-left: 10px; }
.pl20 { padding-left: 20px; }
.pl30 { padding-left: 30px; }
.pl40 { padding-left: 40px; }
.pl60 { padding-left: 60px; }
.pl100 { padding-left: 100px; }

.pr10 { padding-right: 10px; }
.pr20 { padding-right: 20px; }
.pr30 { padding-right: 30px; }
.pr40 { padding-right: 40px; }
.pr60 { padding-right: 60px; }
.pr100 { padding-right: 100px; }

.img_responsive {
	max-width: 100%;
	height: auto;
}

.link_01 {
    vertical-align:baseline;
    background:transparent;
	text-decoration: none;
}

.link_02 {
    vertical-align:baseline;
	text-decoration: underline;
	color: #000;
}

.list_01 {
	list-style: none;
	text-indent: -1em;
	padding-left: 1em;
}


.list_02 {
	list-style: none;
}

.word_wrap {
	word-wrap: break-word;
}


	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:768px){
	.fs_12_tb { font-size: 12px; }
    .fs_14_tb { font-size: 14px; }
	.fs_16_tb { font-size: 16px; }
	.fs_18_tb { font-size: 18px; }
	.fs_20_tb { font-size: 20px; }
	.fs_24_tb { font-size: 24px; }
	.fs_30_tb { font-size: 30px; }
	.fs_40_tb { font-size: 40px; }
	.fs_50_tb { font-size: 50px; }
	.fs_80_tb { font-size: 80px; }

	.ta_center_tb { text-align: center; }
	.ta_left_tb { text-align: left; }
	.ta_right_tb { text-align: right; }

	.only_sp { display: none; }
	.only_tb { display: block; }
	.only_pc { display: none; }
	}

		/*PC向けおよび大型PCの指定*/
		@media only screen and (min-width:1080px){
		body { min-width: 1080px; }

		.fs_12_pc { font-size: 12px; }
		.fs_14_pc { font-size: 14px; }
		.fs_16_pc { font-size: 16px; }
		.fs_18_pc { font-size: 18px; }
		.fs_20_pc { font-size: 20px; }
		.fs_24_pc { font-size: 24px; }
		.fs_30_pc { font-size: 30px; }
		.fs_40_pc { font-size: 40px; }
		.fs_50_pc { font-size: 50px; }
        .fs_70_pc { font-size: 70px; }
		.fs_80_pc { font-size: 80px; }

		.ta_center_pc { text-align: center; }
		.ta_left_pc { text-align: left; }
		.ta_right_pc { text-align: right; }

		.only_sp { display: none; }
		.only_tb { display: block; }
		.only_pc { display: block; }


		/*ＰＣで横並びの時に、スマホで設定したmargin-bottomが不要になった時に使用*/
		.mb_clear_pc {
			margin-bottom: 0;
		}
		}

/*-----------------------------
responsive_grid
-----------------------------*/

/*スマホ向けレイアウトの指定*/
.inner01 {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.inner02 {
	width: 94%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.inner03 {
	width: 94%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}


.flex_box_sp {
	display: flex;
}

	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:768px){
	.flex_box_tb {
		display: flex;
	}

	.col_01_tb {
		width: 64%;
	}

	.col_02_tb {
		width: 32%;
	}

	.col_03_tb {
		width: 48%;
	}

	.col_04_tb {
		width: 24%;
	}
	}

		/*PC向けおよび大型PCレイアウトの指定*/
		@media only screen and (min-width:1200px){
		.inner01 {
			width: 1180px;
		}

		.inner02 {
			width: 1180px;
		}

		.inner03 {
			width: 800px;
		}

		.flex_box_pc {
			display: flex;
		}

		.col_01_pc {
			width: 64%;
		}

		.col_02_pc {
			width: 32%;
		}

		.col_03_pc {
			width: 49%;
		}

		.col_04_pc {
			width: 24%;
		}

		.flex_reverse_pc {
			flex-direction:row-reverse;
		}
		}

/*-----------------------------
header
-----------------------------*/
header {
	position: fixed;
	z-index: 999;
	width: 100%;
	border-bottom: solid 1px #E3E8FE;
	background-color: #fff;
}

.header_wrap {
	position: relative;
	padding: 20px 0;
	text-align: center;
}

.header_contact .mail {
	padding: 5px 10px 3px 10px;
	border-radius: 20px;
	background-color: #4472c4;
	color: #fff;
	font-weight: bold;
	font-size: 0.95em;
	text-decoration: none;
}

.header_contact .tel {
	margin-top: 3px;
	padding: 5px 3px 3px 3px;
	font-weight:bold;
	font-size: 0.95em;
	text-decoration: none;
	color: #333;
}

h1 {
	margin-bottom: 20px;
}

/*開閉ボタン*/
#nav_toggle{
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 25px;
	right: 20px;
	/*z-index: 100;*/
}

#nav_toggle div {
	position: relative;
}

#nav_toggle span{
	display: block;
	height: 3px;
	background: #2F5079;
	position:absolute;
	width: 100%;
	left: 0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
}

#nav_toggle span:nth-child(1){
	top:0px;
}

#nav_toggle span:nth-child(2){
	top:12px;
}

#nav_toggle span:nth-child(3){
	top:24px;
}

/*開閉ボタンopen時*/
.open #nav_toggle span:nth-child(1) {
	top: 12px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
}

.open #nav_toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}

.open #nav_toggle span:nth-child(3) {
	top: 12px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

nav{
	display: none;
	position: absolute;
	top:0;
	left: 0;
	width: 80%;
	background: #999999;
	z-index: 100;
}

nav ul{
	display: block;
	margin: 0 auto;
}

nav ul li{
	border-bottom: 1px solid #fff;
	text-align: center;
	list-style: none;
	letter-spacing: 2px;
}

nav ul li a{
	display: block;
	padding: 10px 0;
	text-decoration: none;
	color: #fff;
}

		/*PC向けおよび大型PCレイアウトの指定*/
		@media only screen and (min-width:1200px){

		.header_wrap {
		}

		#nav_toggle{
			display: none;
		}

		h1 {
			margin-bottom: 0;
		}
		
		.header_contact {
			position: absolute;
			top:32px;
			right: 30px
		}

		.header_contact .mail {
			padding: 5px 20px 3px 20px;
			font-size: 1em;
		}

		.header_contact .tel {
			padding: 5px 20px 3px 20px;
			font-size: 1.2em;
		}

		nav {
		position: static; /*これがないとnavの高さが出ず、下のコンテンツがもぐりこんでしまう。*/
		display: block;
		float: right;
		margin-top: 25px;
		width: 70%;
		background-color: #ffffff;
		}

		nav ul {
			text-align: right;
		}

		nav ul li {
			display: inline;
			padding: 20px 20px;
			border-bottom: none;
		}

		nav ul li:last-child {
			background-color: #045ada;
			color: #fff;
		}

		nav ul li a{
			display: inline;
			padding: 0;
			transition-duration: 0.8s;
			transition-property: color;
			color: inherit;
		}


		nav ul li a:hover {
			opacity: 1;
			color: #045ada;

		}

		nav ul li:last-child a:hover {
			color: #ea9898;
		}

		}

/*-----------------------------
mainimg
-----------------------------*/

/*画像左部分見せ（イシダ工芸、わかなさんのCSS）*/
/* .slick img{
  width: auto;
  height: 400px;
}*/

/*画像幅全部見せの場合*/
.top-image img{
  width: 100%;
  height: auto;
  /*margin: 0 auto;*/
}


/* image */
.top-image {
  position: relative;
  padding-top: 150px; /*画像全部見せの場合、高さを出すため*/
}

.main_txt{
  width: 94%;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin-top: 70px;
  padding:0;
  color: #fff;
  text-align: center;
  /*font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;*/
  font-size: 2em;
  line-height: 1.8;
  text-shadow: 1px 1px 4px #000;
  font-weight: 100;
}

/*PC及び大型レイアウトの指定*/
@media only screen and (min-width:1200px){
	  /*.slick img{
    		width: 100%;
    		height: auto;
  		}*/

		.top-image {
			padding-top: 30px;
		}

		.main_txt{
			margin-top: 0;
			font-size: 2.5em;
		}
		}

/*-----------------------------
top_contents
-----------------------------*/
.lead {
	padding-top: 60px;
	padding-bottom: 60px;
}

.box_lead_01 {
	/*background-color: #EAE8E8;
	border: solid 1px;*/
	padding: 30px;
}

.parallax-window {
	padding-top: 20px;
	width: 100%;
    min-height: 500px;
    background: transparent;
}

.box_top_content01 {
	box-sizing: border-box;
	width: 100%;
	padding: 30px;
	background-color: rgba(250,250,250,0.6);
}

.btn_more {
	display: inline-block;
	background-color: #4472C4;
	padding: 5px 20px;
	color: #fff;
}

.connect01 {
	min-height: 60px;
	background-color: #c1cbdb;
}

.connect02 {
	min-height: 60px;
	background-color: #e1ccb7;
}

		/*PC向けおよび大型PCレイアウトの指定*/
		@media only screen and (min-width:1200px){

		.box_lead_01 {
			width: 50%;
		}
		
		.parallax-window {
			padding-top: 0;
    		min-height: 668px;
    		background: transparent;
		}
		
		.box_top_content01 {
			box-sizing: border-box;
			width: 50%;
			padding-top: 100px;
			background: none;
		}		
		}

/*-----------------------------
バナー、バナー２
-----------------------------*/
.banar {
	padding: 60px 0 40px 0;
	background-color: #ECEAEB;
}

.banar02 {
	padding: 60px 0 40px;
}

.box_bnr_01 {
	box-sizing: border-box;
	border: solid 2px #4472C4;
	padding: 20px;
	text-align: center;
}

.txt_bnr_01 {
	background-color: #4472C4;
	padding: 3px 20px 1px 20px;
	/*font-weight: bold;*/
	border-radius: 30px 30px;
	text-decoration: none;
}

/*-----------------------------
footer
-----------------------------*/

.footer_info_wrap {
	background-color: #e2e8f0;
	padding: 50px 0;
}

.footer_nav {
	list-style-type: none;
}

.footer_nav li a {
	color: inherit;
	text-decoration: none;
}

.copyright_wrap {
	background-color: #4472c4;
	color: #ffffff;
}

		/*PC向け及び大型レイアウト指定*/
		@media only screen and (min-width:1200px){
		footer {
			text-align: center;
		
		}
		.footer_nav li {
			display: inline;
		}
		
		.footer_nav li a {
			padding: 0 20px;
		}
		}


/*-----------------------------
totopボタン
-----------------------------*/

#totop {
	position: fixed;
	bottom: 40px;
	right: 10px;
	height: auto;
	opacity: 0.7;
	z-index: 999;
}

/*-----------------------------
common（トップ以外共通で使うもの）
-----------------------------*/
.wrapper {	/*headerを固定にしたためコンテンツがもぐりこまないように設定*/
	padding-top: 200px;
}

.content {
	margin-top: 40px;
	background: url("../images/bg_content.jpg") repeat-y center top;
	background-size: 100% auto;
	padding-bottom: 60px;
}

.nav_content li {
	list-style: none;
	border: solid 2px #4472C4;
	border-radius: 20px 20px;
	text-align: center;
	margin-bottom: 10px;
}

.active02 {
	opacity: 0.5;
	background-color: #4472C4;
	color: #ffffff;
}

.nav_content li a {
	text-decoration: none;
	color: inherit;
}

	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:768px){
	.wrapper {
		padding-top: 200px;
	}	
	}

		/*PC向けおよび大型PCレイアウトの指定*/
		@media only screen and (min-width:1200px){

		.wrapper {
			padding-top: 160px;
		}
		
		.content {
			margin-top: 60px;
		}
		
		.nav_content {
			width: 960px;
			margin-left: auto;
			margin-right: auto;
		}
		}



/*-----------------------------
変化するライフスタイル
-----------------------------*/
.korekara, .kyuujitsu {
	position: relative;
}

.korekara p {
	/*position: absolute;
	top: 130px;*/
	background-color: rgba(255,255,255,0.8);
	border: solid 1px #555555;
	padding: 10px;
	font-size: 1.2em;
	line-height: 1.5;
	/*font-weight: bold;*/
}

.kyuujitsu p {
	/*position: absolute;
	top: 130px;
	right: 0;*/
	background-color: rgba(255,255,255,0.8);
	border: solid 1px #555555;
	padding: 10px;
	font-size: 1.2em;
}

	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:768px){
	.korekara p {
		position: absolute;
		top: 130px;
		/*background-color: rgba(255,255,255,0.8);
		border: solid 1px #555555;*/
		padding: 20px 100px;
		font-size: 1.5em;
		/*font-weight: 100;*/
	}

	.korekara figure {
		text-align: right;
	}
	
	.kyuujitsu p {
		position: absolute;
		top: 130px;
		right: 0;
		/*background-color: rgba(255,255,255,0.8);
		border: solid 1px #555555;*/
		padding: 20px 100px;
		font-size: 1.5em;
	}
	
	.kyuujitsu figure {
		text-align: left;
	}
	
	.box_style_01 {
		display: flex;
		justify-content: space-between;
	}
	}

/*-----------------------------
健康には今まで以上に気をつけたい
-----------------------------*/

.balloon2 {
	border: solid 1px #555555;
	padding: 10px;
	font-size: 1.2em;
	font-weight: 100;
	text-align: center;
	line-height: 1.5;
}


	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:768px){
	.balloon2 {
		width: 500px;
		margin-left: auto;
		margin-right: auto;
		font-size: 1.5em;
	}
	}

/*-----------------------------
より住み心地のいい便利な家とは
-----------------------------*/

.balloon3 {
	border: solid 1px #555555;
	padding: 10px;
	font-size: 1.15em;
	/*font-weight: 100;*/
	text-align: center;
	line-height: 1.5;
}

	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:768px){
	.balloon3 {
		font-size: 1.5em;
		}
	}

/*-----------------------------
comapny　トストーカイにお任せください
-----------------------------*/

.txt_company_01 {
	padding: 10px;
	background-color: #4472C4;
	color: #fff;
	font-size: 1.2em;
	text-align: center;
	line-height: 1.5;
}

	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:768px){
	.txt_company_01 {
		font-size: 1.5em;
	}
	}

/*-----------------------------
店舗案内
-----------------------------*/

/* googlemap埋め込み関連 */
#map {
	width: 100%;
	box-sizing: border-box;
	margin: 0 auto;
}

#map .inner_map {
	position: relative;
	height: 0;
	padding-top: 69.77%;
	overflow: hidden;
}

#map .inner_map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* googlemap埋め込み関連ここまで; */

/*タブレットレイアウトの指定*/
@media only screen and (min-width:769px){
	.table_shop01 tr th, .table_shop01 tr td{
		display: table-cell;
		padding: 10px;
	}

	.table_shop01 tr th {
		width: 50%;
	}

	.table_shop01 tr td {
		width: auto;
	}
}

/*PC向けおよび大型PCの指定*/
@media only screen and (min-width:1200px){

	.table_shop01 {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.table_shop01 tr th iframe, .table_shop01 tr td iframe {
		width: 100%;
		height: 404px;
	}

}


/*-----------------------------
お問い合わせ
-----------------------------*/
input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}


.tel_cont img{
  vertical-align: middle;
}

.tel_cont{
  border: 1.5px solid #4472c4;
  padding: 10px;
}

.form_table{
  width: 100%;
  text-align: left;
}

.form_table tr th,.form_table tr td{
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}

.form_table tr th{
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: normal;
}

.middle{
  height: 40px;
  border: 1px solid #4472c4;
  border-radius: 10px;
  padding: 5px;
}

.form_table textarea{
  height: 250px;
  border: 1px solid #4472c4;
  border-radius: 10px;
  padding: 5px;
}

input, textarea{
 	outline: none;
	font-size: 16px;
	overflow: hidden;
    border: none;
}

input[type="text"], textarea[type="text"] {
	width: 100%;
	box-sizing: border-box;
}

.form_btn01{
  width: 100%;
  background-color: #4472c4;
  color: #fff;
  padding: 15px;
  cursor: pointer;
  cursor: hand;
}

.form_btn02{
  width: 100%;
  background-color: #fff;
  border: 2px solid #4472c4;
  color: #4472c4;
  padding: 15px;
  cursor: pointer;
  cursor: hand;
}

.form_btn01:hover,.form_btn02:hover,.error_back:hover,.error_mail:hover,.fin_back:hover{
  opacity: 0.7;
}

.required{
  background-color: red;
  color: #fff;
  padding: 1px 15px;
  font-size: 0.7em;
  margin-right: 10px;
}

.conf_container, .form_container, .error_container, .fin_container {
  padding-bottom: 60px;
}

.shiyosho a{
  border-bottom: solid 1px #007fc6;
  color: #4472c4;
}

.conf_container h4{
  margin-top: 0;
  padding-top: 50px;
}


.conf_table{
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.conf_th{
  font-size: 0.8em;
  padding-right: 20px;
}

.error_back{
  background-color: #fff;
  border: 2px solid #4472c4;
  padding: 15px;
  margin: 30px 0;
  text-align: center;
  color: #4472c4;
}

.error_mail{
  background-color: #4472c4;
  padding: 15px;
  text-align: center;
  color: #fff;
}

.error_title,.fin_title{
  font-size: 1.2em;
}

.fin_back{
  background-color: #fff;
  border: 2px solid #4472c4;
  padding: 15px;
  text-align: center;
  color: #4472c4;
}

.privacy{
  padding-bottom: 50px;
  padding-top: 40px;
}


/*タブレットレイアウトの指定*/
@media only screen and (min-width:768px){
  .form_container,.conf_container,.error_container,.fin_container,.privacy{
    width: 70%;
    max-width: 900px;
    margin: 0 auto;
  }
  .form_btn01,.form_btn02{
    width: 40%;
  }
  
  .error_title,.fin_title{
    font-size: 1.8em;
  }
  
  .privacy{
    width: 70%;
    margin: 0 auto;
  }
}

/*PC向けおよび大型PCの指定*/
@media only screen and (min-width:1080px){
  .form_table tr th,.form_table tr td{
    display: table-cell;
    padding: 10px 0
  }
  
  .form_table tr{
    border-bottom: 1px solid #4472c4;
  }
  
  .form_table tr th{
    width: 90%;
    vertical-align: top;
    display: flex;
  }
  
  .error_btn,.fin_btn{
    width: 40%;
    margin-left: auto;
    margin-right: auto;
  }
  
  .conf_table tr th{
    width: 30%;
  }

  .conf_table{
    width: 80%;
  }
  
  .tel_cont{
    justify-content: center;
    width: 70%;
    margin-left: auto;
    margin-right: auto
  }
  
  .tel_cont img{
    vertical-align: text-top;
  }
  
  .tel_cont h3{
    margin-right: 20px;
  }
  
}