@font-face {
    font-family: "banana";
    src: url("../font/YDWbananaslipplus.otf") format("opentype"); /*fontがあるパスを書いて、formatを指定*/
    font-display: swap;
}

.banana {
    font-family: "banana",sans-serif;
}

/*-------------------------------
    page link
-------------------------------*/

.page_link {
    max-width:105rem;
    margin:0 auto 12.5rem;
}

.page_link .btn {
    margin:0 0 2rem 0;
    background:#65B1E8;
    border-color:#65B1E8;
}

.page_link .btn::after {
    transform:rotate(90deg);
}

.page_link::after {
    content:"";
    display: block;
    width:28.5rem;
}

.page_link .btn:hover {
    background:#fff;
}

/*-------------------------------
    store info
-------------------------------*/

#store_info {
    overflow:visible;
    position:relative;
}

#store_info::before {
    content:"";
    display: block;
    width:8.6rem;
    height:8.6rem;
    background:url(../images/common/icon_shop.svg) no-repeat center / contain;
    position:absolute;
    left:0;
    right:0;
    top:-4.3rem;
    margin:0 auto;
}

.store_wrap {
    background:#F5F8FA;
    border-radius: 3rem;
    overflow: hidden;
    padding:5rem 7.5rem 7.5rem;
}

.store_wrap .h_nami span {
    color:var(--blueblack);
    font-size:3rem;
}

.store_flex {
    margin-top:5.5rem;
}

.store_txt {
    width:43.2%;
    max-width:47.5rem;
    margin-top:2.5rem;
}

.store_txt h3 {
    font-size:3rem;
    font-weight:700;
    letter-spacing: 0.01em;
    color:var(--maincolor);
    margin-bottom:2em;
}

.store_dl dt {
    width:9.5rem;
    height:3rem;
    line-height:3rem;
    text-align: center;
    font-size:1.6rem;
    font-weight:700;
    color:#fff;
    background:var(--maincolor);
    border-radius:1.5rem;
    margin-bottom:2rem;
}

.store_dl dd {
    width:calc(100% - 9.5rem);
    padding-left:1em;
    font-size:1.8rem;
    letter-spacing: 0.01em;
    font-weight:500;
    line-height:1.5;
    margin-bottom:2rem;
}

/*-------------------------------
    store slide
-------------------------------*/

.store_slide {
    width:48.2%;
    max-width:53rem;
    position:relative;
    padding-bottom:3rem;
}

.store_slide .swiper-pagination {
    bottom:0;
}

.store_slide .swiper-pagination-bullet {
    width:5.8rem;
    border-radius:0;
    height:0.4rem;
    margin:0 2.5%!important;
    background:#AEBEC9;
    opacity:1;
}

.store_slide .swiper-pagination-bullet-active {
    background:var(--maincolor);
}

.store_slide .swiper {
    overflow: hidden;
    border-radius:5rem;
    border:1rem solid #fff;
    box-shadow: .3rem .3rem var(--maincolor);
}

/*-------------------------------
    campaign    
-------------------------------*/

#campaign {
    padding:15rem 0 10rem;
}

.banner_wrap {
    margin:8rem auto 0;
    max-width:110rem;
}

.banner_wrap::after {
    content:"";
    width:31.5%;
    max-width:34rem;
}

.banner_block {
    width:31.5%;
    max-width:34rem;
    margin-bottom:5rem;
}

.banner_block a {
    display: block;
    width:100%;
}

.banner_block figure {
    border:.2rem solid var(--maincolor);
    border-radius:2rem;
    overflow:hidden;
    margin-bottom:1rem;
}

.banner_block h4 {
    text-align: center;
}

.banner_block h4 span {
    font-size:2rem;
    letter-spacing: 0.01em;
    font-weight:500;
    line-height:1.25;
    display: inline-block;
    padding-right:1.5em;
    position:relative;
    color:var(--blackcolor);
}

.banner_block h4 span::after {
    content:"";
    display: block;
    width:1.2em;
    height:1.2em;
    background:url(../images/common/arrow_maru_white.svg) no-repeat center / contain;
    position:absolute;
    right:0;
    top:0;
}

/*-------------------------------
    access
-------------------------------*/

#access {
    padding:15rem 0;
    background:#EFF9FF;
}

.access_block {
    position:relative;
    margin-top:10rem;
}

