@charset "utf-8";


body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}
/*/////////////メイリオにする場合////////////////
#contents *{
	font-family: Helvetica, "hiragino kaku gothic pro","メイリオ","ms pgothic",sans-serif;
}
*/

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Regular.ttf);
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Medium.ttf);
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Serif CJK JP';
    src: url(/fonts/NotoSerifJP-SemiBold.woff);
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Regular.woff);
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url(/fonts/PlayfairDisplay-Regular.ttf);
    font-weight: 400;
	font-display: swap;
}

html {
	scroll-behavior: smooth;
    scroll-padding-top: 110px;
}

#contents *{
	font-family: "Zen Kaku Gothic New",'Noto Sans JP', "Noto Serif CJK JP",'Hiragino Kaku Gothic ProN','Meiryo',"Playfair Display", sans-serif;
}

#contents{
	width: 100%;
    margin: auto;
    min-height: 300px;
	padding-bottom: 0;
}
.l-main {
	width: 100%;
    padding: 0;
    background-color: #fff;
    overflow: hidden;
}
.l-page {
}
.company {
}
.ui-bg-white {
}
.md-mv-heading {
	height: 488px;
	place-items: normal;
	background-color: transparent;
	margin-block: 0;
	position: relative;
}
.mv_innner{
	width: 1140px;
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	height: 488px;
}
.main__img{
	height: 488px;
}
.main__img img{
	width: 100%;
    height: 100%;
    object-fit: cover;
}
.assessment_btn {
	padding-top: 379px;
}
.bottom__btn{
	display: flex;
	justify-content: end;
}
.assessment__btn-bottom {
	color: #FFF;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 2px;
	align-items: center;
	padding-left: 32px;
	width: 316px;
	height: 80px;
	border-radius: 9999px;
	background: #F56400;
	box-shadow: 0 0 10px 0 rgba(177, 65, 17, 0.15);
	display: flex;
	justify-content: center;
}
.assessment__btn-bottom::before{
	content: "";
	position: absolute;
	background: url(../images/calculator_w.webp) no-repeat center / cover;
	width: 19px;
	height: 24px;
	right: 236px;
}
.assessment__btn-bottom::after{
	content: "";
	position: absolute;
	background: url(../images/r_arrow.webp) no-repeat center / cover;
	width: 20px;
	height: 20px;
	right: 18px;
}
.link_in_page {
	background: linear-gradient(114deg, #FFECD7 25.15%, #E2FEFF 83.88%);
	height: 152px;
}
.contents_inner {
	width: 1140px;
    margin: 0 auto;
}
.btn_box {
	padding-block: 50px;
}
.link_in_page_btn{
	display: flex;
	justify-content: space-between;
}
.link_in_page_txt{
	font-family: "Zen Kaku Gothic New";
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 160%;
	border-radius: 9999px;
    border: 1px solid #55CBCF;
    background: #FFF;
    width: 270px;
    height: 52px;
	position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.link_in_page_txt::after{
	content: "";
	position: absolute;
	background: url(../images/arrow.webp) no-repeat center / cover;
	width: 18.487px;
	height: 18.487px;
	right: 16px;
}
.sales_achievements {
}
.sales_innner {
	width: 1140px;
	margin: 0 auto;
	padding-block: 150px;
}
.title {
	padding-bottom: 50px;
	position: relative;
}
.main_ttl {
	color: #000;
	font-family: "Zen Kaku Gothic New";
    text-align: center;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 3.6px;
	padding-bottom: 15px;
}
#contents .sub_ttl {
	color: #55CBCF;
    text-align: center;
    text-edge: "cap";
    font-family: "Playfair Display";
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 2px;
}
.ttl_detail {
	color: #333;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 220%;
	padding-top: 50px;
}
.achievements_box{
	position: relative;
}
.date time{
	color: #F56400;
	background: url(../images/blog.webp) no-repeat center / cover;
	width: 100px;
	height: 56px;
	position: absolute;
    left: 0px;
	padding-left: 9px;
    padding-top: 8px;
}
.blog_img{
	width: 360px;
	height: 240px;
	border-radius: 16px;
}
.blog_img img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	background-color: #CCC;
	border-radius: 16px;
}
.blog_ttl{
	overflow: hidden;
	color: #333;
	text-overflow: ellipsis;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	padding: 10px 18px;
	width: 360px;
}
.blog_detail{
	overflow: hidden;
	color: #333;
	text-overflow: ellipsis;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 160%;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	align-self: stretch;
	padding-left: 18px;
    padding-right: 18px;
}
.achievements_box::after {
	content: "";
	position: absolute;
	background: url(../images/sales_deco.webp) no-repeat center / cover;
	width: 96px;
	height: 304px;
	left: -118px;
    bottom: -19px;
}
.achievements_list {
	display: flex;
    justify-content: center;
    gap: 30px;
	padding-bottom: 50px;
}
.achievements_item {
	display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
	position: relative;
	width: 360px;
}
.viewmore_btn {
	display: flex;
    justify-content: center;
}
.viewmore_txt {
	border-radius: 9999px;
    border: 1px solid #F56400;
    background: #FFF;
    color: #F56400;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 2.8px;
    width: 197px;
    height: 52px;
	display: flex;
    align-items: center;
    padding-left: 22px;
	position: relative;
}
.viewmore_txt::after{
	content: "";
	position: absolute;
	background: url(../images/arrow_o.webp) no-repeat center / cover;
	width: 4px;
	height: 8px;
	right: 23px;
}
.purchase_flow {
	background: #F8F8F8;
}
.flow_innner {
	width: 1140px;
	margin: 0 auto;
	padding-block: 150px;
}
.flow_innner .title{
	padding-bottom: 39px;
}
.flow_list {
	display: flex;
    flex-wrap: wrap;
	gap: 30px 45px;
	justify-content: center;
	position: relative;
}
.flow_list::before{
	content: "";
    position: absolute;
	width: 1353px;
	height: 1px;
	background: #CCC;
	top: 54px;
    left: 177px;
}
.flow_list::after{
	content: "";
    position: absolute;
	width: 1159px;
	height: 1px;
	background: #CCC;
	bottom: 265px;
    right: 375px;
}
.flow_item {
	display: flex;
    flex-direction: column;
    gap: 15px;
	place-items: center;
}
.flow_item img{
	width: 7px;
	height: 7px;
}
#contents .txt_number {
	color: #55CBCF;
    text-align: center;
	font-family: "Noto Serif CJK JP";
    text-edge: cap;
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 1.8px;
}
.flow_detail {
	border-radius: 16px;
    background: #FFF;
	padding: 30px 15px;
	width: 350px;
    height: 247px;
	display: flex;
    flex-direction: column;
    place-items: center;
	gap: 3px;
}
.flow_detail img{
	width: 66px;
	height: 66px;
}
#contents .flow_detail_ttl {
	color: #333;
	font-family: "Noto Sans JP";
    text-align: center;
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}
.flow_detail_txt {
	color: #333;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
	padding-top: 4px;
}
.merit_flow {
	padding-top: 150px;
}
.merit_innner .title{
	padding-bottom: 47px;
}
.merit_innner {
	width: 1140px;
    margin: 0 auto;
}
.merit_flow .main_ttl::before{
	content: "";
	position: absolute;
	background: url(../images/merit_deco.webp) center / cover no-repeat;
	width: 96px;
    height: 298px;
    bottom: -66px;
    right: -182px;
}
.merit_list {
	display: flex;
    flex-wrap: wrap;
	row-gap: 52px;
	justify-content: space-between;
}
.merit_item {
	display: flex;
    flex-direction: column;
    align-items: center;
}
#contents .merit_detail_ttl {
	color: #F56400;
	font-family: "Noto Sans JP";
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-align: center;
	padding-top: 7px;
    padding-bottom: 5px;
}
.merit_detail_txt {
	color: #333;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 160%;
}
.main_contact {
	position: relative;
	height: 506px;
	margin: 0 auto;
	margin-block: 150px;
}
.main_contact .contact_inner{
	position: relative;
	padding: 150px 0;
}
.main_contact .contact_inner::before {
	content: "";
	position: absolute;
	background: url(../images/contact.webp) center / cover no-repeat;
	width: 1680px;
	height: 506px;
	left: -273px;
	top: 0;
	z-index: 0;
}
.contact_inner{
	width: 1140px;
	margin: 0 auto;
}
.main_contact_btn_box {
	width: 1140px;
	margin: 0 auto;
	margin: 6px auto;
}
.main_contact_btn {
	display: flex;
	gap: 15px;
	justify-content: center;
	position: relative;
}
[class*="main_contact_txt--"]{
	color: #FFF;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 2px;
	padding-left: 29px
}
.main_contact_txt--satei{
	width: 316px;
    height: 80px;
	border-radius: 9999px;
    background: #F56400;
    box-shadow: 0 0 10px 0 rgba(177, 65, 17, 0.15);
	display: flex;
    justify-content: center;
    align-items: center;
}
.main_contact_txt--satei::before{
	content: "";
	position: absolute;
	background: url(../images/calculator_w.webp) no-repeat center / cover;
	width: 19px;
	height: 24px;
	left: 142px;
}
.main_contact_txt--satei::after{
	content: "";
	position: absolute;
	background: url(../images/r_arrow.webp) no-repeat center / cover;
	width: 20px;
	height: 20px;
    left: 357px;
}
.main_contact_txt--reservation{
	width: 316px;
    height: 80px;
	border-radius: 9999px;
    background: #55CBCF;
    backdrop-filter: blur(2px);
	display: flex;
    justify-content: center;
    align-items: center;
}
.main_contact_txt--reservation::before{
	content: "";
	position: absolute;
	background: url(../images/mail.icon.webp) no-repeat center / cover;
	width: 23px;
	height: 17px;
    left: 64px;
}
.main_contact_txt--reservation::after{
	content: "";
	position: absolute;
	background: url(../images/arrow_b.webp) no-repeat center / cover;
	width: 20px;
	height: 20px;
	right: 20px;
}
.main_contact_txt--line{
	width: 316px;
    height: 80px;
	border-radius: 9999px;
    background: #06C755;
	backdrop-filter: blur(2px);
	display: flex;
    justify-content: center;
    align-items: center;
}
.main_contact_txt--line::before{
	content: "";
	position: absolute;
	background: url(../images/talk_icon.webp) no-repeat center / cover;
	width: 22.233px;
	height: 24.167px;
	left: 67px;
}
.main_contact_txt--line::after{
	content: "";
	position: absolute;
	background: url(../images/arrow_g.webp) no-repeat center / cover;
	width: 20px;
	height: 20px;
	right: 20px;
}
.main_contact .main_ttl{
	color: #FFF;
}
#contents .main_contact .sub_ttl{
	color: #FFF;
}


.main_contact .main_ttl::before{
	content: "";
	position: absolute;
	background: url(../images/contact_deco.webp) center / cover no-repeat;
	width: 113px;
    height: 130px;
    bottom: 172px;
    right: 31px;
}
.main_contact .main_ttl::after{
	content: "";
	position: absolute;
	background: url(../images/contact_deco2.webp) center / cover no-repeat;
	width: 100px;
    height: 112px;
    top: 262px;
    left: -30px;
}