body {
  font-family: "Noto Sans JP", sans-serif;
}

img {
  width: 100%;
}

.container {
  max-width: 1060px;
  margin: auto;
  padding: 0 30px;
}

img {
  vertical-align: bottom;
}

a {
  transition: all .3s;
}

a:hover {
  opacity: .8;
}

.tab-small-show {
  display: none;
}

header h1{
	position: relative;
}
.fv_cta_wrap{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 10px;
}
header h1 .fv_cta_flex{
	display: flex;
	gap:20px;
	}
@media screen and (max-width: 700px) {
  .tab-small-show {
    display: block;
  }
}

@media screen and (max-width: 700px) {
  .tab-small-hide {
    display: none;
  }
	.fv_cta_wrap{
		width: 90%;
	}
}

.section-title {
  font-size: 35px;
  text-align: center;
}

@media screen and (max-width: 900px) {
  .section-title {
    font-size: 30px;
  }
}

@media screen and (max-width: 700px) {
  .section-title {
    font-size: 23px;
  }
}

@media screen and (max-width: 500px) {
  .section-title {
    font-size: 25px;
  }
}

.cta-section {
  background-image: url(../images/cta-section-bg.png);
  background-position: center;
  background-size: cover;
  padding: 50px 0;
}

@media screen and (max-width: 700px) {
  .cta-section {
    padding: 30px 0 30px;
    background-image: url(../images/cta-section-bg-sp.png);
  }
}

.cta-section .container h2 {
  max-width: 630px;
  margin: auto;
}

@media screen and (max-width: 900px) {
  .cta-section .container h2 {
    width: 80%;
  }
}

@media screen and (max-width: 700px) {
  .cta-section .container h2 {
    width: 92%;
  }
}

.cta-section .container .cta-content {
  background-color: #fff;
  margin-top: 30px;
  padding: 45px 50px 30px;
  text-align: center;
}

@media screen and (max-width: 900px) {
  .cta-section .container .cta-content {
    padding: 35px 30px 30px;
  }
}

@media screen and (max-width: 700px) {
  .cta-section .container .cta-content {
    padding: 25px 20px 27px;
    margin-top: 22px;
  }
}

.cta-section .container .cta-content h3 {
  color: #3f3f3f;
  text-align: center;
  font-size: 30px;
  padding-left: 30px;
  padding-right: 30px;
  border-bottom: 1px solid #000;
  display: inline-block;
  padding-bottom: 20px;
}

@media screen and (max-width: 900px) {
  .cta-section .container .cta-content h3 {
    font-size: 25px;
    padding: 0 20px 14px;
  }
}

@media screen and (max-width: 700px) {
  .cta-section .container .cta-content h3 {
    font-size: 4vw;
    padding-left: 20px;
    padding-right: 20px;
    padding: 0 20px 14px;
  }
}

@media screen and (max-width: 500px) {
  .cta-section .container .cta-content h3 {
    font-size: 3.75vw;
  }
}

.cta-section .container .cta-content .cta-item-flex {
  display: flex;
  gap: 30px;
  margin-top: 30px;
}

@media screen and (max-width: 700px) {
  .cta-section .container .cta-content .cta-item-flex {
    flex-direction: column;
    gap: 20px;
    margin-top: 24px;
  }
}

.top-price {
  background-image: url(../images/top-price-bg.png);
  background-size: cover;
  background-position: center;
}

.top-price .container {
  padding-top: 30px;
  padding-bottom: 30px;
}

