@charset "UTF-8";

/*--------------------------------------------------------------------
=== [共通レイアウト] ====================================
 -------------------------------------------------------------------*/
html{ scroll-behavior: smooth;}
body {
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.5;
    font-weight: 500;
    color: #333;
	font-size: min(1.067vw, 16px);
}



:root {
  --font-line-seed: 'LINE Seed JP', sans-serif;
  --font-zenmaru: 'Zen Maru Gothic', sans-serif;
}

img {
	 width: 100%;
	 }

a {
	transition: 0.3s;
	}
a:hover {
	opacity: 0.7;
	}

.inner {
	max-width: 1520px;
	margin: 0 auto;
	padding: 0 min(3.333vw, 50px);
	}

.moreBtn a {  
    font-family: var(--font-zenmaru);     
    background-color: #fff;
    width: min(17.333vw, 260px);
	height: min(4vw, 60px);
	line-height:  min(4vw, 60px);
	font-size: min(1.333vw, 20px);
	color: #333;
	border-radius: 2vw;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
    border: 1px solid #333;
    font-weight: bold;
  box-shadow: 0px 0px 5px 0px rgba(9, 2, 4, 0.75);
}
.moreBtn a:after {
	display: inline-block;
	content: "";
	background-size: cover;
	background-image: url(../img/ico_arw03.svg);
	width: min(1.2vw, 18px);
	height: min(1vw, 15px);
	margin-left: min(1vw, 15px);
}

/*header*/

header {
	display: flex;
	padding: min(3.333vw, 50px);
	align-items: center;
	justify-content: space-between;
	}

header .headLogo {
	width: min(20.000vw, 300px);
	flex-shrink: 0;
	}

header #gNav {
	display: flex;
	gap:min(3.333vw, 50px);
	}
header #gNav ul {
	display: flex;
	font-size:min(1.333vw, 20px);
	font-weight: bold;
	gap:min(3.333vw, 50px);
}
header #gNav ul li span {
	display: block;
	font-size: min(0.8vw, 12px);
	font-weight: 400;
	}

header #gNav ul li:hover {
	border-bottom: dotted 1px #333;
	}
header #gNav .contact a {
	width: min(17.333vw, 260px);
	height: min(4vw, 60px);
	line-height:  min(4vw, 60px);
	background-color: #1aa950;
	font-size: min(1.333vw, 20px);
	color: #fff;
	border-radius: 0.521vw;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	}
header #gNav .contact a:after {
	display: inline-block;
	content: "";
	background-size: cover;
	background-image: url(../img/ico_arw02.svg);
	width: min(1.333vw, 20px);
	height: min(1.333vw, 20px);
	margin-left: min(1.000vw, 15px);
}

/*footer*/

#pageTop {
    background-color: #ffdc3b;
    padding: min(5.333vw, 80px) 0;
    text-align: center;
}
#pageTop a {
    font-size: min(1.333vw, 20px);
    color:  #fff;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#pageTop a:before {
   display: inline-block;
	content: "";
	background-size: cover;
	background-image: url(../img/ico_arw04.svg);
    width: min(4.133vw, 62px);
    height: min(2.4vw, 36px);
    margin-bottom: min(1.333vw, 20px);
}

footer .footMenu ,footer .btmMenu {
    margin: 0 min(5.333vw, 80px);
}

footer .contactArea {
    background-image: url(../img/contact_bg.png);
    background-size: cover;
    height: min(25.6vw, 384px);
    display: flex;
    justify-content: center;
    align-items: center;
}
footer .contactArea dl {
    display: flex;
    justify-content: center;
    align-items: center;
}
footer .contactArea dl dt {
    font-size: min(1.333vw, 20px);
    font-family: var(--font-line-seed);
    font-weight: bold;
    display: flex;
    align-items: center;
}
footer .contactArea dl dt:after {
    content: "";
    display: inline-block;
    width: 1px;
    height: min(5.6vw, 84px);
    background-color: #333;
    margin:0 min(4vw, 60px);
}

footer .contactArea dl dd a {
	width: min(22.667vw, 340px);
	height: min(4vw, 60px);
	line-height:  min(4vw, 60px);
	background-color: #1aa950;
	font-size: min(1.333vw, 20px);
	color: #fff;
	border-radius:0.26vw;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	}
