@charset "utf-8";

/* ===== top.css ===== */
/* -- wrapper -- */
.wrapper {
    padding-top: 0;
}


/*
	header
*/
header.bg_white {
    background: #FFF;
}
@media screen and ( max-width: 768px ) {
	header.bg_white #header_logo .sp_hide {
	    display: block!important;
	}
	header.bg_white #header_logo .pc_hide {
	    display: none!important;
	}
	header.bg_white #header_logo img {
	    padding: 24px 0 0 15px;
	    width: 210px;
	}
    header.bg_white #gnavi_btn {
        top: 23px;
        right: 15px;
        height: 25px;
    }
    header.bg_white #gnavi_btn li {
        height: 2px;
        width: 30px;
        background: #3B3B3B;
    }
    header.bg_white .open#gnavi_btn li {
        width: 30px;
        background: #fff;
    }
}


/* h2 */
h2 {
    font-weight: normal;
    margin: 0;
    padding-bottom: 0;
    border-bottom: none;
}
h2:before {
	display: none;
}


/*
	top_bg
*/
#top_bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: -10;
}
#top_bg li {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
}
#top_bg img {
	height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}
@media screen and ( max-width: 768px ) {
	#top_bg {
		max-height: 490px;
	}
}


/*
	top_visual
*/
#top_visual {
	position: relative;
    height: 100vh;
	color: #FFF;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
         -o-box-sizing: border-box;
            box-sizing: border-box;
}
#top_visual:after {
	position: absolute;
	top: 415px;
	right: 0;
	left: 0;
	margin: 0 auto;
	height: 3124px;
	background: transparent linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 67%, rgba(255, 255, 255, 0) 100%) 0% 0% no-repeat padding-box;
	z-index: 10;
	content: "";
}
@media screen and ( min-width: 2000px ) {
	#top_visual {
	    min-height: 870px;
	    max-height: 1143px;
	}
}
@media screen and ( max-width: 768px ) {
	#top_visual {
		max-height: 490px;
	}
	#top_visual:after {
		display: none;
	}
}

.top_visual_txt {
	font-size: 40px;
	font-family: "Times New Roman";
	position: absolute;
	top: 50%;
	right: 96px;
	padding-top: 38px;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
}
@media screen and ( max-width: 768px ) {
	.top_visual_txt {
		text-align: center;
		font-size: 29px;
		right: 0;
		left: 0;
		margin: 0 auto;
		padding: 0 0 68px;
	}
}

.top_visual_scroll {
	text-align: right;
	font-size: 11px;
	font-family: "Times New Roman";
	line-height: 2.1;
	letter-spacing: 2.2px;
	position: absolute;
	top: 50%;
	right: 23px;
	margin-top: 46px;
	width: 102px;
	z-index: 20;
    -webkit-transform-origin: right top;
       -moz-transform-origin: right top;
        -ms-transform-origin: right top;
         -o-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: translateY(-50%) rotate(90deg);
       -moz-transform: translateY(-50%) rotate(90deg);
        -ms-transform: translateY(-50%) rotate(90deg);
         -o-transform: translateY(-50%) rotate(90deg);
            transform: translateY(-50%) rotate(90deg);
}
.top_visual_scroll a {
	display: block;
	border-bottom: 1px solid #FFF;
}
@media screen and ( max-width: 768px ) {
	.top_visual_scroll {
		top: auto;
		bottom: -6px;
		right: 12px;
		margin-top: 0;
	    -webkit-transform: translateY(0) rotate(90deg);
	       -moz-transform: translateY(0) rotate(90deg);
	        -ms-transform: translateY(0) rotate(90deg);
	         -o-transform: translateY(0) rotate(90deg);
	            transform: translateY(0) rotate(90deg);
	}
}


/*
	btn
*/
.btn span {
	text-align: center;
	line-height: 1.4;
	color: #FFF;
	display: block;
	margin: 0 auto;
	padding: 11px 0 10px;
	width: 194px;
	min-width: auto;
	background: #3B3B3B;
	border: none;
	border-radius: 2px;
}

/* -- btn_tolist -- */
.btn_tolist {
	font-size: 13px;
	line-height: 1.15;
}
.btn_tolist a {
	display: inline-block;
	padding-bottom: 4px;
	border-bottom: 2px solid #3B3B3B;
}


