/* 共通 */
.font_robot{
    font-family: roboto, sans-serif;
}
.for_pc{
    display: none;
}
.for_sp{
    display: block;
}
body,
input,
textarea{
    font-family: noto-sans-cjk-jp, sans-serif;
}
textarea{
    line-height: 1.4;
}
body.sp_tgl_opn{
    position: fixed;
    width: 100%;
}

.more_link{
    position: relative;
    display: block;
    max-width: 220px;
    padding: 14px 30px 14px 20px;
    margin: auto;
    text-align: center;
    font-size: 20px;
    color: #FFF;
    background: #AE5CFF;
    text-decoration: none;
    border-radius: 45px;
}
.more_link_02{
    position: relative;
    display: block;
    max-width: 220px;
    padding: 18px 20px;
    margin: auto;
    text-align: center;
    color: #FFF;
    text-decoration: none;
    border-radius: 33px;
}
.more_link_02.col_blu{
    background: #247AFB;
}
.more_link_02.col_grn{
    background: #90C434;
}
.more_link:after,
.more_link_02:after{
    content: "";
    display: inline-block;
    position: absolute;
    width: 20px;
    height: 20px;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(../images/ico_arrow_01.png) center / contain no-repeat;
}
.more_link:after{
    right: 25px;
}
.txt_link{
    position: relative;
    text-decoration: none;
    color: #663FE8;
}
.txt_link:after{
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 3px;
    vertical-align: middle;
    background: url(../images/ico_blank.png) center / contain no-repeat;
}


.content_til{
    margin-bottom: 5px;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
}
.content_en_til{
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}
.main-contents.sub .content-inner{
	position: relative;
    overflow: hidden;
}
.main-contents.sub .content-inner:before{
	content: "";
	display: inline-block;
	position: absolute;
	width: 100%;
	height: 350px;
	top: 90px;
	background: url(/shared/images/common_bg.png) top center / auto 410px no-repeat;
	z-index: 1;
	pointer-events: none;
}
.main-contents.sub .content-inner::after{
	content: "";
	position: absolute;
	top: 135px;
	right: -80px;
	width: 100%;
	height: 657px;
	background: url(/shared/images/common_line.png) top right / contain no-repeat;
	pointer-events: none;
	z-index: 2;
}
.titlebox{
	position: relative;
	padding: 110px 0 0;
}
.titlebox:before{
	content: "";
	display: inline-block;
	position: absolute;
	width: 100%;
	height: 220px;
	left: 0;
	top: 0;
	background: url(/shared/images/common_mv.png)bottom center / auto 100% no-repeat;
}
.titlebox .titlebox_inner{
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
}
.titlebox .bread-thumb{
	display: none;
}
.titlebox .content_til{
	position: relative;
	margin-bottom: 5px;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.2;
	color: #fff;
}
.titlebox .content_sub{
	position: relative;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
.content_box{
	position: relative;
	padding-top: 70px;
    margin-bottom: 70px;
	z-index: 5;
}

/* 共通サブタイトル */
.section_title {
	color: #AD5AFF;
	font-size: 22px;
	margin: 25px 0;
	display: flex;
	align-items: center;
	gap: 20px;
}

.section_title::before {
	content:"";
	width: 20px;
	height: 2px;
	background: #AD5AFF;
}

.section_exp{
    margin-bottom: 40px;
    line-height: 2;
}

/* 共通ボックス */
.section_box {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	border: 1px solid #CFD2FF;
	border-radius: 30px;
	padding:40px 40px 55px;
	background: #FFF;
}

/* header */
.sp_tgl_opn #header-area{
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #FFF;
    transition: .3s;
    z-index: 11;
}
#header-area .header-box{
    position: fixed;
    max-width: 1400px;
    width: 95%;
    left: 0;
    right: 0;
    top: 15px;
    margin: auto;
    z-index: 1000;
}
#header-area .flx-box{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px 8px 22px;
    border-radius: 45px;
    background: #FFF;
    box-shadow: 0px 3px 20px rgba(0,0,0,0.15);
}
#header-area .flx-box .lft{
    display: flex;
    align-items: center;
    flex: 0 0 calc(70% - 50px);
    z-index: 1;
}
#header-area .flx-box .lft .main_til{
    margin-right: 32px;
}
#header-area .flx-box .lft .main_til a{
    display: block;
    max-width: 196px;
}

