@charset "UTF-8";
html, body, article, aside, details, figcaption, figure, footer, header, nain, nav, section, div, p, pre, blockquote, hr, address, h1, h2, h3, h4, h5, h6, dl, dt, dd, ol, ul, li, table, caption, tbody, tfoot, thead, tr, th, td, a, abbr, acronym, b, big, cite, code, del, dfn, em, i, ins, kbd, mark, q, ruby, s, samp, small, span, strike, strong, sub, sup, time, tt, u, var, audio, canvas, embed, iframe, img, object, video, details, menu, summary, button, fieldset, form, input, label, legend, output, optgroup, option, select, textarea {
  padding: 0;
  margin: 0;
  border: 0;
}

html {
  box-sizing: border-box;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}

*,
::before,
::after {
  box-sizing: inherit;
}

address, article, aside, details, figcaption, figure, footer, header, main, menu, nav, section {
  display: block;
}

code, kbd, pre, samp, button, input, select, textarea {
  font-size: 100%;
  font-size: 1.4rem;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic Pro W3", "MS PGothic", sans-serif;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-size: 1.4rem;
}

ul, ol {
  list-style: none;
}

pre {
  word-wrap: break-word;
  word-break: break-all;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

del {
  text-decoration: line-through;
}

ins, mark {
  text-decoration: none;
  color: #000;
  background-color: #ff9;
}

mark {
  font-weight: bold;
}

small {
  font-size: 100%;
  font-size: 1.4rem;
}

img {
  vertical-align: top;
  width: 100%;
}

input[type=text],
input[type=email],
input[type=file] {
  border: 1px solid #d6d6d6;
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic Pro W3", "MS PGothic", sans-serif;
  font-size: 14px;
}

.mainContents.policy .kvSec {
  background-size: 100% auto;
  background-position: center;
  background-repeat: no-repeat;
  height: min(26.0416666667vw, 500px);
  position: relative;
}
.mainContents.policy .kvSec__inner {
  position: relative;
  width: min(72.9166666667vw, 1400px);
  height: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .mainContents.policy .kvSec__inner {
    width: 100%;
  }
}
.mainContents.policy .kvSec__text {
  width: min(21.6666666667vw, 416px);
  height: min(6.6145833333vw, 127px);
  position: absolute;
  top: min(5.1041666667vw, 98px);
  background-color: #fff;
  border-radius: min(0.5208333333vw, 10px);
}
@media screen and (max-width: 768px) {
  .mainContents.policy .kvSec__text {
    border-radius: 1.3333333333vw;
    height: 14.6666666667vw;
    top: 8.2666666667vw;
    left: 4vw;
  }
}
.mainContents.policy .kvSec__text h1 {
  position: relative;
}
.mainContents.policy .kvSec__text h1 span:nth-of-type(1) {
  font-size: min(4.1666666667vw, 80px);
  font-weight: 700;
  color: #ffebe1;
  mix-blend-mode: multiply;
  font-family: Arial;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .mainContents.policy .kvSec__text h1 span:nth-of-type(1) {
    font-size: 9.3333333333vw;
  }
}
.mainContents.policy .kvSec__text h1 span:nth-of-type(2) {
  font-size: min(3.125vw, 60px);
  font-weight: 700;
  color: #E60012;
  position: absolute;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .mainContents.policy .kvSec__text h1 span:nth-of-type(2) {
    font-size: 6.9333333333vw;
  }
}
.mainContents.policy .kvSec__text h1 span:nth-of-type(2)::after {
  content: "";
  display: block;
  background-image: url("/policy/images/img-company-01.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  width: min(4.6875vw, 90px);
  height: min(4.6875vw, 90px);
  top: min(1.5625vw, 30px);
  right: max(-1.3020833333vw, -25px);
}
@media screen and (max-width: 768px) {
  .mainContents.policy .kvSec__text h1 span:nth-of-type(2)::after {
    background-image: url("/policy/images/img-company-sp-01.svg");
    width: 15.4666666667vw;
    height: 10.1333333333vw;
    top: 3.2vw;
    right: -5.3333333333vw;
  }
}
.mainContents.policy .stateSec {
  width: 100%;
  position: relative;
  overflow: hidden;
  height: 846px;
  background-color: #FFF5F5;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .stateSec {
    height: 616px;
    background-color: initial;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .stateSec {
    height: 784px;
    background-color: #FFF5F5;
    margin-bottom: 60px;
  }
}
.mainContents.policy .stateSec__img {
  width: 1920px;
  position: absolute;
  left: 50%;
  right: 0;
  top: 0;
  margin: auto;
  transform: translateX(-50%);
  z-index: 0;
  overflow: hidden;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .stateSec__img {
    width: 820px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .stateSec__img {
    width: 375px;
  }
}
.mainContents.policy .stateSec__inner {
  padding-top: 70px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .stateSec__inner {
    padding-top: 40px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .stateSec__inner {
    padding-top: 26px;
  }
}
.mainContents.policy .stateSec__ttl {
  text-align: center;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.68;
  color: #E60012;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .stateSec__ttl {
    font-size: 21px;
    line-height: 1.5238095238;
  }
}
.mainContents.policy .stateSec__txt {
  margin-top: 57px;
  margin-left: 260px;
  width: 650px;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.6818181818;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .stateSec__txt {
    font-size: 18px;
    line-height: 1.7777777778;
    width: 100%;
    margin-top: 30px;
    margin-left: 0;
    text-align: center;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .stateSec__txt {
    width: 100%;
    margin-top: 25px;
  }
}
.mainContents.policy .stateSec__txt span {
  font-weight: 700;
  border-bottom: solid #E60012 5px;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .stateSec__txt span {
    border-bottom: solid #E60012 3px;
  }
}
.mainContents.policy .stateSec__txt2 {
  margin-top: 57px;
  width: 951px;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.6818181818;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .stateSec__txt2 {
    font-size: 18px;
    line-height: 1.5555555556;
    width: 708px;
    margin-top: 45px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .stateSec__txt2 {
    width: 100%;
    margin-top: 25px;
  }
}
.mainContents.policy .stateSec__txt3 {
  margin-top: 40px;
  width: 407px;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.6818181818;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .stateSec__txt3 {
    font-size: 18px;
    line-height: 1.5555555556;
    width: 307px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .stateSec__txt3 {
    width: 100%;
  }
}
.mainContents.policy .stateSec__name {
  width: 650px;
  font-size: 18px;
  font-weight: 500;
  margin-top: 103px;
  margin-left: 260px;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .stateSec__name {
    margin-top: 90px;
    margin-left: 190px;
    font-size: 16px;
    width: 400px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .stateSec__name {
    width: 100%;
    margin-top: 120px;
    margin-left: 156px;
    text-align: left;
  }
}
.mainContents.policy .philosophySec {
  position: relative;
  background-image: url("/policy/images/img-policy-02.png");
  background-size: cover;
  background-position: bottom;
  height: min(40.1041666667vw, 770px);
  padding-top: min(3.6458333333vw, 70px);
  border-top: min(0.15625vw, 3px) solid #960000;
  position: relative;
}
.mainContents.policy .philosophySec::before {
  content: "";
  display: block;
  width: 100%;
  height: min(0.5208333333vw, 10px);
  position: absolute;
  top: 0;
  background-color: #c80000;
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophySec::before {
    height: min(0.15625vw, 3px);
  }
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophySec {
    border-top: 0.8vw solid #960000;
    height: 226.6666666667vw;
    padding-top: 5.0666666667vw;
    background-image: url("/policy/images/img-policy-sp-02.png");
    margin-bottom: 0vw;
  }
}
.mainContents.policy .philosophySec__inner {
  position: relative;
  width: fit-content;
  margin: auto min(11.8229166667vw, 227px) auto auto;
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophySec__inner {
    position: relative !important;
    width: 100%;
    transform: translateX(min(0vw, 0px));
    text-align: center;
  }
}
.mainContents.policy .philosophySec__inner h2 {
  font-size: min(2.34375vw, 45px);
  line-height: 1.5555555556;
  margin-bottom: min(1.0416666667vw, 20px);
  color: #E60012;
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophySec__inner h2 {
    font-size: 5.8666666667vw;
    line-height: 1.5;
    margin-bottom: 9.0666666667vw;
  }
}
.mainContents.policy .philosophySec__inner p {
  position: relative;
  font-size: min(1.4583333333vw, 28px);
  font-weight: 500;
  line-height: 1.9642857143;
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophySec__inner p {
    position: static !important;
    font-size: 4.2666666667vw;
    line-height: 2;
  }
}
.mainContents.policy .philosophySec__inner p span {
  font-weight: 700;
  border-bottom: solid #E60012 min(0.2604166667vw, 5px);
  padding-bottom: min(0.4166666667vw, 8px);
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophySec__inner p span {
    border-bottom: solid #E60012 0.8vw;
  }
}
.mainContents.policy .philosophySec__info {
  position: absolute;
  bottom: max(-5.2083333333vw, -100px) !important;
  left: 0;
  width: fit-content;
  height: fit-content;
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophySec__info {
    top: auto;
    left: auto;
    right: 17.8666666667vw;
    bottom: 22.9333333333vw !important;
  }
}
.mainContents.policy .philosophySec__info p {
  font-size: min(1.1458333333vw, 22px);
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophySec__info p {
    font-size: 3.7333333333vw;
  }
}
.mainContents.policy .philosophySec__info h3 {
  font-size: min(1.25vw, 24px);
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophySec__info h3 {
    font-size: 4.8vw;
  }
}
.mainContents.policy .philosophy .kvSec {
  background-image: url("/policy/images/img-policy-01.png");
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophy .kvSec {
    background-image: url("/policy/images/img-policy-sp-01.png");
    height: 69.3333333333vw;
  }
}
.mainContents.policy .philosophy .kvSec__text {
  width: min(22.9166666667vw, 440px);
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophy .kvSec__text {
    width: 51.4666666667vw;
  }
}
.mainContents.policy .philosophy .kvSec__text h1 span:nth-of-type(1) {
  top: max(-2.6041666667vw, -50px);
  right: 0;
  left: 0;
  margin: auto;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophy .kvSec__text h1 span:nth-of-type(1) {
    top: -5.3333333333vw;
    left: 2.6666666667vw;
  }
}
.mainContents.policy .philosophy .kvSec__text h1 span:nth-of-type(2) {
  top: max(-0.7291666667vw, -14px);
  right: min(3.4895833333vw, 67px);
  text-align: center;
  line-height: min(3.3333333333vw, 64px);
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .mainContents.policy .philosophy .kvSec__text h1 span:nth-of-type(2) {
    top: -0.8vw;
    left: 0;
    right: 0;
    line-height: 7.4666666667vw;
  }
}
.mainContents.policy .philosophy .thought .inner {
  margin-bottom: 60px;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .philosophy .thought .inner {
    margin-bottom: 30px;
  }
}
.mainContents.policy .philosophy .thought .inner p {
  text-align: center;
  font-size: 25px;
  line-height: 1.68;
  font-weight: 700;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .philosophy .thought .inner p {
    font-size: 20px;
    line-height: 1.44;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .philosophy .thought .inner p {
    font-size: 19px;
    line-height: 1.4736842105;
  }
}
.mainContents.policy .philosophy .thought .inner p span {
  display: block;
  background-image: url("/company/images/img-company-02.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  height: 40px;
  margin-top: 15px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .philosophy .thought .inner p span {
    height: 35px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .philosophy .thought .inner p span {
    height: 20px;
  }
}
.mainContents.policy .philosophy .thought .inner p span::before, .mainContents.policy .philosophy .thought .inner p span::after {
  content: "";
  display: block;
  background-color: #323232;
  width: 155px;
  height: 3px;
  border-radius: 5px;
  position: absolute;
  top: 4px;
}
@media screen and (max-width: 445px) {
  .mainContents.policy .philosophy .thought .inner p span::before, .mainContents.policy .philosophy .thought .inner p span::after {
    width: 88px;
  }
}
.mainContents.policy .philosophy .thought .inner p span::before {
  left: 166px;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .philosophy .thought .inner p span::before {
    left: 55px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .philosophy .thought .inner p span::before {
    left: 0;
  }
}
.mainContents.policy .philosophy .thought .inner p span::after {
  right: 166px;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .philosophy .thought .inner p span::after {
    right: 55px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .philosophy .thought .inner p span::after {
    right: 0;
  }
}
.mainContents.policy .philosophy .thought__wrap {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .philosophy .thought__wrap {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .philosophy .thought__wrap {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.mainContents.policy .philosophy .thought__wrap:nth-child(even) {
  background-color: #fefafa;
}
.mainContents.policy .philosophy .thought__wrap:nth-child(1) {
  padding-top: 0;
}
.mainContents.policy .philosophy .thought__text-wrap {
  margin-left: auto;
  margin-right: auto;
}
.mainContents.policy .philosophy .thought__text {
  font-size: 20px;
  line-height: 1.7;
  font-weight: 400;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .philosophy .thought__text {
    font-size: 18px;
    line-height: 1.7777777778;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .philosophy .thought__text {
    font-size: 17px;
    line-height: 1.7058823529;
  }
}
.mainContents.policy .philosophy .thought__img {
  width: 460px;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .philosophy .thought__img {
    width: 339px;
  }
}
@media screen and (max-width: 445px) {
  .mainContents.policy .philosophy .thought__img {
    margin-top: 10px;
  }
}
.mainContents.policy .philosophy .thought__img img {
  width: 100%;
  height: auto;
}
.mainContents.policy .philosophy .thought__flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 30px;
}
@media screen and (max-width: 445px) {
  .mainContents.policy .philosophy .thought__flex {
    display: block;
  }
}
.mainContents.policy .philosophy .thought__flex .thought__text {
  width: 460px;
}
@media screen and (max-width: 820px) {
  .mainContents.policy .philosophy .thought__flex .thought__text {
    width: 339px;
  }
}
.mainContents.policy .philosophy .thought__floatImg {
  float: right;
  margin-left: 30px;
}