@charset "utf-8";


body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}
/*/////////////メイリオにする場合////////////////
#contents *{
	font-family: Helvetica, "hiragino kaku gothic pro","メイリオ","ms pgothic",sans-serif;
}
*/

.breadcrumbs {
	display: none;
}

html {
	scroll-behavior: smooth;
}

/* outline
------------------------------*/
.l-page {
overflow-x: hidden;
background-color: #f6f7f1;
}
.l-page * {
box-sizing: border-box;
font-family: "M PLUS Rounded 1c", sans-serif;
}
.l-page img {
width: 100%;
vertical-align: bottom;
}

#path,
.h1_section {
display: none;
}

#contents {
width: 100%;
min-width: 1140px;
padding: 0;
}

.contents_wid {
width: 1140px;
margin-right: auto;
margin-left: auto;
}

.ttl_com {
position: relative;
font-weight: 700;
font-size: 32px;
letter-spacing: 0.1em;
text-align: center;
}
.ttl_com::before {position: absolute;top: -53px;left: 50%;transform: translateX(-50%);background-size: cover;content: "";}

.subttl_com {
display: block;
position: relative;
color: #806a98;
font-weight: 600;
font-size: 14px;
font-family: "Noto Sans JP", sans-serif;
letter-spacing: 0.1em;
}
.subttl_com::after {
position: absolute;
bottom: -18px;
left: 50%;
transform: translateX(-50%);
width: 60px;
height: 4px;
border-radius: 10px;
background-color: #806a98;
content: "";
}

/*---------------------------------------------------------
main
---------------------------------------------------------*/
.mv_container {height: 395px;padding-top: 40px;background: url(../images/mv_bg.png) no-repeat center center/1920px 386px;}

.mv_ttl {
padding-left: 126px;
font-weight: 700;
font-size: 38px;
letter-spacing: 0.1em;
}
.mv_ttl_color {
color: #806a98;
font-weight: 700;
font-size: 80px;
font-family: inherit;
}
.mv_ttl_circle {
display: inline-flex;
justify-content: center;
align-items: center;
width: 120px;
height: 120px;
margin-top: 10px;
margin-right: 10px;
border-radius: 50%;
background-color: #806a98;
color: #fff;
font-family: inherit;
}

.mv_txt {
margin-top: 12px;
padding-left: 126px;
font-weight: 500;
font-size: 20px;
line-height: 1.7;
}

.link_container {
padding: 40px 0;
}