#header-area .flx-box .lft .access-box{
    display: none;
}
#header-area .flx-box .lft .access{
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 1;
}
#header-area .flx-box .lft .txt a{
    text-decoration: none;
}
#header-area .flx-box .lft .txt .tel{
    position: relative;
    padding-left: 15px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    color: #8600BE;
}
#header-area .flx-box .lft .txt .tel:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 15px;
    height: 17px;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    background: url(../images/ico_tel_01.png) center / contain no-repeat;
}
#header-area .flx-box .lft .txt .time{
    font-size: 14px;
    color: #8600BE;
}
#header-area .flx-box .rgt{
    display: none;
    position: fixed;
    width: 100%;
    height: calc(100% - 100px);
    top: 100px;
    left: 0;
    background: #FFF;
    overflow: auto;
}
#header-area .flx-box .rgt nav{
    width: 90%;
    margin: 0 auto;
    padding: 20px 0 100px;
}
#header-area .flx-box .rgt .menu-list .list{
    padding-bottom: 25px;
    margin-left: 25px;
}
#header-area .flx-box .rgt .menu-list .list.more_menu{
    margin-left: 0;
}
#header-area .flx-box .rgt .menu-list .list .inner_list_box{
    display: flex;
    flex-wrap: wrap;
}
#header-area .flx-box .rgt .menu-list .list .inner_list_box .inner_list{
    position: relative;
    padding: 0 0 0 25px;
    margin: 0 15px 9px 0;
    flex: 0 0 auto;
}
#header-area .flx-box .rgt .menu-list .list .inner_list_box .inner_list.sp_w100{
    flex: 0 0 100%;
}
#header-area .flx-box .rgt .menu-list .list .inner_list_box .inner_list:before{
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    left: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #D572FF;
    border-radius: 100%;
}
#header-area .flx-box .rgt .menu-list .list .inner_list_box .inner_list.ico_arrow:before{
    width: 20px;
    height: 20px;
    left: 0;
    background: url(../images/ico_arrow_02.png) center / contain no-repeat;
}
#header-area .flx-box .rgt .inner_list_box .inner_list .inner_list_link{
    text-decoration: none;
    color: #333;
}
#header-area .flx-box .rgt .list .list_link,
#header-area .flx-box .rgt .list > p{
    font-weight: bold;
    color: #333;
    text-decoration: none;
    cursor: pointer;
}
#header-area .flx-box .rgt .list .list_link{
    display: block;
    position: relative;
    margin-bottom: 13px;
}
#header-area .flx-box .rgt .list .list_link::before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 20px;
    height: 20px;
    left: -25px;
    top: 3px;
    background: url(../images/ico_arrow_02.png) center / contain no-repeat;
}
#header-area .flx-box .rgt .list.more_menu .list_link::before{
    content: none;
}
#header-area .flx-box .rgt .sp_menu_box{
    display: block;
}
#header-area .flx-box .rgt .more_contct{
    display: block;
    position: relative;
    max-width: 295px;
    padding: 20px;
    margin: 0 auto 40px;
    border-radius: 40px;
    text-align: center;
    color: #FFF;
    background: #AE5CFF;
    text-decoration: none;
}
#header-area .flx-box .rgt .more_contct:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 21px;
    height: 16px;
    top: 0;
    bottom: 0;
    left: 40px;
    margin: auto;
    background: url(../images/ico_mail.png) center / contain no-repeat;
}
#header-area .flx-box .rgt .sp_menu_box .sp_menu_box_in{
    padding: 30px 15px;
    border-top: 1px solid #DDD;
    border-bottom: 1px solid #DDD;
}

