body{
    font-size: 14px;
    background-color: #FFF;
    margin: 0px;
    padding: 0px;
    position: relative; /*親要素*/
    display: flex;	/*フッター下固定用*/
    flex-flow: column;	/*フッター下固定用*/
    min-height: 100vh;	/*フッター下固定用*/
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}


/* LOADING */
/* ローディングアニメーション */
.spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform-origin: center;
          transform-origin: center;
  width: 120px;
  height: 120px;
}
 
/* Loading テキスト */
.spinner span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 12px;
}

.spinner.type1 {
  border-radius: 50%;
  border-width: 8px;
  border-style: solid;
  border-color: #fff rgba(255, 255, 255, 0.12) rgba(255, 255, 255, 0.12);
  /* ローディング要素のアニメーションを指定 */
  -webkit-animation: spinner1_1 1.5s infinite linear forwards;
          animation: spinner1_1 1.5s infinite linear forwards;
}
.spinner.type1 span {
  /* Loading テキストのアニメーションを指定 */
  animation: spinner_loading_text 1.5s infinite linear forwards reverse;
}
 
/* ローディング要素のアニメーション内容 */
@-webkit-keyframes spinner1_1 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
 
@keyframes spinner1_1 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
 
/* Loading テキストのアニメーション内容 */
@-webkit-keyframes spinner_loading_text {
  0% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}

.box{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  -webkit-transition: all 1.2s ease; /* 1.2秒でフェードアウト */
          transition: all 1.2s ease;
  color: #fff; /* ローディングアニメーションカラー */
  background-color: #333; /* 背景カラー */
}

.box.loaded{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}


@keyframes spinner_loading_text {
  0% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}


#wrapper{
	width:70%;
	margin:0 auto;
}
.float_clear {
	clear:both;
	z-index:98;
}


#logoarea{
    width: 160px;
    height: 36px;
    position: absolute;
    right: 15%;
    top: 5%;
    z-index: 999;
    background-image: url(img/logo.png);
    background-size: 100%;
    background-repeat: no-repeat;
}





#contents{
    margin: 40px 5% 40px 30%;
    width: 65%;
    padding: 40px 0px;
    text-align: center;
	z-index:9999;
}


#contents_bg{
    width: 100%;
    z-index: 0;
    background-color: #FFEFCB;
}





.top_image{
  position: relative;
  width: 75%;
  min-height: 100vh;
  background: url("img/main_image.jpg")
    center / cover;
	padding-left:25%;
}

#side{
    position: absolute;
    top: 0px;
    width: 25%;
    left: 0px;
    background-color: rgba(255,255,255,0.75);
    z-index: 999;
    height: 100%;
}



.iframe-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%; 
 overflow-x: auto;
	-webkit-overflow-scrolling: touch; 
}
.iframe-wrap iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:none;
    display:block;
}



#footer{
    margin-top: 100px;
    width: 65%;
    margin-left: 30%;
    position: absolute;
    bottom: 0;
    text-align: center;	
}

#copy{
    height:50px;
}

dl, dt, dd {
    margin : 0;
    padding : 0;
    text-align: left;
    font-size: 16px;
    line-height: 25px;
}

dl {
    /* dlの背景色をdt用に使う。区切り線はdtの上部に持たせる */
    background-color : #CACACA;
    /* dlの上部線はなくし，dtとddの上部線をdlの上部線のように見せる */
    border-width : 0 1px 1px 1px;
    border-style : solid;
    border-color : black;
    width  : 100%;
}

dt {
  float : left;
  clear : both;
  width : 150px;
  
  border-width : 1px 0 0 0; /* 上線だけ */
  border-style : solid;
  border-color : black;

  font-weight : bold;
  padding : 5px;
}

dd {
  /* dtの幅だけ横にずらしておく */
  margin-left : 150px;
  
  /* dlやdtとは異なった背景色を用いる */
  background-color : #FFF;
  
  border-width : 1px 0 0 0px; /* 上線と，dt・ddの左右間の区切り */
  border-style : solid;
  border-color : black;

  padding : 5px;
}






.takatrakaihatsu{
    width: 30%;
   margin:40px 0 40px 45%;

}

.top_logo {
	position: absolute;
    width: 10%;
	top: 15%;
	right:32.5%;

}


.top_title{
	position: absolute;
    width: 40%;
	top: 50%;
	right:17.5%;
}

.scloll_dwn{
	position: absolute;
    width: 40%;
	top: 50%;
	right:17.5%;
}

.title{
    font-size: 25px;
    font-weight: bold;
    border-bottom: 1px solid #BDBDBD;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.title_english{
    font-size: 20px;
    color: #666666;
	margin-bottom: 50px;
}

.rinen_txt{

    font-size: 16px;
    line-height: 25px;
}

