@charset "utf-8";
@import "reset.css";

@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");
@import url('https://fonts.googleapis.com/css2?family=Merriweather+Sans:ital,wght@0,300..800;1,300..800&family=Noto+Sans+JP:wght@100..900&family=Saira+Condensed:wght@100;200;300;400;500;600;700;800;900&display=swap');



@import url("templates.css") print, screen and (orientation: landscape);/*_sp横向き*/
@import url("templates.css") print, screen and (min-width: 900px);
@import url("templates_sp.css") screen and (max-width: 899px);/*_sp*/
@import url("templates.css") print, screen and (min-width: 900px);

@import url("style_sp.css") print, screen and (orientation: landscape);/*_sp横向き*/
@import url("style_sp.css") screen and (max-width: 899px);/*_sp*/
@import url("style.css") print, screen and (min-width: 900px);


@import url("style_ham.css") ;/*PC・SP共通　ハンバーガーメニュー*/



/*==================================================
PC・SP　共通パーツ
===================================*/


/****************
LOADINGアニメーション　※要script設定
***********************/
.loading {
  position: fixed;
  z-index: 99999;
  width: 100%;
  height: 100vh;
  margin: 0;
  padding: 0;
  /*background: #000;*/
  background: rgba(0,0,0,0.8);
}
.loading.hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 500ms;
}
.loading .circle {
display: block;
  position: relative;
  top: calc( 50% - 0px );
  margin: 0 auto;
  width: 70px;/*140*/
  height: 140px;/*280*/
  aspect-ratio: 1;
  
  background-image: url("../image/templates/stmark_dark.png");
  background-size: contain;
  background: animation: blink 0.5s ease-in-out infinite alternate;
  background-repeat: no-repeat;
  
  /**サークルの場合**/
  /*aspect-ratio: 1;
  border-radius: 50%;
  background: 
    radial-gradient(farthest-side,#CFAC68 94%,#0000) top/3px 3px no-repeat,
    conic-gradient(#0000 30%,#CFAC68);
  -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 0);
  animation: l13 1s infinite linear;
  */
}/*青#0072BF*/
@keyframes l13{ 
  100%{transform: rotate(1turn)}
}
@keyframes blink{
    0% {opacity:0.3;}
    100% {opacity:1;}
}
.circle{/*blinking*/
    animation:blink 0.5s ease-in-out infinite alternate;
}



/****************
マーカー　
***********************/

.linemarker.active{
color: #000;
background-position: -100%;
 /*   background-position: -100% .5em;*/
}

.linemarker {
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(246,201,19) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(246,201,19) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(246,201,19) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(246,201,19) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(246,201,19) 50%);
    background-repeat: repeat-x;
    background-size: 200% 2.0em;
/*    background-position: 0 1.0em;*/
    transition: all 2s ease;
    line-height:1.4em;
}







/****************
フォーム用　
***********************/

.waku01{
font-size: calc(15 / 16 * 1rem);
	border:1px solid #FFF;
    background-color: #2B2B2B;
    padding:2% 2% 2% 2%;
	width:100%;
	border-radius: 5px;
	}  


.inquiry th {
 text-align: left;
 padding: 2%;
 width: 26%;
 border-top: 1px solid #333;
 border-bottom: 1px solid #333;
 vertical-align: middle;
}
.inquiry td {
 width: 66%;	
 padding: 2%;
 border-top: 1px solid #333;
 border-bottom: 1px solid #333;
 vertical-align: middle;

}
/* 必須の調整 */
.haveto {
   font-size: calc(14 / 16 * 1rem);
   padding: 5px;
/*   background: #ff0000;*/
   border: solid 1px #D93600; 
   color: #D93600;
   border-radius: 2px;
   margin-right: 2px;
   background-color:#FFF;
}
/* 任意の調整 */
.any {
   font-size: calc(14 / 16 * 1rem);
   padding: 5px;
   border: solid 1px #93c9ff; 
   color: #93c9ff;
/*   background: #93c9ff;*/
   border-radius: 2px;
   margin-right: 2px;
   background-color:#FFF;   
}


/* スマホ*/
@media screen and (max-width: 899px) {
.inquiry {
width: 100%!important;
}

.inquiry th, .inquiry td {
display:block;
width: 100%!important;
/*border-top: none!important;*/
}
.inquiry tr:first-child th {
border-top: 1px solid #333;!important;
}
.soushinbtn{
width:80%!important;
font-size: 100%!important;
}
}



.inquiry textarea,
.inquiry input[type="text"],
.inquiry input[type="tel"],
.inquiry input[type='email']  {
	width: 96%;

}






input.btn {
	font-family:'Noto Sans JP', sans-serif;
	font-size: calc(16 / 16 * 1rem);
	font-weight:500;
	background-color: #FFF;
	color: #000;
	border-radius: 5px;
	display: inline-block;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	padding-top: 8px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 20px;
}
#btn_box {
	text-align: center;
	clear: both;
}



.checkbox-input{
}
.checkbox-parts{
}
.checkbox-parts::before{
}
.checkbox-input:checked + .checkbox-parts{
  color: #d01137;
}
.checkbox-input:checked + .checkbox-parts::after{

}



.radio-input{
}
.radio-input + label{
}
.radio-input + label::before{
}
.radio-input:checked + label{
  color: #d01137;
}
.radio-input:checked + label::after{
}