@charset "UTF-8";

/* --------------------------------------------------------------------------------
			Reset
-------------------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin:0;
	padding:0;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box !important;
}
h1, h2, h3, h4, h5, h6 {
	font-weight:normal;
	font-size:100%;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display:block;
}
ol, ul {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content:'';
	content:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
img{
	vertical-align:top;
}
/* --------------------------------------------------------------------------------
		common	
-------------------------------------------------------------------------------- */
.device_pc{
	display: none !important;
}
body{
	width: 100%;
	margin: 0 auto;
	font-size: 16px;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}
a{
	text-decoration: none;
}

.scroll-prevent {
    overflow: hidden;
    height: 100%;
}

html{
  scroll-behavior: smooth;
}



/* --------------------------------------------------------------------------------
		header	
-------------------------------------------------------------------------------- */
.fs-l-header {
    display: block;
    padding: 15px 0 0 ;
}


header{
	padding: 10px 0 0;
	width: 100%;
}

header .h_wrap{
	/* gap: 10px; */
	display: flex;
	justify-content: flex-end;
}

header .h_logo{
	width: 40%;
    margin: auto 0;
}

header .h_nav{
	display: initial ;
}

header .ham_info_pc{
	display: none;
}



header .h_nav ul{
	display: flex;
}

header .h_nav ul li{
	width: 25px;
	margin: 0 10px;
}

header .tel{
	display: none !important;
}


.h_menu .ham{
	position: absolute;
	top:35px;
	left: 10px;
    z-index: 9999;
}
.h_menu .ham .ham_toggle{
	display: block;
    width: 30px;
    height: 22px;
    position: relative;
    right: 0;
    left: 0;
}
.h_menu .ham .ham_btn,
.h_menu .ham .ham_btn:before,
.h_menu .ham .ham_btn:after{
	height: 2px;
	width: 100%;
	position: absolute;
	left: 0;
	background-color: #000;
	transition: 0.5s ease-in-out;
}
.h_menu .ham .ham_btn:before,
.h_menu .ham .ham_btn:after{
	content: "";
}
.h_menu .ham .ham_btn{top: 0;}
.h_menu .ham .ham_btn:before{top: 10px;}
.h_menu .ham .ham_btn:after{top: 20px;}
.h_menu.open .ham .ham_btn{
	top: 10px;
	transform: rotate(135deg);
}
.h_menu.open .ham .ham_btn:before,
.h_menu.open .ham .ham_btn:after{
	top: 0;
	transform: rotate(90deg);
}
.h_menu .ham_box{
	display: none;
	position: fixed;
	left: 0;
    top: 0px;
	overflow-y: scroll;
    z-index: 9998;
    width: 100%;
    height: 100%;
	background-color: #fff;
	padding: 80px 0 30vw;
}


.h_menu .ham_box .ham_nav1{
	padding: 0 1em;
	margin: 40px auto;
}
.h_menu .ham_box .ham_nav1 li{
	position: relative;
	border-bottom: solid 1px #000;
	padding: 10px 0;
}
.h_menu .ham_box .ham_nav1 li:after{
	content: "";
	position: absolute;
	right: 18px;
	top: 18px;
	width: 14px;
	height: 14px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(45deg);
}
.h_menu .ham_box .ham_nav1 li a{
	display: flex;
	align-items: center;
	color: #000;
}
.h_menu .ham_box .ham_nav1 li img{
	width: 12%;
	margin: 0 3%;
}
.h_menu .ham_box .ham_nav2{
	padding: 0 1em;
	margin: 40px auto 0;
}
.h_menu .ham_box .ham_nav2 li{
	position: relative;
	border-bottom: solid 1px #ccc;
	padding: 12px 0 12px 3%;
}
.h_menu .ham_box .ham_nav2 li:after{
	content: "";
	position: absolute;
	right: 18px;
	top: 18px;
	width: 14px;
	height: 14px;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	transform: rotate(45deg);
}
.h_menu .ham_box .ham_nav2 li a{
	display: block;
	color: #000;
}


.h_menu .ham_box .sns_list{
	display: flex;
	justify-content: center;
	margin: 60px 0;
}


.h_menu .ham_box .sns_list li{
	width: 15%;
	margin: 0 10px;
}



.h_menu .ham_box .btm_wave{
	background-color: #fff;
	
}


.h_menu .ham_box .fs-p-headerUtilityMenu ul{
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	padding: 0 1em;
	margin: 20px auto 40px;
}


.h_menu .ham_box .fs-p-headerUtilityMenu ul li{
	width: 48%;
	font-size: 18px;
	text-align: center;
	background-color: #666;
	border-radius: 5px;
}
.h_menu .ham_box .fs-p-headerUtilityMenu ul li a{
	display: block;
	color: #fff;
	padding: 10px 0;
}


.h_menu .ham_info{
	padding: 0 1em;
	margin: 40px auto;
}
.h_menu .ham_info dl{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	margin: 0 auto 20px;
}
.h_menu .ham_info dl dt{
	color: #fff;
	font-size: 18px;
	text-align: center;
	background-color: #666;
	border-radius: 5px;
	padding: 4px 15px;
	margin: 10px 15px 10px 0;
}
.h_menu .ham_info dl dd{
	color: #666;
	font-size: 30px;
	letter-spacing: 0;
	padding: 0 10px 0 0;
}
.h_menu .ham_info dl dd a{
	color: #666;
	letter-spacing: 0;
}
.h_menu .ham_info p{
	text-align: center;
}