.access_block::before {
    content:"";
    display: block;
    width:8.6rem;
    height:8.6rem;
    position:absolute;
    left:0;
    right:0;
    top:-4.3rem;
    margin:0 auto;
}

.access_car::before {
    background:url(../images/common/icon_car.svg) no-repeat center / contain;
}

.access_jr::before {
    background:url(../images/common/icon_jr.svg) no-repeat center / contain;
}

.access_train::before {
    background:url(../images/common/icon_train.svg) no-repeat center / contain;
}

.access_bus::before {
    background:url(../images/common/icon_bus.svg) no-repeat center / contain;
}

.access_inner {
    background:#fff;
    border-radius: 3rem;
    overflow: hidden;
    padding:5.5rem 7.5rem 5.5rem;
}

.access_txt h3 {
    font-size:3.2rem;
    font-weight:700;
    letter-spacing: 0.01em;
    color:var(--maincolor);
    margin-bottom:1em;
    text-align: center;
}

.access_txt p {
    text-align: center;
    font-size:2rem;
    font-weight:500;
    line-height:1.8;
    margin:2.5em 0 0;
}

.access_gmaplink {
    text-align: right;
    margin-bottom:2rem;
}

.access_gmaplink a {
    font-size:1.4rem;
    font-weight:500;
    color:var(--maincolor);
    display: inline-block;
    padding-right:2.85em;
    border-bottom:1px solid var(--maincolor);
    line-height:1.25;
    padding-bottom:0.5em;
    position:relative;
}

.access_gmaplink a::after {
    content:"";
    display: block;
    width:1em;
    height:1.1em;
    background:url(../images/common/icon_tab.svg) no-repeat center / contain;
    position:absolute;
    right:0;
    top:0;
}

.access_gmap iframe {
    width:100%;
    height:50rem;
    border-radius:2rem;
    overflow:hidden;
}

/*-------------------------------
    access line    
-------------------------------*/

.access_line {
    overflow-x:auto;
    padding-top:3rem;
}

.access_jr .access_line {
    padding-top:1.5rem;
}

.access_line_inner {
    width:100%;
    min-width:98rem;
    flex-wrap:nowrap;
    padding-bottom:3rem;
    align-items: flex-start;
}

.station {
    height:6rem;
    line-height:5.8rem;
    border:1px solid var(--blackcolor);
    text-align: center;
    font-size:2rem;
    font-weight:500;
    letter-spacing: 0.01em;
    background:#F0F0F0;
}

.station_green {
    background:#E3E7B7;
}

.station_miyuki {
    width:13.7rem;
    background:#FDCC4C;
}

.station_jrokazaki {
    width:19rem;
}

.station_okazaki {
    width:26.2rem;
}

.station_daimon {
    width:12.5rem;
}

.station_koenmae {
    width:22.6rem;
}

.station_jrdaimon {
    width:49rem;
}

.station_kamisato {
    width:25rem;
}

.connect {
    font-size:1.6rem;
    font-weight:500;
    position:relative;
    top:-0.25em;
    padding:0 0 0.5em 0;
    text-align: center;
}

.connect span {
    font-weight:500;
    font-size:3rem;
}

.connect::before {
    content:"";
    display: block;
    width:calc(100% - 1rem);
    height:.2rem;
    background:var(--blackcolor);
    position:absolute;
    left:0;
    bottom:0;
}

.connect::after {
    content:"";
    display: block;
    width:1.1rem;
    height:1rem;
    background:url(../images/store/arrow_head.svg) no-repeat center / contain;
    position:absolute;
    right:0;
    bottom:-0.4rem;
}

.connect01 {
    width:15rem;
    margin-right:1rem;
}

.connect01-2 {
    width:10.7rem;
    margin-right:1rem;
}

.connect01-3 {
    width:10rem;
    margin-right:1rem;
}

.connect02 {
    width:13.5rem;
    margin-right:0.5rem;
}

.connect02-2,
.connect02-3 {
    width:10rem;
    margin-right:0.5rem;
}

.connect03 {
    width:10.5rem;
    margin-right:1rem;
}

.connect03-2 {
    width:10rem;
    margin-right:1rem;
}

/*-------------------------------
    staff
-------------------------------*/

#staff {
    padding:15rem 0;
}

.staff_flex {
    margin:7rem auto 0;
    max-width:110rem;
}

.staff_img {
    width:48.2%;
    max-width:53rem;
    overflow:hidden;
    border-radius:3rem;
}

