@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&Zen+Kaku+Gothic+New&family&display=swap');


* {
	box-sizing: border-box;
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-weight: 500;
}
address, em {
	font-style: normal;
}

/* 共通設定 */
.viewpc {
	display: block;
}
.viewsp,
.viewtb {
	display: none;
}

/* ---------- color  ---------- */
:root {
	--bgcolor01: #F3F3F3;
	--texcolor01: #333333;
	--texcolor02: #666666;
	--texcolor03: #BABABA;
	--bordercolor01: #A9A9A9;
	--accentcolor: #0E8BAF;
	--themecolor: #5EA3FF;
	--pointcolor: #FF411B;
}

/* ---------- reset  ---------- */
html, body {
    width: 100%;
    height: 100%;
}

html {
	font-size: 62.5%;
}

body {
	color: var(--texcolor01);
	font-size: 1.8rem;
	line-height: 1.8;
	background-color: #fff;
}

dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,input,p,blockquote,fieldset,div {
	margin: 0;
	padding: 0;
}

table,pre,code,select,option,input,textarea,kbd,var,ins,del,samp {
	font-size: 1.6rem;
}

optgroup {
	font-size: 1.6rem;
	font-weight:bold;
}

h1,h2,h3,h4,h5,h6 {
	font-weight: normal;
}
p {
	font-size: 1.6rem;
	line-height: 1.8;
	margin: 0 0 0.5em 0;
	text-align: left;
	font-weight: 500;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
ul {
	display: flex;
}
ul li {
	list-style: none;
}

table,th,td {
	margin: 0;
	padding: 0;
	border-collapse: separate;
	border-spacing: 0;
}

th,caption {
	text-align: left;
}

address,cite,dfn,em,b,strong,var,th,ins,del,samp {
	font-weight: normal;
	font-style: normal;
}

img,fieldset {
	border: none;
}
hr {
	border: solid #cdcdcd;
	border-width:1px 0 0 0;
	height:1px;
	clear: right;
}

/* Link Style */

a,a:link,a:active,a:visited {
	color: var(--texcolor01);
	text-decoration: none;
	outline: none;
}
a:focus {
	outline: none;
}
a:hover {
	color: var(--texcolor);
	text-decoration: none;
}

a img {
	border: 0;
}
a:hover img {
	filter: alpha(opacity=60);
	-moz-opacity:0.6;
	opacity:0.6;
	transition: all .3s;
}
.bg_g {
	background-color: var(--bgcolor);
}
.bg_w {
	background-color: #fff;
}
.inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}
.inner_narrow {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}
.block {
	display: block!important;
}


.top_nomargin {
	margin-top: 0!important;
}
.bottom_nomargin {
	margin-bottom: 0!important;
}
.text_strong {
	font-weight: bold;
}
.text_big {
	font-size: 2rem;
}
.text_red {
	color: var(--pointcolor);
}
.text_underline a {
	text-decoration: underline;
}
.text_underline a:hover {
	text-decoration: none;
}
.align_left {
	text-align: left!important;
}
.align_right {
	text-align: right!important;
}
.align_center {
	text-align: center!important;
}
.margintop10 {
	margin-top: 10pximportant;
}
.margintop20 {
	margin-top: 20pximportant;
}
.margintop30 {
	margin-top: 30pximportant;
}
.margintop40 {
	margin-top: 40pximportant;
}
.marginbottom0 {
	margin-bottom: 0!important;
}
.marginbottom10 {
	margin-bottom: 10px!important;
}
.marginbottom60 {
	margin-bottom: 60px!important;
}
.marginleft0 {
	margin-left: 0!important;
}
.marginleft30 {
	margin-left: 30px!important;
}
.marginleft100 {
	margin-left: 100px!important;
}
.marginright20 {
	margin-right: 20px!important;
}

.cap {
	font-size: 1.3rem;
	line-height: 1.3!important;
}


/* ---------  animation --------- */
.invisible {
 transition: opacity 0.5s ease;
 opacity: 0;
}

.visible {
 transition: opacity 0.5s ease;
 opacity: 1.0;
}

.deley01 {
 animation-delay: 0.05s;
}

.deley02 {
 animation-delay: 0.1s;
}

.deley03 {
 animation-delay: 0.15s;
}

.deley04 {
 animation-delay: 0.2s;
}

.deley05 {
 animation-delay: 0.25s;
}

