body {
	margin: 0px;
	padding: 0px;
	}

*{
	padding:0;
	margin: 0;
}
@font-face {
  font-family: "HSMW3";
  src:
    url("font/dfhsmw3.woff2") format("woff2"),
    url("font/dfhsmw3.woff") format("woff");
}

@font-face {
  font-family: "Gotham";
  src:
    url("font/gotham.woff2") format("woff2"),
    url("font/gotham.woff") format("woff");
}
@font-face {
  font-family: 'NotoSansJP';
  src: url('fonts/NotoSansJP_new.woff2') format('woff2'),
       url('fonts/NotoSansJP_new.woff') format('woff');
}

@font-face {
  font-family: 'Orbitron';
  src: url('font/Orbitron-Regular.woff2') format('woff2'),
}

@font-face {
  font-family: 'koibumi';
  src: url('font/koibumi.woff2') format('woff2'),
}
@font-face {
    font-family: 'HakusyuGyosyo';
    src: url('font/hkgyokk.woff2') format('woff2'),
         url('font/hkgyokk.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

h1{
	font-size: 10pt;
	font-weight: normal;
}
h2{
	font-size: 10pt;
	font-weight: normal;
}

table    {
}
th       {
	color:#ffffff;
}
td       {
	color:#000;
	padding-left: 10px;
}

#header-line {
	height: 15px;
	width: 100%;
	color: #000;
}
#header {
	width: 100%;
	background-color: #FFF;
}

#top-out {
	width: 100%;
	text-align: center;
}

#top-in {
	width: 1000px;
	margin-right: auto;
	margin-left: auto;
}
#contents {
	width: 1000px;
	margin-right: auto;
	margin-left: auto;
	line-height: 200%;

}
#footer-bg {
	width: 90%;
	line-height: 200%;
	font-family:Gotham;
	font-size: 12pt;
	font-weight: bold;
	margin-right: auto;
	margin-left: auto;
	color: #000;
	

}
#footer-bg2 {
	width: 100%;
	line-height: 200%;
	font-family:Gotham;
	font-size: 14pt;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	clear: both;
	background-color: #0171BD;

}
#footer-r {
	width: 500px;
	line-height: 200%;
	font-family: NotoSansJP;
	font-size: 12pt;
	color: #666;
	float: right;
	margin: 5px;
	padding: 5px;
	text-align: right;
	clear: both;
}
#map {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}
#footer-access {
	width: 100%;
	line-height: 200%;
}
#footer-tel {
	clear: both;
	width: 1000px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	line-height: 200%;
	font-size: 14pt;
	color: #FFF;
}
#footer-logo {
	text-align: center;
	width: 100%;
}
.center {
	text-align: center;
	width: 100%;
}

.title {
	width: 100%;
	padding-top: 5px;
	font-size: 18pt;
	line-height: 200%;
	font-weight: bold;
	color: #8BC53F;
	text-align: center;
	text-decoration: underline;
}
.topics1 {
	padding: 5px;
	width: 950px;
	margin-bottom: 10px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
	margin-left: 10px;
}
.topics {
	height: 350px;
	width: 100%;
	overflow: auto;
}
.conte-right {
	float: right;
	width: 700px;
	padding-top: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
	font-size: 14pt;
	line-height: 200%;
}
.font1 {
	font-size: 12pt;
	font-weight: bold;
	color: #333;
}
.font2 {
	color: #000;
	font-size: 18pt;
}
.font3 {
	font-size: 250%;
	font-weight: bold;
	color: #36F;
	font-family:NotoSansJP;
}
.jukucho-name {
	font-size: 40pt;
	font-family:koibumi;
}
.font-index1 {
	font-size: 400%;
	color: #FFF;
	font-family:Orbitron;
	font-weight: normal;
}
.font-index2bk {
	font-size: 400%;
	color: #333;
	font-family:Orbitron;
	font-weight: normal;
}

.font-title {
	font-size: 500%;
	font-weight: bold;
	color: #666;
	font-family:Gotham;
}
.font-title2{
	font-size: 140%;
	font-weight: bold;
	color: #333;
}
.font-title3{
	font-size: 350%;
	font-weight: bold;
	color: #006;
	font-family:Gotham;

}
.bar {
	clear: both;
	width: 100%;
	margin-top: 10px;
	margin-bottom: 10px;
}
.pict-right {
	float: right;
	width: 445px;
	margin-left: 10px;
}
.company-pict {
	float: right;
	width: 450px;
	padding-left: 10px;
}
.contents2 {
	line-height: 300%;
	width: 100%;
}

#navi {
	width: 720px;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-right: auto;
	margin-left: auto;
	font-size: 14pt;
	font-weight: bold;
	font-family: NotoSansJP;
	float: right;

}

/* 通常ナビ */
.nav-btn {
  display: inline-block;
  position: relative;
  padding: 10px 18px;
  color: #000;
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 0.04em;
  transition: color 0.25s ease;
}

.nav-btn::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #000;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.25s ease;
}

.nav-btn:hover {
  color: #000;
}

.nav-btn:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* ───────────────
   お問い合わせボタン
   ─────────────── */
.contact-btn {
  position: relative;
  display: inline-block;
  padding: 12px 30px;
  background: #000;      /* 通常：黒 */
  color: #fff;           /* 通常：白文字 */
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.08em;
  border-radius: 4px;
  overflow: hidden;
}

