/*
Theme Name: Lightning Child Sample
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.6.1
*/
/* ---------------------------------------- リセット ---------------------------------------- */
table th, table td, ul, .widget ul, .site-body, .container, .container-lg, .container-md, .container-sm, .container-xl, .site-header--layout--nav-float .site-header-logo, .device-mobile ul.global-nav-list>li {padding: 0;}
.container, .container-lg, .container-md, .container-sm, .container-xl, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {max-width: initial;}
figure, h2, figure+h1, figure+h2, figure+h3, dt, aside, .widget, .wp-block-table, blockquote, dl, iframe, ol, p, ul, li, .widget li, .site-footer-copyright p, .site-header--layout--nav-float .site-header-logo, dl+h1, dl+h2, dl+h3, dl+h4, dl+h5, dl+h6, ol+h1, ol+h2, ol+h3, ol+h4, ol+h5, ol+h6, p+h1, p+h2, p+h3, p+h4, p+h5, p+h6, table+h1, table+h2, table+h3, table+h4, table+h5, table+h6, ul+h1, ul+h2, ul+h3, ul+h4, ul+h5, ul+h6 {margin: 0;}
h2, h3, h4, h5, h6 {margin: 0;}
body .is-layout-flex {gap: initial;}
.container.site-footer-copyright p:nth-child(2) {display: none;}
a, li a, p a, div a {text-decoration: none;}
ul, ol {
	padding: 0;
	list-style: none;
}
figure img, picture, picture img {width: 100%;}
footer.site-footer div.row>div:nth-child(2), footer.site-footer div.row>div:nth-child(3), div#breadcrumb, body.post-name-top div.page-header, nav.vk-mobile-nav-menu-outer, a#page_top {display: none;}
body {counter-reset: number 0;}
div#main {margin-bottom: 0;}
header#site-header {box-shadow: none;}
/* ----- ターンスタイルの位置 ----- */
div.wpcf7-turnstile.cf-turnstile {text-align: center;}
/* ---------------------------------------- PCでの非表示など ---------------------------------------- */
div#fvsp, div#vk-mobile-nav-menu-btn, br.sp, div.appealslider_sp, a.fixedbtn_contact, div#toplogo-container {display: none;}
a[href^="tel:"] {
	pointer-events: none;
	display: inline-block;
}
/* ---------------------------------------- フォント ---------------------------------------- */
body, body footer, a, body p, label {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 14px;
	letter-spacing: 0.04em;
	line-height: 1.7;
	color: #57514C;
}
b {font-weight: 700;}
p {margin-bottom: 1.4em!important;}
.blue {color: #7A8CC1;}
.pink {color: #E5999F;}
p.small {
    font-size: 13px;
    margin-bottom: 0 !important;
    text-align: left;
}
h3.title {
    font-size: 18px;
    line-height: 1.6;
    position: relative;
    text-align: center;
    width: fit-content;
	margin: 0 auto;
	margin-bottom: 48px !important;
}
h3.title::after {
    content: "";
    width: 30px;
    height: 6px;
    display: block;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/title_dot.png);
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translate(-50%, 0);
}
/* ---------------------------------------- 背景色 ---------------------------------------- */
body {background-color: #FCF6F6;}
body footer {background-color: #fff;}
footer.site-footer::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(229, 153, 159, .4);
    display: block;
}
body.post-name-support01, body.post-name-support02, body.post-name-support03, body.post-name-support04 {background-color: #FBFAE3;}
/* ---------------------------------------- ホバー ---------------------------------------- */
a:hover {
	text-decoration: none;
	color: inherit;
}
nav#global-nav ul.global-nav-list a:hover, nav#global-nav ul.global-nav-list a strong:hover {
	color: #E5999F;
	transition: .2s;
}
nav#global-nav ul.global-nav-list>li:last-child a:hover {
    background-color: #7A8CC1;
    transition: .2s;
}
/* ---------------------------------------- ヘッダー ---------------------------------------- */
header#site-header {
    position: fixed;
    z-index: 1000;
    left: 50%;
    transform: translate(-50%, 0);
}
body.home header#site-header, div#site-header-container {
    justify-content: space-between;
    width: 95.2vw;
    max-width: 1240px;
	overflow: visible;
}
.site-header-logo {width: fit-content !important;}
.site-header-logo a {
	display: block;
    width: fit-content;
    padding: 28px;
    max-width: inherit;
    background-color: #fff;
    border-radius: 0 0 60px 60px;
}
.site-header-logo a, nav#global-nav ul.global-nav-list, .global-nav-list>li>ul.sub-menu {
	box-shadow: 0 2px 8px rgba(87, 81, 76, .16);
}
.site-header-logo a img {
    width: 113.4px;
    height: 140px;
    max-height: none;
}
nav#global-nav {
    align-items: flex-start;
    margin-top: 20px;
}
nav#global-nav ul.global-nav-list {
    background-color: #fff;
    border-radius: 50px;
    padding: 14px 40px 14px 28px;
    align-items: center;
}
nav#global-nav ul.global-nav-list a {padding: 0 1em;}
nav#global-nav ul.global-nav-list a, nav#global-nav ul.global-nav-list a strong {
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
	transition: .2s;
}
/* サブメニュー付きメニュー */
.vk-menu-acc .acc-btn {display: none;}
nav#global-nav ul.global-nav-list>li.menu-item-has-children>a {
    position: relative;
    padding-right: 31px;
}
nav#global-nav ul.global-nav-list>li.menu-item-has-children>a::after {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_bottom.png);
    position: absolute;
    right: 14px;
	top: 2px;
}
/* サブメニュー */
ul.global-nav-list>li>ul.sub-menu {
    width: 180px;
	top: 34px;
	left: 0;
    margin-left: 0;
    border-radius: 10px;
    padding-top: 0.4em;
    padding-bottom: 1em;
}
nav#global-nav ul.sub-menu a {
    color: inherit;
    border: none;
    width: fit-content;
    padding: 1em;
	position: relative;
}
nav#global-nav ul.sub-menu a::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_right.png);
    margin-right: 0.5em;
    margin-left: 2px;
}
/* お問い合わせボタン */
nav#global-nav ul.global-nav-list>li:last-child a {
    background-color: #E5999F;
    padding: 0 20px;
    height: 39px;
    margin-left: 14px;
	border-radius: 20px;
	transition: .2s;
}
nav#global-nav ul.global-nav-list>li:last-child a strong {
    color: #fff;
    font-size: 16px;
    line-height: 39px;
}
/* ---------------------------------------- FV ---------------------------------------- */
div.fv_inner02 h1.logo_container {
    width: fit-content;
    margin: 0 auto;
    margin-bottom: 32px;
	display: none;
}
div#fv {
	width: 90.4vw;
	max-width: 1000px;
	height: 710px;
	position: relative;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
}
div.fv_inner01 {
	width: 666px;
	height: 710px;
	border-radius: 0 0 22px 22px;
	margin-left: 0!important;
	z-index: 0;
	overflow: hidden;
}
div.fv_inner02 {
	position: absolute;
	right: 0;
	top: 200px;
	z-index: 10;
}
div.maincopy_container {margin-bottom: 60px !important;}
h2.maincopy span {
    font-size: 38px;
	font-weight: 700;
    color: #E5999F;
    display: block;
    text-align: right;
    line-height: 1;
    letter-spacing: 0.08em;
    padding: 0.5em;
    background-color: #fff;
    border-radius: 16px;
    margin-bottom: 10px;
    width: fit-content;
    margin-left: auto;
    box-shadow: 0 2px 8px rgba(87, 81, 76, .16);
}
div.specialty_container {
    width: 300px;
    margin-left: auto;
    margin-right: 0;
}
ul.specialty_categorylist {
    border: 2px solid #E5999F;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, .6);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    align-items: center;
    justify-content: center;
    padding: 30px;
	margin-bottom: 10px!important;
}
ul.specialty_categorylist li {
    background-color: #E5999F;
    font-size: 18px;
    line-height: 1;
    color: #fff;
    padding: 10px;
    border-radius: 5px;
}
p.specialty_area {
    text-align: center;
    font-size: 18px;
    line-height: 1;
}
h3.concept_title {
    font-size: 26px;
    line-height: 1.8;
    letter-spacing: 0.08em;
    color: #E5999F;
	font-weight: 700;
    margin-bottom: 40px;
}
/* ---------------------------------------- お知らせ ---------------------------------------- */
div#information {
    width: 90.4vw;
    max-width: 1000px;
    margin: 40px auto 20px;
	position: relative;
}
div.information_container {
    background-color: #fff;
    width: 100%;
    max-width: 600px;
	height: 100px;
    padding: 10px 20px;
    overflow-y: scroll;
    border-radius: 5px;
    box-shadow: 0 2px 8px rgba(87, 81, 76, .16);
    position: relative;
    margin-right: 0 !important;
    margin-left: auto !important;
	z-index: 10;
}
p.information_title {
    position: absolute;
    right: 614px;
    line-height: 1;
    border-bottom: 1px solid #E5999F;
    padding-top: 4px;
    padding-bottom: 6px;
	z-index: 100;
}
ul.information_content li a:first-child {
    pointer-events: none;
    margin-bottom: 4px;
    line-height: 1.4;
	font-size: 15px;
	font-weight: 700;
	color: #57514C;
}
ul.information_content>li {
	padding: 0;
	border-bottom: none;
}
div.information_container::-webkit-scrollbar {
	width: 8px
}
div.information_container::-webkit-scrollbar-track {
	background-color: rgba(87, 81, 76, .2);
	border-radius: 4px;
}
div.information_container::-webkit-scrollbar-thumb {
	background-color: #E5999F;
	border-radius: 4px;
}
/* 投稿内容の装飾 */
ul.information_content div a {border-bottom: 1px solid #57514C;}
/* ---------------------------------------- コンセプト1 ---------------------------------------- */
section#concept01 {
	width: 90.4vw;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
	padding-top: 40px;
	padding-bottom: 40px;
}
div.concept01_textbox {position: relative;}
div.concept01_textbox::before {
    content: "";
    display: block;
    width: 240px;
    height: 240px;
    position: absolute;
    top: -20px;
    left: 0;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/image01.jpg);
    border-radius: 50%;
}
div.concept01_textbox::after {
    content: "";
    display: block;
    width: 240px;
    height: 240px;
    position: absolute;
    bottom: 20px;
    right: 0;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/image02.jpg);
    border-radius: 50%;
}
div.concept01_textbox p {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 20px !important;
}
/* ---------------------------------------- コンセプト2（強み） ---------------------------------------- */
section#concept02 {
    width: 90.4vw;
    max-width: 1000px;
    margin: 40px auto 80px;
    text-align: left;
    padding: 40px;
    display: flex;
    border: 2px solid #7A8CC1;
    border-radius: 16px;
    background-color: #fff;
    gap: 40px;
}
div.concept02_flexbox {flex: 1;}
div.concept02_flexbox.concept02_textbox h3.concept_title {color: inherit;}
div.concept02_flexbox.concept02_textbox p {margin-bottom: 0 !important;}
/* ---------------------------------------- こんな方のサポート ---------------------------------------- */
section#support {
    width: 100vw;
    background-color: #FBFAE3;
    padding-top: 40px;
    padding-bottom: 40px;
}
ul.support_inner {
    width: 90.4vw;
    max-width: 1000px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: stretch;
}
li.support_flexbox {
    flex-basis: calc(50% - 10px);
    background-color: #fff;
    border-radius: 10px;
    padding: 20px 20px 71px;
    box-shadow: 0 2px 8px rgba(87, 81, 76, .16);
	position: relative;
}
li.support_flexbox h4 {
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
    padding-bottom: 20px;
    border-bottom: 2px solid rgba(229, 153, 159, .4);
}
ul.onayami_list {
    padding: 14px 20px 6px;
    margin-bottom: 0 !important;
}
li.onayami_listitem {
    position: relative;
    display: block;
    line-height: 1.6;
    padding-left: 25px;
    margin-bottom: 14px;
}
li.onayami_listitem::before {
    content: "";
    display: block;
    position: absolute;
    width: 16px;
    height: 16px;
    left: 0;
    top: 3px;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_check_pink.png);
}
a.more_btn {
    display: block;
    width: 200px;
    height: 45px;
    font-size: 15px;
    line-height: 1;
    color: #fff;
    background-color: #E5999F;
    padding: 1em;
    border-radius: 26px;
    text-align: center;
    margin: 0 auto 20px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
}
/* ---------------------------------------- 対応エリア ---------------------------------------- */
section#area {
    width: 100vw;
    padding-top: 40px;
}
section#area {
    width: 90.4vw;
    max-width: 1000px;
    margin: 40px auto 0;
    padding: 20px 40px;
    background-color: #fff;
    border-radius: 20px;
    border: 2px solid #E5999F;
}
div.area_flex {
    display: flex;
    max-width: 800px;
    gap: 40px;
}
div.area_flexbox.area_imagebox {flex-basis: 40%;}
div.area_flexbox.area_textbox {
    flex: 1;
    padding-top: 20px;
}
p.area_name {
    display: block;
    padding: 20px;
    border-radius: 5px;
    background-color: #FCF6F6;
    font-size: 18px;
    margin-bottom: 20px !important;
}
/* ---------------------------------------- ご利用の流れ ---------------------------------------- */
section#flow {
    width: 90.4vw;
    max-width: 600px;
    margin: 0 auto;
    padding: 60px 0 40px;
}
p.flow_title {
    font-size: 20px;
	line-height: 56px;
    font-weight: 700;
    background-color: #fff;
    padding: 0 18px 0 66px;
    border-radius: 35px;
    border: 1px solid #7A8CC1;
	position: relative;
	margin-bottom: 20px!important;
	box-shadow: 0 2px 4px rgba(87, 81, 76, .16);
}
p.flow_title::before {
    counter-increment: number 1;
    content: counter(number, decimal-leading-zero) " ";
    width: 56px;
    height: 56px;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    text-align: center;
    background-color: #7A8CC1;
    border-radius: 50%;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 56px;
}
ol.flow_list {
    position: relative;
    z-index: 10;
}
ol.flow_list::before {
    content: "";
    display: block;
    width: 16px;
    height: calc(100% - 20px);
    background-color: rgba(122, 140, 193, .4);
    position: absolute;
    left: 20px;
    top: 20px;
    z-index: 0;
}
p.flow_content {
    padding: 0 20px 20px 69px;
    margin-bottom: 0 !important;
}
/* ---------------------------------------- メッセージ ---------------------------------------- */
section#message {
    background-color: #fff;
    padding: 40px 0;
}
div.message_flex {
    width: 90.4vw;
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
}
div.message_flexbox {flex-basis: 50%;}
div.message_flexbox.message_imagebox {padding-right: 20px;}
div.message_flexbox.message_textbox {
    padding: 32px 32px 32px 42px;
    position: relative;
}
p.message_title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    color: #E5999F;
}
div.message_flexbox.message_textbox p:not(.message_title) {margin-bottom: 0 !important;}
div.message_flexbox.message_textbox::before {
    content: "";
    width: 32px;
    height: 32px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_quote_left_pink.png);
}
div.message_flexbox.message_textbox::after {
    content: "";
    width: 32px;
    height: 32px;
    display: block;
    position: absolute;
    bottom: 12px;
    right: 0;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_quote_right_pink.png);
}
/* ---------------------------------------- CTA ---------------------------------------- */
section#cta {
    background-color: #fff;
    padding-bottom: 40px;
}
div.cta_inner {
    width: 90.4vw;
    max-width: 1000px;
    padding: 40px 40px 20px;
    margin: 0 auto;
    text-align: center;
    border-radius: 20px;
    background-color: #E5999F;
}
h3.cta_title {
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 1em;
    line-height: 1;
}
div.cta_flex {
    display: flex;
    gap: 20px;
}
div.cta_flexbox {
    flex: 1;
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
}
p.cta_flexbox_title {
    font-size: 18px;
    line-height: 1;
    margin-bottom: 1em !important;
}
a.cta_btn {
    display: block;
    margin: 0 auto 10px;
    max-width: 370px;
    width: 100%;
    background-color: #E5999F;
    line-height: 69px;
    border-radius: 10px;
    color: #fff;
	font-weight: 700;
    position: relative;
}
a.cta_btn.tel_btn {font-size: 20px;}
a.cta_btn.tel_btn::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    position: absolute;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_tel_white.png);
    top: 50%;
    left: 20%;
    transform: translate(0, -50%);
}
a.cta_btn.line_btn {font-size: 18px;}
a.cta_btn.line_btn::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    position: absolute;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_line_white.png);
    top: 50%;
    left: 17%;
    transform: translate(0, -50%);
}
div.cta_telbox p.small a {border-bottom: 1px solid #E5999F;}
p.supporthours {
    font-size: 18px;
    color: #fff;
    margin-top: 20px;
    margin-bottom: 0 !important;
}
/* ---------------------------------------- よくある質問 ---------------------------------------- */
section#faq {
	width: 90.4vw;
	max-width: 600px;
	margin: 0 auto;
	padding: 40px 0 60px;
	counter-reset: number 0;
}
#sp-ea-92.sp-easy-accordion>.sp-ea-single {
    margin-bottom: 20px;
    border: none;
	background: none;
}
section#faq h4>a {
    font-size: 16px;
    font-weight: 500;
    color: #57514C !important;
    line-height: 1.4;
	padding: 1em 20px 1em 75px;
	position: relative;
	background-color: #fff;
	border-radius: 5px;
}
section#faq h4>a::before {
	counter-increment: number 1;
	content: "Q" counter(number, decimal-leading-zero) " ";
    display: inline-block;
    width: 37px;
    height: 24px;
    font-size: 20px;
	font-weight: 500;
	line-height: 1;
	color: #E5999F;
    position: absolute;
    left: 20px;
    top: 16px;
}
section#faq div.ea-body {
    color: #57514C !important;
	padding: 8px 20px 20px 75px;
	position: relative;
}
#sp-ea-92.sp-easy-accordion>.sp-ea-single>.sp-collapse>.ea-body {
	background-color: #fff;
	border-radius: 0 0 5px 5px;
}
section#faq div.ea-body p:last-child, #sp-ea-92.sp-easy-accordion>.sp-ea-single:last-child {margin-bottom: 0!important;}
section#faq div.ea-body p>a {border-bottom: 1px solid #E5999F;}
/* ---------------------------------------- 会社概要 ---------------------------------------- */
section#overview {
    width: 100vw;
    background-color: #fff;
    padding: 40px 0 80px;
}
dl.overview_inner {
    width: 90.4vw;
    max-width: 600px;
}
dl.overview_inner>div {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
	gap: 24px;
	margin-bottom: 10px;
}
dl.overview_inner>div>dt {
    width: 90px;
    min-width: 90px;
    font-size: 13px;
    font-weight: 500;
    color: #7A8CC1;
}
dl.overview_inner>div>dd {font-size: 13px;}
a.external_link {
    display: inline-block;
    position: relative;
	padding-right: 24px
}
a.external_link::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_link_black.png);
    position: absolute;
    top: 6px;
    right: 0;
}
/* ---------------------------------------- フッター ---------------------------------------- */
footer.site-footer {padding: 40px 2.8vw 20px;}
footer.site-footer div.row {
    width: 100%;
    margin: 0;
}
footer.site-footer div.row>div {
    padding: 0;
    flex: 100%;
    max-width: 100%;
}
ul.footer_nav_flex1 {
    display: flex;
    gap: 24px;
}
li.footer_nav_item a {
    display: block;
    font-size: 13px;
    margin-bottom: 1em !important;
	line-height: 1;
}
ul.footer_nav_sub a {
    position: relative;
}
ul.footer_nav_sub a::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_right.png);
    margin-left: 2px;
    margin-right: 0.5em;
}
div.footer_container1 {
    display: flex;
    justify-content: space-between;
	align-items: flex-start;
}
ul.footer_nav_flex2 {
    display: flex;
    gap: 20px;
}
div.footer_container2 {
    margin-top: 67px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: fit-content;
}
/* PCではロゴ非表示 */
div.footer_container2>a>img {display: none;}
/*  */
div.footer_nav_flex3 {
    display: flex;
    margin-bottom: -13px;
}
div.footer_nav_flex3>a {
    font-size: 13px;
    line-height: 1;
}
div.footer_nav_flex3>a:nth-child(1) {
    padding-right: 10px;
    border-right: 1px solid #57514C;
}
div.footer_nav_flex3>a:nth-child(2) {
    padding-left: 10px;
}
div.container.site-footer-copyright p {
    font-size: 13px;
    line-height: 1;
    margin-bottom: 0 !important;
	text-align: right;
}
/* ---------------------------------------- 下層ページ共通 ---------------------------------------- */
div.page-header {display: none;}
body:not(.home) div.site-body {
    width: 90.4vw;
    max-width: 864px;
    margin: 200px auto 0;
}
h2.pagetitle {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 40px !important;
}
span.underline {
    border-bottom: 4px solid #E5999F;
    font-weight: 700;
    padding: 0 2px;
    margin-right: 0.4em;
}
p.intro {
    margin-bottom: 40px !important;
}
div.bg_white {
    background-color: #fff;
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(87, 81, 76, .16);
    padding: 20px 40px 40px;
	margin-bottom: 20px;
}
/* こころねにできること */
div.whatwecando_box {
    border: 2px solid #7A8CC1;
    border-radius: 16px;
    padding: 33px 20px 20px;
    position: relative;
    margin: 26px 0 20px;
}
p.whatwecando_title {
    position: absolute;
    top: -0.5em;
    font-size: 18px;
    line-height: 1;
    font-weight: 700;
    color: #7A8CC1;
    background-color: #fff;
    padding: 0 0.5em;
    margin-left: -0.5em;
}
div.whatwecando_box p:last-child, div.bg_white p:last-child, div.publicsystem_container p:last-child {margin-bottom: 0 !important;}
/* 公的制度について */
div.publicsystem_container {
    background-color: #fff;
    border: 2px solid #7A8CC1;
	border-radius: 16px;
    padding: 20px 40px 20px 84px;
    position: relative;
}
div.publicsystem_container p {
    color: #7A8CC1;
}
div.publicsystem_container::before {
    content: "";
    width: 24px;
    height: 40px;
    display: inline-block;
    position: absolute;
    left: 30px;
    top: 12px;
    background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_light_blue.png);
}
div#main_container {margin-bottom: 40px;}
/* 下層ページのCTAの位置調整 */
body:not(.home) section#cta {
    background-color: transparent;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