.link_list {
display: flex;
border-radius: 10px;
background-color: #fff;
}
.link_list_item {
display: flex;
justify-content: center;
align-items: center;
position: relative;
width: 227px;
height: 70px;
font-weight: 700;
font-size: 20px;
letter-spacing: 0.03em;
}
.link_list_item a {
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.03em;
}
.link_list_item:not(:first-of-type)::before {
position: absolute;
top: 50%;
left: 0;
transform: translateY(-50%);
width: 1px;
height: 30px;
background-image: linear-gradient(to bottom, #333 4px, transparent 4px);
background-position: right top;
background-size: 1px 8px;
background-repeat: repeat-y;
content: "";
}
.link_list_item a {
color: #806a98;
}
.link_list_item a:hover {
opacity: 0.8;
text-decoration: none;
}

.worries_container {position: relative;padding: 90px 0 80px;}
.worries_container::before {
position: absolute;
top: 18px;
left: -454px;
width: 334px;
height: 202px;
background: url(../images/worries_bg.png) no-repeat center center/cover;
content: "";
}
.worries_container .ttl_com::before {
width: 48px;
height: 40px;
background-image: url(../images/worries_ttl.png);
}

.worries_list {
position: relative;
z-index: 0;
width: 880px;
margin: 73px auto 0;
padding-bottom: 15px;
}
.worries_list::before {
position: absolute;
right: 0;
bottom: 0;
z-index: -1;
width: 277px;
height: 221px;
background: url(../images/worries_img.png) no-repeat center center/cover;
background-size: cover;
content: "";
}
.worries_list_item {
position: relative;
padding-left: 36px;
font-weight: 500;
font-size: 16px;
line-height: 2.4;
font-family: "Noto Sans JP", sans-serif;
}
.worries_list_item::before {
position: absolute;
top: 8px;
left: 0;
width: 24px;
height: 24px;
background: url(../images/worries_check.png) no-repeat center center/cover;
content: "";
}

.solution_container {position: relative;height: 649px;padding-top: 80px;background: url(../images/solution_bg01.png) no-repeat center center/100% 649px;}
.solution_container .contents_wid {
position: relative;
}
.solution_container .contents_wid::before {
position: absolute;
top: -207px;
right: -579px;
width: 545px;
height: 282px;
background: url(../images/solution_bg02.png) no-repeat center center/cover;
content: "";
}

.solution_ttl {
position: relative;
font-weight: 700;
font-size: 32px;
text-align: center;
}
.solution_ttl::after {position: absolute;bottom: -8px;left: 50%;transform: translateX(-50%);width: 520px;height: 6px;border-radius: 50px;background-color: #f2c700;content: "";}
.solution_ttl_big {
font-size: 46px;
}
.solution_ttl_color {
font-weight: 500;
font-size: 54px;
font-family: inherit;
color: #f28800;
}

.solution_list {display: flex;justify-content: space-between;margin-top: 48px;}
.solution_list_item {height: 374px;padding-top: 87px;}
.solution_point {
display: flex;
justify-content: center;
align-items: center;
width: 130px;
height: 50px;
margin: 0 auto;
background: url(../images/solution_point_bg.png) no-repeat center center/cover;
color: #f2c700;
font-weight: 700;
text-align: center;
}
.solution_point_txt {
font-size: 16px;
font-family: "Noto Sans JP", sans-serif;
}
.solution_point_no {
padding: 0 3px 2px 3px;
font-size: 28px;
font-family: "Noto Sans JP", sans-serif;
}
.solution_txt {
margin-top: 15px;
font-weight: 700;
font-size: 24px;
line-height: 1.5;
text-align: center;
}

.solution_list_item:nth-of-type(1) {
width: 354px;
background: url(../images/solution_item_bg01.png) no-repeat center top/100% 360px;
}
.solution_list_item:nth-of-type(2) {
width: 364px;
background: url(../images/solution_item_bg02.png) no-repeat center bottom/100% 356px;
}
.solution_list_item:nth-of-type(3) {
width: 354px;
background: url(../images/solution_item_bg03.png) no-repeat center top/100% 360px;
}

.content_container {position: relative;padding-top: 133px;}
.content_container::before {
position: absolute;
top: -65px;
left: -427px;
width: 261px;
height: 182px;
background: url(../images/content_bg.png) no-repeat center center/cover;
content: "";
}
.content_container .ttl_com::before {
width: 40px;
height: 40px;
background-image: url(../images/content_ttl.png);
}

.content_list {
display: flex;
justify-content: space-between;
margin-top: 21px;
}
.content_list_item {
height: 465px;
}

.content_subttl {
color: #806a98;
font-weight: 700;
font-size: 30px;
text-align: center;
}

.content_sublist {
margin: 10px auto 0;
}
.content_sublist_item {
position: relative;
padding-left: 16px;
color: #4e4e4e;
font-weight: 700;
font-size: 18px;
line-height: 2;
}
.content_sublist_item::before {
position: absolute;
top: 50%;
left: 0;
transform: translateY(-50%);
content: "・";
}

.content_list_item:nth-of-type(1) {width: 338px;padding-top: 78px;background: url(../images/content_item_bg01.png) no-repeat center top/100% 333px;}
.content_list_item:nth-of-type(1) .content_sublist {
width: 168px;
}
.content_list_item:nth-of-type(2) {width: 437px;margin-left: 16px;padding-top: 143px;background: url(../images/content_item_bg02.png) no-repeat center bottom/100% 425px;}
.content_list_item:nth-of-type(2) .content_sub_wrapper {
display: flex;
justify-content: space-between;
width: 364px;
margin: 0 auto;
}
.content_list_item:nth-of-type(2) .content_sublist:nth-of-type(1) {
width: 180px;
}
.content_list_item:nth-of-type(2) .content_sublist:nth-of-type(2) {
width: 144px;
}
.content_list_item:nth-of-type(3) {width: 324px;padding-top: 79px;background: url(../images/content_item_bg03.png) no-repeat center top/100% 318px;}
.content_list_item:nth-of-type(3) .content_sublist {
width: 88px;
}

.reform_container {position: relative;padding: 129px 0 80px;}
.reform_container::before {
position: absolute;
top: -101px;
right: -446px;
width: 504px;
height: 270px;
background: url(../images/reform_bg.png) no-repeat center center/cover;
content: "";
}
.reform_container .ttl_com::before {
width: 40px;
height: 40px;
background-image: url(../images/reform_ttl.png);
}

.reform_list {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin-top: 68px;
}
.reform_item {
position: relative;
width: 360px;
}
.reform_item:nth-child(-n+3) {
margin-bottom: 50px;
}
.reform_item dt {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
top: -29px;
left: 50%;
transform: translateX(-50%);
width: 190px;
height: 60px;
color: #fff;
font-weight: 500;
font-size: 30px;
}
.reform_item:nth-child(odd) dt {
background: rgba(242, 199, 0, 0.9);
}
.reform_item:nth-child(even) dt {
background: rgba(128, 106, 152, 0.9);
}

.reform_ttl {
margin-top: 25px;
color: #1d1d1d;
font-weight: 700;
font-size: 26px;
text-align: center;
}
.reform_text {
margin-top: 12px;
color: #1d1d1d;
font-weight: 500;
font-size: 16px;
line-height: 1.75;
text-align: center;
}

.features_container {position: relative;z-index: 0;height: 986px;padding-top: 134px;background: url(../images/features_bg01.png) no-repeat center center/100% 986px;}
.features_container::before {
position: absolute;
top: 416px;
left: 0;
z-index: -1;
width: calc(50% - 570px + 980px);
min-width: 980px;
height: 340px;
border-radius: 0 30px 0 0;
background-color: #f6f7f1;
content: "";
}
.features_container .contents_wid {
position: relative;
}
.features_container .contents_wid::before {
position: absolute;
top: -235px;
left: -416px;
width: 302px;
height: 253px;
background: url(../images/features_bg02.png) no-repeat center center/cover;
content: "";
}
.features_container .ttl_com::before {top: -59px;width: 29px;height: 46px;background-image: url(../images/features_ttl.png);}

.features_block {
display: flex;
align-items: center;
position: relative;
height: 300px;
}
.features_block::before {
position: absolute;
top: 0;
width: 540px;
height: 300px;
content: "";
}
.features_txt {
width: 570px;
color: #1d1d1d;
font-weight: 500;
font-size: 16px;
line-height: 1.87;
line-break: strict;
}
.features_txt:not(:first-of-type) {
margin-top: 16px;
}

.features_block:nth-of-type(1) {
margin-top: 60px;
}
.features_block:nth-of-type(1)::before {
left: 0;
border-radius: 30px;
background: url(../images/features_img01.jpg) no-repeat center center/cover;
}
.features_block:nth-of-type(1) .features_block_inner {
margin-left: auto;
}
.features_block:nth-of-type(2) {
margin-top: 40px;
}
.features_block:nth-of-type(2)::before {
right: 0;
border-radius: 44px;
background: url(../images/features_img02.jpg) no-repeat center center/cover;
}

.flow_container {position: relative;padding-top: 130px;}
.flow_container::before {
position: absolute;
top: -84px;
right: -510px;
width: 527px;
height: 268px;
background: url(../images/flow_bg.png) no-repeat center center/cover;
content: "";
}
.flow_container .ttl_com::before {
width: 43px;
height: 40px;
background-image: url(../images/flow_ttl.png);
}

.flow_list {
display: flex;
flex-wrap: wrap;
margin-top: 80px;
}
.flow_list_item {
display: flex;
justify-content: center;
align-items: flex-end;
position: relative;
width: 312px;
height: 206px;
padding-bottom: 30px;
border: 4px solid #806a98;
border-radius: 10px;
background-color: #fff;
font-weight: 700;
font-size: 24px;
}
.flow_list_item::before {
position: absolute;
left: 50%;
transform: translateX(-50%);
content: "";
}
.flow_no {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
top: -46px;
left: 14px;
width: 84px;
height: 84px;
background: url(../images/flow_no_bg.png) no-repeat center center/cover;
color: #806a98;
font-weight: 700;
font-size: 36px;
}

.flow_list_item:nth-of-type(n+1):nth-of-type(-n+5)::after {
-webkit-clip-path: polygon(0 0, 100% 49%, 0 100%);
		clip-path: polygon(0 0, 100% 49%, 0 100%);
position: absolute;
top: 81px;
right: -53px;
width: 25px;
height: 49px;
background-color: #f2c700;
content: "";
}
.flow_list_item:nth-of-type(n+4) {
margin-top: 76px;
}
.flow_list_item:nth-of-type(n+1):nth-of-type(-n+2), .flow_list_item:nth-of-type(n+4):nth-of-type(-n+5) {
margin-right: 78px;
}
.flow_list_item:nth-of-type(1)::before {
top: 44px;
width: 82px;
height: 64px;
background: url(../images/flow_icon01.png) no-repeat center center/cover;
}
.flow_list_item:nth-of-type(2)::before {
top: 40px;
width: 86px;
height: 71px;
background: url(../images/flow_icon02.png) no-repeat center center/cover;
}
.flow_list_item:nth-of-type(3)::before {
top: 38px;
width: 58px;
height: 73px;
background: url(../images/flow_icon03.png) no-repeat center center/cover;
}
.flow_list_item:nth-of-type(4) {
margin-left: 48px;
}
.flow_list_item:nth-of-type(4)::before {
top: 37px;
width: 52px;
height: 73px;
background: url(../images/flow_icon04.png) no-repeat center center/cover;
}
.flow_list_item:nth-of-type(5)::before {
top: 42px;
width: 97px;
height: 66px;
background: url(../images/flow_icon05.png) no-repeat center center/cover;
}
.flow_list_item:nth-of-type(6) {
background-color: #eeeaf2;
}
.flow_list_item:nth-of-type(6)::before {
top: 38px;
width: 67px;
height: 76px;
background: url(../images/flow_icon06.png) no-repeat center center/cover;
}

.faq_container {position: relative;padding: 131px 0 79px;}
.faq_container::before {
position: absolute;
top: 69px;
left: -410px;
width: 643px;
height: 157px;
background: url(../images/faq_bg.png) no-repeat center center/cover;
content: "";
}
.faq_container .ttl_com::before {
width: 43px;
height: 43px;
background-image: url(../images/faq_ttl.png);
}

.faq_list {
margin-top: 60px;
}

.faq_q {
display: flex;
align-items: center;
position: relative;
height: 70px;
padding: 0 20px;
background-color: #fff4c4;
}
.faq_q:not(:first-of-type) {
margin-top: 20px;
}
.faq_q_icon {
padding-right: 14px;
padding-bottom: 10px;
color: #f2c700;
font-weight: 700;
font-size: 30px;
}
.faq_q_txt {
font-weight: 700;
font-size: 22px;
}
.faq_q::after {
position: absolute;
top: 50%;
right: 12px;
transform: translateY(-50%);
color: #f2c700;
font-size: 40px;
content: "＋";
}
.faq_q.active::after {
right: 20px;
font-weight: 700;
font-size: 26px;
content: "―";
}
.faq_q:hover {
cursor: pointer;
}

.faq_a:not(:first-of-type) {
display: none;
}
.faq_a_wrap {
display: flex;
min-height: 102px;
padding: 12px 20px;
background-color: #fff;
}
.faq_a_icon {
padding-right: 16px;
color: #806a98;
font-weight: 700;
font-size: 30px;
}
.faq_a_txt {
padding: 8px 0;
font-weight: 500;
font-size: 16px;
}

.contact_container {padding: 100px 0 75px;background-color: #fff4c4;}
.contact_container .ttl_com {
padding-left: 24px;
color: #000;
letter-spacing: normal;
}

.contact_box {
display: flex;
margin-top: 18px;
padding: 35px 0 35px 236px;
border: 5px solid #cca800;
background-color: #fff;
}
.contact_tel {
position: relative;
margin-top: 3px;
color: #cca800;
font-weight: 500;
font-size: 40px;
font-family: "Noto Sans JP", sans-serif;
}
.contact_tel::before {
position: absolute;
top: 9px;
left: -57px;
width: 55px;
height: 42px;
background: url(../images/contact_tel.png) no-repeat center center/cover;
content: "";
}
.contact_hour {font-size: 14px;font-family: "Noto Sans JP", sans-serif;}
.contact_link {
display: flex;
justify-content: center;
align-items: center;
position: relative;
z-index: 0;
width: 400px;
height: 80px;
margin-left: 60px;
padding-left: 44px;
border-radius: 40px;
background: #cca800 url(../images/contact_mail.png) no-repeat left 98px center/30px 23px;
color: #fff;
font-weight: 700;
font-size: 25px;
}
.contact_link:hover {
opacity: 0.8;
color: #fff;
text-decoration: none;
}

/* footer */
.footer_maininner {
	background: url(../images/bg_footerimg.png) no-repeat center;
	height: 600px;
	background-color: #FFF4C4;
}