.staff_txt {
    width:48.4%;
    max-width:53rem;
}

.staff_txt h3 span {
    display: inline-block;
    font-size:2.4rem;
    font-weight:700;
    letter-spacing: 0.01em;
    text-align: center;
    padding:0.25em 1.5em;
    background:var(--maincolor);
    color:#fff;
}

.staff_list {
    margin-top:4rem;
}

.staff_list li {
    font-size:2rem;
    font-weight:500;
    letter-spacing: 0.01em;
    line-height:1.25;
}

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

/*-------------------------------
    flow
-------------------------------*/

#flow .inner {
    max-width:120rem;
}

.flow_top_wrap {
    background:#EFF9FF;
    padding:15rem 0 max(33rem,24.16vw);
}

.flow_top {
    margin:9rem 0 auto;
}

.flow_top_illust {
    width:38rem;
    padding-right:4rem;
}

.illust_yukinyan04 {
    margin:0 auto 5rem;
}

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

.fukidashi p {
    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:22.9rem;
    height:18.9rem;
    padding-bottom:0.75em;
    margin:0 auto 4rem;
    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;
}

.fukidashi03 {
    width:22.3rem;
    height:16.8rem;
    background:url(../images/store/fukidashi03.svg) no-repeat center / contain;
    padding-bottom:1em;
}

.flow_table {
    width:calc(100% - 38rem);
    background:#fff;
    border-radius: 3rem;
    border:.3rem solid var(--maincolor);
    padding:4rem 5.5rem 4rem;
    position:relative;
}

.flow_table h3 {
    text-align: center;
    margin:0 auto 4.5rem;
}

.flow_table h3 span,
.step_contact_wrap h4 {
    text-align: center;
}

.flow_table h3 span,
.step_contact_wrap h4 span {
    font-size:3.2rem;
    letter-spacing: 0.01em;
    font-weight:700;
    color:var(--maincolor);
    display: inline-block;
}

.step_contact_wrap h4 span {
    font-size:2.4rem;
}

.flow_table h3 span::before,
.flow_table h3 span::after,
.step_contact_wrap h4 span::before,
.step_contact_wrap h4 span::after {
    content:"";
    display: inline-block;
    width:1.25em;
    height:2px;
    background:var(--maincolor);
    transform:translate(-0.2em,-0.28em) rotate(45deg);
    transform-origin: center;
}

.flow_table h3 span::after,
.step_contact_wrap h4 span::after {
    transform:translate(0rem,-0.28em) rotate(-45deg);
}

.flow_list {
    position: relative;
}

.flow_list::before {
    content:"";
    display: block;
    width:.2rem;
    background:var(--maincolor);
    height:100%;
    position:absolute;
    left:9.5rem;
    top:0;
}

.flow_list li a {
    display: flex;
    align-items: flex-start;
    opacity:1!important;
    position:relative;
}

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

.flow_list .step {
    width:19rem;
    height:5rem;
    line-height:5.4rem;
    font-size:2.8rem;
    font-weight:700;
    letter-spacing: 0.01em;
    font-family: var(--en);
    color:#fff;
    border-radius:2.5rem;
    background:var(--maincolor);
    text-align: center;
}

.flow_list h4 span {
    display: inline-block;
    padding-top:0.25em;
    margin-left:1em;
    font-size:2.8rem;
    font-weight:700;
    letter-spacing: 0.01em;
    color:var(--maincolor);
    transition:var(--transition);
    background:linear-gradient(rgba(255, 255,255, 0) 0%, rgba(255, 255,255, 0) 55%, rgba(255, 224,118, 1) 55%, rgba(255, 224,118, 1) 100%);
    background-position: 50% 0%;
    background-size: auto 200%;
}

.flow_list li a:hover h4 span {
    background-position: 50% 50%;
    color:#FF8752;
}

.illust_wrap01 .illust_house01 {
    right:3.5rem;
    top:-8rem;
}

.illust_wrap01 .illust_tree03 {
    left:-2rem;
    bottom:-6rem;
}

/*-------------------------------
    flow block step
-------------------------------*/

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

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