#header-area .contact-box{
    display: none;
    margin-right: 15px;
}
#header-area .contact-box a{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8px 18px 10px;
    text-decoration: none;
    background: #AD5AFF;
    color: #FFF;
    font-weight: bold;
    border-radius: 50px;
    font-size: 14px;
}
#header-area .contact-box a img{
    max-width: 22px;
    margin-bottom: 6px;
}
#header-area .sp_menu{
    flex: 0 0 50px;
    display: flex;
    align-items: center;
}
#header-area .sp_menu .hd_toggle{
    position: relative;
    display: flex;
    align-items: center;
    width: 48px;
    height: 48px;
    border-radius: 100%;
    background: #AD5AFF;
    cursor: pointer;
}
#header-area .sp_menu .hd_toggle span{
    display: block;
    width: 40%;
    height: 2px;
    margin: 0 auto;
    background: #FFF;
}
.sp_tgl_opn #header-area .sp_menu .hd_toggle span{
    background: transparent;
}
#header-area .sp_menu .hd_toggle span:before,
#header-area .sp_menu .hd_toggle span:after{
    content: "";
    display: inline-block;
    position: absolute;
    width: 40%;
    height: 2px;
    background: #FFF;
    transition: .3s;
}
#header-area .sp_menu .hd_toggle span:before{
    top: 16px;
}
#header-area .sp_menu .hd_toggle span:after{
    bottom: 16px;
}
.sp_tgl_opn #header-area .sp_menu .hd_toggle span:before{
    top: 24px;
    transform: rotate(45deg);
}
.sp_tgl_opn #header-area .sp_menu .hd_toggle span:after{
    bottom: 22px;
    transform: rotate(-45deg);
}

/* contact_area */
.contact_area{
    position: relative;
    padding: 60px 0 60px;
    background: url(../images/top_contact_bg.png) center / cover;
}
.contact_area:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 68px;
    height: 68px;
    top: -34px;
    left: 0;
    right: 0;
    margin: auto;
    background: url(../images/ico_contact_02.png) center / contain no-repeat;
    z-index: 1;
}
.contact_area .content_til{
    color: #FFF;
}
.contact_area .content_en_til{
    margin-bottom: 32px;
    font-weight: bold;
    color: rgba(255,255,255,0.5);
}
.contact_area .flex_box{
    max-width: 700px;
    width: 95%;
    margin: 0 auto;
}
.contact_area .flex_box .access{
    flex: 0 0 50%;
    margin-bottom: 20px;
}
.contact_area .flex_box .tel_link{
    position: relative;
    display: block;
    max-width: 280px;
    margin: 0 auto 10px;
    padding-left: 23px;
    font-size: 30px;
    font-weight: bold;
    color: #FFF;
    text-align: center;
}
.contact_area .flex_box a{
    text-decoration: none;
    color: #FFF;
}
.contact_area .flex_box .tel_link:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 16px;
    height: 27px;
    left: 0;
    top: 3px;
    bottom: 0;
    margin: auto;
    background: url(../images/ico_tel_02.png);
}
.contact_area .flex_box .time{
    margin-bottom: 25px;
    text-align: center;
    color: #FFF;
}
.contact_area .flex_box .more_link_contact{
    position: relative;
    display: block;
    max-width: 280px;
    margin: 0 auto;
    padding: 18px 10px 18px 30px;
    text-align: center;
    border: 2px solid #FFF;
    color: #FFF;
    border-radius: 35px;
}
.contact_area .flex_box .more_link_contact:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 24px;
    height: 19px;
    top: 0;
    bottom: 0;
    left: 25px;
    margin: auto;
    background: url(../images/ico_mail.png) center / contain no-repeat;
}
.contact_area .flex_box .exp{
    width: 90%;
    margin: 0 auto;
    color: #FFF;
    line-height: 2;
}
/* access_area */
.access_area{
    padding: 50px 0 80px;
    background: #F6F7FF;
}
.access_area .inner{
    max-width: 1180px;
    width: 90%;
    margin: 0 auto;
}
.access_area .map_box{
    position: relative;
    padding-top: 340px;
    margin-bottom: 15px;
}
.access_area .map_box iframe{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
}
.access_area .txt_box .til{
    position: relative;
    margin-bottom: 8px;
    padding-left: 10px;
    font-weight: bold;
}
.access_area .txt_box .til:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 6px;
    height: 6px;
    left: 0;
    top: 10px;
    bottom: auto;
    margin: auto;
    background: #CD57FF;
    border-radius: 100%;
}
.access_area .txt_box .detail{
    margin-bottom: 5px;
}