/*
	box
*/
/* -- top_box_pickup -- */
#top_box_pickup {
    display: flex;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    		flex-wrap: wrap;
    position: relative;
    margin: -61px 121px 0 auto;
    max-width: 34.2%;
    z-index: 10;
}
@media screen and ( max-width: 768px ) {
	#top_box_pickup {
		color: #fff;
		display: block;
	    margin: 0;
	    padding: 6px 10px 14px;
	    max-width: 100%;
	    background: #3B3B3B;
	}
}

.top_box_pickup_tit {
	font-family: "Times New Roman";
	letter-spacing: 2.8px;
	position: relative;
	margin-right: 24px;
	padding-top: 8px;
    width: 92px;
}
.top_box_pickup_tit:after {
	position: absolute;
	top: 0;
	bottom: 3px;
	right: 0;
	margin: 0 auto;
	width: 1px;
	background: #3B3B3B;
	content: "";
}
@media screen and ( max-width: 768px ) {
	.top_box_pickup_tit {
		padding-top: 8px;
	    width: 100%;
	}
	.top_box_pickup_tit:after {
		display: none;
	}
}

.top_box_pickup_txtarea {
	font-size: 13px;
	margin-top: 3px;
    width: 50%;
    width: -webkit-calc(100% - 155px);
    width: calc(100% - 155px);
}
.top_box_pickup_txtarea a {
	display: block;
}
@media screen and ( max-width: 768px ) {
	.top_box_pickup_txtarea {
		margin-top: 21px;
	    width: 100%;
	}
}

.top_box_pickup_detail {
	line-height: 1.15;
}
.top_box_pickup_detail span {
	font-family: "Times New Roman";
	margin-right: 9px;
}

.top_box_pickup_txt01 {
	line-height: 1.6;
	margin-top: 4px;
}

#top_box_pickup .btn_tolist {
	margin-top: 9px;
	width: 39px;
}
#top_box_pickup .btn_tolist a {
	border-color: #3B3B3B;
}
@media screen and ( max-width: 768px ) {
	#top_box_pickup .btn_tolist {
		margin: 25px 8px 0 auto;
	}
	#top_box_pickup .btn_tolist a {
		border-color: #fff;
	}
}


/* -- top_box_service -- */
#top_box_service {
	position: relative;
	margin: 105px 41px 0 99px;
	background: #F5F5F2;
	z-index: 10;
}
@media screen and ( min-width: 1400px ) {
	#top_box_service {
		margin: 105px auto 0;
		padding-left: 58px;
		width: 1245px;

	}
}
@media screen and ( max-width: 768px ) {
	#top_box_service {
		margin: 0;
	}
}

.box_service_img {
	position: absolute;
	top: -144px;
	left: -60px;
	width: 52.5%;
}
@media screen and ( max-width: 768px ) {
	.box_service_img {
		position: static;
		width: 100%;
	}
}

.top_box_service_txtarea {
	margin: 0 0 0 auto;
	padding: 173px 130px 170px 0;
	width: 44.4%;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
         -o-box-sizing: border-box;
            box-sizing: border-box;
}
@media screen and ( max-width: 1080px ) {
	.top_box_service_txtarea {
		width: 50%;
	}
}
@media screen and ( max-width: 900px ) {
	.top_box_service_txtarea {
		width: 80%;
	}
}
@media screen and ( max-width: 768px ) {
	.top_box_service_txtarea {
		margin: 0;
		padding: 61px 20px 52px;
		width: 100%;
	}
}

.top_box_service_txtarea_subtit {
	font-size: 18px;
	font-family: "Times New Roman";
	line-height: 0.85;
	letter-spacing: 3.6px;
	margin-bottom: 27px;
}

.top_box_service_txtarea_tit {
	font-weight: bold;
	font-size: 30px;
	line-height: 1.25;
	margin-bottom: 21px;
}

.top_box_service_txtarea_txt {
	line-height: 2;
}


/* -- top_box_link -- */
#top_box_link {
	margin: -81px 171px 0 169px;
    background: #fff;
}
@media screen and ( max-width: 768px ) {
    #top_box_link {
        margin: 0;
        padding-bottom: 79px;
    }
}

#top_box_link li,
#top_box_link li:nth-child(2) {
	margin-right: 0;
    width: 50%;
}

.top_box_link_img {
    margin-bottom: 38px;
}

.top_box_link_tit {
    font-size: 19px;
    margin-bottom: 21px;
}

