@charset "UTF-8";
/* CSS Document */


@media print,screen and ( max-width: 720px ) {
	.sp_none {
		display: none;
	}
}

html,body{ 
	width: 100%;
	-webkit-text-size-adjust: 100%;
} 

body {
	margin: 0;
	padding: 0;
	color: #000;
	font-family: 'Noto Sans JP', Meiryo, sans-serif;
	font-weight: 500;
	font-size: 15px;
}

.zenmin { font-family: "Zen Old Mincho", serif; }
.noto { font-family: 'Noto Sans JP', Meiryo, sans-serif; }

.fleft {
	float: left;
}

.fright {
	float: right;
}

.clearfix {
	min-height: 1px;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

a {
	outline: none;
	color: #004c80;
}

a:hover {
	text-decoration: none;
}

img {
	border: none;
	margin: 0;
	padding: 0;
}

p {
	margin: 0 0 15px 0;
	padding: 0;
}

.orange{
	color: #ff6400;
}

.aligncenter {
	text-align: center;
}

.alignright {
	text-align: right;
}

.iblock {
	display: inline-block;
}

.indent1 {
	padding-left: 1em;
	text-indent: -1em;
}

.indent1 * {
	text-indent: 0;
}

#wrap {
	width: 100%;
	margin: 0;
	padding: 110px 0 0;
	-webkit-text-size-adjust: 100%;
	background-color: #eef2f5;
	overflow: clip;
	position: relative;
}
#wrap.scroll { padding: ; }
@media print,screen and ( max-width: 1155px ) {
	#wrap { padding: 50px 0 0; }
}

.bg_white{
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: #fff;
	position: relative;

}

/* --------------- header --------------- */

#header {
	width: 100%;
	margin: 0;
	padding: 0;
	transition: all .5s;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.scroll #header {
	background-color: rgba(255,255,255,0.95);
	filter: drop-shadow( 0 2px 5px rgba(0,0,0,0.1) );
	transform: translateZ(0);
}
@media print,screen and ( max-width: 1155px ) {
	#header {
		height: 50px;
		padding: 0 0 0 5px;
		background-color: #fff;
		box-sizing: border-box;
		justify-content: space-between;
	}
}
.col_header {
	width: 100%;
	max-width: 1230px;
	margin: 0 auto;
	padding: 0;
	color: #4c4c4c;
	display: flex;
	justify-content: space-between;
}
#header .logo_header {
	width: 224px;
	margin: 0;
	padding: 0 0 0 10px;
}
@media print,screen and ( min-width: 1156px ) {
	#header .logo_header { transition: width .5s; }
	.scroll #header .logo_header { width: 170px; }
}
@media print,screen and ( max-width: 1155px ) {
	#header .logo_header {
		width: calc(100% - 128px);
		max-width: 230px;
		padding: 0;
	}
}
#header .logo_header a { text-decoration: none; }
@media print,screen and ( min-width: 721px ) {
	#header .logo_header a { transition: all .5s; }
	#header .logo_header a:hover {
		opacity: 0.7;
		filter: drop-shadow( 0 0 1px #fff) drop-shadow( 0 0 2px #fff) drop-shadow( 0 0 3px #fff) drop-shadow( 0 0 4px #fff) drop-shadow( 0 0 5px #fff);
		transform: translateZ(0);
	}
}
@media print,screen and ( max-width: 1155px ) {
	#header .logo_header a {
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: space-between;
	}
}
#header .logo_header .logo {
	margin: 0 0 3px;
	padding: 0;
}
#header .logo_header .logo img { vertical-align: top; }
@media print,screen and ( max-width: 1155px ) {
	#header .logo_header .logo {
		width: 60%;
		max-width: 153px;
		margin: 0;
	}
	#header .logo_header .logo img {
		transform: translateY(-50%);
		position: relative;
		top: 46%;
	}
}
#header .logo_header .lead_headlogo {
	width: calc( 100% - 12px );
	height: 24px;
	margin: 0 auto;
	padding: 1px 0 0;
	color: #000;
	font-family: "Zen Old Mincho", serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	background-color: #ffe100;
	box-sizing: border-box;
	position: relative;
	z-index: 0;
}
#header .logo_header .lead_headlogo::before,
#header .logo_header .lead_headlogo::after {
	content: "";
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	border-top: solid 12px #ffe100;
	border-left: solid 6px rgba(255,255,255,0);
	border-right: solid 6px rgba(255,255,255,0);
	border-bottom: solid 12px #ffe100;
	display: block;
	position: absolute;
	top: 0;
}
#header .logo_header .lead_headlogo::before { left: -6px; }
#header .logo_header .lead_headlogo::after { right: -6px; }
#header .logo_header .lead_headlogo .orange { display: inline-block; }
#header .logo_header .lead_headlogo .num { font-size: 1.35em; }
@media print,screen and ( max-width: 1155px ) {
	#header .logo_header .lead_headlogo {
		width: 35.4%;
		max-width: 80px;
		height: 3em;
		margin: 0;
		padding: 0;
		font-size: 10px;
		align-self: center;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	#header .logo_header .lead_headlogo::before,
	#header .logo_header .lead_headlogo::after {
		font-size: 10px;
		border-top-width: 1.5em;
		border-bottom-width: 1.55em;
	}
}
@media print,screen and ( min-width: 1156px ) {
	.header_right{ display: none; }
}
@media print,screen and ( max-width: 1155px ) {
	
	.header_right{
		width: 120px;
		display: flex;
		justify-content: flex-end;
	}
	
	#menubtn {
		width: 50px;
		height: 50px;
		margin: 0 0 0;
		padding: 0;
		background-color: #000;
		display: block;
		position: relative;
		z-index: 0;
		cursor: pointer;
	}
	#menubtn span {
		width: 30px;
		height: 3px;
		margin: 0;
		padding: 0;
		background-color: #fff;
		display: inline-block;
		position: absolute;
		top: 14px;
		left: 10px;
		transition: all .4s;
	}

	#menubtn span:nth-child(2) {
		top: 24px;
	}

	#menubtn span:nth-child(3) {
		top: 34px;
	}

	#menubtn.active span:nth-of-type(1) {
		-webkit-transform: translateY(10px) rotate(-315deg);
		transform: translateY(10px) rotate(-315deg);
	}

	#menubtn.active span:nth-of-type(2) {
		opacity: 0;
	}

	#menubtn.active span:nth-of-type(3) {
		-webkit-transform: translateY(-10px) rotate(315deg);
		transform: translateY(-10px) rotate(315deg);
	}

	#menubtn .txt {
		width: 100%;
		margin: 0;
		padding: 0;
		color: #fff;
		font-size: 12px;
		line-height: 13px;
		text-align: center;
		position: absolute;
		left: 0;
		bottom: 4px;
	}
	
	.header_right #mail{
		width: 50px;
		height: 50px;
		margin: 0;
		padding: 0;
		background-color: #ff6400;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.header_right .img_mail { width: 51%; }
	.header_right .img_mail img { vertical-align: top; }
}

