/*--------------
基本設定
--------------*/
body {
  font-size: 5vw;
}
.page-wrap{
  margin-top: 17vw;
}
.title {
  font-size: 6vw;
  padding: 15px 2vw;
  margin-bottom: 20px;
}
.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;
}
/*--------------
header
--------------*/
.header-wrap {
  height: 17vw;
}
.header-wrap .logo {
  font-size: 4.5vw;
}
.header-buttons {
  column-gap: 10px;
}
.header-button-contact{
  width: 18vw;
}
.header-button-contact span{
  font-size: 2.5vw;
  border-radius: 2px;
}
.header-button-contact p{
  font-size: 3.5vw;
  width: 100%;
  line-height: 1;
  margin: 1vw 0;
}
.header-button-contact img{
  width: 3vw;
}
.header-nav {
  top: 16vw;
}
.header-nav li a{
	font-size:5vw;
}
.hamburger {
  width: 40px;
}
/*--------------
top
--------------*/
.kv {
  margin-top: 17vw;
}
/*--------------
onayami
--------------*/
.onayami{
  padding: 0 0 30px;
}
.onayami img{
  width: 50%;
}
.onayami h2{
  font-size: 5vw;
}
.onayami li{
  font-size: 4vw;
  padding-left: 9vw;
}
.onayami li::before{
  width: 7vw;
  top: -2px;
}
.onayami-txt{
  margin: 30px 0 0;
}
.onayami-txt p:first-of-type{
  font-size: 6vw;
  padding: 5px 5vw;
}
.onayami-txt p:last-of-type{
  font-size: 9.5vw;
}
/*--------------
メリット
--------------*/
.merit h2{
  font-size: 7vw;
  padding: 30px 20px 10px;
}
.merit h2::before{
  width: 12vw;
}
.merit ul:first-of-type li{
  font-size: 5vw;
  text-align: left;
  padding: 20px 10px 20px 17vw;
}
.merit ul:first-of-type li::before{
  width: 10vw;
  left: 20px;
}
.merit ul:last-of-type{
  padding: 20px 2vw;
}
.merit ul:last-of-type li{
  font-size: 5vw;
  padding-left: 10vw;
}
.merit ul:last-of-type li::before{
  width: 7vw;
}
.merit-txt{
  padding: 30px 0;
}
.merit-txt p:first-of-type{
  font-size: 6vw;
  margin-bottom: 10px;
  padding: 10px;
}
.merit-txt p:last-of-type{
  font-size: 6vw;
}
.merit-txt p:last-of-type > span{
  font-size: 7vw;
}
.merit-txt p:last-of-type .big{
  font-size: 9vw; 
}
/*--------------
about
--------------*/
.about h2{
  font-size: 6vw;
}
.about h2::before{
  width: 7vw;
}
.about h2::after{
  width: 7vw;
}
/*--------------
profile
--------------*/
.profile-con{
  padding: 20px 2.5vw;
  margin-bottom: 20px;
}
.profile-inner{
  padding: 0 10px;
  column-gap: 10px;
}
.profile-inner p{
  font-size: 5vw;
}
.profile-inner .small{
  font-size: 4.5vw;
}
.profile-inner img{
  width: 24vw;
}
.profile-txt{
  font-size: 5vw;
}
.company-table th{
  font-size: 4vw;
  padding: 10px;
}
.company-table td{
  font-size: 4vw;
  padding: 10px;
}
.company-table iframe{
  height: 250px;
  margin-top: 30px;
}
/*--------------
3つの理由
--------------*/
.reason h2{
  font-size: 7vw;
  padding: 15px 5vw 15px 15vw;
  margin-bottom: 0;
}
.reason h2 .small{
  font-size: 4vw;
}
.reason h2::before{
  width: 9vw;
}
.reason-con-inner{
  padding: 30px 2.5%;
}
.reason-con-inner .num{
  width: 30%;
}
.reason-con-inner .img{
  right: 8vw;
  width: 50%;
  bottom: -5vw;
}
.reason-con:first-of-type .img{
  right: 12vw;
  bottom: -5vw;
  width: 30%;
}
.reason-con:nth-of-type(2) .img{
  right: 12vw;
  bottom: -5vw;
  width: 40%;
}
.reason-con:first-of-type .num{
  margin-left: 5vw;
}
.reason-con-txt{
  padding: 30px 2.5% 20px;
}
.reason-con-txt dt{
  font-size: 5vw;
  border-bottom: 3px solid #fff;
}
.reason-con-txt dd{
  font-size: 4.5vw;
  padding: 20px 2.5%;
}
/*--------------
弊社は親身に
--------------*/
.text-block-ttl img{
  width: 15%;
  margin: 20px auto;
}
.text-block h2{
  font-size: 6vw;
}
.text-block-inner p{
  font-size: 4.5vw;
  padding: 0;
  margin: 20px 0;
}
.text-block-inner .border{
  font-size: 4.5vw;
  padding: 20px 2.5%;
}
/*--------------
不安で夜も眠れない～
--------------*/
.reassure-area-bg-inner p{
  font-size: 5vw;
}
.reassure-area-bg-inner span{
  font-size: 6.5vw;
}
.reassure-area-txt{
  width: 95%;
  margin: auto;
}
.reassure-area-txt p{
  font-size: 4.5vw;
  margin-top: 30px;
}
.reassure-area-txt p:last-of-type{
  font-size: 4.5vw;
}
.reassure-area-txt img{
  width: 90%;
}
/*--------------
事例
--------------*/
.case .title{
  font-size: 5vw;
}
.case-content{
  padding: 0 2.5% 30px;
}
.case-content-ttl span{
  font-size: 7vw;
  width: 25vw;
}
.case-content-ttl{
  margin-bottom: 20px;
}
.case-content-ttl img{
  width: 30%;
}
.case-content-txt p:first-of-type{
  font-size: 5vw;
}
.case-content-txt p{
  font-size: 4.5vw;
}
.case-content-txt p:last-of-type{
  font-size: 4.5vw;
  margin-top: 30px;
  padding: 20px 2.5%;
}
/*--------------
大切なお知らせとお願い
--------------*/
.text-block.notice h2{
  font-size: 6vw;
}
.text-block.notice .text-block-ttl img{
  width: 15%;
}
.text-block.notice .text-block-inner p{
  font-size: 4.5vw;
}
.cta{
  width: 100%;
  padding: 50px 2.5% 30px;
}
.cta .serif{
  font-size: 6vw;
}
.cta a{
  margin-bottom: 20px;
}
.cta a .tel{
  font-size: 9vw;
  padding-left: 10vw;
}
.cta a .tel::before{
  width: 8vw;
}
.cta a .time{
  font-size: 4.5vw;
}
/*--------------
料金プラン
--------------*/
.fee h3{
  font-size: 6vw;
  margin-bottom: 20px;
}
.fee table{
  width: 95%;
  margin: 0 auto 30px;
}
.fee table th{
  font-size: 4vw;
}
.fee table td{
  font-size: 4vw;
}
.fee .text-block h2{
  font-size: 6vw;
}
.fee .text-block-inner p:last-of-type{
  font-size: 4vw;
}
.list-block{
  padding: 30px 2.5%;
}
.list-block li{
  padding: 10px 10px 10px 16vw;
}
.list-block li::before{
  width: 10vw;
  left: 10px;
}
/*--------------
flow
--------------*/
.flow ul{
  margin: 0 2.5%;
}
.flow .num{
  width: 20%;
  font-size: 10vw;
}
.flow-img img{
  width: 25vw;
}
.flow p{
  font-size: 5vw;
}
.flow li:nth-of-type(3) img{
  width: 18vw;
}
.flow li:nth-of-type(4) img{
  width: 18vw;
}
.flow li:last-of-type img{
  width: 11vw;
}
/*--------------
footer
--------------*/
footer{
  margin-bottom: 27vw!important;
}
.footer-fixed{
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background: rgb(255 255 255 / 0.8);
  padding: 10px;
}
.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-fixed img{
  width: 100%;
  display: block;
}
/*--------------
page
--------------*/
.page-wrap h1{
  margin: 30px auto;
  font-size: 8vw;
}
.page-content h2{
  font-size: 7vw;
}
.page-content h3{
  font-size: 6vw;
}
.page-content h4{
  font-size: 5vw;
}
.page-content p{
  font-size: 4.8vw;
}
.page-content{
  margin: 30px auto;
}
/*--------------
contact
--------------*/
.contact-wrap{
	padding:30px 2.5%;
}
.contact-wrap th{
  padding-bottom: 2vw;
}
.contact-wrap td{
  padding-bottom: 3vw;
}
.contact-check input[type="text"]{
	width:50px;
	height:40px;
}