.deley06 {
 animation-delay: 0.3s;
}

.deley07 {
 animation-delay: 0.35s;
}

.deley08 {
 animation-delay: 0.4s;
}

.deley09 {
 animation-delay: 0.45s;
}

.deley10 {
 animation-delay: 0.5s;
}

.deley11 {
 animation-delay: 0.55s;
}


img {
	width: 100%;
	height: auto;
}

.scroll_off {
	overflow: hidden;
}


/* ===============
header
================*/
header {
	width: 100%;
	height: 100px;
	background-color: rgba(255,255,255,0.7);
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 999;
	padding: 10px 40px;
	h1 {
		flex-basis: 50px;
		margin-right: 30px;
		padding-top: 20px;
		a {
			transition: all .3s;
		}
		img {
			width: 100%;
			height: auto;
		}
	}
	nav.hdr_menu {
		display: inline-block;
		flex-basis: auto;
		padding: 10px 20px;
		border-radius: 50px;
		display: flex;
		ul {
			display: flex;
			justify-content: flex-start;
			gap: 40px;
			align-items: center;
			li {
				font-size: 1.4rem;
				line-height: 1;
				transition: 0.3s all ease 0s;
				position: relative;
				font-weight: 500;
				white-space: nowrap;
				a {
					font-size: 1.4rem;
					line-height: 1;
					transition: 0.3s all ease 0s;
					position: relative;
					font-weight: 500;
					white-space: nowrap;
					padding: 0 10px;
					&:after {
						position: absolute;
						left: 0;
						content: '';
						width: 100%;
						height: 2px;
						background: var(--accentcolor);
						bottom: 20px; 
						opacity: 0;
						visibility: hidden;
						transition: 0.3s;
						}
					&:hover {
						&:after {
							visibility: visible;
							bottom: -5px;
							opacity: 1;
						}
					}
				}
			}
			li.disable {
				opacity: 0.5;
				padding: 0 10px;
			}
			li.has-child {
				a {
					display: block;
					z-index: 100;
					position: relative;
				}
				ul {
					position: absolute;
					z-index: 4;  
					display: block;
					align-items: flex-end;
					background-color: var(--accentcolor);
					color: #fff;
					visibility: hidden;
					opacity: 0;
					transition: all .3s;
					padding: 20px 0;
					gap: 20px;
					box-shadow: 1px 2px 2px rgba(0,0,0,0.2);
					li {
						flex-basis: auto;
					  font-size: 1.4rem;
					  line-height: 1.6;
					  white-space: nowrap;
					  margin: 0;
					  padding: 0!important;
					  text-align: center;
					  a {
					  	color: #fff;
					  	padding: 10px 0;
					  	background-color: var(--accentcolor);
					  	&:hover {
					  		background-color: rgba(255,255,255,0.3);
					  	}
					  }
					}
				}
				ul.menusub_company {
					width: 220px;
					top: 30px;
					left: -74px;
				}
				ul.menusub_company:before {
					content: "";
				  position: absolute;
				  top: -26px;
				  left: 50%;
				  margin-left: -15px;
				  border: 15px solid transparent;
				  border-bottom: 15px solid var(--accentcolor);
				}
				ul.menusub_clowder {
					width: 130px;
					top: 30px;
					left: 0px;
				}
				ul.menusub_clowder:before {
					content: "";
				  position: absolute;
				  top: -26px;
				  left: 50%;
				  margin-left: -15px;
				  border: 15px solid transparent;
				  border-bottom: 15px solid var(--accentcolor);
				}
				ul.menusub_service {
					width: 190px;
					top: 30px;
					left: -30px;
					li.sub_disable {
						padding: 5px 0!important;
						opacity: 0.6;
					}
				}
				ul.menusub_service:before {
					content: "";
				  position: absolute;
				  top: -26px;
				  left: 50%;
				  margin-left: -15px;
				  border: 15px solid transparent;
				  border-bottom: 15px solid var(--accentcolor);
				}
				&:hover > ul {
				  visibility: visible;
				  opacity: 1;
				}
			}
			li.current {
				 &:after {
						content: "";
					  position: absolute;
					  bottom: -8.5px;
					  left: 0;
					  width: 100%;
					  height: 2px;
					  background-color: var(--accentcolor);
				}
				a {
					&:after {
						visibility: hidden;
					}
				}
			}
		}
	}

	.btn_contact {
		margin-left: auto;
		width: 200px;
		font-size: 1.4rem;
		a {
			display: inline-block;
			width: 100%;
			font-size: 1.6rem;
			background: url("../images/common/icon_mail.svg") no-repeat 26px center var(--accentcolor);
			background-size: 18px;
			padding: 6px 4px 6px 20px;
			color: #fff;
			border-radius: 40px;
			text-align: center;
			transition: all .3s;
			&:hover {
				opacity: 0.7;
			}
		}
	}

}



