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

*, *:before, *:after {
	box-sizing: border-box;
}

/*　　WEBフォント
------------------------------------------------------*/


.gothic {font-family: 'Noto Sans JP', sans-serif; line-height: 1.2em;}
.mincho {font-family: 'Noto Serif JP', serif; line-height: 1.2em;}



/*　　いろいろ見た目
------------------------------------------------------*/

html, body{
	margin:0;
	padding:0;
	border:0;
	font-size: 20px;
	font-family:  'Noto Sans JP', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	line-height: 1.5em;
	color: #333;
	height:100%;
	background-image: url(img/back.jpg);
	background-repeat: no-repeat;
}



@media screen and (max-width: 768px){
	
html, body{
	font-size: 16px;
	background: none;

}

}


.highlight a:hover *{
	 filter: alpha(opacity=60);
	 -moz-opacity:0.6;
	 opacity:0.6;
	 -webkit-transition: all .3s;
	 transition: all .3s;
	 }
	 
	 
img {
	border: none;
}




#contents {
	width: 1100px;
	margin: -7px auto 10px;
	padding: 30px 40px 10px;
	text-align: justify;
	background-color: #FFF;
}




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

#contents {
	width: 98%;
	padding: 0px 10px;
}




}




a:link {color: #333;}
a:visited {color: #333;}
a:hover {color: #838B0D;}
a:active {color: #C36;}


.cb{
	/* floatを解除 */
	clear: both;
}





/*　　PCのみ表示、スマホのみ表示の切り替え
------------------------------------------------------*/

.pc {display:block;}
.sp {display:none;}

@media screen and (max-width: 640px) {
.pc {display:none;}
.sp {display:block;}
	}









/*　　h
-------------------------------------------------*/

h1 {width:100%; background-color:#06C; font-size: 14px; color: #FFF; margin: 0 auto;}
h1 span {display: block; text-align:center; margin: 0 auto;}

h2 {
	width: 80%;
	margin: 50px auto 5px;
	font-family: 'Noto Serif JP', serif; line-height: 1.2em;
	font-size: 34px;
	color: #C00;
	padding: 5px;
	text-align: center;
}



h3 {
  padding: .25em 0 .25em .75em;
  border-left: 6px solid #ccc;
  font-size: 26px;
}






@media only screen and (max-width: 768px) {
	
h1 {font-size: 12px;}


h2 {
	font-size: 26px;
	width: 90%;
	text-align: center;
	}
	
h3 {
  padding: .25em 0 .25em .5em;
  border-left: 6px solid #ccc;
  font-size: 20px;
}

}

/*　　ヘッダ
-------------------------------------------------*/


.header {
  position: relative;
  width: 1100px;
  margin: 0px auto ;
  text-align: left;
  padding: 0px;
}


.header div.tx{
	position: absolute;
    width: 100%;
    left: 30px; 
    top: calc(35% - 25px); 
    font-size: 75px;
	font-family: 'Noto Serif JP', serif; line-height: 1.2em;
	color: #FFF;
	letter-spacing: 0;
	filter: drop-shadow(3px 3px 2px rgba(0,0,0,0.6));

}


.header div.tx span{
  font-size: 24px;
}



@media only screen and (max-width: 640px) {

.header {
  width: 100%;
}


.header div.tx{
    left: 5px; 
    top: calc(37% - 25px); 
    font-size: 30px;
	filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.8));

}


.header div.tx span{
  font-size: 14px;
}


.header img{
	width:100%
	}
}







/*　Youtubeレスポンシブ
------------------------------------------------------*/

.movie-width {
	width: 80%;
	margin: 5px auto;
}



.movie-width-tbl {
	width: 100%;
	margin: 5px auto;
}



.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.movie-wrap iframe {
	position: absolute;
	top: 0;
	left: -1px;
	width: 989px;
	height: 100%;
}



@media screen and (max-width: 960px){
.movie-width {
	width: 100%;
	margin: 5px auto;
}

.movie-width-tbl {
	width: 100%;
	margin: 5px auto;
}
}







/*　チェックリスト
-------------------------------------------------*/


.check {
	font-size: 22px;
	line-height: 1.5em;
}


.check ul{
  padding: 0.5em 1em 0.5em 2.3em;
  position: relative;
}



.check ul li{
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none !important;/*ポチ消す*/
}

.check ul li:before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  content: "\f00c";
  position: absolute;
  left : 1em; /*左端からのアイコンまで*/
  color: #F93; /*アイコン色*/
}

@media only screen and (max-width:640px){
.check {
	font-size: 17px;
}

.check ul{
  padding: 0.5em 0.5em 0.5em 2.3em;
  position: relative;
}

	
}




/*　チェックリスト テーブル
-------------------------------------------------*/

.list-border {
	width: 90%;
	border: solid 2px #FFCC33;
	margin: 10px auto;
	}

.list {width: 100%; margin: 0 auto;}
.list th	{ width: 50%; text-align: left; font-weight: bold;}
.list td	{ width: 50%; text-align: left; font-weight: bold;}


@media only screen and (max-width:640px){
	
	.list-border {
		width: 97%;
		border: solid 1px #ffb03f;
		margin: 30px auto;
		}
	
	
	.list {width: 95%; margin: 0 auto;}

    .list th,
    .list td{
		width: 100%;
		margin: 0 auto;
        display: block;
		border-top: none;
    }
	
	.list td{
		margin-top: -42px;
    }
}






/*　チェックリスト2
------------------------------------------------------*/

.toi {
	width: 95%;
	margin: 10px auto;
	text-align: left;
	font-size: 20px;
	line-height: 1.5em;
}


.toi ul{
  border: solid 2px #339999;
  border-radius: 15px;
  padding: 0.5em 1em 0.5em 2.3em;
  position: relative;
  background-color: #FFFCF0;
}


.toi ul li {
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none!important;/*ポチ消す*/
}

.toi ul li:before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  content: "\f0a4";
  position: absolute;
  left : 1em; /*左端からのアイコンまで*/
  color: #339999; /*アイコン色*/
}


@media screen and (max-width: 768px){
.toi {
	width: 98%;
	font-size: 16px;
}

}
	
	
	
	


/*　チェックリスト3
------------------------------------------------------*/

.price {
	width: 80%;
	margin: 10px auto;
	text-align: left;
	font-size: 20px;
	line-height: 1.5em;
}


.price ul{
  /*  border: solid 2px #339999;  */
  padding: 0.5em 1em 0.5em 2.3em;
  position: relative;
}


.price ul li {
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none!important;/*ポチ消す*/
}

.price ul li:before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  content: "\f14a";
  position: absolute;
  left : 1em; /*左端からのアイコンまで*/
  color: #C30; /*アイコン色*/
}


