@charset "UTF-8";

body {
  font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 10.5pt;
}

article,
section
{
  display: block;
}

a[href^="tel:"] {
	pointer-events: none;
	color:inherit;
	text-decoration:none;
}


@media print {
  *,
  *:before,
  *:after {
    color: #000 !important;
    text-shadow: none !important;
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
}

* {
	margin: 0;
	padding: 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}


#contact article.container {
	margin: 50px auto;

}
#contact .inner {
	clear:both;
	width: 90%;
	margin: 10px auto;
}
#contact .inner:after {
	content: "";
	clear: both;
	display: block;
}
@media screen and (max-width: 980px) {
	#contact article.container {
		margin: 10px auto;
	}
	#contact .inner {
		width: 85%;
		margin:20px auto;
	}
}

@media screen and (max-width: 768px) {
	#contact .inner {
		width: 90%;
		margin:20px auto;
	}
}
@media screen and (max-width: 640px) {
	#contact .inner {
		width: 94%;
		margin:20px auto;
	}
}
@media screen and (max-width: 480px) {
	#contact .inner {
		width: 98%;
		margin:20px auto;
	}
}



/*----------------------------------------------------
基本要素
----------------------------------------------------*/
#contact h1 {
	margin:10px 0;
	padding:0;
	line-height:1.5;
	color:#333;
	font-size: 3.0rem;
}

#contact p {
	margin:10px 0;
	padding:0;
	line-height:1.5;
	color:#333;
	font-size: 1.0rem;
}


/*----------------------------------------------------
装飾
----------------------------------------------------*/

#contact .require {
	color:#fff;
	background: #f00;
	margin: 0 0.25rem;
	padding:0.02rem 0.25rem 0.02rem 0.25rem;
	border-radius:4px;
	font-size: 0.75rem;
}
#contact .table-wrap .require {
	color:#fff;
	background: #f00;
	margin: 0;
	padding:0.5rem 0;
	border-radius:4px;
	font-size: 0.75rem;
	writing-mode: vertical-rl;
}
#contact .text-red {
	color:#F00;
}
#contact .text-small {
	font-size:0.85em;
	font-weight:normal;
}
#contact .text-small p {
	font-size:0.85em;
}
#contact .text-large {
	font-size:1.4em;
}
#contact .text-large p {
	font-size:1.4em;
}
#contact .text-large-x {
	font-size:1.4em;
}
#contact .text-large-x p {
	font-size:1.4em;
}
#contact .text-large-x {
	font-size:1.6em;
}
#contact .text-large-x p {
	font-size:1.6em;
}
#contact .text-large-xx {
	font-size:2.0em;
}
#contact .text-large-xx p {
	font-size:2.0em;
}
#contact .text-center {
	text-align:center;
}

/*----------------------------------------------------
パーツ
----------------------------------------------------*/
.waku {
	margin: 0.5rem;
	padding: 0.2rem 1rem;
	border: #ccc solid 4px;
	border-radius: 4px;
	display:inline-block;
	background: #fff;
}
.waku-commingsoon {
	margin: 0.5rem;
	padding: 20px 20px;
	border: #666 solid 5px;
	border-radius: 8px;
	background:#E6E6E6;
	display:inline-block;
}
.waku ul {
	margin: 1.0rem;
}
.waku li {
	margin: 0.5rem 0;
}
@media screen and (max-width: 480px) {
	.waku {
	width: 100%;
		margin: 10px auto;
	}
.waku ul , li {
	width: 100%;
}
}
/*----------------------------------------------------
フォーム関係
----------------------------------------------------*/
/*----------------------------------------------------
フォーム　input、textarea
----------------------------------------------------*/