/* ===============
main
================*/
main {
	width: 100%;
}

main img {
	width:  100%;
	height:  auto;
}



/* ===============
#topimage
================*/
#topimage {
	width: 100%;
	height: 700px;
	background: url("../images/index/topimage.png") no-repeat center 30px;
	background-size: cover;
	padding: 100px 0 40px 0;
	margin-top: 60px;
	h1 {
		width: 1200px;
		margin: 0 auto;
		font-size: 2.8rem;
		color: var(--texcolor02);
		letter-spacing: 0.3em;
		line-height: 2.5;
	}
}


/* ===============
#about_clowder
================*/
#about_clowder {
	width: 90%;
	max-width: 1200px;
	padding-top: 90px;
	margin: -40px auto 60px auto;
	h2 {
		font-size: 4rem;
		font-family: "Montserrat", sans-serif;
		color: var(--accentcolor);
		text-align: center;
		line-height: 1.4;
		margin-bottom: 40px;
		border-bottom: none;
		span {
			display: block;
			font-size: 1.4rem;
			color: var(--texcolor01);
		}
	}
	p {
		text-align: center;
		font-weight: 400;
		font-size: 1.6rem;
	}

	.about_btnarea {
		width: 100%;
		margin: 30px auto;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 30px;
		.about_btn {
			a {
				display: inline-block;
				padding: 6px 40px 6px 14px;
				background: url("../images/common/arrow_right_w.svg") no-repeat 95% center var(--accentcolor);
				background-size: 8px;
				color: #fff;
				font-size: 1.4rem;
				text-align: left;
				border-radius: 6px;
				transition: all .3s;
				&:hover {
					opacity: 0.7;
				}
			}
		}
	}
	.company_btn {
		width: 200px;
		display: block;
		margin: 0 auto;
		a {
			width: 200px;
			display: block;
			padding: 10px 40px 10px 14px;
			background: url("../images/common/arrow_right.svg") no-repeat 95% center ;
			background-size: 8px;
			color: var(--accentcolor);
			border: 1px solid var(--accentcolor);
			font-size: 1.4rem;
			text-align: left;
			border-radius: 6px;
			transition: all .3s;
			&:hover {
				background: url("../images/common/arrow_right_w.svg") no-repeat 95% center var(--accentcolor);
				background-size: 8px;
				color: #fff;
				opacity: 0.5;
			}
		}
	}
}

/* ===============
#products
================*/
#products {
	width: 100%;
	background-color: var(--bgcolor01);
	padding: 40px 0;
	.inner {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
		h2 {
			font-size: 4rem;
			font-family: "Montserrat", sans-serif;
			color: var(--accentcolor);
			text-align: center;
			line-height: 1.4;
			margin-bottom: 40px;
			border-bottom: none;
			span {
				display: block;
				font-size: 1.4rem;
				color: var(--texcolor01);
			}
		}
		p {
			font-weight: 400;
			font-size: 1.6rem;
		}
	}
	.products_btn {
		width: 170px;
		display: block;
		margin: 0 auto;
		a {
			width: 170px;
			display: block;
			padding: 6px 40px 6px 14px;
			background: url("../images/common/arrow_right_w.svg") no-repeat 95% center var(--accentcolor);
			background-size: 8px;
			color: #fff;
			font-size: 1.4rem;
			text-align: left;
			border-radius: 6px;
			transition: all .3s;
			&:hover {
				opacity: 0.7;
			}
		}
	}
}

