.inner {
    width:100%;
    max-width:120rem;
    margin:0 auto;
    padding:0 5rem;
}

.bg_yellow {
	background:#FFF7D3;
}

.bg_green {
	background:#E3E7B7;
}

html:has(.window_pop.active) {
    overflow: hidden;
	scrollbar-gutter: stable;
}

/*-------------------------------
	sp link wrap
-------------------------------*/

.sp_link_wrap {
	width:100%;
	position:fixed;
	left: 0;
	bottom:0;
	display: none;
	opacity:0;
	visibility: hidden;
	transition:transform .3s ,opacity .3s;
	transform:translateY(4rem);
	z-index: 80;
}

.sp_link_wrap.on {
	opacity:1;
	visibility: visible;
	transform:translateY(0px) ;
}

.sp_link_inner {
	padding:4rem 6rem 3.5rem;
	background:rgba(176,224,255,0.7);
	border-radius:5rem 5rem 0 0;
}

.sp_link_flex {
	width:100%;
}

.sp_link_area {
	width:30rem;
}

.sp_link_area a {
	display: block;
	width:100%;
	height:7.5rem;
	line-height:7.5rem;
	text-align: center;
	font-size:2.8rem;
	font-weight:700;
	border-radius:4rem;
	color:#fff;
    box-shadow: .3rem .3rem #000;
	background:#FF8752;
	opacity:1!important;
}

.sp_link_toyota a {
	background:#499A49;
}

.sp_link_area a:not(:last-of-type) {
	margin-bottom:2rem;
}

/*-------------------------------
    sub keyvisual
-------------------------------*/

.sub_keyvisual::before {
	content:"";
	display: block;
	width:100%;
	height:max(36.7rem, 26.87vw);
	background:#FFF7D3;
	position:absolute;
	left:0;
	top:0;
	z-index: -1;
}

/*-------------------------------
    パンくず
-------------------------------*/

.Breadclumb {
	margin:0;
	padding:1.2rem 0 6rem;
	background:#FFF7D3;
}

/*-------------------------------
    ribon title
-------------------------------*/

.h_ribon {
    text-align: center;
    position:relative;
    margin-bottom:1.75em;
}

.h_ribon span {
    font-size:2.5rem;
    font-weight:700;
    letter-spacing: 0.06em;
    color:#fff;
    display: inline-block;
    width:24rem;
    padding:0.35em 0 0.5em;
    position:relative;
}

.h_ribon::before {
    content:"";
    display: block;
    width:24rem;
    height:5.8rem;
    background:url(../images/top/bg_ribon.svg) no-repeat center / contain;
    position:absolute;
    left:0;
    top:0;
    right:0;
    margin:0 auto;
}

/*-------------------------------
	title orange
-------------------------------*/

.title_orange {
	text-align: center;
	font-weight:700;
	font-size:2.8rem;
	letter-spacing: 0.06em;
	line-height:1.5;
	color:#FF8752;
}

/*-------------------------------
	title flag
-------------------------------*/

.title_flag::before {
	content:"";
	display: block;
	width:5.4rem;
	height:5.7rem;
	background:url(../images/common/icon_flag.svg) no-repeat center / contain;
	margin-bottom:0.5rem;
}

/*-------------------------------
    ar okazaki
-------------------------------*/

.local_title {
	padding-top:3rem;
	padding-bottom:5rem;
}

/*-------------------------------
    bg nami
-------------------------------*/

.sec_block {
	overflow: visible;
}

.bg_nami {
    margin-top: min(-20.9rem , -15.3vw);
    padding-top: max(20.9rem , 15.3vw);
    padding-bottom: max(24.5rem, 18vw);
    position:relative;
}

.bg_nami::before {
    content:"";
    display: block;
    width:100%;
    min-width:133.6rem;
    height:max(20.9rem , 15.3vw);
    position:absolute;
    left:0;
    top:0;
}

.bg_nami_yellow::before {
	transform:scale(-1,1);
    background:url(../images/local_attractions/bg_nami_yellow.svg) no-repeat center bottom / contain;
}

.bg_nami_green::before {
    background:url(../images/local_attractions/bg_nami_green.svg) no-repeat center bottom / contain;
}

.bg_nami_white::before {
	transform:scale(-1,1);
    background:url(../images/company/bg_nami_white.svg) no-repeat center bottom / contain;
}

.bg_nami::after {
    content:"";
    display: block;
    width:100%;
    height:calc(100% - 20.8rem);
    position:absolute;
    left:0;
    bottom:0;
    z-index: -1;
}

@media screen and (min-width:1366px) {

.bg_nami_yellow::after {
    height:calc(100% - 15.3vw);
}
.bg_nami_green::after {
    height:calc(100% - 15.3vw);
}
} /* end over 1366px */

.bg_nami_yellow::after {
    background:#FFF7D3;
}

.bg_nami_green::after {
    background:#E3E7B7;
}

.bg_nami_white::after {
    background:#fff;
}

/*-------------------------------
	scroll aside
-------------------------------*/

.aside_wrap {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	padding-bottom:1rem;
}

.aside_wrap .inner {
	position:relative;
	height:100%;
}

.scroll_wrap aside {
	display: block;
	width:27.5rem;
	position:absolute;
	top:2.5rem;
	left:5rem;
	z-index: 80;
}

.scroll_wrap aside::before {
	content:"";
	display: block;
	width:13.5rem;
	height:100%;
	background:#fff;
	position:absolute;
	right:calc(100% - 1px);
	top:0;
    box-shadow: .3rem .3rem var(--maincolor);
}

.aside_inner {
	background:#fff;
	border-radius:0 3rem 3rem 0;
	padding:5.5rem 3rem 7rem 0;
	position:relative;
}

.aside_inner .title_orange {
	font-size:2.2rem;
	letter-spacing: 0.01em;
	text-align: left;
	margin-bottom:1em;
}

.aside_list li:not(:last-of-type) {
	margin-bottom:2.5rem;
}

