@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato&family=Noto+Sans+JP&family=Noto+Serif+JP&display=swap");
html { height: 100%; overflow-y: scroll; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

body { margin: 0; padding: 0; color: #333; font-size: 15px; font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif; line-height: 1.8em; text-align: left; font-style: normal; background: #fff; }
@media (max-width: 959px) { body { font-size: 3.7vw; line-height: 1.6em; } }

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

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

a { outline: none; text-decoration: none; -webkit-transition: all .3s; transition: all .3s; }
a:hover { 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.2em; 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; }

.indent { padding-left: 0.5em; text-indent: -1em; }

.indent-box p + p { margin-top: 0; }

.column { -js-display: flex; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
@media (max-width: 959px) { .column { -webkit-flex-wrap: wrap; flex-wrap: wrap; } }

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

.inner { width: calc(100% - 10%); max-width: 1040px; margin: 0 auto; }

.inner-s { width: calc(100% - 10%); max-width: 840px; margin: 0 auto; }

header { position: relative; }
header nav { position: absolute; top: 0; left: 0; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: center; align-items: center; width: 100%; padding: 40px 50px; z-index: 1000000000; }
@media (max-width: 959px) { header nav { padding: 5vw; } }
header nav .column { display: none; }
@media (max-width: 959px) { header nav .column { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; margin-bottom: 22vw; padding: 5vw 18vw 0 5vw; } }
header nav .column div { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; margin-left: auto; }
header nav .column a + a { margin-left: 5vw; }
header nav .column div img { width: 1.3em; height: auto; }
header nav h1, header nav .Logo { margin: 0 auto 0 0; }
@media (max-width: 959px) { header nav h1, header nav .Logo { width: 40vw; } }
header nav ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: center; align-items: center; margin-top: -10px; }
@media (max-width: 959px) { header nav ul { position: fixed; top: 0; right: -100%; display: block; width: 100%; height: 100%; margin: 0; background: rgba(0, 0, 0, 0.9); z-index: 1000; } }
header nav ul li { padding: 0 30px; text-align: center; }
@media (max-width: 959px) { header nav ul li { margin: 0; padding: 0 30px; text-align: left; } }
header nav ul li + li { background: url(../img/NavLine.png) no-repeat left center; }
@media (max-width: 959px) { header nav ul li + li { margin-top: 8vw; background: none; } }
header nav ul li i { display: block; font-size: 0.8em; font-family: 'Lato', sans-serif; }
@media (max-width: 959px) { header nav ul li i { display: inline-block; margin-left: 1em; } }
header nav ul a:link, header nav ul a:visited { display: block; color: #fff; }
header nav ul a:hover { opacity: 0.7; }

#sp_btn { display: none; margin: 0; padding: 0; cursor: pointer; z-index: 10000000; }
@media (max-width: 959px) { #sp_btn { display: inline-block; } }
#sp_btn label { position: relative; overflow: hidden; display: block; width: 2em; height: 1.34em; cursor: pointer; }
#sp_btn span { position: absolute; left: 0; display: inline-block; width: 100%; height: 2px; background-color: #fff; transition: all .4s; }
#sp_btn span:nth-of-type(1) { top: 0; }
#sp_btn span:nth-of-type(2) { top: 0.6em; }
#sp_btn span:nth-of-type(3) { bottom: 0; }
#sp_btn.active { border: none; }
#sp_btn.active span:nth-of-type(1) { -webkit-transform: translateY(0.6em) rotate(-44deg); transform: translateY(0.6em) rotate(-44deg); }
#sp_btn.active span:nth-of-type(2) { opacity: 0; }
#sp_btn.active span:nth-of-type(3) { -webkit-transform: translateY(-0.6em) rotate(45deg); transform: translateY(-0.6em) rotate(45deg); }

.TEL-box { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: center; align-items: center; padding: 100px 0; background: url(../img/TOP-TEL.jpg) no-repeat center center/cover; }
@media (max-width: 959px) { .TEL-box { padding: 10vw 0; } }
.TEL-box .inner-s { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: center; align-items: center; padding: 85px 140px; background: #fff; }
@media (max-width: 959px) { .TEL-box .inner-s { -webkit-flex-direction: column; flex-direction: column; padding: 10vw 0; } }
.TEL-box a:link, .TEL-box a:visited { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; color: #00104c; font-size: 32px; font-weight: bold; font-family: "Arial", "メイリオ"; }
@media (max-width: 959px) { .TEL-box a:link, .TEL-box a:visited { font-size: 8vw; margin-top: 8vw; } }
.TEL-box a:before { content: url(../img/tel.png); margin-right: 10px; }
.TEL-box a:hover { opacity: 0.7; }

.F-Link { display: none; }
@media (max-width: 959px) { .F-Link { display: block; padding: 10vw 0; } }
.F-Link ul { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; }
.F-Link ul li + li { margin-left: 1.2em; padding-left: 1.2em; line-height: 100%; border-left: 1px solid #666; }
.F-Link ul a:link, .F-Link ul a:visited { color: #333; font-size: 3.3vw; }
.F-Link ul a:hover { opacity: 0.5; }
.F-Link ul + ul { margin-top: 2vw; }

footer { color: #fff; text-align: center; background: #333333; }
@media (max-width: 959px) { footer { padding: 0 0 5vw 0; } }
footer .Logo { margin: 70px auto 50px auto; }
@media (max-width: 959px) { footer .Logo { margin: 6vw auto 0 auto; width: 33vw; } }
footer ul.Link { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; }
@media (max-width: 959px) { footer ul.Link { display: none; } }
footer ul.Link li + li { margin-left: 20px; padding-left: 20px; line-height: 100%; border-left: 1px solid #666; }
footer ul.Link a:link, footer ul.Link a:visited { color: #fff; font-size: 14px; }
footer ul.Link a:hover { opacity: 0.5; }
footer ul.SNS { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; margin: 25px auto 50px auto; }
@media (max-width: 959px) { footer ul.SNS { margin: 7vw auto 10vw auto; } }
footer ul.SNS a { display: block; margin: 0 10px; }
@media (max-width: 959px) { footer ul.SNS a { margin: 0 3vw; } }
footer ul.SNS img { width: 20px; height: auto; }
@media (max-width: 959px) { footer ul.SNS img { width: 1.3em; } }
footer p { padding: 0 0 40px 0; color: #aaa; font-size: 12px; }
@media (max-width: 959px) { footer p { padding: 0; font-size: 2.8vw; } }

.SITEMAP { display: none; position: fixed; top: 0; width: 100%; height: 100vh; z-index: 100000; }
.SITEMAP .bg { position: absolute; width: 100%; height: 100vh; background: rgba(0, 0, 0, 0.7); }
.SITEMAP .Contents { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: calc(100% - 10%); max-width: 1040px; margin: 0 auto; }
.SITEMAP .inner { width: 100%; padding: 70px 75px; background: #f7f7f7; }
.SITEMAP #close { display: block; cursor: pointer; margin: 0 0 2em auto; }
.SITEMAP #close:hover { opacity: 0.7; }
.SITEMAP ul.Link { display: -webkit-flex; display: flex; margin: 70px auto 140px auto; }
.SITEMAP ul.Link li + li { margin-left: 100px; }
.SITEMAP ul.Link li:last-child { margin-left: 0; }
.SITEMAP a:link, .SITEMAP a:visited { color: #333; font-size: 15px; }
.SITEMAP a:hover { opacity: 0.7; }
.SITEMAP a.S { font-size: 14px; }
.SITEMAP a.S:before { content: "・"; }
.SITEMAP i { display: block; font-size: 12px; letter-spacing: 0.2em; font-family: 'Lato', sans-serif; }
.SITEMAP nav { display: -webkit-flex; display: flex; -webkit-box-align: end; align-items: flex-end; -webkit-justify-content: space-between; justify-content: space-between; }
.SITEMAP nav div { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; }
.SITEMAP nav div a { margin-top: 0 !important; line-height: 100%; }
.SITEMAP nav div a + a { margin-left: 30px; }
.SITEMAP nav a.TEL:link, .SITEMAP nav a.TEL:visited { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; color: #333; font-size: 32px; font-weight: bold; font-family: "Arial", "メイリオ"; }
.SITEMAP nav a.TEL:before { content: url(../img/tel2.png); margin-right: 10px; }

.TOP-head .swiper-container { width: 100%; height: 100vh; }
.TOP-head .swiper-container img { display: block; width: 100%; height: 100%; object-fit: cover; }
.TOP-head .swiper-custom-fraction { position: absolute; right: 3em; bottom: 1.5em; color: #00104c; font-size: 15px; font-family: 'Lato', sans-serif; z-index: 100000; }
@media (max-width: 959px) { .TOP-head .swiper-custom-fraction { right: 4vw; font-size: 2.8vw; } }
.TOP-head .swiper-pagination { position: absolute; right: 0; bottom: 0; width: 800px; padding: 35px 0 25px 300px; background: #fff; }
@media (max-width: 959px) { .TOP-head .swiper-pagination { width: 45%; padding: 4vw 0 5vw 4vw; text-align: left; } }
.TOP-head .swiper-pagination-fraction, .TOP-head .swiper-pagination-custom, .TOP-head .swiper-container-horizontal > .swiper-pagination-bullets { right: 0; left: auto; bottom: 0; }
.TOP-head .swiper-pagination-bullet { width: 20px; height: 2px; background: #354d7f; opacity: 0.2; }
@media (max-width: 959px) { .TOP-head .swiper-pagination-bullet { width: 4vw; } }
.TOP-head .swiper-pagination-bullet-active { opacity: 1; background: #354d7f; }
.TOP-head .Text { position: absolute; bottom: 65px; left: 100px; color: #fff; z-index: 10000; }
@media (max-width: 959px) { .TOP-head .Text { top: 30vw; bottom: auto; left: 0; width: 100%; } }
.TOP-head .Text h2 { font-size: 64px; font-family: 'Noto Serif JP', serif; }
@media (max-width: 959px) { .TOP-head .Text h2 { font-size: 10.5vw; text-align: center; line-height: 1.7em; } }
.TOP-head .Text p { margin-top: 2em; font-size: 16px; line-height: 2em; }
@media (max-width: 959px) { .TOP-head .Text p { margin-top: 1em; font-size: 4vw; text-align: center; line-height: 1.8em; } }

.TOP-Dreams { padding: 100px 0 0 0; }
@media (max-width: 959px) { .TOP-Dreams { position: relative; padding: 20vw 0 10vw 0; } }
@media (max-width: 959px) { .TOP-Dreams:before { content: ""; position: absolute; left: 0; bottom: 0; display: block; width: 100%; height: 160vw; background: #f7f7f7; } }
.TOP-Dreams .inner { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: end; align-items: flex-end; }
@media (max-width: 959px) { .TOP-Dreams .inner { -webkit-flex-direction: column; flex-direction: column; position: relative; z-index: 100; } }
.TOP-Dreams .inner + a { display: none; }
@media (max-width: 959px) { .TOP-Dreams .inner + a { display: block; margin: 10vw 20vw; position: relative; z-index: 100; } }
.TOP-Dreams .swiper2 { position: relative; overflow: hidden; width: 48%; }
@media (max-width: 959px) { .TOP-Dreams .swiper2 { width: 100%; } }
.TOP-Dreams .swiper2 p { position: absolute; right: 1em; bottom: 0.5em; color: #fff; }
@media (max-width: 959px) { .TOP-Dreams .swiper2 p { font-size: 3vw; } }
.TOP-Dreams .swiper-pagination { text-align: left; padding-left: 1em; }
.TOP-Dreams img { width: 100%; height: auto; }
.TOP-Dreams .Contents { flex: 1; margin-left: 60px; }
@media (max-width: 959px) { .TOP-Dreams .Contents { margin: 8vw 0 0 0; } }
.TOP-Dreams h2 { margin-bottom: 1.5em; font-size: 24px; line-height: 1.5em; }
@media (max-width: 959px) { .TOP-Dreams h2 { font-size: 5vw; margin-bottom: 0.8em; } }
.TOP-Dreams p { line-height: 2em; }

.TOP-WORKS { padding: 310px 0 0 0; margin-top: -170px; text-align: center; background: #f7f7f7; }
@media (max-width: 959px) { .TOP-WORKS { margin-top: 0; padding: 18vw 0 16vw 0; background: #fff; } }
.TOP-WORKS .inner { padding: 0 0 85px 0; }
@media (max-width: 959px) { .TOP-WORKS .inner { padding: 0 0 5vw 0; } }
.TOP-WORKS h2 { font-size: 32px; }
@media (max-width: 959px) { .TOP-WORKS h2 { font-size: 5.5vw; text-align: center; } }
.TOP-WORKS h2 i { display: block; margin-top: 0.5em; color: #888; font-size: 12px; letter-spacing: 0.2em; font-family: 'Lato', sans-serif; }
@media (max-width: 959px) { .TOP-WORKS h2 i { font-size: 0.5em; } }
.TOP-WORKS ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 4em; }
.TOP-WORKS li { position: relative; width: calc(100% / 3); }
@media (max-width: 959px) { .TOP-WORKS li { width: 50%; } }
.TOP-WORKS li img { width: 100%; height: auto; }
.TOP-WORKS li .Contents { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; }
@media (max-width: 959px) { .TOP-WORKS li .Contents { width: 90%; } }
.TOP-WORKS li .Contents h3 { margin-bottom: 1.5em; color: #fff; font-size: 18px; line-height: 1.8em; }
@media (max-width: 959px) { .TOP-WORKS li .Contents h3 { font-size: 3vw; width: 90%; } }
.TOP-WORKS li .Contents img { width: auto; }
@media (max-width: 959px) { .TOP-WORKS li .Contents img { width: 60%; } }
@media (max-width: 959px) { .TOP-WORKS ul + a img { width: 62%; } }

.TOP-TOPICS, .TOPICS-01 { padding: 145px 0 100px 0; background: #f7f7f7; }
@media (max-width: 959px) { .TOP-TOPICS, .TOPICS-01 { padding: 18vw 0 16vw 0; } }
.TOP-TOPICS h2, .TOPICS-01 h2 { font-size: 32px; text-align: center; }
@media (max-width: 959px) { .TOP-TOPICS h2, .TOPICS-01 h2 { font-size: 5.5vw; } }
.TOP-TOPICS h2 i, .TOPICS-01 h2 i { display: block; margin-top: 0.5em; color: #888; font-size: 12px; letter-spacing: 0.2em; font-family: 'Lato', sans-serif; }
@media (max-width: 959px) { .TOP-TOPICS h2 i, .TOPICS-01 h2 i { font-size: 0.5em; } }
.TOP-TOPICS .Contents, .TOPICS-01 .Contents { padding: 30px; margin-top: 80px; background: #fff; }
@media (max-width: 959px) { .TOP-TOPICS .Contents, .TOPICS-01 .Contents { padding: 0; margin-top: 5vw; background: none; } }
.TOP-TOPICS .Contents dl, .TOPICS-01 .Contents dl { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: start; align-items: flex-start; }
@media (max-width: 959px) { .TOP-TOPICS .Contents dl, .TOPICS-01 .Contents dl { -webkit-flex-direction: column; flex-direction: column; } }
.TOP-TOPICS .Contents dl + dl, .TOPICS-01 .Contents dl + dl { margin-top: 20px; padding-top: 20px; border-top: 1px solid #eee; }
@media (max-width: 959px) { .TOP-TOPICS .Contents dl + dl, .TOPICS-01 .Contents dl + dl { margin-top: 7vw; padding-top: 8vw; } }
.TOP-TOPICS .Contents dt, .TOPICS-01 .Contents dt { width: 380px; }
@media (max-width: 959px) { .TOP-TOPICS .Contents dt, .TOPICS-01 .Contents dt { width: 100%; } }
.TOP-TOPICS .Contents dd, .TOPICS-01 .Contents dd { flex: 1; margin-left: 40px; }
@media (max-width: 959px) { .TOP-TOPICS .Contents dd, .TOPICS-01 .Contents dd { margin: 5vw 0 0 0; } }
.TOP-TOPICS .Contents h3, .TOPICS-01 .Contents h3 { margin: 0.8em auto 1.3em auto; color: #333; font-size: 22px; -webkit-transition: all .3s; transition: all .3s; }
@media (max-width: 959px) { .TOP-TOPICS .Contents h3, .TOPICS-01 .Contents h3 { margin: 0 auto 0.5em auto; font-size: 4.8vw; } }
.TOP-TOPICS .Contents a:hover h3, .TOPICS-01 .Contents a:hover h3 { opacity: 0.7; }
.TOP-TOPICS .Contents p, .TOPICS-01 .Contents p { margin-bottom: 2.2em; line-height: 2em; }
@media (max-width: 959px) { .TOP-TOPICS .Contents p, .TOPICS-01 .Contents p { margin-bottom: 0; } }
.TOP-TOPICS .Contents p + a, .TOPICS-01 .Contents p + a { float: right; margin-left: auto; }
@media (max-width: 959px) { .TOP-TOPICS .Contents p + a, .TOPICS-01 .Contents p + a { display: none; } }
.TOP-TOPICS .Contents + a img, .TOPICS-01 .Contents + a img { display: block; margin: 70px auto 0 auto; }
@media (max-width: 959px) { .TOP-TOPICS .Contents + a img, .TOPICS-01 .Contents + a img { width: 70%; margin: 10vw auto 0 auto; } }

.TOPICS-01 .Contents { margin-top: 20px; }
@media (max-width: 959px) { .TOPICS-01 .Contents { margin-top: 3vw; } }
.TOPICS-01 .Contents dl { -webkit-transition: all .5s; transition: all .5s; }
.TOPICS-01 .Contents dl.is-hidden { visibility: hidden; opacity: 0; height: 0; margin: 0 !important; padding: 0 !important; }
.TOPICS-01 .more { display: block; cursor: pointer; padding: 1em; margin: 68px auto 90px auto; width: 300px; color: #00104c; text-align: center; letter-spacing: 0.05em; border: 1px solid #00104c; }
@media (max-width: 959px) { .TOPICS-01 .more { display: block; width: 75%; margin: 20vw auto 10vw auto; } }
.TOPICS-01 .more:hover { opacity: 0.7; }

.TOPICS-02 { padding: 145px 0 100px 0; background: #f7f7f7; }
@media (max-width: 959px) { .TOPICS-02 { padding: 10vw 0 16vw 0; } }
.TOPICS-02 .Contents { padding: 70px 50px 50px 50px; margin-top: 20px; font-size: 20px; line-height: 2.3em; background: #fff; }
@media (max-width: 959px) { .TOPICS-02 .Contents { padding: 0; margin-top: 0; background: none; font-size: 3.8vw; line-height: 2em; } }
.TOPICS-02 h1 { font-size: 30px; line-height: 1.7em; }
@media (max-width: 959px) { .TOPICS-02 h1 { font-size: 5vw; } }
.TOPICS-02 .date { margin: 20px 0 60px 0; font-size: 22px; }
@media (max-width: 959px) { .TOPICS-02 .date { margin: 5vw 0 6vw 0; font-size: 3.5vw; } }
.TOPICS-02 img { display: block; }
.TOPICS-02 p { margin: 3.4em 0; }
.TOPICS-02 .column { margin: 68px 0 90px 0; }
@media (max-width: 959px) { .TOPICS-02 .column { -webkit-box-direction: reverse; flex-direction: column-reverse; margin: 0 0 10vw 0; } }
.TOPICS-02 .column a:link, .TOPICS-02 .column a:visited { display: inline-block; padding: 1em; margin-top: 1em; width: 300px; color: #00104c; text-align: center; letter-spacing: 0.05em; border: 1px solid #00104c; }
@media (max-width: 959px) { .TOPICS-02 .column a:link, .TOPICS-02 .column a:visited { display: block; width: 75%; margin: 10vw auto 0 auto; } }
.TOPICS-02 .column a:hover { opacity: 0.7; }

.SUB-head { position: relative; }
.SUB-head .Thumbnail { width: 100%; }
.SUB-head .Thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.SUB-head .Title { position: absolute; top: 0; left: 0; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; width: 100%; height: 100%; z-index: 100; }
.SUB-head .Title h2 { color: #fff; font-size: 32px; text-align: center; }
@media (max-width: 959px) { .SUB-head .Title h2 { font-size: 5.5vw; } }
.SUB-head .Title i { display: block; margin-top: 0.5em; font-size: 12px; letter-spacing: 0.2em; font-family: 'Lato', sans-serif; }
@media (max-width: 959px) { .SUB-head .Title i { font-size: 0.5em; } }

.ABOUT-01 { margin-top: 150px; text-align: center; }
@media (max-width: 959px) { .ABOUT-01 { margin-top: 12vw; } }
@media (max-width: 959px) { .ABOUT-01 img { display: block; width: 88%; margin: 0 auto; } }
.ABOUT-01 .Contents { margin-top: -170px; padding: 230px 0 130px 0; background: #f7f7f7; }
@media (max-width: 959px) { .ABOUT-01 .Contents { margin-top: -30vw; padding: 40vw 5.5% 15vw 5.5%; } }
.ABOUT-01 .Contents p { line-height: 2em; }
@media (max-width: 959px) { .ABOUT-01 .Contents p { font-size: 3vw; } }

.ABOUT-02 h2 { margin: 190px auto 90px auto; font-size: 32px; text-align: center; }
@media (max-width: 959px) { .ABOUT-02 h2 { font-size: 5vw; margin: 16vw auto 10vw auto; } }
.ABOUT-02 h2 i { display: block; margin-top: 0.5em; font-size: 12px; letter-spacing: 0.2em; font-family: 'Lato', sans-serif; }
@media (max-width: 959px) { .ABOUT-02 h2 i { font-size: 0.5em; } }
.ABOUT-02 ul { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; }
.ABOUT-02 ul li { width: 48%; padding: 0 50px 50px 50px; margin-bottom: 40px; background: #f7f7f7; }
@media (max-width: 959px) { .ABOUT-02 ul li { padding: 3vw 5% 8vw 5%; margin-bottom: 7vw; } }
.ABOUT-02 ul .ico { isplay: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; height: 165px; }
@media (max-width: 959px) { .ABOUT-02 ul .ico { height: 14vw; } }
@media (max-width: 959px) { .ABOUT-02 ul .ico img { width: 6.5vw; } }
.ABOUT-02 ul h3 { margin-bottom: 1.5em; font-size: 24px; text-align: center; letter-spacing: -1px; }
@media (max-width: 959px) { .ABOUT-02 ul h3 { font-size: 3.8vw; line-height: 1.5em; margin-bottom: 0.9em; } }
@media (max-width: 959px) { .ABOUT-02 ul p { font-size: 2.8vw; line-height: 1.8em; } }

.ABOUT-03 { margin: 110px auto 140px auto; }
@media (max-width: 959px) { .ABOUT-03 { margin: 10vw auto 15vw auto; } }
.ABOUT-03 dl { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: start; align-items: flex-start; }
@media (max-width: 959px) { .ABOUT-03 dl { -webkit-flex-direction: column; flex-direction: column; } }
.ABOUT-03 dl dt { width: 500px; }
@media (max-width: 959px) { .ABOUT-03 dl dt { width: 100%; } }
.ABOUT-03 dl dd { flex: 1; margin: 0 0 0 60px; }
@media (max-width: 959px) { .ABOUT-03 dl dd { margin: 7.5vw 0 0 0; } }
.ABOUT-03 dl:nth-child(even) { -webkit-flex-direction: row-reverse; flex-direction: row-reverse; }
@media (max-width: 959px) { .ABOUT-03 dl:nth-child(even) { -webkit-flex-direction: column; flex-direction: column; } }
.ABOUT-03 dl:nth-child(even) dd { margin: 0 60px 0 0; }
@media (max-width: 959px) { .ABOUT-03 dl:nth-child(even) dd { margin: 7.5vw 0 0 0; } }
.ABOUT-03 dl + dl { margin-top: 100px; padding-top: 100px; border-top: 1px solid #eee; }
@media (max-width: 959px) { .ABOUT-03 dl + dl { margin-top: 12vw; padding-top: 13vw; } }
.ABOUT-03 h2 { margin-bottom: 1.5em; font-size: 24px; line-height: 1.5em; }
@media (max-width: 959px) { .ABOUT-03 h2 { font-size: 4.5vw; margin-bottom: 1.3em; } }
@media (max-width: 959px) { .ABOUT-03 p { font-size: 3.3vw; line-height: 2em; } }

.PLAN-01 { padding: 0 0 100px 0; text-align: center; }
@media (max-width: 959px) { .PLAN-01 { padding: 0 0 15vw 0; } }
.PLAN-01 p { margin: 90px auto; }
@media (max-width: 959px) { .PLAN-01 p { margin: 10vw auto 15vw auto; font-size: 3.4vw; } }
.PLAN-01 ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
@media (max-width: 959px) { .PLAN-01 ul { -webkit-flex-direction: column; flex-direction: column; } }
.PLAN-01 ul li { width: 48%; }
@media (max-width: 959px) { .PLAN-01 ul li { width: 100%; } }
@media (max-width: 959px) { .PLAN-01 ul li + li { margin-top: 2em; } }
.PLAN-01 ul a { display: block; padding: 1em; color: #7b3600; text-align: center; border: 1px solid #7b3600; }
@media (max-width: 959px) { .PLAN-01 ul a { width: 75%; margin: 0 auto; } }
.PLAN-01 ul a:hover { opacity: 0.7; }

.PLAN-02 { overflow: hidden; position: relative; padding-bottom: 100px; }
@media (max-width: 959px) { .PLAN-02 { padding-bottom: 30vw; } }
.PLAN-02:before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 460px; background: #f7f7f7; }
@media (max-width: 959px) { .PLAN-02:before { height: 150vw; } }
.PLAN-02 h2 { position: relative; margin: 95px auto 85px auto; font-size: 33px; text-align: center; }
@media (max-width: 959px) { .PLAN-02 h2 { font-size: 5vw; margin: 14vw auto 8vw auto; } }
.PLAN-02 h2 i { display: block; margin-top: 0.5em; font-size: 12px; letter-spacing: 0.2em; font-family: 'Lato', sans-serif; }
@media (max-width: 959px) { .PLAN-02 h2 i { font-size: 0.5em; } }
.PLAN-02 dl { position: relative; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: start; align-items: flex-start; }
@media (max-width: 959px) { .PLAN-02 dl { -webkit-box-direction: reverse; flex-direction: column-reverse; } }
.PLAN-02 dl dt { flex: 1; margin: 0 60px 0 0; }
@media (max-width: 959px) { .PLAN-02 dl dt { width: 100%; margin: 7.5vw 0 0 0; } }
.PLAN-02 dl dd { width: 500px; }
@media (max-width: 959px) { .PLAN-02 dl dd { width: 100%; } }
.PLAN-02 dl a { color: #333; border-bottom: 1px solid #333; }
.PLAN-02 dl a.btn { display: inline-block; padding: 1em; margin-top: 1em; width: 300px; color: #7b3600; text-align: center; border: 1px solid #7b3600; }
@media (max-width: 959px) { .PLAN-02 dl a.btn { display: block; width: 75%; margin: 1em auto 0 auto; } }
.PLAN-02 dl a:hover { opacity: 0.7; }
.PLAN-02 dl:nth-child(even) { -webkit-flex-direction: row-reverse; flex-direction: row-reverse; }
@media (max-width: 959px) { .PLAN-02 dl:nth-child(even) { -webkit-box-direction: reverse; flex-direction: column-reverse; } }
.PLAN-02 dl:nth-child(even) dt { margin: 0 0 0 60px; }
@media (max-width: 959px) { .PLAN-02 dl:nth-child(even) dt { margin: 7.5vw 0 0 0; } }
.PLAN-02 dl + dl { margin-top: 50px; }
@media (max-width: 959px) { .PLAN-02 dl + dl { margin-top: 12vw; } }
@media (max-width: 959px) { .PLAN-02 p { font-size: 3.3vw; line-height: 2em; } }

.PRICE-01 { margin: 150px auto; }
@media (max-width: 959px) { .PRICE-01 { margin: 10vw auto 15vw auto; } }
.PRICE-01 dl { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: start; align-items: flex-start; }
@media (max-width: 959px) { .PRICE-01 dl { -webkit-flex-direction: column; flex-direction: column; } }
.PRICE-01 dl dt { width: 500px; }
@media (max-width: 959px) { .PRICE-01 dl dt { width: 100%; } }
.PRICE-01 dl dd { flex: 1; margin: 0 0 0 60px; }
@media (max-width: 959px) { .PRICE-01 dl dd { margin: 8vw 0 0 0; } }
.PRICE-01 h2 { margin: 3.5em auto 1.8em auto; font-size: 24px; line-height: 1.5em; }
@media (max-width: 959px) { .PRICE-01 h2 { margin: 0 auto 2em auto; font-size: 4.5vw; text-align: center; } }
@media (max-width: 959px) { .PRICE-01 p { font-size: 3.3vw; line-height: 2em; text-align: center; } }

.PRICE-02 { padding: 150px 0 0 0; background: #f7f7f7; }
@media (max-width: 959px) { .PRICE-02 { padding: 13vw 0 0 0; } }
@media (max-width: 959px) { .PRICE-02 .inner { width: 100%; margin: 0; } }
.PRICE-02 .swiper-custom-parent { position: relative; width: 900px; margin: 0 auto; }
@media (max-width: 959px) { .PRICE-02 .swiper-custom-parent { width: 100%; } }
.PRICE-02 .slider { position: relative; overflow: hidden; height: 580px; }
@media (max-width: 959px) { .PRICE-02 .slider { width: 90%; height: 60vw; } }
.PRICE-02 .slider .swiper-slide { display: flex; align-items: flex-start; justify-content: center; text-align: center; line-height: 1; }
.PRICE-02 .slider img { display: inline; width: auto; max-width: 100%; max-height: 100%; align-self: center; }
.PRICE-02 .slider-thumbnail { margin-top: 50px; }
@media (max-width: 959px) { .PRICE-02 .slider-thumbnail { margin-top: 5vw; } }
.PRICE-02 .slider-thumbnail .swiper-slide { position: relative; width: 150px; height: auto; cursor: pointer; }
@media (max-width: 959px) { .PRICE-02 .slider-thumbnail .swiper-slide { width: 20vw; } }
.PRICE-02 .slider-thumbnail .swiper-slide:before { content: ''; background-color: rgba(0, 0, 0, 0.3); position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; }
.PRICE-02 .swiper-slide-thumb-active { opacity: 0.7; }
.PRICE-02 .swiper-button-next { position: absolute; right: -50px; top: 700px; }
@media (max-width: 959px) { .PRICE-02 .swiper-button-next { display: none; } }
.PRICE-02 .swiper-button-prev { position: absolute; left: -50px; top: 700px; }
@media (max-width: 959px) { .PRICE-02 .swiper-button-prev { display: none; } }

.PRICE-03 { overflow: hidden; background: #f7f7f7; }
.PRICE-03 .inner { padding: 100px 100px 185px 100px; margin: 160px auto 130px auto; background: #fff; }
@media (max-width: 959px) { .PRICE-03 .inner { padding: 2vw 4vw 8vw 4vw; margin: 13vw auto 20vw auto; } }
.PRICE-03 dl { margin-bottom: 1.8em; border-bottom: 1px solid #eee; }
.PRICE-03 dt { clear: both; float: left; width: 15%; padding: 1.5em 1em; border-top: 1px solid #eee; }
@media (max-width: 959px) { .PRICE-03 dt { width: 20%; padding: 1.5em 0; font-size: 3.1vw; } }
.PRICE-03 dd { float: left; width: 85%; margin: 0; padding: 1.5em 0; border-top: 1px solid #eee; }
@media (max-width: 959px) { .PRICE-03 dd { width: 80%; padding: 1.5em 0; font-size: 3.1vw; } }
.PRICE-03 dt:first-of-type, .PRICE-03 dd:first-of-type { border: none; }
.PRICE-03 table td { width: 20%; vertical-align: top; }
@media (max-width: 959px) { .PRICE-03 table td { width: 28%; } }
.PRICE-03 table td + td { width: 80%; }
@media (max-width: 959px) { .PRICE-03 table td + td { width: 72%; } }
.PRICE-03 p { color: #989898; }
@media (max-width: 959px) { .PRICE-03 p { font-size: 3vw; } }
.PRICE-03 a { display: inline-block; padding-bottom: 0.1em; color: #989898; border-bottom: 1px solid #989898; }
.PRICE-03 a:hover { opacity: 0.7; }

.COMPANY-01 { overflow: hidden; background: #f7f7f7; }
.COMPANY-01 .inner { padding: 70px 100px 100px 100px; margin: 160px auto 180px auto; background: #fff; }
@media (max-width: 959px) { .COMPANY-01 .inner { padding: 2vw 4vw 13vw 4vw; margin: 13vw auto 15vw auto; } }
.COMPANY-01 dl { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: center; align-items: center; }
.COMPANY-01 dt { clear: both; float: left; width: 15%; padding: 1.5em 1em; }
@media (max-width: 959px) { .COMPANY-01 dt { width: 20%; padding: 1.5em 0; font-size: 3.1vw; } }
.COMPANY-01 dd { float: left; width: 85%; margin: 0; padding: 1.5em 0; }
@media (max-width: 959px) { .COMPANY-01 dd { width: 80%; padding: 1.5em 0; font-size: 3.1vw; } }
.COMPANY-01 dl + dl { border-top: 1px solid #eee; }
.COMPANY-01 dl:last-of-type { border-bottom: 1px solid #eee; }

.WORKS-01 { margin-top: 55px; text-align: center; }
@media (max-width: 959px) { .WORKS-01 { margin-top: 6vw; } }
.WORKS-01 .inner { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; max-width: 1080px; }
.WORKS-01 a:link, .WORKS-01 a:visited { display: block; cursor: pointer; margin: 30px 20px 0 20px; padding: 15px; width: 320px; color: #7b3600; background: #fff; border: 1px solid #7b3600; -webkit-transition: all .3s; transition: all .3s; }
@media (max-width: 959px) { .WORKS-01 a:link, .WORKS-01 a:visited { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; width: 30%; height: 18vw; margin: 4.5vw 1.5vw 0 1.5vw; padding: 0 1vw; font-size: 3.3vw; } }
.WORKS-01 a:hover { opacity: 0.7; }

.WORKS-02 { margin-top: -40px; margin-bottom: 240px; text-align: center; }
@media (max-width: 959px) { .WORKS-02 { margin-top: 0; margin-bottom: 20vw; } }
.WORKS-02 h2 { margin: 180px auto 70px auto; font-size: 32px; text-align: center; }
@media (max-width: 959px) { .WORKS-02 h2 { font-size: 5vw; margin: 15vw auto 10vw auto; } }
.WORKS-02 h2 i { display: block; margin-top: 0.5em; font-size: 12px; letter-spacing: 0.2em; font-family: 'Lato', sans-serif; }
@media (max-width: 959px) { .WORKS-02 h2 i { font-size: 0.5em; } }
.WORKS-02 h3 { margin: 0 auto 70px auto; font-size: 24px; line-height: 1.5em; }
@media (max-width: 959px) { .WORKS-02 h3 { font-size: 4vw; margin-bottom: 10vw; } }
.WORKS-02 ul + h3 { margin-top: 140px; }
@media (max-width: 959px) { .WORKS-02 ul + h3 { margin-top: 15vw; } }
.WORKS-02 h2 + h3 { margin-top: 30px; }
.WORKS-02 img { width: 100%; height: auto; }
.WORKS-02 ul.Pattern-01 { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.WORKS-02 ul.Pattern-01 li { width: 20%; }
@media (max-width: 959px) { .WORKS-02 ul.Pattern-01 li { width: 50%; } }
.WORKS-02 ul.Pattern-02 { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.WORKS-02 ul.Pattern-02 li { width: 40.93%; }
@media (max-width: 959px) { .WORKS-02 ul.Pattern-02 li { width: 100%; } }
.WORKS-02 ul.Pattern-02 li + li { width: 59.07%; }
@media (max-width: 959px) { .WORKS-02 ul.Pattern-02 li + li { width: 100%; } }
.WORKS-02 ul.Pattern-02 ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; width: 100%; }
@media (max-width: 959px) { .WORKS-02 ul.Pattern-02 ul { width: 100%; } }
.WORKS-02 ul.Pattern-02 ul li, .WORKS-02 ul.Pattern-02 ul li + li { width: calc(100% / 3); }
@media (max-width: 959px) { .WORKS-02 ul.Pattern-02 ul li, .WORKS-02 ul.Pattern-02 ul li + li { width: 50%; } }
.WORKS-02 ul.Pattern-03 { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.WORKS-02 ul.Pattern-03 li { width: 54.65%; }
@media (max-width: 959px) { .WORKS-02 ul.Pattern-03 li { width: 100%; } }
.WORKS-02 ul.Pattern-03 li + li { width: 45.35%; }
@media (max-width: 959px) { .WORKS-02 ul.Pattern-03 li + li { width: 100%; } }
.WORKS-02 ul.Pattern-03 ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; width: 100%; }
@media (max-width: 959px) { .WORKS-02 ul.Pattern-03 ul { width: 100%; } }
.WORKS-02 ul.Pattern-03 ul li, .WORKS-02 ul.Pattern-03 ul li + li { width: 50%; }
@media (max-width: 959px) { .WORKS-02 ul.Pattern-03 ul li, .WORKS-02 ul.Pattern-03 ul li + li { width: 50%; } }
.WORKS-02 ul.Pattern-04 { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.WORKS-02 ul.Pattern-04 li:first-child { width: 21.25%; }
@media (max-width: 959px) { .WORKS-02 ul.Pattern-04 li:first-child { width: 100%; } }
.WORKS-02 ul.Pattern-04 li + li { width: 78.75%; }
@media (max-width: 959px) { .WORKS-02 ul.Pattern-04 li + li { width: 100%; } }
.WORKS-02 ul.Pattern-04 ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; width: 100%; }
.WORKS-02 ul.Pattern-04 ul li, .WORKS-02 ul.Pattern-04 ul li + li, .WORKS-02 ul.Pattern-04 ul li:first-child { width: 25%; }
@media (max-width: 959px) { .WORKS-02 ul.Pattern-04 ul li, .WORKS-02 ul.Pattern-04 ul li + li, .WORKS-02 ul.Pattern-04 ul li:first-child { width: 50%; } }

.PRIVACY-01 { overflow: hidden; background: #f7f7f7; }
.PRIVACY-01 .inner { padding: 70px 60px 100px 60px; margin: 160px auto 180px auto; background: #fff; }
@media (max-width: 959px) { .PRIVACY-01 .inner { padding: 0 2.6vw; margin: 10vw auto 20vw auto; background: none; } }
.PRIVACY-01 p { line-height: 2.5em; }
@media (max-width: 959px) { .PRIVACY-01 p { line-height: 2em; } }

.CONTACT-01 { overflow: hidden; margin: 145px auto 90px auto; text-align: center; }
@media (max-width: 959px) { .CONTACT-01 { margin: 0 auto 16vw auto; } }
.CONTACT-01 .inner { max-width: 640px; }
.CONTACT-01 h2 { position: relative; margin: 0 auto 60px auto; font-size: 33px; text-align: center; }
@media (max-width: 959px) { .CONTACT-01 h2 { font-size: 5vw; margin: 14vw auto 8vw auto; } }
.CONTACT-01 p { line-height: 2em; }
@media (max-width: 959px) { .CONTACT-01 p { font-size: 3.4vw; } }
.CONTACT-01 p + a:link, .CONTACT-01 p + a:visited { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; margin: 1em auto 0.4em auto; color: #00104c; font-size: 38px; font-weight: bold; font-family: "Arial", "メイリオ"; }
@media (max-width: 959px) { .CONTACT-01 p + a:link, .CONTACT-01 p + a:visited { font-size: 8vw; margin: 8vw auto 5vw auto; } }
.CONTACT-01 p + a:before { content: url(../img/tel.png); margin-right: 10px; }
.CONTACT-01 p + a:hover { opacity: 0.7; }
.CONTACT-01 strong { display: block; margin: 2em auto 2.1em auto; color: #00104c; font-size: 22px; font-weight: bold; font-family: "Arial", "メイリオ"; }
@media (max-width: 959px) { .CONTACT-01 strong { margin: 1em auto 2.4em auto; font-size: 5.2vw; line-height: 1.7em; letter-spacing: 0.05em; } }
.CONTACT-01 .SNS-box { padding: 50px 50px 55px 50px; text-align: center; background: #f7f7f7; }
@media (max-width: 959px) { .CONTACT-01 .SNS-box { padding: 8vw 7vw; } }
.CONTACT-01 .SNS-box ul { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; margin: 40px auto 25px auto; }
@media (max-width: 959px) { .CONTACT-01 .SNS-box ul { margin: 6vw auto 4vw auto; } }
@media (max-width: 959px) { .CONTACT-01 .SNS-box ul + p { font-size: 2.5vw; } }
.CONTACT-01 .SNS-box li p { color: #00c76b; margin-top: 1.5em; }
.CONTACT-01 .SNS-box li + li { margin-left: 40px; }
@media (max-width: 959px) { .CONTACT-01 .SNS-box li + li { margin-left: 8vw; } }
.CONTACT-01 .SNS-box li + li p { color: #2d8cff; }
@media (max-width: 959px) { .CONTACT-01 .SNS-box li img { width: 15vw; height: auto; } }

.CONTACT-02 { background: #f7f7f7; text-align: center; }
.CONTACT-02 .inner-s { overflow: hidden; padding-bottom: 150px; }
@media (max-width: 959px) { .CONTACT-02 .inner-s { padding-bottom: 15vw; } }
.CONTACT-02 h2 { position: relative; margin: 95px auto 0 auto; font-size: 33px; text-align: center; }
@media (max-width: 959px) { .CONTACT-02 h2 { font-size: 5vw; margin: 13vw auto 8vw auto; } }
.CONTACT-02 p { line-height: 2em; }
@media (max-width: 959px) { .CONTACT-02 p { line-height: 1.8em; } }
.CONTACT-02 form { padding: 100px; margin: 100px auto 0 auto; text-align: left; background: #fff; }
@media (max-width: 959px) { .CONTACT-02 form { padding: 5vw 4vw; margin: 15vw auto 0 auto; } }
.CONTACT-02 .Err-Msg { padding: 1em; margin: 2.5em 0 0 0; color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7; }
.CONTACT-02 dl { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; }
.CONTACT-02 dl dt { width: 30%; padding: 20px 0 20px; text-align: right; }
@media (max-width: 959px) { .CONTACT-02 dl dt { width: 35%; padding: 4vw 0; font-size: 3.4vw; text-align: left; } }
.CONTACT-02 dl dd { flex: 1; padding: 20px 0 20px 20px; }
.CONTACT-02 dl + dl { border-top: 1px solid #eee; }
.CONTACT-02 dl:last-of-type { -webkit-box-align: start; align-items: flex-start; margin-bottom: 20px; }
@media (max-width: 959px) { .CONTACT-02 dl:last-of-type { -webkit-box-align: center; align-items: center; } }
.CONTACT-02 dl:last-of-type dt { padding: 20px 0 20px; }
.CONTACT-02 i { margin-left: 1em; color: #aaa; font-size: 13px; }
@media (max-width: 959px) { .CONTACT-02 i { margin: 0; font-size: 3vw; } }
.CONTACT-02 i.required { color: #c63030; }
.CONTACT-02 .privacy { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; align-items: center; }
.CONTACT-02 .privacy a:link, .CONTACT-02 .privacy a:visited { color: #333; border-bottom: 1px solid #333; }
.CONTACT-02 .privacy a:hover { opacity: 0.7; }
.CONTACT-02 input[type="text"], .CONTACT-02 input[type="email"], .CONTACT-02 input[type="tel"], .CONTACT-02 textarea, .CONTACT-02 button { margin: 0; padding: 0; border: none; border-radius: 0; background: none; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; font-size: 1em; }
.CONTACT-02 input[type="text"], .CONTACT-02 input[type="email"], .CONTACT-02 input[type="tel"], .CONTACT-02 textarea { padding: 0.8em 1em 0.7em 1em; width: 100%; outline: none; color: #333; border: 1px solid #ddd; background: #f7f7f7; -webkit-transition: all .3s; transition: all .3s; }
.CONTACT-02 input[type="text"]:focus, .CONTACT-02 input[type="email"]:focus, .CONTACT-02 input[type="tel"]:focus, .CONTACT-02 textarea:focus { border: 1px solid #ddd; box-shadow: 0 0 7px #ddd; }
.CONTACT-02 input[type="text"]::placeholder, .CONTACT-02 input[type="email"]::placeholder, .CONTACT-02 input[type="tel"]::placeholder, .CONTACT-02 textarea::placeholder { color: #ccc; }
.CONTACT-02 textarea { height: 150px; }
.CONTACT-02 input[type="checkbox"] { display: none; }
.CONTACT-02 label { position: relative; display: inline-block; padding: 3px 3px 3px 2.5em; cursor: pointer; -webkit-transition: all .2s; transition: all .2s; }
.CONTACT-02 label::before, .CONTACT-02 label::after { position: absolute; content: ''; -webkit-transition: all .2s; transition: all .2s; }
.CONTACT-02 label::before { top: 50%; left: 0; width: 2em; height: 2em; margin-top: -1em; background: #fff; border: 1px solid #ddd; }
.CONTACT-02 label::after { opacity: 0; top: 0em; left: 0.5em; width: 1em; height: 0.5em; margin-top: -4px; border-left: 3px solid #aaa; border-bottom: 3px solid #aaa; -webkit-transform: rotate(-45deg) scale(0.5); transform: rotate(-45deg) scale(0.5); }
@media (max-width: 959px) { .CONTACT-02 label::after { top: -0.2em; } }
@media (max-width: 560px) { .CONTACT-02 label::after { top: 0.1em; } }
.CONTACT-02 label:hover::before { background: #fff; }
.CONTACT-02 input[type="checkbox"]:checked + label::before { background: #fff; border: 1px solid #aaa; }
.CONTACT-02 input[type="checkbox"]:checked + label::after { opacity: 1; -webkit-transform: rotate(-45deg) scale(1); transform: rotate(-45deg) scale(1); }
.CONTACT-02 input[type="submit"] { display: block; cursor: pointer; margin: 50px  auto 0 auto; padding: 20px; width: 320px; color: #00104c; background: #fff; border: 1px solid #00104c; -webkit-transition: all .3s; transition: all .3s; }
@media (max-width: 959px) { .CONTACT-02 input[type="submit"] { width: 80% !important; margin: 10vw auto; padding: 4vw; font-size: 3.5vw; } }
.CONTACT-02 input[type="submit"]:hover { opacity: 0.7; }
