@charset "utf-8";



/*全体の設定

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

body {

	margin: 0px;padding: 0px;

	color: #666;

	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	font-size: 14px;

	line-height: 1.5;

	-webkit-text-size-adjust: none;

	background: #fff;

}

h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {

	margin: 0px;

	padding: 0px;

	font-size: 100%;

}

ul {

	list-style-type: none;

}

ol {

	padding-left: 40px;

	padding-bottom: 15px;

}

img {

	border: none;

	max-width: 100%;

	height: auto;

	vertical-align: middle;

}

table {

	border-collapse:collapse;

	border-spacing: 0;

}

iframe {

	width: 100%;

	border: none;

}



a {

	color: #666;

	-webkit-transition: 0.5s;

	transition: 0.5s;

}

a:hover {

	text-decoration: none;

	color: #D53A4F;

}



#container {

	position: relative;

}



/*ヘッダー

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

header {

	width: 100%;

	background: rgba(255, 255, 255, 0.9);

	display: flex;

	flex-direction: column;

	justify-content: center;

	align-items: center;

	position: absolute;

	top: 0;

	left: 0;

}



/*コンテンツ

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

.contents {

	clear: both;

	margin: 0 auto;

	overflow: hidden;

	box-sizing: border-box;

}

.contents h2 {

	clear: both;

	font-weight: normal;

	letter-spacing: 0.1em;

	margin-bottom: 30px;

	font-size: 24px;

	text-align: center;

}

.contents h3 {

	clear: both;

	font-weight: normal;

	margin-bottom: 30px;

	font-size: 14px;

	line-height: 1.5;

	text-align: center;

	font-style: italic;

}

.contents h2 + p,

.contents h3 + p {

	margin-top: -5px;

}

.contents p {

	padding: 0px 10px 15px;

	margin: 0px;

}

.contents section {

	width: 100%;

	max-width: 1200px;

	margin: 0 auto;

	padding: 40px 10px;

}

.contents .txt_set {

	padding: 15px 10px 0px;

	display: flex;

	flex-direction: row;

	justify-content: center;

	align-items: flex-start;

}

.contents .txt_set p {

	margin: 0px;

}

.contents .txt_set img {

	padding: 0px 0px 15px;

	width: 80px;

	height: 80px;

	box-sizing: content-box;

}





/*フッター設定

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

footer {

	clear: both;

	background: #c59966;

	color: #fff;

	text-align: center;

	padding: 10px 0px;

}

footer a {

	color: #fff;

	text-decoration: none;

}

footer a:hover {

	color: #fff;

}



small {

	font-size: 12px;

}





/* ナビゲーション

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

nav.g_navi {

	width: 100%;

	height: 50px;

	position: relative;

	font-size: 15px;

	color: #666;

	z-index: 9999;

}

nav.g_navi a {

	color: #333;

	background: rgba(255, 255, 255, 0.9);

}



.drawer {

	display: flex;

	flex-direction: row;

	align-items: center;

	justify-content: space-between;

	position: relative;

	height: 50px;

	padding: 0 1em;

}



.navbar_ttl {

	display: flex;

	align-items: center;

	height: 100%;

	width: 60%;

	font-size: 20px;

	text-shadow: #fff 2px 2px;

}



.navbar_toggle {

	z-index: 9999;

}

.navbar_toggle_icon {

	position: relative;

	display: block;

	height: 2px;

	width: 30px;

	background: #808080;

	-webkit-transition: ease .5s;

	transition: ease .5s;

}

.navbar_toggle_icon:nth-child(1) {

	top: 0;

}

.navbar_toggle_icon:nth-child(2) {

	margin: 8px 0;

}

.navbar_toggle_icon:nth-child(3) {

	top: 0;

}

/*OPEN時の動き*/

.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {

	top: 10px;

	-webkit-transform: rotate(45deg);

	transform: rotate(45deg);

}

.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {

	-webkit-transform: translateY(-50%);

	transform: translateY(-50%);

	opacity: 0;

}

.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {

	top: -10px;

	-webkit-transform: rotate(-45deg);

	transform: rotate(-45deg);

}



.menu {

	-webkit-transform: translateX(-100%);

	transform: translateX(-100%);

	-webkit-transition: ease 0.5s;

	transition: ease 0.5s;

	z-index:1000;

	border-top: 1px solid #ccc;

}

.menu ul a {

	display: block;

	border-bottom: 1px solid #ccc;

	-webkit-transition: ease 0s;

	transition: ease 0s;

	z-index: 1000;

}

.menu ul li {

	padding: 0.75em;

	color: #666;

	font-size: 14px;

}