@media screen and (max-width: 768px){
.price {
	width: 98%;
	font-size: 16px;
}

}
	
	
		
	
/*　　引用符
-------------------------------------------------*/

.cp_quote {
	position: relative;
	width: 90%;
	margin: 2em auto;
}


.cp_quote div.tx {
	margin: 0;
	padding: 0.5em 3em;
	color: #333333;
	border-left: 2px solid #666666;
}


.cp_quote div.tx:before,
.cp_quote div.tx:after {
		font-family: 'FontAwesome';
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	position: absolute;
	color: #999999;
}

.cp_quote div.tx:before {
		font-family: 'FontAwesome';
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	top: 0em;
	left: 2em;
	content: '\f10d';
}

.cp_quote div.tx:after {
	font-family: 'FontAwesome';
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	right: 1.2em;
	bottom: 0em;
	content: '\f10e';
}




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


.cp_quote {
	margin: 1em auto;
}


.cp_quote div.tx {
	padding: 0.5em 0.2em 0.5em 1em;
	text-indent: 1em;
}
.cp_quote div.tx:before {
	left: 0em;
}
.cp_quote div.tx:after {
	right: 0em;
}



}



.midashi {
	font-family: 'Noto Serif JP', sans-serif;
	font-size: 38px;
	line-height: 1.2em;
	color: #C00;
	text-align: center;
	width: 100%;
	padding: 10px 0;
}

@media only screen and (max-width:640px){

.midashi {
	font-family: 'Noto Serif JP', sans-serif;
	font-size: 28px;
	line-height: 1.2em;
	color: #C00;
	text-align: center;
	width: 100%;
	padding: 10px 0;
}


}



/*　　流れ
------------------------------------------------------*/

.flow_ttl {
	margin: 10px 0px;
	font-size: 18px;
	font-weight: bold;
	color: #369;
	
}