/* フェード用レイヤー */
.contact-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #333;      /* ホバー時の濃いグレー */
  opacity: 0;
  transition: opacity 0.35s ease;
}

/* ホバー時：静かにフェード */
.contact-btn:hover::before {
  opacity: 1;
}

/* 文字を最前面に */
.contact-btn span {
  position: relative;
  z-index: 1;
}


.center-index {
	text-align: center;
	width: 100%;
	clear: both;
}
.top-conte {
	width: 800px;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 10px;
	margin-left: auto;
	text-align: left;
}
#navi2 {
	text-align: center;
	width: 100%;
	border-bottom-width: 5px;
	border-bottom-style: solid;
	border-bottom-color: #CCEE77;
	padding-bottom: 10px;
}
.fadeIn {
  opacity: 0;
  transition: 3s;
}
.fadeIn.is-show {
  opacity: 1;
}
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.fadeIn_right {
  opacity: 0;
  transform: translate(50%, 0);
  transition: 2s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.fadeIn_left {
  opacity: 0;
  transform: translate(-50%, 0);
  transition: 2s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.video-wrap {
  position: relative;
}
video {
  display: block;
}
.top-text1 {
	color: #333;
	font-family:NotoSansJP;
	font-size: 400%;
	position: absolute;
	left: 93px;
	top: 49px;
	z-index: 1;
	line-height: 200%;
	width: 849px;
}
.top-text2 {
	color: #333;
	font-size: 200%;
	font-family:NotoSansJP;
	position: absolute;
	left: 548px;
	top: 411px;
	z-index: 1;
	width: 514px;
}
.top-text3 {
	color: #333;
	font-size: 150%;
	font-family:NotoSansJP;
	position: absolute;
	left: 548px;
	top: 477px;
	z-index: 1;
	width: 514px;
}

.logo {
	width: 1000px;
	margin-right: auto;
	margin-left: auto;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #003792;
}
.fixed {
	position: fixed;
	top: 0;
	padding: 0;
	width: 100%;
	z-index: 9999;
	opacity: 0.9;/*透明度を設定*/
}

.photo-r {
	width: 500px;
	margin-left: 10px;
	float: right;
}
.left {
	text-align: left;
	width: 100%;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
}
.photo-l {
	float: left;
	width: 800px;
	margin-right: 15px;
}
.line {
	width: 100%;
	margin-top: 15px;
	margin-bottom: 15px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
	clear: both;
}
.line4 {
	width: 100%;
	margin-top: 15px;
	margin-bottom: 15px;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
	clear: both;
}

.contents100 {
	clear: both;
	width: 100%;
	line-height: 200%;
	background-attachment: scroll;
	background-image: url(images/service-bg.jpg);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 85%;
}

.contents101 {
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}
.contents90 {
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}
.contents90r {
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	text-align: right;
}

.contents80 {
	width: 80%;
	margin-right: auto;
	margin-left: auto;
}
.s2 {
	width: 67%;
	margin-right: auto;
	margin-left: auto;
}
.zoomIn img{
  transform: scale(1);
  transition: .5s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}

.zoomIn a:hover img{/*hoverした時の変化*/
  transform: scale(1.2);/*拡大の値を変更したい場合はこの数値を変更*/
}

/*　画像のマスク　*/

.mask{
    display: block;
    line-height: 0;/*行の高さを0にする*/
    overflow: hidden;/*拡大してはみ出る要素を隠す*/
}
.line2 {
	height: 3px;
	width: 100%;
	margin-top: 5px;
	padding-top: 10px;
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: #006;
}
.line3 {
	height: 3px;
	width: 100%;
	margin-top: 5px;
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: #C00;
}
.text400 {
	line-height: 400%;
	width: 100%;
}
.text250 {
	line-height: 250%;
	width: 100%;
}
#top-greeting-bg {
	background-attachment: scroll;
	background-repeat: no-repeat;
	background-position: right bottom;
	width: 100%;
	background-size: 65%;
}
#info {
	float: right;
	width: 80%;
}
   form {
      max-width: 100%;
      margin: auto;
      background: white;
      padding: 30px;
      border-radius: 10px;
      box-shadow: 0 0 10px rgba(0,0,0,0.1);
    }
    label {
      font-size: 1.2em;
      font-weight: bold;
      display: block;
      margin-top: 20px;
    }
    input[type="text"],
    input[type="email"],
    textarea {
      width: 100%;
      padding: 12px;
      font-size: 1.1em;
      font-weight: bold;
      margin-top: 5px;
      border: 2px solid #ccc;
      border-radius: 6px;
      box-sizing: border-box;
    }
    textarea {
      resize: vertical;
    }
    input[type="checkbox"] {
      transform: scale(1.5);
      margin-right: 10px;
    }
    input[type="submit"] {
      margin-top: 30px;
      padding: 15px 30px;
      font-size: 1.2em;
      font-weight: bold;
      background-color: #007BFF;
      color: white;
      border: none;
      border-radius: 6px;
      cursor: pointer;
      width: 100%;
    }
    input[type="submit"]:hover {
      background-color: #0056b3;
    }
#philosophy {

}
#golf {
	width: 100%;
	ackground-size: 100%
}
.golf {
	margin: 5px;
	padding: 5px;
	float: right;
	width: 400px;
	line-height: 250%;
}