/*入力フォームinput、textarea*/
#contact .form-text {
	/*widthについてはtdで設定*/
	font-size:1.2em;
	font-weight:bold; 
	border:1px solid #ccc;
	border-radius: 4px;
	padding:0.5em 5px;
	color: #000;
	background:#fff;
	margin:5px 0;
	line-height: 1.5;
}
#contact .form-textarea { 
	width: 100%;
	font-size:1.2em;
	font-weight:bold; 
	border:1px solid #ccc;
	border-radius: 4px;
	padding: 5px;
	margin:5px 0;
	color: #000;
	background:#fff;
	margin-bottom:10px;
}



#contact input[type="text"] {
  width:100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
/*入力フォームのあらかじめの色*/

#contact input:::-webkit-input-placeholder {
	color: #acacac;
	}
#contact input::-moz-placeholder {
	color: #acacac;
	}
    /* Webkit */
#contact input::-webkit-input-placeholder {
	color: #acacac;
	opacity: 1;
    }
    /* Firefox 18 以前 */
#contact input:-moz-placeholder {
	color: #acacac;
    }
    /* Firefox 19 以降 */
#contact input::-moz-placeholder {
	color: #acacac;
    }
    /* IE 10 以降 */
#contact input:-ms-input-placeholder {
	color: #acacac;
    }
#contact input:placeholder-shown {
	color: #acacac;
    }


/*入力フォームの入力時の背景色*/
#contact input:focus, select:focus, textarea:focus {
	background: #bde9ba;
}

/*----------------------------------------------------
フォーム　ラジオボタン・チェックボックス
----------------------------------------------------*/

/*ラジオボタン・チェックボックス*/

#contact input[type=radio], input[type=checkbox] {
	display: none;
}
/** チェックボックス **/
#contact .checkbox {
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	position: relative;
	display: inline-block;
	margin: 0 10px 8px 0;
	padding: 12px 12px 12px 42px;
	border-radius: 8px;
	background-color: #f6f7f8;
	vertical-align: middle;
	cursor: pointer;
	font-size:1.2em;
	color: #333;
	font-weight:bold;
}
#contact .checkbox:hover {
	background-color: #e2edd7;
}
#contact .checkbox:hover:after {
	border-color: #53b300;
}
#contact .checkbox:after {
	-webkit-transition: border-color 0.2s linear;
	transition: border-color 0.2s linear;
	position: absolute;
	top: 50%;
	left: 15px;
	display: block;
	margin-top: -10px;
	width: 1.2em;
	height: 1.2em;
	border: 2px solid #bbb;
	border-radius: 6px;
	content: '';
}


#contact .checkbox:before {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
	position: absolute;
	top: 50%;
	left: 21px;
	display: block;
	margin-top: -8px;
	width: 7px;
	height: 15px;
	border-right: 3px solid #53b300;
	border-bottom: 3px solid #53b300;
	content: '';
	opacity: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
#contact input[type=checkbox]:checked + .checkbox:before {
	opacity: 1;
}


/** ラジオボタン **/
#contact .radio {
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	position: relative;
	display: inline-block;
	margin: 0 10px 8px 0;
	padding: 12px 12px 12px 42px;
	border-radius: 8px;
	background-color: #f6f7f8;
	vertical-align: middle;
	cursor: pointer;
	font-size:1.2em;
	color: #333;
	font-weight:bold;
}
#contact .radio:hover {
	background-color: #e2edd7;
}
#contact .radio:hover:after {
	border-color: #53b300;
}
#contact .radio:after {
	-webkit-transition: border-color 0.2s linear;
	transition: border-color 0.2s linear;
	position: absolute;
	top: 50%;
	left: 15px;
	display: block;
	margin-top: -10px;
	width: 1.2em;
	height: 1.2em;
	border: 2px solid #bbb;
  border-radius: 50%;
	content: '';
}

#contact .radio:before {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
	position: absolute;
	top: 45.5%;
	left: 18px;
	display: block;
	margin-top: -5px;
	width: 0.85em;
	height: 0.85em;
	border-radius: 50%;
	background-color: #53b300;
	content: '';
	opacity: 0;
}
#contact input[type=radio]:checked + .radio:before {
	opacity: 1;
}