.flow_block::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) {

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

.flow_block01::after,
.flow_block05::after {
    background:#C7E9FF;
}

.flow_block01::before,
.flow_block05::before {
    background:url(../images/store/bg_flow_nami01.svg) no-repeat center bottom / contain;
}

.flow_block02::after,
.flow_block04::after {
    background:#b5e2ff;
}

.flow_block02::before,
.flow_block04::before {
    background:url(../images/store/bg_flow_nami02.svg) no-repeat center bottom / contain;
}

.flow_block03::after {
    background:#9AD4FF;
}

.flow_block03::before {
    background:url(../images/store/bg_flow_nami03.svg) no-repeat center bottom / contain;
}

.flow_block06::after {
    background:#E8F6FF;
}

.flow_block06::before {
    background:url(../images/store/bg_flow_nami06.svg) no-repeat center bottom / contain;
}

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

.flow_block07::before {
    background:url(../images/store/bg_flow_nami07.svg) no-repeat center bottom / contain;
}


.flow_block .inner {
    position:relative;
}
.flow_title {
    position:relative;
    margin-top:-5rem;
    margin-bottom:12rem;
}

.flow_title::before {
    content:"";
    display: block;
    width:100%;
    height:.4rem;
    border-top:.4rem dotted var(--maincolor);
    position:absolute;
    left:0;
    top:3.5rem;
}

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

.step_ribon span {
    font-size:2.8rem;
    font-weight:700;
    letter-spacing: 0.06em;
    color:#fff;
    display: inline-block;
    width:28.9rem;
    padding:0.15em 0 0.5em;
    position:relative;
}

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

.flow_title h3 {
    font-size:3rem;
    font-weight:700;
    text-align: center;
    color:var(--maincolor);
    letter-spacing: 0.01em;
}

.step_img_wrap {
    width:43.2%;
    max-width:47.5rem;
    position:relative;
}

.step_img {
    border-radius:3rem;
    overflow: hidden;
    border:1rem solid #fff;
}

.yukinyan_wrap {
    flex-wrap:nowrap;
}

.step_txt_wrap {
    width:48.2%;
    max-width:53rem;
    position:relative;
}

.step_txt_wrap01 {
    margin-top:-6rem;
}

.step_txt_wrap02 {
    margin-top:-3rem;
}

.step_txt_wrap03,
.step_txt_wrap07 {
    margin-top:-4rem;
}

.step_txt_wrap04,
.step_txt_wrap06 {
    width:100%;
    max-width:100%;
}

.step_txt_wrap04 .step_txt,
.step_txt_wrap06 .step_txt {
    width:43.2%;
    max-width:47.5rem;
    margin-top:0;
}

.step_txt_wrap04 .yukinyan_zzz {
    margin-top:4rem;
}

.step_txt_wrap04 .yukinyan_wrap,
.step_txt_wrap06 .yukinyan_wrap {
    padding-right:3rem;
}

.step_txt {
    margin-top:4.5rem;
}

.step_txt p {
    font-size:1.8rem;
    line-height:2;
}

.step_txt .btn {
    margin-top:4.5rem;
    max-width:34.5rem;
}

.illust_wrap02 .illust_cloud01 {
    left:0;
    top:-9rem;
}

.illust_wrap02 .illust_apartment01 {
    left:-3.5rem;
    bottom:-2rem;
}

.illust_wrap03 .illust_family03 {
    left:-1rem;
    top:31.5rem;
}

.illust_wrap05 .illust_cloud02 {
    top:-6.2rem;
    right:0;
}

.illust_wrap06 .illust_businessman03 {
    top:-13rem;
}

.illust_wrap07,
.illust_wrap11 {
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
}

.illust_wrap07 .illust_tree03 {
    position:relative;
    margin:7rem 0 0 auto;
}

.illust_wrap08 .illust_cloud02 {
    right:4rem;
    top:-10rem;
    transform:scale(-1,1);
}

.illust_wrap09 .illust_cloud01 {
    top:-9rem;
    left:0;
}

.illust_wrap09 .illust_tree03 {
    bottom:-9rem;
    left:0;
}

.illust_wrap10 .illust_tree01-2 {
    left:0;
    bottom:-8rem;
}

.illust_wrap11 .illust_family01 {
    position:relative;
    margin:5.5rem 0 0 auto; 
}

.illust_wrap11 .illust_tree01-2 {
    right:8rem;
    top:-1.5rem;
}

.step_img_wrap02 .yukinyan_wrap,
.step_img_wrap03 .yukinyan_wrap {
    margin-top:4rem;
}

.step_img_wrap02 .fukidashi {
    margin-left:5rem;
}

.step_img_wrap03 .fukidashi {
    width:34rem;
    height:11.8rem;
    padding-left:1em;
    background:url(../images/store/fukidashi02-2.svg) no-repeat center / contain;
}

/*-------------------------------
    step_contact_wrap
-------------------------------*/

.step_contact_wrap {
    margin-top:8.5rem;
}

.step_contact_wrap h4 {
    margin-bottom:2rem;
}

.contact_flex {
    background:#fff;
    border-radius:2rem;
    padding:4rem 2rem;
}

.contact_tel_wrap {
    padding-right:3.5rem;
    width:42%;
}

.contact_mail_wrap {
    border-left:1px solid var(--blueblack);
    padding-left:3.5rem;
    width:58%;
    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 {
    background:#C7E9FF;
    border-color:#C7E9FF;
}

.contact_mail_wrap .btn_white:hover {
    background:var(--yellowcolor);
    border-color:var(--yellowcolor);
}

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

/*-------------------------------
    house comment
-------------------------------*/

.house_comment {
    background:#fff;
    border-radius:2rem;
    padding:4rem;
    position:relative;
    margin-top:4.5rem;
}

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

.house_comment .illust_house02 {
    right:-1rem;
    bottom:-2.5rem;
}

/*-------------------------------
    flow_bottom
-------------------------------*/

.flow_bottom {
    position:relative;
    border-radius:2rem;
    background:#E8F6FF;
    padding:4rem 4rem 4rem 10rem;
    max-width:72rem;
    margin: 6rem auto 0;
}

.flow_bottom p {
    font-size:2.2rem;
    font-weight:700;
    letter-spacing: 0.01em;
    line-height:1.8;
    color:var(--maincolor);
    text-align: center;
}

.yukinyan_reflect {
    position:absolute;
    left:-7.5rem;
    top:-3.5rem;
    transform:scale(-1,1);
}

/*-------------------------------
    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:#D2DD6C;
    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) {

.store_dl dt {
    font-size:1.8rem;
}
.store_dl dd,
.step_txt p {
    font-size:2rem;
}

.access_gmaplink a {
    font-size:1.8rem;
}

.connect,
.fukidashi p {
    font-size:1.7rem;
}

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

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

} /* end 960px */



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

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

/*-------------------------------
    page link
-------------------------------*/

.page_link {
    max-width:100%;
    margin:0 auto 12rem;
    justify-content:center;
    padding:0 4.5rem;
}

.page_link .btn {
    max-width:30rem;
    height:7.6rem;
    margin:0 1.5rem 2.5rem;
    padding:0 3.5rem 0 1.5rem;
}

.page_link .btn span {
    font-size:2.8rem;
}

.page_link .btn::after {
    width:2.2rem;
    height:2.4rem;
    right:1.5rem;
}

.page_link::after {
    display: none;
}

/*-------------------------------
    store info
-------------------------------*/

#store_info::before {
    width:11.4rem;
    height:11.4rem;
    top:-5.7rem;
}

.store_wrap {
    background:#F5F8FA;
    border-radius: 3rem;
    overflow: hidden;
    padding:8rem 6rem 9.5rem;
}

.store_wrap .h_nami span {
    font-size:3.6rem;
}

.store_flex {
    margin-top:4rem;
}

.store_txt {
    width:100%;
    max-width:100%;
    margin-top:0rem;
    order:-1;
}

.store_txt h3 {
    font-size:3.6rem;
    margin-bottom:2.5em;
    text-align: center;
}

.store_dl dt {
    width:14.5rem;
    height:4.8rem;
    line-height:4.8rem;
    font-size:2.8rem;
    border-radius:2.4rem;
    margin-bottom:2.5rem;
}

.store_dl dd {
    width:calc(100% - 14.5rem);
    padding-left:1em;
    font-size:2.8rem;
    margin-bottom:2.5rem;
}

/*-------------------------------
    store slide
-------------------------------*/

.store_slide {
    width:100%;
    max-width:100%;
    position:relative;
    padding-bottom:6.5rem;
    margin-top:3rem;
}

.store_slide .swiper-pagination {
    bottom:0;
}

.store_slide .swiper-pagination-bullet {
    width:6.8rem;
    height:0.5rem;
    margin:0 2.25%!important;
}

.store_slide .swiper-pagination-bullet-active {
    background:var(--maincolor);
}

/*-------------------------------
    campaign    
-------------------------------*/

#campaign {
    padding:10rem 0 6rem;
}

