/*
reset.css
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}
ul[role="list"],
ol[role="list"] {
  list-style: none;
}
body {
  min-height: 100vh;
  line-height: 1.5;
}
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}
h1,
h2,
h3,
h4 {
  text-wrap: normal;
}
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}
img,
picture {
  max-width: 100%;
  display: block;
}
input,
button,
textarea,
select {
  font: inherit;
}
textarea:not([rows]) {
  min-height: 10em;
}
:target {
  scroll-margin-block: 5ex;
}

a {
  text-decoration: none;
  color: inherit;
}
ul {
  padding: 0;
  margin: 0;
}
li {
  list-style: none;
}
table {
  border-collapse: collapse;
}
/*------------
基本設定
--------------*/
body {
  line-height: 1.5;
  font-size: 30px;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
}
.pc {
  display: block;
}
.mobi {
  display: none;
}
.serif {
  font-family: "Noto Serif JP", serif;
}
.wrapper {
  width: 100%;
  max-width: 750px;
  margin: auto;
  position: relative;
  overflow: hidden;
}
.container {
  margin: 0 auto;
  width: 95%;
}
.red {
  color: #ff1209;
  font-weight: bold;
}
.yellow {
  color: #edcb05;
}
.bold {
  font-weight: bold;
}
.y-line{
  background: linear-gradient(transparent 60%, #edcb05 60%);
}
.title {
  background: url(images/title-bg.png);
  color: #fff;
  font-size: 36px;
  text-align: center;
  padding: 25px 0;
  margin-bottom: 30px;
  line-height: 1.3;
}

.list-check-light-blue li {
  font-size: 36px;
  position: relative;
  padding: 20px 20px 20px 90px;
  border: 2px solid #222;
  font-weight: bold;
  border-radius: 10px;
  background: #fff;
  margin-bottom: 10px;
  box-sizing: border-box;
}
.list-check-light-blue li::before {
  content: "";
  position: absolute;
  background: url(images/merit-check.png) no-repeat;
  background-size: cover;
  width: 66px;
  aspect-ratio: 66/60;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
}
/*------------
header
--------------*/
header {
  position: relative;
  width: 100%;
  max-width: 750px;
}
.header-wrap {
  width: 100%;
  max-width: 750px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  background: #fff;
  padding: 5px;
  box-sizing: border-box;
  z-index: 99;
}
.header-wrap .logo {
  font-size: 30px;
  font-weight: bold;
}
.header-wrap .logo span {
  display: block;
  font-size: 0.5em;
}
.header-wrap img{
  width: 200px;
  height: auto;
}
.hamburger {
  width: 50px;
  height: 30px;
  position: relative;
  cursor: pointer;
  z-index: 999;
}
.hamburger span {
  width: 90%;
  height: 6px;
  display: block;
  background: #000;
  position: absolute;
  border-radius: 5px;
  transition: all ease 0.3s;
}
.hamburger span:first-of-type {
  top: 0;
}
.hamburger span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.hamburger span:last-of-type {
  bottom: 0;
}

.hamburger span:first-of-type.active {
  top: 12px;
  transform: rotate(45deg);
}
.hamburger span:nth-of-type(2).active {
  opacity: 0;
}
.hamburger span:last-of-type.active {
  bottom: 12px;
  transform: rotate(-45deg);
}
.header-nav {
  position: fixed;
  background: #edcb05;
  width: 100%;
  max-width: 750px;
  height: auto;
  z-index: 99;
  box-sizing: border-box;
  transition: all ease 0.3s;
  top: 78px;
  left: 100%;
}
.header-nav.active {
  left: 50%;
  transform: translateX(-50%);
}
.header-nav li {
  text-align: left;
  color: #fff;
}
.header-nav li a {
  padding: 15px 20px;
  display: block;
  width: 100%;
  font-size: 20px;
  border-bottom: 1px solid #fff;
}
.contact-btn-pc{
  width: auto;
  max-width: 200px;
  text-align: center;
}
.contact-btn-pc p:first-of-type{
  font-size: 20px;
  background: #edcb05;
  border-radius: 5px;
  width: max-content;
  margin: auto;
  padding: 0 5px;
  display: flex;
  align-items: center;
  font-weight: bold;
}
.contact-btn-pc p span{
  font-size: 15px;
  background: #fff;
  margin-right: 10px;
  padding: 0 5px;
  border-radius: 5px;
}
.contact-btn-pc p:last-of-type{
  font-size: 25px;
  font-weight: bold;
  position: relative;
  padding-left: 25px;
}
.contact-btn-pc p:last-of-type::before{
  content: "";
  background: url(images/tel-icon.png);
  background-size: cover;
  display: block;
  aspect-ratio: 1/1;
  width: 22px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
/*------------
top
--------------*/
.kv {
  margin-top: 78px;
}
/*------------
onayami
--------------*/
.onayami {
  background: url(images/onayami-bg.png) no-repeat;
  background-position: bottom center;
  padding: 0 0 70px;
}
.onayami h3 {
  color: #222222;
  font-weight: bold;
  position: relative;
  font-size: 36px;
  border-bottom: 10px solid #222;
  padding: 25px 20px 25px 100px;
  margin: 10px 0 30px;
  line-height: 1.3;
}
.onayami h3::after {
  content: "";
  border-style: solid;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  border-top: 21px solid #222;
  border-bottom: 0;
  position: absolute;
  bottom: -24px;
  left: 50%;
  transform: translateX(-50%);
}
.onayami h3::before {
  content: "";
  background: url(images/onayami-icon.png);
  background-size: cover;
  position: absolute;
  left: 0;
  width: 84px;
  aspect-ratio: 1/1;
  top: 50%;
  transform: translateY(-50%);
}
.onayami-list-wrap li {
  position: relative;
  padding: 5px 10px 5px 60px;
  margin-bottom: 20px;
}
.onayami-list-wrap li::before {
  content: "";
  background: url(images/onayami-checkmark.png);
  background-size: cover;
  aspect-ratio: 48/46;
  width: 48px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.onayami-txt {
  margin: 80px 0 0;
  text-align: center;
  font-weight: bold;
}
.onayami-txt p:first-of-type {
  color: #fff;
  background: #222222;
  font-size: 40px;
  width: max-content;
  padding: 5px 10px;
  margin: auto;
}
.onayami-txt p:last-of-type {
  color: #222222;
  font-size: 90px;
}
/*------------
merit
--------------*/
.merit {
  background: #edcb05;
  padding: 0;
}
.merit h2 {
  color: #edcb05;
  font-weight: bold;
  width: max-content;
  background: url(images/merit-title-bg.png);
  background-size: cover;
  margin: 0 auto 45px;
  padding: 15px 0;
  aspect-ratio: 481/92;
  width: auto;
  height: 92px;
  font-size: 48px;
  text-align: center;
}

.merit .last {
  margin: 60px 0 60px;
}
.merit ul{
	background: #fff;
	padding:20px 0;
}
.merit ul li {
  padding: 10px 10px 10px 110px;
  position: relative;
  font-size: 32px;
}
.merit ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 35px;
  background: url(images/check-black.png);
  background-size: cover;
  aspect-ratio: 48/46;
  width: 48px;
}
.merit-txt {
  padding: 100px 0;
  background-color: #fff;
  background-image: url(images/onayami-bg.png);
  background-position: bottom;
  background-size: 100%;
  background-repeat: no-repeat;
}
.merit-txt p {
  width: 95%;
  margin: auto;
  text-align: center;
}
.merit-txt p:first-of-type {
  font-size: 50px;
  color: #fff;
  background: #222;
  padding: 0 20px;
  margin: 0 auto 40px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
}
.merit-txt p:first-of-type .big {
  font-size: 100px;
}
.merit-txt p:last-of-type {
  font-size: 40px;
  color: #222;
  font-weight: bold;
}
.merit-txt p:last-of-type .big {
  font-size: 60px;
}
/*------------
about
--------------*/
.about {
  padding: 0 0 60px;
  background-image: linear-gradient(90deg, rgba(222, 222, 222, 1), rgba(255, 255, 255, 1) 56%);
}
.about h2 {
  position: relative;
  font-size: 42px;
  padding: 40px 30px 40px 190px;
  text-align: left;
}
.about h2::before {
  content: "";
  position: absolute;
  background: url(images/title-img.png);
  background-size: cover;
  width: 140px;
  aspect-ratio: 1/1;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
}
.about-txt {
  width: 95%;
  margin: 40px auto 0;
}
.about-txt p {
  margin-bottom: 30px;
}
.about-txt .box {
  border: 1px dashed #000;
  padding: 10px 15px;
  margin-bottom: 0;
  background: #fff;
  padding: 10px;
}
/*------------
profile
--------------*/
.profile {
  background-image: linear-gradient(90deg, rgba(222, 222, 222, 1), rgba(255, 255, 255, 1) 56%);
  padding-bottom: 60px;
}
.profile-con {
  display: flex;
	align-items:center;
	justify-content:center;
	column-gap:10%;
  padding: 0 30px;
  background: #fff;
  box-shadow: 0 0 3px rgb(0 0 0 /0.3);
  border-radius: 10px;
  margin-bottom: 10px;
  min-height: 170px;
}
.profile-txt{
	width:60%;
}
.profile-con p:first-of-type{
	font-weight:bold;
  font-size:30px;
}
.profile-con p:nth-of-type(2){
  font-size: 28px;
}
.profile-comment{
  font-size: 20px;
}
.profile-con p .black{
  background:#000;
	color:#fff;
	padding:0 5px;
	margin-right:15px;
  line-height: 1;
}
.profile-con img {
  align-self: flex-end;
	margin-top:20px;
}
.profile iframe {
  display: block;
}
.profile tr:first-of-type th{
  background: none;
  color: #000;
  border: none;
}
.profile-table{
	position: relative;
  background: #fff;
  box-shadow: 0 0 5px rgb(0 0 0 /0.3);
  margin: 50px 20px;
	padding: 40px;
}
.profile-table::before{
  content: "";
  position: absolute;
  left: -8px;
  top: -8px;
  background: url(images/cta-1.png);
  background-size: cover;
  aspect-ratio: 169/170;
  width: 169px;
  height: auto;
}
.profile-table::after{
  content: "";
  position: absolute;
  bottom: -8px;
  right: -8px;
  background: url(images/cta-2.png);
  background-size: cover;
  aspect-ratio: 169/170;
  width: 169px;
  height: auto;
}
.profile-table h3{
	font-weight:400;
	font-size:30px;
	padding:20px 0;
}
.profile th {
  font-weight: 400;
  background: #222;
  color: #fff;
  border: 1px solid #fff;
  padding: 10px 20px;
}
.profile td {
  border: 1px solid #222;
  padding: 10px 20px;
  background: #fff;
}
/*------------
reason
--------------*/
.reason .title {
  position: relative;
  font-size: 60px;
  padding: 40px 30px 40px 150px;
  text-align: center;
}
.reason .title::before {
  content: "";
  position: absolute;
  background: url(images/title-img.png);
  background-size: cover;
  width: 140px;
  aspect-ratio: 1/1;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.reason .title .small {
  font-size: 30px;
  font-weight: 400;
  display: block;
}
.reason-con {
  padding-bottom: 30px;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 35%, rgba(237, 203, 5, 1) 35%);
}
.reason-img {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
}
.reason-img .num {
  background: url(images/reason-num-bg.png) no-repeat;
  background-size: cover;
  aspect-ratio: 1/1;
  width: 159px;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 32px;
  vertical-align: middle;
}
.reason-img .num span {
  font-size: 60px;
  line-height: 1;
  vertical-align: middle;
}
.reason-con-inner {
  width: 95%;
  margin: auto;
}

.reason-con dt {
  color: #222;
  font-size: 60px;
  font-size: 36px;
  font-weight: bold;
  border-bottom: 5px solid #222;
  padding: 10px;
}
.reason-con dd {
  background: #fff;
  border-radius: 10px;
  margin-top: 20px;
  padding: 20px;
  font-size: 32px;
}
/**/
.area01 {
  margin: 150px auto 30px;
}
.area01 h2 {
  color: #fff;
  background: #222;
  font-size: 44px;
  text-align: center;
  padding: 10px 20px;
  position: relative;
  margin: 0 auto 30px;
  width: max-content;
}
.area01 h2::before {
  content: "";
  background: url(images/hand-icon.png) no-repeat;
  background-size: cover;
  width: 83px;
  aspect-ratio: 83/77;
  top: -100px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.area01 p {
  width: 95%;
  margin: 0 auto 30px;
  font-size: 30px;
}
.area01 .box {
  padding: 30px;
  margin-top: 30px;
  border: 1px dashed #222;
  font-size: 28px;
}
.area01 .small {
  font-size: 28px;
}
.list-area {
  background: #edcb05;
  padding: 5%;
}
.cta{
  width: 100%;
  max-width: 669px;
  max-height: 531px;
  background: url(images/cta-back.png);
  background-size: cover;
  aspect-ratio: 223/177;
  text-align: center;
  padding: 55px 10px 20px;
  box-sizing: border-box;
  margin: 30px auto;
}

.cta .serif{
  font-weight: bold;
  font-size: 45px;
  margin: 0 auto;
}
.cta .serif span{
  background: #222;
  color: #edcb05;
  display: inline-block;
}
.cta .tel{
  margin: 20px 0;
  display: block;
}
.cta .tel > p{
  font-weight: bold;
  font-size: 48px;
  position: relative;
  width: max-content;
  margin: auto;
  padding-left: 70px;
}
.cta .tel > p::before{
  content: "";
  background: url(images/cta-tel-icon.png);
  background-size: cover;
  position: absolute;
  aspect-ratio: 56/55;
  display: block;
  width: 56px;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.cta .tel > span{
  font-size: 30px;
  display: block;
}
.cta .mail{
  font-size: 30px;
  display: block;
  font-weight: bold;
  position: relative;
  width: max-content;
  margin: 0 auto 20px;
  border: 1px solid #222;
  padding: 5px 20px 5px 70px;
  border-radius: 5px;
  background: #fdffd1;
}
.cta .mail::before{
  content: "";
  position: absolute;
  left: 5%;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  aspect-ratio: 32/26;
  background: url(images/cta-mail-icon.png);
  background-size: cover;
}
.cta > p:last-of-type{
  font-size: 28px;
  margin-bottom: 0;
}
.cta > p:last-of-type span{
  font-weight: bold;
  display: block;
}
.reassure-area-inner {
  background: url(images/reassure-bg.png);
  background-size: cover;
  width: 750px;
  aspect-ratio: 750/746;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 36px;
}
.reassure-area-inner div {
  width: 90%;
  margin: auto;
}
.reassure-area p:first-of-type {
  margin-bottom: 20px;
  font-size: 38px;
  font-weight: bold;
}
.reassure-area .bg-yellow {
  background: #edcb05;
  color: #222;
  font-weight: bold;
  font-size: 48px;
  padding: 0 10px;
  margin-bottom: 10px;
  display: inline-block;
}
.reassure-area-txt {
  width: 90%;
  margin: 60px auto;
  font-size: 32px;
}
.reassure-area-txt img {
  display: block;
  margin: auto;
}
.yellow-balloon {
  background: url(images/yellow-balloon.png) no-repeat;
  background-size: cover;
  aspect-ratio: 693/189;
  width: 693px;
  height: auto;
  text-align: center;
  color: #222;
  padding-top: 30px;
  font-weight: bold;
  margin: 50px 0 30px;
  box-sizing: border-box;
}
/*------------
case
--------------*/
.case .title span {
  background: #fff;
  display: block;
  padding: 5px 40px;
  font-weight: bold;
  width: max-content;
  margin: auto;
  color: #222;
  border-radius: 30px;
}
.case-content {
  border: 2px solid #222;
  padding: 0 20px 20px;
  margin: 40px auto;
  box-sizing: border-box;
}
.case-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
}
.case-inner img{
  width: 30%;
  margin: 20px 0 0;
  display: block;
}
.case-inner p span:first-of-type {
  background: #edcb05;
  font-size: 30px;
  text-align: center;
	width:max-content;
	padding:20px;
  display: flex;
  justify-content: center;
  align-items: center;
	margin-bottom:20px;
  font-weight: bold;
}
.case-inner p{
  margin-bottom: 0;
}
.case-content .red {
  font-size: 35px;
}
.case-content > p {
  margin-bottom: 30px;
}
.case-content .box-yellow {
  background: #fdffd1;
  padding: 20px;
}
/*------------
voice
--------------*/
.voice .title {
  margin-bottom: 30px;
}
.voice .title span {
  color: #222;
  background: #fff;
  width: max-content;
  padding: 10px 50px;
  text-align: center;
  display: block;
  border-radius: 30px;
  margin: auto;
}
.voice dl {
  border: 3px solid #222;
  margin-bottom: 30px;
}
.voice dt {
  background: #edcb05;
  font-weight: bold;
  position: relative;
  font-size: 32px;
  padding: 20px;
}
.voice dt span {
  color: #fff;
  background: url(images/numballoon.png);
  background-size: cover;
  aspect-ratio: 68/60;
  width: 68px;
  height: auto;
  display: block;
  position: absolute;
  left: 200px;
  text-align: center;
  line-height: 60px;
  padding-left: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.voice dd {
  padding: 20px;
  font-size: 32px;
}
/*------------
fee
--------------*/
.fee h3{
	text-align:center;
	margin-bottom:20px;
}
.fee table {
  width: 95%;
  margin: 0 auto 40px;
}
.fee th,
.fee td {
  border: 1px solid #909090;
  font-weight: 400;
  padding: 10px 20px;
  text-align: center;
}
.fee tr:first-of-type th {
  background: #edcb05;
}
.fee tr:first-of-type th:first-of-type {
  background: #f5efcd;
}
.fee tr:not(:first-of-type) th {
  background: #e3edef;
}
.fee table:last-of-type th {
  background: #edcb05 !important;
}
/*------------
flow
--------------*/
.flow {
  margin-bottom: 60px;
}
.flow .title {
  margin: 30px 0;
}
.flow li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 30px;
  background: #f4f4f4;
  border-radius: 10px;
  margin-bottom: 20px;
  font-size: 36px;
  font-weight: bold;
}
.flow li span {
  background: url(images/flow-num-bg.png);
  background-size: cover;
  aspect-ratio: 133/148;
  width: 133px;
  font-size: 72px;
  display: block;
  color: #fff;
  text-align: center;
  font-weight: bold;
  line-height: 148px;
}
.flow .img {
  width: 30%;
}
.flow li:nth-of-type(4) .img,
.flow li:nth-of-type(5) .img {
  align-self: flex-end;
}
.flow .img img {
  margin: auto;
  display: block;
}
/*------------
qa
--------------*/
.qa-list li {
  padding: 20px 5%;
}
.qa-list li:nth-of-type(odd) {
  background: #edcb05;
  font-weight: bold;
  font-size: 30px;
}
/*------------
contact
--------------*/
.contact .title{
  margin-bottom: 0;
}
.contact p{
  font-size: 25px;
  margin-bottom: 20px;
}
.form-wrap{
	padding:20px;
}

.form-wrap table{
	width:100%;
	border-collapse:collapse;
}
.form-wrap th,
.form-wrap td{
	box-sizing:border-box;
	display:block;
}
.form-wrap .optional{
	font-size:.6em;
	color:#fff;
	background:#555;
	padding:0 5px;
	margin-left:10px;
  border-radius: 5px;
}
.form-wrap .required{
	font-size:.6em;
	color:#fff;
	background:#ff1209;
	padding:0 5px;
	margin-left:10px;
  border-radius: 5px;
}
.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap textarea{
	width:100%;
}
.form-wrap input[name="text-postnum"]{
  margin-bottom: 10px;
  width: 40%;
}
.form-wrap textarea{
	height:200px;
}
.form-wrap th{
	text-align:left;
	padding-bottom:10px;
}
.form-wrap td{
	padding-bottom:30px;
}
.form-wrap tr:last-of-type td{
	padding-bottom:0;
}
.form-check{
	margin:0 0 30px;
	text-align:center;
	font-size:25px;
}
.form-check p{
	margin-bottom:20px;
}

.form-check input[type="checkbox"]{
	width:30px;
	height:30px;
  vertical-align: middle;
}
.form-check input[type="text"]{
	width:50px;
	height:40px;
}
.form-wrap input[type="submit"]{
  width:280px;
	padding:10px 20px;
	border:none;
	text-align:center;
	background:#f9aa20;
	color:#fff;
  font-weight: bold;
	margin:auto;
	display:block;
  border-radius: 5px;
}
.form-wrap input[type="submit"]:hover{
	cursor:pointer;
}
/*------------
footer
--------------*/
.footer-wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #222;
  padding: 20px;
  color: #fff;
}
.footer-txt p{
  margin-bottom: 20px;
  font-weight: bold;
}
.footer-txt span{
  font-size: 22px;
}
.footer-nav{
  width: 40%;
}
.footer-nav li{
  font-size: 22px;
  border-bottom: 1px solid #fff;
  padding: 10px 20px;
}
.footer-nav li:last-of-type{
  border-bottom: 0;
}
