/*================================================================================

media query mixin

================================================================================*/
/*    google font on web
--------------------------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Marcellus&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap");
/*    google font on server
--------------------------------------------------------------------------------*/
/*    icomoon
--------------------------------------------------------------------------------*/
/*    custom
--------------------------------------------------------------------------------*/
.philosophy .block01, .philosophy .block02 { text-align: center; }
.philosophy .block01 p, .philosophy .block02 p { margin-bottom: 20px; }
.philosophy .block01 { margin-bottom: 60px; }
.philosophy .block01 p span { font-size: 20px; font-weight: bold; }
.philosophy .rinenWrap01 { margin-top: -30px; }
.philosophy .rinenWrap01 .tit { font-size: 34px; font-weight: bold; text-align: center; }
@media screen and (max-width: 768px) { .philosophy .rinenWrap01 .tit { font-size: 30px; } }
.philosophy .rinenWrap01 .subtit { font-size: 20px; font-weight: bold; text-align: center; }
@media screen and (max-width: 768px) { .philosophy .rinenWrap01 .subtit { font-size: 18px; } }
.philosophy .mvvList { margin-top: 40px; }
@media screen and (max-width: 768px) { .philosophy .mvvList { margin-bottom: 60px; } }
.philosophy .mvvList .item { background: rgba(158, 158, 159, 0.1); padding: 25px; position: relative; min-height: 200px; }
@media screen and (max-width: 768px) { .philosophy .mvvList .item { padding: 20px; min-height: auto; } }
.philosophy .mvvList .item:nth-child(3) { min-height: 280px; }
@media screen and (max-width: 768px) { .philosophy .mvvList .item:nth-child(3) { min-height: auto; } }
.philosophy .mvvList .item .tit { font-size: 30px; font-weight: normal; float: left; position: absolute; width: 150px; left: 80px; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
@media screen and (max-width: 768px) { .philosophy .mvvList .item .tit { font-size: 24px; position: relative; float: none; width: auto; left: auto; top: auto; -webkit-transform: none; transform: none; text-align: center; margin-bottom: 10px; } }
.philosophy .mvvList .item .tit span { position: relative; }
.philosophy .mvvList .item .tit span::before { content: ""; position: absolute; width: 10px; height: 10px; border-radius: 10px; background: #db0c15; top: -5px; left: -15px; }
@media screen and (max-width: 768px) { .philosophy .mvvList .item .tit span::before { width: 8px; height: 8px; top: 0; } }
.philosophy .mvvList .item .txtBox { margin-left: 220px; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
@media screen and (max-width: 768px) { .philosophy .mvvList .item .txtBox { margin-left: auto; position: relative; top: auto; -webkit-transform: none; transform: none; } }
.philosophy .mvvList .item .txtBox .txt01 { font-size: 24px; font-weight: bold; margin-bottom: 10px; }
@media screen and (max-width: 768px) { .philosophy .mvvList .item .txtBox .txt01 { font-size: 20px; text-align: center; } }
.philosophy .mvvList .item .txtBox .txt02 { font-weight: bold; }
@media screen and (max-width: 768px) { .philosophy .mvvList .item .txtBox .txt02 + .txtIndent { text-indent: -3.5em; padding-left: 3.5em; } }
.philosophy .mvvList .item + .item { margin-top: 20px; }
.philosophy .rinenWrap02 { margin-top: -30px; margin-bottom: 60px; }
@media screen and (max-width: 768px) { .philosophy .rinenWrap02 { margin-bottom: 40px; } }
.philosophy .rinenWrap02 .tit { font-size: 34px; font-weight: bold; }
@media screen and (max-width: 768px) { .philosophy .rinenWrap02 .tit { font-size: 20px; } }
@media screen and (max-width: 768px) { .philosophy .rinenWrap02 .tit + .txtIndent { padding-left: 1em; text-indent: -1em; } }
.philosophy .jinzaiList { position: relative; min-height: 700px; }
@media screen and (max-width: 768px) { .philosophy .jinzaiList { margin-bottom: 60px; } }
.philosophy .jinzaiList .item { position: absolute; width: 280px; height: 280px; border-radius: 250px; padding: 50px 30px; background: rgba(158, 158, 159, 0.1); }
@media screen and (max-width: 768px) { .philosophy .jinzaiList .item { position: relative; width: 200px; height: 200px; border-radius: 50%; } }
.philosophy .jinzaiList .item .tit { font-size: 20px; font-weight: bold; margin-bottom: 20px; text-align: center; }
@media screen and (max-width: 768px) { .philosophy .jinzaiList .item .tit { margin-bottom: 10px; } }
.philosophy .jinzaiList .item .txt { text-align: center; }
.philosophy .jinzaiList .item.-red { width: 350px; height: 350px; background: rgba(219, 12, 21, 0.1); top: 0; left: 50%; margin-left: -175px; padding: 60px 30px; }
@media screen and (max-width: 768px) { .philosophy .jinzaiList .item.-red { width: 300px; height: 300px; left: auto; margin: 0 auto; padding: 50px 20px; } }
.philosophy .jinzaiList .item.-red .tit { color: #db0c15; font-size: 30px; }
@media screen and (max-width: 768px) { .philosophy .jinzaiList .item.-red .tit { font-size: 24px; } }
.philosophy .jinzaiList .item.-red .txt { font-size: 20px; }
@media screen and (max-width: 768px) { .philosophy .jinzaiList .item.-red .txt { font-size: 18px; } }
.philosophy .jinzaiList .item:nth-child(2) { top: 245px; left: 100px; }
@media screen and (max-width: 768px) { .philosophy .jinzaiList .item:nth-child(2) { top: inherit; left: inherit; margin-left: -15px; } }
.philosophy .jinzaiList .item:nth-child(2) .tit { margin-bottom: 40px; }
@media screen and (max-width: 768px) { .philosophy .jinzaiList .item:nth-child(2) .tit { margin-bottom: 15px; } }
.philosophy .jinzaiList .item:nth-child(3) { top: 380px; left: 50%; margin-left: -140px; }
@media screen and (max-width: 768px) { .philosophy .jinzaiList .item:nth-child(3) { top: inherit; left: inherit; margin-left: auto; margin-right: -15px; margin-top: -60px; padding: 26px; } }
.philosophy .jinzaiList .item:nth-child(4) { top: 245px; right: 100px; }
@media screen and (max-width: 768px) { .philosophy .jinzaiList .item:nth-child(4) { top: inherit; right: inherit; margin-left: -15px; margin-top: -60px; padding: 35px; } }
.philosophy .shList { margin-top: -30px; overflow: hidden; }
.philosophy .shList .item { background: rgba(158, 158, 159, 0.1); padding: 20px; width: 330px; float: left; margin-right: 25px; }
@media screen and (max-width: 768px) { .philosophy .shList .item { width: auto; float: none; margin-right: 0; } }
.philosophy .shList .item:nth-child(3n) { margin-right: 0; }
.philosophy .shList .item:nth-child(n+4) { margin-top: 25px; }
@media screen and (max-width: 768px) { .philosophy .shList .item:nth-child(n+4) { margin-top: auto; } }
@media screen and (max-width: 768px) { .philosophy .shList .item:nth-child(n+2) { margin-top: 20px; } }
.philosophy .shList .item .tit { font-size: 40px; font-weight: bold; text-align: center; margin-bottom: 15px; }
@media screen and (max-width: 768px) { .philosophy .shList .item .tit { font-size: 30px; margin-bottom: 10px; } }
.philosophy .shList .item.-red { background: rgba(219, 12, 21, 0.1); }
.philosophy .shList .item.-red .tit { color: #db0c15; }

/*# sourceMappingURL=philosophy.css.map */