/* ===============
#otherbusiness
================*/
#otherbusiness {
	width: 100%;
	padding: 90px 0 60px 0;
	.inner {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		.otheritem {
			flex-basis: 47%;
			width: 100%;
			display: flex;
			flex-direction: column;
			align-items: stretch;
			border: 1px solid var(--accentcolor);
			position: relative;
			h2 {
				position: absolute;
				top: -37px;
				left: -4px;
				font-size: 3.4rem;
				font-family: "Montserrat", sans-serif;
				color: var(--accentcolor);
				text-align: cleft;
				line-height: 1.4;
				margin-bottom: 0;
				border-bottom: none;
				span {
					font-size: 1.4rem;
					color: var(--texcolor01);
					margin-left: 20px;
				}
			}
			.otheritem_detail {
				padding: 30px 30px 20px 30px;
				position: relative;
				height: 410px;
			}
			p {
				font-weight: 400;
				font-size: 1.6rem;
			}
			.detail_btn {
				width: 145px;
				margin-left: auto;
				position: absolute;
				right: 30px;
				bottom: 20px;
				a {
					font-family: "Montserrat", sans-serif;
					display: inline-block;
					padding: 6px 40px 6px 14px;
					background: url("../images/common/arrow_right_w.svg") no-repeat 95% center var(--accentcolor);
					background-size: 8px;
					color: #fff;
					font-size: 1.4rem;
					text-align: left;
					border-radius: 6px;
					transition: all .3s;
					&:hover {
						opacity: 0.7;
					}
				}
			}
		}
	}
}


/* ===============
#contents_topimage
================*/
#contents_topimage {
	width: 100%;
	height: 400px;
	padding-top: 90px;
	h1 {
		width: 90%;
		max-width: 1200px;
		margin: 40px auto 0 auto;
		color: var(--texcolor02);
		font-size: 3rem;
		position: relative;
		&:after {
			position: absolute;
			content: '';
			display: block;
			width: 200px;
			height: 1px;
			background-color: var(--bordercolor01);
			left: 12%;
			top: 50%;
		}
	}
	h1.business_partner {
		&:after {
			left: 19%;
			top: 50%;
		}
	}
	h1.business_ses {
		&:after {
			left: 11%;
			top: 50%;
		}
	}
	h1.service_top {
		&:after {
			left: 19%;
			top: 50%;
		}
	}
	h1.other_privacy {
		&:after {
			left: 21%;
			top: 50%;
		}
	}
	h1.other_policy {
		&:after {
			left: 33%;
			top: 50%;
		}
	}
	h1.other_security {
		&:after {
			left: 31%;
			top: 50%;
		}
	}
	h1.other_contact {
		&:after {
			left: 16%;
			top: 50%;
		}
	}
}
.company_topimage {
	background: url("../images/contents/topimage_company.png") no-repeat center 10px;
	background-size: cover;
}
.service_topimage {
	background: url("../images/contents/topimage_service.png") no-repeat center 10px;
	background-size: cover;
}
.recruit_topimage {
	background: url("../images/contents/topimage_recruit.png") no-repeat center 50px;
	background-size: cover;
}
.other_topimage {
	background: url("../images/contents/topimage_other.png") no-repeat center 10px;
	background-size: cover;
}