/* page_top */
.page_top_box{
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
}
#page_top{
    display: block;
    position: relative;
    max-width: 190px;
    border-radius: 10px 10px 0 0;
    z-index: 4;
    margin: -47px auto -1px;
    font-size: 13px;
    text-decoration: none;
    border: 1px solid #CFD2FF;
    border-bottom: 0;
    background: #fff;
    color: #333;
}
#page_top:hover{
    opacity: 1;
    color: #666;
}
#page_top span{
    display: block;
    position: relative;
    padding: 10px 30px 10px 40px;
}
#page_top span:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 15px;
    height: 15px;
    top: 0;
    bottom: 0;
    left: 18px;
    margin: auto;
    background: url(../images/ico_arrow_03.png) center / contain no-repeat;
}

/* ban_area */

.ban_area{
    position: relative;
    background: #FFF;
    border-top: 1px solid #CFD2FF;
    z-index: 1;
}
.ban_area .flex_box{
    max-width: 1200px;
    width: 90%;
    padding: 20px 0;
    margin: 0 auto;
    border-bottom: 1px solid #DDDDDD;
    text-align: center;
}
.ban_area .flex_box .list_box{
    display: flex;
    justify-content: space-between;
    max-width: 620px;
    margin: 0 auto 15px;
}
.ban_area .flex_box .right_ban a{
    display: block;
    max-width: 510px;
    width: 100%;
    margin: 0 auto;
}
.ban_area .flex_box .list{
    flex: 0 0 32%;
}

/* footer */
#footer-area{
    position: relative;
    background: #FFF;
    z-index: 1;
}
#footer-area .footer-inner{
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
    padding: 25px 0 50px;
}
#footer-area .flx-box{
    padding-bottom: 20px;
    border-bottom: 1px solid #DDDDDD;
}
#footer-area .flx-box .rgt{
    display: none;
}
#footer-area .flx-box .list{
    margin-bottom: 30px;
}
#footer-area .flx-box .list_link{
    display: block;
    margin: 10px 0;
    font-weight: bold;
    color: #333;
    text-decoration: none;
}
#footer-area .flx-box .list_link{
    position: relative;
    padding-left: 25px;
} 
#footer-area .flx-box .ico_arrow .list_link:before,
#footer-area .flx-box .ico_contact .list_link:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 20px;
    height: 20px;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}
#footer-area .flx-box .ico_arrow .list_link:before{
    background: url(../images/ico_arrow_02.png) center / contain no-repeat;
}
#footer-area .flx-box .ico_contact .list_link:before{
    background: url(../images/ico_contact_01.png) center / contain no-repeat;
}

#footer-area .flx-box .inner_list_link{
    display: block;
    margin-bottom: 5px;
    text-decoration: none;
    line-height: 2;
    color: #333;
}
#footer-area .flx-box .inner_list_link,
#footer-area .privacy,
.sp_menu_box .privacy{
    position: relative;
    padding-left: 25px;
}
#footer-area .flx-box .inner_list_link:before,
#footer-area .privacy:before,
.sp_menu_box .privacy:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 6px;
    height: 6px;
    top: 15px;
    left: 10px;
    background: #D572FF;
    border-radius: 100%;
}
#footer-area .flx-box .business .ico_arrow .inner_list_link{
    font-weight: bold;
}
#footer-area .flx-box .business .inner_list_link:before{
    left: 8px;
}
#footer-area .flx-box .inner_list.ico_arrow .inner_list_link:before{
    top: 0;
    bottom: 0;
    left: 2px;
    width: 20px;
    height: 20px;
    margin: auto;
    background: url(../images/ico_arrow_02.png) center / contain no-repeat;
}
#footer-area .main-logo,
.sp_menu_box .main-logo{
    margin-bottom: 20px;
}
#footer-area .main-logo a,
.sp_menu_box .main-logo a{
    display: block;
    max-width: 196px;
}
#footer-area .access dl,
.sp_menu_box .access dl{
    display: flex;
    margin-bottom: 3px;
    font-size: 14px;
}
#footer-area .access dl dt,
.sp_menu_box .access dl dt{
    flex: 0 0 85px;
}
#footer-area .contact_link,
.sp_menu_box .contact_link{
    font-size: 14px;
    text-decoration: none;
    color: #663FE8;
}
#footer-area .privacy,
#footer-area .copy,
.sp_menu_box .privacy,
.sp_menu_box .copy{
    font-size: 14px;
    text-align: right;
}
#footer-area .privacy,
.sp_menu_box .privacy{
    display: block;
    text-decoration: none;
    max-width: 170px;
    margin: 10px 0 5px auto;
    color: #333;
}
#footer-area .privacy:before,
.sp_menu_box .privacy:before{
    left: 15px;
}
#footer-area .privacy:before{
    top: 9px;
}