.banner_wrap {
    margin:6rem auto 0;
    max-width:100%;
}

.banner_wrap::after {
    display: none;
}

.banner_block {
    width:48.2%;
    max-width:30.2rem;
    margin-bottom:6rem;
}

.banner_block figure {
    border-radius:3rem;
    margin-bottom:1.5rem;
}

.banner_block h4 {
    text-align: left;
}

.banner_block h4 span {
    font-size:2.8rem;
    display: block;
}

/*-------------------------------
    access
-------------------------------*/

#access {
    padding:12rem 0 10rem;
}

.access_block {
    margin-top:11rem;
}

.access_block::before {
    width:11.4rem;
    height:11.4rem;
    top:-5.7rem;
}

.access_inner {
    border-radius: 3rem;
    overflow: hidden;
    padding:7.5rem 6rem 10rem;
}

.access_car .access_inner {
    display: flex;
    flex-wrap:wrap;
    padding-bottom:5rem;
}

.access_car .access_txt,
.access_car .access_gmap,
.access_car .access_gmaplink {
    width:100%;
}

.access_car .access_gmaplink {
    order:3;
}

.access_txt h3 {
    font-size:3.2rem;
    line-height:1.75;
}

.access_txt p {
    font-size:2.8rem;
    text-align: left;
}

