@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Lato");
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
.inner, .CateList ul { width: 100%; max-width: 960px; padding: 0 20px; margin: 0 auto; }
@media (max-width: 959px) { .inner, .CateList ul { width: 85%; padding: 0; } }

.inner_ss { width: 100%; max-width: 800px; margin: 0 auto; padding: 0 20px; }
@media (max-width: 959px) { .inner_ss { max-width: 88%; padding: 0; } }

.grecaptcha-badge { visibility: hidden; }

.u-recaptcha-policy { margin-top: 1.5em; font-size: 10px; }

.u-recaptcha-policy a { margin: 0; font-size: 10px !important; }

html { margin: 0; padding: 0; }

body { position: relative; overflow-x: hidden; margin: 0; padding: 0; color: #545454; font-size: 16px; font-family: noto-sans-cjk-jp, sans-serif; }
@media (max-width: 959px) { body { padding-top: 20vw; font-size: 3.4vw; } }

*, *:before, *:after { box-sizing: border-box; }

a[href], label[for], button, input[type="button"], input[type="submit"], input[type="radio"], input[type="checkbox"], select { cursor: pointer; }

a { outline: none; text-decoration: none; -webkit-transition: all .3s; transition: all .3s; }
a:link, a:visited { color: #202020; }
a:hover { color: #202020; text-decoration: none; }
a:hover img { opacity: 0.6; -webkit-transition: all .3s; transition: all .3s; }
a:focus { outline: none; }

img { border: 0; margin: 0; padding: 0; max-width: 100%; line-height: 100%; vertical-align: bottom; }

h1, h2, h3, h4, h5 { margin: 0; padding: 0; font-size: 1em; line-height: 1.5em; font-weight: normal; }

ul, ol { margin: 0; padding: 0; clear: both; display: block; list-style-type: none; }

dl, dt, dd { margin: 0; padding: 0; overflow: hidden; }

i, em { font-style: normal; }

.column { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }

.SP { display: none; }
@media (max-width: 959px) { .SP { display: block; } }

span.SP { display: none; }
@media (max-width: 959px) { span.SP { display: inline; } }

.PC { display: block; }
@media (max-width: 959px) { .PC { display: none; } }

span.PC { display: inline; }
@media (max-width: 959px) { span.PC { display: none; } }

.bg { position: fixed; top: 0; left: 0; z-index: 10; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.1); display: none; }

.bg.on { display: block; }

#header { position: fixed; top: 0; left: 0; z-index: 100; width: 100%; transition: transform 0.5s; }

#header.js_hide { transform: translateY(-100%); }

header { z-index: 100; width: 100%; }
header nav { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 90%; max-width: 1300px; padding: 0 20px; margin: 15px auto 0 auto; background: #fff; border-radius: 9999px; }
@media (max-width: 1150px) { header nav { padding: 10px 10px; } }
@media (max-width: 959px) { header nav { width: 100%; height: 20vw; padding: 0 20vw 0 5%; margin: 0 auto; border-radius: 0; } }
header h1 { width: 260px; margin: 0 60px 0 0; }
@media (max-width: 1260px) { header h1 { margin-right: 30px; } }
@media (max-width: 1200px) { header h1 { width: 150px; } }
@media (max-width: 1150px) { header h1 { margin-right: 25px; } }
@media (max-width: 959px) { header h1 { width: 45vw; margin: 0 auto 0 0; } }
header .sp_contact { display: none; }
@media (max-width: 959px) { header .sp_contact { display: block; width: 5vw; margin-right: 4.2vw; } }
header .sp_search { display: none; }
@media (max-width: 959px) { header .sp_search { display: block; width: 4.3vw; cursor: pointer; } }
header nav > ul.Nav { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; }
@media (max-width: 959px) { header nav > ul.Nav { display: block; position: fixed; top: 20vw; right: -200%; width: 100%; height: 100vh; padding: 5vw 0 0 0; background: #fff; overflow-y: scroll; -webkit-transition: all .8s; transition: all .8s; } }
@media (max-width: 959px) { header nav > ul.Nav.active { right: 0; } }
header nav > ul.Nav > li { padding: 20px 0; }
@media (max-width: 959px) { header nav > ul.Nav > li { width: 100%; padding: 0; } }
header nav > ul.Nav > li + li { margin-left: 40px; }
@media (max-width: 1260px) { header nav > ul.Nav > li + li { margin-left: 30px; } }
@media (max-width: 1150px) { header nav > ul.Nav > li + li { margin-left: 25px; } }
@media (max-width: 959px) { header nav > ul.Nav > li + li { margin: 0; } }
header nav > ul > li > a:link, header nav > ul > li > a:visited { color: #545454; font-size: 15px; font-weight: 500; }
@media (max-width: 1200px) { header nav > ul > li > a:link, header nav > ul > li > a:visited { font-size: 14px; } }
@media (max-width: 1150px) { header nav > ul > li > a:link, header nav > ul > li > a:visited { font-size: 13px; } }
@media (max-width: 959px) { header nav > ul > li > a:link, header nav > ul > li > a:visited { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; margin: 0 7.5%; padding: 4.5vw 0; font-size: 3.5vw; border-bottom: 1px solid #D9D9D9; } }
@media (max-width: 959px) { header nav > ul > li > a:link:after, header nav > ul > li > a:visited:after { content: "＞"; margin-right: 3vw; } }
header nav > ul > li > a:link:hover, header nav > ul > li > a:visited:hover { opacity: 0.7; }
@media (max-width: 959px) { header nav > ul li.CateListBtn > a:link, header nav > ul li.CateListBtn > a:visited { pointer-events: none; } }
@media (max-width: 959px) { header nav > ul li.CateListBtn > a:link:after, header nav > ul li.CateListBtn > a:visited:after { content: "＋"; font-size: 4vw; } }
@media (max-width: 959px) { header nav > ul li.CateListBtn.active > a:after { content: "－"; font-size: 4vw; } }
header li.SearchBtn { margin-left: 60px; }
@media (max-width: 1260px) { header li.SearchBtn { margin-left: 30px; } }
@media (max-width: 1150px) { header li.SearchBtn { margin-left: 25px; } }
@media (max-width: 959px) { header li.SearchBtn { display: none; } }
header li.SearchBtn img { width: 18.45px; cursor: pointer; }
header li.SearchBtn img:hover { opacity: 0.7; }
@media (max-width: 959px) { header li.ContactBtn { display: none; } }
header li.ContactBtn a:link, header li.ContactBtn a:visited { padding: 8px 30px 8px 55px; color: #fff; font-size: 13px; font-weight: 400; border-radius: 9999px; border: 1px solid #606060; background: #606060 url(../img/index/hmail.png) no-repeat left 1.5em center/1.4em auto; }
@media (max-width: 1200px) { header li.ContactBtn a:link, header li.ContactBtn a:visited { padding: 8px 20px 8px 45px; } }
header li.ContactBtn a:link:hover, header li.ContactBtn a:visited:hover { opacity: 1; color: #606060; background: #fff url(../img/index/hmail_on.png) no-repeat left 1.5em center/1.4em auto; }
header .sub_menu { display: none; }
@media (max-width: 959px) { header .sub_menu { display: block; width: 100%; padding: 0 0 15vw 0; } }
header .sub_menu a { display: block; }
header .sub_menu a + a { margin-top: 5vw; }
header .sub_menu a img { border-radius: 2.5vw; }
header .sub_menu a.Mail { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 70%; height: 10vw; margin: 7vw auto 0 auto; border-radius: 9999px; background: #545454; }
header .sub_menu a.Mail:hover { opacity: 0.7; }
header .sub_menu a.Mail strong { color: #fff; font-size: 3.8vw; font-weight: 700; line-height: 6vw; }
header .sub_menu a.Mail img { width: 1.5em; margin-right: 1em; border-radius: 0; }
header .sub_menu a.Mail:hover img { opacity: 1; }

#Nav-Btn { display: none; }
@media (max-width: 959px) { #Nav-Btn { display: block; position: fixed; top: 5vw; right: 5%; width: 10vw; height: 10vw; z-index: 100; background: url(../img/index/ham.png) no-repeat center center/100% auto; } }

.SearchMenu { display: none; position: fixed; top: 80px; left: 0; z-index: 100; width: 100%; padding: 38px 0 60px 0; background: #F1F1F1; }
@media (max-width: 959px) { .SearchMenu { top: 20vw; padding: 7.5vw 0 11vw 0; } }
.SearchMenu form { width: 100%; max-width: 1300px; margin: 0 auto; }
.SearchMenu div { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; width: 382px; height: 47px; padding: 0 25px; margin: 0 0 0 auto; background: #fff; border-radius: 9999px; }
@media (max-width: 959px) { .SearchMenu div { width: 85%; height: 13vw; padding: 0 7vw; margin: 0 auto; } }
.SearchMenu input[type="image"] { width: 19px; margin-right: 50px; }
@media (max-width: 959px) { .SearchMenu input[type="image"] { width: 5.5vw; margin-right: 7vw; } }
.SearchMenu input[type="text"] { width: 250px; margin: 0; color: #606060; font-size: 13px; font-weight: 400; font-family: Noto Sans JP; border: none; background: #fff; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
@media (max-width: 959px) { .SearchMenu input[type="text"] { width: 60vw; font-size: 3.4vw; } }

.CateList { display: none; position: fixed; top: 65px; left: 0; z-index: 100; width: 100%; padding: 38px 0 70px 0; background: #F1F1F1; }
@media (max-width: 959px) { .CateList { position: static; top: auto; padding: 38px 0 70px 0; } }
.CateList ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; max-width: 1050px; }
@media (max-width: 959px) { .CateList ul { -webkit-flex-wrap: wrap; flex-wrap: wrap; } }
@media (max-width: 959px) { .CateList ul:after { content: ""; display: block; width: 30%; } }
.CateList ul li { width: 10%; text-align: center; }
@media (max-width: 959px) { .CateList ul li { width: 32%; } }
.CateList ul a.Ico { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 82px; height: 82px; padding: 10px; margin: 0 auto; border-radius: 50%; background: #fff; }
@media (max-width: 959px) { .CateList ul a.Ico { width: 19vw; height: 19vw; padding: 0; } }
.CateList ul a.Ico img { width: 42px; }
@media (max-width: 959px) { .CateList ul a.Ico img { width: 9vw; } }
.CateList ul a.Txt { display: inline-block; margin-top: 11px; font-size: 12px; font-weight: 500; font-family: Noto Sans JP; border-radius: 0; background: none; }
@media (max-width: 959px) { .CateList ul a.Txt { margin: 2vw 0 4vw 0; font-size: 3vw; } }
.CateList ul a.Txt:hover { opacity: 0.7; }

.Btn { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; width: 280px; height: 54px; padding: 0 30px; margin: 2em auto 0 auto; color: #fff; font-size: 15px; line-height: 100%; background: #606060; border-radius: 9999px; border: 1px solid #606060; }
@media (max-width: 959px) { .Btn { width: 75vw; height: 11vw; padding: 0 6vw; margin: 2em auto 0 auto; font-size: 3.4vw; } }
.Btn:hover { color: #606060; background: #fff; }
.Btn:after { content: "▲"; display: block; width: 1em; height: 1em; font-size: 0.8em; transform: rotate(90deg); }

.f_info { padding: 40px 0 50px 0; background: #F1F1F1; border-radius: 20px 20px 0 0; }
@media (max-width: 959px) { .f_info { padding: 12vw 0 14vw 0; border-radius: 5vw 5vw 0 0; } }
.f_info ul { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; }
@media (max-width: 959px) { .f_info ul { -webkit-flex-direction: column; flex-direction: column; } }
.f_info ul li:nth-child(1) { width: 26%; padding-right: 25px; }
@media (max-width: 959px) { .f_info ul li:nth-child(1) { width: 100%; padding: 0 0 10vw 0; } }
.f_info ul li:nth-child(2), .f_info ul li:nth-child(3) { width: 35%; padding: 25px 0 35px 0; text-align: center; background: #fff; border-radius: 20px; }
@media (max-width: 959px) { .f_info ul li:nth-child(2), .f_info ul li:nth-child(3) { width: 100%; padding: 6vw; border-radius: 5vw; } }
.f_info ul li:nth-child(3) { padding: 20px 0 23px 0; }
@media (max-width: 959px) { .f_info ul li:nth-child(3) { margin-top: 6vw; } }
.f_info h2 { color: #545454; font-size: 16px; font-weight: 500; line-height: 100%; }
@media (max-width: 959px) { .f_info h2 { font-size: 3.5vw; } }
.f_info h2 i { display: block; margin-bottom: 0.2em; font-size: 38px; line-height: 100%; font-family: Poppins; }
@media (max-width: 959px) { .f_info h2 i { margin-bottom: 0.4em; font-size: 6.8vw; } }
.f_info h2 + p { margin: 40px 0 0 0; font-size: 15px; font-weight: 500; line-height: 1.7em; }
@media (max-width: 959px) { .f_info h2 + p { margin: 7vw 0 0 0; font-size: 3.6vw; } }
.f_info img { width: 42px; }
@media (max-width: 959px) { .f_info img { width: 11.5vw; } }
.f_info em { display: block; margin: 0.45em 0 0 0; color: #545454; font-size: 20px; font-weight: 700; font-style: normal; }
@media (max-width: 959px) { .f_info em { margin: 0.45em 0 0 0; font-size: 3.2vw; } }
.f_info .Tel { display: block; margin-top: 5px; color: #545454; font-size: 28px; font-weight: 500; font-family: Poppins; }
@media (max-width: 959px) { .f_info .Tel { margin-top: 3vw; font-size: 5.5vw; } }
.f_info .Tel:hover { opacity: 0.7; }
.f_info span { color: #545454; font-size: 14px; font-weight: 500; }
@media (max-width: 959px) { .f_info span { font-size: 3.3vw; line-height: 1.8em; } }
.f_info .Btn { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; height: 40px; margin: 15px auto 10px auto; width: 227px; color: #fff; font-size: 14px; font-weight: 700; }
@media (max-width: 959px) { .f_info .Btn { height: 11vw; margin: 3vw auto 10px auto; width: 85%; font-size: 3.4vw; } }
.f_info .Btn:after { display: none; }
.f_info .Btn:hover { color: #545454; }

.SideInfo { position: fixed; right: 2.5%; bottom: 5%; width: 56px; padding-bottom: 20px; z-index: 1000; }
@media (max-width: 959px) { .SideInfo { right: 2.5%; bottom: 1%; width: 12vw; padding-bottom: 10px; } }
.SideInfo a { display: block; }
.SideInfo a + a { margin-top: 8px; }
@media (max-width: 959px) { .SideInfo a + a { margin-top: 8px; } }

footer { padding: 40px 0 80px 0; color: #fff; background: #ABABAB; }
@media (max-width: 959px) { footer { padding: 10vw 0 12vw 0; } }
footer h1 { width: 216px; margin-bottom: 8px; }
@media (max-width: 959px) { footer h1 { width: 70%; margin: 0 auto 6vw auto; } }
footer ul { display: -webkit-flex; display: flex; -webkit-box-align: start; align-items: flex-start; -webkit-justify-content: space-between; justify-content: space-between; margin-top: 20px; }
@media (max-width: 959px) { footer ul { -webkit-box-direction: reverse; flex-direction: column-reverse; margin-top: 20px; } }
footer ul li:nth-child(1) { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; padding: 18px 0 0 0; }
@media (max-width: 959px) { footer ul li:nth-child(1) { display: none; } }
footer ul li:nth-child(2) { width: 280px; }
@media (max-width: 959px) { footer ul li:nth-child(2) { width: 100%; } }
footer ul li:nth-child(2) a { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 100%; height: 60px; color: #fff; font-size: 15px; font-weight: 400; line-height: 100%; border-radius: 9999px; border: 1px solid #fff; }
@media (max-width: 959px) { footer ul li:nth-child(2) a { width: 95%; height: 12vw; margin: 0 auto; font-size: 4vw; } }
footer ul li:nth-child(2) a:hover { color: #ABABAB; background: #fff; }
footer ul li:nth-child(2) a span { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
footer ul li:nth-child(2) a img { width: 20px; margin-right: 20px; }
@media (max-width: 959px) { footer ul li:nth-child(2) a img { width: 6vw; margin-right: 10vw; } }
footer a:link, footer a:visited { color: #fff; font-size: 14px; font-weight: 400; line-height: 100%; }
@media (max-width: 959px) { footer a:link, footer a:visited { font-size: 3.4vw; } }
footer a + a { margin-left: 4.3em; }
@media (max-width: 959px) { footer a + a { margin: 1em 0 0 0; } }
footer a:hover { opacity: 0.7; }
footer p { margin: 0; font-size: 13px; font-weight: 400; }
@media (max-width: 959px) { footer p { margin: 1.8em 0 0 0; font-size: 3vw; line-height: 2em; } }

.PageTitle { position: relative; animation: fadein 4s forwards; }
@media (max-width: 959px) { .PageTitle { position: static; } }
.PageTitle div { position: absolute; top: 0; left: 0; display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; width: 100%; height: 100%; }
@media (max-width: 959px) { .PageTitle div { position: static; -webkit-flex-direction: column; flex-direction: column; } }
.PageTitle h1 { padding-left: 10%; color: #474747; font-size: 18px; font-weight: 500; }
@media (max-width: 959px) { .PageTitle h1 { width: 100%; padding: 0 0 6vw 7.5%; font-size: 3.4vw; } }
.PageTitle h1 i { display: block; margin-bottom: 12px; font-size: 46px; font-weight: 500; font-family: Poppins; }
@media (max-width: 959px) { .PageTitle h1 i { margin-bottom: 2.8vw; font-size: 7vw; } }
.PageTitle img { display: block; margin-left: auto; width: 69%; }
@media (max-width: 1150px) { .PageTitle img { width: 60%; } }
@media (max-width: 959px) { .PageTitle img { width: 100%; } }

@keyframes fadein { 0% { opacity: 0; }
  60% { opacity: 1; } }