.col_navigation {
	width: calc(100% - 242px);
	padding: 15px 0;
}
.scroll .col_navigation { width: calc(100% - 200px); }

@media print,screen and ( max-width: 1155px ) {
	.col_navigation {
		width: 100%;
		height: 100vh;
		padding: 0;
		background-color: rgba(0,0,0,0.4);
		position: absolute;
		top: 100%;
		right: 0;
		display: none;
	}
	.scroll .col_navigation { width: 100%; }
}
#navigation {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
}
#navigation li {
	margin: 0;
	padding: 0;
	border: none;
}
@media print,screen and ( max-width: 1155px ) {
	#navigation {
		height: 100%;
		max-width: 360px;
		height: auto;
		max-height: calc( 100vh - 50px );
		margin: 0 0 0 auto;
		background-color: rgba(255,255,255,0.95);
		display: block;
		overflow: auto;
	}
	#navigation li {
		border-top: solid 1px #eee;
	}
}
#navigation li a {
	margin: 0;
	padding: 0.5em 0.9em;
	color: #000000;
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	position: relative;
	z-index: 0;
}
.scroll #navigation li a {
}

@media only screen and ( min-width: 1156px ) {
	#navigation li a::before {
		content: "";
		width: 0;
		height: 2px;
		margin: 0;
		padding: 0;
		background-color: #ffe100;
		transition: width .4s;
		position: absolute;
		left: 5px;
		bottom: 0.5em;
	}
	#navigation li a:hover::before {
		width: calc( 100% - 10px );
	}
}
@media print,screen and ( max-width: 1155px ) {
	#navigation li a,
	#navigation li.line2 a {
		padding: 0.8em 1em;
		font-size: 16px;
		text-align: left;
		box-sizing: border-box;
		display: block;
		position: relative;
		z-index: 0;
	}
}


/* --------------- footer --------------- */

#footerbase {
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 0;
}

#footer {
	width: 96%;
	margin: 0 auto;
	padding: 50px 0 30px;
	color: #000;
}
@media print,screen and ( max-width: 850px ) {
	#footer { padding: 30px 0; }
}
.logo_footer{
	width: 59%;
	max-width: 213px;
	margin: 0 auto 75px;
}
@media print,screen and ( max-width: 850px ) {
	.logo_footer { margin: 0 auto 30px; }
}
.wrap_footer {
	width: 100%;
	max-width: 1010px;
	margin: 0 auto 90px;
	display: flex;
	justify-content: space-between;
}
@media print,screen and ( max-width: 850px ) {
	.wrap_footer { display: none; }
}

.wrap_footer dl {
	margin: 0;
	padding: 0;
}

.wrap_footer dl dt {
	margin: 0 0 20px;
	font-size: 16px;
	font-weight: 500;
}
.wrap_footer dl dd + dt { padding-top: 18px; }

.wrap_footer dl dd {
	margin: 0 0 10px;
	font-size: 12px;
}

