@charset "utf-8";

@media screen and (max-width : 640px) {
.mainvisual_top {
    padding: calc(135 / 393 * 100%) 0 calc(187 / 393 * 100%);
    background-image: url(/shared/templates/kasuhara_top/images/icon/layer_mainvisual_01_sp.png), url(/shared/templates/kasuhara_top/images/icon/layer_mainvisual_02_sp.png);
    background-size: 199px auto, 100% auto;
}
.mainvisual_top .container {
	padding: 0;
}
.mainvisual_top .mainvisual_banner {
	margin-bottom: 12px;
    background-image: url(/shared/templates/kasuhara_top/images/main/banner_mainvisual_sp.png);
}
.mainvisual_top .mainvisual_banner::after {
    padding-top: calc(430 / 786 * 100%);
}
.mainvisual_top .mainvisual_detail {
	padding: 0 40px;
}

.section_top_about {
    min-height: auto;
    padding: 91px 0 calc(241 / 393 * 100%);
    background-image: url(/shared/templates/kasuhara_top/images/icon/decoration_about_sp.png);
	background-size: calc(704 / 786 * 100%) auto;
	background-position: center calc(100% - 30px);
}
.section_top_about .section_wrapper {
    max-width: none;
}
.section_top_about .section_inner {
	padding-bottom: 0;
}
.section_top_about .section_inner::before {
	height: calc(100% - 9px);
}
.section_top_about .section_label {
    margin-bottom: 16px;
    font-size: 100%;
}

.list_top_contents {
    gap: 20px;
}
.list_top_contents>li {
    width: calc(50% - 10px);
}
.list_top_contents>li::before {
    width: calc(100% + 30px);
    height: calc(100% + 30px);
    background-image: url(/shared/templates/kasuhara_top/images/icon/shadow_contents_sp.png);
}
.list_top_contents>li::after {
    min-height: 167px;
}
.list_top_contents .item_wrapper {
    padding: 16px 18px 8px;
}
.list_top_contents .item_wrapper:hover .item_label {
    color: inherit;
}
.list_top_contents .item_icon {
    max-width: 60px;
}
.list_top_contents .item_label {
    line-height: 1.25;
}

.section_top_contents {
    padding: 91px 0 89px;
    background-image: url(/shared/templates/kasuhara_top/images/icon/background_contents_01_sp.png);
    background-size: calc(127 / 393 * 100%) auto;
}
.section_top_contents .title_common_primary {
    margin-bottom: 39px;
}
.section_top_contents .title_common_primary h2 {
    background-image: url(/shared/templates/kasuhara_top/images/icon/title_contents_sp.png);
}

.button_top_phone::before,
.button_top_mail::before {
    width: calc(100% + 30px);
    height: calc(100% + 30px);
    top: -10px;
    left: -10px;
    background-image: url(/shared/templates/kasuhara_top/images/icon/shadow_contact_sp.png);
}
.button_top_phone p,
.button_top_phone a,
.button_top_mail a {
    min-height: auto;
}
.button_top_phone .button_note,
.button_top_mail .button_note {
    margin-top: 5px;
    font-size: 87.5%;
}

.button_top_phone p,
.button_top_phone a {
    padding: 9px 14px 11px 22px;
}
.button_top_phone p {
    padding-right: 22px;
}
.button_top_phone a {
    text-align: left;
}
.button_top_phone a .button_wrapper {
    padding-left: 46px;
}
.button_top_phone a .button_wrapper::before,
.button_top_phone a .button_wrapper::after {
    display: block;
}
.button_top_phone a .button_note {
    display: block;
}
.button_top_phone .button_wrapper {
    width: 100%;
    padding: 0 0 2px;
}
.button_top_phone .button_highlight {
    margin-bottom: 0;
}

.button_top_mail:has(a:hover)::before {
    opacity: 1;
}
.button_top_mail a {
    padding: 15px 14px 12px 22px;
    background-color: #028149;
    color: #FFFFFF;
}
.button_top_mail a:hover {
    background-color: #028149;
    color: #FFFFFF;
}
.button_top_mail a:hover .button_wrapper::before {
    border-color: #FFFFFF;
    background-color: #FFFFFF;
}
.button_top_mail a:hover .button_wrapper::after {
    filter: none;
}
.button_top_mail a::before {
    margin-right: 7px;
}
.button_top_mail .button_wrapper {
    width: 100%;
    padding: 0 0 1px 46px;
}
.button_top_mail .button_highlight {
    margin: 0 0 5px;
    display: block;
    font-size: 112.5%;
}

.link_top_search a:hover {
    text-decoration: none;
}

.section_top_contact {
    margin: 120px 0 90px;
}
.section_top_contact .section_wrapper {
    padding: 29px 21px 28px;
    border-radius: 30px;
    background-size: auto 579px;
}
.section_top_contact .section_title h2 {
    margin-bottom: 32px;
    padding-top: 95px;
    background-image: url(/shared/templates/kasuhara_top/images/icon/icon_title_contact_sp.png);
    background-size: auto 76px;
    font-size: 150%;
}
.section_top_contact .section_title h2 .title_label {
    margin-top: 12px;
    font-size: 75%;
}
.section_top_contact .list_common_buttons {
    align-items: center;
    gap: 20px;
}
.section_top_contact .list_common_buttons>li {
    width: 100%;
}
.section_top_contact .list_common_buttons>li:nth-child(3) {
    margin-top: 3px;
}

.list_top_movie {
    flex-direction: column;
}
.list_top_movie>li {
    width: 100%;
}
.list_top_movie .item_wrapper::after {
    width: calc(100% + 30px);
    height: calc(100% + 30px);
    background-image: url(/shared/templates/kasuhara_top/images/icon/shadow_movie_sp.png);
    top: -10px;
    left: -10px;
}
.list_top_movie .item_wrapper>a:hover .item_thumbnail img {
    transform: none;
}
.list_top_movie .item_wrapper>a:hover .item_label {
    color: inherit;
}
.list_top_movie .item_inner {
    padding-top: 16px;
    padding-bottom: 16px;
}
.list_top_movie .item_icon {
    width: 32px;
    margin-right: 14px;
}
.list_top_movie .item_label {
    font-size: 112.5%;
}

.section_top_movie {
    margin: 90px 0;
    position: relative;
}
.section_top_movie::before {
    content: "";
    background-image: url(/shared/templates/kasuhara_top/images/icon/background_movie_01_sp.png),  url(/shared/templates/kasuhara_top/images/icon/background_movie_02_sp.png);
    background-position: right top, left bottom;
    background-size: calc(216 / 393 * 100%) auto, calc(180 / 393 * 100%) auto;
    top: -43px;
    bottom: -43px;
}
.section_top_movie .section_wrapper {
    padding: 33px 23px 22px;
    border-radius: 30px;
}
.section_top_movie .title_common_primary {
    margin-bottom: 40px;
}
.section_top_movie .title_common_primary h2 {
    background-image: url(/shared/templates/kasuhara_top/images/icon/title_movie_sp.png);
}

.list_top_information {
    flex-direction: column;
}
.list_top_information>li {
    width: 100%;
}
.list_top_information>li::before {
    width: calc(100% + 30px);
    height: calc(100% + 30px);
    background-image: url(/shared/templates/kasuhara_top/images/icon/shadow_information_sp.png);
    top: -10px;
    left: -10px;
}
.list_top_information .item_wrapper {
    flex-flow: row wrap;
}
.list_top_information .item_wrapper:hover .button_common_simple .button_wrapper {
    background-color: #FFFFFF;
    color: #028149;
}
.list_top_information .item_wrapper:hover .button_common_simple .button_wrapper::after {
    filter: none;
}
.list_top_information .item_avatar {
    width: 90px;
    max-width: none;
    flex: 0 0 auto;
    margin: 0 16px 0 0;
}
.list_top_information .item_name {
    margin: 0;
    flex: 1 1 0;
    font-size: 112.5%;
    text-align: left;
}
.list_top_information .button_common_simple {
    margin-top: 16px;
}

.section_top_information {
    padding: calc(92 / 393 * 100%) 0 82px;
    background-image: url(/shared/templates/kasuhara_top/images/icon/background_information_sp.png);
    background-position: calc(100% - 17px) 17px;
    background-size: calc(235 / 393 * 100%) auto;
}
.section_top_information .title_common_primary {
    margin-bottom: 63px;
    padding-right: 0;
}
.section_top_information .title_common_primary h2 {
    background-image: url(/shared/templates/kasuhara_top/images/icon/title_information_sp.png);
}

.list_top_news ul>li:not(:last-of-type) {
    margin-bottom: 22px;
    padding-bottom: 22px;
}
.list_top_news .item_inner a:hover {
    color: inherit;
}

.contents_top_news {
    background: url(/shared/templates/kasuhara_top/images/icon/decoration_news_sp.png) calc(50% + 7px) bottom no-repeat;
    background-size: calc(247 / 353 * 100%) auto;
    padding-bottom: calc(238 / 353 * 100%);
    flex-direction: column;
}
.contents_top_news .contents_information {
    width: 100%;
    margin: 0 0 61px;
    padding: 0;
    background: none;
}
.contents_top_news .contents_information .button_common_simple.is_reversed {
    max-width: none;
}
.contents_top_news .title_common_primary {
    margin-bottom: 0;
}
.contents_top_news .title_common_primary h2 {
    background-image: url(/shared/templates/kasuhara_top/images/icon/title_news_sp.png);
}
.contents_top_news .button_common_simple.is_reversed {
    margin-top: 63px;
}
.contents_top_news .button_common_simple.is_reversed a {
    padding: 10px 19px;
}
.contents_top_news .list_top_news {
    padding-right: 0;
}

.section_top_news {
    margin: 41px 0 107px;
}

.list_top_links {
    flex-direction: column;
}
.list_top_links>li {
    width: 100%;
}
.list_top_links>li::before,
.list_top_links>li:nth-child(3n - 2)::before {
    width: 100%;
}
.list_top_links>li::after {
    display: none;
}
.list_top_links>li>a {
    padding: 24px 29px 24px 0;
}
.list_top_links>li>a:hover {
    color: inherit;
}
.list_top_links>li>a::after {
    top: 0;
    right: 0;
}

.section_top_links {
    margin: 107px 0 89px;
}
.section_top_links .title_common_primary {
    margin-bottom: 39px;
}
.section_top_links .title_common_primary h2 {
    background-image: url(/shared/templates/kasuhara_top/images/icon/title_links_sp.png);
}

/* ==================================================
accessibility
================================================== */
.fsize_big #tmp_wrapper .mainvisual_top,
.fsize_big2 #tmp_wrapper .mainvisual_top {
    padding-top: calc(135 / 393 * 100%);
}
.color_blue #tmp_wrapper .list_top_contents .item_wrapper:hover .item_label,
.color_black #tmp_wrapper .list_top_contents .item_wrapper:hover .item_label,
.color_yellow #tmp_wrapper .list_top_contents .item_wrapper:hover .item_label {
    text-decoration: none;
}
.color_blue #tmp_wrapper .button_top_mail a:hover,
.color_black #tmp_wrapper .button_top_mail a:hover,
.color_yellow #tmp_wrapper .button_top_mail a:hover {
    text-decoration: none;
}
.color_blue #tmp_wrapper .list_top_movie .item_wrapper>a:hover .item_label,
.color_black #tmp_wrapper .list_top_movie .item_wrapper>a:hover .item_label,
.color_yellow #tmp_wrapper .list_top_movie .item_wrapper>a:hover .item_label {
    text-decoration: none;
}
.color_blue #tmp_wrapper .list_top_information .item_wrapper:hover .button_common_simple .button_wrapper,
.color_black #tmp_wrapper .list_top_information .item_wrapper:hover .button_common_simple .button_wrapper,
.color_yellow #tmp_wrapper .list_top_information .item_wrapper:hover .button_common_simple .button_wrapper {
	text-decoration: none;
}
.color_blue #tmp_wrapper .list_top_news .item_inner>a:hover,
.color_black #tmp_wrapper .list_top_news .item_inner>a:hover,
.color_yellow #tmp_wrapper .list_top_news .item_inner>a:hover {
    text-decoration: none;
}
.color_blue #tmp_wrapper .list_top_links>li>a:hover,
.color_black #tmp_wrapper .list_top_links>li>a:hover,
.color_yellow #tmp_wrapper .list_top_links>li>a:hover {
    text-decoration: none;
}
}