/*------------------------------------------
カスタムリセット
---------------------------------------------*/

* {
  font-family: var(--font-family-body);
  line-height: var(--line-height-normal);
}

/* 画像の初期設定 */
img {
  width: 100%;
  height: auto;
  /* width を変えても、元の比率のまま サイズが変わる！ */
  display: block;
  /* 画像の下にできる謎のスキマ */
}

html {
  font-size: 10px; /* 1rem = 10px に設定 */
  font-family: "Noto Sans JP", sans-serif;
  scroll-padding: 200px;
  scroll-behavior: smooth;
  }
  
  body{
  font-size: 1.6rem;
  margin:0!important;
  color: var(--basic-color);
  }
  .pc_only {
    display: flex;
  }
  .sp_only {
    display: none;
  }
/*スペース--------------------------------*/
@media screen and (min-width: 769px) {
  :root {
  --section-margin:12rem;
  --section-margin6:6rem;
  --section-margin5:5.0rem;
  --section-margin4:4rem;
  --section-margin3:3rem;
  --section-margin2:2rem;
  --section-margin1:1rem;
  --page-max-width: 100%;
  --page-min-width: 1000px;
  --page-padding:10%;
  --page-width:1920px;
  }
}
  @media screen and (max-width: 768px) {
    :root {
    --section-margin:6rem;
    --section-margin6:3rem;
    --section-margin5:2.4rem;
    --section-margin4:2rem;
    --section-margin3:1.5rem;
    --section-margin2:1rem;
    --section-margin1:0.5rem;
    --page-max-width: 100%;
    --page-min-width: 100%;
    --page-padding:4%;
    --page-width:100%;
    }
    .pc_only {
      display: none;
    }
    .sp_only {
      display: flex;
    }
}
/*font--------------------------------*/
:root {
--font-en: "Work Sans", sans-serif;
--font-jp: "Noto Sans JP", sans-serif;
}
/*カラー--------------------------------*/
:root {
--basic-color: #231815;
--base-color: #1d2088;
--background-color: #000;
--primary-color: #FFE200;
--secondary-color: #fefbe3;
--accent-color: #e4007f;
--color-orange:#f39800;
--color-paleorange:#f7b74d;
--color-blue:#2ea7e0;
--color-red:#e60012;
--color-beige: #F5F6E4;
--color-pink: #F1ABB7;
--color-brown: #E7CBAB;
--color-brown2: #945A24;
--color-title-brown: #482F14;
--color-green:#22ac38;
--color-brown3:#570000;
--color-white:#FFF;
--color-black:#000;
--color-gray:#666;
--service-color:#F6FAF6;
--recruit-color:#F6FAF6;
--news-color:#FFFEF7;
--feature-color:#F7F8F8;
--footer-color:#EFEFEF;
--about_message-color:#F7F8F8;
--history-color:#FFFEF7;
--luke-color:#FEF7FA;
--contact-color:#fcfcfc;
}

/*フォントサイズ--------------------------------*/

@media screen and (min-width: 751px) {
  :root {
  --font-xxx: 5.6rem;
  --font-xx: 3.2rem;
  --font-x: 2.4rem;
  --font-l: 2.0rem;
  --font-m: 1.8rem;
  --font-s: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  :root {
  --font-xxx: 36px;
  --font-xx: 24px;
  --font-x: 20px;
  --font-l: 16px;
  --font-m: 14px;
  --font-s: 12px;
  }
}

:root{
  --letter-spacing: 0.05em;
}
img {border:0;width:100%;}


a {
	
	text-decoration:none;

	
	}

a img {border:0}
a:hover {
	color:#000;
	opacity: 0.8;

}

ul{margin:0;padding:0;list-style-type: none;}
li{margin:0;padding:0;list-style-type: none;}



input[type="submit"],
input[type="button"] {
  
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="text"]{
	border: 1px solid #CCC;

	padding:10px;
	width:100%

}

input[type="tel"]{
	border: 1px solid #CCC;
	padding:10px;
	width:100%

}
input[type="password"] {
    border: 1px solid #CCC;
    padding: 10px;
    width: 100%;
}
input[type="email"] {
    border: 1px solid #CCC;
    padding: 10px;
    width: 100%;
}
input[type="text"]:focus {
  border: 1px solid #F00;
  outline: 0;
}
input#submit_button{
	-webkit-appearance: none;
	padding: 15px 40px;
    font-size: 1.2em;
    background-color: #F60;
    color: #FFF;
    border-style: none;
}
.btn {
	-webkit-appearance: none;
  padding: 12px 30px;
  color: #fff;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  border: 2px solid transparent; 
  border-radius: 4px;
  font-size: var(--font-m);
}
a.btn{
  display: inline-block;
}
.button {
  display: inline-block;
  width: 60%;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button {
  position: relative;
  z-index: 2;
  background-color: #F30;
  border: 2px solid #F30;
  font-size:18px;
  font-weight:bold;
  color: #fff;
  line-height: 50px;
}
.button:hover {
  background-color: #fff;
  border-color: #F30;
  color: #F30;
}
.button::before,
.button::after {
  top: 0;
  width: 50%;
  height: 100%;
  background-color: #F30;
}
.button::before {
  right: 0;
}
.button::after {
  left: 0;
}
.button:hover::before,
.button:hover::after {
  width: 0;
  background-color: #F30;
}


select {
    border: 1px solid #CCC;
    padding: 10px 10px;
    width: auto;
    color: #000;
}
textarea {
  font-family : inherit;
 font-size: 14px;
 color: #333;
  border: 1px solid #CCC;
    padding: 10px;
}

.tooltip2{
    position: relative;
    cursor: pointer;
    display: inline-block;
}
.tooltip2{
    margin:0;
    padding:0;
	color:#999999
}
.description2 {
    display: none;
    position: absolute;
    padding: 10px;
    font-size: 12px;
    line-height: 1.6em;
    color: #000;
	border: 1px solid #000;
    border-radius: 5px;
    background: #FFF;
    width: 200px;
}
.description2:before {
    content: "";
    position: absolute;
    top: 0%;
    right: 95%;

    border-top: 15px solid #000;
    margin-left: -15px;
    transform: rotateZ(90deg);
}
.tooltip2:hover .description2{
    display: inline-block;
    top: -5px;
    left: 30px;
	
}

@media screen and (min-width:641px) {
	.sp{
		display: none;
	}
}
@media screen and (max-width:640px) {
	.pc{
		display: none;
	}
}