/* ---------------------------------------- リクルートページ ---------------------------------------- */
div.recruit_flexbox img {
    width: 100%;
    border-radius: 10px;
}
div.recruit_flexbox {margin-bottom: 40px;}
/* ---------------------------------------- お問い合わせページ ---------------------------------------- */
p.contact_text {
    border-bottom: 1px solid #E5999F;
    padding-bottom: 1em;
    margin-bottom: 2em !important;
}
div.contactform_container {margin-bottom: 40px;}
div.contactform_contents {
    display: flex;
    gap: 20px;
	margin-bottom: 24px;
}
.wpcf7-list-item {margin: 0;}
div.contactform_contents>dt {width: 160px;}
div.contactform_contents>dd {flex: 1;}
span.required {
	color: #dc3232;
	margin-left: 0.5em;
}
p.contactpage_requiredtext span.required {margin-left: 0;}
input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 14px;
	letter-spacing: 0.04em;
	line-height: 1.7;
	color: #57514C;
	text-align: left;
	border-radius: 0;
}
textarea#message {margin-bottom: 0;}
div.submit_container {text-align: center;}
div.submit_conatiner p {
    display: flex;
    flex-direction: column;
}
input#submit {
    font-size: 16px;
    border: none;
    font-family: inherit;
    letter-spacing: 0.1em;
    border-radius: 0;
    background-color: #E5999F;
    color: #fff;
    margin: 40px auto 0;
    font-weight: 400;
    width: 240px;
    height: 58px;
    line-height: 58px;
    padding: 0;
	transition: 0.3s;
}
label.accept_text {
	display: block;
	text-align: center;
}
label.accept_text a, p.contact_text a {
	display: inline-block;
	padding: 0 2px;
	border-bottom: 1px solid #E5999F;
}
div.submit_container>p {
    display: flex;
    flex-direction: column;
    align-items: center;
}
/* ---------------------------------------- プライバシーポリシーページ ---------------------------------------- */
h4.pp-title {
    font-size: 16px;
    margin-bottom: 1em;
}
p.pp-intro, div.pp-box {margin-bottom: 2em !important;}
p.pp-intro {
    padding-bottom: 2em;
    border-bottom: 1px solid #57514C;
}
ul.pp-list-dot {list-style: disc inside;}
ol.pp-list-number {list-style: decimal inside;}