/* ===============
#contents_main 
#contents_main_wide
================*/
#contents_main {
	width: 90%;
	max-width: 900px;
	margin: 40px auto;

	.basic_table {
		width: 100%;
		margin: 30px auto;
		tr {
			th {
				padding: 2px 0 30px 0;
				font-size: 1.6rem;
				font-weight: 600;
				border-top: 3px solid var(--bordercolor01);
				display: flex;
				align-items: flex-start;
				font-family: "Zen Kaku Gothic New", sans-serif;
				color: var(--texcolor02);
			}
			td {
				padding: 2px 0 30px 30px;
				font-size: 1.6rem;
				font-weight: 400;
				border-top: 1px solid var(--bordercolor01);
				font-family: "Zen Kaku Gothic New", sans-serif;
			}
		}
	}
	.contact_table {
		width: 100%;
		margin: 30px auto;
		border-bottom: 1px solid var(--bordercolor01);
		tr {
			th {
				padding: 18px 0 18px 0;
				font-size: 1.6rem;
				font-weight: 500;
				border-top: 1px solid var(--bordercolor01);
				display: flex;
				align-items: center;
				font-family: "Zen Kaku Gothic New", sans-serif;
				color: var(--texcolor01);
				.ness {
					font-size: 1.2rem;
					display: inline-block;
					background-color: var(--accentcolor);
					color: #fff;
					padding: 0 4px;
					margin-left: 6px;
					border-radius: 4px;
				}
			}
			td {
				width: 670px;
				padding: 18px 0 18px 0;
				font-size: 1.6rem;
				font-weight: 400;
				border-top: 1px solid var(--bordercolor01);
				font-family: "Zen Kaku Gothic New", sans-serif;
				.select_area {
					select {
						width: 250px;
						position: relative;
						border-radius: 4px;
						padding: 10px 15px;
						font-size: 1.6rem;
						line-height: 1.8;
						border: 1px solid var(--bordercolor01);
  						vertical-align: middle;
						color: var(--texcolor01);
					}
				}
				input.contact_txt01 {
					height: 2.4em;
			    width: 100%;
			    padding: 0 16px;
			    border-radius: 4px;
			    border: none;
			    box-shadow: 0 0 0 1px var(--bordercolor01) inset;
			    appearance: none;
			    -webkit-appearance: none;
			    -moz-appearance: none;
				}
				textarea.contact_txtarea {
					height: 8em;
			    width: 100%;
			    padding: 10px 16px;
			    border-radius: 4px;
			    border: none;
			    box-shadow: 0 0 0 1px var(--bordercolor01) inset;
			    appearance: none;
			    -webkit-appearance: none;
			    -moz-appearance: none;
				}
				label {
					font-size: 1.6rem;
					font-weight: 400;
					margin-left: 6px;
					color: var(--texcolor01);
				}
			}
		}
	}
}
.button_area {
	width: 100%;
	margin: 30px auto;
	display: flex;
	justify-content: center;
	.btn_submit {
		display: inline-block;
    width: 200px;
    padding: 8px;
    border: none;
    border-radius: 4px;
    background-color: var(--accentcolor);
    color: #fff;
    font-weight: 500;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all .3s;
    &:hover {
    	opacity: 0.7;
    }
	}
	.btn_back {
		display: inline-block;
    width: 200px;
    padding: 8px;
    border: none;
    border-radius: 4px;
    background-color: #d9d9d9;
    color: #333;
    font-weight: 500;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all .3s;
		margin-right: 20px;
    &:hover {
    	opacity: 0.7;
    }
	}
}

#contents_main_wide {
	width: 100%;
	margin: 40px auto;
	.business_contents_left {
		width: 100%;
		display: flex;
		justify-content: flex-start;
		margin-bottom: 60px;
		.business_img {
			flex-basis: 500px;
			width: 100%;
			margin-right: 40px;
			img {
				border-radius: 0 20px 20px 0;
			}
		}
		.business_txt {
			flex-basis: 700px;
			margin-right: 40px;
		}
	}
	.business_contents_right {
		width: 100%;
		display: flex;
		justify-content: flex-end;
		margin-bottom: 40px;
		.business_img {
			flex-basis: 500px;
			width: 100%;
			margin-left: 40px;
			img {
				border-radius: 20px 0px 0px 20px;
			}
		}
		.business_txt {
			flex-basis: 700px;
			margin-left: 60px;
		}
	}
}
h2 {
	color: var(--accentcolor);
	font-size: 2.2rem;
	font-weight: 500;
	border-bottom: 2px solid var(--accentcolor);
	margin-bottom: 30px;
}
h3 {
	font-size: 1.8rem;
	font-weight: 500;
	border: 1px solid var(--texcolor03);
	display: inline-block;
	padding: 2px 8px;
	margin-bottom: 10px;
}
p {
	margin-bottom: 30px;
}


#ses {
	margin-top: -100px;
	padding-top: 100px;
}
#system {
	margin-top: -100px;
	padding-top: 100px;
}
#subsidy {
	margin-top: -100px;
	padding-top: 100px;
}
#aidx {
	margin-top: -100px;
	padding-top: 100px;	
}

.link_btn {
	display: inline-block;
	a {
		font-family: "Montserrat", sans-serif;
		display: inline-block;
		padding: 6px 40px 6px 14px;
		background: url("../images/common/arrow_right_w.svg") no-repeat 95% center var(--accentcolor);
		background-size: 8px;
		color: #fff;
		font-size: 1.4rem;
		text-align: left;
		border-radius: 6px;
		transition: all .3s;
		&:hover {
			opacity: 0.7;
		}
	}
}
.bnr_partner {
	width: 90%;
	max-width: 900px;
	margin: 40px auto;
	border: 1px solid var(--accentcolor);
	padding: 20px;
	p {
		text-align: center;
		margin-bottom: 0;
	}
	.link_btn {
		width: 240px;
		margin: 20px auto 0 auto;
	}
}