@media screen and (min-width: 768px) {
    .more_link{
        max-width: 160px;
        padding: 13px 30px 13px 20px;
        font-size: 14px;
        border-radius: 25px;
    }
    .more_link:after{
        right: 15px;
    }
    .content_til{
        font-size: 34px;
    }
    .content_en_til{
        font-size: 20px;
    }
    .content_box{
        padding-top: 120px;
        margin-bottom: 100px;
    }
	.main-contents.sub .content-inner:before{
		top: 80px;
		height: 840px;
		background-size: 100% 500px;
	}
    .main-contents.sub .content-inner::after{
		top: 102px;
		right: -130px;
	}
    .titlebox{
		padding: 90px 0 0;
	}
	.titlebox:before{
		height: 235px;
	}
	.titlebox .bread-thumb{
		display: flex;
		align-items: center;
	}
	.titlebox .bread-thumb li,
	.titlebox .bread-thumb li > a,
	.titlebox .bread-thumb li > p{
		position: relative;
		color: #fff;
	}
	.titlebox .bread-thumb li > a,
	.titlebox .bread-thumb li > p{
		margin-right: 25px;
	}
	.titlebox .bread-thumb li > a:after,
	.titlebox .bread-thumb li > p:after{
		content: "";
		display: inline-block;
		position: absolute;
		width: 7px;
		height: 7px;
		top: 0;
		right: -15px;
		bottom: 0;
		margin: auto;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		transform: rotate(-45deg);
	}
	.titlebox .content_til{
		font-size: 34px;
	}
	.titlebox .content_sub{
		font-size: 20px;
	}

    /* header */
    #header-area .flx-box .lft{
        flex: 0 0 calc(100% - 50px);
    }
	#header-area .flx-box .lft .access-box{
        display: block;
    }

	/* 共通サブタイトル */
	.section_title {
		font-size: 24px;
		margin: 45px 0 35px;
	}

	/* 共通ボックス */
	.section_box {
		padding: 80px 100px;
	}
	
    /* contact_area */
    .contact_area .flex_box{
        display: flex;
        justify-content: space-between;
    }
    .contact_area .flex_box .access{
        margin-bottom: 0;
    }
    .contact_area .flex_box .exp{
        flex: 0 0 46%;
    }
    .contact_area .flex_box .tel_link{
        max-width: 260px;
    }
    /* access_area */
    .access_area{
        padding: 50px 0 ;
    }
    .access_area .inner{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .access_area .map_box{
        flex: 0 0 65%;
        margin-bottom: 0;
    }
    .access_area .txt_box{
        flex: 0 0 30%;
    }
    #page_top{
        margin: -47px 10px -1px auto;
    }
}

