@charset "UTF-8";
/* 1.Reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }

body article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

body { line-height: 1; font-family: 'Noto Sans JP',YuGothic,'Yu Gothic','Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Arial',sans-serif; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: unset; }

@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) { .body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after { content: ''; content: none; }

q:before, q:after { content: ''; content: none; }

table { border-collapse: collapse; border-spacing: 0; }

a:link, a:visited, a:hover { text-decoration: none; color: inherit; color: initial; }

a img { border-width: 0px; border-style: none; border-color: #fff; background: transparent; outline: none; }

img, *:focus { outline: none; }

p { font-size: 16px; transform: rotate(0.05deg); }

h1, h2, h3, h4, h5 { transform: rotate(0.05deg); }

/* 1.breakpoint */
/* 2.Common style */
* { line-height: 2.5rem; font-size: 1.4rem; font-family: "游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif; }

html { font-size: 62.5%; }

.center { text-align: center; }

.box50 { width: 50%; max-width: 50%; }

.box33 { width: 33%; max-width: 33%; }

.box25 { width: 25%; max-width: 25%; }

.flex { display: -webkit-flex; display: flex; }

.sp { display: none !important; }

@media (max-width: 680px) { .pc { display: none !important; }
  .sp { display: block !important; } }

/* Main */
main { display: block; background-color: #ba272d; padding-top: 60px; }

/* Footer */
footer { line-height: 50px; text-align: center; background-color: #000; }

footer .container { padding: 20px 0 0 0; }

footer p { color: #fff; font-size: 12px; /* font-weight: normal; */ letter-spacing: .2rem; text-align: center; font-family: monospace; line-height: 3rem; padding: 50px 0; }

@media screen and (max-width: 680px) { footer p { font-size: 10px; letter-spacing: 0; line-height: 2rem; padding: 20px; } }

footer img { padding: 0 4px; }

@media screen and (min-width: 681px) and (max-width: 1110px) { .container { width: 90% !important; } }

@media (max-width: 680px) { html { min-width: 100%; }
  .container { width: 90%; } }

/* pagetopボタン */
.fa-chevron-up:before { content: "\f077"; font-size: 30px; }

#pageTop { position: fixed; bottom: 20px; right: 20px; width: auto; }

#pageTop i { padding-top: 6px; }

#pageTop a { display: block; z-index: 999; padding: 10px 5px 0px 5px; border-radius: 60px; width: 60px; height: 60px; background-color: #fff; color: #af272d; font-weight: bold; text-decoration: none; text-align: center; border: 1px solid; }

#pageTop a:hover { text-decoration: none; opacity: 0.7; }

footer { background-image: url(../images/common/bk_footer.png); background-size: cover; }

.hover1 { cursor: pointer; transition: all 0.3s ease 0s; }

.hover1:hover { opacity: 0.6; }

#particles-js { position: absolute; width: 100%; height: 100%; background-image: url(""); background-repeat: no-repeat; background-size: cover; background-position: 50% 50%; }

#conversion { background-color: #f5f5f5; padding: 40px 0; text-align: center; }

#conversion p { letter-spacing: .1rem; }

#conversion .footer_btn { display: flex; flex-wrap: wrap; justify-content: center; }

#conversion .footer_btn .mail_btn, #conversion .footer_btn .tell_btn { background-color: #fff; min-width: 200px; justify-content: center; align-items: center; margin: 20px 10px 0 10px; }

#conversion .footer_btn .mail_btn:hover, #conversion .footer_btn .tell_btn:hover { color: #fff; background-color: #ba272d; transition: all 0.3s; box-shadow: none; }

#conversion .footer_btn .mail_btn i, #conversion .footer_btn .tell_btn i { font-size: 2rem; }

.fadeIn { transition: 1s; opacity: 0; }

.fadeIn.animated { opacity: 1; }

.commingsoon { width: 80%; max-width: 500px; padding: 50px; display: flex; margin: 0 auto; }

.title { background-position: center; }

h1 { padding: 100px 0 50px; font-size: 1.6rem; color: #fff; text-align: center; vertical-align: middle; }

h1 span { font-size: 6rem; font-family: 'Roboto Condensed', sans-serif; font-weight: bold; letter-spacing: 1rem; }

@media (max-width: 680px) { h1 { padding: 50px 0 30px; font-size: 1.4rem; letter-spacing: .2rem; }
  h1 span { font-size: 3rem; letter-spacing: .1rem; }
  .title { background-position: center; background-size: cover; } }

.title { background-image: url(../images/philosophy/h1_philosophy.png); }

#message { text-align: center; background-position: center bottom; background-repeat: no-repeat; margin: 0 auto; position: relative; }

#message::after { position: absolute; content: ""; width: 90%; height: 22vw; bottom: 0; left: 5%; background-position: bottom; background-repeat: no-repeat; background-size: contain; background-image: url(../images/top/img_message1.png); }

@media screen and (max-width: 680px) { #message::after { width: 94%; height: 45%; left: 0; right: 0; margin: auto; background-image: url(../images/top/sp_img_message1.png); } }

#message .message_box { margin: 0 auto; padding: 6% 0 3%; position: relative; }

#message .message_box:before, #message .message_box:after { position: absolute; content: ""; top: 0; bottom: 0; margin: auto; background-position: bottom; background-repeat: no-repeat; background-size: contain; bottom: 22vw; }

#message .message_box:before { background-image: url(../images/top/img_message2.png); left: 2%; width: 16%; }

@media screen and (max-width: 680px) { #message .message_box:before { background-image: url(../images/top/sp_img_message2.png); left: 0; width: 100%; height: 45vw; bottom: auto; } }

#message .message_box:after { background-image: url(../images/top/img_message3.png); right: 2%; width: 16%; }

@media screen and (max-width: 680px) { #message .message_box:after { display: none; } }

#message img { width: 100%; max-width: 800px; }

#message p { color: #fff; line-height: 4rem; padding: 20px 0 15vw; font-size: 1.6rem; letter-spacing: .1rem; }

@media screen and (max-width: 680px) { #message p { line-height: 2.5rem; letter-spacing: 0; text-align: justify; margin-bottom: 47%; padding-bottom: 22vw; } }

#message p span { font-size: 1.8rem; font-weight: bold; border-bottom: 2px dotted; padding-bottom: 4px; }

@media screen and (max-width: 680px) { #message p span { letter-spacing: 0; line-height: .5rem; font-size: 1.6rem; padding-bottom: 2px; } }

@media screen and (max-width: 680px) { #message .message_box { width: 90%; margin: 30px auto 0; padding: 49vw 0 10px; }
  .message_txt2 { padding-bottom: 50px; } }
