@charset "utf-8";

/* ------------ */
/* デザイン共通 */
/* ------------ */
*{
/*	font-family:"游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;*/
	box-sizing:border-box;
}
html,body,div,span,applet,object,iframe,strong,h1,h2,h3,h4,h5,h6,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,ins,kbd,q,s,samp,small,strike,sub,sup,tt,var,fieldset,form,legend,caption,tbody,tfoot,thead,table,label,tr,th,td,p,img,figure{
	margin:0;
	padding:0;
	border:none;
}
body {
	line-height:1.75;
	color:#333;
	overflow-y:scroll;
	-webkit-text-size-adjust:100%;
}
a {
	color:#fff;
	text-decoration:none;
}
img {
	vertical-align:top;
	max-width:100%;
	height:auto;
}

/*li { list-style:none; }*/
ol,ul,dd { margin:0;padding:0; }
main h2,main section h1 { font-weight: normal; }

@media screen and (max-width:1024px) {
	html{font-size:14px;}
	h2,main section h1{font-size:24px;}
}
@media print,screen and (min-width:1025px) {
	html{font-size:16px;}
	h2,main section h1{font-size:36px;}
}

@media screen and (max-width:767px) {
	.sp_none{display:none !important;}
}
@media print,screen and (min-width:768px) {
	.pc_none{display:none !important;}
}
@media screen and (min-width:768px) and (min-width:1024px) {
	.tb_none{display:none !important;}
	.tb_disp{display:block !important;}
}

.loading_msk {
	position:fixed;
	z-index:200;
	width:100vw;
	height:100vh;
	background:#fff;
	top:0;
	right:0;
}

.loading_msk img {
	position: absolute;
	width: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}


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

header{
	line-height:0;
	width:100%;
	z-index: 100;
}
header * { line-height: 1 }
#header_logo a{ display: block; }

@media print,screen and (max-width:1024px) {
	
	body header{
		position:fixed;
		height:60px;
		background:#fff;
	}
	#header_logo{
		display: inline-block;
		padding:0.5rem 10px;
		/*padding:15px 10px 10px;*/
	}
	#header_logo img{
		width:auto;
		height:calc( 60px - 1rem );
		/*width:170px;*/
	}
	
}

@media print,screen and (min-width:1025px) {
	header{
		width:100%;
		display:-webkit-box;
		-webkit-box-pack:justify;
		display:-ms-flexbox;
		-ms-flex-pack:justify;
		display:flex;
		justify-content:space-between;
		position:fixed;
/*		background:rgba(0,0,0,0.45);*/
        background:rgba(137,189,31,1);
	}
	
	#header_logo{
		display: inline-block;
		width:calc(210px + 2rem);
		padding:1rem;
		/*padding:0;*/
		/*background:#fff;*/
	}
	
	#header_logo a { width:100%; }
	/*#header_logo a img { padding-left: 22px; }*/
	
}

/* ----------- */
/* global navi */
/* ----------- */

header nav ul li { list-style:none; }
header nav ul li a:hover { text-decoration:none; }

#sp_menu {
	position:fixed;
	top:0;
	right:0;
	z-index:20;
	width:60px;
	height:60px;
	margin:0;
	padding:17px 12px;
	cursor:pointer;
}
#sp_menu::before,
#sp_menu::after,
#sp_menu > span {
	display:block;
	content:"";
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:calc(100% - 24px);
	height:2px;
	margin:auto;
	-webkit-transition:0.15s ease-out;
	-moz-transition:0.15s ease-out;
	-ms-transition:0.15s ease-out;
	transition:0.15s ease-out;
}
#sp_menu::before { top:calc(50% - 5px); }
#sp_menu::after { bottom:calc(50% - 5px); }
#sp_menu.open_menu::before {
	top:0;
	transform:rotate(45deg);
}
#sp_menu.open_menu::after {
	bottom:0;
	transform:rotate(-45deg);
}
#sp_menu.open_menu > span { display:none; }

