@charset "UTF-8";
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

html { font-size: 62.5%; }

body { margin: 0; padding: 0; font-family: YuGothic, "Yu Gothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; line-height: 1.8; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: #333333; font-size: 16px; font-size: 1.6rem; text-align: left; font-weight: normal; position: relative; }
@media screen and (max-width: 768px) { body { font-size: 14px; font-size: 1.4rem; } }

img { border: 0; vertical-align: bottom; max-width: 100%; height: auto; }

a { color: #333333; text-decoration: none; -moz-transition: ease-in-out 0.5s; -o-transition: ease-in-out 0.5s; -webkit-transition: ease-in-out 0.5s; transition: ease-in-out 0.5s; display: block; }
a:hover, a:focus { outline: none; }

ol, ul { list-style: none; margin: 0px; padding: 0px; }

table, tr, th, td { border-collapse: collapse; font-size: 100%; vertical-align: top; border-spacing: 0; }

input[type="text"], input[type="button"], input[type="submit"], input[type="reset"], select, textarea { -moz-appearance: none; -webkit-appearance: none; }

.wrapper { margin: 0 auto; overflow: hidden; display: block; width: 100%; max-width: 1920px; }

@media screen and (max-width: 768px) { .pc { display: none !important; } }

.sp { display: none !important; }
@media screen and (max-width: 768px) { .sp { display: block !important; } }

/*----------------------------------------------------
コンテンツ共通
----------------------------------------------------*/
.page_ttl { width: 100%; text-align: center; margin: 270px 0 200px; }
@media screen and (max-width: 768px) { .page_ttl { margin: 100px 0 60px; } }
.page_ttl .ttl { width: 335px; display: inline-block; border-top: 3px solid #019841; border-bottom: 3px solid #019841; color: #019841; font-family: "Catamaran", YuGothic, "Yu Gothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 40px; font-size: 4rem; font-weight: bold; padding: 30px 0; line-height: 1; letter-spacing: 0.1em; text-align: center; }
@media screen and (max-width: 768px) { .page_ttl .ttl { width: 280px; font-size: 32px; font-size: 3.2rem; padding: 25px 0; } }
.page_ttl .ttl span { display: block; font-size: 18px; font-size: 1.8rem; padding-top: 10px; letter-spacing: normal; }
@media screen and (max-width: 768px) { .page_ttl .ttl span { font-size: 16px; font-size: 1.6rem; } }

.main_ttl { font-size: 35px; font-size: 3.5rem; font-weight: bold; margin-bottom: 70px; position: relative; }
@media screen and (max-width: 768px) { .main_ttl { font-size: 22px; font-size: 2.2rem; margin-bottom: 50px; } }
.main_ttl:before { content: ''; position: absolute; bottom: -30px; left: 0; width: 69px; height: 8px; background: url("../img/common/dot.png") repeat-x; }
@media screen and (max-width: 768px) { .main_ttl:before { bottom: -20px; } }

.link { width: 100%; overflow: hidden; }
.link a { width: 250px; line-height: 60px; border: 2px solid #019841; color: #019841; font-family: "Catamaran", YuGothic, "Yu Gothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 20px; font-size: 2rem; font-weight: bold; text-align: center; float: right; }
.link a:hover { color: #ffffff; background: #019841; }

#pageTop { position: fixed; bottom: 20px; right: 20px; }
@media screen and (max-width: 768px) { #pageTop { bottom: 10px; right: 10px; } }
#pageTop a { width: 60px; line-height: 20px; padding: 10px 0; border: 1px solid #019841; text-align: center; background: #019841; color: #ffffff; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; font-family: "Catamaran", YuGothic, "Yu Gothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-weight: bold; }
#pageTop a:hover { background: #ffffff; color: #019841; }

/*----------------------------------------------------
header
----------------------------------------------------*/
header { width: 100%; padding: 15px 0; position: fixed; background: #ffffff; z-index: 9999; top: 0; left: 0; -moz-box-shadow: 0px -3px 8px 3px #5e5e5e; -webkit-box-shadow: 0px -3px 8px 3px #5e5e5e; box-shadow: 0px -3px 8px 3px #5e5e5e; }
@media screen and (max-width: 1000px) { header { padding: 0; } }
header .h_inner { width: 100%; position: relative; }
@media screen and (max-width: 1000px) { header .h_inner { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; padding: 0; } }
header .h_inner .sp_logo { display: none; width: 85px; padding-left: 10px; }
@media screen and (max-width: 1000px) { header .h_inner .sp_logo { display: block; } }
header .h_inner .sp_logo a:hover { opacity: 0.6; }
header .h_inner .menu { width: 100%; position: relative; }
@media screen and (max-width: 1000px) { header .h_inner .menu { width: 300px; height: 100vh; background: #019841; padding-top: 70px; position: absolute; top: 0; right: 0; opacity: 0; visibility: hidden; -moz-transition: ease-in-out 0.3s; -o-transition: ease-in-out 0.3s; -webkit-transition: ease-in-out 0.3s; transition: ease-in-out 0.3s; } }
header .h_inner .menu.active { opacity: 1; visibility: visible; }
header .h_inner .menu div { width: 100%; max-width: 1020px; margin: 0 auto 0px; padding: 0 10px; }
@media screen and (max-width: 1300px) { header .h_inner .menu div { width: 100%; margin: 0 auto 0px; padding: 0 10px; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; } }
@media screen and (max-width: 1000px) { header .h_inner .menu div { display: block; } }
header .h_inner .menu div .logo { width: 130px; position: absolute; top: 50%; left: 50px; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); line-height: 1; }
@media screen and (max-width: 1300px) { header .h_inner .menu div .logo { position: static; -moz-transform: translateY(0); -ms-transform: translateY(0); -webkit-transform: translateY(0); transform: translateY(0); margin-right: 40px; } }
@media screen and (max-width: 1000px) { header .h_inner .menu div .logo { width: 100px; margin: 0 0 20px 15px; } }
header .h_inner .menu div .logo a:hover { opacity: 0.6; }
header .h_inner .menu div nav { width: 100%; }
header .h_inner .menu div nav ul { width: 100%; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
@media screen and (max-width: 1300px) { header .h_inner .menu div nav ul { -webkit-justify-content: flex-end; justify-content: flex-end; } }
@media screen and (max-width: 1000px) { header .h_inner .menu div nav ul { display: block; margin-left: 15px; } }
header .h_inner .menu div nav ul li { margin: 0 40px; position: relative; }
@media screen and (max-width: 1300px) { header .h_inner .menu div nav ul li { margin: 0 30px; } }
@media screen and (max-width: 1000px) { header .h_inner .menu div nav ul li { width: 100%; margin: 0 auto 15px; } }
header .h_inner .menu div nav ul li a { padding: 10px; font-family: "Catamaran", YuGothic, "Yu Gothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 20px; font-size: 2rem; font-weight: bold; text-align: center; line-height: 1; position: relative; }
@media screen and (max-width: 1300px) { header .h_inner .menu div nav ul li a { font-size: 16px; font-size: 1.6rem; } }
@media screen and (max-width: 1000px) { header .h_inner .menu div nav ul li a { padding-left: 20px; text-align: left; color: #ffffff; } }
header .h_inner .menu div nav ul li a:hover { color: #019841; }
@media screen and (max-width: 1000px) { header .h_inner .menu div nav ul li a:hover { color: #ffffff; } }
header .h_inner .menu div nav ul li a:hover:before { width: 15px; }
@media screen and (max-width: 1000px) { header .h_inner .menu div nav ul li a:before { content: ''; position: absolute; top: 17px; left: 0; width: 0; height: 1px; background: #ffffff; -moz-transition: ease-in-out 0.3s; -o-transition: ease-in-out 0.3s; -webkit-transition: ease-in-out 0.3s; transition: ease-in-out 0.3s; } }
header .h_inner .menu div nav ul li a span { display: block; font-size: 14px; font-size: 1.4rem; padding-top: 10px; }
@media screen and (max-width: 1300px) { header .h_inner .menu div nav ul li a span { font-size: 12px; font-size: 1.2rem; padding-top: 5px; } }
header .h_inner .btn { display: none; width: 50px; height: 50px; background: #019841; position: relative; }
@media screen and (max-width: 1000px) { header .h_inner .btn { display: block; } }
header .h_inner .btn:hover { cursor: pointer; }
header .h_inner .btn:hover p { width: 35px; }
header .h_inner .btn.active:hover p span { margin-bottom: 5px; }
header .h_inner .btn.active p { display: block; width: 7px; }
header .h_inner .btn.active p span { margin-bottom: 3px; }
header .h_inner .btn.active p span:last-child { margin-bottom: 0; }
header .h_inner .btn p { width: 30px; position: absolute; top: 50%; left: 50%; -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; -moz-transition: ease-in-out 0.3s; -o-transition: ease-in-out 0.3s; -webkit-transition: ease-in-out 0.3s; transition: ease-in-out 0.3s; text-align: center; margin: 0 auto; }
header .h_inner .btn p span { display: block; width: 7px; height: 7px; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; background: #ffffff; -moz-transition: ease-in-out 0.2s; -o-transition: ease-in-out 0.2s; -webkit-transition: ease-in-out 0.2s; transition: ease-in-out 0.2s; }

/*----------------------------------------------------
map
----------------------------------------------------*/
#map { width: 100%; padding-top: 60px; border-top: 2px solid #019841; margin-bottom: 70px; }
#map iframe { width: 100%; }

/*----------------------------------------------------
footer
----------------------------------------------------*/
footer { width: 100%; }
footer .f_inner { width: 100%; max-width: 1020px; margin: 0 auto 60px; padding: 0 10px; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
@media screen and (max-width: 768px) { footer .f_inner { display: block; margin-bottom: 40px; } }
footer .f_inner .contact { width: 40%; }
@media screen and (max-width: 768px) { footer .f_inner .contact { width: 100%; margin-bottom: 50px; } }
footer .f_inner .contact .txt { margin-bottom: 30px; font-weight: bold; }
footer .f_inner .contact .tel { font-weight: bold; }
footer .f_inner .contact .tel span { display: block; color: #019841; font-size: 20px; font-size: 2rem; }
footer .f_inner .contact .tel span i { padding-right: 10px; }
footer .f_inner .menu { width: 55%; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
@media screen and (max-width: 768px) { footer .f_inner .menu { width: 100%; } }
footer .f_inner .menu ul { width: 48%; }
footer .f_inner .menu ul li { margin-bottom: 15px; }
footer .f_inner .menu ul li:last-child { margin-bottom: 0; }
footer .f_inner .menu ul li a { display: inline-block; line-height: 1.2; padding-left: 5px; border-left: 2px solid #019841; font-weight: bold; }
footer .f_inner .menu ul li a:hover { color: #019841; }
footer .f_inner .menu ul li ul { width: 100%; }
footer .f_inner .menu ul li ul li { margin-bottom: 0; width: 100%; }
footer .f_inner .menu ul li ul li a { width: 100%; line-height: 1.8; padding-left: 15px; border: none; font-weight: normal; position: relative; }
footer .f_inner .menu ul li ul li a:before { content: '\f054'; font-family: 'Font Awesome 5 Free'; position: absolute; font-weight: 900; top: 50%; left: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); color: #019841; }
footer small { display: block; text-align: center; color: #ffffff; background: #019841; padding: 10px; font-size: 14px; font-size: 1.4rem; }

/*# sourceMappingURL=common.css.map */