.menu ul a:hover li {

	background: #c59966;

	color: #fff;

}



/*OPEN時の動き*/

.menu.open {

	-webkit-transform: translateX(0);

	transform: translateX(0);

	overflow-y: auto;

	-webkit-overflow-scrolling: touch;

}



.main_img_area {

    width: 100%;

	height: 500px;

    background-image: url(../images/top_img3.jpg);

	background-repeat: no-repeat;

	background-size: cover;

	background-position: center;

	display: flex;

	justify-content: center;

	padding: 70px 0px 20px;

}

.main_img_area .txt_area {

	width: 100%;

	max-width: 1200px;

	box-sizing: border-box;

	display: flex;

	align-items: center;

}

.main_img_area .txt_area p {

	text-align: center;

}

p.catch_copy {

	color: #fff;

	font-size: 20px;

	line-height: 2;

	padding: 20px 0px;

	background: rgba(0, 0, 0, 0.3);

}

p.catch_copy span {

	display: inline-block;

}



.item_box {

	width: 100%;

	padding: 0px 10px 15px;

	display: flex;

	justify-content: center;

	align-items: center;

}

table.company {

	width: 98%px;

	border-collapse: separate;

	border-spacing: 3px;

	box-sizing: border-box;

	text-align: left;

	margin-bottom: 25px;

}

table.company tr {

}

table.company th {

	background: #999;

	color: #fff;

	padding: 4px 10px;

	font-weight: 400;

	white-space: nowrap;

	vertical-align: top;

}

table.company td {

	background: #f8f8f8;

	padding: 4px 10px;

	vertical-align: top;

}



form.toiawase div {

	display: flex;

	flex-direction: column;

	justify-content: center;

	align-items: flex-start;

	background: #fff;

	padding: 15px 15px 10px;

	margin: 0px 0px 4px;

}





form.toiawase {

	width: 100%;

	max-width: 600px;

}

form.toiawase label {

	display: block;

	min-width: 9em;

	width: 9em;

	margin: 0px 0px 5px;

	white-space: nowrap;

	margin-right: 1em;

}

form.toiawase input,

form.toiawase textarea {

	display: block;

	width: 100%;

	border: 1px solid #ddd;

	margin: 0px 0px 5px;

}



form.toiawase input[type=submit] {

	border: none;

	outline: none;

	display: block;

	line-height: 35px;

	width: 160px;

	text-align: center;

	color: #fff;

	background: #666;

	border-radius: 4px;

	cursor:pointer;

	box-sizing: content-box;

	transition:0.1s ease all;

	margin: 0px 0px 5px;

}

form.toiawase input[type=submit]:hover{

	opacity:0.6;

}







/* ボタン（共通）

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

.btn {

	padding: 5px 10px;

	font-size: 14px;

	letter-spacing: normal;

}



.contents:nth-of-type(even) {

	background: #fff;

}

.contents:nth-of-type(odd) {

	background: #f0f0f0;

}



	

/* PAGE TOP設定

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

#page-top {

	box-sizing: border-box;

	width: 50px;

	height: 50px;

	position: fixed;

	bottom: 15px;

	right: 15px;

	z-index: 1000;

}

#page-top a {

	text-decoration: none;

	text-align: center;

	display: block;

	color: #fff;

	width: 100%;

	height: 100%;

	border-radius: 6px;

	background: rgba(128, 128, 128, 0.7);

	position: relative;

}

#page-top a:hover {

	background: #ccc;

	color: #fff;

}



#page-top a::before {

	display: block;

    left: 24px;

	top: 15px;

    width: 3px;

    height: 19px;

    background: #fff;

	content: "";

	position: absolute;

}

#page-top a::after {

	display: block;

    left: 17px;

	top: 15px;

    width: 17px;

    height: 17px;

    border-top: 3px solid #fff;

    border-right: 3px solid #fff;

    -webkit-transform: rotate(315deg);

    transform: rotate(315deg);

	content: "";

	position: absolute;

}





/*フッターメニュー

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

/*ボックス全体*/

#footer_menu {

	display: none;

}

	



.sp_dn {

	display: none;

}











iframe.frame {

  overflow:hidden;

  overflow-x:hidden;

  overflow-y:hidden;

  height:100%;

  width:100%;

  position:relative;

  top:0px;

  left:0px;

  right:0px;

  bottom:0px;

}