/** チェックボックスを横並び **/

input[type=checkbox] {
	display: none;
}
input[type="checkbox"].checkbox-yokonarabi:checked + label {
	background: #53b300;
	color: #ffffff;
}
.check_label:hover {
	background-color: #e2edd7;
}
.check_label {
	display: block;
white-space: nowrap;
	float: left;
	margin: 5px 5px;
	width: 20%;
	text-align: center;
	line-height: 45px;
	padding-left: 5px;
	padding-right: 5px;
	cursor: pointer;
	color: #333;
	font-weight: bold;
	font-size: 1.2em;
	background: #f6f7f8;
	border: #ccc solid 2px;
	border-radius: 5px;
}
@media screen and (max-width: 768px) {
.check_label {
	width: 40%;
	}
}
@media screen and (max-width: 640px) {
.check_label {
	width: 40%;
	}
}
@media screen and (max-width: 480px) {
.check_label {
	width: 47%;
	}
}
/*----------------------------------------------------
フォーム　セレクトボックス
----------------------------------------------------*/

/** セレクトボックスdivタグで包む **/
#contact .selectdiv {
	position: relative; 
	float: left;
	min-width: 200px;
}

/* IE11 hide native button */
#contact select::-ms-expand {
	display: none;
}

#contact .selectdiv:after {
	content: '<>';
	font: 19px "Consolas", monospace;
	color: #333;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	right: 11px;
	/*Adjust for position however you want*/	
	top: 18px;
	padding: 0 0 2px;
	border-bottom: 1px solid #999;
	/*left line */
	
	position: absolute;
	pointer-events: none;
}
/*入力時の背景色*/
#contact .selectdiv select:focus {
	background: #bde9ba;
}
#contact .selectdiv select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	max-width: 200px;
	height: 50px;
	border-radius:5px;
	float: right;
	margin: 5px 0px;
	padding: 0px 14px;
	font-size:1.2em;
	font-weight:bold;
	line-height: 1.75;
	color: #333;
	background-color:#FFF;
	background-image: none;
	border: 1px solid #cccccc;
	-ms-word-break: normal;
	word-break: normal;
}

/*----------------------------------------------------
フォーム　送信ボタン
----------------------------------------------------*/

/*送信ボタン*/
#contact .form-submit{
	margin-top:1em;
	width:100%;
	padding:0.2em;
	font-size:1.6em;
	font-weight:bold;
	letter-spacing: 1em;
	border:1px solid #f90;
	border-radius: 5px;
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 5px;
	color:#fff;
	background: #F90; /* for non-css3 browsers */
	box-shadow: 3px 3px 3px rgba(0,0,0,0.25);
	-moz-box-shadow: 3px 3px 3px rgba(0,0,0,0.25);
	-webkit-box-shadow: 3px 3px 3px rgba(0,0,0,0.25);}
#contact .form-submit:hover{
	background: #F60; /* for non-css3 browsers */
}
#contact .form-submit-box {
	width:50%;
	margin:0 auto;
}
@media screen and (max-width: 768px) {
#contact .form-submit-box {
	width:100%;
}
}


/*----------------------------------------------------
テーブル組スマホ最適
----------------------------------------------------*/
table.table-sp {
	width: 100%;
    border-collapse: collapse;
	margin:0 0 50px 0;
	}
table.table-sp tr {
	margin:0;
	}
table.table-sp th {
	width: 30%;
	text-align: left;
	font-weight:normal;
	margin: 0;
	padding: 10px;
	border: 1px solid #acacac;
	background: #e7e7e7;
	overflow: hidden;
	}
table.table-sp td {

	text-align: left;
	font-weight:normal;
	margin: 0;
	padding: 10px;
	border: 1px solid #acacac;
	overflow: hidden;
	}
