/*--------------
基本設定
--------------*/
body {
  font-size: 5vw;
}
.title {
  font-size: 6vw;
}
.list-check-light-blue li {
  font-size: 5.5vw;
  padding: 10px 10px 10px 60px;
}
.list-check-light-blue li::before {
  width: 40px;
  left: 10px;
}
.pc {
  display: none;
}
.mobi {
  display: block;
}
.page-wrap{
  margin-top:16vw;
}
.page.container h2{
  font-size:6vw;
}
/*--------------
header
--------------*/
.header-wrap {
  height: 16vw;
  gap: 2vw;
  padding: 10px 1.5vw;
}
.header-wrap .logo {
  font-size: 4.2vw;
}
.header-btn {
  flex-shrink: 0;
}
.header-btn a{
  padding: 1.5vw 1vw;
}
.header-btn img{
  width: 2.5vw;
  height: auto;
}
.header-btn a span:first-of-type{
  font-size: 2.8vw;
}
.header-btn a span:last-of-type{
  font-size: 3.5vw;
}
.header-nav {
  top: 16vw;
}
.hamburger {
  width: 40px;
}
.header-left .flex{
  font-size: 0.55em;
	gap: 10px;
}
.header-nav li a{
	font-size: 4.5vw;
  padding: 10px;
}
/*--------------
top
--------------*/

/*--------------
onayami
--------------*/
.onayami {
  padding: 0 0 50px;
}
.onayami .title {
  font-size: 5.5vw;
}
.onayami h3 {
  font-size: 5vw;
  padding: 20px 2% 20px 70px;
}
.onayami h3::before {
  width: 60px;
}
.onayami-list-wrap li {
  padding: 5px 10px 5px 40px;
}
.onayami-list-wrap li::before {
  width: 30px;
}
.onayami-txt {
  margin: 40px 0 0;
}
.onayami-txt p:first-of-type {
  font-size: 5.5vw;
}
.onayami-txt p:last-of-type {
  font-size: 11vw;
}
/*--------------
merit
--------------*/
.merit h2 {
  font-size: 7vw;
  width: 80%;
  height: auto;
  margin: 0 auto 30px;
}
.merit ul  {
  margin: 30px 0;
  padding: 20px 2.5%;
}
.merit ul li{
  padding: 10px 0 10px 9vw;
  font-size: 4.7vw;
}
.merit ul li::before {
  left: 0;
  width: 6vw;
}
.merit-txt {
  padding: 40px 0;
}
.merit-txt p:first-of-type {
  font-size: 7vw;
  margin-bottom: 30px;
}
.merit-txt p:first-of-type .big {
  font-size: 14vw;
}
.merit-txt p:last-of-type {
  font-size: 6vw;
}
.merit-txt p:last-of-type .red {
  font-size: 6vw;
}
.merit-txt p:last-of-type .big {
  font-size: 8vw;
}
/*--------------
about
--------------*/
.about h2 {
  font-size: 5.5vw;
  padding: 20px 10px;
  margin: 0 2.5%;
  width: auto;
}
.about h2::before {
  width: 70px;
  left: 10px;
}
.about-txt .box{
  font-size: 4.5vw;
  padding: 20px;
}
/*--------------
profile
--------------*/

.profile-inner{
  column-gap: 20px;
}
.profile-con .bold{
  font-size: 5.5vw;
}
.profile-con img {
  width: 100%;
  margin: 0 auto 30px;
}
.profile-txt {
  width: 100%;
  font-size: 5vw;
}
.profile-txt .bold{
	font-size: 5vw;
}
.profile-con:nth-of-type(2) .profile-txt{
	margin-bottom:10px;
}
.profile-comment{
  font-size: 4.5vw;
}
.profile-comment span{
	width:28%;
}
.profile-table h3{
  font-size: 6vw;
}
.profile th,
.profile td {
  font-size: 5vw;
  padding: 10px;
}
.profile th{
  width: 30%;
}
.profile-table{
  margin: 30px 0;
  padding: 20px 10px;
}
.profile-table::before{
  width: 25vw;
  left: -1.5vw;
  top: -1.5vw;
}
.profile-table::after{
  width: 25vw;
  bottom: -1.5vw;
  right: -1.5vw;
}
/*--------------
reason
--------------*/
.reason .title {
  font-size: 6vw;
  padding: 20px 10px 20px 70px;
}
.reason .title .small {
  font-size: 4.3vw;
}
.reason .title::before {
  width: 70px;
  left: 10px;
}
.reason-img > img {
  width: 60%;
  height: auto;
}
.reason-img .num {
  width: 30%;
  font-size: 5vw;
}
.reason-img .num span {
  font-size: 10vw;
}
.reason-con {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 30%, var(--main-color) 30%);
}
.reason-con dt {
  font-size: 5.6vw;
  padding: 10px 0;
}
.reason-con dd {
  font-size: 5vw;
  padding: 15px 10px;
}
.area01 {
  margin-top: 100px;
}
.area01 h2 {
  font-size: 5.5vw;
}
.area01 h2::before {
  width: 50px;
  top: -70px;
}
.area01 p {
  font-size: 5vw;
}
.area01 .box {
  padding: 20px 10px;
  font-size: 5vw;
  margin: auto;
}
.area01 .small {
  font-size: 4.5vw;
}
.box-dashed{
  padding: 20px;
  font-size: 4.5vw;
}
.cta{
  padding: 7vw 2vw 2vw;
  width: 100%;
  border: 10px solid #efad4e;
}
.cta .serif{
  font-size: 5.7vw;
}
.cta .tel{
  margin: 4vw 0;
  padding: 15px 0;
}
.cta .tel > .tel-num{
  font-size: 7vw;
  padding-left: 10%;
  margin-bottom: 5px;
}
.cta .tel > .tel-num::before{
  width: 30px;
}
.cta .tel > span{
  font-size: 4vw;
}
.cta .mail{
  font-size: 5vw;
  padding-left: 50px;
  margin-bottom: 3vw;
}
.cta .mail::before{
   width: 25px;
}