#map {
    width: 100%;
    height: 400px;
    margin-bottom: 20px;   
 }

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
	z-index: 9999;
}
#page-top a {
    background: #666;
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 30px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-top a:hover {
    text-decoration: none;
    background: #999;
}


/*スクロールボタンの指定*/
.scroll_dwn {
  position: absolute;
  width: 75%;/*横の位置調整*/
  bottom: 0;
  text-align: center;
}
.scroll_dwn a {
  position: relative;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  padding: 0 0 50px;
  /*矢印を作成する*/
}
.scroll_dwn a:before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  left: 0;
  right: 0;
  bottom: 25px;
  margin: auto;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  animation: move 2s infinite;
}

/*矢印をアニメーションする*/
@keyframes move {
  0% {
    transform: rotate(45deg) translate(0, 0);
  }
  20% {
    transform: rotate(45deg) translate(10px, 10px);
  }
  40% {
    transform: rotate(45deg) translate(0, 0);
  }
}

.btn_area{
	margin:50px 0;
}

.btn_area a{
	color: #FFF　!important;
}





.contact_btn{
    text-decoration: none;
    color: #000;
    transition: .4s;
    text-align: center;
    padding-top: 1em;
    padding-bottom: 1em;
    padding-right: 2em;
    padding-left: 2em;
    margin: 40px auto;
    background-color: #FACD34;
    font-weight: bold;
}



.contact_btn:hover {
	color: #FFF !important;
	background-color: #000;
}

#formWrap {
    width: 100%;
    margin: 0 auto;
    color: #555;
    line-height: 120%;
    text-align: left;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
	
}
table.formTable td,table.formTable th{
	border:1px solid #ccc;
	padding:10px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;
}

.formTable input[type='text'] {
	font: 15px/24px sans-serif;
	box-sizing: border-box;
	width: 100%;
	margin: 8px 0;
	padding: 10px 22px;
	transition: 0.3s;
	border: 1px solid #1b2538;
	border-radius: 4px;
	outline: none;
}

.formTable input[type=text]:focus {
	border-color: #da3c41;
}
.formTable input[type=text] {
	padding-left: 40px;
}

.form_name,.form_tel,.form_mail{
    background-repeat: no-repeat;
    background-position: 10px center;
}

.form_name{
    background-image: url(img/icon_name.png);
}

.form_tel{
	background-image: url(img/icon_tel.png);
}

.form_mail{
	background-image: url(img/icon_mail2.png);
}




.contact_txt{
	margin-bottom: 100px;
}

/*スマホここから*/
@media only screen and (max-width: 670px) {

#wrapper{
	width:90%;
	margin:0 auto;
}

#side{
	position:static;
	margin-top:0px;
	margin-left:0;
	width:200px;
}
	
	
#contents{
	margin: 0 2%;
	padding-top:30px;
	width:96%;
	z-index:9999;

}

	
	
	
.top_logo {
	position: absolute;
    width: 30%;
	top: 20%;
	right:35%;

}


.top_title{
	position: absolute;
    width: 70%;
	top: 60%;
	right:15%;
}

/*スクロールボタンの指定*/
.scroll_dwn {
  position: absolute;
  width: 100%;/*横の位置調整*/
  bottom: 0px;
  text-align: center;
}
	
	
	.top_image{
	margin-top:-110px;
    position: relative;
    width: 100%;
    min-height: 100vh;
    background-position: center bottom;
    background-image: url("img/main_image.jpg");
    padding-left: 0;
    background-size: auto 120%;
}
	
	.takatrakaihatsu{
    width: 50%;
   margin:40px auto;

}
	
	
	
dl{
    border-bottom: 1px solid #000;
    width: 90%;
    margin: 0 auto;
    font-size: 16px;
    text-align: left;

}
dl dt{
    width: 90%;
    border-top: 1px solid #000;
    margin: 0 0%;
    padding: 10px 5%;
    float: left;
    clear: left;
    font-weight: bold;
	background-color : #CACACA;
    
}
dl dd{
	width: 90%;
    margin: 0 0%;
    padding: 10px 5%;
    border-top: 1px solid #FFF3D6;
	
}
	

	
#logoarea{
    width: 160px;
    height: 36px;
    position: absolute;
    right: 1%;
    top: 1%;
    z-index: 999;
    background-image: url(img/logo_wh.png);
    background-size: 100%;
    background-repeat: no-repeat;
}
	
	#formWrap {
	width:95%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
input[type="text"], textarea {
	width:80%;
	padding:5px;
	font-size:110%;
	display:block;
}
input[type="submit"], input[type="reset"], input[type="button"] {
	display:block;
	width:100%;
	height:40px;
	}
	
#contents{
  
	z-index:0;
}
	
	#footer{
    margin-top: 100px;
    width: 100%;
    margin-left: 0%;
   }
	
		
	
}