@charset "utf-8";

/* ==================================================
contents
================================================== */
/* common
================================================== */
.title_common_primary {
	margin-bottom: 52px;
	display: flex;
	justify-content: center;
}
.title_common_primary h2{
	min-height: 79px;
	margin-left: 2px;
	padding-left: 96px;
	background: left top no-repeat;
	background-size: 79px auto;
	box-sizing: border-box;
	display: block;
	font-size: 222.22%;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
}
.title_common_primary h2>span{
	padding-bottom: 15px;
	background: center bottom no-repeat;
	background-size: auto 20px;
	display: block;
	position: relative;
	top: -1px;
}

.title_common_secondary {
	margin-bottom: 53px;
	display: flex;
	justify-content: center;
}
.title_common_secondary h2{
	min-height: 66px;
	padding-right: 4px;
	padding-left: 74px;
	background: url(/shared/templates/roseifukushi_top/images/icon/icon_title.png) left top no-repeat;
	background-size: 66px auto;
	box-sizing: border-box;
	display: block;
	font-size: 222.22%;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
}
.title_common_secondary h2>span {
	display: block;
	position: relative;
	top: -1px;
}
/* Main visual Top
================================================== */
.section_mainvs {
    display: flex;
    justify-content: center;
    color: inherit;
    background-color: #fff580;
    overflow: hidden;
}
.section_mainvs span.show_pc {
    max-width: 1920px;
}
.section_mainvs span.show_pc img {
    width: auto;
    height: 100%;
    vertical-align: top;
}
.section_mainvs span:not(.show_pc) img {
    width: 100%;
    height: auto;
    vertical-align: top;
}
.top_contents_wrap {
    position: relative;
    z-index: 1;
    margin-top: calc(-313 / 1920 * 100%);
    padding-top: 68px;
    overflow: hidden;
}
.top_contents_wrap::before,
.top_contents_wrap::after {
    content: '';
    position: absolute;
    pointer-events: none;
    z-index: -1;
}
.top_contents_wrap::before {
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(100% - 450px);
    color: inherit;
    background-color: #ffffff;
}
.top_contents_wrap::after {
    left: 0;
    right: 0;
    top: 0;
    height: 460px;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-image: url(/shared/templates/roseifukushi_top/images/main/mainvs_wave.png);
    background-size: 100% 460px;
}
.top_contents_wrap:has(.block_registration)::after {
    height: 860px;
    background-image: url(/shared/templates/roseifukushi_top/images/main/mainvs_wave_line.png),url(/shared/templates/roseifukushi_top/images/main/mainvs_wave2.png);
    background-size: 100% 860px;
}
.disp_pc .top_contents_wrap::after {
    background-size: 1920px 460px;
}
.disp_pc .top_contents_wrap:has(.block_registration)::after {
    background-size: 1920px 860px;
}
.disp_pc .section_program_overview::after {
    background-size: auto, 1920px 1204px;
}
.section_front {
    text-align: center;
    padding-bottom: 103px;
    background: url(/shared/templates/roseifukushi_top/images/main/registration_bg_bot.png) no-repeat center bottom;
}
.section_front .txt_lead {
    max-width: 800px;
    margin: 0 auto;
    font-size: 122.2%;
    line-height: 1.8;
}
.section_front .top_navi {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 26px;
    padding: 0 48px 0 49px;
    margin: 52px 0 93px;
    position: relative;
}
.section_front .top_navi > li {
    display: flex;
    width: calc((100% - 52px) / 3);
    padding-bottom: 28px;
}
.section_front .top_navi > li > a {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 25px 14px 26px 89px;
    color: #ffffff;
    background-color: #288126;
    background-repeat: no-repeat;
    background-position: 13px center;
    border-radius: 5px;
    border: 1px solid #288126;
    font-size: 133.3%;
    text-decoration: none;
    text-align: left;
    box-shadow: 1px 2px 4px 0 #bfbfbf;
    transition: background-image 0.3s ease-in-out,background-color 0.3s ease-in-out,color 0.3s ease-in-out;
    position: relative;
    transition: 0.3s ease-in-out background-color, 0.3s ease-in-out background-image, 0.3s ease-in-out color;
}
.section_front .top_navi > li.navi_list1 > a {
    background-image: url(/shared/templates/roseifukushi_top/images/icon/navi_list1_ico.png);
}
.section_front .top_navi > li.navi_list2 > a {
    padding-left: 80px;
    background-image: url(/shared/templates/roseifukushi_top/images/icon/navi_list2_ico.png);
}
.section_front .top_navi > li.navi_list3 > a {
    padding-left: 116px;
    background-image: url(/shared/templates/roseifukushi_top/images/icon/navi_list3_ico.png);
}
.section_front .top_navi > li > a::before,
.section_front .top_navi > li > a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 1px);
    transition: background-image 0.3s ease-in-out;
}
.section_front .top_navi > li > a::before {
    height: 28px;
    background: url(/shared/templates/roseifukushi_top/images/icon/top_navi_round_bot.png) no-repeat center bottom;
    z-index: 1;
    transition: 0.3s ease-in-out background-image;
}
.section_front .top_navi > li > a::after {
    height: 16px;
    background-repeat: no-repeat;
    background-image: url(/shared/templates/roseifukushi_top/images/icon/top_navi_ico_bot.png), url(/shared/templates/roseifukushi_top/images/icon/top_navi_ico_line_bot.png);
	background-size: auto 14px, 74px 4px;
	background-position: center bottom, center -3px;
    z-index: 2;
    transition: 0.3s ease-in-out background-image;
}
.section_front .top_navi > li.navi_list1 > a:hover {
    background-image: url(/shared/templates/roseifukushi_top/images/icon/navi_list1_ico_hv.png);
}
.section_front .top_navi > li.navi_list2 > a:hover {
    background-image: url(/shared/templates/roseifukushi_top/images/icon/navi_list2_ico_hv.png);
}
.section_front .top_navi > li.navi_list3 > a:hover {
    background-image: url(/shared/templates/roseifukushi_top/images/icon/navi_list3_ico_hv.png);
}
.section_front .top_navi > li > a:hover::before {
    background-image: url(/shared/templates/roseifukushi_top/images/icon/top_navi_round_bot_hv.png);
}
.section_front .top_navi > li > a:hover::after {
    background-image: url(/shared/templates/roseifukushi_top/images/icon/top_navi_ico_bot_hv.png), url(/shared/templates/roseifukushi_top/images/icon/top_navi_ico_line_bot_hv.png);
}
/* block_registration */
.block_registration .registration_ttl {
    margin-bottom: 44px;
    padding: 23px;
    color: inherit;
    background-color: #ddf4db;
    background-repeat: no-repeat;
    background-position: left center, right center;
    background-image: url(/shared/templates/roseifukushi_top/images/icon/registration_ttl_bg1.png), url(/shared/templates/roseifukushi_top/images/icon/registration_ttl_bg2.png);
    font-size: 222.2%;
    font-weight: bold;
}
.block_registration .registration_txt {
    display: flex;
    justify-content: center;
    text-align: left;
    font-size: 122.2%;
    padding-right: 28px;
    margin-bottom: 71px;
}
.registration_list {
    display: flex;
    justify-content: center;
}
.registration_list ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 62px;
    width: 100%;
    max-width: 798px;
}
.registration_list ul > li {
    width: calc(50% - 31px);
}
.registration_list ul > li > a {
    display: block;
    width: 100%;
    padding: 25px 40px 25px 37px;
    color: inherit;
    background: #ffffff url(/shared/site_roseifukushi/images/icon/arrow_link_rgt.png) no-repeat right 18px center;
    border: 1px solid #2c9721;
    border-radius: 5px;
    text-decoration: none;
    font-size: 111.1%;
    box-shadow: 1px 2px 4px 0 #bfbfbf;
    transition: background-color 0.3s ease-in-out, background-image 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
.section_front .top_navi > li > a:hover,
.registration_list ul > li > a:hover {
    color: #333333;
    background-color: #fbf58c;
}
/* Section Program Overview
================================================== */
.section_program_overview {
    padding-top: 20px;
    padding-bottom: 193px;
    position: relative;
}
.section_program_overview::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -484px;
    height: 1204px;
    background-repeat: no-repeat;
    background-image: url(/shared/templates/roseifukushi_top/images/icon/program_overview_bg_circle.png), url(/shared/templates/roseifukushi_top/images/icon/program_overview_bg_wave.png);
    background-position: center bottom;
    background-size: auto, 100% 1204px;
    pointer-events: none;
}
.top_contents_wrap:has(> .section_top_contact:last-child) > .section_program_overview:nth-last-child(2) {
    padding-bottom: 334px;
}
.top_contents_wrap:has(.section_top_contact) .section_program_overview:nth-last-child(2)::after {
    content: none;
}
.section_program_overview .title_common_primary {
    padding-right: 2px;
}
.section_program_overview .title_common_primary h2 {
    background-image: url(/shared/templates/roseifukushi_top/images/icon/icon_program_overview.png);
}
.section_program_overview .title_common_primary h2>span {
    min-width: 200px;
    background-image: url(/shared/templates/roseifukushi_top/images/icon/title_program_overview.png);
}
.section_program_overview .overview_txt {
    display: flex;
    justify-content: center;
    text-align: left;
    font-size: 122.2%;
    line-height: 1.8;
    margin: 0 auto 66px;
    max-width: 820px;
}
.section_program_overview .program_video_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 55px;
    padding-right: 15px;
}
.section_program_overview .program_video {
    width: calc((100% - 55px) / 2);
}
.section_program_overview .program_video:only-child {
    width: 100%;
}
.section_program_overview .program_video .video_thumb {
    margin-bottom: 30px;
    box-shadow: 15px 16px 0 0 #288126;
}
.section_program_overview .program_video .video_thumb > span{
	position: relative;
	display: block;
	padding-bottom: 56.2%;
	height: 0;
	min-width: unset;
}
.section_program_overview .program_video .video_thumb iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    border: none;
    color: #ffffff;
    background-color: #288126;
}
.section_program_overview .program_video .video_link a {
    display: inline-block;
    padding: 3px 0 3px 20px;
    color: inherit;
    background: transparent url(/shared/templates/roseifukushi_top/images/icon/icon_arrow.png) 2px 7px no-repeat;
    text-decoration: none;
}
.section_program_overview .program_video .video_link a:hover {
    text-decoration: underline;
}
/* Section Program Flow
================================================== */
.section_flow{
    position: relative;
    overflow: hidden;
    padding: 70px 0 36px;
}
.section_flow .title_common_primary{
    margin-bottom: 66px;
}
.section_flow .title_common_primary h2{
    background-image: url(/shared/templates/roseifukushi_top/images/icon/flow_ttl_ic.png);
    background-position: 0 4px;
}
.section_flow .title_common_primary h2 > span{
    padding-bottom: 18px;
    background-image: url(/shared/templates/roseifukushi_top/images/icon/flow_ttl_txt.png);
}
.section_flow .flow_accordions{
    display: flex;
    flex-flow: row wrap;
    gap: 48px 0;
    margin: 0 -19px;
    counter-reset: step_number;
}
.section_flow .flow_accordions > li{
    padding: 0 19px;
    width: calc(100% / 3);
    list-style: none;
    display: flex;
    flex-direction: column;
}
.section_flow .acc_item{
    background-color: #f1fcfa;
    box-shadow: 1.231px 1.576px 4px 0 #bfbfbf;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
}
.section_flow .acc_item.ac_active{
    height: 100%;
}
.section_flow .acc_item_trigger{
    position: relative;
    display: flex;
    background-color: #ddf4db;
    border-radius: 5px;
    color: #333333;
    text-decoration: none;
}
.section_flow .acc_item_trigger:before{
    content: counter(step_number);
    counter-increment: step_number;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    width: 48px;
    background-color: #288126;
    border-radius: 5px 0 0 5px;
    font-size: 177.78%;
    line-height: 1.2;
    color: #ffffff;
    text-align: center;
}
.section_flow .acc_item_trigger:after{
    content: '';
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 26px;
    height: 26px;
    background-color: #ffffff;
    border-radius: 3px;
    background-image: -webkit-linear-gradient(#288126, #288126),-webkit-linear-gradient(#288126, #288126);
    background-image: -moz-linear-gradient(#288126, #288126),-moz-linear-gradient(#288126, #288126);
    background-image: -o-linear-gradient(#288126, #288126),-o-linear-gradient(#288126, #288126);
    background-image: linear-gradient(#288126, #288126),linear-gradient(#288126, #288126);
    background-repeat: no-repeat;
    background-position: center center;
    border: 1px solid transparent;
    background-size: 2px 16px, 16px 2px;
    transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
.section_flow .ac_active{
    box-shadow: none;
}
.section_flow .ac_active .acc_item_trigger:after{
    background-size: 16px 2px;
}
.section_flow .ac_active .acc_item_trigger{
    border-radius: 5px 5px 0 0;
}
.section_flow .ac_active .acc_item_trigger:before{
    border-bottom-left-radius: 0;
}
.section_flow .acc_item_trigger > span{
    flex: 1 auto;
    width: 100%;
    padding: 24px 50px 25px 18px;
    align-self: center;
    font-size: 122.22%;
    line-height: 1.4;
}
.section_flow .acc_item_cnt{
    display: none;
    height: 100%;
}
.section_flow .acc_item_des{
    display: block;
    padding: 27px 29px 39px;
    line-height: 2;
}

/* Section schedule Flow
================================================== */
.section_schedule{
    position: relative;
    padding: 60px 0 218px;
    z-index: 1;
}
.section_schedule:after{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    background-color: transparent;
    background-repeat: no-repeat;
    color: inherit;
    pointer-events: none;
    bottom: -300px;
    background-image: url(/shared/templates/roseifukushi_top/images/icon/schedule_pattern_bubble.png),url(/shared/templates/roseifukushi_top/images/icon/schedule_pattern_wave.png);
    background-position: right calc(50% + 739px) top 570px, center bottom;
    background-size: auto, max(100%, 1920px) 1088px;
    height: 1088px;
}
.section_schedule .schedule_ttl{
    margin-bottom: 68px;
    text-align: center;
}
.section_schedule .schedule_ttl h3{
    display: inline-block;
    padding: 10px 0 10px 90px;
    background: transparent url(/shared/templates/roseifukushi_top/images/icon/flow_subttl_ic.png) no-repeat;
    font-size: 177.78%;
    font-weight: bold;
    text-align: left;
}
.section_schedule .schedule_cnt{
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    gap: 38px 48px;
}
.section_schedule .schedule_blog{
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 28px 14px 30px;
    background-color: #e8f4e7;
    width: calc((100% - 96px) / 3);
    border-top: 6px solid #288126;
    border-bottom: 6px solid #288126;
    color: #333333;
    text-align: center;
    z-index: 1;
}
.section_schedule .schedule_blog:before{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -28px;
    margin: 0 auto;
    background: transparent url(/shared/templates/roseifukushi_top/images/icon/flow_blog_ic1.png) no-repeat;
    background-size: 100% auto;
    width: 108px;
    height: 44px;
    color: inherit;
    pointer-events: none;
}
.section_schedule .blog_ttl{
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 17px;
}
.section_schedule .blog_ttl h4{
    font-size: 133.33%;
    font-weight: bold;
    line-height: 1.6;
    color: #1f6c1e;
}
.section_schedule .blog_steps{
    flex: 1;
    list-style: none;
}
.section_schedule .blog_steps li{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
    gap: 0 10px;
    padding: 16px 11px 12px 18px;
    min-height: 74px;
    color: #333333;
    line-height: 1.3;
}
.section_schedule .blog_steps .step:after{
    content: '';
    position: absolute;
    left: 1px;
    right: 0;
    bottom: -27px;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 28px 0;
    border-color: #288126 transparent transparent;
}
.section_schedule .blog_steps .step{
    margin-bottom: 37px;
    background-color: #ffffff;
}
.section_schedule .blog_steps .txt_lbl{
    font-size: 133.33%;
}
.section_schedule .blog_steps .txt_time{
    font-size: 200%;
    letter-spacing: 0.15em;
}
.section_schedule .step:has(.txt_time) .txt_lbl{
    font-size: 122.22%;
}
.section_schedule .blog_steps .other{
    padding: 12px 10px;
    background-color: #fff580;
    font-size: 155.56%;
}
.section_schedule .schedule_blog:nth-child(2){
    background-color: #ceeaf9;
    border-top-color: #107cb4;
    border-bottom-color: #107cb4;
}
.section_schedule .schedule_blog:nth-child(2):before{
    background-image: url(/shared/templates/roseifukushi_top/images/icon/flow_blog_ic2.png);
}
.section_schedule .schedule_blog:nth-child(2) .blog_ttl h4{
    color: #0f6997;
}
.section_schedule .schedule_blog:nth-child(2) .step:after{
    border-top-color: #107cb4;
}
.section_schedule .schedule_blog:nth-child(3){
    background-color: #ebe5fd;
    border-top-color: #694fb5;
    border-bottom-color: #694fb5;
}
.section_schedule .schedule_blog:nth-child(3):before{
    background-image: url(/shared/templates/roseifukushi_top/images/icon/flow_blog_ic3.png);
}
.section_schedule .schedule_blog:nth-child(3) .blog_ttl h4{
    color: #5c44a0;
}
.section_schedule .schedule_blog:nth-child(3) .step:after{
    border-top-color: #694fb5;
}
.section_schedule .blog_steps:not(:has(.other)) .step:last-of-type:after{
    content: none;
}

/* hover */
.section_flow .acc_item_trigger:hover:after{
    background-color: #fbf58c;
    border-color: #288126;
}
/* accessibility */
.no_javascript .section_flow .acc_item_trigger:after,
.color_black #tmp_wrapper .section_schedule:after,
.color_blue #tmp_wrapper .section_schedule:after,
.color_yellow #tmp_wrapper .section_schedule:after,
.color_black #tmp_wrapper .section_schedule .schedule_blog:before,
.color_blue #tmp_wrapper .section_schedule .schedule_blog:before,
.color_yellow #tmp_wrapper .section_schedule .schedule_blog:before{
    content: none;
}
.color_black #tmp_wrapper .section_flow .acc_item *,
.color_blue #tmp_wrapper .section_flow .acc_item *,
.color_yellow #tmp_wrapper .section_flow .acc_item *{
    background-color: transparent !important;
}
.color_black #tmp_wrapper .section_flow .acc_item,
.color_blue #tmp_wrapper .section_flow .acc_item,
.color_yellow #tmp_wrapper .section_flow .acc_item,
.color_black #tmp_wrapper .section_schedule .schedule_blog,
.color_blue #tmp_wrapper .section_schedule .schedule_blog,
.color_yellow #tmp_wrapper .section_schedule .schedule_blog,
.color_black #tmp_wrapper .section_schedule .blog_steps li,
.color_blue #tmp_wrapper .section_schedule .blog_steps li,
.color_yellow #tmp_wrapper .section_schedule .blog_steps li{
    border: 1px solid;
}
.color_black #tmp_wrapper .section_flow .acc_item_des,
.color_blue #tmp_wrapper .section_flow .acc_item_des,
.color_yellow #tmp_wrapper .section_flow .acc_item_des{
    border-top: 1px solid;
}
.color_black #tmp_wrapper .section_flow .acc_item_trigger:before,
.color_blue #tmp_wrapper .section_flow .acc_item_trigger:before,
.color_yellow #tmp_wrapper .section_flow .acc_item_trigger:before{
    background-color: transparent;
    border-right: 1px solid;
    color: inherit;
}
.color_black #tmp_wrapper .section_flow .acc_item_trigger:after,
.color_blue #tmp_wrapper .section_flow .acc_item_trigger:after,
.color_yellow #tmp_wrapper .section_flow .acc_item_trigger:after{
    background-color: transparent;
}
.color_black #tmp_wrapper .section_flow .acc_item_trigger:before,
.color_black #tmp_wrapper .section_flow .acc_item_trigger:after,
.color_blue #tmp_wrapper .section_flow .acc_item_trigger:before,
.color_blue #tmp_wrapper .section_flow .acc_item_trigger:after{
    border-color: #ffff00;
}
.color_yellow #tmp_wrapper .section_flow .acc_item_trigger:before,
.color_yellow #tmp_wrapper .section_flow .acc_item_trigger:after{
    border-color: #000000;
}
.color_black #tmp_wrapper .section_schedule .blog_steps .step:after,
.color_blue #tmp_wrapper .section_schedule .blog_steps .step:after,
.color_yellow #tmp_wrapper .section_schedule .blog_steps .step:after{
    border-top-color: inherit;
}
.color_black #tmp_wrapper .section_flow .acc_item_trigger:after,
.color_blue #tmp_wrapper .section_flow .acc_item_trigger:after{
    background-image: -webkit-linear-gradient(#FFFFFF, #FFFFFF), -webkit-linear-gradient(#FFFFFF, #FFFFFF);
    background-image: -moz-linear-gradient(#FFFFFF, #FFFFFF), -moz-linear-gradient(#FFFFFF, #FFFFFF);
    background-image: -o-linear-gradient(#FFFFFF, #FFFFFF), -o-linear-gradient(#FFFFFF, #FFFFFF);
    background-image: linear-gradient(#FFFFFF, #FFFFFF), linear-gradient(#FFFFFF, #FFFFFF);
}
.color_yellow #tmp_wrapper .section_flow .acc_item_trigger:after{
    background-image: -webkit-linear-gradient(#0000FF, #0000FF), -webkit-linear-gradient(#0000FF, #0000FF);
    background-image: -moz-linear-gradient(#0000FF, #0000FF), -moz-linear-gradient(#0000FF, #0000FF);
    background-image: -o-linear-gradient(#0000FF, #0000FF), -o-linear-gradient(#0000FF, #0000FF);
    background-image: linear-gradient(#0000FF, #0000FF), linear-gradient(#0000FF, #0000FF);
}
.fsize_small #tmp_wrapper .section_flow .title_common_primary h2{
    background-position: 0 0;
}
.no_javascript .section_flow .acc_item_cnt{
    display: block;
}
.no_javascript .section_flow .acc_item_trigger:before{
    border-bottom-left-radius: 0;
}
.no_javascript .section_flow .acc_item_trigger{
    border-radius: 5px 5px 0 0;
}
/* Section Testimonials
================================================== */
.card_top_profile {
    padding: 29px 26px 19px;
    height: 100%;
    border: 1px solid #DDF4DB;
    border-radius: 5px;
    background-color: #DDF4DB;
}
.card_top_profile .card_thumbnail {
    max-width: 184px;
    margin: 0 auto 12px;
}
.card_top_profile .card_thumbnail img {
    width: 100%;
    height: auto;
    vertical-align: top;
}
.card_top_profile .card_title {
    margin-bottom: 20px;
    font-size: 133.33%;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
}
.card_top_profile .card_detail {
    font-weight: 500;
    line-height: 1.8;
}

.list_top_related {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    list-style: none;
    gap: 20px;
}
.list_top_related>li {
    width: calc((100% - 60px) / 4);
    border-radius: 5px;
    background-color: #EEEEEE;
    box-shadow: 1.231px 1.576px 4px 0 #BFBFBF;
}
.list_top_related>li>a {
    height: 100%;
    border-radius: inherit;
    display: block;
}
.list_top_related>li>a:hover .item_thumbnail img {
    opacity: 0.7;
}
.list_top_related .item_thumbnail {
    border-radius: inherit;
    display: block;
    overflow: hidden;
}
.list_top_related .item_thumbnail img {
    width: 100%;
    height: auto;
    vertical-align: top;
    transition: opacity 0.3s ease-in-out;
}

.list_top_contact {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;
    gap: 27px;
}
.list_top_contact>li {
    width: calc((100% - 27px) / 2);
    padding: 17px 38px 22px 40px;
    border: 1px solid #FFFFFF;
    border-radius: 5px;
    background-color: #FFFFFF;
    display: flex;
    flex-direction: column;
}
.list_top_contact .item_title {
    margin-bottom: 10px;
    padding-bottom: 1px;
    border-bottom: 2px solid #288126;
    display: flex;
    font-size: 133.33%;
    font-weight: 500;
    line-height: 1.6;
}
.list_top_contact .item_title a {
    display: block;
    text-decoration: none;
    color: inherit;
}
.list_top_contact .item_title a:hover span {
    text-decoration: underline;
}
.list_top_contact .item_title a span {
    padding-left: 24px;
    background: url(/shared/templates/roseifukushi_top/images/icon/icon_arrow.png) 2px 16px no-repeat;
}
.list_top_contact .item_title span {
    padding: 7px 0 3px;
    display: block;
}
.list_top_contact .item_detail {
    display: flex;
    flex-wrap: wrap;
    gap: 0 10px;
    font-weight: 500;
    line-height: 1.8;
    overflow-wrap: break-word;
}
.list_top_contact .item_detail p {
    min-width: calc(50% - 5px);
    max-width: 100%;
    flex: 1 0 auto;
}
.list_top_contact .item_detail a {
    color: inherit;
    text-decoration: none;
}
.list_top_contact .item_detail a:hover {
    text-decoration: underline;
}

.section_top_testimonials {
    padding-top: 46px;
    padding-bottom: 206px;
}
.section_top_testimonials .container {
    max-width: 1310px;
    position: relative;
    z-index: 1;
}
.section_top_testimonials .title_common_primary h2 {
    background-image: url(/shared/templates/roseifukushi_top/images/icon/icon_testimonials.png);
}
.section_top_testimonials .title_common_primary h2>span {
    min-width: 200px;
    background-image: url(/shared/templates/roseifukushi_top/images/icon/title_testimonials.png);
}
.section_top_testimonials .splide_common {
    padding: 0 10px;
    overflow: hidden;
}
.section_top_testimonials .splide_common .splide {
    margin: -14px 0;
    padding: 0 41px;
}
.section_top_testimonials .splide_common .splide__slide {
    width: calc(100% / 3);
    padding: 14px;
}
.section_top_testimonials .splide_common .splide__arrow {
    bottom: 32px;
}
.section_top_testimonials .splide_common .splide__controls {
    margin-top: 47px;
}

.section_top_related {
    padding-bottom: 334px;
    position: relative;
}
.section_top_related::before {
    content: "";
    background-image: url(/shared/templates/roseifukushi_top/images/icon/background_related_01.png), url(/shared/templates/roseifukushi_top/images/icon/background_related_02.png);
    background-position: calc(50% + 710px) top, center 239px;
    background-size: 334px auto, max(1920px, 100%) 352px;
    background-repeat: no-repeat;
    position: absolute;
    top: -347px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    pointer-events: none;
}
.section_top_related .container {
    max-width: 1160px;
    position: relative;
    z-index: 1;
}

.section_top_contact {
    padding-bottom: 170px;
    position: relative;
}
.section_top_contact::before {
    content: "";
    background-image: url(/shared/templates/roseifukushi_top/images/icon/background_contact_01.png), -webkit-linear-gradient(to right, #DDF4DB, #DDF4DB);
    background-image: url(/shared/templates/roseifukushi_top/images/icon/background_contact_01.png), -moz-linear-gradient(to right, #DDF4DB, #DDF4DB);
    background-image: url(/shared/templates/roseifukushi_top/images/icon/background_contact_01.png), -o-linear-gradient(to right, #DDF4DB, #DDF4DB);
    background-image: url(/shared/templates/roseifukushi_top/images/icon/background_contact_01.png), linear-gradient(to right, #DDF4DB, #DDF4DB);
    background-position: center top, center bottom;
    background-size: max(1920px, 100%) 996px, 100% calc(100% - 995px);
    background-repeat: no-repeat;
    position: absolute;
    top: -416px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    pointer-events: none;
}
.section_top_contact .container {
    max-width: 1040px;
    position: relative;
    z-index: 1;
}
.section_top_contact .title_common_secondary {
    margin-bottom: 55px;
}

/* ==================================================
hover
================================================== */

/* ==================================================
accessibility
================================================== */
.color_black #tmp_wrapper .section_front .top_navi > li > a::before,
.color_blue #tmp_wrapper .section_front .top_navi > li > a::before,
.color_yellow #tmp_wrapper .section_front .top_navi > li > a::before,
.color_black #tmp_wrapper .section_program_overview::after,
.color_blue #tmp_wrapper .section_program_overview::after,
.color_yellow #tmp_wrapper .section_program_overview::after {
    content: none !important;
}
.color_black #tmp_wrapper .top_contents_wrap,
.color_blue #tmp_wrapper .top_contents_wrap,
.color_yellow #tmp_wrapper .top_contents_wrap,
.color_black #tmp_wrapper .section_front,
.color_blue #tmp_wrapper .section_front,
.color_yellow #tmp_wrapper .section_front,
.color_black #tmp_wrapper .section_front .container,
.color_blue #tmp_wrapper .section_front .container,
.color_yellow #tmp_wrapper .section_front .container {
    background-color: transparent !important;
}
.color_black #tmp_wrapper .top_contents_wrap::before {
    background-color: #000000 !important;
}
.color_blue #tmp_wrapper .top_contents_wrap::before {
    background-color: #00008B !important;
}
.color_yellow #tmp_wrapper .top_contents_wrap::before {
    background-color: #ffff00 !important;
}
.color_black #tmp_wrapper .top_contents_wrap::after,
.color_blue #tmp_wrapper .top_contents_wrap::after,
.color_yellow #tmp_wrapper .top_contents_wrap::after {
    height: 460px;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% 460px !important;
}
.color_black #tmp_wrapper .top_contents_wrap::after {
    background-image: url(/shared/templates/roseifukushi_top/images/main/mainvs_wave_black.png) !important;
}
.color_blue #tmp_wrapper .top_contents_wrap::after {
    background-image: url(/shared/templates/roseifukushi_top/images/main/mainvs_wave_blue.png) !important;
}
.color_yellow #tmp_wrapper .top_contents_wrap::after {
    background-image: url(/shared/templates/roseifukushi_top/images/main/mainvs_wave_yellow.png) !important;
}
.color_black #tmp_wrapper .section_front .top_navi > li > a,
.color_blue #tmp_wrapper .section_front .top_navi > li > a,
.color_yellow #tmp_wrapper .section_front .top_navi > li > a,
.color_black #tmp_wrapper .registration_list ul > li > a,
.color_blue #tmp_wrapper .registration_list ul > li > a,
.color_yellow #tmp_wrapper .registration_list ul > li > a,
.color_black #tmp_wrapper .section_program_overview .program_video .video_thumb,
.color_blue #tmp_wrapper .section_program_overview .program_video .video_thumb,
.color_yellow #tmp_wrapper .section_program_overview .program_video .video_thumb {
    box-shadow: none;
}
.color_black #tmp_wrapper .section_front .top_navi > li > a,
.color_blue #tmp_wrapper .section_front .top_navi > li > a,
.color_yellow #tmp_wrapper .section_front .top_navi > li > a {
    padding-left: 14px;
    text-align: center;
    justify-content: center;
}
.color_black #tmp_wrapper .block_registration .registration_ttl,
.color_blue #tmp_wrapper .block_registration .registration_ttl,
.color_yellow #tmp_wrapper .block_registration .registration_ttl {
    border: 1px solid;
}
.color_black #tmp_wrapper .section_front .top_navi > li > a::after,
.color_blue #tmp_wrapper .section_front .top_navi > li > a::after,
.color_yellow #tmp_wrapper .section_front .top_navi > li > a::after {
    top: calc(100% - 22px);
    height: 14px;
    background-size: auto 14px;
    background-position: center bottom;
}
.color_black #tmp_wrapper .section_front .top_navi > li > a::after,
.color_blue #tmp_wrapper .section_front .top_navi > li > a::after {
    background-image: url(/shared/templates/roseifukushi_top/images/icon/top_navi_ico_bot.png);
}
.color_yellow #tmp_wrapper .section_front .top_navi > li > a::after {
    background-image: url(/shared/templates/roseifukushi_top/images/icon/top_navi_ico_bot_blue.png);
}
.color_black #tmp_wrapper .section_front .top_navi > li > a:hover,
.color_blue #tmp_wrapper .section_front .top_navi > li > a:hover,
.color_yellow #tmp_wrapper .section_front .top_navi > li >a:hover,
.color_black #tmp_wrapper .registration_list ul > li > a:hover,
.color_blue #tmp_wrapper .registration_list ul > li > a:hover,
.color_yellow #tmp_wrapper .registration_list ul > li > a:hover {
    text-decoration: underline;
}

.fsize_small .list_top_contact .item_title span {
    padding-top: 12px;
    padding-bottom: 7px;
}

.color_blue #tmp_wrapper .card_top_profile .card_thumbnail img,
.color_black #tmp_wrapper .card_top_profile .card_thumbnail img,
.color_yellow #tmp_wrapper .card_top_profile .card_thumbnail img {
    background-color: #FFFFFF !important;
}

.color_blue .section_top_related::before,
.color_black .section_top_related::before,
.color_yellow .section_top_related::before,
.color_blue .section_top_contact::before,
.color_black .section_top_contact::before,
.color_yellow .section_top_contact::before {
    display: none;
}