.wrap_footer dl a {
	color: #000;
	text-decoration: none;
	display: inline-block;
	position: relative;
	z-index: 0
}
.wrap_footer dl a::before {
	content: "";
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0;
	background-color: rgba(255,255,0,0.5);
	transition: height .4s;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}
.wrap_footer dl a:hover::before { height: 3px; }


.col_footer_address.noto{
	margin: 0 auto;
	line-height: 1.6;
}

.col_footer_address ul{
	margin: 0 0 25px;
    padding: 0;
    font-size: 13px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    list-style: none;
}

.col_footer_address ul li{
	margin: 0 13px 0 0;
    padding: 0 13px 0 0;
    border-right: solid 1px #000;
}

.col_footer_address ul li:last-child{
	margin: 0;
	padding: 0;
	border-right: none;
}

.col_footer_address ul li a{
	color: #000;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
}

.col_footer_address a {
	color: #000;
	text-decoration: none;
}


/*--------------- 資料請求 fixedアンカーバナー ---------------*/

a.anchor_fixed1 {
	width: 150px;
	height: 150px;
	margin: 0;
	padding: 0;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background: linear-gradient( 135deg, rgba(255,126,0,1), rgba(255,100,0,1) 17%, rgba(219,53,0,1) 50%, rgba(255,100,0,1) 65%, rgba(255,167,0,1) );
	background-size: 200% 200%;
	background-position: left top;
	border: solid 1px #ff6400;
	border-radius: 50%;
	filter: drop-shadow( 2px 2px 2px rgba(0,0,0,0.3) );
	transform: translateZ(0);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: fixed;
	right: 15px;
	bottom: 15px;
	z-index: 100;
}
@media only screen and ( min-width: 721px ) {
	a.anchor_fixed1 { transition: background .5s; }
	a.anchor_fixed1:hover { background-position: right bottom; }
}
@media only screen and ( max-width: 550px ) {
	a.anchor_fixed1 {
		width: 26.66vw;
		max-width: 120px;
		height: 26.66vw;
		max-height: 120px;
	}
}

a.anchor_fixed1::before {
	content: "";
	width: calc( 100% - 10px );
	height: calc( 100% - 10px );
	margin: 0;
	padding: 0;
	border: solid 2px #fff;
	border-radius: 50%;
	box-sizing: border-box;
	position: absolute;
	top: 5px;
	left: 5px;
}
@media only screen and ( max-width: 550px ) {
	a.anchor_fixed1::before {
		width: 94%;
		height: 94%;
		border-width: 1px;
		top: 3%;
		left: 3%;
	}
}

a.anchor_fixed1 img {
	width: 68.666%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}
a.anchor_fixed1 .txt {
	margin: 0;
	padding: 0 0 10%;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.18;
	position: relative;
	z-index: 0;
}
a.anchor_fixed1 .txt::before {
	content: "";
	margin: 0;
	padding: 0;
	border-top: solid 6px #fff;
	border-left: solid 6px rgba(255,255,255,0);
	border-right: solid 6px rgba(255,255,255,0);
	position: absolute;
	top: 106%;
	left: calc( 50% - 6px );
}
@media only screen and ( max-width: 550px ) {
	a.anchor_fixed1 .txt { font-size: min( 4.8vw, 22px ); }
}


/* --------------- inside page --------------- */

#wrap.ivory { background-color: #F2F1ED; }

.page_ttl {
	height: 175px;
	margin: 0;
	padding: 15px 0;
	font-size: 23px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.06em;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .5s ease-in-out;
	opacity: 1;
	position: relative;
	top: 15px;
}
.page_ttl.zenmin {
	font-size: min( 8vw, 40px );
	font-weight: 700;
}
.page_ttl.active {
	opacity: 1;
	top: 0;
}


@media print,screen and ( max-width: 720px ) {
	.page_ttl {
		height: 27vw;
		max-height: 160px;
		padding: 0.5em 0 0;
	}
}



.page_ttl2{
	margin: 0 0 50px;
	font-size: 23px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.06em;
	transition: all .5s ease-in-out;
	opacity: 1;
	position: relative;
	top: 15px;
}


/* --------------- pagination --------------- */

ul.col_pagenation {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: center;
}
ul.col_pagenation li {
	margin: 0 5px 0 0;
	padding: 0;
}
ul.col_pagenation li:last-child { margin-right: 0; }
ul.col_pagenation li a,
ul.col_pagenation li span {
	width: 2.2em;
	margin: 0;
	padding: 0.7em 0;
	color: #000;
	text-decoration: none;
	text-align: center;
	line-height: 1.4;
	border: solid 1px #000;
	display: block;
}
ul.col_pagenation li span {
	color: #fff;
	font-weight: 600;
	background-color: #000;
}
@media only screen and ( min-width: 721px ) {
	ul.col_pagenation li a { transition: background .5s; }
	ul.col_pagenation li a:hover { background-color: #e5e5e5; }
}


