@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;400;500;700&display=swap");
.inner, .PageTitle h1 { width: 100%; max-width: 1040px; padding: 0 20px; margin: 0 auto; }
@media (max-width: 959px) { .inner, .PageTitle h1 { max-width: 88%; padding: 0; } }

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

.inner_s { width: 100%; max-width: 970px; margin: 0 auto; padding: 0 20px; }
@media (max-width: 959px) { .inner_s { max-width: 88%; 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; } }

html { height: 100%; overflow-x: hidden; overflow-y: scroll; scroll-padding-top: 80px; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
html.active { overflow: hidden; }

body { position: relative; margin: 80px 0 0 0; padding: 0 0 0 0; color: #060001; font-size: 16px; text-align: left; line-height: 1.5em; font-weight: 400; font-style: normal; letter-spacing: 1px; font-family: "Zen Kaku Gothic New", sans-serif; background: #fff; overflow: hidden; }
@media (max-width: 959px) { body { margin: 20vw 0 0 0; font-size: 3.5vw; line-height: 1.7em; } }
body.active:before { position: absolute; top: 0; left: 0; z-index: 100; content: ""; display: block; width: 100%; height: 100%; }

*, *: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: #060001; }
a:hover { color: #060001; 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 { font-style: normal; }

p { margin: 0; }
p + p { margin-top: 1.5em; }
p + ul { margin-top: 1.5em; }
p.center { text-align: center; }
p.right { text-align: right; }

.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; } }

.wrap { animation: fadein 2s forwards; }

@keyframes fadein { 0% { opacity: 0; }
  20% { opacity: 0; }
  100% { opacity: 1; } }
header { position: fixed; top: 0; left: 0; width: 100%; background: #fff; z-index: 100000; }
header > a { position: absolute; top: 13px; right: 4%; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; width: 100px; height: 100px; border-radius: 50%; background: #033884; }
@media (max-width: 959px) { header > a { display: none; } }
header > a:hover { background: #696A6D; }
header > a span { padding-bottom: 15px; }
header > a img { display: block; width: 23px; margin: 5px auto 0 auto; }
header > a:hover img { opacity: 1; }
header > a em { display: block; margin: 0.8em auto 0 auto; color: #fff; font-size: 12px; letter-spacing: 0; line-height: 100%; font-style: normal; text-align: center; }

.Nav { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: center; align-items: center; padding: 15px 0 15px 4.5%; }
@media (max-width: 959px) { .Nav { padding: 6.2vw 5.5vw; } }
.Nav h1 { width: 145px; }
@media (max-width: 959px) { .Nav h1 { width: 24vw; } }
.Nav ul { display: -webkit-flex; display: flex; padding-right: 15%; }
@media (max-width: 1450px) { .Nav ul { padding-right: 17%; } }
@media (max-width: 1080px) { .Nav ul { padding-right: 19%; } }
@media (max-width: 959px) { .Nav ul { position: fixed; top: 18.5vw; right: -120%; -webkit-flex-direction: column; flex-direction: column; width: 100%; height: 100%; padding: 7vw 0 7vw 10vw; background-color: rgba(255, 255, 255, 0.9); -webkit-transition: all .4s; transition: all .4s; } }
.Nav ul.active { right: 0; }
.Nav ul li + li { margin-left: 3em; }
@media (max-width: 959px) { .Nav ul li + li { margin: 6vw 0 0 0; } }
@media (max-width: 959px) { .Nav ul li.n { display: none; } }
.Nav ul li.c, .Nav ul li.p { display: none; }
@media (max-width: 959px) { .Nav ul li.c, .Nav ul li.p { display: block; margin: 4vw 0 0 0; } }
.Nav ul a:link, .Nav ul a:visited { color: #060001; font-size: 14px; line-height: 100%; letter-spacing: 2px; font-weight: 700; font-family: "Zen Kaku Gothic New", sans-serif; }
@media (max-width: 959px) { .Nav ul a:link, .Nav ul a:visited { display: block; width: 100%; padding: 0; font-size: 6vw; line-height: 1.5em; } }
.Nav ul a:link:hover, .Nav ul a:visited:hover { opacity: 0.7; }
.Nav ul .Sub_Menu { display: none; }
@media (max-width: 959px) { .Nav ul .Sub_Menu { display: block; margin-top: 3vw; } }
.Nav ul .Sub_Menu a:link, .Nav ul .Sub_Menu a:visited { margin: 0; padding: 0; font-size: 3.5vw; font-weight: 500; line-height: 2.4em; }
.Nav ul .Sub_Menu a:link:before, .Nav ul .Sub_Menu a:visited:before { content: "― "; }

#WorksMenu { position: relative; }
@media (max-width: 959px) { #WorksMenu { position: static; } }
#WorksMenu .Works_Menu { position: absolute; top: 25px; right: -350px; padding-top: 25px; opacity: 0; visibility: hidden; }
@media (max-width: 959px) { #WorksMenu .Works_Menu { display: none; } }
#WorksMenu .Works_Menu .Contents { display: flex; -webkit-justify-content: space-between; justify-content: space-between; width: 900px; padding: 35px 55px 35px 55px; background: #fff; box-shadow: 5px 5px 5px 0px rgba(105, 105, 105, 0.45); }
#WorksMenu .Works_Menu .Contents > div { width: 27%; border-right: 1px solid #060001; }
#WorksMenu .Works_Menu .Contents > div h2 { font-size: 24px; font-weight: 700; letter-spacing: 1px; }
#WorksMenu .Works_Menu .Contents > div div { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; width: 75%; margin-top: 15px; }
#WorksMenu .Works_Menu .Contents > div p { position: relative; display: inline-block; font-size: 16px; font-weight: 500; letter-spacing: 0; -webkit-transition: all .3s; transition: all .3s; }
#WorksMenu .Works_Menu .Contents > div a:hover { opacity: 1 !important; }
#WorksMenu .Works_Menu .Contents > div a:hover p { color: #174097; }
#WorksMenu .Works_Menu .Contents > div p:before { content: ""; position: absolute; left: 0; bottom: -10px; width: 0; height: 1px; background: #033884; transition: 0.3s; }
#WorksMenu .Works_Menu .Contents > div a:hover p:before { width: 100%; }
#WorksMenu .Works_Menu .Contents > div i { display: block; width: 23px; height: 23px; -webkit-transition: all .3s; transition: all .3s; background: url(../img/news.svg) no-repeat center center/100% auto; }
#WorksMenu .Works_Menu .Contents > div a:hover i { background: url(../img/news2.svg) no-repeat center center/100% auto; }
#WorksMenu .Works_Menu .Contents ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; width: 65%; padding: 0; }
#WorksMenu .Works_Menu .Contents ul li { width: 20%; margin: 0; }
#WorksMenu .Works_Menu .Contents ul p { margin-top: 1em; font-size: 13px; font-weight: 400; line-height: 1.3em; letter-spacing: 0; }
#WorksMenu .Works_Menu .Contents ul a { display: block; }
#WorksMenu .Works_Menu .Contents ul a:hover { opacity: 1 !important; }
#WorksMenu .Works_Menu .Contents ul a:hover p { color: #174097; }
#WorksMenu .Works_Menu .Contents ul a:hover img { opacity: 1; filter: brightness(0.8); }
#WorksMenu:hover .Works_Menu { visibility: visible; opacity: 1; }

#Nav-Btn { display: none; }
@media (max-width: 959px) { #Nav-Btn { position: fixed; top: 2.9vw; right: 5%; z-index: 1000; cursor: pointer; display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 13vw; height: 13vw; color: #fff; font-size: 2.2vw; border-radius: 50%; background: #033884; }
  #Nav-Btn:hover { background: #696a6d; }
  #Nav-Btn.active { font-size: 6vw; } }

.PageTitle { margin-top: 280px; }
@media (max-width: 959px) { .PageTitle { margin-top: 20vw; } }
.PageTitle h1 { margin-bottom: 2.6em; font-size: 46px; font-weight: 700; line-height: 100%; }
@media (max-width: 959px) { .PageTitle h1 { font-size: 7vw; margin-bottom: 2.2em; } }
.PageTitle h1 i { display: block; margin-top: 15px; font-size: 0.35em; font-weight: 500; line-height: 100%; }
.PageTitle img { display: block; }

.f_info ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; border-top: 1px solid #959595; border-left: 1px solid #959595; border-bottom: 1px solid #959595; }
@media (max-width: 959px) { .f_info ul { -webkit-flex-direction: column; flex-direction: column; border-left: none; border-bottom: none; } }
.f_info li { position: relative; width: calc(100% / 3); height: 465px; border-right: 1px solid #959595; }
@media (max-width: 959px) { .f_info li { position: static; width: 100%; height: auto; border-right: none; border-bottom: 1px solid #959595; } }
.f_info li > div { position: absolute; top: 0; left: 0; display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 100%; height: 100%; }
@media (max-width: 959px) { .f_info li > div { position: static; padding: 15vw 0 12vw 0; text-align: center; } }
.f_info h2 { font-size: 32px; font-weight: 700; line-height: 100%; }
@media (max-width: 959px) { .f_info h2 { font-size: 8vw; } }
.f_info h2 i { display: block; margin-top: 12px; font-size: 0.5em; font-weight: 500; line-height: 100%; }
@media (max-width: 959px) { .f_info h2 i { font-size: 0.35em; margin-top: 0.8em; } }
.f_info p { margin: 1.2em 0 0 0; font-size: 17px; font-weight: 500; line-height: 1.5em; }
@media (max-width: 959px) { .f_info p { margin: 2em 0 0 0; font-size: 3.5vw; line-height: 1.9em; } }
.f_info li:nth-child(2) p { margin: 0 0 1.2em 0; font-size: 22px; }
@media (max-width: 959px) { .f_info li:nth-child(2) p { margin: 2vw 0 1.25em 0; font-size: 4.5vw; } }
.f_info li:nth-child(3) p { font-size: 20px; }
@media (max-width: 959px) { .f_info li:nth-child(3) p { margin: -2.5vw 0 1.25em 0; font-size: 4.5vw; } }
@media (max-width: 959px) { .f_info li:nth-child(3) div { padding-bottom: 7vw; } }
.f_info .Btn { display: block; width: 100%; padding: 0.85em 0 0.85em 5.4em; color: #fff; font-size: 24px; font-weight: 700; text-align: left; background: #174097 url(../img/contact.svg) no-repeat center left 22%/7.5% auto; }
@media (max-width: 959px) { .f_info .Btn { padding: 0.75em 0 0.75em 6em; margin-bottom: 10vw; font-size: 4.5vw; background: #174097 url(../img/contact.svg) no-repeat center left 22%/7.5% auto; } }
.f_info .Btn:hover { background: #696a6d url(../img/contact.svg) no-repeat center left 22%/7.5% auto; }
@media (max-width: 959px) { .f_info .Btn:hover { background: #696a6d url(../img/contact.svg) no-repeat center left 22%/7.5% auto; } }
.f_info li:nth-child(3) { text-align: center; }
.f_info li:nth-child(3) .Tel { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; margin: 0.95em auto 0.7em auto; font-size: 46px; font-weight: 900; }
@media (max-width: 959px) { .f_info li:nth-child(3) .Tel { font-size: 9.5vw; margin: 0 auto 0.7em auto; } }
.f_info li:nth-child(3) .Tel:before { content: ""; display: block; width: 43px; height: 43px; margin-right: 0.4em; border-radius: 50%; background: #174097 url(../img/tell.svg) no-repeat center center/50% auto; }
@media (max-width: 959px) { .f_info li:nth-child(3) .Tel:before { width: 9.5vw; height: 9.5vw; margin-right: 0.3em; } }
.f_info li:nth-child(3) .Tel:hover { opacity: 0.6; }
.f_info li:nth-child(3) span { font-size: 15px; line-height: 1.3em; }
@media (max-width: 959px) { .f_info li:nth-child(3) span { font-size: 4vw; padding-bottom: 10vw; } }

footer { padding: 140px 0 130px 0; background: #153BA5; background: linear-gradient(180deg, #153ba5 0%, #00ade7 100%); }
@media (max-width: 959px) { footer { padding: 16vw 0 30vw 0; } }
footer .inner, footer .PageTitle h1, .PageTitle footer h1 { max-width: 75%; }
footer .inner > ul, footer .PageTitle h1 > ul, .PageTitle footer h1 > ul { display: -webkit-flex; display: flex; -webkit-box-align: start; align-items: flex-start; -webkit-justify-content: space-between; justify-content: space-between; color: #fff; }
@media (max-width: 959px) { footer .inner > ul, footer .PageTitle h1 > ul, .PageTitle footer h1 > ul { -webkit-box-direction: reverse; flex-direction: column-reverse; } }
footer h2 { font-weight: 500; }
footer ul > li.link { padding: 50px 0 0 0; }
@media (max-width: 959px) { footer ul > li.link { padding: 18.5vw 0 0 0; } }
footer ul > li.link > ul { display: -webkit-flex; display: flex; -webkit-box-align: start; align-items: flex-start; }
@media (max-width: 959px) { footer ul > li.link > ul { -webkit-flex-wrap: wrap; flex-wrap: wrap; } }
footer ul > li.link > ul li { display: -webkit-flex; display: flex; -webkit-box-align: start; align-items: flex-start; -webkit-flex-direction: column; flex-direction: column; }
@media (max-width: 959px) { footer ul > li.link > ul li:nth-child(1) { width: 60%; } }
footer ul > li.link > ul li:nth-child(2) { margin-left: 40px; }
@media (max-width: 959px) { footer ul > li.link > ul li:nth-child(2) { width: 30%; margin-left: auto; } }
footer ul > li.link > ul li:nth-child(3) { margin-left: 80px; }
@media (max-width: 959px) { footer ul > li.link > ul li:nth-child(3) { width: 100%; margin: 6.5vw 0 0 0; } }
footer ul > li.link > ul a:link, footer ul > li.link > ul a:visited { color: #fff; font-size: 14px; line-height: 3.2em; }
@media (max-width: 959px) { footer ul > li.link > ul a:link, footer ul > li.link > ul a:visited { font-size: 3.2vw; line-height: 3.5em; } }
footer ul > li.link > ul a:before { content: "― "; }
footer ul > li.link > ul a:hover { opacity: 0.7; }
footer ul > li.link > ul h2 { margin-bottom: 1.1em; }
footer ul > li.link > ul h2 + h2 { margin-top: 0.4em; }
@media (max-width: 959px) { footer ul > li.link > ul h2 + h2 { margin-top: 0.7em; } }
footer ul > li.link > ul h2 a:link, footer ul > li.link > ul h2 a:visited { font-size: 16px; line-height: 100%; }
@media (max-width: 959px) { footer ul > li.link > ul h2 a:link, footer ul > li.link > ul h2 a:visited { font-size: 4vw; } }
footer ul > li.link > ul h2 a:before { content: ""; }
footer ul > li.link > ul + p { display: none; }
@media (max-width: 959px) { footer ul > li.link > ul + p { display: block; margin: 18vw 0 0 0; color: #fff; font-size: 3.5vw; text-align: center; } }
footer ul > li.info { text-align: right; }
@media (max-width: 959px) { footer ul > li.info { text-align: left; } }
footer ul > li.info a img { display: block; width: 150px; margin-left: auto; }
@media (max-width: 959px) { footer ul > li.info a img { width: 35vw; margin-left: 0; } }
footer ul > li.info h1 { margin-top: 0.9em; font-size: 12px; }
@media (max-width: 959px) { footer ul > li.info h1 { margin-top: 1em; font-size: 3vw; } }
footer ul > li.info p { margin-top: 2.8em; font-size: 13px; }
@media (max-width: 959px) { footer ul > li.info p { margin-top: 1.8em; font-size: 3vw; } }
footer ul > li.info p + p { margin-top: 2.5em; }
@media (max-width: 959px) { footer ul > li.info p + p { display: none; } }

.f_info2 { display: none; }
@media (max-width: 959px) { .f_info2 { position: fixed; bottom: 0; left: 0; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; width: 100%; padding: 3.2vw 0; background: #174097; } }
.f_info2 .Btn { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; width: 50%; padding-left: 15vw; color: #fff; font-size: 3.5vw; font-weight: 700; text-align: center; border-right: 1px solid #fff; background: url(../img/contact.svg) no-repeat center left 16%/10% auto; }
.f_info2 .Btn:hover { opacity: 0.6; }
.f_info2 .Tel { width: 50%; text-align: center; }
.f_info2 .Tel span { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; color: #fff; font-size: 4.5vw; font-weight: 900; -webkit-transition: all .3s; transition: all .3s; }
.f_info2 .Tel span:before { content: ""; display: block; width: 4.5vw; height: 4.5vw; margin-right: 0.3em; -webkit-transition: all .3s; transition: all .3s; border-radius: 50%; background: #fff url(../img/tell2.svg) no-repeat center center/50% auto; }
.f_info2 .Tel:hover span { color: #c6cfe0; }
.f_info2 .Tel:hover span:before { background: #c6cfe0 url(../img/tell2.svg) no-repeat center center/50% auto; }
.f_info2 .Tel p { color: #fff; font-size: 3.3vw; letter-spacing: 0.5px; -webkit-transition: all .3s; transition: all .3s; }
.f_info2 .Tel:hover p { color: #c6cfe0; }