/*widthについてはinputではなく、ここで設定*/
table.table-sp td input.form-text-short {
display: inline-block;
width: 20em;
height: auto;
max-width: 100%;
}
/*widthについてはinputではなく、ここで設定*/
table.table-sp td input.form-text-middle {
display: inline-block;
width: 40em;
height: auto;
max-width: 100%;
}

td.nowrap {
white-space: nowrap;
}

@media only screen and (max-width: 980px) { 
/*widthについてはinputではなく、ここで設定*/
table.table-sp td input.form-text-short {
width:100%;
}
/*widthについてはinputではなく、ここで設定*/
table.table-sp td input.form-text-middle {
width:100%;
}

}



@media only screen and (max-width: 768px) { 
	
table.table-sp table {
	width: 98%;
	margin:0 auto 0px auto;
		overflow: hidden;
	}
table.table-sp thead {
	display: none;
	}
	
table.table-sp tr {
	display:block;
	margin:0 auto 2px auto;
	border: 1px solid #333;
	}
table.table-sp th {
	display:block;
	background: #333;
	color: #fff;
		border: none;
	width: 100%;
}
table.table-sp th:first-child {
    background: #333;
    color: #fff;
    font-weight: bold;
    text-align: center;
  }
table.table-sp th:before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    margin-right: 10px;
  }
table.table-sp td {
	clear:both;
	display: inline-block;
	width: 100%;
	margin:0;
	padding:0.5em 0.5em 0.5em 0.5em;
	border: none;

	}
table.table-sp td:first-child {
    color: #fff;
    font-weight: bold;
    text-align: center;
  }
table.table-sp td:before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    margin-right: 10px;
  }
	/*widthについてはinputではなく、ここで設定*/
table.table-sp td input.form-text-short {
		width: 100%;
	}
	/*widthについてはinputではなく、ここで設定*/
table.table-sp td input.form-text-middle {
		width: 100%;
	}

}



/*----------------------------------------------------
テーブル組 横スクロール
----------------------------------------------------*/



.table-wrap {
overflow-x: scroll;
	margin: 50px 0;
}
table.table-scroll {
  width: 100%;
  min-width: 1480px;
  border-collapse: collapse;
}

table.table-scroll tr {
	margin:0;
	}
table.table-scroll th {
	text-align: left;
	font-weight:normal;
	margin: 0;
	padding: 10px;
	border: 1px solid #acacac;
	background: #e7e7e7;
	overflow: hidden;
	}
table.table-scroll td {
	width: 180px;
	text-align: left;
	font-weight:normal;
	margin: 0;
	padding: 10px;
	border: 1px solid #acacac;
	overflow: hidden;
	}
/*スクロールバー*/
.table-wrap::-webkit-scrollbar {
  width: 16px;
}
.table-wrap::-webkit-scrollbar-track {
  background-color: #fff;
}
.table-wrap::-webkit-scrollbar-thumb {
  background-color: #3760d0;
  border-radius: 1px;
}


@media only screen and (max-width: 1098px) {
table.table-scroll {
  width: 1480px;
	margin:2px 0;
}
table.table-scroll td {
	width: 180px;
	}
table.table-scroll td.td-wide {
	width: 240px;
	}
/*上書き　スクロールバー背景白*/
.table-wrap::-webkit-scrollbar-track {
  background-color: #ececec;
}

}

@media only screen and (max-width: 768px) {
table.table-scroll {
  width: 1480px;
	margin:2px 0;
}
table.table-scroll tr {
	margin:0 auto 2px auto;
	border: 1px solid #66;
	}
table.table-scroll th {
	background: #333;
	color: #fff;
	border: 1px solid #66;
}
table.table-scroll td {
	width: 280px;
	margin:0;
	padding:0.5em 0.5em 0.5em 0.5em;
	border: 1px solid #666;
	}
table.table-scroll td.td-wide {
	width: 360px;
	}

}