@charset "utf-8";
/* ===================================================
	Base CSS
====================================================== */
#r_home { width: 1200px; margin: 0 auto; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;}
#r_home img { max-width: 100%;}
#r_home .visual { position: relative;}
#r_home #main_img #slide { width: 1200px; height: 840px; position: relative; z-index: 1;}
#r_home #main_img .vis { height: 840px; left: 0; position: absolute; top: 0; width: 100%; z-index: 1;}
#r_home #main_img .vis.vis01 { background: url(../img/main_slide01.jpg) no-repeat center top/contain; }
#r_home #main_img .vis.vis02 { background: url(../img/main_slide02.jpg) no-repeat center top/contain; }
#r_home #main_img .vis.vis03 { background: url(../img/main_slide03.jpg) no-repeat center top/contain; }
#r_home #main_img .vis.vis04 { background: url(../img/main_slide04.jpg) no-repeat center top/contain; }
#r_home #main_img .vis.vis05 { background: url(../img/main_slide05.jpg) no-repeat center top/contain; }
#r_home #main_img .vis.vis06 { background: url(../img/main_slide06.jpg) no-repeat center top/contain; }
#main_img { position: relative; }
/* #main_img::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 0%, transparent 300px); z-index: 5;} */

#r_header { display: flex; position: absolute; left: 0; top: 0; width: 100%; background-color: #fff; z-index: 3; align-items: center;}
#r_header a { color: #181818;}
#r_header > a { margin: 0; padding: 30px 0; color: #fff; background: url(../img/bg.gif); width: 145px; text-align: center; transition: opacity 0.5s ease;}
#r_header > a:hover { text-decoration: none; opacity: .7;}
#r_header ul { display: flex; margin: 0 0 0 auto;}
#r_header ul li { margin: 0 34px 0 0;}
#r_header ul li a { position: relative; padding: 10px 0;}
#r_header ul li a::before { position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    content: '';
    display: block;
    width: 5px;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-color: #325892;
    opacity: 0;
    transition: width 0.5s, opacity 0.5s;}
#r_header ul li a::after { content: '';
    width: 0;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: width .5s;}
#r_header ul li a:hover::after { width: 100%; background-color: #181818;}
#r_header ul li a:hover {
		opacity: 1;
		text-decoration: none;
	}
	#r_header ul li a:hover::before {
		width: 8px;
		opacity: 1;
	}

#slide_logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; text-align: center; color: #fff;}
#slide_logo p { margin: 0 0 10px; font-size: 21px; letter-spacing: 4px;}
#slide_logo span { margin: 5px 0 0; display: block; font-size: 14px;}

#r_home #sec1 { margin: 30px 0 0;}
#r_home #sec2 { margin: -85px 0 0; padding: 155px 0 0;}
#r_home #sec3 { margin: -85px 0 110px; padding: 155px 0 0;}
#sec_plan { padding: 40px 0; background: url(../img/sec_plan_bg.png) no-repeat bottom left,url(../img/bg.gif);}
#sec_plan h2 { margin: 0 0 40px; letter-spacing: 7px; font-weight: normal; font-size: 35px; color: #fff; text-align: center;}
#sec_plan h2 span { display: block; margin: 0 0 10px; font-size: 18px; letter-spacing: 5px;}
#sec_plan p.getteing_ready { padding: 30px 0 50px; text-align: center; color: #fff; line-height: 1.8;}
#sec_plan >div { display: flex; width: 1020px; margin: 0 auto; justify-content: space-between;}
#sec_plan >div .r_plan { width: 300px; background-color: #fff;}
#sec_plan >div .r_plan div { padding: 30px 25px 35px; font-size: 14px; line-height: 1.5;}
#sec_plan >div .r_plan div a { display: table; margin: 20px 0 0 auto; color: #afa083; border-bottom: 1px solid #afa083;}
#sec_plan >div .r_plan div a:hover { text-decoration: none; border-bottom: none;}
#sec_plan > a { display: table; margin: 40px auto 80px; color: #fff; padding-bottom: 10px; border-bottom: 1px solid #fff;}
#sec_plan > a:hover { border-bottom: none; padding-bottom: 11px; text-decoration: none; opacity: .7;}
#sec4 { margin: -85px 0 0; padding: 155px 0 0;}
#sec5 { margin: -95px 0 0; padding: 165px 0 0;}
#sec6 { margin: -95px 0 95px; padding: 165px 0 0;}

#r_footer { padding: 90px 95px 75px; background: url(../img/bg.gif); color: #fff; line-height: 1.5;}
#r_footer a { color: #fff;  transition: opacity 0.5s ease;}
#r_footer .r_inn { display: flex; justify-content: space-between;}
#r_footer a+p { margin: 10px 0 0; font-size: 12px; opacity: .5;}
#r_flogo { width: 400px;}
#r_flogo img { width: 350px; height: auto; margin: 0 0 40px;}
#r_flogo img+p { padding: 0 0 40px;}
#r_flogo a { display: flex; padding: 32px 0; justify-content: center; align-items: center; font-size: 18px; background: rgba(255, 255, 255, 0.2); color: #fff;}
#r_flogo a span { padding: 0 0 0 25px; font-size: 9px; opacity: .2;}
#r_flogo a:hover { text-decoration: none; opacity: .7;}

#f_nav a:hover { text-decoration: none; opacity: .7;}
#f_nav a span { display: block; font-size: 9px; opacity: .2;}

#r_footer p.r_inn { margin: 40px 0 0; padding: 25px 0 0; border-top: 1px solid #626e7e; opacity: .5;}
#f_info dd p span { display: block; font-size: 9px; opacity: .2;}

#f_nav .f_stit { margin: 0 0 40px;}
#f_nav li { margin: 0 0 10px;}
#f_info dl:nth-of-type(1),
#f_info dl:nth-of-type(1) .f_stit { margin: 0 0 40px;}
#f_info dl:nth-of-type(1) dd p:nth-of-type(1) { padding: 0 0 30px;}
#f_info .tel-txt { font-size: 28px; padding: 0 0 0 22px; background: url(../img/icon_tel_w.svg)no-repeat left center; background-size: 13px 18px;}
#f_info .tel-txt+p { font-size: 13px;}