.h_wrap .h_nav .fs-clientInfo{
	display: flex;
	margin: 0 10px;
	gap: 10px;
}
.h_wrap .h_nav .fs-clientInfo span{
	margin: initial;
}
.h_wrap .h_nav .fs-clientInfo p{
	margin-top: 5px;
	font-size: 5px;
	/* display: none; */
}


.h_wrap .h_nav .fs-clientInfo img{
	display: block;
    margin: auto;
    height: 25px;
    width: 25px;
	/* margin-left: 10px; */
}

.g_menu {
    width: 100%;
    background-color: #000;
}
.inner {
    position: relative;
    margin: 0 auto;
}
.g_menu .g_nav {
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 5px 0;
}
.g_menu .g_nav li {
	font-size: 13px;
}
.g_menu .g_nav li a {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    color: #fff;
    padding: 5px 13px;
}

/* --------------------------------------------------------------------------------
		footer	
-------------------------------------------------------------------------------- */
footer .fs-p-footerPageTop{
	position: fixed;
	right: 20px;
	bottom: 20px;
	transition: all .3s;
	opacity: 0;
	visibility: hidden;
	cursor: pointer;
}
footer .fs-p-footerPageTop.active{
	opacity: 1;
	visibility: visible;
}
footer .fs-p-footerPageTop.abs{
	position: absolute;
	top: -80px;
	bottom: auto;
}
footer .fs-p-footerPageTop__link{
	width: 60px;
	height: 60px;
	background-color: #fff;
	border: solid 1px #000;
	border-radius: 50%;
}
footer .fs-p-footerPageTop__link::before{
	color: #000;
	font-size: 2rem;
	line-height: 2.9;
}
#footer{
	width: 100%;
	background-color: #000;
	color: #fff;
	padding: 60px 1em;
}
#footer a,
#footer a:visited,
#footer a:link,
#footer a:active{
	color: #fff;
}
#footer .guide{
	margin: 0 0 50px;
}
#footer .guide .ttl{
	font-size: 20px;
	font-weight: bold;
	border-bottom: solid 1px #fff;
	padding: 0 0 10px;
	margin: 0 0 20px;
}
#footer .guide .guide_list{
	font-size: 16px;
}
#footer .guide .guide_list li{
	margin: 0 0 5px;
}
#footer .guide .guide_list li:last-child{
	margin: 0;
}
#footer .guide .guide_list li a{
	display: inline-block;
	padding: 5px 0;
}
#footer .info{
	text-align: center;
	margin: 0 0 50px;
}
#footer .info .f_logo{
	width: 50%;
	margin: 0 auto 30px;
}
#footer .info .f_logo img{
	width: 100%;
}
#footer .info .f_com{
	font-size: 16px;
	margin: 0 0 20px;
}
#footer .info .contact{
	font-size: 15px;
	line-height: 1.8;
}
#footer .f_menu{
}
#footer .f_menu .f_nav{
	font-size: 14px;
	margin: 0 0 20px;
}
#footer .f_menu .f_nav li{
	margin: 0 0 5px;
}
#footer .f_menu .f_nav li a{
	display: inline-block;
	padding: 5px 0;
}
#footer .f_menu .sns{
	display: flex;
	flex-flow: row nowrap;
	/*justify-content: space-between;*/
	margin: 0 0 50px;
}
#footer .f_menu .sns li{
	width: 18%;
	margin: 0 5px;
}
#footer .f_menu .copy{
	font-size: 12px;
	text-align: center;
}

#footer h2.heading_ttl{
    color: black;
	position: relative;
	font-size: 27px;
	font-family: "ten-mincho", serif;
	text-align: center;
	padding: 0 0 10px;
	margin: 0 0 35px;
    /* border-bottom: solid 2px rgb(0, 0, 0); */

    
}
.company_txt{
    color: black;
    /* padding: 0 30px; */
    /* width: 50%; */
}

.company_txt .btn{
	text-align: center;
    width: 70%;
    margin: 0 auto;
    position: relative;
    display: block;
    /* text-align: center; */
    background-color: #fff;
    border: solid 1px #000;
    padding: 12px 10px;

}
.company_txt .btn::before{
    width: 28px;
    height: 1px;
    right: 25px;
}

.company_txt .txt{
    font-size: 12px;
    padding: 10px 0 40px;
    line-height: 1.5em;
}

.company .img{
    /* width: 50%; */
    margin: auto;
}

.company .img img{
    width: 100%;
}

.company{
	display: initial;
    /* padding: 0 0 70px; */
    width: 1200px;
    margin: 0 auto;
}

#footer h2.heading_ttl .txt{
padding-bottom: 20px;
}

#footer h2.heading_ttl:after{
	content: "";
	width: 100px;
	height: 1px;
	position: absolute;
	left: calc(50% - 50px);
	bottom: 0;
	background-color: #000;
}