@media screen and (min-width: 1200px) {
    /* 共通 */
    .for_pc{
        display: block;
    }
    .for_sp{
        display: none;
    }
	.main-contents.sub .content-inner:before{
		top: 50px;
		background-size: 100% 770px;
	}
    .main-contents.sub .content-inner::after{
		right: -182px;
	}
    .titlebox{
		padding: 130px 0 0;
	}
	.titlebox:before{
		height: 300px;
	}
    /* header */
    #header-area .header-box{
        top: 20px;
    }
    #header-area .top-box{
        display: flex;
    }
    #header-area .flx-box{
        flex: 1 1 100%;
        padding: 15px 32px;
        margin-right: 10px;
    }
    #header-area .flx-box .lft{
        flex: 0 0 60%;
    }
    #header-area .flx-box .rgt{
        display: block;
        position: relative;
        flex: 0 0 40%;
        height: auto;
        top: auto;
        background: rgba(0, 0, 0, 0);
        overflow: initial;
    }
    #header-area .flx-box .rgt nav{
        width: 100%;
        margin: 0;
        padding: 0;
    }
    #header-area .flx-box .rgt .menu-list{
        display: flex;
    }
    #header-area .flx-box .rgt .more_menu{
        position: relative;
    }
    #header-area .flx-box .rgt .menu-list .list{
        flex: 1 0 auto;
        padding: 0;
        margin: 0;
    }
    #header-area .flx-box .rgt .list .list_link{
        padding: 13px 0;
        margin: 0;
    }
    #header-area .flx-box .rgt .list .list_link:before{
        content: none;
    }
    #header-area .flx-box .rgt .menu-list .list .inner_list_box{
        position: absolute;
        display: block;
        width: 220px;
        top: 100%;
        left: calc(-100% - 44px);
        right: -100%;
        margin: auto;
        padding: 20px 25px;
        background: #FFF;
        border: 1px solid #D572FF;
        border-radius: 15px;
        box-shadow: 4px 4px 10px rgb(0 0 0 / 16%);
        opacity: 0;
        visibility: hidden;
        transition: .3s;
    }
    #header-area .flx-box .rgt .more_menu.open .inner_list_box{
        top: calc(100% + 1px);
        opacity: 1;
        visibility: visible;
    }
    #header-area .flx-box .rgt .more_menu .inner_list_box.company{
        width: 230px;
    }
    #header-area .flx-box .rgt .inner_list_box:before{
        content: "";
        display: inline-block;
        position: absolute;
        width: 22px;
        height: 12px;
        top: -11px;
        left: 0;
        right: 0;
        margin: auto;
        background: url(../images/ico_header_menu.png) center / contain no-repeat;
    }
    #header-area .flx-box .rgt .menu-list .list .inner_list_box .inner_list{
        padding: 10px 0 13px 25px;
        margin: 0;
        border-bottom: 1px solid #DDDDDD;
    }
    #header-area .flx-box .rgt .menu-list .list .inner_list_box .inner_list:last-child{
        border-bottom: 0;
    }
    #header-area .flx-box .rgt .menu-list .list .inner_list_box .inner_list:before{
        left: 8px;
    }
    #header-area .flx-box .rgt .menu-list .list .inner_list_box .inner_list.ico_arrow:before{
        width: 20px;
        height: 20px;
        left: 0;
        background: url(../images/ico_arrow_02.png) center / contain no-repeat;
    }
    
    #header-area .flx-box .rgt .sp_menu_box{
        display: none;
    }

    #header-area .sp_menu{
        display: none;
    }
    #header-area .contact-box{
        display: block;
        flex: 0 0 160px;
    }
    #header-area .contact-box a{
        padding: 16px;
        font-size: 16px;
    }
    /* ban_area */
    .ban_area .flex_box{
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-align: left;
    }
    .ban_area .flex_box .list_box{
        margin-bottom: 0;
    }
    

    /* footer */
    #footer-area .footer-inner{
        padding: 50px 0 100px;
    }
    #footer-area .flx-box{
        display: flex;
        flex-flow: row-reverse;
        justify-content: space-between;
        padding-bottom: 40px;
    }
    #footer-area .flx-box .lft{
        flex: 0 0 30%;
    }
    #footer-area .flx-box .rgt{
        display: block;
        flex: 0 0 70%;
        max-width: 705px;
    }
    #footer-area .flx-box .rgt .list_box{
        display: flex;
        justify-content: space-between;
    }
    #footer-area .flx-box .rgt .list_box .list{
        flex: 0 0 auto;
    }
    #footer-area .flx-box .list{
        margin-bottom: 0;
    }
    #footer-area .flx-box .list_link{
        margin: 0 0 10px;
    }
    
}
@media screen and (min-width: 1600px){
	.titlebox:before{
		background-size: cover;
	}
	.main-contents.sub .content-inner:before{
		background-size: 100% 800px;
	}
}