.top_box_link_txt {
    line-height: 1.95;
    margin: 0 auto 33px;
    max-width: 379px;
}

/* 20260115 下層ページへの導線追加 */
.scn-top_sub_nav {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: #fff;
    margin-top: 100px;
    z-index: 11;
}
@media screen and (max-width: 768px) {
    .scn-top_sub_nav {
        grid-template-columns: 1fr;
        padding: 40px 0;
        margin-top: 0;
    }
    .scn-top_sub_nav .btn {
        margin: 20px 0;
    }
}

/* -- top_box_topicks -- */
#top_box_topicks {
    display: flex;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    		flex-wrap: wrap;
	position: relative;
	margin-top: 109px;
	padding-bottom: 107px;
	background: #fff url(../img/top/top_box_topicks_bg.png) no-repeat;
	background-position: 0 47px;
	-webkit-background-size: cover;
	background-size: cover;
	z-index: 10;
}
@media screen and ( max-width: 768px ) {
	#top_box_topicks {
		margin-top: 0;
		padding-bottom: 80px;
		background-position: 0 0;
		-webkit-background-size: 100% auto;
		background-size: 100% auto;
	}
}

.top_box_topicks_txtarea {
	padding-top: 24px;
	width: 439px;
}
@media screen and ( max-width: 1282px ) {
	.top_box_topicks_txtarea {
		width: 100%;
	}
}
@media screen and ( max-width: 768px ) {
	.top_box_topicks_txtarea {
		padding-top: 48px;
	}
}

.top_box_topicks_txtarea_tit {
	text-align: center;
	margin-bottom: 36px;
}
.top_box_topicks_txtarea_tit h2 {
	text-align: center;
	font-size: 28px;
	line-height: 0.5;
	font-family: "Times New Roman";
	letter-spacing: 5.6px;
	display: inline-block;
	position: relative;
	padding: 28px 60px 9px 65px;
}
.top_box_topicks_txtarea_tit h2:before {
	display: block;
	position: absolute;
    top: 1px;
    bottom: -11px;
    left: 2px;
	margin: auto;
	width: 1px;
	height: auto;
	background: #3B3B3B;
	content: "";
    -webkit-transform-origin: right top;
       -moz-transform-origin: right top;
        -ms-transform-origin: right top;
         -o-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: rotate(-30deg);
       -moz-transform: rotate(-30deg);
        -ms-transform: rotate(-30deg);
         -o-transform: rotate(-30deg);
            transform: rotate(-30deg);
}
.top_box_topicks_txtarea_tit h2:after {
	position: absolute;
    top: 0;
    bottom: -11px;
    right: 0;
	margin: auto;
	width: 1px;
	background: #3B3B3B;
	content: "";
    -webkit-transform-origin: left top;
       -moz-transform-origin: left top;
        -ms-transform-origin: left top;
         -o-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: rotate(30deg);
       -moz-transform: rotate(30deg);
        -ms-transform: rotate(30deg);
         -o-transform: rotate(30deg);
            transform: rotate(30deg);
}
.top_box_topicks_txtarea_tit span {
	font-size: 11px;
	line-height: 1.35;
	letter-spacing: 2.2px;
	display: block;
	margin-bottom: 11px;
	padding-right: 3px;
}
@media screen and ( max-width: 768px ) {
	.top_box_topicks_txtarea_tit {
		margin-bottom: 32px;
	}
	.top_box_topicks_txtarea_tit h2 {
		padding: 28px 70px 9px 64px;
	}
	.top_box_topicks_txtarea_tit h2:after {
	    top: 0;
	}
	.top_box_topicks_txtarea_tit span {
		padding-right: 5px;
	}
}

.top_box_topicks_txtarea_txt {
	line-height: 2;
	margin: 0 auto 35px;
	max-width: 240px;
}
@media screen and ( max-width: 768px ) {
	.top_box_topicks_txtarea_txt {
		line-height: 2;
		margin: 0 20px 18px;
		max-width: none;
	}
}

#top_box_topicks .btn_tolist {
	margin: 0 auto;
	max-width: 240px;
}
@media screen and ( max-width: 768px ) {
	#top_box_topicks .btn_tolist {
		margin-top: 40px;
	}
}

