@charset "utf-8";
/*------------------------------------------------------------
共通
------------------------------------------------------------*/

body {
  font-family: 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", sans-serif;
  color: #000;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.wrapper {
    overflow: hidden;
}
img {
 max-width: 100%;
 vertical-align: bottom;
}
ul,li{
	list-style: none;
	margin: 0;
}
a {
	text-decoration: none;
}
p {
	font-size: clamp(16px, 2vw, 18px);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 2px;
}
.fsS {
	font-size: 13px;
	margin: 10px 0 0;
}
.fwB {
	font-weight: bold;
}

/*pc・sp responsive*/
@media screen and (max-width:768px){
    .sp{
        display: inline-block;
    }
    .pc{
        display: none !important;
    }
}
@media screen and (min-width:768px){
    .sp{
        display: none !important;
    }
    .pc{
		display: inline-block;
    }
}

/* ------------ヘッダー------------ */
header {
	background: #fff;
	position: fixed;
    z-index: 9999;
	top: 0;
    left: 0;
	margin: 0 auto;
	width: 100%;
	border-bottom: 1px solid #f0f0f0;
}
.header_inner {
	width: calc(1120 / 1920* 100vw);
	margin: 0 auto;
}
.header_inner_box {
	display: flex;
	justify-content: space-between;
    align-items: center;
}
.header_logo {
	width: calc(280 / 1920* 100vw);
}
.header_btn a{
	margin-left: -5px;
}
.header_web-btn {
	width: calc(260 / 1920* 100vw);
}
.header_dl-btn {
	width: calc(176 / 1920* 100vw);
}
@media screen and (max-width: 768px) {
	.header_inner {
		width: 100%;
	}
	.header_logo {
		width: calc(280 / 768* 100vw);
		padding-left: calc(30 / 768* 100vw);
	}
	.header_btn {
		width: calc(380 / 768* 100vw);
		margin-right: -5px;
	}
	.header_web-btn {
		width: calc(226 / 768* 100vw);
	}
	.header_dl-btn {
		width: calc(154 / 768* 100vw);
	}
}

/*----------mv----------*/
.mv {
	margin-top: calc(74 / 1920* 100vw);
}
@media screen and (max-width: 768px) {
	.mv {
		margin-top: calc(105 / 768* 100vw);
	}
}

/*----------problem----------*/
.problem {
	background: #062e60;
}
.problem-txt02 {
	padding-top: calc(60 / 1920* 100vw);
	padding-bottom: calc(80 / 1920* 100vw);
	margin: 0 auto;
	text-align: center;
	width: calc(890 / 1920* 100vw);
}
@media screen and (max-width: 768px) {
	.problem-txt02 {
		padding-top: calc(60 / 768* 100vw);
		padding-bottom: calc(100 / 768* 100vw);
		width: calc(700 / 768* 100vw);
	}
}