.ses_contents {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto 60px auto;
	.ses_image {
		flex-basis: 45%;
	}
	.ses_text {
		flex-basis: 52%;
	}
	ul.ses_merit {
		display: block;
		margin-left: 30px;
		li {
			list-style-type: disc;
			line-height: 1.4;
			margin-bottom: 20px;
			font-size: 1.6rem;
		}
	}
}

.btn_entry {
	display: block;
	width: 350px;
	margin: 0 auto 40px auto;
	a {
		font-family: "Montserrat", sans-serif;
		display: inline-block;
		padding: 12px 40px 12px 14px;
		background: url("../images/common/arrow_right_w.svg") no-repeat 95% center var(--accentcolor);
		background-size: 8px;
		color: #fff;
		font-size: 1.6rem;
		text-align: left;
		border-radius: 6px;
		transition: all .3s;
		&:hover {
			opacity: 0.7;
		}
	}
}


.faq_contents {
	margin: 0 auto 40px auto;
	.faq_question {
		border: 1px solid var(--bordercolor01);
		padding: 4px;
		margin-bottom: 10px;
		p {
			font-size: 1.6rem;
			font-weight: 600;
			margin: 0;
			color: var(--accentcolor);
			span {
				background-color: var(--accentcolor);
				color: #fff;
				padding: 4px 10px;
				font-size: 2rem;
			}
		}
	}
	.faq_answer {
		margin-left: 40px;
	}
}

.security_contents {
	width: 100%;
	margin: 0 auto 10px auto;
	display: flex;
	align-items: flex-start;
	h3 {
		flex-basis: 40px;
		margin-right: 10px;
		text-align: center;
	}
	p {
		flex-basis: calc(100% - 50px);
	}
}

/* footer-area */

/* ================
#pagetop
================== */
#pagetop {
	display: block;
	position: fixed;
	right: 20px;
	bottom: 60px;
	width: 40px;
	height: 40px;
	background: url("../images/common/arrow_top_w.svg") no-repeat center center var(--accentcolor);
	background-size: 20px;
	z-index: 2000;
 	transition: 0.3s all ease 0s;
 	text-indent: -9999px;
 	border-radius: 6px;
 	opacity: 0.6;
 }

#pagetop:hover {
	transform: scale(1.2);
	opacity: 1;
}
#pagetop:hover a {
	display: block;
	height: 100%;
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
}

/* ===================
footer
====================== */
footer {
	width: 100%;
	background-color: var(--bgcolor01);
	padding: 40px 0 0 0;
	.inner {
		width: 90%;
		max-width: 1200px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: center;
		margin: 0 auto 20px auto;
		.ftr_logo {
			flex-basis: 83px;
			width: 100%;
			margin-right: 20px;
		}
		.ftr_sign {
			flex-basis: auto;
			h2 {
				font-size: 1.6rem;
				font-weight: 600;
				border-bottom: none;
				margin-bottom: 2px;
			}
			p {
				font-weight: 400;
				font-size: 1.4rem;
			}
		}
		.ftr_nav {
			flex-basis: 730px;
			width: 100%;
			margin-left: auto;
			display: flex;
			justify-content: space-between;
			ul {
				flex-basis: 24%;
				width: 100%;
				display: flex;
				flex-direction: column;
				li {
					font-size: 1.4rem;
					a {
						font-weight: 400;
						text-decoration: underline;
						&:hover {
							text-decoration: none;
						}
					}
				}
				.sub_disable {
					font-weight: 500;
					opacity: 0.5;
				}
			}
			.disable {
				opacity: 0.5;
			}
		}
		.ftr_link {
			flex-basis: 100%;
			border-top: 1px solid var(--bordercolor01);
			padding-top: 10px;
			margin-top: 10px;
			display: flex;
			ul {
				text-align: right;
				margin-left: auto;
				margin-top: 10px;
				display: flex;
				border-left: 1px solid var(--texcolor01);
				li {
					display: inline;
					font-size: 1.4rem;
					border-right: 1px solid var(--texcolor01);
					padding: 0 14px;
					line-height: 1;
					a {
						font-weight: 400;
						text-decoration: underline;
						&:hover {
							text-decoration: none;
						}
					}
				}
			}
		}
	}
	.ftr_copyright {
		background-color: var(--accentcolor);
		padding: 14px 0;
		p {
			text-align: center;
			font-size: 1.2rem;
			color: #fff;
			margin: 0;
		}
	}
}