/* ---------------------------------------- 1280px以下 ---------------------------------------- */
@media(max-width: 1280px){
	.site-header-logo a {padding: 24px;}
	.site-header-logo a img {
		width: 97px;
		height: 120px;
	}
}
/* ---------------------------------------- 1140px以下 ---------------------------------------- */
@media(max-width: 1140px){
		/* ----- SP用のメニューを表示・ロゴはそのまま ----- */
	nav#global-nav ul.global-nav-list {display: none;}
	a.fixedbtn_contact {
		position: fixed;
		display: block;
		font-size: 16px;
		line-height: 39px;
		top: 28px;
		right: calc(2.4vw + 80px);
		background-color: #E5999F;
		color: #fff;
		padding: 0 20px;
		height: 39px;
		border-radius: 20px;
		z-index: 1000;
		box-shadow: 0 2px 4px rgba(87, 81, 76, .16);
	}
	div.fv_inner02 {top: 160px;}
	div#vk-mobile-nav-menu-btn {
		right: 2.4vw;
		top: 28px;
		content: "";
		background: center / contain no-repeat url("https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_hamburger.png");
		border: none;
		width: 60px;
		height: 60px;
		display: inline-block;
		border-radius: 50%;
		box-shadow: 0 2px 4px rgba(87, 81, 76, .16);
	}
	div#vk-mobile-nav-menu-btn.menu-open {
        right: 2.4vw;
        top: 28px;
        content: "";
        background: center / contain no-repeat url("https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_close.png");
        border: none;
        width: 60px;
        height: 60px;
        display: inline-block;
		border-radius: 50%;
		box-shadow: 0 2px 4px rgba(87, 81, 76, .16);
    }
	/* ----- SPメニュー(幅広版) ----- */
	div#vk-mobile-nav {
		display: block;
		opacity: 0;
		top: 0;
		padding: 80px 4.8vw 40px;
		min-height: 100vh;
		background-color: #FCF6F6;
	}
	div.mobile_gnav {
		display: flex;
		flex-direction: row-reverse;
	}
	ul.mobile_gnav_container1 {
		flex-basis: 50%;
		padding-left: 4.8vw;
	}
	div.cta_inner.mobile_gnav_container2 {
		background-color: transparent;
		padding: 0;
		flex-basis: 50%;
	}
	div.cta_inner.mobile_gnav_container2 div.cta_flex {flex-direction: column;}
	div.cta_inner.mobile_gnav_container2 div.cta_flexbox {border: 2px solid #E5999F;}
	div.cta_inner.mobile_gnav_container2 p.supporthours {color: inherit;}
	div.mobile_gnav li.mobile_gnav_item a {
		display: block;
		line-height: 1;
		padding: 10px 0;
		position: relative;
	}
	ul.mobile_gnav_sub a::before {
		content: "";
		display: inline-block;
		width: 10px;
		height: 10px;
		background: center / contain no-repeat url(https://kokorone-asahikawa.com/wp-content/uploads/2025/10/icon_right.png);
		margin-left: 2px;
		margin-right: 0.5em;
	}
	.vk-mobile-nav.vk-mobile-nav-right-in {transition: all .4s ease-out;}
	div#vk-mobile-nav.vk-mobile-nav-open {opacity: 1;}
}
/* ---------------------------------------- 991px以下 ---------------------------------------- */
@media(max-width: 991px){
	/* ----- 大きめのフォントのみTabサイズに ----- */
	h2.maincopy span {font-size: 34px;}
	h3.concept_title {font-size: 22px;}
	li.support_flexbox h4 {font-size: 18px;}
	p.flow_title {
		font-size: 18px;
		line-height: 54px;
	}
	p.flow_title::before {
		width: 54px;
		height: 54px;
		line-height: 54px;
	}
	h3.cta_title {font-size: 24px;}
	h2.pagetitle {font-size: 22px;}
	/* ----- 特徴の画像を非表示、CTAを1列に変更 ----- */
	div.concept01_textbox::before, div.concept01_textbox::after {display: none;}
	div.cta_flex {flex-direction: column;}
}
/* ---------------------------------------- 820px以下 ---------------------------------------- */
@media(max-width: 820px){
	/* ----- 1列に変更 ----- */
	section#concept02, div.area_flex, div.message_flex {flex-direction: column;}
	li.support_flexbox {flex-basis: 100%;}
	div.area_flex {gap: 20px;}
	div.area_flexbox.area_textbox {padding-top: 0;}
	div.message_flex {gap: 10px;}
	div.message_flexbox.message_imagebox {padding-right: 0;}
	div.contactform_contents {
		gap: 6px;
		flex-direction: column;
	}
	label.accept_text {text-align: left;}
	/* ----- フッターを縦に変更 ----- */
	ul.footer_nav_flex1 {
		flex-direction: column;
		gap: 0;
	}
	li.footer_nav_item a {
		margin-bottom: 0 !important;
		padding: 10px 0;
	}
	/* ----- SPメニュー（通常版） ----- */
	div.mobile_gnav {
		flex-direction: column;
		gap: 40px;
	}
	div#vk-mobile-nav {padding: 40px 4.8vw 80px;}
}
/* ---------------------------------------- 768px以下 ---------------------------------------- */
@media(max-width: 768px){
	a[href^="tel:"] {pointer-events: auto;}
	/* ----- FV微調整 ----- */
	div.fv_inner01 {
		width: 84%;
		height: auto;
	}
	div.fv_inner02 {top: 200px;}
	/* ----- お知らせ ----- */
	div.information_container {
		max-width: 100%;
		padding-top: 20px;
	}
	p.information_title {
		right: auto;
		left: 20px;
		top: -14px;
	}
	div#information {margin: 40px auto 0;}
}
/* ---------------------------------------- 430px以下 ---------------------------------------- */
@media(max-width: 430px){
	br.sp {display: block;}
	/* ----- メニューアイコンと余白調整 ----- */
	div#vk-mobile-nav-menu-btn, div#vk-mobile-nav-menu-btn.menu-open {
        top: 20px;
        width: 40px;
        height: 40px;
    }
	a.fixedbtn_contact {
        font-size: 14px;
        line-height: 33px;
        top: 24px;
        right: calc(2.4vw + 56px);
        height: 33px;
    }
	/* ----- スマホ用FVに変更 ----- */
	div#fv, header#site-header {display: none;}
	div#fvsp {
		display: block;
		width: 100vw;
		max-height: 200svh;
		background: center top / contain no-repeat url("https://kokorone-asahikawa.com/wp-content/uploads/2025/10/fvsp01.jpg");
		padding-top: 26.4svh;
		overflow: hidden;
	}
	div.maincopy_container {margin-bottom: 20px!important;}
	h2.maincopy span {
		font-size: 22px;
		border-radius: 16px 0 0 16px;
		margin-bottom: 6px;
	}
	div#fvsp div.bg_pink {
		background-color: #FCF6F6;
		padding: 40px 4.8vw 20px;
		border-top-left-radius: 50%;
		border-top-right-radius: 50%;
		width: 120%;
		margin-left: -10% !important;
	}
	div#fvsp h1.logo_container {
		width: fit-content;
		margin: 0 auto 32px;
	}
	div.specialty_container {
		width: 80.4vw;
		margin: 0 auto;
	}
	ul.specialty_categorylist {
		gap: 4px;
		padding: 10px 40px;
	}
	ul.specialty_categorylist li {
		font-size: 13px;
		padding: 6px 10px;
	}
	/* ----- お知らせ ----- */
	div#information {margin: 0 auto 0;}
	/* ----- フッター ----- */
	div.footer_container2>a>img {
		display: block;
		margin-bottom: 20px;
	}
	div.footer_container1 {
		flex-direction: column;
		gap: 20px;
		width: 80.8vw;
		margin: 0 auto;
	}
	footer.site-footer {padding: 20px 0 0;}
	div.footer_container2 {
		margin-top: 20px;
		width: 120%;
		margin-left: -10%;
		background-color: #fff;
		padding-top: 60px;
		padding-bottom: 80px;
		border-top-left-radius: 80%;
		border-top-right-radius: 80%;
	}
	div.footer_nav_flex3 {margin-bottom: 0;}
	div.container.site-footer-copyright {
		margin-top: -33px;
		z-index: 10;
		position: relative;
		padding-bottom: 20px;
	}
	div.container.site-footer-copyright p {text-align: center;}
	/* ----- そのほか ----- */
	a.fixedbtn_contact, p.specialty_area {font-size: 14px;}
	h3.title, li.support_flexbox h4, p.supporthours, a.cta_btn.line_btn, p.area_name, p.message_title,  p.cta_flexbox_title, p.whatwecando_title {font-size: 16px;}
	h3.concept_title {font-size: 20px;}
	h3.cta_title, a.cta_btn.tel_btn, h2.pagetitle {font-size: 18px;}
	div.concept01_textbox h3, div.concept01_textbox p {text-align: left;}
	h3.concept_title, h3.concept_title {margin-bottom: 32px;}
	h3.title {margin-bottom: 40px!important;}
	section#concept02 {
		margin-top: 0;
		margin-bottom: 40px;
		padding: 1em;
		gap: 20px;
	}
	ul.onayami_list {padding: 14px 10px 6px;}
	section#area {padding: 20px;}
	p.flow_title {
		font-size: 16px;
		line-height: 48px;
		padding-left: 58px;
	}
	p.flow_title::before {
        width: 48px;
        height: 48px;
        line-height: 48px;
    }
	ol.flow_list::before {
		width: 12px;
		left: 18px;
	}
	p.flow_content {padding-left: 50px;}
	div.message_flexbox.message_textbox {padding: 24px 4.8vw 0;}
	div.message_flexbox.message_textbox::before, div.message_flexbox.message_textbox::after {
		width: 24px;
		height: 24px;
	}
	div.message_flexbox.message_textbox::before {
		top: 0;
		left: -9px;
	}
	div.message_flexbox.message_textbox::after {
		bottom: 0;
		right: -9px;
	}
	div.cta_inner {padding: 40px 2.4vw 32px;}
	div.cta_flex {gap: 10px;}
	section#faq h4>a {
		font-size: 16px;
		padding: 1em 10px 1em 54px;
	}
	a.cta_btn.tel_btn::before, a.cta_btn.line_btn::before {
		left: 10%;
		width: 22px;
		height: 22px;
	}
	section#faq h4>a::before {
		width: 34px;
		height: 22px;
		font-size: 18px;
		left: 10px;
	}
	section#faq div.ea-body {padding: 8px 10px 20px 54px;}
	dl.overview_inner>div {gap: 10px;}
	section#overview {padding-bottom: 60px;}
	/* ----- 下層ページトップロゴ ----- */
	div#toplogo-container {
		display: block;
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-top: -200px;
		margin-bottom: 40px;
	}
	div.toplogo_inner {
		background-color: #fff;
		padding: 60px 0 40px;
		width: 120%;
		margin-left: -10% !important;
		border-bottom-left-radius: 80%;
		border-bottom-right-radius: 80%;
	}
	div.toplogo_inner>a>img {
		margin: 0 auto;
		display: block;
	}
	/* ----- 下層ページそのほか ----- */
	span.underline {border-bottom: 3px solid #E5999F;}
	div.bg_white {padding: 20px 4.8vw 40px;}
	div.publicsystem_container {
		border-radius: 16px;
		padding: 20px 4.8vw 20px 59px;
	}
	div.publicsystem_container::before {
		width: 19px;
		height: 32px;
		left: 20px;
		top: 12px;
	}
	h2.pagetitle, p.intro {margin-bottom: 32px!important;}
}
/* ---------------------------------------- 320px以下 ---------------------------------------- */
@media(max-width: 320px){
	h1.logo_container img {
		width: auto;
		height: 120px;
	}
	div#fvsp h1.logo_container {margin: 0 auto 24px;}
	ul.specialty_categorylist {padding: 10px 20px;}
	ul.onayami_list {padding: 14px 0 6px;}
	a.cta_btn.tel_btn::before, a.cta_btn.line_btn::before {left: 6%;}
	h2.maincopy span {font-size: 20px;}
	h3.concept_title {font-size: 18px;}
	p.flow_title {font-size: 15px;}
}


