/*
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;
}
/*------------
基本設定
--------------*/
.theme-blue{
  --main-color:#0400bb;
}
.theme-yellow{
  --main-color:#edcb05;
}
.theme-red{
  --main-color:#cc0000;
}
.theme-orange{
  --main-color:#d05800;
}
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%;
}
.page.container{
  margin: 50px auto;
}
.page.container h2{
  font-size:40px;
}
.red {
  color: #ff1209;
  font-weight: bold;
}
.yellow {
  color: #edcb05;
}
.orange{
  color: #d05800;
}
.bold {
  font-weight: bold;
}
.y-line{
  background: linear-gradient(transparent 60%, #edcb05 60%);
}
.page-wrap{
  margin-top: 120px;
}
.title {
  background: #222;
  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: 10px;
  box-sizing: border-box;
  z-index: 99;
}
.header-wrap .logo {
  font-size: 34px;
  font-weight: bold;
}
.header-left a{
  display: block;
}
.header-left .flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.55em;
  gap: 20px;
}
.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: var(--main-color);
  width: 100%;
  max-width: 750px;
  height: auto;
  z-index: 99;
  box-sizing: border-box;
  transition: all ease 0.3s;
  top: 120px;
  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;
  font-weight: bold;
}
/*contact-btn-pc*/
.header-btn{
  width: auto;
  max-width: 126px;
  text-align: center;
}
.header-btn a{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 8px 5px;
  border-radius: 5px;
  box-shadow: 0px 3px 0px 0px rgba(0, 52, 52, 0.38);
  background: #d05800;
  flex-shrink: 0;
}
.header-btn a span{
  display: block;
  line-height: 1.2;
}
.header-btn a span:first-of-type{
  background: #fff;
  padding: 0 5px;
  font-size: 22px;
  border-radius: 5px;
  display: inline-block;
  font-weight: bold;
}
.header-btn a span:last-of-type{
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  margin: 5px 0;
  text-shadow: rgb(34, 34, 34) 2px 0px 0px, rgb(34, 34, 34) 1.75517px 0.958851px 0px, rgb(34, 34, 34) 1.0806px 1.68294px 0px, rgb(34, 34, 34) 0.141474px 1.99499px 0px, rgb(34, 34, 34) -0.832294px 1.81859px 0px, rgb(34, 34, 34) -1.60229px 1.19694px 0px, rgb(34, 34, 34) -1.97998px 0.28224px 0px, rgb(34, 34, 34) -1.87291px -0.701566px 0px, rgb(34, 34, 34) -1.30729px -1.5136px 0px, rgb(34, 34, 34) -0.421592px -1.95506px 0px, rgb(34, 34, 34) 0.567324px -1.91785px 0px, rgb(34, 34, 34) 1.41734px -1.41108px 0px, rgb(34, 34, 34) 1.92034px -0.558831px 0px;
}
/*------------
top
--------------*/
.kv img{
  width: 100%;
  height: auto;
}
/*------------
onayami
--------------*/
.onayami {
  background: url(images/onayami-bg.png) no-repeat;
  background-position: bottom center;
  padding: 0 0 70px;
}
.onayami-list-wrap ul:first-of-type{
  margin-bottom: 50px;
}
.onayami-list-wrap ul:last-of-type{
  margin-top: 50px;
}
.onayami-list-wrap img{
  margin: auto;
}
.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: var(--main-color);
  padding: 0 0 50px;
}
.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 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: 75px 0 60px;
  background-image: linear-gradient(90deg, rgba(222, 222, 222, 1), rgba(255, 255, 255, 1) 56%);
}
.about h2{
  font-size: 40px;
  line-height: 1.5;
  border-top: 5px solid #000;
  border-bottom: 5px solid #000;
  width: max-content;
  padding: 30px 20px;
  margin: auto;
}
/*.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 {
  font-size: 28px;
  border: 1px dashed #000;
  padding: 20px 30px;
  margin-bottom: 0;
  background: #fff;
}
/*------------
profile
--------------*/
.profile {
  background-image: linear-gradient(90deg, rgba(222, 222, 222, 1), rgba(255, 255, 255, 1) 56%);
  padding-bottom: 60px;
}
/*.profile-con {
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 10px;
  min-height: 170px;
}*/
.profile-img{
  width: 80%;
  height: auto;
  margin: 0 auto 30px;
}
.profile-txt{
  font-size: 30px;
  margin-bottom: 40px;
}
.profile-txt p:not(:last-of-type){
  margin-bottom: 20px;
}
.profile-inner{
  background: #fff;
  border: 1px solid #dddddd;
  border-radius: 10px;
  text-align: center;
  padding: 30px;
  font-size: 34px;
  margin: 30px 0;
}
.profile-table{
  margin-bottom: 30px;
}
/*.profile tr:first-of-type th{
  background: none;
  color: #000;
  border: none;
  text-align: left;
  padding: 10px 0;
}*/
.profile th {
  font-weight: 400;
  background: #222;
  color: #fff;
  border: 1px solid #fff;
  padding: 10px 20px;
  width: 28%;
}
.profile td {
  border: 1px solid #222;
  padding: 10px 20px;
  background: #fff;
}
.profile-btn{
	text-align:center;
	margin-bottom: 30px;
	display:block;
	background:#edcb05;
	border-radius:70px;
	padding:10px;
	font-weight:bold;
}
/*.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-btn span{
	font-size:.7em;
}
.profile-btn:hover{
	opacity:0.6;
}.profile-con .bold {
	font-weight:bold;
  font-size:30px;
  margin-bottom: 10px;
}
.profile-con p .black{
  background:#000;
	color:#fff;
	padding:0 5px;
	margin-right:15px;
  line-height: 1;
}*/
/*.profile-con img{
  width: 20%;
  height: 90px;
  background: #aaa;
}
.profile iframe {
  display: block;
}*/
/*------------
reason
--------------*/
.reason .title {
  position: relative;
  font-size: 60px;
  padding: 40px 30px 40px 150px;
  text-align: center;
  background: #f0f0f1;
  color: #000;
}
.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: 30px 0;
  margin-bottom: 50px;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 35%, var(--main-color) 35%);
}
.reason-img {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.reason-img .num {
  background: url(images/reason-num-bg.png) no-repeat;
  background-size: cover;
  aspect-ratio: 156/184;
  width: 156px;
  height: auto;
  text-align: center;
  padding: 20px 0 0;
  font-size: 32px;
  font-weight: bold;
}
.reason-img .num span {
  font-size: 60px;
  display: block;
  line-height: 1;
  line-height: 1;
}
.reason-con-inner {
  width: 95%;
  margin: auto;
}

.reason-con dt {
  color: #fff;
  font-size: 60px;
  font-size: 36px;
  font-weight: bold;
  border-bottom: 5px solid #fff;
  padding: 10px;
}
.reason-con dd {
  background: #fff;
  border-radius: 10px;
  margin-top: 20px;
  padding: 20px;
  font-size: 32px;
}
/**/
.area01 {
  margin: 150px auto 50px;
}
.box-dashed {
  padding: 30px;
  margin: 50px auto;
  border: 1px dashed #222;
  font-size: 28px;
}
.area01 h2 {
  color: #fff;
  background: #222;
  font-size: 44px;
  text-align: center;
  padding: 10px 20px;
  position: relative;
  margin: 0 auto 30px;
  width: max-content;
	line-height:1.5;
}
.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 .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-wrap{
  background: #eaeff0;
  width: 100%;
  padding-bottom: 50px;
}
.cta{
  text-align: center;
  width: 90%;
  margin:  auto;
  border: 10px solid #efad4e;
  padding: 30px;
  background: #fff;
}
.cta .serif{
  font-weight: bold;
  font-size: 38px;
  margin: 0 auto;
  line-height: 1.8;
}
.cta .serif span{
  background: #222;
  color: #edcb05;
  display: inline-block;
  padding: 0 10px;
}
.cta .tel{
  margin: 30px 0;
  display: block;
  background: #fdffd1;
  padding: 20px 0;
}
.cta .tel > .tel-num{
  font-weight: bold;
  font-size: 65px;
  position: relative;
  width: max-content;
  margin: auto;
  padding-left: 70px;
  line-height: 1;
}
.cta .tel > .tel-num::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;
  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 h2{
  border-top: 5px solid #222;
  border-bottom: 5px solid #222;
  width: 80%;
  font-size: 44px;
  margin: 0 auto 50px;
  text-align: center;
  padding: 30px;
  line-height: 1.5;
}
.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-inner 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 > p{
  font-size: 30px;
}
.reassure-area-txt > p:not(:last-of-type){
  margin-bottom:40px;
}
.reassure-area-txt img {
  display: block;
  margin: auto;
}
.yellow-balloon {
  background: #fff7c0;
  /*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: 30px;
  border-radius: 10px;
  font-weight: bold;
  margin: 50px 0 30px;
  box-sizing: border-box;
  position: relative;
}
.yellow-balloon::before{
  content: "";
  position: absolute;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #fff7c0;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 21px;
  height: 22px;
}
/*------------
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;
  margin: 40px auto;
  box-sizing: border-box;
  position: relative;
}

.case-content > p{
  position: absolute;
  left: 30px;
  top: 0;
  background: #222222;
  color: #fff;
  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 img{
  width: 30%;
  height: auto;
  margin: 40px auto;
  display: block;
}
.case-content dt{
  width: max-content;
  margin: 0 auto 30px;
}
.case-content dd{
  padding: 30px 20px;
}
.case-content dd .ttl{
  display: block;
  margin-bottom: 30px;
}
.case-content dd span{
  font-weight: bold;
}
.case-content dd:first-of-type{
  background: #f1f1f1;
}
.case-content dd:not(:last-of-type){
  margin-bottom: 20px;
}
/*
.case-inner p{
  margin-bottom: 0;
}
.case-inner .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-ttl{
	text-align:center;
	font-size:35px;
	color:#ff1209;
	margin:40px 0 20px;
}
.fee-ttl span{
	font-size:24px;
	text-align:center;
	margin:auto;
	display:block;
	color:#000;
	margin-top:10px;
}
.fee h3{
	text-align:center;
	margin-bottom:20px;
  font-size: 28px;
  line-height: 1.5;
}
.fee table {
  width: 95%;
  margin: auto;
}
.fee table:not(:first-of-type){
  margin-bottom: 50px;
}
.fee th,
.fee td {
  border: 1px solid #909090;
  font-weight: 400;
  padding: 10px;
  font-size: 20px;
  text-align: center;
}
.fee th:not(:first-of-type){
  background: #fff7c0;
}
.fee th:first-of-type{
  background: #b8c9cc;
}
.fee td:first-of-type{
  text-align: left;
}
.fee > p{
  font-size: 22px;
  width: 95%;
  margin: 10px auto 50px;
  font-weight: bold;
}
.fee td li{
  padding-left: 20px;
  position: relative;
}
.fee td li::before{
  content: "・";
  position: absolute;
  left: 0;
}
.fee-sub-ttl{
  color: #fff;
  font-size: 36px;
  background: #222222;
  width: max-content;
  margin: auto;
  padding: 5px 50px;
}
.fee-txt{
  margin:10px auto 40px;
	font-size:20px;
	width:95%;
  font-size: 25px;
}
.fee-txt p:not(:last-of-type){
  margin-bottom: 20px;
}
/*------------
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;
  overflow: hidden;
}
.flow li span {
  z-index: 9;
  font-size: 72px;
  display: block;
  color: #fff;
  text-align: center;
  font-weight: bold;
  line-height: 148px;
  position: relative;
  width: 133px;
}
.flow li span::before{
  content: "";
  position: absolute;
  clip-path: polygon(0 0, 60% 0, 100% 100%, 0% 100%);
  aspect-ratio: 133/148;
  width: 133px;
  height: auto;
  background: var(--main-color);
  z-index: -1;
  left: 0;
}
.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;
  height: auto;
}
/*------------
qa
--------------*/
.qa-list li {
  padding: 20px 5%;
}
.qa-list li:nth-of-type(odd) {
  background: #eeeeee;
  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:var(--main-color);
	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: var(--main-color);
  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;
}
.fixed-banner{
  position: fixed;
  bottom: 50px;
  right: 0;
  z-index: 99;
}
.fixed-banner.hidden{
  display: none;
}
.fixed-banner a:hover{
  opacity: 0.8;
}
.fixed-banner > p{
  cursor: pointer;
  font-weight: bold;
  position: absolute;
  right: 0;
  top: -20px;
  background: #888;
  color: #fff;
  border-radius: 50%;
  line-height: 1;
  padding: 5px;
  font-size: 24px;
  z-index: 999;
}
.wpcf7-turnstile{
	width:max-content;
	margin:auto;
}
.thanks p{
	margin-bottom:30px;
	font-size:22px;
}