.aside_list a {
	display:block;
	font-size:2.2rem;
	line-height:1.365;
	position:relative;
	opacity:1!important;
}

.aside_list a span {
	display: block;
	font-size:2.2rem;
	font-weight:700;
	letter-spacing: 0.01em;
	line-height:1.365;
	padding:0 0 0 1.75em;
	color:#707070;
}

.aside_list a.aside_now::before {
	content:"";
	display: block;
	width:2.7rem;
	height:2.9rem;
	background:url(../images/common/icon_flag.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	top:0;
}

.aside_list a.aside_now span {
	background:linear-gradient(transparent 60%,rgba(255,224,118,0.77) 60%);
}

.aside_list a:hover span {
	color:var(--maincolor);
}

.sticky_wrap {
	position:relative;
}

aside.sticky {
    transition:position 1s;
}

.sticky.is_fixed {
    position:fixed;
    top:calc(11rem + 5rem);
	left:auto;
	z-index: 80;
}

.sticky.is_end {
    position:absolute;
    top:auto;
    bottom:0rem;
	z-index: 80;
}

/*-------------------------------
    scroll section
-------------------------------*/

.scroll_section {
	width:100%;
}

.sec_inner {
	width:100%;
	max-width:82.5rem;
	padding:0 5rem;
	margin-left:auto;
	position:relative;
}

.sec_txt .title_orange {
	text-align: left;
	margin-bottom:6rem;
}

.sec_inner .block_child:not(:last-of-type) {
	margin-bottom:15rem;
}

.sec_txt_p {
	max-height:100%;
}

.sp_more_txt {
	text-align: right;
	margin-top:2.5rem;
}

.sp_more_txt button {
	font-size:2.6rem;
	letter-spacing: 0.01em;
	text-decoration:underline;
	color:var(--maincolor);
	font-weight:500;
	border:none;
	padding:0;
	margin:0;
}

/*-------------------------------
    map mikawa
-------------------------------*/

.map_mikawa {
	padding-bottom: max(24.5rem, 18vw);
}

.mikawa_wrap {
	position:relative;
	padding-bottom:6rem;
}

.featured_map_img {
	width:100%;
	max-width:57rem;
	margin:0 auto;
}

/*-------------------------------
	about mikawa
-------------------------------*/

.about_img_list {
	margin-top:3rem;
}

.about_img_list .about_img {
	width:48.62%;
	margin-top:2rem;
	border-radius:1rem;
	overflow: hidden;
}

.about_map_wrap {
	margin-top:7rem;
	margin-bottom:5rem;
}

.mikawa_gaiyo .fukidashi02 {
	margin-right:3.5rem;
}

/*-------------------------------
	featured okazaki
-------------------------------*/

.featured_okazaki {
	padding-bottom:0;
}

.featured_okazaki .sec_inner {
	padding-top:16rem;
}

.featured_okazaki .sec_inner::before {
	content:"";
	display: block;
	width:calc(100% - 5rem);
	height:0.5rem;
	background:url(../images/local_attractions/bg_line_orange.svg) repeat-x left center / contain;
	position:absolute;
	top:2.5rem;
	right:0
}

.okazaki_miryoku {
	margin-bottom:2rem!important;
}

.okazaki_miryoku .sec_txt .title_flag::before {
	/*
	content:"岡崎市";
	font-size: 1.1rem;
    color: #fff;
    text-align: center;
    line-height: 4.2rem;
    text-indent: 0.5em;
    letter-spacing: 0.06em;
	*/
	background-image:url(../images/common/icon_flag_okazaki01.svg);
}

.okazaki_map_wrap {
	position:relative;
}

.okazaki_map {
	padding-bottom:8rem;
	margin:6rem 0 0 0;
}

/*-------------------------------
	school guide
-------------------------------*/

.school_guide {
	padding:10rem 0 0 0;
}

.school_guide.__okazaki,
.school_guide.__toyota {
	padding-bottom:max(33rem, 24.16vw);
}

.school_guide_comment {
	margin:5rem auto 0;
	position:relative;
	margin-bottom:12rem;
}

.school_guide_white {
	padding:3.5rem;
	background:#fff;
	border-radius:2rem;
}

.school_guide_white p {
	font-weight:700;
	text-align:center;
	line-height:2;
	font-size:2rem;
}

.school_list_wrap {
	margin-top:10rem;
}

.school_list_title {
	width:27.5rem;
}

.school_list_title_inner {
	background:#fff;
	border-radius:3.5rem;
	padding:3.5rem;
	margin-bottom:8rem;
}

.school_list_title .title_orange {
	font-size:2.8rem;
}

.school_list_title .title_orange::before {
	content:"";
	display: block;
	width:8.7rem;
	height:6.5rem;
	background:url(../images/common/illust_school03.svg) no-repeat center / contain;
	margin:0 auto 2rem;
}

.school_list_title_inner p {
	text-align: center;
	color:#707070;
	line-height:1.375;
	font-weight:700;
	margin-top:1em;
}

/*-------------------------------
	school list	
-------------------------------*/

.school_list {
	width:calc(100% - 27.5rem);
	padding-left:5rem;
}

.school_list_white {
	background:#fff;
	border-radius:2rem;
	padding:7rem 5rem;
}

.school_list .list_block {
	/* width:calc(100% / 3); */
}

.list_child:not(:last-of-type) {
	margin-bottom:1.65em;
	font-size:1.8rem;
	line-height:1.65;
}

.school_list .list_block .title_orange {
	text-align: left;
	font-size:1.8rem;
	line-height:1.65;
}

.school_list .list_block .title_orange span {
	display: none;
}

.school_list .list_child ul li a {
	color:#707070;
	font-size:1.8rem;
	line-height:1.65;
	display:inline-block;
	font-weight:700;
	letter-spacing: 0.06em;
	opacity:1;
}

.school_list .list_child ul li a:hover {
	color:#FF8752;
	text-decoration: underline;
}

.school_list .list_child ul li a.read {
	color:#65B1E8;
}

/*-------------------------------
	window pop
-------------------------------*/

.window_pop {
	width:100vw;
	height:100dvh;
	position:fixed;
	left:0;
	top:0;
	z-index: 9930;
	padding-top:11rem;
	display: none;
}

.window_pop::before {
	content:"";
	display: block;
	width:100%;
	height:11rem;
	background:rgba(0,0,0,0.3);
	position:absolute;
	left:0;
	top:0;
}

.window_pop_inner {
	width:100%;
	height:100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.popup_white {
	width:100%;
	max-width:72rem;
	height:90%;
	max-height: max-content;
	background:#fff;
	border-radius:1.5rem;
	position:relative;
	padding:6rem 5rem 18rem;
}

.popup_inner {
	height:100%;
	max-height: max-content;
	overflow-y:auto;
	margin-bottom:8rem;
}

.batsu_close {
	width:4.2rem;
	position:absolute;
	left:2.5rem;
	top:3rem;
}

.btn_close {
	display: block;
	width:23rem;
	height:4.8rem;
	line-height:4.8rem;
	border-radius:2.4rem;
	text-align: center;
	font-size:1.8rem;
	font-weight:700;
	color:#fff;
	background:var(--blackcolor);
	position:relative;
    box-shadow: 0 0 0.6rem 0 rgba(0,0,0,0.18);
	position:absolute;
	bottom:8rem;
	left:50%;
	transform:translateX(-50%);
	transition:var(--transition);
}

.btn_close::after {
	content:"";
	display: block;
	width:1.1rem;
	height:1.1rem;
	background:url(../images/common/icon_close.svg) no-repeat center / contain;
	position:absolute;
	top:0;
	bottom:0;
	right:3rem;
	margin:auto 0;
}

.btn_close:hover {
	background:var(--maincolor);
}

/*-------------------------------
	popup	
-------------------------------*/

.popup {
	padding:0 4rem 3rem;
	position:relative;
	display:none;
}

.pop_title {
	padding-bottom:4rem;
	margin-bottom:7.5rem;
	position:relative;
}

.popup::after,
.pop_title::after {
	content:"";
	display: block;
	width:100%;
	height:.5rem;
	background:url(../images/local_attractions/bg_line_orange.svg) repeat-x left center / contain;
	position:absolute;
	left:0;
	bottom:0;
}

.popup_toyota::after,
.popup_toyota .pop_title::after {
	background:url(../images/local_attractions/bg_line_green.svg) repeat-x left center / contain;
}

.popup::after {
	bottom:3rem;
	width:calc(100% - 8rem);
	right:0;
	margin:0 auto;
}

.pop_title .title_orange span {
	font-size:1.6rem;
	display: block;
	text-align: center;
}

.pop_title .title_orange::before {
	content:"";
	display: block;
	width:8rem;
	height:8rem;
	background:url(../images/common/icon_flag_okazaki02.svg) no-repeat center / contain;
	margin:0 auto 5rem;
}

.popup_toyota .pop_title .title_orange::before {
	background-image:url(../images/common/icon_flag_toyota02.svg);
}

.pop_txt p:not(:last-of-type) {
	margin-bottom:1em;
}

.pop_school_list_wrap {
	padding:6rem 0 5rem;
}

.pop_school_list_wrap h3 {
	background:#FF8752;
	font-size:2.4rem;
	font-weight:700;
	letter-spacing: 0.06em;
	line-height:1.5;
	text-align: center;
	color:#fff;
	border-radius:2rem;
	padding:0.2em 0.5em;
	margin-bottom:3.5rem;
}

.popup_toyota .pop_school_list_wrap h3 {
	background-color:#499A49;
}

.pop_school_btn {
	width:48.2%;
	max-width:24rem;
	height:7rem;
	line-height:6.6rem;
	border:.2rem solid #FF8752;
	text-align:center;
	border-radius:3.5rem;
	margin-bottom:2rem;
	position:relative;
	opacity: 1!important;
}

.popup_toyota .pop_school_btn {
	border-color:#499A49;
}

.pop_school_btn::after {
	content:"";
	display: block;
	width:1.8rem;
	height:1.9rem;
	background:url(../images/common/btn_arrow_orange.svg) no-repeat center / contain;
	position:absolute;
	top:0;
	bottom:0;
	right:1.5rem;
	margin:auto 0;
}

.popup_toyota .pop_school_btn::after {
	background-image:url(../images/common/btn_arrow_green.svg);
}

.pop_school_btn span {
	font-size:1.8rem;
	font-weight:700;
	letter-spacing: 0.06em;
	color:#707070;
}

.pop_school_btn:hover {
	background:#FDEDB4;
}

.pop_school_btn:hover span {
	color:#FF8752;
}

.popup_toyota .pop_school_btn:hover span {
	color:#499A49;;	
}

/*-------------------------------
	link map wrap
-------------------------------*/

.link_map_wrap {
	width:100%;
	position:relative;
}

.filter::before {
	content:"";
	display: none;
	/*
	width:100vw;
	height:100vh;
	*/
	inset:0;
	background:rgba(0,0,0,0.3);
	position:fixed;
	left:0;
	top:0;
	z-index: 90;
}

.filter.active::before {
	display: block;
	animation: fadeIn .5s;
}

@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

.link_map_wrap map {
	cursor:pointer;
}

.link_map_popup {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index: 99;
	display: none;
}

.link_map_popup .area {
	position:absolute;
	left:0;
	top:0;
	display: none;
}

/*-------------------------------
	豊田
-------------------------------*/

.ar_toyota {
	overflow: visible;
	padding-bottom:6rem;
}

.ar_toyota .sec_block .title_orange,
.ar_toyota_school .title_orange,
.popup_toyota .title_orange {
	color:#499A49;
}

.aside_list .aside_list_toyota a.aside_now::before {
	background-image:url(../images/common/icon_flag_green.svg);
}

.ar_toyota_school .h_ribon::before {
	background-image:url(../images/local_attractions/bg_ribon_green.svg);
}

.toyota_map_wrap {
	position:relative;
	margin-top:5rem;
}

.toyota_miryoku {
	padding-top:2.5rem;
	position:relative;
}

.featured_toyota .sec_inner::before {
	content:"";
	display: block;
	width:calc(100% - 5rem);
	height:0.5rem;
	background:url(../images/local_attractions/bg_line_green.svg) repeat-x left center / contain;
	position:absolute;
	top:-12.5rem;
	right:0
}

.ar_toyota .sticky_wrap {
	margin-top:10rem;
}

.toyota_miryoku .title_flag::before {
	background-image:url(../images/common/icon_flag_toyota01.svg);
}

.link_map_wrap.__toyota {
	margin-top:5rem;
	padding:0 3rem;
}

.ar_toyota_school .school_list_wrap {
	position:relative;
}
.school_list_wrap .school_list_flex{
	align-items: flex-start;
}

.list_child_flex ul:first-of-type {
	margin-right:6rem;
}

.local_bottom_btn_wrap .btn {
	margin:8rem auto 0;
}

/*-------------------------------
	illust wrap
-------------------------------*/

/*-------------------------------
	illust wrap01
-------------------------------*/

.illust_wrap01 .illust_cloud01 {
	left:0;
	top:0;
}

.illust_wrap01 .illust_cloud02 {
	right:0;
	top:16rem;
}

/*-------------------------------
	illust wrap02
-------------------------------*/

.illust_wrap02 .illust_school01 {
	left:5rem;
	top:-20rem;
}

.illust_wrap02 .illust_children01 {
	left:8rem;
	top:-8rem;
}

.illust_wrap02 .illust_house03 {
	left:31rem;
	top:-18rem;
}

.illust_wrap02 .illust_stroll04 {
	left:42.5rem;
	top:-10rem;
}

.illust_wrap02 .illust_school02 {
	right:22.5rem;
	top:-16rem;
}

.illust_wrap02 .illust_party01 {
	right:14rem;
	top:-9rem;
}

.illust_wrap02 .illust_temple01 {
	right:0rem;
	top:-16rem;
}

/*-------------------------------
	illust wrap03
-------------------------------*/

.illust_wrap03 .illust_family04 {
	right:0;
	bottom:0;
}

/*-------------------------------
	illust wrap04
-------------------------------*/

.illust_wrap04 .illust_car_yellow01 {
	width:6.9rem;
	left:5rem;
	top:-20rem;
}

.illust_wrap04 .illust_car_red01 {
	width:6.9rem;
	left:14rem;
	top:-22rem;
}

.illust_wrap04 .illust_building01 {
	left:21rem;
	top:-36rem;
}

.illust_wrap04 .illust_man01 {
	left:36.5rem;
	top:-24.5rem;
}

.illust_wrap04 .illust_businessman01 {
	width:8.6rem;
	left:43rem;
	top:-31rem;
}

.illust_wrap04 .illust_house04 {
	right:16rem;
	top:-30rem;
}

.illust_wrap04 .illust_children02 {
	right:0rem;
	top:-30rem;
}

/*-------------------------------
	illust_wrap05
-------------------------------*/

.illust_wrap05 .illust_tree01-2 {
	right:8rem;
	top:-4rem;
}

.illust_wrap05 .illust_family01 {
	right:0rem;
	top:-2rem;
}

.illust_wrap05 .illust_car_yellow01 {
	width:6.9rem;
	left:0rem;
	bottom:1rem;
}

.illust_wrap05 .illust_car_red01 {
	width:6.9rem;
	left:9rem;
	bottom:3rem;
}

/*-------------------------------
	illust_wrap06
-------------------------------*/

.illust_wrap06 .illust_tree03 {
	right:0rem;
	bottom:-23rem;
}

/*-------------------------------
	illust_wrap07
-------------------------------*/

.illust_wrap07 .illust_family03 {
	width:5.9rem;
	left:3rem;
	top:-16rem;
}

.illust_wrap07 .illust_tree01-2 {
	right:20rem;
	top:-15rem;
}

.illust_wrap07 .illust_apartment01 {
	right:5rem;
	top:-13rem;
}

/*-------------------------------
	fukidashi
-------------------------------*/

.fukidashi {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fukidashi p {
    font-size:2rem;
    line-height:1.5;
    font-weight:700;
    color:var(--maincolor);
    letter-spacing: 0.01em;
}

.fukidashi01 p {
    text-align: center;
}

.fukidashi01 {
    width:19.4rem;
    height:16rem;
    padding-bottom:0.75em;
    margin:0 auto 1rem;
    background:url(../images/store/fukidashi01.svg) no-repeat center / contain;
}

.fukidashi02 {
    width:30.4rem;
    height:11.8rem;
    background:url(../images/store/fukidashi02.svg) no-repeat center / contain;
}

.yukinyan_wrap01 {
	position:absolute;
	right:0;
	bottom:0;
}

.yukinyan_wrap01 .illust_yukinyan04 {
	width:17.4rem;
	margin:0 auto;
}

.yukinyan_wrap03 {
	position:absolute;
	right:0;
	bottom:1rem;
}

.yukinyan_wrap03 .yukinyan_mushimegane {
	margin:2rem 0 0 auto;
}

.yukinyan_wrap04 .yukinyan_onegai {
	margin:1.5rem auto 0;
}

/*-------------------------------
    sec contact
-------------------------------*/

.ar_contact {
	margin-top: min(-20.9rem, -15.3vw);
}

.sec_contact {
    padding-top:max(14rem,10.25vw);
    padding-bottom:max(24.5rem , 18vw);
    position:relative;
}

.sec_contact::before {
    content:"";
    display: block;
    width:100%;
    min-width:133.6rem;
    height:max(24.1rem , 17.7vw);
    background:url(../images/top/bg_contact_nami.svg) no-repeat center bottom / contain;
    position:absolute;
    left:0;
    top:0;
}

.ar_business .sec_contact::before {
    background:url(../images/top/bg_contact_nami_green.svg) no-repeat center bottom / contain;
}

.sec_contact::after {
    content:"";
    display: block;
    width:100%;
    height:calc(100% - 24rem);
    background:#C7E9FF;
    position:absolute;
    bottom:0;
    left:0;
    z-index: -1;
}

.ar_business .sec_contact::after {
    background:#E3E7B7;
}

@media screen and (min-width:1366px) {

.sec_contact::after {
    height:calc(100% - 17.7vw);
}
} /* end over 1366px */

.sec_contact .inner {
    position:relative;
}

.h_line_wrap {
    position:relative;
    text-align: center;
    margin-bottom:8rem;
}

.h_line_wrap::before {
    content:"";
    display: block;
    width:100%;
    height:1px;
    background:var(--maincolor);
    position:absolute;
    left:0;
    top:0.75em;
    bottom:0;
    margin:auto 0;
}

.h_line {
    position:relative;
}

.h_line::before,
.h_line::after {
    content:"";
    display: block;
    width:.8rem;
    height:.8rem;
    background:var(--maincolor);
    border-radius: 50%;
    position:absolute;
    left:0;
    top:0.75em;
    bottom:0;
    margin:auto 0;
}

.h_line::after {
    left:auto;
    right:0;
}

.h_line span {
    font-size:2.6rem;
    letter-spacing: 0.01em;
    font-weight:700;
    color:var(--maincolor);
    background:#C7E9FF;
    padding:0 1.5em;
}

.ar_business .h_line span {
    background:#E3E7B7;
}

.h_line strong {
    font-size:4rem;
    position:relative;
    font-weight:700;
    margin:0 0.25em;
}

.h_line strong::before,
.h_line strong::after {
    content:"";
    display: block;
    width:100%;
    height:.8rem;
    position:absolute;
    left: 0;
}

.h_line strong::before {
    background:url(../images/common/dotted.svg) no-repeat center / contain;
    top:-0.125em;
}

.ar_business .h_line strong::before {
    background:url(../images/common/dotted02.svg) no-repeat center / contain;
}

.h_line strong::after {
    background:url(../images/common/border_naminami_blue.svg) repeat-x left center / contain;
    bottom:-0.125em;
}

.contact_tel_wrap {
    padding-right:2rem;
    width:39.6%;
}

.contact_mail_wrap {
    border-left:1px solid var(--blueblack);
    padding-left:3rem;
    width:60.4%;
	max-width:34rem;
}

.contact_tel {
    font-size:4.8rem;
    font-family: var(--en);
    font-weight:700;
    line-height:1.25;
    color:var(--blueblack);
}

.contact_tel::before {
    content:attr(data-tag);
    display: inline-block;
    font-size:2.5rem;
}

.contact_tel_hours p {
    line-height:1.25;
    letter-spacing: 0.01em;
    font-size:1.8rem;
    font-weight:500;
    color:var(--blueblack);
}

.contact_mail_wrap .btn_white span {
    font-size:1.6rem;
}

.contact_bottom .btn {
    max-width:53rem;
    height:8rem;
    border-radius: 4rem;
    margin:8rem auto 1rem;
}

.contact_bottom .btn span {
    font-size:2.4rem;
}

.contact_bottom .icon_shop::before {
    background-image:url(../images/common/icon_shop.svg);
    width:5.2rem;
    height:5.2rem;
    left: 1.6rem;
}

.sec_contact .illust_stroll01 {
    right:17rem;
    top:-13.5rem;
}

.sec_contact .illust_stroll02 {
    right:7rem;
    top:-12.5rem;
}
/*-------------------------------
    ar illust bottom
-------------------------------*/

.ar_illust_bottom {
    /* margin-top:-19.3rem; */
    margin-top:min(-19.3rem , -14.13vw);
    position:relative;
    width:108.2%;
    left:calc(3.5rem / 136.6rem * -100%);
    min-width:147.7rem;
}

.ar_illust_bottom::before {
    content:"";
    display: block;
    width:100%;
    height:48%;
    background:#FFF7D3;
    position:absolute;
    left:0;
    bottom:0;
    z-index: -1;
}

.ar_illust_bottom .illust {
    width:100%;
    position:absolute;
    left:0;
}

.illust_cloudline01 {
    top:max(4.2rem, 3vw);
}

.illust_cloudline02 {
    top:max(1.5rem,1.1vw);
}

.illust_carline01 {
    bottom:max(4rem, 2.93vw);
}

.illust_carline02 {
    bottom:max(2.5rem,1.83vw);
}

/*-------------------------------
    responsive
-------------------------------*/

@media screen and (max-width:960px) {

/*-------------------------------
    sec contact
-------------------------------*/

.contact_mail_wrap .btn_white span {
    font-size:1.8rem;
}

.h_line::before,
.h_line::after {
    width:1.2rem;
    height:1.2rem;
}

} /* end 960px */

/*-------------------------------
    ver sp
-------------------------------*/

@media screen and (max-width:768px) {

.inner {
    width:100%;
    max-width:100%;
    padding:0 6rem;
}

/*-------------------------------
	sp link wrap
-------------------------------*/

.sp_link_wrap {
	display:block;
}

/*-------------------------------
    sub keyvisual
-------------------------------*/

.sub_keyvisual {
	margin-bottom:0;
}

.sub_keyvisual::before {
	width:100%;
	height:100%;
}
.sub_keyvisual::after{ /*背景色調整用*/
    content: "";
    display: block;
    width: 100%;
    height: 13.4rem; /*=sub_keyvisualのmargin-top分*/
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
}

/*-------------------------------
    パンくず
-------------------------------*/

/*-------------------------------
    ribon title
-------------------------------*/

.h_ribon {
    margin-bottom:1.75em;
}

.h_ribon span {
    font-size:3.6rem;
    width:33rem;
}

.h_ribon::before {
    width:33rem;
    height:8.1rem;
}

/*-------------------------------
	title orange
-------------------------------*/

.title_orange {
	font-size:3.6rem;
	line-height:1.65;
}

/*-------------------------------
	title flag
-------------------------------*/

.title_flag::before {
	width:5.4rem;
	height:5.7rem;
	margin:0 auto 0.5rem;
}

/*-------------------------------
    ar okazaki
-------------------------------*/

.local_title {
	padding-top:11rem;
	padding-bottom:5rem;
}

/*-------------------------------
    bg nami
-------------------------------*/

.sec_block {
	overflow: visible;
}

.bg_nami {
    margin-top: -11.5rem;
    padding-top: 15rem;
    padding-bottom: 21rem;
}

.bg_nami::before {
    width:100%;
    min-width:100%;
    height:11.5rem;
}

.bg_nami::after {
    height:calc(100% - 11.4rem);
}

/*-------------------------------
	scroll aside
-------------------------------*/

.aside_wrap {
	display:none;
}

.scroll_wrap aside {
	display:none;
}

/*-------------------------------
    scroll section
-------------------------------*/

.scroll_section {
	width:100%;
}

.sec_inner {
	width:100%;
	max-width:100%;
	padding:0;
	margin-left:auto;
}

.sec_txt .title_orange {
	text-align: center;
	margin-bottom:4rem;
}

.sec_inner .block_child:not(:last-of-type) {
	margin-bottom:10rem;
}

.sec_txt_p {
	overflow:hidden;
	max-height:calc(2.8rem * 2.25 * 10);
}

/*-------------------------------
    map mikawa
-------------------------------*/

.map_mikawa {
	padding-bottom: 21rem;
}

.mikawa_wrap {
	position:relative;
	padding-bottom:0
}

.featured_map_img {
	width:100%;
	max-width:100%;
	margin:0 auto;
}

.mikawa_toha {
	padding-top:5rem;
}

/*-------------------------------
	about mikawa
-------------------------------*/

.about_img_list {
	margin-top:7rem;
}

.about_img_list .about_img {
	width:48.62%;
	margin-top:2rem;
}

.about_map_wrap {
	margin-top:4rem;
	margin-bottom:5rem;
}

.mikawa_gaiyo .fukidashi02 {
	margin-right:0;
}

/*-------------------------------
	featured okazaki
-------------------------------*/

.featured_okazaki {
	padding-bottom:0;
}

.featured_okazaki .sec_inner {
	padding-top:11rem;
}

.featured_okazaki .sec_inner::before {
	width:100%;
	height:0.6rem;
	top:4rem;
	right:0
}

.okazaki_miryoku {
	margin-bottom:10rem!important;
}

.okazaki_map {
	padding-bottom:5rem;
	margin:3rem 0 0 0;
}

/*-------------------------------
	school guide
-------------------------------*/

.school_guide {
	padding:10rem 0 0 0;
}

.school_guide.__okazaki,
.school_guide.__toyota {
	padding-bottom:21rem;
}

.school_guide_comment {
	margin:7rem auto 0;
	position:relative;
	margin-bottom:5rem;
}

.school_guide_white {
	padding:6rem 3rem;
	border-radius:2rem;
}

.school_guide_white p {
	line-height:2;
	font-size:2.6rem;
}

.school_list_wrap {
	margin-top:10rem;
}

.school_list_title {
	width:100%;
}

.school_list_title_inner {
	border-radius:35rem 35rem 0 0;
	padding:9rem 3rem 0rem;
	margin-bottom:0;
}

.school_list_title .title_orange {
	font-size:3.6rem;
}

.school_list_title .title_orange::before {
	width:11.8rem;
	height:8.8rem;
	margin:0 auto 4.5rem;
}

/*-------------------------------
	school list	
-------------------------------*/

.school_list {
	width:100%;
	padding-left:0;
}

.school_list_white {
	background:#fff;
	border-radius:0 0 2rem 2rem;
	padding:9rem 4rem 8rem;
}

.school_list .list_block {
	width:100%;
}

.list_child:not(:last-of-type) {
	margin-bottom:0rem;
	font-size:2.7rem;
	line-height:1.5;
}

.school_list .list_block .title_orange {
	text-align: center;
	font-size:3.2rem;
	height:7.5rem;
	line-height:7.5rem;
	border-radius:4rem;
	background:rgba(255,135,82,0.83);
	color:#fff;
	position:relative;
	margin-bottom:2rem;
}

.school_list .list_block .title_orange span {
	display: inline-block;
	padding-left:0.5em;
	font-size:3.2rem;
	color:#fff;
}

.school_list .list_block .title_orange::after {
	content:"";
	display: block;
	width:3.2rem;
	height:3rem;
	background:url(../images/common/btn_arrow_white.svg) no-repeat center / contain;
	transform:rotate(-90deg);
	position:absolute;
	right:3rem;
	top:0;
	bottom:0;
	margin:auto 0;
	transition:transform .5s;
}

.school_list .list_block .title_orange.active:after {
	transform:rotate(90deg);
}

.school_list .list_child .ul_wrap {
	display: none;
}

.school_list .list_child ul {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom:8rem;
	padding-top:1rem;
}

.school_list .list_block:last-of-type .list_child:last-of-type ul {
	margin-bottom:0;
}

.school_list .list_child ul li {
	width:26.6rem;
	margin-top:3rem;
}

.school_list .list_child ul li a {
	color:#707070;
	font-size:2.7rem;
	width:100%;
	height:8.8rem;
	line-height:8.2rem;
	border-radius:4.4rem;
	border:.3rem solid #FF8752;
	display:block;
	text-align: center;
	position:relative;
}

.school_list .list_child ul li a::after {
	content:"";
	display: block;
	width:2.2rem;
	height:2.4rem;
	background:url(../images/common/btn_arrow_orange.svg) no-repeat center/ contain;
	position:absolute;
	right:1.7rem;
	top:0;
	bottom:0;
	margin:auto;
}

.school_list .list_child ul li a:hover {
	color:#FF8752;
	text-decoration: none;
	background:#FDEDB4;
}

/*-------------------------------
	window pop
-------------------------------*/

.window_pop {
	z-index: 9930;
	padding-top:13.4rem;
	display: none;
}

.window_pop::before {
	height:13.4rem;
}

.popup_white {
	width:100%;
	max-width:calc(100% - 6rem);
	height:90%;
	border-radius:2rem;
	position:relative;
	padding:8rem 3rem 18rem;
}

.popup_inner {
	height:100%;
	max-height: max-content;
	overflow-y:auto;
	margin-bottom:8rem;
}

.batsu_close {
	width:5.4rem;
	position:absolute;
	left:2.5rem;
	top:2.5rem;
}

.btn_close {
	width:34rem;
	height:7.2rem;
	line-height:7.2rem;
	border-radius:3.6rem;
	font-size:2.8rem;
	bottom:6rem;
}

.btn_close::after {
	width:2.4rem;
	height:2.4rem;
	right:4.5rem;
	margin:auto 0;
}

/*-------------------------------
	popup	
-------------------------------*/

.popup {
	padding:0 3rem 4rem;
	position:relative;
	display:none;
}

.pop_title {
	padding-bottom:4rem;
	margin-bottom:7.5rem;
	position:relative;
}

.popup::after,
.pop_title::after {
	width:100%;
	height:.6rem;
}

.popup::after {
	bottom:4rem;
	width:calc(100% - 6rem);
}

.pop_title .title_orange span {
	font-size:2.4rem;
}

.pop_title .title_orange::before {
	width:12rem;
	height:12rem;
	margin:0 auto 4rem;
}

.pop_school_list_wrap {
	padding:6rem 0 7rem;
}

.pop_school_list_wrap h3 {
	font-size:3.6rem;
	border-radius:4rem;
	padding:0.2em 0.5em;
	margin-bottom:6rem;
}

.pop_school_btn {
	width:26.6rem;
	max-width:100%;
	height:8.8rem;
	line-height:8.2rem;
	border-width:.3rem;
	border-radius:4.4rem;
	margin-bottom:3rem;
}

.pop_school_btn::after {
	width:2.2rem;
	height:2.4rem;
	right:1.7rem;
}

.pop_school_btn span {
	font-size:2.7rem;
}

/*-------------------------------
	link map wrap
-------------------------------*/

.inner.sp_no_inner {
	padding:0;
}

.map_sp_scroll {
	width:100%;
	overflow-x:auto;
	padding:5rem 6rem;
}

.map_sp_scroll:has(.filter.active) {
	-webkit-overflow-scrolling:auto !important;
}

.map_sp_scroll::-webkit-scrollbar {
	height:13.6rem;
}

.map_sp_scroll::-webkit-scrollbar-thumb {
	border-radius:10rem;
	background-color:rgba(0,0,0,0.6);
	background-clip: padding-box;
	border: 6rem solid transparent;
}

.map_sp_scroll::-webkit-scrollbar-track {
	background-color:transparent;
}

.imagemap_image {
	width:100%;
}

.link_map_wrap {
	width:100%;
	min-width:118.3rem;
	position:relative;
}

.link_map_wrap map {
	cursor:pointer;
}

/*-------------------------------
	豊田
-------------------------------*/

.ar_toyota {
	padding-bottom:10rem;
}

.toyota_map_wrap {
	margin-top:10rem;
	padding:5rem 0 10rem;
}

.toyota_miryoku {
	padding-top:3rem;
	position:relative;
}

.featured_toyota .sec_inner::before {
	width:100%;
	height:0.6rem;
	top:-4rem;
	right:0
}

.ar_toyota .sticky_wrap {
	margin-top:10rem;
}

.link_map_wrap.__toyota {
	margin-top:10rem;
	padding:0;
}

.list_child_flex ul:first-of-type {
	margin-right:0rem;
	margin-bottom:0;
}

.list_child_flex ul:last-of-type {
	padding-top:0;
}

.local_bottom_btn_wrap .btn {
	margin:8rem auto 0;
}

.ar_toyota_school .school_list_wrap {
	margin-top:20rem;
	padding-top:7rem;
}

.school_list_toyota .list_block .title_orange {
	background-color:rgba(73,154,73,0.83);
}

.school_list_toyota .list_child ul li a {
	border-color:#499A49;
}

.school_list_toyota .list_child ul li a::after {
	background-image:url(../images/common/btn_arrow_green.svg);
}

.school_list_toyota .list_child ul li a:hover {
	color:#499A49;
}


/*-------------------------------
	illust wrap
-------------------------------*/

/*-------------------------------
	illust wrap01
-------------------------------*/

.illust_wrap01 .illust_cloud01 {
	left:-3rem;
	top:0;
}

.illust_wrap01 .illust_cloud02 {
	right:0;
	top:26rem;
}

/*-------------------------------
	illust wrap02
-------------------------------*/

.illust_wrap02 .illust_school01 {
	width:17.6rem;
	left:-2rem;
	top:-18rem;
}

.illust_wrap02 .illust_children01 {
	width:7.2rem;
	left:3rem;
	top:-6rem;
}

.illust_wrap02 .illust_house03 {
	width:11.8rem;
	left:19rem;
	top:-16rem;
}

.illust_wrap02 .illust_stroll04 {
	width:5.8rem;
	left:28.5rem;
	top:-8rem;
}

.illust_wrap02 .illust_school02 {
	width:7.5rem;
	right:18.5rem;
	top:-13.5rem;
}

.illust_wrap02 .illust_party01 {
	width:9.4rem;
	right:11rem;
	top:-7rem;
}

.illust_wrap02 .illust_temple01 {
	width:11.8rem;
	right:0rem;
	top:-13rem;
}

/*-------------------------------
	illust wrap03
-------------------------------*/

.illust_wrap03 .illust_family04 {
	width:13rem;
	right:0;
	bottom:0;
}

/*-------------------------------
	illust wrap04
-------------------------------*/

.illust_wrap04 .illust_car_yellow01 {
	width:6rem;
	left:0rem;
	top:-14rem;
}

.illust_wrap04 .illust_car_red01 {
	width:6rem;
	left:8rem;
	top:-17rem;
}

.illust_wrap04 .illust_building01 {
	width:12.8rem;
	left:14rem;
	top:-29rem;
}

.illust_wrap04 .illust_man01 {
	width:3.4rem;
	left:27.5rem;
	top:-20.5rem;
}

.illust_wrap04 .illust_businessman01 {
	width:8rem;
	left:34rem;
	top:-24rem;
}

.illust_wrap04 .illust_house04 {
	width:10.4rem;
	right:8rem;
	top:-24rem;
}

.illust_wrap04 .illust_children02 {
	width:8.8rem;
	right:-3rem;
	top:-23rem;
}

/*-------------------------------
	illust_wrap05
-------------------------------*/

.illust_wrap05 .illust_tree01-2 {
	width:5.8rem;
	right:6rem;
	top:-3rem;
}

.illust_wrap05 .illust_family01 {
	width:7.6rem;
	right:0rem;
	top:-2rem;
}

.illust_wrap05 .illust_car_yellow01 {
	width:6.9rem;
	left:0rem;
	bottom:1rem;
}

.illust_wrap05 .illust_car_red01 {
	width:6.9rem;
	left:9rem;
	bottom:3rem;
}

/*-------------------------------
	illust_wrap06
-------------------------------*/

.illust_wrap06 .illust_tree03 {
	right:0rem;
	bottom:93rem;
}

/*-------------------------------
	illust_wrap07
-------------------------------*/

.illust_wrap07 .illust_family03 {
	width:5.9rem;
	left:20rem;
	top:-15rem;
}

.illust_wrap07 .illust_tree01-2 {
	right:26rem;
	top:-16rem;
}

.illust_wrap07 .illust_apartment01 {
	right:11rem;
	top:-13rem;
}

/*-------------------------------
	fukidashi
-------------------------------*/

.fukidashi {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size:2.4rem;
}

.fukidashi p {
    font-size:2.4rem;
    line-height:1.5;
    font-weight:700;
    color:var(--maincolor);
    letter-spacing: 0.01em;
}

.fukidashi01 p {
    font-size:2.4rem;
    text-align: center;
}

.fukidashi01 {
    font-size:2.4rem;
    width:40.4rem;
    height:15.7rem;
    padding-bottom:0;
    margin:0;
    background:url(../images/store/fukidashi02.svg) no-repeat center / contain;
    position:relative;
    top:auto;
    left:auto;
}

.fukidashi02 {
    width:42rem;
    height:15.7rem;
}

.yukinyan_wrap {
	position:relative;
	right:auto;
	bottom:auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.yukinyan_wrap01 .illust_yukinyan04 {
	width:21.7rem;
	margin:0
}

.yukinyan_wrap03 {
	margin-top:5rem;
	position:relative;
	right:auto;
	bottom:auto;
}

.yukinyan_wrap03 .yukinyan_mushimegane {
	margin:0;
}

.yukinyan_wrap02,
.yukinyan_wrap04 {
	display:none;
}

/*-------------------------------
    sec contact
-------------------------------*/

.ar_contact {
	margin-top:-11.5rem;
}

.sec_contact {
    padding-top:15.3rem;
    padding-bottom:24rem;
}

.sec_contact .inner {
	position:relative;
	z-index: 1;
}

.sec_contact::before {
    width:100%;
    min-width:auto;
    height:13.3rem;
}

.sec_contact::after {
    height:calc(100% - 13.2rem);
	z-index:0;
}

.h_line_wrap {
    margin-bottom:6rem;
}

.h_line_wrap::before {
    height:.2rem;
    top:2.65em;
}

.h_line::before,
.h_line::after {
    width:.9rem;
    height:.9rem;
    top:2.65em;
}

.h_line span {
    font-size:2.8rem;
    padding:0 0.75em;
    line-height:2;
    display: inline-block;
}

.h_line strong {
    font-size:4.2rem;
    margin:0 0.25em 0 0;
}

.h_line strong::before,
.h_line strong::after {
    height:.9rem;
}

.contact_tel_wrap {
    padding-right:0;
    width:100%;
    text-align: center;
    margin-bottom:8rem;
}

.contact_mail_wrap {
    border-left:none;
    padding-left:0;
    width:100%;
	max-width:100%;
    display: block;
    margin-bottom:3rem;
}

.ar_business .contact_mail_wrap {
    max-width:100%;
}

.contact_tel {
    font-size:7.8rem;
    line-height:1;
}

.contact_tel::before {
    font-size:4rem;
    padding-right:0.25em;
}

.contact_tel_hours p {
    font-size:2.8rem;
}

.contact_mail_wrap .btn_white {
    margin:0 auto 3.5rem;
}

.contact_mail_wrap .btn_white span {
    font-size:2.8rem;
}

.contact_bottom .btn {
    max-width:100%;
    height:13rem;
    border-radius: 6.5rem;
    margin:0rem auto;
}

.contact_bottom .btn span {
    font-size:3.4rem;
}

.contact_bottom .icon_shop::before {
    width:8.1rem;
    height:8.1rem;
    left: 3rem;
}

.sec_contact .illust_stroll01 {
    right:3rem;
    top:-14.5rem;
}

.sec_contact .illust_stroll02 {
    right:4.5rem;
    top:-15rem;
}

/*-------------------------------
    ar illust bottom
-------------------------------*/

.ar_illust_bottom {
    margin-top:-17rem;
    position:relative;
    width:197%;
    left:calc(36.5rem / 75rem * -100%);
    min-width:147.7rem;
}

.illust_cloudline01 {
    top:4.2rem;
}

.illust_cloudline02 {
    top:1.5rem;
}

.illust_carline01 {
    bottom:4rem;
}

.illust_carline02 {
    bottom:2.5rem;
}



} /* end 768px */
