@charset "UTF-8";
html {
	font-size: 62.5%;
	height: -webkit-fill-available;
}
body {
	position: relative;
	font-size: 1.6em;
	margin: auto;
	font-feature-settings: "palt";
	min-width: 320px;
	color: #000;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
*{
   text-decoration: none;
   list-style: none;
}
.en{
 font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.w-1100{
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 20px;
}
img{width: 100%;}
.mt{
	margin-top: 80px;
}
.pd-t{
	padding-top: 5%;
}
.pd-b{
	padding-bottom: 8%;
}
.anker-pd{
	padding-top: 50px;
}
.f-white{color: #fff;}
.flex{
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
h1{
	position: relative;
	text-align: center;
	font-size: 4rem;
	font-weight: bold;
	margin-bottom: 5%;
	background: #fff;
	z-index: 5;
	color: #214869;
	border-radius: 20px 20px 0 0;
}
h1.bg_n_ttl{
	background: #214869;
}
h1::after{
	content: "";
	width: 100px;
	height: 4px;
	background: #ff6d00;
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 5px;
}
.seminar h1::after{
	background: #2e66b4;
}
h1.sp-block{display: none;}
.asirai-bg::after{
	content: "";
	width: 100%;
	height: 70px;
	background: #214869;
	position: absolute;
	top: 0;
	left: 0;
}
.asirai-bg.point_reduction::after{
	height: 120px;
}
.asirai-bg.navy::after{
	content: "";
	background: #fff;
}
.sub-ttl{
	font-size: 3rem;
	font-weight: bold;
	margin-bottom: 5%;
	font-weight: 500;
	color: #214869;
}
.sub-ttl .sp-block{
	display: none;
}
.relative{position: relative;}
.absolute{position: absolute;}
.txt_center{text-align: center;}
.orange{
	color: #ff6d00;
	font-weight: bold;
}
.blue{
	color: #2e66b4;
	font-weight: bold;
}
p{line-height: 1.8;}
/* header-------------------------------------- */
header{
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 15;
	background-color: #214869;
	border-bottom: solid 2px #ff6d00;
}

.header_frex{
	padding: 15px 15px 15px 50px;
	justify-content: space-between;
}
.header_box{
	margin-right: 35px;
}
.header_box ul li.sp-block{
	display: none;
}
.header_box ul li a{
	position: relative;
	color: #fff;
	margin-left: 36px;
	font-size: 1.3rem;
	transition: .3s;
}
.header_box ul li a::after{
	content: "";
	position: absolute;
	top: 45%;
	right: -20px;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
	width: 10px;
	height: 10px;
	border: 2px solid #fff;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-50%) rotate(135deg);
	transition: .3s;
}
.header_link .h_btn a, .sp_link .h_btn a{
	position: relative;
	display: flex;
	align-items: center;
	width: 140px;
	padding-left: 50px;
	border-radius: 30px;
	height: 40px;
	font-size: 1.3rem;
}
.header_link .h_btn a::after, .sp_link .h_btn a::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 10px;
	height: 10px;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-50%) rotate(45deg);
	transition: .3s;
}
.header_link .h_btn:first-of-type a::after, .sp_link .h_btn:first-of-type a::after{
	border: 2px solid #fff;
	border-left: 0;
	border-bottom: 0;
}
.header_link .h_btn:nth-of-type(2) a::after, .sp_link .h_btn:nth-of-type(2) a::after{
	border: 2px solid #fff;
	border-left: 0;
	border-bottom: 0;
}
.header_link .h_btn:last-of-type a::after, .sp_link .h_btn:last-of-type a::after{
	border: 2px solid #00cf1e;
	border-left: 0;
	border-bottom: 0;
}
.header_link .h_btn:nth-of-type(2) a::before, .sp_link .h_btn:nth-of-type(2) a::before{
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-image: url(../images/shop_icon.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 52%;
	left: 20px;
	transform: translateY(-50%);
}
.header_link .h_btn:last-of-type a::before, .sp_link .h_btn:last-of-type a::before{
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-image: url(../images/line.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 52%;
	left: 20px;
	transform: translateY(-50%);
}
.header_link .h_btn:first-of-type a, .sp_link .h_btn:first-of-type a{
	background: #00bbff;
	color: #fff;
	padding-left:0px;
	padding-right: 15px;
	width: 190px;
	justify-content: center;
}
.header_link .h_btn:nth-of-type(2) a, .sp_link .h_btn:nth-of-type(2) a{
	color: #fff;
	background-image: linear-gradient(90deg, rgba(255, 109, 0, 1), rgba(255, 61, 0, 1));
}
.header_link .h_btn:last-of-type a, .sp_link .h_btn:last-of-type a{
	color: #00cf1e;
	background: #fff;
}
.header_link .h_btn a:first-of-type, .sp_link .h_btn a:first-of-type{
	margin-right: 10px;
}
.sp_link{
	display: none;
}
.menu-area{
	align-items: center;
}
.h_menu_logo{display: none;}

/* mv------------------------------------------- */
.mv{
	margin-top: 68px;
}
.mv .mv_img{
	width: 100%;
}
.mv .mv_img .sp{
	display: none;
}
.main_texboxsummary{
	background-color: #fff;
	color: #214869;
}
.main_texbox{
	bottom: 20%;
	left: 0;
}
.main_texbox_2{
	bottom: 6%;
	left: 0;
}
.main_texbox_3{
	background-color: #ff6d00;
	color: #fff;
	bottom: 0;
	right: 0;
	padding: 15px 30px 15px 15px;
	border-radius: 15px 0 0 15px;
}
.main_texbox_3_text span{
	font-size: 1.3rem;
}

/* sv */
.sv_solution .absolute{
	top: -1px;
	left: 0;
	width: 100%;
}
.heading{margin-top: 50px;}

/* worries */
.worries{
	background: #214869;
}
.worries.anker-pd{
	padding-top: 20px;
}
.worries h1{
	color: #fff;
}
.worries ul.flex{
	justify-content: center;
}
/* .worries ul li{
	position: relative;
	width: 49%;
	background: #fff;
	padding: 1% 1% 1% 5.5%;
	margin-bottom: 2%;
	display: flex;
    align-items: center;
	min-height: 6.5vw;
	letter-spacing: 0.03em;
	border-radius: 10px;
}
.worries ul li::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 3%;
	transform: translateY(-50%);
	display: block;
	width: 6%;
    height: 30%;
	background-image: url(../images/worries.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.worries ul li p{
	font-size: 2rem;
	line-height: 1.4;
} */
.worries ul li.item{
	width: 32%;
	margin: 5px;
	overflow: hidden;
	border-radius: 10px;
}
.worries ul li.item a{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
.worries ul li.item a img{
	transition: .3s;
}
.worries ul li.item a p{
	position: absolute;
	top: 30%;
}

.triangle{
	width: 100%;
}

.button{
	display: flex;
	justify-content: center;
}
.button a{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 370px;
	height: 60px;
	border-radius: 30px;
	background-color: #fff;
	color: #ff6d00;
	font-size: 2.5rem;
	/* padding-left: 30px; */
	font-weight: bold;
}
.button a::before{
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	width: 15px;
	height: 15px;
	border: 2px solid #ff6d00;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-50%) rotate(45deg);
	transition: .3s;
}
.button_box_2 a::before{
	border: 2px solid #214869;
    border-left: 0;
    border-bottom: 0;
}
.button p{
	padding: 20px;
	font-weight: bold;
	font-size: 3rem;
}
.button_box{
	justify-content: space-around;
}
.button_box img{
	width: 4%;
}

/* solution------------------------------------------------------- */
.solution_area .box{
	background: #f2f2f2;
	padding: 5% 8%;
	border-radius: 30px;
}
.solution_area .orange .number{
	font-size: 5rem;
}
.solution_area h3{
	font-size: 3rem;
	font-weight: bold;
	margin-bottom: 10px;
	color: #214869;
}
.solution_area .box p{
	margin-bottom: 5%;
}
.solution_area .box p:first-of-type .sp-block{
	display: none;
}
.solution_area .solution_img{
	width: 80%;
	margin-inline: auto;
	padding-bottom: 3%;
}
.solution_area .box .hosoku{
	font-size: 2rem;
	font-weight: bold;
}
.solution_area .box .hosoku br.sp-block{display: none;}

/* service------------------------------------------------------- */
.service{
background: #214869;
}
.service.asirai-bg.navy::after{
	height: 120px;
}
.service h1{
	color: #fff;
}
.service .sub-ttl{
	color: #fff;
}
.service  h2 .number{
	font-size: 4rem;
}
.service_box ul{
	justify-content: space-between;
	margin-bottom: 5%;
}
.service_box ul li{
	width: 32%;
	overflow: hidden;
}
.service_box ul li h3{
	font-size: 2.2rem;
	border-bottom: solid 1px #fff;
	padding-bottom: 10px;
	color: #fff;
	font-weight: 600;
}
.service_box ul li .img .sp{
	display: none;
}
/* .service_box ul.detail li:first-of-type{
	background: #07aa8b;
}
.service_box ul.detail li:nth-of-type(2){
	background: #4da7ff;
}
.service_box ul.detail li:nth-of-type(3){
	background: #ff4c4c;
} */
.service_box ul li .item{
	padding-top: 10px;
	justify-content: space-between;
}
.service_box ul.detail li:nth-of-type(3) .item{
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
}
.service_box ul li .item p{
	text-align: start;
	color: #fff;
	line-height: 1.8;
	font-weight: 500;
}
.service_box ul.arrow li .img{
	width: 50%;
	margin-inline: auto;
}
.service .talk{
	background: #fff;
	border-radius: 20px;
	padding: 5% 10%;
}
.service .talk .sp{
	display: none;
}

/* ポイント還元イメージ */
.point_reduction .box{
	padding: 5% 12%;
	background: #f2f2f2;
	border-radius: 20px;
}
.point_reduction .button{
	margin-bottom: 12%;
}
.point_reduction .button a{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 350px;
	height: 60px;
	background: #fff;
	border: solid 1px #214869;
	color: #214869;
	text-align: center;
	padding-left: 0;
	font-size: 2rem;
	font-weight: bold;
}
.point_reduction .button a::before{
	border: 2px solid #214869;
	border-left: 0;
    border-bottom: 0;
}
.point_reduction .button a::after{
	content: "";
	width: 100%;
	height: 100%;
	background: #214869;
	border-radius: 30px;
	position: absolute;
	top: 5px;
	right: -5px;
	z-index: -1;
}
.point_reduction .button a span{
	display: block;
	font-size: 1.4rem;
}
.point_reduction .box{
	padding: 5% 12%;
	background: #f2f2f2;
	border-radius: 20px;
}
.point_reduction .img{
	margin-bottom: 50px;
}
.point_reduction .img .sp{display: none;}
/* .point_reduction .img_link{
	bottom: 2%;
    left: 4%;
    display: block;
    width: 21%;
    height: 7.5%;
	border-radius: 30px;
} */
.point_reduction .box p{
	margin-bottom: 5%;
}
.point_reduction .box p:last-of-type{
	margin-bottom: 3%;
}
.point_reduction .box p .sp-block{
	display: none;
}
.point_reduction .box h3{
	font-size: 3rem;
}
.point_reduction .box h3 br{
	display: none;
}
.point_reduction .flex{
	justify-content: space-between;
	margin-bottom: 20px;
}
.point_reduction .flex li{
	width: 24.5%;
}
.point_reduction .hosoku{
margin-bottom: 5%;
}
.point_reduction .hosoku span{
	display: block;
	font-size: 1.4rem;
	color: #A9A9A9;
}
.point_reduction .txt-large{
	text-align: center;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.2;
	color: #214869;
	margin-bottom: 30px;
}
.point_reduction .txt-large br.sp-block{
	display: none;
}
.point_reduction .txt-large span{
	display: inline-block;
	font-size: 7rem;
}
.point_reduction .txt-mini{
	text-align: center;
	font-size: 2.5rem;
	color: #214869;
	margin-bottom: 5%;
	font-weight: bold;
}

/* メリット-------------------------------------------- */
.merit ul {
	justify-content: space-between;
}
.merit ul li{
	width: 32%;
	padding: 3%;
	box-shadow: 6px 6px 6px 0px rgba(223, 223, 223, 0.3);
	border-radius: 10px;
}
.merit ul li h4{
	font-size: 2.5rem;
	font-weight: bold;
}
.merit .caption_1 ul li h4{
	color: #07aa8b;
}
.merit .caption_2 ul li h4{
	color: #4da7ff;
}
.merit .caption_3 ul li h4{
	color: #ff4c4c;
}
.caption{
	margin-top: 5%;margin-bottom: 20px;
}
.real_estate{
	background: #ff4c4c;
	color: #fff;
	border-radius: 5px;
}
.financial{
	background:#07aa8b;
	color: #fff;
	border-radius: 5px;
}
.fund{
	background: #4da7ff;
	color: #fff;
	border-radius: 5px;
}
.caption h3{
	font-weight: bold;
	font-size: 2rem;
	padding: 10px 0 10px 15px;
}
.caption_p p{
	margin-top: 20px;
	text-align: left;
	line-height: 1.4;
}
.caption_1 span{
	color: #ff6d00;
}
.caption_2 span{
	color: #00aa9b;
}
.caption_3 span{
	color: #00bbff;
}
.merit{
	padding-bottom: 90px;
}
.agency{
	margin-bottom: 30px;
}




/* イチオシポイント */
.point ul {
	justify-content: space-between;
}
.point ul li{
	width: 31%;
	box-shadow: 6px 6px 6px 0px rgba(223, 223, 223, 0.3);
	padding: 3%;
	border-radius: 10px;
}
.point ul li p{
	margin-top: 3%;
	color: #214869;
}
.point ul li:nth-of-type(2) p{
	margin-top: 12%;
}
.point ul li h2{
	position: relative;
	font-size: 2.6rem;
	font-weight: bold;
	color: #214869;
}
.point ul li h2::after{
	content: "";
	width: 100%;
	height: 1px;
	background: #214869;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.point ul li h2 span{
	position: relative;
	display: inline-block;
	background: #fff;
	padding: 0 20px;
	z-index: 2;
}
.point ul li p{
	font-size: 2.5rem;
	font-weight: bold;
}

/* パートナー */
.partner{
	background: #214869;
}
.partner h1{
	color: #fff;
}
.partner h1 br{
	display: none;
}
.partner .box{
	padding: 5% 8%;
	background: #fff;
}
.partner .box h2{
	font-size: 2.5rem;
	font-weight: bold;
	margin-bottom: 5%;
	color: #214869;
}
.partner .box h2 br{display: none;}
.partner .box .flex{
	justify-content: space-between;
	margin-bottom: 5%;
}
.partner .box .flex .img{
	width: 40%;
	overflow: hidden;
	border-radius: 10px;
}
.partner .box .flex .txt{
	width: 56%;
}
.partner .box .flex .txt h3{
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 10px;
}

.accordion-container .accordion{
	padding: 20px;
	background: #f2f2f2;
	margin-bottom:10px;
	border-radius: 10px;
	cursor: pointer;
}
.accordion-container .accordion h3::after{
	content: "";
	position: absolute;
	top: 50%;
	right: -10%;
	display: inline-block;
	vertical-align: middle;
	color: #000;
	width: 15px;
	height: 15px;
	border: 1px solid #000;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-50%) rotate(135deg);
	transition: .3s;
}
.accordion-container .accordion.active h3::after{
	transform: translateY(-50%) rotate(-45deg);
}
.accordion-container .accordion:last-of-type{
	margin-bottom: 0;
}
.accordion-container h3{
	font-size: 2rem;
	font-weight: bold;
	width: 90%;
}
.accordion-container p{
	padding-top: 10px;
	border-top: solid 1px #214869;
	margin-top: 10px;
}
.accordion-container p.b-none{
	border-top: 0;
	margin-top: 20px;
}
.accordion-container p.b-none.p-txt{
	border-top: 0;
	margin-top: 0px;
	padding-top: 0;
}
.accordion-content {
	display: none;
    transition: max-height 0.3s ease-out;
}

.accordion.active .accordion-content {
	display: block;
}

/* セミナー */
.seminar h1 br{display: none;}
.seminar.asirai-bg::after{
	height: 4%;
}
.seminar_index h2 br{
	display: none;
}
.seminar_index .hukidasi_img{
	width: 30%;
	margin-inline: auto;
}
.seminar_index h3{
	font-weight: bold;
	font-size: 5rem;
}
.seminar_box{
	margin-bottom: 5%;
}
.seminar_box.program{
	margin-bottom: 10%;
}
.seminar_box_head{
	position: relative;
	background: #2e66b4;
	color: #fff;
	padding: 10px;
	font-weight: bold;
	font-size: 2.5rem;
}
.seminar_box_p{
	padding: 3%;
	text-align: left;
	background: #ebf0f6;
}
.seminar_box_p p{
	font-size: 2rem;
	margin-top: 20px;
	color: #214869;
	font-weight: bold;
}
.seminar_box_p p:first-child{
	margin-top: 0;
}
.schedule_ttl{
	position: relative;
	background: #2e66b4;
	border: none;
	margin-bottom: 20px;
}
.schedule_ttl::after{
	content: "";
	background: #2e66b4;
    width: 40px;
    height: 20px;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	position: absolute;
	bottom: -18px;
	left: 50%;
	transform: translateX(-50%);
}
.schedule iframe{
	width: 100%;
}

.seminar .features .flex{
	justify-content: space-between;
}
.seminar .features .flex li{
	position: relative;
	width: 32%;
	padding: 20px;
	box-shadow: 6px 6px 6px 0px rgba(223, 223, 223, 0.3);
	border-radius: 10px;
}
.seminar .features .flex h4{
	font-size: 2.8rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.seminar .features .flex span{
	top: 0;
	right: 3%;
	font-size: 6vw;
	color: #4da7ff;
	opacity: 0.1;
	z-index: -1;
}
.seminar .recommend{
	padding: 3%;
	border-radius: 10px;
	background: #ebf0f6;
	margin-bottom: 5%;
}
.seminar .recommend h2{
	font-size: 3rem;
	color: #2e66b4;
	font-weight: bold;
	margin-bottom: 20px;
}
.seminar .recommend .flex {
	justify-content: space-between;
}
.seminar .recommend .flex li{
	width: 49%;
	padding: 20px;
	background: #fff;
	border-radius: 10px;
	font-size: 2.5rem;
	margin-bottom: 20px;
}
.seminar .benefits{
	padding: 60px 3% 3% 3%;
	border-radius: 10px;
	background: #ebf0f6;
	margin-bottom: 5%;
}
.seminar .benefits .flex {
	justify-content: space-between;
}
.seminar .benefits .flex li{
	width: 49%;
	padding: 2%;
	background: #fff;
	border-radius: 10px;
}
.seminar .benefits .flex li h4{
	position: relative;
    font-size: 2rem;
    font-weight: bold;
}
.seminar .benefits .flex li h4 > div{
	position: relative;
	background: #fff;
	display: inline-block;
	left: 50%;
	transform: translateX(-50%);
	padding: 0 20px;
	z-index: 2;
}
.seminar .benefits .flex li h4::after{
	content: "";
    width: 100%;
    height: 1px;
    background: #214869;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.seminar .benefits .flex li h4 span{
	font-size: 4rem;
}
.seminar .benefits .flex li h5{
	font-size: 2.5rem;
	margin-bottom: 10px;
}
.seminar .benefits .flex li h5 br{
	display: none;
}
.seminar .benefits .hukidasi{
	width: 250px;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
}

.overview{
	background-color: #f9f9f9;
	border-radius: 20px;
}
.overview_box{
	padding: 5%;
}
.overview_text p{
	margin: 25px 0;
	font-weight: 500;
}
.overview_text p:first-child{
	width: 120px;
}
.overview_text{
	border-bottom: 1px #cacaca solid;
}
.overview_text:last-of-type{
	border: none;
}

/* access */
.access .map iframe{
	width: 100%;
	margin-bottom: 30px;
}
.access .button a{
	background-color: #214869;
	color: #fff;
}
.access .button a::before{
	border: 2px solid #fff;
	border-left: 0;
	border-bottom: 0;
}
.access {
	margin-bottom: 80px;
}

/* contact */
.contact ul{justify-content: space-between; margin-bottom: 30px;}
.contact ul li{
	width: 48%;
	padding: 3% 5%;
	border: solid 1px #ff6d00;
	border-radius: 10px;
}
.contact ul li .line{
	position: relative;
}
.contact ul li .line::after{
	content: "";
	width: 100%;
	height: 1px;
	background: #ff6d00;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.contact ul li p{
	position: relative;
	font-size: 3.5rem;
	text-align: center;
	line-height: 1;
	margin-bottom: 15px;
	display: inline-block;
	left: 50%;
	transform: translateX(-50%);
	z-index: 5;
	padding: 0 35px;
	background: #fff;
	z-index: 1;
	font-weight: bold;
}
.contact ul li p span{
	font-size: 1.8rem;
}
.contact ul li .c_btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 60px;
	background-image: linear-gradient(90deg, rgba(255, 109, 0, 1), rgba(255, 61, 0, 1));
	color: #fff;
	font-size: 2vw;
	border-radius: 10px;
}
.contact ul li .c_btn a.tell{
	pointer-events: none;
}
/* ボタン */
.solution{
	background: #214869;
	text-align: center;
	color: #fff;
	padding: 5% 0;
	z-index: 1;
}
.solution .button a::after{
	content: "";
	width: 100%;
	height: 100%;
	background: #ff6d00;
	border-radius: 30px;
	position: absolute;
	bottom: -5px;
	right: -5px;
	z-index: -1;
}
.solution_text{
	margin-bottom: 30px;
}
.solution_text span{
	display: block;
	font-weight: bold;
	font-size: 2.5rem;
}
.solution_text strong{
	font-weight: bold;
	font-size: 4rem;
}
.solution_2{
	background: #2e66b4;
}
.solution-seminar .button a::after{
	background: #214869;
}
.button_box_2 a{
	color: #2e66b4;
}
.sv_solution{
	padding: 11% 20px 60px 20px;
}

/* footer */
.f_logo{
	width: 250px;
	margin-inline: auto;
	padding-top: 80px;
	margin-bottom: 30px;
}
footer .copylight{
	padding: 10px;
	font-size: 1rem;
	color: #fff;
	background: #214869;
	text-align: center;
}

/* フローティング */
.bannerBox {
    position: fixed;
    right: 10px;
    bottom: 120px;
    z-index: 10;
}
.bannerBox > span {
    background-color: #000;
	display: flex;
	justify-content: center;
    width: 1.8em;
    height: 1.8em;
    color: #fff;
    font-weight: bold;
    line-height: 1.8em;
    margin-left: auto;
    cursor: pointer;
	border-radius: 20px;
}
.bannerBox > a {
    display: block;
    width: 200px;
    height: auto;
    overflow: hidden;
	border-radius: 15px;
}
.bannerBox > a picture img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

.purchase h2{
	font-size: 3.5rem;
	color: #ff6d00;
	margin-bottom: 30px;
}
.purchase p{
	margin-bottom: 50px!important;
}
.purchase .img{
	width: 60%;
	margin-inline: auto;
	padding-bottom: 50px;
}
.caution span{
	display: block;
	font-size: 1.4rem;
	padding-left: 14px;
	text-indent: -14px;
	color: #666;
}

.banner{
	width: 80%;
	margin-inline: auto;
	padding-top: 10%;
}
.banner a{
	display: block;
	height: 100%;
	transition: .3s;
}
.point_reduction .banner{
	padding-top: 0;
	padding-bottom: 10%;
}
/* 20250415 */
.header_link_sp{
	display: none;
}
.anchor-adjust{
	display: block;
  position: relative;
  top: -100px;
  visibility: hidden;
}
.faq{
	background: #214869;
}
.faq h1{
	background: none;
	color: #fff;
}
.faq .accordion-container{
	padding: 5%;
	background: #fff;
	border-radius: 20px;
}
.faq .accordion-container .accordion{
	background: none;
	border-bottom: solid 1px #214869;
	border-radius: 0;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 10px;
	margin-bottom: 20px;
}
.faq .accordion-container .accordion.active{
	border: none;
	margin-bottom: 5%;
}
.faq .accordion-container h3{
	color: #214869;
	padding-left: 40px;
}
.faq .accordion-container h3::before{
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background-image: url(../images/faq_q.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.faq .accordion .button{
	display: block;
}
.faq .accordion p{
	margin-bottom: 20px;
}
.faq .accordion .button a{
	color: #fff;
	background: #ff6d00;
	width: 300px;
	font-size: 2rem;
	border-radius: 10px;
}
.faq .accordion:last-of-type .button a{
	background: #2e66b4;
}
.faq .accordion .button a::before{
	border: 2px solid #fff;
	border-left: 0;
    border-bottom: 0;
}
.faq .accordion-content{
	position: relative;
	padding-left: 40px;
	margin-top: 20px;
	border-top: solid 1px #214869;
}
.faq .accordion-content::after{
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background-image: url(../images/faq_a.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 20px;
	left: 0;
}
.faq .accordion-container p{
	border-top: none;
}

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 5;
    overflow: hidden;
    width: 60px;
    height: 60px;
    border-radius: 40px;
}
#page-top a {
    position: relative;
    text-align: center;
    display: block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-transition: .5s;
    transition: .5s;
    height: 100%;
    background-image: linear-gradient(90deg, rgb(255, 109, 0), rgb(255, 61, 0));
}
#page-top a::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: 35%;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-bottom: 15px solid #fff;
    border-top: 0;
}

.kameiten h2{
	margin-top: 8%;
	text-align: center;
	margin-bottom: 20px!important;
}
.kameiten ul::before{
	content: "";
	width: 24%;
	display: block;
	order: 1;
}
.kameiten ul::after{
	content: "";
	width: 24%;
	display: block;
}
.kameiten ul li{
	width: 24%;
	margin-bottom: 20px;
}
.kameiten ul li .image{
	margin-bottom: 5px;
}
.kameiten ul li p{
	line-height: 1.4;
	font-size: 1.2rem;
	color: #214869;
	font-weight: bold;
}

.official.button a{
	background: #ff6d00;
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
	flex-direction: column;
}
.official.button a br.sp-block{
	display: none;
}
.official.button a span{
	display: block;
}
.official.button_box_2 a::before{
	border: 2px solid #fff;
    border-left: 0;
    border-bottom: 0;
}

.gradient-premium {
	background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%);
}
.gradient-gold {
	background: linear-gradient(135deg, #eab308 0%, #ca8a04 100%);
}
:root {
	/* Colors */
	--slate-50: #f8fafc;
	--slate-100: #f1f5f9;
	--slate-200: #e2e8f0;
	--slate-400: #94a3b8;
	--slate-500: #64748b;
	--slate-600: #475569;
	--slate-700: #334155;
	--slate-900: #0f172a;
	
	--orange-50: #fff7ed;
	--orange-400: #fb923c;
	--orange-500: #f97316;
	--orange-600: #ea580c;
	--orange-700: #c2410c;

	--yellow-50: #fefce8;
	--yellow-400: #facc15;
	--yellow-500: #eab308;
	--yellow-600: #ca8a04;
	--yellow-700: #a16207;

	--white: #ffffff;
}

/* Grid Layout */
.plan p.txt_center{
	margin-bottom: 20px;
}
.plans-grid {
	display: flex;
	justify-content: space-between;
}

/* Card Common Styles */
.card {
	background-color: var(--white);
	border-radius: 1rem;
	position: relative;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-content {
	padding: 2rem;
}

.card-title {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.card-desc {
	text-align: center;
	font-size: 1.6rem;
	color: var(--slate-500);
	margin-bottom: 10px;
}

/* Price Section */
.plan .sp-block{
	display: none;
}
.price-section {
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--slate-100);
	display: flex;
	gap: 1.5rem;
}

.price-block {
	width: 49%;
	text-align: center;
}

.price-label {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4;
}

.price-value-wrapper {
	display: flex;
	justify-content: center;
	align-items: baseline;
	line-height: 1;
}

.price-number {
	font-size: 5rem;
	font-weight: 800;
}

.price-unit {
	font-size: 1.25rem;
	font-weight: 700;
	margin-left: 0.25rem;
}

.price-note {
	font-size: 1.4rem;
	margin-top: 0.5rem;
}

.monthly-fee {
	border-radius: 0.5rem;
	padding: 0.75rem;
}

/* Features List */
.features-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.feature-item {
	display: flex;
	align-items: flex-start;
	font-size: 1.6rem;
}

.feature-icon {
	width: 1.25rem;
	height: 1.25rem;
	flex-shrink: 0;
	margin-right: 0.75rem;
	margin-top: 0.25rem; /* align with text */
}

.feature-text {
	display: flex;
	align-items: center;
}

.feature-label {
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--slate-500);
	margin-right: 10px;
}

.feature-value {
	width: 100%;
	display: flex;
	font-size: 1.6rem;
	color: var(--slate-900);
}
.feature-value strong{
	font-weight: 600;
	margin-right: 10px;
}
.feature-value small{
	font-size: 1rem;
}

.feature-note {
	font-size: 1.2rem;
	color: var(--slate-400);
	margin-left: 10px;
}


.plan h2{
	margin-bottom: 10px;
}
/* Buttons */
.btn {
	width: 100%;
	padding: 0.75rem 1rem;
	font-weight: 700;
	border-radius: 0.5rem;
	border: none;
	cursor: pointer;
	font-size: 1rem;
	margin-top: 2rem;
	transition: background-color 0.2s;
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

/* Premium Card Specifics */
.card-premium {
	width: 49%;
	border: 2px solid var(--orange-500);
	z-index: 10;
}

.card-premium .card-title { color: var(--orange-600); }
.card-premium .price-label { color: var(--slate-500); }
.card-premium .price-number, .card-premium .price-unit { color: var(--slate-900); }
.card-premium .price-note { color: var(--slate-400); }

.card-premium .monthly-fee { background-color: var(--orange-50); }
.card-premium .monthly-fee .price-label { color: var(--orange-700); }
.card-premium .monthly-fee .price-number, .card-premium .monthly-fee .price-unit { color: var(--orange-600); }
.card-premium .monthly-fee .price-note { color: var(--orange-400); }

.card-premium .highlight-text { color: var(--orange-600); font-weight: 700; font-size: 2rem; display: block; text-align: center; width: 100%;}

.btn-premium {
	background-color: var(--orange-600);
	color: var(--white);
}
.btn-premium:hover { background-color: var(--orange-700); }
/* Gold Card Specifics */
.card-gold {
	width: 49%;
	border: 1px solid var(--yellow-400);
}

.card-gold .card-title { color: var(--yellow-600); }
.card-gold .price-label { color: var(--slate-500); }
.card-gold .price-number, .card-gold .price-unit { color: var(--slate-900); }
.card-gold .price-note { color: var(--slate-400); }

.card-gold .monthly-fee { background-color: var(--yellow-50); }
.card-gold .monthly-fee .price-label { color: var(--yellow-700); }
.card-gold .monthly-fee .price-number, .card-gold .monthly-fee .price-unit { color: var(--yellow-600); }
.card-gold .monthly-fee .price-note { color: var(--yellow-600); }

.card-gold .feature-icon { color: var(--yellow-500); }
.card-gold .highlight-text { color: var(--yellow-600); font-weight: 700; font-size: 2rem; display: block; width: 100%; text-align: center;}

.btn-gold {
	background-color: var(--white);
	border: 2px solid var(--yellow-500);
	color: var(--yellow-600);
}
.btn-gold:hover { background-color: var(--yellow-50); }

/* Footnotes */
.footnotes {
	width: 100%;
	margin-top: 20px;
	padding: 1.5rem;
	background-color: #f2f2f2;
	border-radius: 0.75rem;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.footnotes h4 {
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 0.75rem;
	color: var(--slate-700);
}

.footnotes ul {
	list-style: none;
	font-size: 1.4rem;
	color: var(--slate-500);
}

.footnotes li {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.footnotes li:last-child { margin-bottom: 0; }

.note-example {
	display: block;
	margin-top: 0.25rem;
	color: var(--slate-400);
}