@charset "utf-8";
:root {
  --bs-light: #E4DFD3;
  --bs-primary:#CA2952;
  --d-pink:#CA2952;
  --green: #63B180;
  --orange: #FF6600;
  --dark: #FF6600;
  --shoeiso: #63B180;
  --care: #996600;
  --sun_day: #993399;
  --kanasago: #0099CC;
  --recruit: #666666;
  --serif:"Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  --vw: 1vw;
}

.btn-primary,.btn-primary:visited{
background-color:var(--d-pink)!important;
color:#FFFFFF!important;
border:solid 1px var(--d-pink)!important;
border-radius:1.5em!important;}
.btn-primary:hover{
background-color:#fff!important;
color:var(--d-pink)!important;}
.bg-pink{
background-color:var(--d-pink);}
.tx-pink{
color:var(--d-pink);}
.btn.bg-pink{
background-color:var(--d-pink);
text-decoration:none;
	border: 2px solid var(--d-pink);
	color:#FFFFFF!important;
	margin-top:0.5em;
}
.btn.bg-pink:hover{
background-color:#fff;
color:var(--d-pink)!important;
}


*{
	margin:0;
	padding:0;
}
body{
	text-align:justify;
	letter-specing:0.1em;
	font-family:-apple-system;
	background-color:#FFF;
	font-size:120%;
	line-height:1.7em;
	container-type: inline-size;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	overflow-y: scroll;
	
}
nav a,nav a:visited{
	color: #000000!important;
	text-decoration: none;
    display: block;
}
a{
  transition : all 0.7s ease 0s;
  line-height:1.2em;
  cursor: pointer;
  }
h1,h2,h3,h4,h5,h6 {
line-height:1.2em;
}

h1{
  font-family:  var(--serif)!important;
  color:var(--d-pink)!important;
	font-size: clamp(35px, 4vw,55px);
	text-align:center;
	line-height:1em;
}
h1 span{
	display:block;
	font-size: 70%;
	line-height: normal;
}

h2{
	color:#fff;
	background-image: url(../img/h2.jpg);
	background-position: center;
  font-family:  var(--serif)!important;
	min-height:100px;
	text-align:center;
	font-size:2.5em;
	font-size: clamp(30px, 3.5vw,45px);
	width:100vw;
	margin-left: calc(50% - 50vw);
	background-repeat: repeat-x;
	letter-spacing:0.2em;
	margin-bottom:1em;
}
h3{
  color:var(--d-pink)!important;
	font-size: clamp(25px, 2.8vw,35px);
}
#sub h3{
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color:var(--d-pink);
	margin-top: 2em;
	margin-bottom: 0.5em;
	border-bottom-color: var(--d-pink);
	 border-top: solid 3px var(--d-pink);
  border-bottom: solid 3px var(--d-pink);
	padding-top: 0.3em;
	padding-bottom: 0.3em;
}
h4{
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: var(--d-pink);
}
#sub h4{
margin-top:2em;}


#sub article{
padding-top:3em;}
#sub article.cat_serv{
padding-top:1em;}
article{
margin-bottom:5em;}


fieldset{
background-color:var(--bs-light);
	border-radius:0.5em;
	margin-top:1.5em;
	border:none;
	text-align:center!important;
	padding-top: 1.5em;
	padding-right: 1em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	font-size:0.9em;
}
fieldset legend{
	margin-top:-2em;
	font-size:0.9em;
text-align:center;
line-height:1em;}
fieldset legend span{
	color:#FFFFFF;
background-color:var(--d-pink);
	border-radius:0.4em;
	width:100%;
	line-height:1em;
	padding-top: 0.2em;
	padding-right: 1em;
	padding-bottom: 0.2em;
	padding-left: 1em;
}
fieldset p{
margin-bottom:0.2em;
margin-top:0;
padding:0;
line-height:1.2em;
}
fieldset a.btn {
	color:#fff;
	border: 2px solid #FFFFFF;
	clear: left;
	float: right;
	padding-top: 0.2em;
	padding-right: 1em;
	padding-bottom: 0.2em;
	padding-left: 1em;
}
fieldset a.btn:hover { color:var(--d-pink);
	border: 2px solid var(--d-pink);
}

.table > :not(caption) > * > * {
  vertical-align: middle;
}

table.table,table,table th,table td{
border-collapse: collapse!important;
	border:none!important;
}

.table th{
	background-color:var(--bs-light);
	text-align:center;
	border:none;
}

.title {
  font-family: var(--serif);
  font-weight:bold;
  
}

a.card{
	display: block;
	color:#000000!important;
opacity:1!important;
text-decoration:none;
padding:0;
margin:0.5em;
}
a.card:hover{
opacity:1!important;
}

a.card .card-body{
position:relative;}

a.card .btn{
position:absolute;
bottom:0.5em;
padding:0.3em 0;
width:12em;
left:calc(50% - 6em);}

.display-120{
	font-size:120%;
	line-height: normal;
}
.display-140{
	line-height: normal;
font-size:140%;
}

.pc-bl{ display:block;}
.pc-in{ display:inline;}
@media (max-width: 991.98px) {
.pc-bl,.pc-in{
display:none;}
}

span.line-chunk {
  display: inline-block;
  overflow-wrap: anywhere;
  word-break: normal;
}


/* TOTOPアイコン */
#top-button{
background-color:var(--d-pink)!important;
  color:#FFFFFF!important;
}