@media screen and (max-width: 900px) {
  .top-price .container {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

@media screen and (max-width: 700px) {
  .top-price .container {
    padding-top: 0;
    padding-bottom: 30px;
    padding-right: 0px;
  }
}
.reason {
  background-image: url(../images/reason_bg.jpg);
  background-size: cover;
  background-position: center;
}

.reason .container {
  padding-top: 70px;
  padding-bottom: 70px;
	max-width: 940px;
}
.reason-item-wrap{
	display: flex;
	gap: 30px;
}

.reason-item-wrap .reason-item img{
box-shadow: 4px 4px 30px rgba(0, 0, 0, .11);
	border-radius: 14px;
}
.reason .reason-ttl{
	margin-bottom: 30px;
	max-width: 591px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 900px) {
  .reason .container {
    padding-top: 70px;
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 700px) {
  .reason .container {
    padding-top: 35px;
    padding-bottom: 30px;
  }
.reason-item-wrap .reason-item:not(:last-child){
	margin-bottom: 20px;
	}
.reason-item-wrap{
	display: block;
	gap: 0;
}
	.reason .reason-ttl{
		max-width: 269px;
	}
}
.reason_real {
	background: linear-gradient(0deg, #E2F6FF 0%, #EDF9FF 100%);

}

.reason_real .container {
  padding: 30px 0 0;
	max-width: 100%;
}
@media screen and (max-width: 900px) {
  .reason_real .container {
    padding-top: 30px;
  }
}

@media screen and (max-width: 700px) {
  .reason_real .container {
    padding-top: 10px;
    padding-right: 0px;
  }
}
.hontouni {
	background: #1C2B4C;
	position: relative;
}

.hontouni::after {
	content: "";
	position: absolute;
    left: 50%;
	transform: translateX(-50%);
    border: 53.5px solid transparent;
    border-top: 55px solid #1C2B4C; 
}

.hontouni .container {
  padding: 30px 0;
	max-width: 704px;
}
@media screen and (max-width: 900px) {
  .hontouni .container {
  }
}

@media screen and (max-width: 700px) {
  .hontouni .container {
	max-width: 100%;
	  padding: 10px;
  }
	.hontouni::after {
    border: 17px solid transparent;
    border-top: 25px solid #1C2B4C;
}
}
.genin {
  background-image: url(../images/genin_bg.jpg);
  background-size: cover;
  background-position: center;
}

.genin .container {
  padding-top: 30px;
  padding-bottom: 30px;
	margin-left: auto;
	margin-right: min(4.166666666666666vw,50px);
	padding-left: 0;
	padding-right: 0;
}

@media screen and (min-width: 1000px) {
	.genin .container {
	max-width: max(83.33333333333334vw,1000px);
	}
}
@media screen and (max-width: 900px) {
  .genin .container {
    padding-top: 30px;
    padding-bottom: 30px;
	  
  }
}

@media screen and (max-width: 700px) {
  .genin .container {
    padding-top: 30px;
    padding-bottom: 30px;
	  margin-right:0;
	padding-left: 30px;
	padding-right: 30px;
  }
}
.repeater-section {
  padding-top: 105px;
  padding-bottom: 50px;
  background-image: url(../images/repeater-section-bg-new.png);
  background-size: cover;
  background-position: top center;
  background-color: #EEF7FF;
}

@media screen and (max-width: 900px) {
  .repeater-section {
    padding-top: 80px;
  }
}

@media screen and (max-width: 700px) {
  .repeater-section {
    background-image: url(../images/repeater-section-bg-sp.png);
    padding-top: 40px;
  }
}

.repeater-section .container h2 {
  max-width: 880px;
  margin: auto;
}

@media screen and (max-width: 700px) {
  .repeater-section .container h2 {
    width: 95%;
  }
}

.repeater-section .container .lead {
  font-size: 20px;
  line-height: 1.7;
  text-align: center;
  margin-top: 35px;
}

@media screen and (max-width: 900px) {
  .repeater-section .container .lead {
    font-size: 2.3vw;
  }
}

@media screen and (max-width: 700px) {
  .repeater-section .container .lead {
    font-size: 3.45vw;
    width: 90%;
    margin: auto;
    margin-top: 22px;
  }
}

.repeater-section .container .text {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.85;
  margin-top: 30px;
}

@media screen and (max-width: 900px) {
  .repeater-section .container .text {
    font-size: 2.5vw;
  }
}

@media screen and (max-width: 700px) {
  .repeater-section .container .text {
    font-size: 3.5vw;
    width: 92%;
    margin: auto;
    margin-top: 22px;
  }
}

.repeater-section .container .text span {
  color: #ED1051;
}

.repeater-section .container .repeater-section-item {
  margin-top: 30px;
}

@media screen and (max-width: 900px) {
  .repeater-section .container .repeater-section-item {
    margin-top: 20px;
  }
}

@media screen and (max-width: 700px) {
  .repeater-section .container .repeater-section-item {
    margin-top: 6px;
  }
}

.repeater-section .container .repeater-section-item.bottom-item {
  margin-top: 60px;
}

@media screen and (max-width: 900px) {
  .repeater-section .container .repeater-section-item.bottom-item {
    margin-top: 50px;
  }
}

@media screen and (max-width: 700px) {
  .repeater-section .container .repeater-section-item.bottom-item {
    margin-top: 35px;
  }
}

.ninki {
  background-image: url(../images/ninki_bg.jpg);
  background-size: cover;
  background-position: center;
}

.ninki .container {
  padding-top: 100px;
  padding-bottom: 100px;
}
.ninki-item-wrap{
	display: flex;
	gap: 30px;
}

.ninki .ninki-ttl{
	margin-bottom: 70px;
	max-width: 657px;
	margin-left: auto;
	margin-right: auto;
}
.ninki-item{
	position: relative;
}

.ninki-item::before{
	content: "";
	position: absolute;
	top: 0;
	left: -30px;
	background: url(../images/point1.png);
	width: 116.77px;
	height: auto;
	aspect-ratio:116.77/50.89;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	transform: translateY(-50%) rotate(-7deg);
}
.ninki-item:nth-child(2)::before{
	background-image: url(../images/point2.png);
	
}
.ninki-item:nth-child(3)::before{
	background-image: url(../images/point3.png);
	
}

@media screen and (max-width: 900px) {
  .ninki .container {
    padding-top: 70px;
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 700px) {
  .ninki .container {
    padding-top: 35px;
    padding-bottom: 30px;
  }
	.ninki-item-wrap{
		display: block;
		gap:0;
	}
	.ninki-item-wrap .ninki-item:not(:last-child){
		margin-bottom: 50px;
	}
}

.onayanami {
  background-image: url(../images/onayami_bg.jpg);
  background-size: cover;
  background-position: center bottom;
}

.onayanami .container {
  padding-top: 30px;
  padding-bottom: 0px;
}

.onayanami .onayanami-ttl{
	margin-bottom: 50px;
	max-width: 806px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 900px) {
  .onayanami .container {
    padding-top: 30px;
  }
}

@media screen and (max-width: 700px) {
  .onayanami .container {
    padding-top: 30px;
  }
}
.kanzen {
  background-image: url(../images/kanzen_bg.jpg);
  background-size: cover;
  background-position: center;
}

.kanzen .container {
  padding-top: 50px;
  padding-bottom: 50px;
}

.kanzen .kanzen-ttl{
	max-width: 651px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 900px) {
  .kanzen .container {
    padding-top: 30px;
  }
}

@media screen and (max-width: 700px) {
  .kanzen .container {
    padding-top: 30px;
    padding-bottom: 30px;
  }
.kanzen {
  background-image: url(../images/kanzen_bg-sp.jpg);
  background-size: cover;
  background-position: center;
}
}
.sns-section {
  padding-top: 155px;
  background-size: cover;
  background-position: top center;
  background-image: url(../images/sns-section-bg-pc.png);
  position: relative;
}

@media screen and (max-width: 1200px) {
  .sns-section {
    background-image: url(../images/sns-section-bg-new.png);
    position: static;
  }
}

@media screen and (max-width: 900px) {
  .sns-section {
    padding-top: 120px;
  }
}

@media screen and (max-width: 700px) {
  .sns-section {
    padding-top: 95px;
    background-image: url(../images/sns-section-bg-sp.png);
  }
}

.sns-section .bg-arrow {
  width: 460px;
  margin: auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 910px;
}

@media screen and (max-width: 1200px) {
  .sns-section .bg-arrow {
    display: none;
  }
}

.sns-section .container {
  max-width: 1170px;
}

.sns-section .container h2 {
  max-width: 505px;
  margin: auto;
}

.sns-section .container h2 + picture{
	margin-top: 30px;
	margin-bottom: 30px;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	display: block;
}

.sns-section .container h2 + picture img{
	box-shadow: 4px 4px 4px rgba(0,0,0,.25);
}
@media screen and (max-width: 900px) {
  .sns-section .container h2 {
    max-width: 430px;
  }
}

@media screen and (max-width: 700px) {
	.sns-section .container{
		padding: 0 15px;
	}
  .sns-section .container h2 {
    max-width: 430px;
    width: 75%;
  }
}

.sns-section .container .text {
  margin-top: 25px;
  font-size: 19px;
  line-height: 1.7;
  text-align: center;
  font-weight: bold;
}

@media screen and (max-width: 900px) {
  .sns-section .container .text {
    font-size: 17px;
  }
}

@media screen and (max-width: 700px) {
  .sns-section .container .text {
    font-size: 3.2vw;
    margin-top: 17px;
  }
}

.sns-section .container .text span {
  color: #ED1051;
}

.sns-section .container .three-item {
  margin-top: 10px;
}

@media screen and (max-width: 700px) {
  .sns-section .container .three-item {
    margin-top: 25px;
  }
}

.sns-section .container h3 {
  max-width: 925px;
  margin: auto;
}

@media screen and (max-width: 900px) {
  .sns-section .container h3 {
    max-width: 700px;
  }
}

@media screen and (max-width: 700px) {
  .sns-section .container h3 {
    margin-top: -65px;
  }
}

@media screen and (max-width: 500px) {
  .sns-section .container h3 {
    margin-top: -40px;
  }
}

.sns-section .container .item-wrapper {
  display: flex;
  flex-wrap: wrap;
  max-width: 700px;
  margin: auto;
  margin-top: 22px;
  gap: 20px;
  place-items: center;
  justify-content: center;
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 900px) {
  .sns-section .container .item-wrapper {
    max-width: 550px;
  }
}

@media screen and (max-width: 700px) {
  .sns-section .container .item-wrapper {
    margin-top: -10px;
    gap: 0px 10px;
  }
}

.sns-section .container .item-wrapper .item {
  width: calc(50% - 10px);
}

@media screen and (max-width: 700px) {
  .sns-section .container .item-wrapper .item {
    width: calc(50% - 5px);
  }
}

.sns-section .container .item-wrapper .item iframe {
  width: 100% !important;
  min-width: initial !important;
}

.sns-section .bottom-item {
  max-width: 1200px;
  margin: auto;
  padding-left: 100px;
}

@media screen and (max-width: 900px) {
  .sns-section .bottom-item {
    padding-left: 50px;
  }
}

@media screen and (max-width: 700px) {
  .sns-section .bottom-item {
    padding-left: 30px;
    padding-right: 15px;
    margin-top: 20px;
  }
}

.anshin {
  background-image: url(../images/anshin_bg.jpg);
  background-size: cover;
  background-position: top center;
}

.anshin .container {
  padding-top: 100px;
  padding-bottom: 100px;
	max-width: 880px;
}

.anshin .anshin-ttl{
	max-width: 755px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
}
.anshin .anshin-item img{
	box-shadow: 4px 4px 4px rgba(0,0,0,.25);
	border-radius: 15px;
}
.anshin .anshin-item:not(:last-child){
	margin-bottom: 3rem;
}
@media screen and (max-width: 900px) {
  .kanzen .container {
    padding-top: 30px;
  }
}

@media screen and (max-width: 700px) {
	.anshin .container{
		padding-top: 70px;
		padding-bottom: 70px;
	}
  .kanzen .container {
    padding-top: 30px;
  }
}
.reputation-section {
  padding-top: 135px;
  padding-bottom: 200px;
  background-image: url(../images/reputation-section-bg.jpg);
  background-size: cover;
  background-position: top center;
}
.reputation-section .section-title{
	margin-bottom: 30px;
}
.reputation-section .container{
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}
.voice_slider .voice_slider_item{
	margin: 0 20px;
}
.slick-slide img{
	box-shadow: 4px 4px 30px rgba(0,0,0,.11);
}
.slick-dots{
	bottom:-90px!important;
}
.slick-dots li button:before{
	font-size: 18px!important;
	color: #7979FF!important;
}
@media screen and (max-width: 700px) {
	.voice_slider .voice_slider_item{
		margin: 0 5px;
	}
  .reputation-section {
    padding-top: 85px;
    padding-bottom: 75px;
    background-image: url(../images/reputation-section-bg-sp.jpg);
  }
.slick-dots{
	bottom:-70px!important;
}
.slick-dots li button:before{
	font-size: 16px!important;
	color: #7979FF!important;
}
	.slick-dots li{
		width: 15px;
		height: 15px;
	}
}



.price-section {
  padding-top: 145px;
  padding-bottom: 105px;
  background-image: url(../images/price-section-bg.png);
  background-size: cover;
  background-position: top center;
}

@media screen and (max-width: 900px) {
  .price-section {
    padding-top: 100px;
    padding-bottom: 80px;
  }
}

@media screen and (max-width: 700px) {
  .price-section {
    padding-top: 44px;
    padding-bottom: 64px;
    background-image: url(../images/price-section-bg-sp.png);
  }
}

.price-section .container .price-simulation {
  background-color: #fff;
}

.price-section .container .price-simulation .price-simulation-title {
  border-radius: 8px 8px 0 0;
  background-color: #F36C28;
  padding-top: 23px;
  padding-bottom: 15px;
}

@media screen and (max-width: 900px) {
  .price-section .container .price-simulation .price-simulation-title {
    padding: 30px 35px 17px;
    border-radius: 4px 4px 0 0;
  }
}

.price-section .container .price-simulation .price-simulation-title h2 {
  max-width: 400px;
  margin: auto;
}

.price-section .container .price-simulation .price-simulation-content {
  border: 5px solid #F36C28;
  padding: 33px 105px 45px;
  border-radius: 0px 0px 8px 8px;
}

@media screen and (max-width: 900px) {
  .price-section .container .price-simulation .price-simulation-content {
    padding: 33px 40px 45px;
    border-radius: 0px 0px 4px 4px;
  }
}

@media screen and (max-width: 700px) {
  .price-section .container .price-simulation .price-simulation-content {
    border: 2px solid #F36C28;
    padding: 35px 15px 35px;
  }
}

@media screen and (max-width: 500px) {
  .price-section .container .price-simulation .price-simulation-content {
    padding: 22px 15px 22px;
  }
}

.price-section .container .price-simulation .price-simulation-content .content-question {
  display: none;
}

.price-section .container .price-simulation .price-simulation-content .content-question.on {
  display: block;
}

.price-section .container .price-simulation .price-simulation-content .content-question .question-text {
  text-align: center;
  font-size: 25px;
  font-weight: 600;
  line-height: 1.65;
}

@media screen and (max-width: 900px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .question-text {
    font-size: 20px;
  }
}

@media screen and (max-width: 700px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .question-text {
    font-size: 17px;
  }
}

@media screen and (max-width: 500px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .question-text {
    font-size: 14px;
  }
}

.price-section .container .price-simulation .price-simulation-content .content-question .btn-flex {
  display: flex;
  gap: 24px;
  margin-top: 34px;
}

@media screen and (max-width: 700px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .btn-flex {
    gap: 7px;
    margin-top: 23px;
  }
}

@media screen and (max-width: 500px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .btn-flex {
    gap: 7px;
    margin-top: 18px;
  }
}

.price-section .container .price-simulation .price-simulation-content .content-question .btn-flex .btn-item {
  cursor: pointer;
  transition: opacity .3s;
}

.price-section .container .price-simulation .price-simulation-content .content-question .btn-flex .btn-item:hover {
  opacity: .75;
}

.price-section .container .price-simulation .price-simulation-content .content-question .back-btn {
  max-width: 394px;
  margin: auto;
  margin-top: 35px;
  cursor: pointer;
  transition: opacity .3s;
}

@media screen and (max-width: 900px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .back-btn {
    max-width: 300px;
  }
}

@media screen and (max-width: 700px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .back-btn {
    max-width: 220px;
    margin-top: 22px;
  }
}

@media screen and (max-width: 500px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .back-btn {
    max-width: 200px;
    margin-top: 20px;
  }
}

.price-section .container .price-simulation .price-simulation-content .content-question .back-btn:hover {
  opacity: .75;
}

.price-section .container .price-simulation .price-simulation-content .content-question .result-text {
  margin-top: 20px;
  font-size: 30px;
  font-weight: 600;
  text-align: center;
  color: white;
  padding: 25px 0;
  border-radius: 100vh;
  line-height: 1.05;
  background-color: #F36C28;
}

@media screen and (max-width: 900px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-text {
    font-size: 24px;
    padding: 20px 0;
    margin-top: 10px;
  }
}

@media screen and (max-width: 700px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-text {
    font-size: 20px;
    padding: 13px 0;
  }
}

@media screen and (max-width: 500px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-text {
    font-size: 17px;
    padding: 11px 0;
  }
}

.price-section .container .price-simulation .price-simulation-content .content-question .result-price-wrapper {
  text-align: center;
}

.price-section .container .price-simulation .price-simulation-content .content-question .result-price {
  font-size: 68px;
  font-weight: 600;
  padding-left: 15px;
  padding-right: 15px;
  position: relative;
  display: inline-block;
  margin-top: 15px;
}

@media screen and (max-width: 900px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-price {
    font-size: 53px;
  }
}

@media screen and (max-width: 700px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-price {
    font-size: 46px;
    padding-left: 8px;
    padding-right: 8px;
    margin-top: 12px;
  }
}

@media screen and (max-width: 500px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-price {
    font-size: 30px;
  }
}

.price-section .container .price-simulation .price-simulation-content .content-question .result-price::before {
  content: '';
  background-color: #FFDBCA;
  width: 100%;
  height: 13px;
  border-radius: 22px;
  position: absolute;
  bottom: 11px;
  z-index: 1;
  left: 0px;
}

@media screen and (max-width: 900px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-price::before {
    height: 9px;
    bottom: 9px;
  }
}

@media screen and (max-width: 500px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-price::before {
    height: 6px;
    bottom: 6px;
  }
}

.price-section .container .price-simulation .price-simulation-content .content-question .result-price .orange {
  color: #F36C28;
}

.price-section .container .price-simulation .price-simulation-content .content-question .result-price .small {
  font-size: .5em;
  position: relative;
  z-index: 2;
}

.price-section .container .price-simulation .price-simulation-content .content-question .result-price .price-text {
  font-family: "Roboto";
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  font-weight: 600;
  padding-right: 5px;
  padding-left: 5px;
  position: relative;
  z-index: 2;
}

.price-section .container .price-simulation .price-simulation-content .content-question .result-content {
  background-color: #FFF7F4;
  padding: 50px 30px 45px;
  max-width: 565px;
  margin: auto;
  margin-top: 50px;
}

@media screen and (max-width: 900px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-content {
    margin-top: 35px;
  }
}

@media screen and (max-width: 700px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-content {
    margin-top: 27px;
    padding-top: 32px;
    padding-bottom: 22px;
  }
}

@media screen and (max-width: 500px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-content {
    margin-top: 20px;
    margin-left: 12px;
    margin-right: 12px;
    margin-bottom: 12px;
  }
}

.price-section .container .price-simulation .price-simulation-content .content-question .result-content ul {
  margin: auto;
  max-width: 450px;
}

.price-section .container .price-simulation .price-simulation-content .content-question .result-content ul li {
  background-size: 10px auto;
  font-size: 18px;
  margin-bottom: 23px;
  position: relative;
  padding-left: 25px;
}

@media screen and (max-width: 700px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-content ul li {
    padding-left: 23px;
  }
}

.price-section .container .price-simulation .price-simulation-content .content-question .result-content ul li::before {
  content: '';
  left: 0;
  top: 3px;
  position: absolute;
  width: 20px;
  height: 20px;
  background-image: url(../images/price-section-list-icon.png);
  background-size: cover;
}

@media screen and (max-width: 700px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-content ul li::before {
    width: 18px;
    height: 18px;
    top: 3px;
  }
}

@media screen and (max-width: 500px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-content ul li::before {
    width: 16px;
    height: 16px;
    top: 2px;
  }
}

@media screen and (max-width: 900px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-content ul li {
    font-size: 16px;
    margin-bottom: 18px;
  }
}

@media screen and (max-width: 500px) {
  .price-section .container .price-simulation .price-simulation-content .content-question .result-content ul li {
    font-size: 14px;
    margin-bottom: 15px;
  }
}

.price-section .container .section-title {
  margin-top: 100px;
}

@media screen and (max-width: 900px) {
  .price-section .container .section-title {
    margin-top: 75px;
  }
}

@media screen and (max-width: 700px) {
  .price-section .container .section-title {
    margin-top: 55px;
  }
}

.price-section .container .price-section-lead {
  margin-top: 22px;
  text-align: center;
  font-weight: 600;
  font-size: 15px;
}

@media screen and (max-width: 700px) {
  .price-section .container .price-section-lead {
    font-size: 13px;
    margin-top: 16px;
  }
}

.price-section .container .price-section-table-wrapper {
  max-width: 860px;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 50px;
  margin-top: 35px;
}

@media screen and (max-width: 700px) {
  .price-section .container .price-section-table-wrapper {
    margin-top: 23px;
    gap: 37px;
  }
}

.comparison-section {
  background-image: url(../images/comparison-section-bg.jpg);
  background-size: cover;
  background-position: top center;
  padding: 150px 0 70px;
}

@media screen and (max-width: 900px) {
  .comparison-section {
    padding: 100px 0 60px;
  }
}

@media screen and (max-width: 700px) {
  .comparison-section {
    padding: 80px 0 70px;
    background-image: url(../images/comparison-section-bg-sp.png);
  }
}

@media screen and (max-width: 700px) {
  .comparison-section .container {
    padding: 0 30px;
  }
}

.comparison-section .container h2 {
  margin-bottom: 50px;
}

@media screen and (max-width: 700px) {
  .comparison-section .container h2 {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 500px) {
  .comparison-section .container h2 {
    margin-bottom: 25px;
  }
}

@media screen and (max-width: 700px) {
  .comparison-section .container .comparison-section-item {
    overflow-x: scroll;
    transform: translateX(-2px);
  }
}

@media screen and (max-width: 700px) {
  .comparison-section .container .comparison-section-item source, .comparison-section .container .comparison-section-item img {
    min-width: 600px;
    width: 100%;
  }
}

@media screen and (max-width: 500px) {
  .comparison-section .container .comparison-section-item source, .comparison-section .container .comparison-section-item img {
    min-width: 500px;
    width: 100%;
  }
}

.available-section {
  background-color: #F8FFF5;
  padding: 90px 0 100px;
}

@media screen and (max-width: 900px) {
  .available-section {
    padding: 70px 0 80px;
  }
}

@media screen and (max-width: 700px) {
  .available-section {
    padding: 50px 0 50px;
  }
}

.available-section .container h2 {
  margin-bottom: 70px;
}

@media screen and (max-width: 900px) {
  .available-section .container h2 {
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 700px) {
  .available-section .container h2 {
    margin-bottom: 32px;
  }
}

.flow-section {
  background-color: #F7F7F7;
  background-image: url(../images/flow-section-bg.png);
  background-size: cover;
  background-position: top center;
  padding: 140px 0 115px;
}

@media screen and (max-width: 900px) {
  .flow-section {
    padding: 110px 0 90px;
  }
}

@media screen and (max-width: 700px) {
  .flow-section {
    padding: 80px 0 45px;
    background-image: url(../images/flow-section-bg-sp.png);
  }
}

.flow-section .container h2 {
  margin-bottom: 52px;
}

@media screen and (max-width: 700px) {
  .flow-section .container h2 {
    margin-bottom: 0;
  }
}

.flow-section .container .flow-section-item {
  display: flex;
  gap: 55px;
  background-color: #fff;
  border-radius: 10px;
  border: 5px solid #D9D9D9;
  padding: 23px 23px 35px;
  max-width: 800px;
  margin: auto;
  margin-top: 45px;
  position: relative;
}

@media screen and (max-width: 900px) {
  .flow-section .container .flow-section-item {
    gap: 40px;
  }
}

@media screen and (max-width: 700px) {
  .flow-section .container .flow-section-item {
    padding: 25px 5px;
    padding-right: 20px;
    gap: 17px;
    align-items: center;
    border: 1px solid #D9D9D9;
    border-radius: 3px;
    margin-top: 23px;
  }
}

.flow-section .container .flow-section-item .flow-section-item-img {
  max-width: 200px;
}

@media screen and (max-width: 900px) {
  .flow-section .container .flow-section-item .flow-section-item-img {
    max-width: 180px;
  }
}

@media screen and (max-width: 700px) {
  .flow-section .container .flow-section-item .flow-section-item-img {
    min-width: 140px;
    max-width: 140px;
  }
}

@media screen and (max-width: 500px) {
  .flow-section .container .flow-section-item .flow-section-item-img {
    max-width: 100px;
    min-width: 100px;
  }
}

.flow-section .container .flow-section-item .flow-section-item-texts {
  margin-top: 18px;
}

@media screen and (max-width: 700px) {
  .flow-section .container .flow-section-item .flow-section-item-texts {
    margin-top: 0;
  }
}

.flow-section .container .flow-section-item .flow-section-item-texts h3 {
  font-size: 21px;
}

@media screen and (max-width: 900px) {
  .flow-section .container .flow-section-item .flow-section-item-texts h3 {
    font-size: 19px;
  }
}

@media screen and (max-width: 700px) {
  .flow-section .container .flow-section-item .flow-section-item-texts h3 {
    font-size: 15px;
  }
}

.flow-section .container .flow-section-item .flow-section-item-texts .text {
  margin-top: 14px;
  line-height: 1.8;
  font-size: 15px;
}

@media screen and (max-width: 900px) {
  .flow-section .container .flow-section-item .flow-section-item-texts .text {
    font-size: 14px;
  }
}

@media screen and (max-width: 700px) {
  .flow-section .container .flow-section-item .flow-section-item-texts .text {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.7;
  }
}

.flow-section .container .flow-section-item .arrow {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -30px;
  width: 145px;
}

@media screen and (max-width: 700px) {
  .flow-section .container .flow-section-item .arrow {
    width: 70px;
    bottom: -10px;
  }
}

.faq-section {
  padding: 95px 0;
}

@media screen and (max-width: 900px) {
  .faq-section {
    padding: 70px 0;
  }
}

@media screen and (max-width: 700px) {
  .faq-section {
    padding: 50px 0 37px;
  }
}

.faq-section .container {
  max-width: 960px;
}

.faq-section .container .section-title {
  margin-bottom: 60px;
}

@media screen and (max-width: 900px) {
  .faq-section .container .section-title {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 700px) {
  .faq-section .container .section-title {
    margin-bottom: 32px;
  }
}

.faq-section .container .faq-item {
  margin-top: 25px;
  border-radius: 10px;
  background-color: #f7f7f7;
  border: 5px solid #E0E0E0;
  padding: 30px 80px 35px;
}

@media screen and (max-width: 900px) {
  .faq-section .container .faq-item {
    padding: 30px 40px 35px;
  }
}

@media screen and (max-width: 700px) {
  .faq-section .container .faq-item {
    padding: 15px 30px 25px;
    border-radius: 3px;
    border-width: 1px;
    margin-top: 15px;
  }
}

.faq-section .container .faq-item .faq-question {
  display: flex;
  gap: 32px;
  border-bottom: 1px solid #BDBDBD;
  margin-bottom: 13px;
  padding-bottom: 20px;
}

@media screen and (max-width: 700px) {
  .faq-section .container .faq-item .faq-question {
    gap: 20px;
    padding-bottom: 15px;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 500px) {
  .faq-section .container .faq-item .faq-question {
    gap: 15px;
  }
}

.faq-section .container .faq-item .faq-question .icon {
  color: #F36C28;
  font-weight: bold;
  font-size: 45px;
}

@media screen and (max-width: 700px) {
  .faq-section .container .faq-item .faq-question .icon {
    font-size: 28px;
  }
}

@media screen and (max-width: 500px) {
  .faq-section .container .faq-item .faq-question .icon {
    font-size: 24px;
  }
}

.faq-section .container .faq-item .faq-question h3 {
  margin-top: 15px;
  font-size: 23px;
  line-height: 1.6;
}

@media screen and (max-width: 700px) {
  .faq-section .container .faq-item .faq-question h3 {
    font-size: 18px;
    margin-top: 10px;
  }
}

@media screen and (max-width: 500px) {
  .faq-section .container .faq-item .faq-question h3 {
    font-size: 16px;
  }
}

.faq-section .container .faq-item .faq-answer {
  display: flex;
  gap: 32px;
}

@media screen and (max-width: 700px) {
  .faq-section .container .faq-item .faq-answer {
    gap: 20px;
  }
}

@media screen and (max-width: 500px) {
  .faq-section .container .faq-item .faq-answer {
    gap: 15px;
  }
}

.faq-section .container .faq-item .faq-answer .icon {
  color: #A7A7A7;
  font-weight: bold;
  font-size: 45px;
}

@media screen and (max-width: 700px) {
  .faq-section .container .faq-item .faq-answer .icon {
    font-size: 28px;
  }
}

@media screen and (max-width: 500px) {
  .faq-section .container .faq-item .faq-answer .icon {
    font-size: 24px;
  }
}

.faq-section .container .faq-item .faq-answer .text {
  font-size: 19.5px;
  margin-top: 15px;
  line-height: 1.6;
}

@media screen and (max-width: 700px) {
  .faq-section .container .faq-item .faq-answer .text {
    margin-top: 10px;
    font-size: 16px;
  }
}

@media screen and (max-width: 500px) {
  .faq-section .container .faq-item .faq-answer .text {
    font-size: 14px;
  }
}

footer .container {
  font-size: 17px;
  max-width: 310px;
  padding: 40px 0 45px;
}

@media screen and (max-width: 900px) {
  footer .container {
    padding: 35px 0 35px;
  }
}

@media screen and (max-width: 700px) {
  footer .container {
    font-size: 15px;
    max-width: 250px;
  }
}

footer .container h2 {
  font-size: 17px;
  font-weight: 500;
}

@media screen and (max-width: 700px) {
  footer .container h2 {
    font-size: 15px;
  }
}

footer .container .text {
  margin-top: 16px;
}

footer .copyright {
  background-color: #10205C;
  text-align: center;
  padding: 25px 0;
  color: white;
  font-size: 14px;
}

@media screen and (max-width: 900px) {
  footer .copyright {
    padding: 22px 0;
    font-size: 13px;
  }
}