.access_gmaplink {
    text-align: right;
    margin-bottom:2rem;
}

.access_gmaplink a {
    font-size:3rem;
    border-width:.2rem;
}

.access_gmap {
    margin-top:3rem;
    margin-bottom:2.5rem;
}

/*-------------------------------
    access line    
-------------------------------*/

.access_line {
    overflow-x:hidden;
    padding-top:5rem;
}

.access_jr .access_line {
    padding-top:1.5rem;
}

.access_line_inner {
    width:100%;
    min-width:auto;
    display: block;
    padding-bottom:0rem;
}

.station {
    width:100%;
    height:auto;
    line-height:1.5;
    border-width:.2rem;
    font-size:3rem;
    padding:0.35em 1em;
}

.station_miyuki {
    width:100%;
}

.station_jrokazaki {
    width:100%;
}

.station_okazaki {
    width:100%;
}

.station_daimon {
    width:100%;
}

.station_koenmae {
    width:100%;
}

.station_jrdaimon {
    width:100%;
}

.station_kamisato {
    width:100%;
}

.connect {
    width:100%;
    font-size:2.5rem;
    top:auto;
    padding:0.75em 0 0.25em 0;
    text-align: right;
    margin-bottom:1rem;
}

.connect span {
    font-size:4.7rem;
}

.connect::before {
    width:.2rem;
    height:100%;
    left:0;
    bottom:auto;
    top:0;
    right:0;
    margin:0 auto;
}

.connect::after {
    width:1.8rem;
    height:1.6rem;
    right:0;
    left:0;
    bottom:-0.2rem;
    margin:0 auto;
    transform:rotate(90deg);
}

.connect01 {
    width:100%;
    margin-right:0;
}

.connect01-2 {
    width:100%;
    margin-right:0;
}

.connect01-3 {
    width:100%;
    margin-right:0;
}

.connect02 {
    width:100%;
    margin-right:0;
}

.connect02-2,
.connect02-3 {
    width:100%;
    margin-right:0;
}

.connect03 {
    width:100%;
    margin-right:0;
}

.connect03-2 {
    width:100%;
    margin-right:0;
}

/*-------------------------------
    staff
-------------------------------*/

#staff {
    padding:12rem 0;
}

.staff_flex {
    margin:6.5rem auto 0;
    max-width:100%;
}

.staff_img {
    width:100%;
    max-width:100%;
    border-radius:3rem;
    margin-bottom:4rem;
}

.staff_txt {
    width:100%;
    max-width:100%;
}

.staff_txt h3 span {
    font-size:2.8rem;
}

.staff_list li {
    font-size:2.8rem;
    line-height:1.5;
}


/*-------------------------------
    flow
-------------------------------*/

#flow .inner {
    max-width:100%;
}

.flow_top_wrap {
    background:#EFF9FF;
    padding:12rem 0 21rem;
}

.flow_top {
    margin:27rem 0 auto;
    position:relative;
}

.flow_top_illust {
    width:100%;
    padding-right:0;
    order:1;
}

.illust_yukinyan04 {
    margin:0;
    position:absolute;
    top:-21rem;
    right:10.5rem;
}