/* 画面幅576px以上の設定

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

@media screen and (min-width:576px){

	

	body {

		font-size: 15px;

		line-height: 2.0;

	}

	header {

		text-align: left;

	}

	.main_img_area {

		height: 600px;

	}

	.contents {

	}

	.contents p {

		padding: 0px 20px 15px;

	}

	.contents h2 {

		clear: both;

		font-weight: 400;

		letter-spacing: 0.1em;

		font-size: 32px;

	}

	.contents h3 {

		font-size: 18px;

	}

	

	nav.g_navi {

		display: flex;

		flex-direction: row;

		justify-content: center;

		align-items: center;

		box-sizing: border-box;

	}

	nav.g_navi a {

		background: none;

	}

	.g_navi_inner {

		width: 100%;

		max-width: 1200px;

		display: flex;

		justify-content: space-between;

		align-items: center;

	}

	.drawer .navbar_toggle {

		display: none;

	}

	.drawer .navbar_ttl {

		display: flex;

		width: auto;

		height: 100%;

		align-items: center;

	}

	.menu {

		width: auto;

		max-width: 1200px;

		-webkit-transform: translateX(0);

		transform: translateX(0);

		border-top: none;

		box-sizing: border-box;

		overflow: hidden;

	}

	.menu ul {

		width: 100%;

		max-width: 1200px;

		height: 50px;

		display: flex;

		flex-wrap: wrap;

		justify-content: flex-start;

		align-items: flex-start;

		align-items: center;

		box-sizing: border-box;

	}

	.menu ul a {

		width : auto;

		height: 100%;

		box-sizing: border-box;

		border-bottom: none;

		line-height: 1.2;

		display: flex;

		justify-content: center;

		align-items: center;

	}

	.menu ul li {

		display: flex;

		justify-content: center;

		align-items: center;

		padding: 0 10px;

		box-sizing: border-box;

		text-align: center;

		height: 100%;

	}

	

	.main_img_area .txt_area p {

		font-size: 24px;

	}

	table.company {

		max-width: 700px;

	}

	

	

	form.toiawase div {

		display: flex;

		flex-direction: row;

		justify-content: center;

		align-items: center;

	}



	

	

	

	

}







/* 画面幅768px以上の設定

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

@media screen and (min-width:768px){

	header {

		height: px;	/*ブロックの高さ*/

	}

	nav.g_navi {

	    height: 60px;

	}

	.menu ul {

		height: 60px;

	}

	.contents p {

		font-size: 100%;

	}

	#footer_menu {

		max-width: 1200px;

		margin: 0px auto;

		display: flex;

		justify-content: space-between;

		align-items: flex-start;

		padding: 10px 10px;

		box-sizing: border-box;

	}

	#footer_menu ul {

		padding: 0px 10px;

	}

	#footer_menu ul li a:hover {

		text-decoration: underline;

	}

	small {

		font-size: 14px;

	}

	

	

	

	.sp_dn {

		display: block;

	}

	

	

	.drawer .navbar_ttl {

		font-size: 24px;

	}

	

	.contents section {

		padding: 60px 15px;

	}

	

	.main_img_area {

		height: 700px;

		padding: 80px 0px 20px;

	}

	.main_img_area .txt_area {

		width: 100%;

		padding-top: 0px;

	}

	.main_img_area .txt_area p {

		font-size: 24px;

		padding-left: 30px;

		text-align: left;

	}



	p.catch_copy {

		color: #F0F0F0;

		text-shadow: #0F0F0F 2px 2px 2px;

		background: none;

	}

	.contents .txt_set {

		padding: 15px 0px 0px;

		display: flex;

		flex-direction: column;

		justify-content: center;

		align-items: center;

	}

	.contents .txt_set img {

		padding: 0px 0px 15px;

		width: 120px;

		height: 120px;

		box-sizing: content-box;

	}

	
    .contents .txt_set02 {

        padding: 15px 0px 0px;

        display: flex;

        flex-direction: column;

        justify-content: center;

        align-items: center;

    }

    .contents .txt_set02 img {

        padding: 0px 0px 15px;

        width: 320px;

        height: auto;

        box-sizing: content-box;

    }

}







/* 画面幅992px以上の設定

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

@media screen and (min-width:992px){

	header {

		height: px;

		text-align: center;

	}

	/* PAGE TOP設定

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

	#page-top {

		margin: 0 3%;

	}

	

	.main_img_area .txt_area p {

		font-size: 28px;

		padding-left: 0px;

	}

	

	

}





/* 画面幅1200px以上の設定

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

@media screen and (min-width:1200px){

	.contents {

	}

	.contents section {

		padding: 70px 0px;

	}

}







/* Bootstrap上書き */

.row {

	margin-right: 0px;

	margin-left: 0px;

}




/* 2021.06.18追加

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





