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


/*--------------------------------------------
  BASE
---------------------------------------------*/

/*==========* デフォルト指定の初期化 *============= */

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

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
	list-style: none;
	font-weight: normal;
	font-style: normal;
}

img{
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	list-style: none;
	font-weight: normal;
	font-style: normal;
}

dl, dt, dd{
	border-collapse: collapse;
	border-spacing: 0; }
table{
	/*border-collapse: collapse;*/
	border-spacing: 0; }
	


/*==========* 基本設定 *============= */
html { scroll-behavior: smooth;}

body {
	font-family: "Shippori Mincho", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 16px;
	color:#fff;
	line-height:1.6;
	font-weight: 400;
	font-style: normal;
	background: #000;
}



/*==========* clearfix *==========*/
.clearfix:after {
  content: "."; 
  display: block; 
  height: 0; 
  clear: both; 
  visibility: hidden;
}

.clearfix { display: inline-table; }

/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

/*.ie7_clear{clear:both; font-size:0;}*/
.clear7{font-size:0; clear:both;}
.clear{clear:both;}

/*==========* Link *============= */
a:link{ 
	color:#fff;
	text-decoration:none;
    transition:0.8s;
}

a:visited { color:#fff; text-decoration:none;}
a:hover{ color:#fff; text-decoration:none;}
a:active {color:#fff; text-decoration:none;}

/*==========* img *============= */
a img { transition:0.8s; }
a:hover img{
	opacity:0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";
}

.sp{display:none;}
.tab{display:none;}


/*
.homemade-apple-regular {
  font-family: "Homemade Apple", cursive;
  font-weight: 400;
  font-style: normal;
}

*/

.main_contents { width: 100%; height: 100vh; position: relative; }
.main_contents_bg,.main_contents_inner { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1;}
.main_contents_inner { z-index: 2; display: none; }
.main_contents_inner2 { width: 100%; height: 100%; display: flex; margin: 0 auto; flex-flow: column;}

footer { height: 120px; line-height: 120px; width: 100%; box-sizing: border-box; padding: 0 50px; font-size: 14px; }
footer a { color: #fff; }
.footer_inner { width: 100%; display: flex; justify-content: space-between; }
.contact_area { text-align: right; font-size: 18px; display: flex; }
.btn_director a { position: relative; }
.btn_director a::after { position: absolute; left: 0; content: ''; width: 100%; height: 1px; background: #fff; bottom: -3px; transform: scale(0, 1); transform-origin: right top; transition: transform 0.3s; }
.btn_director a:hover::after { transform: scale(1, 1); transform-origin: left top;}
.btn_mail {display: flex;}
.btn_mail img { width: 20px; }
.btn_mail a { display: inline-block;
  text-decoration: none;
  border: 1px solid #fff;
  overflow: hidden;
  position: relative;
  transition: .8s;
  border-radius: 25px;
  width: 50px;
  height: 50px;
  position: relative;
  top: 18px;
  margin: 0 0 0 20px; }

.btn_mail a:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 50px;
  height: 50px;
  background-color: rgba(0,0,0,.8);
  border-radius: 50%;
  z-index: -1;
  transform: scale(0);
  transition: .8s;
}

.btn_mail a:hover {
  transition: .8s;
  border: 1px solid rgba(0,0,0,.8);
}

.btn_mail a:hover:before {
  transition: .6s;
  transform: scale(10);
}
.btn_mail a img { display: block; position: absolute ; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.btn_mail a:hover img { opacity: 1; }

.contents_txt { height: calc(100% - 130px); width: 80%; max-width: 1100px; margin: 0 auto;}
.contents_txt_inner { width: 100%; height: 100%; display: flex; flex-wrap: nowrap; align-items:center; }
.contents_tit { width: 30%; }
.contents_tit h1 img { width: 175px; }
.contents_txt2 { width: 70%; }
.contents_txt2 h2 { font-family: "Homemade Apple", cursive, serif ; font-size: 48px; }
.contents_txt2 h3 { font-size: 24px; margin: -10px 0 40px; }
.contents_txt2 p { line-height: 2; }

.sp_logo { display: none; }


@media (max-width: 1250px) {
	
.contents_tit { width: 260px; text-align:center; }
.contents_tit h1 img { width: 140px; }
.contents_txt2 { width: calc(100% - 260px); }
.contents_txt2 h2 { font-family: "Homemade Apple", cursive, serif ; font-size: clamp(1.8rem, calc(1.25vw + 1.5rem), 3.2rem);/* 最小1.8rem | SP:2rem | TB:2.5rem | PC:3rem | 最大3.2rem */ }
.contents_txt2 h3 {  font-size: clamp(1rem, calc(1vw + 1.5rem), 1.4rem); margin: -10px 0 40px; }
.contents_txt2 p { line-height: 2; font-size: 14px; overflow: auto;}


}

@media (max-width: 860px) {
	
.main_contents_inner { position: relative; height: auto;}
.sp_logo { display: flex; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; flex-wrap: nowrap; align-items:center; justify-content: center; }
.sp_logo img { width: 140px; }

.contents_txt { display: block; padding: 8vh 0 0; box-sizing: border-box;}
.contents_txt_inner { display: block;}	
.contents_tit { width: 100%; margin: 0 0 50px; }
.contents_tit h1 img { width: 140px; display: none; }
.contents_txt2 { width: 100%; }
.contents_txt2 h2 { text-align: center;  }
.contents_txt2 h3 {  text-align: center; margin: 0 0 30px; }
.contents_txt2 p { width: 100%; max-width: 600px; margin: 0 auto; box-sizing: border-box; }

}


@media (max-width: 500px) {


footer { height: 120px; line-height: 1.4; }
.footer_inner { width: 100%; display: flex; flex-wrap: wrap;  }
.copyright { text-align: center; order :2; width: 100%; font-size: 12px; }
.contact_area { order :1; width: 100%; text-align: center; font-size: 13px; display: flex; line-height: 84px; justify-content: center; }


.contents_txt { height: calc(100% - 120px); padding: 6vh 0 0;}

.contents_tit { width: 100%; margin: 0 0 20px; }
.contents_tit h1 img { width: 100px; }
.contents_txt2 { width: 100%; }
.contents_txt2 h2 { text-align: center; font-size: 1.5rem;}
.contents_txt2 h3 { text-align: center; font-size: 1rem; margin: 0 0 20px; }
.contents_txt2 p { font-size: 13px;}

}

