@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&display=swap");
.inner, .MainImage, .About, #Company, #Contact { max-width: 1080px; width: 100%; padding-left: 24px; padding-right: 24px; margin: 0 auto; }
@media (max-width: 959px) { .inner, .MainImage, .About, #Company, #Contact { width: 90%; padding-left: 0; padding-right: 0; } }

html { height: 100%; overflow-y: scroll; scroll-behavior: smooth; scroll-padding-top: 128px; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
@media (max-width: 959px) { html { scroll-padding-top: 35vw; } }

body { margin: 0; padding: 0; color: #313232; font-size: 16px; text-align: left; font-style: normal; letter-spacing: 0.1em; line-height: 1.5em; background: #fff; overflow: hidden; }
@media (max-width: 959px) { body { font-size: 3.5vw; line-height: 1.7em; } }

* { font-weight: 400; font-family: "BIZ UDPGothic", sans-serif; }

.wrapper { margin-top: 128px; }
@media (max-width: 959px) { .wrapper { margin-top: 35vw; } }

*, *: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: #313232; }
a:hover { color: #313232; 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; }

.Title { margin: 0 auto; color: #F5BA28; font-size: 38px; line-height: 100%; text-align: center; letter-spacing: 0.1em; }
@media (max-width: 959px) { .Title { font-size: 7vw; } }
.Title i { display: block; margin-top: 0.4em; color: #313232; font-size: 0.4em; letter-spacing: 0.08em; }
@media (max-width: 959px) { .Title i { margin-top: 1em; font-size: 0.5em; } }

.Btn1 { overflow: hidden; position: relative; transition-duration: .4s; z-index: 2; }
.Btn1:after { content: ""; position: absolute; top: 50%; left: 0; right: 0; display: block; width: 100%; height: 0; margin: auto; padding-top: 100%; opacity: 0; pointer-events: none; background: #F5BA28; border-radius: 50%; z-index: -1; transform: translateY(-50%) scale(0.1); transition: opacity .5s, transform 0s; transition-delay: 0s, .4s; }
.Btn1:hover { color: #fff !important; }
.Btn1:hover:after { opacity: 1; transform: translateY(-50%) scale(1.1); transition-delay: 0s; transition: opacity .8s, transform .6s ease-in-out; }

.Btn2 { overflow: hidden; position: relative; transition-duration: .4s; z-index: 2; }
.Btn2:after { content: ""; position: absolute; top: 50%; left: 0; right: 0; display: block; width: 100%; height: 0; margin: auto; padding-top: 100%; opacity: 0; pointer-events: none; background: #fff; border-radius: 50%; z-index: -1; transform: translateY(-50%) scale(0.1); transition: opacity .5s, transform 0s; transition-delay: 0s, .4s; }
.Btn2:hover { color: #F5BA28 !important; }
.Btn2:hover:after { opacity: 1; transform: translateY(-50%) scale(1.1); transition-delay: 0s; transition: opacity .8s, transform .6s ease-in-out; }

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

header { position: fixed; top: 0; left: 0; z-index: 10; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; width: 100%; height: 128px; margin: 0 auto; background-color: rgba(255, 255, 255, 0.9); }
@media (max-width: 959px) { header { height: 35vw; } }
header .inner, header .MainImage, header .About, header #Company, header #Contact { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; width: 100%; max-width: 100%; padding: 30px 65px; }
@media (max-width: 959px) { header .inner, header .MainImage, header .About, header #Company, header #Contact { width: 92%; padding: 0; } }
header nav:nth-child(1) { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: end; align-items: flex-end; -webkit-justify-content: space-between; justify-content: space-between; }
@media (max-width: 1280px) { header nav:nth-child(1) { width: 40%; } }
@media (max-width: 959px) { header nav:nth-child(1) { width: auto; } }
header nav:nth-child(1) h1 { width: 100px; margin-right: 45px; }
@media (max-width: 1280px) { header nav:nth-child(1) h1 { margin-right: 5%; } }
@media (max-width: 959px) { header nav:nth-child(1) h1 { width: 18vw; margin-right: 0; } }
header nav:nth-child(1) h1 a { border-bottom: none; }
@media (max-width: 959px) { header nav:nth-child(1) h1 a { display: block !important; } }
header nav:nth-child(1) h1 a:hover { border-bottom: none; }
header nav:nth-child(1) h1 img { width: 100%; height: auto; }
header nav:nth-child(1) a:link, header nav:nth-child(1) a:visited { padding-bottom: 9px; font-size: 14px; -webkit-transition: all .3s; transition: all .3s; border-bottom: 1px solid #fff; }
@media (max-width: 959px) { header nav:nth-child(1) a:link, header nav:nth-child(1) a:visited { display: none; } }
header nav:nth-child(1) a + a { margin-left: 3.8em; }
@media (max-width: 1280px) { header nav:nth-child(1) a + a { margin-left: 0; } }
header nav:nth-child(1) a:hover { border-bottom: 1px solid #313232; }
header nav:nth-child(2) { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; }
header nav:nth-child(2) a:nth-child(1) { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; width: 280px; height: 45px; color: #F5BA28; font-size: 20px; line-height: 100%; border-radius: 100px; border: 1px solid #F5BA28; background: #fff; }
@media (max-width: 1280px) { header nav:nth-child(2) a:nth-child(1) { width: 240px; font-size: 18px; } }
@media (max-width: 959px) { header nav:nth-child(2) a:nth-child(1) { width: 43.5vw; height: 11vw; font-size: 2.8vw; } }
header nav:nth-child(2) a:nth-child(1) span { font-size: 17px; }
@media (max-width: 959px) { header nav:nth-child(2) a:nth-child(1) span { font-size: 14px; } }
@media (max-width: 959px) { header nav:nth-child(2) a:nth-child(1) span { font-size: 2.8vw; } }
header nav:nth-child(2) a:nth-child(2) { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; width: 255px; height: 45px; margin-left: 20px; color: #fff; font-size: 15px; line-height: 100%; border-radius: 100px; border: 1px solid #F5BA28; background: #F5BA28; }
@media (max-width: 1280px) { header nav:nth-child(2) a:nth-child(2) { width: 225px; margin-left: 0.5em; font-size: 14px; } }
@media (max-width: 959px) { header nav:nth-child(2) a:nth-child(2) { display: block; width: 23vw; height: 11vw; padding-top: 2vw; margin-left: 1.5vw; font-size: 2.5vw; text-align: center; line-height: 1.3em; } }
header nav:nth-child(2) a:nth-child(2):before { content: ""; display: block; width: 1.4em; height: 1em; margin-right: 1em; background: url(../img/mail.svg) no-repeat center center/100% auto; }
@media (max-width: 959px) { header nav:nth-child(2) a:nth-child(2):before { display: none; } }
header nav:nth-child(2) a:nth-child(2):hover:before { background: url(../img/mail2.svg) no-repeat center center/100% auto; }
header nav:nth-child(2) a:nth-child(2) span { display: none; }
@media (max-width: 959px) { header nav:nth-child(2) a:nth-child(2) span { display: inline-block; width: 1.6em; height: 1.1em; margin-right: 0.8vw; background: url(../img/mail.svg) no-repeat center bottom/100% auto; } }
header nav:nth-child(2) a:nth-child(2):hover span { background: url(../img/mail2.svg) no-repeat center bottom/100% auto; }
header nav:nth-child(3) { display: none; }
@media (max-width: 959px) { header nav:nth-child(3) { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; width: 100%; margin-top: 2.5vw; } }
header nav:nth-child(3) a:link, header nav:nth-child(3) a:visited { font-size: 3vw; border-bottom: 1px solid #fff; }
header nav:nth-child(3) a + a { margin-left: 7em; }
header nav:nth-child(3) a:hover { border-bottom: 1px solid #313232; }

.MainImage { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: end; align-items: flex-end; padding: 197px 0 0 0; }
@media (max-width: 1280px) { .MainImage { width: 90%; } }
@media (max-width: 959px) { .MainImage { -webkit-flex-direction: column; flex-direction: column; padding: 15vw 0 0 0; } }
.MainImage h2 { font-size: 34px; line-height: 2.5em; letter-spacing: 0.2em; }
@media (max-width: 959px) { .MainImage h2 { margin: 0 auto; font-size: 6.5vw; text-align: center; line-height: 2.05em; } }
.MainImage img { display: block; width: 210px; height: auto; margin-right: 8%; }
@media (max-width: 1280px) { .MainImage img { margin-right: 11%; } }
@media (max-width: 959px) { .MainImage img { display: block; width: 35vw; margin: 15.5vw auto 0 auto; } }

.About { padding: 255px 0 95px 0; }
@media (max-width: 959px) { .About { padding: 36vw 0 17vw 0; } }
.About > h2 { margin-bottom: 1.2em; font-size: 30px; text-align: center; line-height: 2.5em; }
@media (max-width: 959px) { .About > h2 { margin-bottom: 2em; font-size: 4.5vw; line-height: 2.1em; } }
.About > p { font-size: 16px; text-align: center; line-height: 2.7em; }
@media (max-width: 959px) { .About > p { font-size: 3.5vw; line-height: 2.2em; } }
.About ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; width: 700px; margin: 65px auto 0 auto; }
@media (max-width: 959px) { .About ul { width: 100%; margin: 6.6vw auto 0 auto; } }
.About ul li { width: 48%; padding: 75px 0 55px 0; border-radius: 15px; box-shadow: 0 0 7px #eee; }
@media (max-width: 959px) { .About ul li { padding: 5.8vw 0 6vw 0; border-radius: 0.2em; } }
.About ul li img { display: block; width: auto; height: 66px; margin: 0 auto; }
@media (max-width: 959px) { .About ul li img { width: 70%; } }
.About ul li p { margin-top: 1.9em; font-size: 18px; text-align: center; line-height: 1.8em; }
@media (max-width: 959px) { .About ul li p { font-size: 3vw; margin-top: 1.7em; } }

.Info { padding: 80px 0 95px 0; background: #F2F2F2; }
@media (max-width: 959px) { .Info { padding: 19vw 0 23vw 0; } }
.Info h2 { margin-bottom: 1.9em; font-size: 26px; text-align: center; }
@media (max-width: 959px) { .Info h2 { font-size: 4.5vw; margin-bottom: 2em; } }
.Info ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: start; align-items: flex-start; -webkit-flex-wrap: wrap; flex-wrap: wrap; width: 630px; margin: 0 auto; }
@media (max-width: 959px) { .Info ul { width: 70%; } }
.Info ul li { width: 45%; }
@media (max-width: 959px) { .Info ul li { width: 100%; } }
@media (max-width: 959px) { .Info ul li + li { margin-top: 9vw; } }
.Info ul p { font-size: 16px; line-height: 100%; text-align: center; }
@media (max-width: 959px) { .Info ul p { font-size: 3.6vw; } }
.Info ul a + p { margin-top: 1em; font-size: 14px; }
@media (max-width: 959px) { .Info ul a + p { font-size: 3.5vw; margin-top: 1.2em; } }
.Info ul li:nth-child(1) a { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; width: 100%; height: 67px; margin-top: 25px; color: #F5BA28; font-size: 18px; line-height: 100%; border-radius: 100px; border: 1px solid #F5BA28; }
@media (max-width: 959px) { .Info ul li:nth-child(1) a { height: 18vw; margin-top: 4vw; font-size: 4.5vw; } }
.Info ul li:nth-child(2) a { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; width: 100%; height: 67px; margin-top: 25px; color: #fff; font-size: 16px; line-height: 100%; border-radius: 100px; border: 1px solid #F5BA28; background: #F5BA28; }
@media (max-width: 959px) { .Info ul li:nth-child(2) a { height: 17vw; margin-top: 6vw; font-size: 4vw; } }
.Info ul li:nth-child(2) a:before { content: ""; display: block; width: 1.4em; height: 1em; margin-right: 1em; background: url(../img/mail.svg) no-repeat center center/100% auto; }
@media (max-width: 959px) { .Info ul li:nth-child(2) a:before { width: 1.8em; height: 1.2em; margin-right: 0.8em; } }
.Info ul li:nth-child(2) a:hover:before { background: url(../img/mail2.svg) no-repeat center center/100% auto; }

#Company { padding: 160px 0 100px 0; }
@media (max-width: 959px) { #Company { width: 100%; padding: 15vw 0 0 0; } }
#Company .inner, #Company .MainImage, #Company .About, #Company #Company, #Company #Contact { padding: 83px; border-radius: 15px; box-shadow: 0 0 7px #eee; }
@media (max-width: 1280px) { #Company .inner, #Company .MainImage, #Company .About, #Company #Company, #Company #Contact { width: 90%; } }
@media (max-width: 959px) { #Company .inner, #Company .MainImage, #Company .About, #Company #Company, #Company #Contact { padding: 17vw 0 22vw 0; border-radius: 2em; } }
#Company h2.Title { margin-bottom: 1.2em; }
#Company dl { width: 560px; margin: 0 auto; }
@media (max-width: 959px) { #Company dl { width: 100%; } }
#Company dl dt { clear: both; float: left; width: 35%; font-size: 15.5px; line-height: 2.65em; font-weight: 700; }
@media (max-width: 959px) { #Company dl dt { float: none; width: 100%; margin-bottom: 0.8vw; font-size: 3.5vw; text-align: center; } }
#Company dl dd { float: left; width: 65%; font-size: 15.5px; line-height: 2.65em; }
@media (max-width: 959px) { #Company dl dd { float: none; width: 100%; margin-bottom: 5vw; font-size: 3.5vw; text-align: center; line-height: 2.25em; } }
#Company iframe { display: block; width: 560px; height: 290px; margin: 50px auto 0 auto; border: 0; }
@media (max-width: 959px) { #Company iframe { width: 85%; height: 70vw; margin: 10vw auto 0 auto; } }

#Contact { padding: 45px 0 0 0; }
@media (max-width: 959px) { #Contact { margin-top: 17vw; padding: 10vw 0 14vw 0; } }
#Contact > h2 { margin-bottom: 55px; }
@media (max-width: 959px) { #Contact > h2 { margin-bottom: 8.5vw; } }
#Contact > h2 + p { font-size: 16px; text-align: center; line-height: 2.3em; }
@media (max-width: 959px) { #Contact > h2 + p { font-size: 3.5vw; line-height: 2.25em; } }
#Contact .Tel { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; width: 610px; margin: 45px auto 0 auto; }
@media (max-width: 959px) { #Contact .Tel { display: block; width: 100%; margin: 11vw 0 0 0; } }
#Contact .Tel a:link, #Contact .Tel a:visited { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 280px; height: 70px; color: #F5BA28; font-size: 18px; line-height: 100%; border-radius: 100px; border: 1px solid #F5BA28; }
@media (max-width: 959px) { #Contact .Tel a:link, #Contact .Tel a:visited { width: 80%; height: 18vw; margin: 4vw auto 0 auto; font-size: 4.5vw; } }
#Contact a + p { font-size: 16px; line-height: 100%; }
@media (max-width: 959px) { #Contact a + p { margin-top: 1.2em; font-size: 3.5vw; text-align: center; } }
#Contact > h3 { margin: 3.5em 0 1em 0; font-size: 25px; text-align: center; }
@media (max-width: 959px) { #Contact > h3 { margin: 4.5em 0 3.2em 0; font-size: 5vw; } }
#Contact h3 + p { width: 700px; margin: 0 auto 1.45em auto; font-size: 16px; line-height: 100%; }
@media (max-width: 959px) { #Contact h3 + p { font-size: 3.2vw; margin: 0 0 2em 0; } }
#Contact h3 + p span { color: #F5BA28; margin-right: 0.5em; }
#Contact dl { width: 700px; margin: 0 auto; }
@media (max-width: 959px) { #Contact dl { width: 100%; } }
#Contact dl dt { clear: both; float: left; width: 30%; padding: 0.5em 0 0 0; margin-bottom: 27px; font-size: 15.5px; }
@media (max-width: 959px) { #Contact dl dt { float: none; width: 100%; padding: 0; margin-bottom: 2vw; font-size: 3.5vw; } }
#Contact dl dt i { color: #F5BA28; margin-left: 0.5em; }
#Contact dl dd { float: left; width: 70%; margin-bottom: 27px; font-size: 15.5px; }
@media (max-width: 959px) { #Contact dl dd { float: none; width: 100%; margin-bottom: 6.4vw; font-size: 3.5vw; } }
#Contact .Privacy-Text { overflow-y: scroll; width: 100%; height: 15.5em; margin-bottom: 2em; padding: 28px 25px; background: #fff; border-radius: 10px; border: 1px solid #9C9DA2; scrollbar-color: #F5BA28 #fff; }
@media (max-width: 959px) { #Contact .Privacy-Text { height: 16em; margin-bottom: 1em; padding: 7vw 2vw 7vw 5vw; border-radius: 3vw; } }
#Contact .Privacy-Text h2 { margin-bottom: 0.5em; font-size: 16px; text-align: center; }
@media (max-width: 959px) { #Contact .Privacy-Text h2 { margin-bottom: 1.2em; font-size: 4.5vw; } }
#Contact .Privacy-Text h3 { margin: 2em 0 0.8em 0; font-size: 18px; }
@media (max-width: 959px) { #Contact .Privacy-Text h3 { font-size: 4vw; } }
#Contact .Privacy-Text p { width: 100%; font-size: 16px; line-height: 2.2em; }
@media (max-width: 959px) { #Contact .Privacy-Text p { font-size: 3.5vw; } }
#Contact input[type="text"], #Contact input[type="email"], #Contact input[type="tel"], #Contact textarea { margin: 0; padding: 0; border: none; border-radius: 0; background: none; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; font-size: 15px; font-family: 'Noto Sans JP', sans-serif; }
@media (max-width: 959px) { #Contact input[type="text"], #Contact input[type="email"], #Contact input[type="tel"], #Contact textarea { font-size: 3.5vw; } }
#Contact input[type="text"], #Contact input[type="email"], #Contact input[type="tel"], #Contact textarea { padding: 0 1em; width: 100%; padding: 0.7em 1em 0.75em 1em; outline: none; font-size: 16px; border: none; background: #F5F5F5; border-radius: 10px; }
@media (max-width: 959px) { #Contact input[type="text"], #Contact input[type="email"], #Contact input[type="tel"], #Contact textarea { padding: 0.9em 1em 0.9em 1em; font-size: 3.2vw; } }
#Contact input[type="text"]::placeholder, #Contact input[type="email"]::placeholder, #Contact input[type="tel"]::placeholder, #Contact textarea::placeholder { color: #828282; }
#Contact textarea { padding: 0.5em 0.9em; height: 15em; }
@media (max-width: 959px) { #Contact textarea { height: 17em; } }
#Contact input[type="tel"] + input[type="text"] { margin-top: 1em; }
@media (max-width: 959px) { #Contact input[type="tel"] + input[type="text"] { margin-top: 1.8em; } }
#Contact input::-ms-clear, #Contact input::-ms-reveal { visibility: hidden; }
#Contact input[type="checkbox"] { display: none; }
#Contact label { position: relative; display: inline-block; padding: 3px 3px 3px 2.5em; cursor: pointer; -webkit-transition: all .2s; transition: all .2s; }
#Contact label::before, #Contact label::after { position: absolute; content: ''; -webkit-transition: all .2s; transition: all .2s; }
#Contact label::before { top: 50%; left: 0; width: 1.5em; height: 1.5em; margin-top: -1em; background: #fff; border: 1px solid #1d1412; }
#Contact label::after { opacity: 0; top: 0em; left: 0.25em; width: 1em; height: 0.5em; margin-top: -8px; border-left: 3px solid #1d1412; border-bottom: 3px solid #1d1412; -webkit-transform: rotate(-45deg) scale(0.5); transform: rotate(-45deg) scale(0.5); }
@media (max-width: 959px) { #Contact label::after { top: -0.2em; } }
@media (max-width: 560px) { #Contact label::after { top: 0.1em; } }
#Contact label:hover::before { background: #fff; }
#Contact input[type="checkbox"]:checked + label::before { background: #fff; border: 1px solid #1d1412; }
#Contact input[type="checkbox"]:checked + label::after { opacity: 1; -webkit-transform: rotate(-45deg) scale(1); transform: rotate(-45deg) scale(1); }
#Contact a:link, #Contact a:visited { border-bottom: 2px solid #1d1412; }
#Contact .privacy { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; font-size: 16px; text-align: center; }
@media (max-width: 959px) { #Contact .privacy { font-size: 3vw; } }
#Contact #submit { display: block; cursor: pointer; width: 223px; padding: 1em 0 1em 0; margin: 3.5em auto 0 auto; color: #F5BA28; font-size: 16px; line-height: 100%; text-align: center; border-radius: 100px; background: #fff; border: 1px solid #F5BA28; -webkit-transition: all .3s; transition: all .3s; }
@media (max-width: 959px) { #Contact #submit { width: 80%; margin: 1.8em auto 0 auto; padding: 1.3em 0 1.3em 0; font-size: 4vw; } }
#Contact #result { margin-top: 1em; text-align: center; }
#Contact .err-msg { width: 100%; margin-top: 0.5em; color: red; }
#Contact dl + .privacy .err-msg { margin-top: 1.5em; }

footer { margin-top: 130px; padding: 80px 0 130px 0; background: #F2F2F2; }
@media (max-width: 959px) { footer { margin-top: 18vw; padding: 20vw 0 14vw 0; font-size: 3vw; line-height: 1.5em; text-align: center; } }
footer .inner, footer .MainImage, footer .About, footer #Company, footer #Contact { display: -webkit-flex; display: flex; -webkit-box-align: start; align-items: flex-start; -webkit-justify-content: space-between; justify-content: space-between; max-width: 1210px; }
@media (max-width: 1280px) { footer .inner, footer .MainImage, footer .About, footer #Company, footer #Contact { max-width: 1200px; } }
@media (max-width: 959px) { footer .inner, footer .MainImage, footer .About, footer #Company, footer #Contact { -webkit-flex-wrap: wrap; flex-wrap: wrap; } }
footer h1 { width: 150px; }
@media (max-width: 959px) { footer h1 { width: 100%; } }
@media (max-width: 959px) { footer h1 img { width: 50%; } }
footer ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; width: 75%; }
@media (max-width: 1280px) { footer ul { width: 75%; } }
@media (max-width: 959px) { footer ul { -webkit-flex-wrap: wrap; flex-wrap: wrap; width: 100%; margin-top: 10vw; } }
footer ul li { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; width: 40%; }
@media (max-width: 1280px) { footer ul li { width: 45%; } }
@media (max-width: 959px) { footer ul li { width: 100%; } }
@media (max-width: 959px) { footer ul li + li { margin-top: 17vw; } }
footer ul h2 { margin-bottom: 0.8em; padding-bottom: 1.2em; font-size: 14px; border-bottom: 1px solid #CBCCCC; }
@media (max-width: 959px) { footer ul h2 { margin-bottom: 1.2em; padding-bottom: 1.1em; font-size: 3.5vw; } }
footer ul li:nth-child(1) span { display: block; margin-bottom: 0; }
@media (max-width: 959px) { footer ul li:nth-child(1) span { margin-bottom: 1em; } }
footer ul p { margin-top: auto; font-size: 13px; line-height: 2.9em; }
@media (max-width: 959px) { footer ul p { margin: 0 0 0 0; font-size: 3.2vw; line-height: 2.5em; } }
footer ul nav { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; }
footer ul nav a:link, footer ul nav a:visited { font-size: 13px; line-height: 2.5em; }
@media (max-width: 959px) { footer ul nav a:link, footer ul nav a:visited { display: block; font-size: 3.2vw; line-height: 2.7em; } }
footer ul nav a:hover { opacity: 0.7; }
footer ul nav + p { margin-top: auto; font-size: 12px; letter-spacing: 1px; }
@media (max-width: 959px) { footer ul nav + p { margin-top: 3vw; font-size: 3.2vw; } }