/*----------confidence----------*/
.confidence {
	background-image: linear-gradient(0deg, transparent 19px, #dae9f9 20px),linear-gradient(90deg,  transparent 19px, #dae9f9 20px);
	background-size: 20px 20px;
	position: relative;
	padding-top: calc(60 / 1920* 100vw);
	padding-bottom: calc(130 / 1920* 100vw);
}
.confidence-txt {
	margin: 0 auto;
	text-align: center;
	width: calc(930 / 1920* 100vw);
}
.confidence-next {
	position: absolute;
	bottom: calc(-80 / 1920 * 100vw);
    left: calc(860 / 1920 * 100vw);
	width: calc(174 / 1920* 100vw);
}
@media screen and (max-width: 768px) {
	.confidence {
		padding-top: calc(60 / 768* 100vw);
		padding-bottom: calc(150 / 768* 100vw);
	}
	.confidence-txt {
		width: calc(700 / 768* 100vw);
	}
	.confidence-next {
		bottom: calc(-100 / 768 * 100vw);
		left: calc(275 / 768 * 100vw);
		width: calc(210 / 768* 100vw);
	}
}

/*----------feature----------*/
.feature {
	background: #062e60;
	padding-top: calc(130 / 1920* 100vw);
	padding-bottom: calc(80 / 1920* 100vw);
}
.feature-txt {
	margin: 0 auto;
	text-align: center;
	width: calc(1120 / 1920* 100vw);
}
@media screen and (max-width: 768px) {
	.feature {
		padding-top: calc(150 / 768* 100vw);
		padding-bottom: calc(100 / 768* 100vw);
	}
	.feature-txt {
		width: 100%;
	}
}

/* ------------comparison------------ */
.comparison {
	background: url(../img/comparison-bg_pc.png) no-repeat center;
    background-size: cover;
	padding-top: calc(80 / 1920* 100vw);
	padding-bottom: calc(80 / 1920* 100vw);
}
.comparison-ttl {
	width: calc(960 / 1920* 100vw);
	margin: 0 auto;
}
.comparison-box {
	padding-top: calc(50 / 1920* 100vw);
	width: calc(1120 / 1920* 100vw);
	margin: 0 auto;
}
.comparison-box table {
	background: #fff;
	border: 2px solid #062e60;
	border-collapse: collapse;
	text-align: center;
	line-height: 1.5;
}
.comparison-box th {
	padding: 10px;
	left: 0;
    border-right: 1px solid #fff;
	border-left: none;
	vertical-align: middle;
	background: #062e60;
	color: #fff;
	font-weight: bold;
	width: calc(270 / 1920* 100vw);
	font-size: smaller;
	
}
.comparison-box th:first-child {
	width: calc(200 / 1920* 100vw);
}
.comparison-box td {
	width: auto;
    border-bottom: 1px dotted #d0d0d0;
	border-right: 1px dotted #ddd;
    border-top: none;
    padding: 10px;
    position: relative;
    vertical-align: middle;
}
.comparison-box .bgG{
	border-bottom: 1px solid #d0d0d0;
	border-right: none;
	background: #e7f1f2;
	font-weight: bold;
	left: 0;
}
.sogood {
	font-size: 33px;
    color: #db4747;
	font-weight: bold;
}
.good {
	font-size: 33px;
	color: #82d0ce;
}
.soso {
	font-size: 33px;
	color: #ffbb00;
	font-weight: bold;
}
.bad {
	font-size: 33px;
}
@media screen and (min-width: 768px) {
	.scrolltxt {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.comparison {
		background: url(../img/comparison-bg_sp.png) no-repeat center;
		background-size: cover;
		padding-top: calc(100 / 768* 100vw);
		padding-bottom: calc(100 / 768* 100vw);
	}
	.comparison-ttl {
		padding-bottom: calc(60 / 768* 100vw);
	    width: calc(700 / 768* 100vw);
	}
	.scrolltxt {
		text-align: center;
	}
	.comparison-box {
		padding-top: calc(20 / 768* 100vw);
		padding-bottom: calc(30 / 768* 100vw);
		overflow-x: scroll;
		width: 90%;
	}
	.comparison-box table {
		width: calc(1120 / 768* 100vw);
	}
	.comparison-box th {
		width: calc(80 / 768* 100vw);
		font-size: 12px;
	}
	.comparison-box th:first-child {
		position: sticky;
		width: calc(90 / 768* 100vw);
		z-index: 100;
	}
	.comparison-box td {
		font-size: 12px;
	}
	.comparison-box .bgG {
		font-size: 12px;
		padding: 5px;
		position: sticky;
		z-index: 100;
	}
	/*スクロールバーの横幅指定*/
.comparison-box.deco::-webkit-scrollbar {
    height: 5px;
}
/*スクロールバーの背景色・角丸指定*/
.comparison-box.deco::-webkit-scrollbar-track {
  border-radius: 10px;
	background: #dde7e8;
}
/*スクロールバーの色・角丸指定*/
.comparison-box.deco::-webkit-scrollbar-thumb {
  border-radius: 10px;
	background:#2ebfd0;
}
}

/*----------onestop----------*/
.onestop {
	background: #e7f1f2;
	position: relative;
	padding-bottom: calc(80 / 1920* 100vw);
}
.onestop-ttl {
	padding-bottom: calc(60 / 1920* 100vw);
	width: calc(1140 / 1920* 100vw);
	margin: 0 auto;
}
.onestop-img {
	width: calc(1120 / 1920* 100vw);
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.onestop {
		padding-bottom: calc(80 / 768* 100vw);
	}
	.onestop-ttl {
		padding-bottom: calc(80 / 768* 100vw);
		width: 100%;
	}
	.onestop-img {
		width: calc(700 / 768* 100vw);
	}
}

/*----------introduce----------*/
.introduce {
	background: url(../img/introduce-bg_pc.jpg) no-repeat center;
	background-size: cover;
	padding-top: calc(150 / 1920* 100vw);
	padding-bottom: calc(80 / 1920* 100vw);
}
.introduce-txt {
	width: calc(1140 / 1920* 100vw);
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.introduce {
		background: url(../img/introduce-bg_sp.jpg) no-repeat center;
		background-size: cover;
		padding-top: calc(100 / 768* 100vw);
		padding-bottom: calc(100 / 768* 100vw);
	}
	.introduce-txt {
		width: 100%;
		padding-top: calc(90 / 768* 100vw);
	}
}

/*----------service----------*/
.service {
	background: url(../img/service-bg_pc.jpg) no-repeat center;
	background-size: cover;
	padding-top: calc(70 / 1920* 100vw);
	padding-bottom: calc(80 / 1920* 100vw);
}
.service-ttl {
	padding-bottom: calc(60 / 1920* 100vw);
	width: calc(520 / 1920* 100vw);
	margin: 0 auto;
}
.service-case-box {
	width: calc(1120 / 1920* 100vw);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
    align-items: center;
	gap: 20px;
}
.service-case-item {
	width: calc(97% / 2);
}
.service-txt {
	padding-top: calc(60 / 1920* 100vw);
	width: calc(880 / 1920* 100vw);
	margin: 0 auto;
}
@media screen and (max-width: 1140px) {
	.service-case-box {
		gap: 10px;
	}
}
@media screen and (max-width: 768px) {
	.service {
		background: url(../img/service-bg_sp.jpg) no-repeat center;
		background-size: cover;
		padding-top: calc(90 / 768* 100vw);
		padding-bottom: calc(100 / 768* 100vw);
	}
	.service-ttl {
		padding-bottom: calc(80 / 768* 100vw);
		width: calc(640 / 768* 100vw);
	}
	.service-case-box {
		display: block;
		width: 100%;
	}
	.service-case-item {
		width: calc(730 / 768* 100vw);
		padding-bottom: calc(40 / 768* 100vw);
	}
	.item-l {
		padding-right: calc(38 / 768* 100vw);
	}
	.item-r {
		padding-left: calc(38 / 768* 100vw);
	}
	.service-txt {
		padding-top: calc(40 / 768* 100vw);
		width: calc(700 / 768* 100vw);
		margin: 0 auto;
	}
}

/*----------plan----------*/
.plan {
	background: url(../img/plan-bg_pc.jpg) no-repeat center;
	background-size: cover;
	padding-top: calc(50 / 1920* 100vw);
	padding-bottom: calc(80 / 1920* 100vw);
}
.plan-ttl {
	padding-bottom: calc(60 / 1920* 100vw);
	width: calc(835 / 1920* 100vw);
	margin: 0 auto;
}
.plan-img {
	width: calc(940 / 1920* 100vw);
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.plan {
		background: url(../img/plan-bg_sp.jpg) no-repeat center;
		background-size: cover;
		padding-top: calc(70 / 768* 100vw);
		padding-bottom: calc(100 / 768* 100vw);
	}
	.plan-ttl {
		padding-bottom: calc(80 / 768* 100vw);
		width: calc(680 / 768* 100vw);
	}
	.plan-img {
		width: calc(700 / 768* 100vw);
	}
}

/*----------flow----------*/
.flow {
	background: url(../img/flow-bg_pc.jpg) no-repeat center;
	background-size: cover;
	padding-top: calc(80 / 1920* 100vw);
	padding-bottom: calc(80 / 1920* 100vw);
}
.flow-ttl {
	padding-bottom: calc(60 / 1920* 100vw);
	width: calc(750 / 1920* 100vw);
	margin: 0 auto;
}
.flow-img-box {
	width: calc(1120 / 1920* 100vw);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
    align-items: center;
	gap: 15px;
}
.flow-img {
	width: calc(95% / 3);
}
@media screen and (max-width: 1140px) {
	.flow-img-box {
		gap: 10px;
	}
}
@media screen and (max-width: 768px) {
	.flow {
		background: url(../img/flow-bg_sp.jpg) no-repeat center;
		background-size: cover;
		padding-top: calc(100 / 768* 100vw);
		padding-bottom: calc(100 / 768* 100vw);
	}
	.flow-ttl {
		padding-bottom: calc(80 / 768* 100vw);
		width: calc(640 / 768* 100vw);
	}
	.flow-img-box {
		display: block;
		width: 100%;
	}
	.flow-img {
		width: calc(700 / 768* 100vw);
		margin: 0 auto;
		padding-bottom: calc(40 / 768* 100vw);
	}
	.flow-img:last-child {
		padding-bottom: 0;
	}
}

/*----------option----------*/
.option {
	background: #062e60;
	padding-top: calc(60 / 1920* 100vw);
	padding-bottom: calc(80 / 1920* 100vw);
}
.option-ttl {
	padding-bottom: calc(60 / 1920* 100vw);
	width: calc(1050 / 1920* 100vw);
	margin: 0 auto;
}
.option-img-box {
	width: calc(1120 / 1920* 100vw);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
    align-items: center;
	gap: 20px;
}
.option-img {
	width: calc(97% / 2);
}
@media screen and (max-width: 1140px) {
	.option-img-box {
		gap: 10px;
	}
}
@media screen and (max-width: 768px) {
	.option {
		padding-top: calc(80 / 768* 100vw);
		padding-bottom: calc(100 / 768* 100vw);
	}
	.option-ttl {
		padding-bottom: calc(80 / 768* 100vw);
		width: calc(700 / 768* 100vw);
	}
	.option-img-box {
		display: block;
		width: 100%;
	}
	.option-img {
		width: calc(700 / 768* 100vw);
		margin: 0 auto;
		padding-bottom: calc(40 / 768* 100vw);
	}
	.option-img:last-child {
		padding-bottom: 0;
	}
}

/*----------success----------*/
.success {
	background: url(../img/success-bg.png) no-repeat center;
		background-size: calc(160 / 1920* 100vw);
		background-position: top calc(30 / 1920* 100vw) left calc(700 / 1920* 100vw);
		padding-top: calc(80 / 1920* 100vw);
		padding-bottom: calc(80 / 1920* 100vw);
}
.success-ttl {
	padding-bottom: calc(60 / 1920* 100vw);
	width: calc(210 / 1920* 100vw);
	margin: 0 auto;
}
.success-img-box {
	width: calc(1120 / 1920* 100vw);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
    align-items: center;
	gap: 20px;
}
.success-img {
	width: calc(97% / 2);
}
@media screen and (max-width: 1140px) {
	.success-img-box {
		gap: 10px;
	}
}
@media screen and (max-width: 768px) {
	.success {
		background-size: calc(170 / 768* 100vw);
		background-position: top calc(30 / 768* 100vw) left calc(90 / 768* 100vw);
		padding-top: calc(80 / 768* 100vw);
		padding-bottom: calc(100 / 768* 100vw);
	}
	.success-ttl {
		padding-bottom: calc(80 / 768* 100vw);
		width: calc(250 / 768* 100vw);
	}
	.success-img-box {
		display: block;
		width: 100%;
	}
	.success-img {
		width: calc(700 / 768* 100vw);
		margin: 0 auto;
		padding-bottom: calc(40 / 768* 100vw);
	}
	.success-img:last-child {
		padding-bottom: 0;
	}
}

/*----------qa----------*/
.qa {
	background: #e7f1f2;
	padding-top: calc(60 / 1920* 100vw);
	padding-bottom: calc(80 / 1920* 100vw);
}
.qa-ttl {
	padding-bottom: calc(60 / 1920* 100vw);
	width: calc(540 / 1920* 100vw);
	margin: 0 auto;
}
.qa_inner {
	margin: 0 auto;
	width: calc(900 / 1920* 100vw);
}
.qa_item {
	font-weight: bold;
	font-style: normal;
	border-bottom: 1px solid #919a9c;
    padding: 4% 3%;
}
.qa_item:nth-of-type(1) {
	border-top: 1px solid #919a9c;
}
.question_content {
	display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
}
.question_content:hover {
	cursor: pointer;
}
.question_content::before, 
.question_content::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.question_content::before {
	right: 4%;
	width: 14px;
	height: 14px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	transition: all 0.5s ease-in-out;
	border-radius: 2px;
}
.open::before {
    -webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.question_content img {
    width: 5%;
}
.question_content h2 {
  font-size: clamp(20px, 2vw, 25px);
  font-weight: bold;
  text-align: left;
  letter-spacing: 2px;
  line-height: 1.5;
  margin: 0 10% 0 2%;
  color: #000;
}
.answer_content {
	padding: 3% 3% 0;
    display: none;
}
.answer_content p{
    text-align: justify;
    letter-spacing: 1px;
    line-height: 1.7;
}
@media screen and (max-width: 1100px) {
	.qa_inner {
		width: calc(700 / 1100* 100vw);
	}
}
@media screen and (max-width: 768px) {
	.qa {
		padding-top: calc(80 / 768* 100vw);
        padding-bottom: calc(100 / 768* 100vw);
	}
	.qa-ttl {
		padding-bottom: calc(80 / 768* 100vw);
		width: calc(700 / 768* 100vw);
	}
	.qa_inner {
		width: calc(700 / 768* 100vw);
	}
	.question_content::before {
		width: 10px;
		height: 10px;
	}
	.question_content img {
		width: 8%;
	}
	.question_content h2 {
		margin: 0 12% 0 3%;
	}
}

/*----------tel----------*/
.tel {
	background: #062e60;
	padding-top: calc(60 / 1920* 100vw);
    /*--padding-bottom: calc(60 / 1920* 100vw);--*/
	text-align: center;
}
.tel p {
	color: #fff;
	font-weight: bold;
}
.tel-txt img {
	padding-top: calc(30 / 1920* 100vw);
    padding-bottom: calc(30 / 1920* 100vw);
	width: calc(500 / 1920* 100vw);
}
@media screen and (max-width: 768px) {
	.tel {
		padding-top: calc(60 / 768* 100vw);
		/*--padding-bottom: calc(60 / 768* 100vw);--*/
	}
	.tel-txt img {
		padding-top: calc(30 / 768* 100vw);
		padding-bottom: calc(30 / 768* 100vw);
		width: calc(680 / 768* 100vw);
	}
}

/*----------message----------*/
.message {
	background: url(../img/message-bg_pc.jpg) no-repeat center;
	background-size: cover;
	padding-top: calc(80 / 1920* 100vw);
	padding-bottom: calc(80 / 1920* 100vw);
}
.message-ttl {
	padding-bottom: calc(60 / 1920* 100vw);
	width: calc(1020 / 1920* 100vw);
	margin: 0 auto;
}
.message-txt {
	width: calc(1120 / 1920* 100vw);
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.message {
		background: url(../img/message-bg_sp.jpg) no-repeat center;
		background-size: cover;
		padding-top: calc(100 / 768* 100vw);
		padding-bottom: calc(100 / 768* 100vw);
	}
	.message-ttl {
		padding-bottom: calc(80 / 768* 100vw);
		width: calc(700 / 768* 100vw);
		margin: 0 auto;
	}
	.message-txt {
		width: calc(1120 / 1920* 100vw);
		width: calc(640 / 768* 100vw);
		margin: 0 auto;
	}
}

/*----------footer----------*/
footer{
    background: #062e60;
	padding-top: calc(80 / 1920* 100vw);
    padding-bottom: calc(80 / 1920* 100vw);
}
.footer_inner {
	margin: 0 auto;
	text-align: center;
	width: calc(900 / 1920* 100vw);
}
.footer_txt {
	margin-bottom: calc(30 / 1920* 100vw);
}
.footer_txt a {
	margin: 10px;
	color: #fff;
	text-decoration: none;
}
.footer_txt a:hover {
	opacity: 0.5;
	transition: 0.3s;
}
.footer_copyright p{
	color: #fff;
	text-align: center;
	font-size: 10px;
}

@media screen and (max-width: 768px) {
	footer {
		padding-top: calc(90 / 768* 100vw);
        padding-bottom: calc(90 / 768* 100vw);
	}
	.footer_inner {
		width: calc(700 / 768* 100vw);
	}
	.footer_txt {
		margin-bottom: calc(30 / 768* 100vw);
	}
}