.reassure-area h2{
  font-size: 6vw;
  padding: 20px;
}
.reassure-area-inner {
  width: 100%;
}
.reassure-area-inner div {
  width: 95%;
}
.reassure-area-inner p {
  font-size: 4.5vw;
}
.reassure-area-inner p:first-of-type{
  font-size: 5.5vw;
}
.reassure-area .bg-yellow {
  font-size: 6.8vw;
  margin-bottom: 0;
}
.reassure-area-txt {
  width: 95%;
}
.reassure-area-txt > p{
  font-size: 4.5vw;
}
.yellow-balloon {
  width: 100%;
  padding: 20px 10px 10px;
  margin: 30px 0;
}
.reassure-area-txt img{
  width: 80%;
  height: auto;
}
/*--------------
case
--------------*/
.case-content {
  padding: 0 2.5% 10px;
}
.case-content > p{
  font-size: 5vw;
  left: 20px;
}
.case-content dt{
  width: auto;
}
.case-content dd{
  padding: 20px 2.5%;
}
.case-inner{
  align-items: center;
  margin: 30px 0;
}
.case-inner p {
  font-size: 6vw;
  width: 70%;
}
.case-inner p span:first-of-type{
  font-size: 5vw;
  margin-bottom: 10px;
}
.case-inner img {
  width: 30%;
  margin: auto;
}
.case-content .red {
  font-size: 5vw;
}
/*--------------
voice
--------------*/
.voice .title span {
  font-size: 5vw;
}
.voice dl {
  width: 95%;
  margin: 0 auto 20px;
}
.voice dt {
  font-size: 6vw;
}
.voice dt span {
  width: 40px;
  line-height: 34px;
  left: 160px;
  padding-left: 5px;
}
.voice dd {
  font-size: 5vw;
}
.fee-ttl{
	font-size:6vw;
}
.fee-ttl span{
	font-size:4vw;
}
.fee h3{
  font-size:5vw;
}

.fee th,
.fee td {
  padding: 2vw;
  font-size: 4vw;
}
.fee > p{
  font-size: 4.5vw;
}
/*.fee .notes{
	font-size:4vw;
}*/
.fee-txt{
  font-size: 5vw;
  width: 95%;
  margin: auto;
  padding: 10px;
}
.fee table.last{
	margin:40px auto;
}
/*--------------
flow
--------------*/
.flow li {
  font-size: 5vw;
  max-height: 100px;
}
.flow li span {
  width: 20%;
  height: 80px;
  font-size: 10vw;
  line-height: 80px;
}
.flow li span::before{
  width: 100%;
  height: 100%;
}
.flow .img {
  width: 25%;
}
.flow li:nth-of-type(4) .img img {
  width: 70%;
}
.flow li:nth-of-type(5) .img img {
  width: 40%;
}
/*--------------
qa
--------------*/
.qa .title {
  font-size: 5vw;
}
.qa-list li:nth-of-type(odd) {
  font-size: 5vw;
}
/*--------------
contact
--------------*/

.contact p{
  font-size: 4.5vw;
}
.form-check{
  font-size: 4.5vw;
}
.form-wrap td{
  padding-bottom: 20px;
}
.form-wrap input[type="submit"]{
  font-size: 6vw;
}
/*--------------
footer
--------------*/
footer{
  margin-bottom: 27vw!important;
}
.footer-wrap{
  flex-direction: column;
  align-items: flex-start;
}
.footer-nav{
  width: 100%;
  margin-top: 30px;
}
.footer-nav li{
  font-size: 5vw;
  padding: 10px;
}
.footer-fixed{
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background: rgb(255 255 255 / 0.8);
  padding: 10px;
	z-index:999;
}
.footer-fixed p{
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
}
.footer-fixed p span{
  font-weight: bold;
  font-size: 5vw;
  color: #ff1209 ;
  position: relative;
  display: block;
}
.footer-fixed p span::after,
.footer-fixed p span::before{
  content: "";
  width: 4px;
  height: 70%;
  display: block;
  position: absolute;
  bottom: 0;
  background: #ff1209 ;
}
.footer-fixed p span::before{
  left: -20px;
  transform: rotate(-30deg);
}
.footer-fixed p span::after{
  right: -20px;
  transform: rotate(30deg);
}
.footer-fixed .flex-between{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  column-gap: 10px;
}
.footer-txt span{
	font-size:4.5vw;
}

.fixed-banner{
  bottom: 100px;
}
.fixed-banner a{
  width: 150px;
  display: block;
}
.fixed-banner a img{
  width: 100%;
}
.fixed-banner > p{
  top: -20px;
  font-size: 18px;
}