footer .contactArea dl dd a:before {
	display: inline-block;
	content: "";
	background-size: cover;
	background-image: url(../img/ico_mail.svg);
	width: min(1.933vw, 29px);
	height: min(1.933vw, 29px);
	margin-right: min(1.000vw, 15px);
}   

footer .footMenu {
    display: flex;
    padding: min(6.667vw, 100px) min(2.667vw, 40px) ;
    border-bottom: 2px solid #cccccc;
}
footer .footMenu .footLogo {
	width: min(20.000vw, 300px);
	flex-shrink: 0;
	}
footer .footMenu .address {
    margin: min(2.667vw, 40px) 0;
    font-size: min(1.333vw, 20px);
}
footer .footMenu .snsList {
    display: flex;
    align-items: center;
    gap:min(1.333vw, 20px);
}
footer .footMenu .snsList li {
    height: min(2.4vw, 36px);
}
footer .footMenu .snsList li img {
    height: 100%;
}
footer .footMenu .footNav {
    margin-left: min(10.667vw, 160px);
    font-family: var(--font-zenmaru);     
    font-weight: 900;
    font-size: min(1.467vw, 22px);
}
footer .footMenu .footNav .primary,footer .footMenu .footNav .secondary {
    display: flex;
}
footer .footMenu .footNav li {
    width: min(13.333vw, 200px);
}
footer .footMenu .footNav .primary {
    margin-bottom: min(6vw, 90px);
}

footer .footMenu .footNav span {
    display: block;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: min(1.2vw, 18px);
}
footer .btmMenu {
    padding: min(2.667vw, 40px) min(2vw, 30px);
/*    display: flex;
    justify-content: space-between;*/
	text-align: center;
}
/*footer .btmMenu ul {
    display: flex;
    gap:min(2vw, 30px);
}

footer .btmMenu ul li a:before {
    display: inline-block;
	content: "";
	background-size: cover;
	background-image: url(../img/ico_arw05.svg);
	width: min(0.467vw, 7px);
	height: min(0.8vw, 12px);
    margin-right: min(0.533vw, 8px);
}*/
footer .btmMenu .copy {
    color: #818181;
}


/*下層ページ*/

#ttlArea {
    background-size: cover;
    padding: min(4vw, 60px) 0;
	background-image:url(../img/btm_ttl_bg.png);
}
#ttlArea .inner h1 {
    height: min(5.333vw, 80px);
}
#ttlArea .inner h1 img {
    height: 100%;
    width: auto;
}
#breadcrumbs ul {
	display: flex;
	margin-top: min(0.66vw, 10px);
	flex-wrap: wrap;
	align-items: center;
	}
#breadcrumbs ul a {
	display: flex;
	align-items: center;
	}
#breadcrumbs ul a:after {
    content: '';
    background-image: url(../img/ico_arw06.svg);
    display: inline-block;
    background-size: contain;
    width: min(0.933vw, 7px);
    height: min(1.533vw, 11px);
	margin: 0 min(0.66vw, 10px);
}
#btmContWrap {
    position: relative;
}
#btmContWrap:before {
    position: absolute;
    color: #F8F8F5;
    font-family: var(--font-line-seed);
    font-size: min(19.333vw, 290px);
    font-weight: bold;
    top: min(4.4vw, 66px);
    left: min(-3.333vw, -50px);
    line-height: 1;   
    z-index: -1;
}
#contHead {
    text-align: center;
    padding: min(10vw, 150px) min(3.333vw, 50px);
    max-width: 1520px;
    margin: 0 auto;
}
#contHead h2 {
    font-size: min(3.333vw, 50px);
    font-family: var(--font-line-seed);
    font-weight: bold;   
    color: #F45C2E;
    height: auto;
}  
#contHead h2 span {
    display: block;
    font-size: min(2vw, 30px);
    font-family: var(--font-zenmaru);  
    font-weight: bold;  
    color: #333;
}
#contHead .txt {
     font-family: var(--font-zenmaru); 
    font-size: min(1.333vw, 20px);
    margin-top: min(2vw, 30px);
	line-height: 2;
}