.top_box_topicks_link {
    display: flex;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    		flex-wrap: wrap;
    width: 50%;
    width: -webkit-calc(100% - 439px);
    width: calc(100% - 439px);
}
.top_box_topicks_link li {
	width: 25%;
	background: #FFF;
}
.top_box_topicks_link a {
	display: block;
}
@media screen and ( max-width: 1282px ) {
	.top_box_topicks_link {
		margin: 30px auto 0;
	    width: 90%;
	}
}
@media screen and ( max-width: 768px ) {
	.top_box_topicks_link {
		width: 100%;
	}
	.top_box_topicks_link li {
		margin: 0;
		width: 100%;
		border-bottom: 1px solid #D8D8D8;
	}
	.top_box_topicks_link a {
	    display: flex;
	    display: -webkit-flex;
	    -webkit-flex-wrap: wrap;
	    		flex-wrap: wrap;
		padding: 24px 10px 20px;
	}
}

@media screen and ( max-width: 768px ) {
	.top_box_topicks_link_img {
		width: 96px;
	}
}

.top_box_topicks_link_txtarea {
	padding: 23px 31px 30px;
}
@media screen and ( max-width: 768px ) {
	.top_box_topicks_link_txtarea {
		padding: 0 0 0 10px;
	    width: 50%;
	    width: -webkit-calc(100% - 96px);
	    width: calc(100% - 96px);
	    -webkit-box-sizing: border-box;
	       -moz-box-sizing: border-box;
	        -ms-box-sizing: border-box;
	         -o-box-sizing: border-box;
	            box-sizing: border-box;
	}
}

.top_box_topicks_link_txtarea_detail {
	font-size: 13px;
	line-height: 1.15;
	color: #6C7B90;
	margin-bottom: 10px;
}
.top_box_topicks_link_txtarea_detail span {
	font-family: "Times New Roman";
	margin-right: 9px;
}

.top_box_topicks_link_txtarea_txt {
	line-height: 1.5;
}


/* -- box_news -- */
#box_news {
	position: relative;
	padding-top: 120px;
	background: #fff;
	z-index: 10;
}
@media screen and ( max-width: 768px ) {
	#box_news {
		margin-top: 0;
		padding: 0 0 78px;
	}
}

.box_news_tit {
	text-align: center;
	font-size: 18px;
	line-height: 0.85;
	font-family: "Times New Roman";
	letter-spacing: 3.6px;
	margin-bottom: 23px;
	padding-left: 3px;
}
@media screen and ( max-width: 768px ) {
	.box_news_tit {
		margin-bottom: 19px;
	}
}

.box_news_list {
    margin-bottom: 33px;
    max-width: 570px;
}
.box_news_list a {
    padding: 20px 0 13px;
}

.box_news_list_detail {
    color: #6C7B90;
    width: 191px;
    padding-top: 3px;
}
@media screen and ( max-width: 768px ) {
    .box_news_list_detail {
        width: 100%;
    }
}

.box_news_list_txt {
    padding-top: 0;
}

#box_news .btn_tolist {
	text-align: center;
}


/* -- box_foot_link -- */
#box_foot_link {
    display: flex;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    		flex-wrap: wrap;
	position: relative;
	padding: 125px 41px 99px;
	background: #fff;
	z-index: 10;
}
#box_foot_link li {
	width: 50%;
}
#box_foot_link a {
	display: block;
	position: relative;
}
@media screen and ( max-width: 1080px ) {
	#box_foot_link li {
		margin: 0 auto 60px;
		width: 570px;
	}
	#box_foot_link li:last-child {
		margin-bottom: 0;
	}
}
@media screen and ( max-width: 768px ) {
	#box_foot_link {
		padding: 0 0 88px;
	}
	#box_foot_link li {
		width: 100%;
	}
}

.box_foot_link_txtarea {
	position: absolute;
	top: 0;
	left: 0;
	width: 240px;
}
@media screen and ( max-width: 768px ) {
	.box_foot_link_txtarea {
		position: relative;
		margin: -59px 40px 0;
		width: auto;
	}
}

.box_foot_link_txtarea_tit {
	text-align: center;
	font-size: 18px;
	line-height: 1.75;
	padding: 66px 0 83px;
	background: #FFF;
}

#box_foot_link .btn {
	margin-top: -25px;
}

.box_foot_link_img {
	margin: 0 auto 0 118px;
}
@media screen and ( max-width: 768px ) {
	.box_foot_link_img {
		margin: 0;
	}
}