.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:22.3rem;
    height:16.8rem;
    padding-bottom:0.75em;
    margin:0;
    background:url(../images/store/fukidashi01_sp.svg) no-repeat center / contain;
    position:absolute;
    top:-16rem;
    left:4.5rem;
}

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

.fukidashi03 {
    width:32.5rem;
    height:24.4rem;
    padding-bottom:1em;
}

.flow_table {
    width:100%;
    border-width:.4rem;
    padding:5rem 4rem 6rem 6rem;
    position:relative;
    z-index: 1;
    margin-bottom:8rem;
}

.flow_table h3 {
    text-align: center;
    margin:0 auto 4.5rem;
}

.flow_table h3 span,
.step_contact_wrap h4 span {
    font-size:3.6rem;
}

.step_contact_wrap h4 span {
    font-size:3.6rem;
}

.flow_list {
    position: relative;
}

.flow_list::before {
    width:.4rem;
    left:11.1rem;
    top:0;
}

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

.flow_list .step {
    width:22.2rem;
    height:5.9rem;
    line-height:6.4rem;
    font-size:3.2rem;
    border-radius:3rem;
}

.flow_list h4 span {
    font-size:3.2rem;
    font-weight:700;
}

.illust_wrap01 .illust_house01 {
    right:0rem;
    top:-6rem;
}

.illust_wrap01 .illust_tree03 {
    left:-3rem;
    bottom:-6rem;
}

/*-------------------------------
    flow block step
-------------------------------*/

.flow_block {
    margin-top: -11.5rem;
    padding-top: 15rem;
    padding-bottom: 21rem;
    position:relative;
}

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

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

.flow_block07::after {
    background:none;
}

.flow_block .inner {
    position:relative;
}

.flow_title {
    position:relative;
    margin-top:0rem;
    margin-bottom:7.5rem;
}

.flow_title::before {
    top:4.5rem;
}

.step_ribon {
    margin-bottom:1.75em;
}

.step_ribon span {
    font-size:3.6rem;
    width:38.7rem;
    padding:0.15em 0 0.5em;
}

.step_ribon::before {
    width:38.7rem;
    height:8.1rem;
}

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

.step_flex {
    position:relative;
}

.flow_block01 .step_flex {
    padding-top:36.2rem;
}

.flow_block01 .step_flex .yukinyan_mushimegane {
    margin-left:auto;
}

.flow_block02 .step_flex {
    padding-top:33.5rem;
    padding-bottom:34rem;
}

.flow_block03 .step_flex {
    padding-top:30.5rem;
    padding-bottom:0rem;
}

.flow_block05 .step_flex {
    padding-top:30.5rem;
    padding-bottom:0rem;
}

.flow_block07 .step_flex {
    padding-top:36.5rem;
    padding-bottom:0rem;
}

.step_img_wrap {
    width:100%;
    max-width:100%;
}

.step_img {
    margin-bottom:9rem;
}

.yukinyan_wrap {
    flex-wrap:nowrap;
}

.step_txt_wrap {
    width:100%;
    max-width:100%;
}

.step_txt_wrap01,
.step_txt_wrap02,
.step_img_wrap02,
.step_img_wrap03,
.step_txt_wrap03,
.step_txt_wrap05,
.step_txt_wrap07 {
    margin-top:0;
    position:static;
}

.step_txt_wrap01 .yukinyan_wrap,
.step_txt_wrap02 .yukinyan_wrap,
.step_txt_wrap03 .yukinyan_wrap,
.step_txt_wrap05 .yukinyan_wrap,
.step_txt_wrap07 .yukinyan_wrap {
    position:absolute;
    left:0;
    top:0;
    width:100%;
}

.step_img_wrap02 .yukinyan_wrap,
.step_img_wrap03 .yukinyan_wrap {
    width:100%;
    position:absolute;
    left:0;
    bottom:0;
    margin-top:0;
}

.step_img_wrap03 .yukinyan_wrap {
    bottom:14rem;
}

.step_txt_wrap03,
.step_txt_wrap07 {
    margin-top:0rem;
}

.step_txt_wrap04,
.step_txt_wrap06 {
    width:100%;
    max-width:100%;
}

.step_txt_wrap04 .step_txt,
.step_txt_wrap06 .step_txt {
    width:100%;
    max-width:100%;
    margin-top:0;
}

.step_txt_wrap04 .yukinyan_zzz {
    margin-top:4rem;
}