#flow {
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.2em;
	width: 80%;
}


#flow ol {
	margin: 0 auto;
	padding: 0;
	position: relative;
}

#flow ol li {
  line-height: 1.5;
  padding: .5em;
  list-style-type: none!important;/*ポチ消す*/
  font-size: 20px;
  font-weight: bold;
  color: #FF5B5B;
  border-radius: 10px;
}


#flow ol li p{
	margin: 0;
	padding-left: 1em;
	font-size: 18px;
	font-weight: normal;
	color: #333;
}


#flow li {
	padding: 10px;
	border: #FE8978 solid 2px;
}

#flow li+li {
	position: relative;
	margin-top: 23px;
}

#flow li+li:before {
	content: '';
	display: block;
	position: absolute;
	top: -25px;
	width: 100%;
	height: 20px;
	background: url(img/arrow.gif) no-repeat 50% 50%;
}


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

#flow {
	font-size: 16px;
	width: 97%;
}

#flow ol li {
  font-size: 16px;
}

#flow ol li p{
	font-size: 14px;
}


}





/*　　アニメーションボタン　お問い合わせ
------------------------------------------------------*/


.btn-contact {
  display: inline-block;
  width: 80%;
  text-align: center;
  font-size: 18px;
  color: #fff !important;

  font-weight: bold;
  text-decoration: none;
  line-height: 1.2em;
  
  text-shadow:1px 1px 2px #306d24, 0px 0px 2px #8394be, 0px 0px 1px #8e7ccc;
  
  background: #f8ffe8; /* Old browsers */
  background: -moz-linear-gradient(top,  #f8ffe8 0%, #b7df2d 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top,  #f8ffe8 0%,#b7df2d 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom,  #f8ffe8 0%,#b7df2d 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8ffe8', endColorstr='#b7df2d',GradientType=0 ); /* IE6-9 */

  
  /*   border: 2px solid #838B0D;   */
  border-radius: 4px;
  
  padding: 20px;
  margin: 50px auto 10px;
  position: relative;
}

.btn-contact span {
  position: relative;
  z-index: 1;
}

.btn-contact::before,
.btn-contact::after {
  content: "";
  display: block;
  
  background: #9cd157; /* Old browsers */
  background: -moz-linear-gradient(top,  #9cd157 0%, #61a300 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top,  #9cd157 0%,#61a300 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom,  #9cd157 0%,#61a300 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9cd157', endColorstr='#61a300',GradientType=0 ); /* IE6-9 */
  
  width: 51%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .3s;
  border-radius: 4px;
}

.btn-contact::before {
  left: 0;
}
.btn-contact::after {
  right: 0;
}

.btn-contact:hover:before,
.btn-contact:hover:after {
  width: 0;
  background-color: #fff;
}

.btn-contact:hover {
  color: #360 !important;
  text-shadow:1px 1px 2px #fff, 0px 0px 2px #fff, 0px 0px 1px #fff;
}




@media screen and (max-width: 960px)
and (max-width: 480px){
	.btn-contact { width: 95%; }
	
	
}





/*　　　よくある質問
-------------------------------------------------*/


.qaContainer {
	width: 95%;
	margin: 5px auto;
}

.qaContainer dt {
	padding: 10px 10px 10px 35px;
	border-radius: 5px;
	background: #cce6ff;
	text-indent: -27px;
	}

.qaContainer dt:before {
	content: "Ｑ";
	color: #039;
	font-weight: bold;
	margin-right: 7px;
	}

.qaContainer dd {
	margin: 20px 10px 40px 35px;
	text-indent: -27px;
	}

.qaContainer dd:before {
	content: "Ａ";
	color: #FF537E;
	font-weight: bold;
	margin-right: 7px;
	}


@media only screen and (max-width:768px){
.qaContainer {
	width: 99%;
}
	
}




/*　　　　フッター
-------------------------------------------------*/

.footer_width {
		background-color: #E6E6E6;
		margin: 0px auto;
		width: 100%;
		}

.footer	{  width: 100%; }
.footer	th	{ width: 48%; text-align: left; font-weight: normal; font-size: 18px;}
.footer	td	{ width: 52%; text-align: right; font-size: x-large;}

.footer a:link { color:#333; }

@media only screen and (max-width:768px){
	
	.footer	{ margin: 0 auto; }
	
    .footer th{
		width: 100%;
        display: block;
		border-top: none;
		font-size: small;
    }
	
    .footer td{
		width: 100%;
		text-align: left;
        display: block;
		border-top: none;
		font-size: large;
    }
}



.footer_copy {
	margin: 0px auto;
	padding: 10px 0px;
	text-align: center;
	font-size: 12px;
	line-height: 3em;
	letter-spacing: 0.05em;
	border-top: solid 1px;
}






/*　　　　文字サイズ
-------------------------------------------------*/
.tx11 {font-size: 11px;}
.tx12 {font-size: 12px;}
.tx13 {font-size: 13px;}
.tx14 {font-size: 14px;}
.tx15 {font-size: 15px;}
.tx16 {font-size: 16px;}
.tx17 {font-size: 17px;}
.tx18 {font-size: 18px;}
.tx19 {font-size: 19px;}
.tx20 {font-size: 20px;}
.tx21 {font-size: 21px;}
.tx22 {font-size: 22px;}
.tx23 {font-size: 23px;}
.tx24 {font-size: 24px;}
.tx25 {font-size: 25px;}
.tx26 {font-size: 26px;}
.tx27 {font-size: 27px;}
.tx28 {font-size: 28px;}
.tx29 {font-size: 29px;}
.tx30 {font-size: 30px;}


.tx_big {
	font-family: 'Noto Serif JP', serif;
	line-height: 1.2em;
	font-size: 34px;
}

@media only screen and (max-width:768px){
.tx_big {
	font-size: 26px;
}	
}

/*　　　　色
-------------------------------------------------*/
.red {color: #C00;}
.blue {color: #36C;}
.green {color: #396;}
.orange {color: #F60;}
.pink {color: #F39;}








/*　　お問い合わせタイトル
------------------------------------------------------*/

.form_ttl {
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	margin: 20px auto;
}

@media only screen and (max-width: 768px) {
.form_ttl {
		font-size: 18px;
}
}



/*　　お問い合わせテーブル
------------------------------------------------------*/


#contact table {
	width: 75%;
	border-collapse: collapse;
	font-size: 17px;
	margin: 0 auto;
}

#contact th.t_top {
    border-top: #e3e3e3 1px solid;
}

#contact th {
	border-bottom: #e3e3e3 1px solid;
	border-left: #e3e3e3 1px solid;
	text-align: left;
	background: #f7f7f7;
	padding: 10px 15px;
	font-weight: normal;
	text-align: center;
	width: 250px;
}

#contact td.t_top {
	border-top: #e3e3e3 1px solid;
}

#contact td {
	border-bottom: #e3e3e3 1px solid;
	border-right: #e3e3e3 1px solid;
	text-align: left;
	padding: 10px;
}

#contact input[type="text"],
textarea {
    padding: 0.3em;
    outline: none;
    border: 1px solid #DDD;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    font-size: 17px;
}


#contact input[type="text"]:focus,
texture:focus {
    box-shadow: 0 0 7px #3498db;
    border: 1px solid #3498db;
}

.tbox:focus {
    box-shadow: 0 0 7px #3498db;
    border: 1px solid #3498db;
}



input.push {
    border-radius: 0;   
    background: -moz-linear-gradient(top, #FFF 0%, #EEE);
    background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#EEE));
    border: 1px solid #DDD;
    color: #111;
    padding: 10px 30px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
	margin: 20px auto 40px;
}

input.push:hover {
    background: -moz-linear-gradient(top, #EFEFEF 0%, #EEE);
    background: -webkit-gradient(linear, left top, left bottom, from(#EFEFEF), to(#EEE));
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:#ccc;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:#ccc;
}
::placeholder{ /* Others */
 color:#ccc
}




@media only screen and (max-width: 768px) {
	
#contact table {
	width: 97%;
	border-collapse: collapse;
	font-size: 18px;
	margin: 0 auto;
}

#contact th.t_top {
    border: none;
	width: 97%;
	display: block;
}

#contact th {
    border: none;
	text-align: left;
	background: #F0F0F0;
	padding: 10px 15px;
	font-weight: normal;
	text-align: center;
	width: 97%;
	display: block;
}

#contact td.t_top {
    border: none;
	width: 97%;
	display: block;
}

#contact td {
    border: none;
	text-align: left;
	padding: 10px;
	width: 97%;
	display: block;
  
}