@media screen and (max-width:1024px) {
	
	header nav{
		position:fixed;
		top:0;
		right:-100%;
		bottom:0;
		z-index:10;
		width:100%;
		overflow-y:auto;
	}
	header nav ul{
		display:-ms-flex-box;
		display:-moz-flex;
		display:-webkit-flex;
		display:flex;
		-ms-flex-direction:column;
		-webkit-flex-direction:column;
		flex-direction:column;
		-ms-flex-pack:center;
		-webkit-justify-content:center;
		justify-content:center;
		height:100%;
		margin:0;
		padding:0 15%;
	}
	header nav ul li {
		margin-bottom:1rem;
		letter-spacing:normal;
	}
	header nav ul a{ font-weight:600; }
	header nav ul span{
		display:inline-block;
		width:50%;
		letter-spacing:normal;
		vertical-align:bottom;
	}
	header nav ul li .sub-menu {
		margin:0.5rem 0 0;
		padding:0;
	}
	header nav ul li .sub-menu li {
		margin-bottom:0.5rem;
	}
	header nav ul li .sub-menu li::before {
		display:inline-block;
		content:"＋";
		color:#fff;
	}
}
@media print,screen and (min-width:1025px) {
	#sp_menu { display:none; }
	nav{
		width:70%;
		height:45px;
		padding-top:43px;
		
	}
	
	nav > ul{
		display:-webkit-box;
		-webkit-box-pack:justify;
		display:-ms-flexbox;
		-ms-flex-pack:justify;
		display:flex;
		justify-content:space-between;
		width:95%;
		max-width:990px;
		margin:0 auto;
		padding:0;
		letter-spacing:-.40em;
		list-style:none;
	}
	nav > ul > li{
		width:20.5%;
		position:relative;
		text-align: center;
	}
	
	nav > ul > li:first-child{width:18%;}
	
	nav > ul > li > a,
	nav > ul > li > span{
		display: inline-block;
		font-weight: 500;
		text-align: center;
		letter-spacing: normal;
		text-decoration: none;
		transition: .3s;
		position: relative;
	}
	header nav > ul > li span { color: #fff; }
	header nav > ul > li span::after{
		content:"";
		display: block;
		width:100%;
		height:1px;
		background:#fff;
		position: absolute;
		bottom: -15px;
	}
	nav > ul > li > a::after {
		position: absolute;
		bottom: -15px;
		left: 50%;
		content: '';
		width: 0;
		height: 1px;
		background-color: #fff;
		transition: .3s;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	nav > ul > li > a:hover::after { width: 100%; }
	header nav ul li .sub-menu {
		display:none;
		letter-spacing:normal;
		transition: .3s;
		opacity:0;
	}
	header nav ul li .sub-menu::before {
		display:block;
		content:"";
		width:0;
		height:0;
		margin:15px auto 0;
		padding:0;
		border-bottom:#27455b 1rem solid;
		border-right:transparent 1rem solid;
		border-left:transparent 1rem solid;
		opacity:0.65;
	}
	header nav ul li .sub-menu li {
		margin:0;
		padding:0;
		border-bottom:transparent 1px solid;
	}
	header nav ul li .sub-menu li a {
		display:block;
		width:100%;
		margin:0;
		padding:0.5rem 1rem;
		line-height:1;
		text-align:left;
		background:rgba(39,69,91,0.65);
		transition: .2s;
	}
	header nav ul li .sub-menu li a:hover {
		background:rgba(39,69,91,1);
	}
	header nav ul li.menu-item-has-children:hover .sub-menu {
		display:block;
		opacity:1;
	}
}

/* ---- */
/* main */
/* ---- */
main{display: block;}
main article ul,
main article ol {
	margin:1rem;
	padding:1rem;
}
@media print,screen and (max-width:1024px) {
 	#wrapper {
 		width:100%;
 	}
}
@media print,screen and (min-width:1025px) {
	main { position: relative; }
}


/* ---- */
/* title_type1 */
/* ---- */
.title_type1{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 1.25;
}
.title_type1 .sub_text {
	font-weight: 500;
	font-size:14px;
}


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

#footer_add_area{
	position:relative;
	width:100%;
	margin:0 auto;
	padding:60px 0;
	text-align: center;
	color:#fff;
}
#footer_add_area > * {
	position:relative;
	z-index:10;
}
#footer_add_area a img { width:165px; }
#footer_add_area p{ padding-top:20px; }
#footer_nav{ text-align: center; }
#footer_nav > ul li a:hover { text-decoration:none; }

#footer_add_area .tel_link a{    font-size: inherit;
    color: #ffffff;}

@media print,screen and (max-width:1024px) {
	#footer_nav > ul{
		padding:40px 2rem 30px;
		text-align:left;
	}
	#footer_nav ul{ list-style:none; }
}

@media print,screen and (min-width:1025px) {
	#footer_nav > ul{
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content:space-around;
		justify-content:space-around;
		padding:60px 0;
	}
	#footer_nav > ul li{
		margin:0;
		padding:0;
		list-style:none;
		text-align:left;
	}
	#footer_nav > ul li ul{
		margin-top:0.5rem;
		padding-left:1.5rem;
	}
	#footer_nav > ul li ul li{
		list-style:disc;
		color:#fff;
	}
	#footer_nav > ul li a{
		position: relative;
		text-align:left;
		transition: .3s;
	}
	#footer_nav > ul li a::after {
		max-width:100%;
		position: absolute;
		bottom: 0;
		left: 50%;
		content: '';
		width: 0;
		height: 1px;
		background-color: #fff;
		transition: .3s;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	#footer_nav > ul li a:hover::after { width: 100%; }
}

/* ---------- */
/* #Copyright */
/* ---------- */
#Copyright{
	margin:0 auto;
	text-align: center;
	color: #fff;
	font-size:12px;
}


@media print,screen and (max-width:1024px) {
	#Copyright{padding-bottom:20px;}
}
@media print,screen and (min-width:1025px) {
	#Copyright{padding-bottom:40px;}
}

/* -------- */
/* #page_top */
/* -------- */
#page_top{
    position:fixed;
    bottom:10px;
    right:10px;
	z-index:10;
	display:none;
}
#page_top a{
	display:block;
	width:50px;
	height:50px;
	transition:0.3s ease-in-out;
	background:#c7b299;
	border-radius: 50%;
	position: relative;
}

#page_top a:hover{background:#707070;}

#page_top img{
	/*width:25px;*/
	width:60%;
	margin: 22% 20% 0;
	position: absolute;
	transition:0.3s ease-in-out;
	/*top:13px;
	left:12px;*/
}

/*#page_top a:hover img{top:10px;}*/
/* ---- */
/* LAST */
/* ---- */