.step_txt_wrap04 .yukinyan_wrap,
.step_txt_wrap06 .yukinyan_wrap {
    padding-right:0rem;
}

.step_txt_wrap06 .yukinyan_wrap,
.step_txt_wrap04 .yukinyan_wrap {
    margin-top:6rem;
}

.step_txt {
    margin-top:0;
}

.step_txt p {
    font-size:2.8rem;
    line-height:2;
}

.step_txt .btn {
    margin-top:3.5rem;
    max-width:100%;
    padding:0 8rem 0 5rem;
}

.step_txt .btn::after {
    right:5.5rem;
}

.step_txt_wrap02 .step_txt .btn {
    margin-top:7rem;
    padding:0 7rem 0 4rem;
}

.step_txt_wrap02 .step_txt .btn::after {
    right:3rem;
}

.illust_wrap02 .illust_cloud01 {
    left:-2rem;
    top:-9rem;
}

.illust_wrap02 .illust_apartment01 {
    left:-3rem;
    bottom:2.5rem;
}

.illust_wrap03 .illust_family03 {
    left:-1.5rem;
    top:-89.5rem;
}

.illust_wrap05 .illust_cloud02 {
    top:-6.2rem;
    right:-1.5rem;
}

.illust_wrap06 .illust_businessman03 {
    top:-100rem;
}

.illust_wrap07,
.illust_wrap11 {
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
}

.illust_wrap07 {
    margin-top:26rem;
}

.illust_wrap07 .illust_tree03 {
    position:relative;
    margin:7rem 0 0 auto;
}

.illust_wrap08 .illust_cloud02 {
    right:2rem;
    top:24rem;
    transform:scale(-1,1);
}

.illust_wrap09 .illust_cloud01 {
    top:-9rem;
    left:-2rem;
}

.illust_wrap09 .illust_tree03 {
    bottom:4rem;
    left:0;
}

.illust_wrap10 .illust_tree01-2 {
    left:0;
    bottom:3rem;
}

.illust_wrap11 .illust_family01 {
    position:relative;
    margin:5.5rem 0 0 auto; 
}

.illust_wrap11 .illust_tree01-2 {
    right:9rem;
    top:-1rem;
}

.step_img_wrap02 .yukinyan_wrap,
.step_img_wrap03 .yukinyan_wrap {
    margin-top:0rem;
}

.step_img_wrap02 .fukidashi {
    margin-left:2rem;
}

.step_img_wrap03 .fukidashi {
    width:34rem;
    height:11.8rem;
    padding-left:1em;
    background:url(../images/store/fukidashi02-2.svg) no-repeat center / contain;
}

.flow_block03 .step_flex .illust_cloud02 {
    right:-2rem;
    top:-8rem;
}

.step_txt_wrap03 .fukidashi,
.step_txt_wrap04 .fukidashi {
    padding-right:1em;
}

.step_img_wrap03 .fukidashi {
    width:48rem;
    min-width:48rem;
    height:16.7rem;
}

/*-------------------------------
    step_contact_wrap
-------------------------------*/

.step_contact_wrap {
    margin-top:9rem;
}

.step_contact_wrap h4 {
    margin-bottom:3.5rem;
}

.contact_flex {
    border-radius:2rem;
    padding:5rem 2rem 4.5rem;
}

.contact_tel_wrap {
    padding-right:0;
    width:100%;
}

.contact_mail_wrap {
    border:none;
    padding-left:0;
    width:100%;
    max-width:100%;
}

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

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

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

.contact_mail_wrap .btn_white {
    max-width:51rem;
    margin:3rem auto 0;
}

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

/*-------------------------------
    house comment
-------------------------------*/

.house_comment {
    padding:4rem 2rem;
    margin-top:11rem;
}

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

.house_comment .illust_house02 {
    right:-3rem;
    bottom:-5.5rem;
}

/*-------------------------------
    flow_bottom
-------------------------------*/

.flow_bottom {
    padding:4rem 6rem;
    max-width:100%;
    margin: 18rem auto 0;
    position:relative;
}

.flow_bottom p {
    font-size:2.8rem;
    line-height:2;
}

.yukinyan_reflect {
    left:0;
    right:0;
    margin:0 auto;
    top:-17rem;
    transform:scale(-1,1);
    z-index: -1;
}

.yukinyan_reflect .yukinyan_handup {
    margin:0 auto;
}

/*-------------------------------
    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 */
