@charset "UTF-8";

html {
  font-size: 62.5%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

body {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  background-color: #fff;
  padding-top: 0;
}

.container-fluid {
  padding-right: 0;
  padding-left: 0;
}

a {
  color: #000000;
  outline: 0;
  outline: none;
  text-decoration: none;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  -webkit-transition: 0.2s ease-in-out;
  -ms-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

a:hover {
  color: #dc1715;
  outline: 0;
  outline: none;
  text-decoration: none;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  -webkit-transition: 0.2s ease-in-out;
  -ms-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

a:focus,
*:focus {
  outline: none;
}

a[href^="tel:"] {
  cursor: default;
}

img {
  vertical-align: middle;
  border-style: none;
  max-width: 100%;
  height: auto;
}

img.img-fluid {
  vertical-align: middle;
  border-style: none;
  max-width: 100%;
  height: auto;
}

.container-100p {
  width: 100%;
  margin: 0 auto;
}

.row:before,
.row:after {
  width: 0;
}

.row.no-margin {
  margin-right: 0;
  margin-left: 0;
}

.row.flex {
  display: flex;
  flex-wrap: wrap;
}

.no-padding {
  padding-left: 0;
  padding-right: 0;
}

.flex-center {
  display: flex;
  align-items: center;
}

ul {
  display: block;
  list-style-type: none;
  margin-block-start: 0em;
  margin-block-end: 0em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  padding-inline-start: 0px;
}

h1 {
  margin: 0 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-transform: none;
}

dt {
  font-weight: 600;
}

.fixed-top {
  position: fixed;
  z-index: 1030;
}

.d-lg-block h1 {
  font-size: 0rem;
  padding: 10px 1rem;
}

/* ------------------------------------------------------------------
Construction All
------------------------------------------------------------------- */
.sd {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  max-width: 100%;
  pointer-events: all;
  -webkit-overflow-scrolling: touch;
  z-index: 0;
}
.sd.icon,
.sd.text {
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  flex-direction: row;
  overflow: visible;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.richText strong {
  color: inherit;
  display: inline;
  font-weight: 900;
}
.image:before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-position: 50%;
  background-size: cover;
  border-radius: inherit;
  left: 0;
  pointer-events: none;
  transition: inherit;
  z-index: -2;
}
.fixed {
  z-index: 2;
}
.pc-img {
  display: block;
}
.sp-img {
  display: none;
}

/* ------------------------------------------------------------------
Wrapper
------------------------------------------------------------------- */
.canvas-container {
  display: flex;
  height: auto;
  min-height: 100vh;
}
.wrapper {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  max-width: 100%;
  background: #fff;
  border-radius: 0;
}

/* ------------------------------------------------------------------
Header
------------------------------------------------------------------- */
.header-wrap {
  align-items: center;
  background: #ffffff;
  flex-direction: row;
  gap: 40px;
  height: auto;
  justify-content: space-between;
  left: 0;
  margin: 0 0 0 0;
  padding: 12px 40px 12px 40px;
  position: fixed;
  top: 0;
  width: 100%;
  max-width: 100%;
}
.header-logo {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  width: 275px;
  max-width: 100%;
}
.header-right-wrap {
  align-items: center;
  flex: none;
  display: flex;
  flex-direction: row;
  gap: 30px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.header-right-tel-wrap {
  align-items: center;
  flex: none;
  flex-direction: column;
  gap: 4px;
  height: auto;
  justify-content: flex-start;
  margin: 1px 0px 0px 0px;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.header-right-tel-uke-text {
  color: #170b0b;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  height: auto;
  letter-spacing: 0.02em;
  line-height: 1;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.header-right-tel-number-wrap {
  align-items: center;
  flex-direction: row;
  gap: 3px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}
.header-right-tel-number-img {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  overflow-x: hidden;
  overflow-y: hidden;
  width: 24px;
  max-width: 100%;
}
.header-right-tel-number-text {
  color: #02418a;
  flex: none;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}

.header-right-contact-wrap {
  align-items: center;
  background: #df1e29;
  border-radius: 10px;
  flex: none;
  flex-direction: column;
  gap: 3px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 10px 32px 11px 31px;
  width: 210px;
  max-width: 100%;
}
.header-right-contact-uke-text {
  color: #ffffff;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  height: auto;
  letter-spacing: 0em;
  line-height: 1;
  margin: 0px 0px 0px -1px;
  text-align: center;
  width: auto;
  max-width: calc(100% - -1px);
}
.header-right-contact-uke-text p {
  margin: 0;
}
.header-right-contact-uke-text p strong {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.03em;
}
.header-right-contact-text-wrap {
  align-content: center;
  align-items: center;
  flex-direction: row;
  gap: 7px;
  height: auto;
  justify-content: center;
  margin: 0;
  padding: 0;
}
.header-right-contact-mail-img {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0px 0px 1px 0px;
  width: 20px;
  max-width: 100%;
}
.header-right-contact-text {
  color: #ffffff;
  flex: none;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  height: auto;
  letter-spacing: 0em;
  line-height: 1;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}

@media (max-width: 1200px) {
}
@media (max-width: 990px) {
  .header-wrap {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 30px;
    padding: 12px 20px 12px 20px;
  }
  .header-logo {
    flex: none;
    width: 150px;
    max-width: 100%;
  }
}
@media (max-width: 749px) {
  .header-right-contact-wrap {
    border-radius: 8px;
    padding: 10px 20px 11px 21px;
    width: 190px;
  }
  .header-right-contact-text {
    font-size: 18px;
  }
}
@media (max-width: 499px) {
  .header-wrap {
    gap: 20px;
    padding: 8px 10px 8px 10px;
  }
  .header-right-tel-wrap {
    display: none;
  }
  .header-right-contact-wrap {
    border-radius: 8px;
    padding: 8px 10px 8px 10px;
    width: 170px;
  }
  .header-right-contact-uke-text {
    font-size: 13px;
  }
  .header-right-contact-text {
    font-size: 16px;
  }
}

/* ------------------------------------------------------------------
Hero
------------------------------------------------------------------- */
.hero {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: column;
  height: 769px;
  justify-content: flex-end;
  padding: 0px 0px 0px 170px;
  width: 100%;
  max-width: 100%;
}
.hero:before {
  background-image: url(../assets/image/hero-bg.webp);
}

#hero-sp {
  display: none;
}

.hero-wrap {
  align-items: flex-start;
  flex-direction: column;
  gap: 0px;
  height: auto;
  justify-content: flex-start;
  margin: 0px 0px 45px 0px;
  padding: 0;
  width: 100%;
  max-width: 100%;
}

.hero-up-wrap {
  align-items: flex-start;
  flex-direction: column;
  gap: 4px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 6px 0px 0px 0px;
  width: 678px;
  max-width: 100%;
}
.hero-up-01-wrap {
  align-content: center;
  align-items: center;
  flex-direction: row;
  gap: 8px;
  height: auto;
  justify-content: center;
  margin: 0;
  padding: 0;
  transform: rotate(-1deg);
  width: 439px;
  max-width: 100%;
}
.hero-up-01-left-img {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 26px 0px 0px 0px;
  transform: rotate(-1deg);
  width: 17px;
  max-width: 100%;
}
.hero-up-01-text-wrap {
  color: #02418a;
  flex: none;
  font-size: 39px;
  font-style: normal;
  font-weight: 400;
  font-family: "RocknRoll One", sans-serif;
  height: auto;
  letter-spacing: 0.01em;
  line-height: 1.4;
  margin: 0;
  text-align: left;
  transform: rotate(-1deg);
  width: auto;
  max-width: 100%;
}
.hero-up-01-text-wrap p {
  margin: 0;
}
.hero-up-01-text-wrap p strong {
  color: #170b0b;
  font-size: 32px;
  font-weight: 400;
}
.hero-up-01-right-img {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  transform: rotate(179deg);
  width: 17px;
  max-width: 100%;
}

.hero-up-02-wrap {
  align-items: flex-start;
  flex: none;
  flex-direction: column;
  gap: 2px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.hero-up-02-01-wrap {
  margin: 0;
  text-align: left;
  width: auto;
  max-width: 100%;
}
.hero-up-02-01-wrap h1 {
  color: #170b0b;
  font-size: 60px;
  font-weight: 800;
  height: auto;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin: 0;
}
.hero-up-02-01-wrap h1 strong {
  font-size: 70px;
  font-weight: 800;
}
.hero-up-02-02-wrap {
  align-items: flex-end;
  flex: none;
  flex-direction: row;
  gap: 6px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0px 0px 2px 0px;
  width: auto;
  max-width: 100%;
}
.hero-up-02-02-left-wrap {
  align-content: center;
  align-items: center;
  background: linear-gradient(var(--g-angle), var(--g-color-0) var(--g-position-0), var(--g-color-1) var(--g-position-1));
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0 10px 0 0;
  padding: 5px 25px;
  width: auto;
  max-width: 100%;
  --g-color-0: rgb(223, 30, 41);
  --g-position-0: 0%;
  --g-color-1: rgb(171, 15, 24);
  --g-position-1: 100%;
  --g-color-2: rgb(171, 15, 24);
  --g-position-2: 100%;
  --g-color-3: rgb(171, 15, 24);
  --g-position-3: 100%;
  --g-color-4: rgb(171, 15, 24);
  --g-position-4: 100%;
  --g-color-5: rgb(171, 15, 24);
  --g-position-5: 100%;
  --g-color-6: rgb(171, 15, 24);
  --g-position-6: 100%;
  --g-color-7: rgb(171, 15, 24);
  --g-position-7: 100%;
  --g-color-8: rgb(171, 15, 24);
  --g-position-8: 100%;
  --g-color-9: rgb(171, 15, 24);
  --g-position-9: 100%;
  --g-color-10: rgb(171, 15, 24);
  --g-position-10: 100%;
  --g-color-11: rgb(171, 15, 24);
  --g-position-11: 100%;
  --g-angle: 113.93deg;
}
.hero-up-02-02-left-text {
  display: inline-block;
  color: #ffffff;
  font-size: 96px;
  font-style: normal;
  font-weight: 800;
  font-family: "Roboto", sans-serif;
  height: auto;
  letter-spacing: 0.2em;
  line-height: 1;
  margin: 0 10px 0 0;
  padding: 5px 10px 5px 25px;
  text-align: left;
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
  background: linear-gradient(var(--g-angle), var(--g-color-0) var(--g-position-0), var(--g-color-1) var(--g-position-1));
  --g-color-0: rgb(17, 71, 177);
  --g-position-0: 0%;
  --g-color-1: rgb(18, 108, 192);
  --g-position-1: 100%;
  --g-color-2: rgb(18, 108, 192);
  --g-position-2: 100%;
  --g-color-3: rgb(18, 108, 192);
  --g-position-3: 100%;
  --g-color-4: rgb(18, 108, 192);
  --g-position-4: 100%;
  --g-color-5: rgb(18, 108, 192);
  --g-position-5: 100%;
  --g-color-6: rgb(18, 108, 192);
  --g-position-6: 100%;
  --g-color-7: rgb(18, 108, 192);
  --g-position-7: 100%;
  --g-color-8: rgb(18, 108, 192);
  --g-position-8: 100%;
  --g-color-9: rgb(18, 108, 192);
  --g-position-9: 100%;
  --g-color-10: rgb(18, 108, 192);
  --g-position-10: 100%;
  --g-color-11: rgb(18, 108, 192);
  --g-position-11: 100%;
  --g-angle: 327.62deg;
}
.hero-up-02-02-right-wrap {
  color: #170b0b;
  flex: none;
  margin: 0;
  width: auto;
  max-width: 100%;
}
.hero-up-02-02-right-wrap p {
  font-size: 60px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-align: left;
}

.hero-mid-wrap {
  display: block;
  box-shadow: 0px 0px 20px 0px rgba(255, 255, 255, 0.5);
  color: #170b0b;
  font-size: 21px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  margin: 26px 0px 18px 0px;
  text-align: left;
  max-width: 100%;
}
.hero-mid-wrap h2 {
  margin: 0;
  line-height: 1.6;
  text-align: left;
}
.hero-mid-wrap h2 strong {
  color: #02418a;
  font-size: 25px;
  font-weight: 600;
}

.hero-down-wrap {
  align-items: center;
  flex-direction: row;
  gap: 30px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.hero-down-round-wrap {
  align-items: center;
  background: linear-gradient(var(--g-angle), var(--g-color-0) var(--g-position-0), var(--g-color-1) var(--g-position-1));
  border-radius: 50%;
  box-shadow: 0px 0px 30px 0px rgba(138, 139, 142, 0.30000001192092896);
  flex: none;
  flex-direction: column;
  height: 190px;
  justify-content: flex-start;
  margin: 0;
  padding: 5px;
  width: 190px;
  max-width: 100%;
  --g-color-0: rgb(223, 30, 41);
  --g-position-0: 0%;
  --g-color-1: rgb(171, 15, 24);
  --g-position-1: 100%;
  --g-color-2: rgb(171, 15, 24);
  --g-position-2: 100%;
  --g-color-3: rgb(171, 15, 24);
  --g-position-3: 100%;
  --g-color-4: rgb(171, 15, 24);
  --g-position-4: 100%;
  --g-color-5: rgb(171, 15, 24);
  --g-position-5: 100%;
  --g-color-6: rgb(171, 15, 24);
  --g-position-6: 100%;
  --g-color-7: rgb(171, 15, 24);
  --g-position-7: 100%;
  --g-color-8: rgb(171, 15, 24);
  --g-position-8: 100%;
  --g-color-9: rgb(171, 15, 24);
  --g-position-9: 100%;
  --g-color-10: rgb(171, 15, 24);
  --g-position-10: 100%;
  --g-color-11: rgb(171, 15, 24);
  --g-position-11: 100%;
  --g-angle: 327.62deg;
}
.hero-down-round-in-wrap {
  align-content: center;
  align-items: center;
  border-bottom: 1px solid #b5c4e0;
  border-left: 1px solid #b5c4e0;
  border-radius: 50%;
  border-right: 1px solid #b5c4e0;
  border-top: 1px solid #b5c4e0;
  flex: none;
  flex-direction: column;
  height: 180px;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 180px;
  max-width: 100%;
}
.hero-down-round-in-wrap p.hero-down-round-in-text {
  color: #ffffff;
  font-size: 33px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.05em;
  line-height: 1.2;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.hero-down-round02-in-wrap {
  color: #ffffff;
  flex: none;
  font-size: 16px;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.05em;
  line-height: 1.3;
  padding: 0px 0px 0px;
  text-align: center;
  width: auto;
  max-width: 100%;
}
.hero-down-round02-in-wrap p {
  font-size: 33px;
  margin: 0;
}
.hero-down-round02-in-wrap p strong {
  font-size: 29px;
  letter-spacing: normal;
}

@media (max-width: 1200px) {
  .hero {
    flex: none;
    height: 839px;
    padding: 0px 0px 0px 50px;
    width: 100%;
    max-width: 100%;
  }
  .hero-mid-wrap h2 strong {
    font-size: 22px;
  }
}
@media (max-width: 990px) {
  .hero {
    align-content: center;
    align-items: center;
    display: flex;
    flex: none;
    height: 900px;
    justify-content: flex-start;
    padding: 0;
    width: 100%;
    max-width: 100%;
  }
  .hero:before {
    background-image: url(../assets/image/hero-tb-bg.jpg);
  }
  .hero-wrap {
    align-content: center;
    align-items: center;
    justify-content: center;
    margin: 100px 0px 0px 0px;
    width: 100%;
    max-width: 100%;
  }
  .hero-up-wrap {
    align-content: center;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .hero-up-01-wrap {
    margin: 0px 175px 0px 0px;
    max-width: calc(100% - 175px);
  }
  .hero-up-01-text-wrap {
    font-size: 30px;
  }
  .hero-up-02-01-wrap h1 {
    font-size: 36px;
  }
  .hero-up-02-01-wrap h1 strong {
    font-size: 44px;
    font-weight: 800;
  }
  .hero-up-02-02-left-text {
    font-size: 60px;
    padding: 5px 10px 5px 25px;
  }
  .hero-mid-wrap {
    font-size: 18px;
    line-height: 1.5;
    margin: 10px 0px 320px 0px;
  }
  .hero-mid-wrap h2 strong {
    font-size: 20px;
  }
  .hero-mid-wrap h2 {
    text-align: center;
  }
  .hero-mid-wrap h2 br {
    display: none;
  }
  .hero-mid-wrap h2 strong {
    display: block;
  }
  .hero-down-wrap {
    flex-wrap: wrap;
    gap: 30px 20px;
  }
  .hero-down-round-in-wrap {
    flex: none;
    height: 130px;
    width: 130px;
    max-width: 100%;
  }
  .hero-down-round-wrap {
    height: 130px;
    width: 130px;
  }
  .hero-down-round-in-wrap {
    height: 120px;
    width: 120px;
  }
  .hero-down-round-in-wrap p.hero-down-round-in-text {
    font-size: 28px;
  }
  .hero-down-round02-in-wrap p {
    font-size: 28px;
  }
  .hero-down-round02-in-wrap p strong {
    font-size: 18px;
  }
}
@media (max-width: 749px) {
  .hero-mid-wrap {
    font-size: 16px;
  }
  .hero-mid-wrap h2 strong {
    font-size: 18px;
  }
}
@media (max-width: 499px) {
  .hero-wrap {
    margin: 90px 0px 0px 0px;
  }
  .hero-up-01-wrap {
    margin: 0;
    max-width: 100%;
  }
  .hero-up-01-left-img {
    margin: 5px 0px 0px 0px;
    width: 15px;
  }
  .hero-up-01-right-img {
    width: 15px;
  }
  .hero-up-01-text-wrap {
    font-size: 24px;
  }
  .hero-up-01-text-wrap p strong {
    font-size: 20px;
  }
  .hero-up-02-01-wrap h1 {
    font-size: 24px;
    margin-top: 20px;
  }
  .hero-up-02-01-wrap h1 strong {
    font-size: 30px;
    font-weight: 800;
  }
  .hero-up-02-02-left-text {
    font-size: 48px;
    padding: 5px 10px 5px 25px;
  }
  .hero-mid-wrap {
    font-size: 16px;
    line-height: 1.5;
    margin: 20px 20px 320px 20px;
  }
  .hero-mid-wrap h2 {
    font-size: 16px;
    letter-spacing: 0;
    text-align: center;
  }
  .hero-mid-wrap h2 span {
    display: block;
  }
  .hero-down-round-wrap {
    height: 110px;
    width: 110px;
  }
  .hero-down-round-in-wrap {
    height: 100px;
    width: 100px;
  }
  .hero-down-round-in-wrap p.hero-down-round-in-text {
    font-size: 18px;
  }
  .hero-down-round02-in-wrap p {
    font-size: 18px;
  }
  .hero-down-round02-in-wrap p strong {
    font-size: 14px;
  }
  .hero-down-wrap {
    gap: 10px 10px;
  }
}


/*20260806 modify*/
.hero-mid-wrap-02{display:block;max-width:100%;margin:26px 0 18px;color:#170b0b;letter-spacing:.02em;text-align:left;font-size:21px;font-style:normal;font-weight:400;line-height:1.8;box-shadow: 0px 0px 20px 0px rgba(255, 255, 255, 0.5);}
.hero-mid-wrap-02 h2{text-align:left;margin:0;line-height:1.6}
.hero-mid-wrap-02 h2 strong{color:#02418a;font-size:25px;font-weight:600}
.hero-mid-wrap-02 p{margin: 0}
.hero-mid-wrap-02 .br749{display: none}
.hero-mid-wrap-02 .line {font-size:23px;font-weight:700;background: linear-gradient(transparent 50%, #edd50c 0%);}

.hero-02{flex-direction:column;flex:none;place-content:center flex-end;align-items:center;width:100%;max-width:100%;height:769px;padding:0 0 0 170px}
.hero-02:before{background-image:url(../assets/image/hero-bg.webp)}

.hero-02-wrap{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;width:100%;max-width:100%;height:auto;margin:0 0 45px;padding:0}

@media (max-width: 1380px) {
.hero-mid-wrap-02 p{margin: 0 2em 0 0}
}

@media (max-width: 1200px) {
.hero-mid-wrap-02 h2 strong{font-size:22px}
.hero-02{flex:none;width:100%;max-width:100%;height:839px;padding:0 0 0 50px}
}

@media (max-width: 990px) {
.hero-mid-wrap-02{margin:10px 0 370px;font-size:18px;line-height:1.5}
.hero-mid-wrap-02 h2 strong{font-size:20px}
.hero-mid-wrap-02 h2{text-align:center}
.hero-mid-wrap-02 h2 br{display:none}
.hero-mid-wrap-02 h2 strong{display:block}
.hero-mid-wrap-02 p{margin: 0 1em;text-align: left;}

.hero-02{flex:none;place-content:center flex-start;align-items:center;width:100%;max-width:100%;height:980px;padding:0;display:flex}
.hero-02:before{background-image:url(../assets/image/hero-tb-bg.jpg)}
.hero-02-wrap{place-content:center;align-items:center;width:100%;max-width:100%;margin:100px 0 0}
}

@media (max-width: 749px) {
.hero-mid-wrap-02{margin:10px 0 300px;font-size:16px}
.hero-mid-wrap-02 h2 strong{font-size:18px}
.hero-mid-wrap-02 .br749{display: inline}
}

@media (max-width: 499px) {

.hero-mid-wrap-02{margin:10px 0 380px;}
.hero-mid-wrap-02 h2{letter-spacing:0;text-align:center;}
.hero-02-wrap{margin:90px 0 0}

.hero-02{height:980px;height:1020px;}

}

#head-attention {display:flex;justify-content: center;padding: 40px 15px;}
#head-attention p{color:#02418a;font-size:19px;font-weight: 600;text-align: left;}

/* ------------------------------------------------------------------
Worries
------------------------------------------------------------------- */
.worries {
  align-items: center;
  background: #fdf2f3;
  flex-direction: column;
  gap: 50px;
  height: auto;
  justify-content: flex-start;
  padding: 90px 40px;
  width: 100%;
  max-width: 100%;
}
.worries-header-title-wrap {
  align-content: center;
  align-items: center;
  flex-direction: column;
  gap: 8px;
  height: auto;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.worries-header-title-01 {
  color: #02418a;
  display: flex;
  font-size: 35px;
  font-style: normal;
  font-weight: 800;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.worries-header-title-01 br {
  display: none;
}
.worries-header-title-02 {
  display: none !important;
  color: #02418a;
  font-size: 35px;
  font-style: normal;
  font-weight: 800;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.worries-header-title-img {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  width: 865px;
  max-width: 100%;
}

.worries-contents-wrap {
  align-content: center;
  align-items: center;
  flex-direction: column;
  gap: 30px;
  height: auto;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 1040px;
  max-width: 100%;
}
.worries-contents-up-wrap {
  align-content: flex-end;
  align-items: flex-end;
  flex-direction: row;
  gap: 0px;
  height: auto;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}
.worries-contents-up-left-wrap {
  align-content: center;
  align-items: center;
  box-shadow: none;
  flex: none;
  flex-direction: row;
  gap: -11px;
  height: 210px;
  justify-content: center;
  margin: 0;
  padding: 0px 40px 0px 0px;
  width: 900px;
  max-width: 100%;
}
.worries-contents-up-left-wrap:before {
  background-size: cover;
}
.worries-contents-up-left-wrap:before {
  background-image: url(../assets/image/worries-left.webp);
}
.worries-contents-up-left-in-wrap {
  align-items: flex-start;
  flex: none;
  flex-direction: column;
  gap: 0px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.worries-contents-up-left-in-title {
  color: #170b0b;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0px 0px 14px 0px;
  text-align: left;
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
}
.worries-contents-up-left-in-text-wrap {
  align-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 3px;
  justify-content: center;
  padding: 0;
}
.worries-contents-up-left-in-text-wrap01 {
  align-items: center;
  flex: none;
  flex-direction: row;
  gap: 10px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.worries-contents-up-left-in-text-ten01 {
  align-items: center;
  background: linear-gradient(var(--g-angle), var(--g-color-0) var(--g-position-0), var(--g-color-1) var(--g-position-1));
  border-radius: 50%;
  flex: none;
  flex-direction: column;
  height: 9px;
  justify-content: center;
  margin: 1px 0px 0px 0px;
  width: 9px;
  max-width: 100%;
}
.worries-contents-up-left-in-text {
  color: #170b0b;
  flex: none;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.7;
  margin: 0;
  text-align: left;
  width: auto;
  max-width: 100%;
}
.worries-contents-up-left-in-text p {
  margin: 0;
}
.worries-contents-up-left-in-text p strong {
  color: #df1e29;
  font-weight: 400;
}
.worries-contents-up-img {
  flex: none;
  height: auto;
  width: 160px;
  max-width: 100%;
}

.worries-contents-down-wrap {
  align-content: flex-end;
  align-items: flex-end;
  flex-direction: row;
  gap: 0px;
  height: auto;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}
.worries-contents-up-right-wrap {
  align-content: center;
  align-items: center;
  box-shadow: none;
  flex: none;
  flex-direction: row;
  gap: -11px;
  height: 190px;
  justify-content: center;
  margin: 0;
  padding: 0px 0px 0px 40px;
  width: 900px;
  max-width: 100%;
}
.worries-contents-up-right-wrap:before {
  background-image: url(../assets/image/worries-right.webp);
}
.worries-contents-up-right-wrap:before {
  background-size: cover;
}

.worries-arrow-sp-wrap {
  display: none;
}
.worries-arrow-sp-right-wrap {
  display: none;
}

@media (max-width: 1200px) {
  .worries-contents-up-left-wrap {
    padding: 0px 10px 0px 0px;
    width: 860px;
  }
  .worries-contents-up-right-wrap {
    padding: 0px 0px 0px 40px;
    width: 860px;
  }
  .worries-contents-up-left-in-title {
    font-size: 22px;
  }
  .worries-contents-up-img {
    width: 100px;
  }
}
@media (max-width: 990px) {
  .worries-header-title-01 br {
    display: block;
  }
  .worries-contents-wrap {
    display: flex;
    width: 100%;
    gap: 10px;
  }

  .worries-contents-up-left-wrap {
    flex: none;
    width: 100%;
    height: auto;
    padding: 20px 20px 60px 20px;
  }
  .worries-contents-up-left-wrap:before {
    background-image: url(../assets/image/worries-left-tb-bg.png);
  }
  .worries-contents-up-right-wrap {
    flex: none;
    width: 100%;
    height: auto;
    padding: 20px 20px 60px 20px;
  }
  .worries-contents-up-right-wrap:before {
    background-image: url(../assets/image/worries-right-tb-bg.png);
  }
  .worries-contents-up-wrap {
    align-content: flex-end;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .worries-contents-up-left-in-wrap {
    align-items: flex-start;
    flex: none;
    flex-direction: column;
    gap: 0px;
    height: auto;
    justify-content: flex-start;
    margin: 0px;
    padding: 0px;
  }
  .worries-contents-up-img {
    flex: none;
    width: 170px;
    max-width: 100%;
  }
  .worries-contents-down-wrap {
    align-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .worries-contents-up-left-in-title {
    font-size: 20px;
    margin: 0 auto 14px;
  }
  .worries-contents-up-left-in-text {
    font-size: 18px;
  }
}
@media (max-width: 749px) {
  .worries-contents-up-left-in-title {
    font-size: 16px;
    margin: 0 auto 12px;
  }
  .worries-contents-up-left-in-text {
    font-size: 15px;
  }
}
@media (max-width: 499px) {
  .worries {
    gap: 30px;
    padding: 50px 20px;
  }
  .worries-header-title-01 {
    font-size: 22px;
  }
  .worries-contents-up-left-wrap {
    position: relative;
    padding: 20px 20px 20px 20px;
    background-color: #fff;
    border-radius: 10px;
  }
  .worries-contents-up-left-wrap:before {
    background-image: none;
  }
  .worries-contents-up-left-in-title {
    text-align: center;
  }
  .worries-contents-up-left-in-text-wrap01 {
    gap: 0px;
  }
  .worries-contents-up-left-in-text-wrap {
    gap: 0px;
  }
  .worries-contents-up-left-in-text-ten01 {
    height: 0px;
    margin: 0px 0px 0px 0px;
    width: 0px;
  }
  .worries-contents-up-left-in-text {
    font-size: 15px;
    letter-spacing: 0;
    line-height: 1.5;
  }
  .worries-arrow-sp-wrap {
    display: block;
    position: absolute;
    left: 45%;
    bottom: -48px;
    width: 50px;
  }
  .worries-contents-up-img {
    width: 140px;
    max-width: 100%;
    padding: 10px 0 0;
  }
  .worries-contents-up-right-wrap {
    position: relative;
    padding: 20px 20px 20px 20px;
    background-color: #fff;
    border-radius: 10px;
  }
  .worries-contents-up-right-wrap:before {
    background-image: none;
  }
  .worries-arrow-sp-right-wrap {
    display: block;
    position: absolute;
    left: 40%;
    bottom: -48px;
    width: 50px;
    margin: 0;
    transform: scale(-1, 1);
  }
}

/* ------------------------------------------------------------------
Solution
------------------------------------------------------------------- */
.solution {
  align-content: center;
  align-items: center;
  flex: none;
  flex-wrap: nowrap;
  justify-content: center;
  margin: 0;
  padding: 0px 0px 120px 0px;
  width: 100%;
  max-width: 100%;
}
.solution-contents-wrapper {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: flex-start;
  padding: 0;
  width: 860px;
  max-width: 100%;
}
.solution-top-down-arrow {
  flex: none;
  height: auto;
  margin: -25px 0px 0px 0px;
  width: 296px;
  max-width: 100%;
}
.solution-contents-wrap {
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  gap: 0px;
}
.solution-contents-title {
  color: #170b0b;
  font-size: 35px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  text-align: center;
  margin: 40px 0;
  padding: 0;
}
.solution-contents-title strong {
  position: relative;
  display: inline-block;
  color: #02418a;
  font-size: 43px;
  font-weight: 800;
}
.solution-contents-title strong .checkmark {
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100px;
}
.solution-contents-title br {
  display: none;
}

.solution-contents-first-wrapper {
  align-items: center;
  background: rgba(0, 0, 0, 0);
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 0px;
  height: auto;
  justify-content: flex-start;
  margin: 25px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  width: 100%;
  max-width: 100%;
}
.solution-contents-first-wrap {
  align-items: center;
  background: rgba(0, 0, 0, 0);
  border-radius: 40px;
  display: flex;
  flex-direction: column;
  height: auto;
  justify-content: flex-start;
  margin: 0px;
  padding: 19px 20px 70px 20px;
  width: 100%;
  max-width: 100%;
}
.solution-contents-first-wrap:before {
  background-image: url(../assets/image/solution-contents-first-bg.webp);
}
.solution-contents-first-text {
  color: #170b0b;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.5;
  text-align: center;
}
.solution-contents-first-text span {
  font-size: 23px;
  font-weight: 600;
}
.solution-contents-first-text span.red {
  color: #02418a;
  font-size: 24px;
  font-style: normal;
}
.solution-contents-first-wrap .triangle-left {
  position: absolute;
  bottom: -80px;
  left: 30%;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 25px solid transparent;
  border-left: 25px solid transparent;
  border-bottom: 100px solid #fef2f4;
  border-top: 0;
  transform: rotate(150deg);
}
.solution-contents-first-wrap .triangle-right {
  position: absolute;
  bottom: -80px;
  right: 30%;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 25px solid transparent;
  border-left: 25px solid transparent;
  border-bottom: 100px solid #fef2f4;
  border-top: 0;
  transform: rotate(210deg);
}

.solution-contents-second-wrapper {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: flex-start;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.solution-contents-second-wrap {
  align-items: center;
  background: #efeaea;
  border-radius: 10px 10px 0px 0px;
  flex: none;
  flex-direction: column;
  gap: 40px;
  height: auto;
  justify-content: flex-start;
  margin: 33px 0px 0px 0px;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.solution-contents-second-title-img {
  height: auto;
  margin: -35px 0px 0px 0px;
  width: 392px;
  max-width: 100%;
}
.solution-contents-second-contents-wrap {
  margin: 0px 0px -30px 0px;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.solution-contents-second-contents-subtitle {
  max-width: 100%;
  color: #170b0b;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0px 0px 5px 0px;
  text-align: center;
}
.solution-contents-second-contents-subtitle span {
  font-weight: 800;
}
.solution-contents-second-contents-img {
  flex: none;
  height: auto;
  width: 930px;
  max-width: 100%;
}
.solution-contents-second-contents-subtext {
  color: #170b0b;
  font-size: 20px;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0 0 30px;
  text-align: center;
  max-width: 100%;
}
.solution-contents-second-contents-subtext span {
  color: #02418a;
  font-size: 25px;
  font-weight: 700;
}
.solution-contents-second-contents-subtexts {
  color: #170b0b;
  font-size: 20px;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  max-width: 100%;
}
.solution-contents-second-contents-arrowimg {
  width: 100%;
  margin: 0;
  padding: 0;
}

.solution-contents-third-wrap {
  align-items: center;
  flex-direction: column;
  gap: 25px;
  height: auto;
  justify-content: flex-start;
  margin: 40px 0px 0px 0px;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.solution-contents-third-title-wrap {
  width: 250px;
  margin: 0 auto;
  padding: 0;
}
.solution-contents-third-titleimg-wrap {
  display: inline-block;
  margin: 0 auto;
  padding: 0;
}
.solution-contents-third-title {
  display: inline-block;
  color: #170b0b;
  font-size: 40px;
  font-style: normal;
  font-weight: 800;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
}
.solution-contents-third-text {
  color: #170b0b;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.6;
  margin: 0;
  text-align: center;
}
.solution-contents-third-text span {
  color: #02418a;
  font-size: 28px;
  font-weight: 700;
}
.solution-contents-third-mid-title {
  width: 328px;
  height: auto;
  color: #ffffff;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 44px 0px -29px 0px;
  padding: 7px 16px 7px 17px;
  background-color: #df1e29;
  z-index: 2;
}
.solution-contents-third-list-wrap {
  position: relative;
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  background: #4c586f;
  box-shadow: 0px 0px 25px 0px rgba(89, 87, 87, 0.10000000149011612);
  width: 1040px;
  height: auto;
  padding: 37px 40px 30px 40px;
}

dl.solution-contents-third-list {
  width: 660px;
  padding: 0;
  margin: 0 auto;
}
dl.solution-contents-third-list dt {
  float: left;
  width: 35px;
  padding: 8px 0 0;
  margin: 0;
}
dl.solution-contents-third-list dt img {
  width: 25px;
}
dl.solution-contents-third-list dd {
  margin-left: 35px;
  margin-bottom: 0;
  color: #ffffff;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.7;
  text-align: left;
  padding: 5px 0;
}

.solution-contents-third-list-wrap .solution-contents-third-list-img {
  position: absolute;
  right: -39px;
  top: 0px;
  width: 194px;
  z-index: 2;
}

.solution-contents-first-arrow {
  display: none;
}

@media (max-width: 1200px) {
  .solution-contents-third-list-wrap {
    width: 100%;
  }
  .solution-contents-third-list-wrap .solution-contents-third-list-img {
    bottom: -70px;
    right: 20px;
    top: auto;
    width: 144px;
    max-width: 100%;
  }
  .solution-contents-first-text {
    font-size: 18px;
  }
  .solution-contents-first-text span {
    font-size: 20px;
  }
  .solution-contents-first-text span.red {
    font-size: 20px;
  }
  .solution-contents-second-contents-subtext {
    font-size: 18px;
  }
  .solution-contents-second-contents-subtext span {
    font-size: 22px;
  }
  .solution-contents-second-contents-subtexts {
    font-size: 18px;
  }
}
@media (max-width: 990px) {
  .solution-contents-title br {
    display: block;
  }
  .solution-contents-second-contents-subtext span {
    font-size: 20px;
  }
  .solution-contents-second-contents-subtext {
    margin: 0 0 10px;
  }
  dl.solution-contents-third-list {
    width: 100%;
  }
  dl.solution-contents-third-list dt {
    width: 30px;
  }
  dl.solution-contents-third-list dt img {
    width: 20px;
  }
  dl.solution-contents-third-list dd {
    margin-left: 30px;
    font-size: 18px;
  }
  .solution-contents-third-list-wrap .solution-contents-third-list-img {
    bottom: -110px;
    right: 10px;
  }
  .solution-contents-second-contents-img {
    width: 90%;
    margin: 0 auto 10px;
  }
}
@media (max-width: 749px) {
  .solution-contents-first-text {
    font-size: 16px;
  }
  .solution-contents-first-text span {
    font-size: 18px;
  }
  .solution-contents-first-text span.red {
    font-size: 18px;
  }
  .solution-contents-second-contents-subtext {
    font-size: 16px;
  }
  .solution-contents-second-contents-subtext span {
    font-size: 18px;
  }
  .solution-contents-third-text {
    font-size: 18px;
  }
  .solution-contents-third-text span {
    font-size: 20px;
  }
  dl.solution-contents-third-list dt {
    width: 25px;
    padding: 4px 0 0;
  }
  dl.solution-contents-third-list dd {
    margin-left: 25px;
    font-size: 16px;
  }
  .solution-contents-third-list-wrap .solution-contents-third-list-img {
    bottom: -130px;
    width: 130px;
  }
}
@media (max-width: 499px) {
  .solution-top-down-arrow {
    width: 160px;
  }
  .solution-contents-title {
    font-size: 22px;
    margin: 40px 0 10px;
  }
  .solution-contents-title strong {
    font-size: 24px;
  }
  .solution-contents-title strong .checkmark {
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 60px;
  }
  .solution-contents-first-wrap:before {
    background-image: none;
  }
  .solution-contents-first-wrap {
    position: relative;
    border-radius: 20px;
    margin: 0 auto 40px;
    padding: 20px;
    width: 90%;
    background: #fdf2f3;
  }
  .solution-contents-first-arrow {
    display: block;
    position: absolute;
    left: 50%;
    bottom: -40px;
    margin-left: -75px;
    width: 150px;
  }
  .solution-contents-first-text {
    letter-spacing: 0;
    line-height: 1.6;
    text-align: left;
  }
  .solution-contents-first-text br {
    display: none;
  }
  .solution-contents-second-title-img {
    margin: -36px auto 0px;
    width: 300px;
  }
  .solution-contents-second-wrap {
    gap: 30px;
    padding: 0 20px 50px;
  }
  .solution-contents-second-contents-subtitle {
    font-size: 16px;
    line-height: 1.5;
    margin: 0px 0px 20px 0px;
    text-align: center;
  }
  .solution-contents-second-contents-img {
    width: 100%;
    margin: 0 auto 20px;
  }
  .solution-contents-second-contents-subtext {
    font-size: 16px;
    text-align: left;
    letter-spacing: 0;
    line-height: 1.5;
  }
  .solution-contents-second-contents-subtext br {
    display: none;
  }
  .solution-contents-second-contents-subtext span {
    font-size: 16px;
  }
  .solution-contents-second-contents-subtexts {
    font-size: 16px;
  }
  .solution-contents-third-wrap {
    gap: 20px;
    margin: 30px 0px 0px 0px;
    padding: 0 20px;
  }
  .solution-contents-third-title-wrap {
    width: 210px;
  }
  .solution-contents-third-title {
    font-size: 30px;
    line-height: 1;
  }
  .solution-contents-third-mid-title {
    width: 300px;
    margin: 30px auto -24px;
    padding: 7px 10px;
  }
  .solution-contents-third-list-wrap {
    padding: 37px 30px 20px 30px;
  }
  dl.solution-contents-third-list dt {
    width: 30px;
  }
  dl.solution-contents-third-list dd {
    margin-left: 30px;
  }
  .solution {
    padding: 0px 0px 260px 0px;
  }
  .solution-contents-third-list-wrap .solution-contents-third-list-img {
    bottom: -260px;
    right: 50%;
    width: 180px;
    margin-right: -90px;
  }
  .solution-contents-second-contents-subtitle span {
    display: block;
    font-weight: 800;
  }
}


.solution-contents-third-text .br {display:none}
@media (max-width: 768px) {

.solution-contents-third-text .br {display:inline}

}








/* ------------------------------------------------------------------
Contact-banner
------------------------------------------------------------------- */
.contact-section {
  background: #ffffff;
  width: 100%;
  height: auto;
  padding: 140px 100px;
}
.contact-section:before {
  background-image: url(../assets/image/contact-bg-banner.webp);
}
.contact-contents-wrap {
  margin-top: -120px;
  padding: 0;
  width: 1040px;
  height: auto;
}
.contact-contents-contact-text {
  color: #ffffff;
  font-size: 210px;
  font-style: normal;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin: -140px 0px 0px 0px;
  opacity: 0.1599999964237213;
  text-align: center;
}
.contact-contents-title {
  color: #ffffff;
  font-size: 40px;
  font-style: normal;
  font-weight: 800;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0px 0px 15px 8px;
  text-align: center;
  max-width: calc(100% - 8px);
}
.contact-contents-title-line {
  margin: 0;
  transform: rotate(180deg);
}
.contact-contents-mid-wrap {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  width: 100%;
  margin: 35px 0px 0px 0px;
  padding: 0;
}
.contact-contents-mid-left-wrap {
  align-content: center;
  align-items: center;
  background: rgba(255, 255, 255, 0.949999988079071);
  border-radius: 10px;
  box-shadow: 0px 0px 25px 0px rgba(89, 87, 87, 0.10000000149011612);
  flex: none;
  flex-direction: column;
  gap: 0px;
  height: 200px;
  justify-content: center;
  margin: 0px 10px 0px 10px;
  padding: 10px;
}
.contact-contents-mid-tel-wrap {
  align-items: center;
  flex-direction: row;
  border-bottom: 2px solid #170b0b;
  border-left: 2px solid #170b0b;
  border-right: 2px solid #170b0b;
  border-top: 2px solid #170b0b;
  gap: 5px;
  width: 280px;
  height: auto;
  justify-content: flex-start;
  margin: 0 auto 15px;
  padding: 6px 24px 6px 24px;
  max-width: calc(100% - 2px);
}
.contact-contents-mid-tel-img {
  display: inline-block;
  margin: 0;
  width: 24px;
}
.contact-contents-mid-tel-text {
  display: inline-block;
  color: #02418a;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  height: auto;
  letter-spacing: 0em;
  line-height: 1;
  margin: 0;
  text-align: center;
}
.contact-contents-mid-tel-number {
  color: #02418a;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1;
  margin: 5px 0px 0px 0px;
  text-align: center;
}
.contact-contents-mid-tel-uke {
  color: #170b0b;
  font-size: 17px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1;
  margin: 15px 0px 0px 0px;
  text-align: center;
}

.contact-contents-mid-right-wrap {
  align-content: center;
  align-items: center;
  background: rgba(255, 255, 255, 0.949999988079071);
  border-radius: 10px;
  box-shadow: 0px 0px 25px 0px rgba(89, 87, 87, 0.10000000149011612);
  flex: none;
  flex-direction: column;
  height: 200px;
  justify-content: center;
  margin: 0px 10px 0px 10px;
  padding: 10px;
}
.contact-contents-mid-right-wrap:hover {
  transform: scale(1.04, 1.04);
}
.contact-contents-mid-right-textwrap {
  align-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 13px;
  justify-content: center;
  margin: 0px 0px -3px 0px;
  padding: 0;
  max-width: 100%;
}
.contact-contents-mid-right-img {
  align-items: center;
  flex-direction: column;
  width: 46px;
  height: auto;
  justify-content: center;
  margin: 0;
}
.contact-contents-mid-right-text {
  color: #170b0b;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  height: auto;
  letter-spacing: 0.02em;
  line-height: 1;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.contact-contents-mid-right-btn-wrap {
  align-content: center;
  align-items: center;
  background: #1147b1;
  border-radius: 60px;
  flex: none;
  flex-direction: row;
  gap: 33px;
  height: auto;
  justify-content: center;
  margin: 0;
  padding: 22px 38px 22px 74px;
  width: 90%;
  max-width: 90%;
}
.contact-contents-mid-right-btn-text {
  color: #ffffff;
  flex: none;
  font-size: 26px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0em;
  line-height: 1;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.contact-contents-mid-right-btn-arrow {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 1px 0px 0px 0px;
  overflow-x: hidden;
  overflow-y: hidden;
  transform: rotate(90deg);
  width: 15px;
  max-width: 100%;
}

@media (max-width: 1200px) {
  .contact-contents-contact-text {
    font-size: 16vw;
  }
  .contact-contents-mid-right-text {
    font-size: 14px;
    letter-spacing: 0;
  }
  .contact-contents-mid-right-btn-text {
    font-size: 20px;
  }
}
@media (max-width: 990px) {
  .contact-section {
    padding: 50px 50px 80px 50px;
  }
  .contact-contents-contact-text {
    font-size: 108px;
    margin: -55px 0px 0px 0px;
  }
  .contact-contents-wrap {
    margin-top: 0px;
    flex: none;
    width: 100%;
    max-width: 100%;
  }
  .contact-contents-mid-wrap {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 20px;
  }
  .contact-contents-mid-right-text {
    font-size: 18px;
  }
}
@media (max-width: 749px) {
}
@media (max-width: 499px) {
  .contact-section {
    padding: 50px 20px 60px 20px;
  }
  .contact-contents-contact-text {
    font-size: 60px;
    margin: -35px 0px 0px 0px;
  }
  .contact-contents-title {
    font-size: 26px;
    letter-spacing: 0;
    line-height: 1.4;
    margin: 0 0 10px;
    text-align: center;
    max-width: 100%;
  }
  .contact-contents-mid-left-wrap {
    height: 160px;
    margin: 0;
    padding: 10px;
  }
  .contact-contents-mid-tel-number {
    font-size: 36px;
  }
  .contact-contents-mid-right-wrap {
    height: 160px;
    margin: 0;
    padding: 10px;
  }
  .contact-contents-mid-right-btn-wrap {
    padding: 18px 18px 18px 18px;
    width: 100%;
    max-width: 100%;
  }
  .contact-contents-mid-right-btn-text {
    font-size: 18px;
  }
  .contact-contents-mid-right-text {
    font-size: 13px;
  }
}

.contents-attention  {margin-top: 30px;color: #fff;text-align: left;}


.radio-button {}
.radio-button label{display: inline-block;margin-right: 1em;}
.radio-button label input{margin-right: 7px;}
@media (max-width: 499px) {
.radio-button {padding: 1em 0}
.radio-button label{display: block;margin-right: 0;}
}


/* ------------------------------------------------------------------
 Suggestion
------------------------------------------------------------------- */

#suggestion {}
.suggestion {padding: 80px 0;}
.suggestion-wrapper {width: 1040px;max-width: 100%;font-size: 18px;}

.suggestion-title{color:#02418a;letter-spacing:.03em;text-align:center;justify-content:flex-start;width:auto;max-width:100%;height:auto;margin:0 0 12px;font-size:40px;font-style:normal;font-weight:800;line-height:1.4}
.suggestion-title br{display: none}
.suggestion-title-img {max-width: 550px;margin: 0 1em 50px;text-align: center}
.suggestion-text  {font-size: 20px;}

.suggestion-table-image {width: 100%}
.suggestion-table-image img {width: 100%;margin:0;padding: 0}

@media (max-width: 1200px) {
.suggestion-table-image {width: 1050px;}
.suggestion-table-image img {width: 100%;margin:0;padding: 0;text-align: left;}
}



@media (max-width: 768px) {
.suggestion-title{font-size:36px}
.suggestion-title br{display: inline}
}


/* ------------------------------------------------------------------
About
------------------------------------------------------------------- */
.about {
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  padding: 90px 40px 90px 40px;
  width: 100%;
  height: auto;
  background: #fdf2f3;
}
.about-title {
  color: #02418a;
  font-size: 40px;
  font-style: normal;
  font-weight: 800;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0px 0px 8px 0px;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
}
.about-title-img {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0 auto 50px;
}
.about-contents-wrapper {
  align-items: center;
  flex-direction: column;
  width: 1040px;
  height: auto;
  justify-content: flex-start;
  margin: 0 auto;
  padding: 10px 0px 0px 0px;
  gap: 50px;
}
.about-contents-wrap01 {
  position: relative;
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-start;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0px 0px 25px 0px rgba(89, 87, 87, 0.10000000149011612);
  width: 100%;
  height: auto;
  margin: 0 0 50px;
  padding: 0px 30px 30px 30px;
  gap: 50px;
}
.about-contents-wrap01-title-wrap {
  align-content: flex-end;
  align-items: flex-end;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 25px;
  padding: 0;
}
.about-contents-wrap01-title-img {
  flex: none;
  height: auto;
  margin: -25px 0px 0px -10px;
  width: 110px;
  max-width: calc(100% - -10px);
}
.about-contents-wrap01-title-text {
  color: #170b0b;
  font-size: 30px;
  font-style: normal;
  font-weight: 600;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1;
  margin: 0px 0px 9px 0px;
  text-align: left;
}
.about-contents-wrap01-title-text span {
  color: #02418a;
  font-size: 36px;
  font-weight: 700;
}
.about-contents-wrap01-title-text br {
  display: none;
}
.about-contents-wrap01-subtitle-text {
  color: #170b0b;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1;
  margin: 0;
  text-align: left;
}
.about-contents-wrap01-subtitle-text br {
  display: none;
}
.about-contents-wrap01-brand-wrapper {
  width: 100%;
  margin: 0 0 30px;
}
.about-contents-wrap01-brand-title-wrap {
  align-items: center;
  background: #413838;
  flex-direction: column;
  width: 100%;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 9px 40px 10px 40px;
}
.about-contents-wrap01-brand-title {
  color: #ffffff;
  font-size: 22px;
  font-style: normal;
  font-weight: 600;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 4px auto;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.about-contents-wrap01-brand-wrap {
  width: 100%;
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  border-bottom: 2px solid #9b8384;
  border-left: 2px solid #9b8384;
  border-right: 2px solid #9b8384;
  border-top: 0px solid #9b8384;
  margin: 0;
  padding: 14px 30px 14px 30px;
}
.about-contents-wrap01-brand-inwrap {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 0px;
  margin: 0;
  padding: 0;
  width: 100%;
}
.brand-img {
  align-items: center;
  flex: none;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  width: 240px;
  max-width: 100%;
}
.brand-img2 {
  align-items: center;
  flex: none;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  width: 240px;
}
.about-contents-margin-titlewrap01 {
  display: flex;
  height: 180px;
  justify-content: center;
  align-items: center;
  background: #413838;
}
.about-contents-margin-titlerap02 {
  display: flex;
  height: 180px;
  justify-content: center;
  align-items: center;
  background: #1147b1;
}
.about-contents-margin-title {
  display: block;
  color: #ffffff;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
}
.about-contents-margin-imgwrap {
  padding-left: 20px;
  padding-right: 0;
}
.about-contents-text03 {
  color: #170b0b;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.6;
  margin: 10% 4% 0 0;
}

@media (max-width: 1200px) {
  .about-contents-wrapper {
    width: 100%;
  }
  .about-contents-wrap01-title-text {
    font-size: 24px;
  }
  .brand-img {
    width: 220px;
  }
  .brand-img2 {
    width: 220px;
  }
  .about-contents-wrap01-title-text span {
    font-size: 30px;
  }
  .about-contents-margin-title {
    font-size: 16px;
  }
  .about-contents-text03 {
    font-size: 18px;
    margin: 4% 0 0 0;
  }
}
@media (max-width: 990px) {
  .about-contents-wrap01-title-text {
    width: 100%;
    font-size: 22px;
    line-height: 1.4;
    margin: 15px 0px 0px 0px;
  }
  .about-contents-wrap01-title-text span {
    display: block;
    font-size: 26px;
  }
  .about-contents-margin-titlewrap01 {
    height: 80px;
    margin-bottom: 10px;
  }
  .about-contents-margin-title {
    font-size: 18px;
    text-align: center;
  }
  .about-contents-margin-titlerap02 {
    height: 80px;
    margin-bottom: 10px;
  }
  .about-contents-text03 {
    font-size: 18px;
    text-align: center;
    margin: 0 4% 5%;
  }
  .about-contents-wrap01 {
    padding: 0px 40px 30px 40px;
  }
  .brand-img {
    width: 240px;
  }
  .brand-img2 {
    width: 240px;
  }
}
@media (max-width: 749px) {
  .brand-img {
    width: 200px;
  }
  .brand-img2 {
    width: 200px;
  }
  .about-contents-wrap01-subtitle-text {
    font-size: 18px;
  }
  .about-contents-text03 {
    font-size: 16px;
    text-align: center;
    margin: 0 2% 5%;
  }
}
@media (max-width: 499px) {
  .about {
    padding: 50px 20px 20px 20px;
  }
  .about-title {
    font-size: 36px;
  }
  .about-title-img {
    margin: 0 auto 30px;
  }
  .about-contents-wrap01 {
    gap: 30px;
    padding: 0px 10px 20px 10px;
    margin: 0 0 40px;
  }
  .about-contents-wrap01-title-wrap {
    flex-direction: column;
    gap: 25px;
    padding: 0;
    width: 100%;
  }
  .about-contents-wrap01-title-img {
    margin: -22px auto 0 30%;
    width: 100px;
    max-width: 100%;
  }
  .about-contents-wrap01-title-text {
    font-size: 22px;
    margin: 0;
    text-align: center;
  }
  .about-contents-wrap01-title-text span {
    font-size: 24px;
  }
  .about-contents-wrap01-title-text br {
    display: block;
  }
  .about-contents-wrap01-brand-title-wrap {
    padding: 9px 20px 10px 20px;
  }
  .about-contents-wrap01-brand-title {
    font-size: 18px;
  }
  .about-contents-wrap01-brand-wrap {
    padding: 10px 20px;
  }
  .brand-img {
    width: 120px;
  }
  .brand-img2 {
    width: 120px;
  }
  .about-contents-wrap01-subtitle-wrap {
    width: 100%;
  }
  .about-contents-wrap01-subtitle-text {
    width: 100%;
    font-size: 18px;
    line-height: 1.4;
    text-align: center;
  }
  .about-contents-wrap01-subtitle-text br {
    display: block;
  }
  .about-contents-margin-titlewrap01 {
    height: 50px;
  }
  .about-contents-margin-titlerap02 {
    height: 50px;
  }
  .about-contents-margin-title br {
    display: none;
  }
  .about-contents-text03 {
    text-align: left;
    margin: 0 10px 20px;
  }
  .about-contents-text03 br {
    display: none;
  }
}

/* ------------------------------------------------------------------
Price
------------------------------------------------------------------- */
.price {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: flex-start;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.price-wrapper {
  align-items: center;
  background: #1147b1;
  flex-direction: column;
  gap: 0px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 90px 40px 120px 40px;
  width: 100%;
  max-width: 100%;
}
.price-title-wrap {
  align-items: flex-start;
  flex: none;
  flex-direction: column;
  gap: 8px;
  height: auto;
  justify-content: flex-start;
  margin: 0px 0px 50px 0px;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.price-title {
  color: #ffffff;
  flex: none;
  font-family: var(--s-font-eead47e1);
  font-size: 40px;
  font-style: normal;
  font-weight: 800;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.price-title-img {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  width: 245px;
  max-width: 100%;
}
.price-contents-title-wrap {
  align-items: center;
  background: #251a1a;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  padding: 15px 40px 16px 40px;
  width: 1040px;
  max-width: 100%;
}
.price-contents-title {
  color: #ffffff;
  flex: none;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.price-contents-wrapper {
  align-items: center;
  background: rgba(255, 255, 255, 0.88);
  border-radius: 0px 0px 10px 10px;
  box-shadow: 0px 0px 25px 0px rgba(89, 87, 87, 0.10000000149011612);
  flex-direction: column;
  gap: 0px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0px 0px 50px 0px;
  width: 1040px;
  max-width: 100%;
}
.price-contents-first-wrapper {
  align-items: center;
  flex: none;
  flex-direction: column;
  gap: 10px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 30px 0px 0px 0px;
  width: auto;
  max-width: 100%;
}
.price-contents-first-wrap {
  align-items: flex-end;
  flex: none;
  flex-direction: row;
  gap: 30px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.price-contents-first-text {
  color: #170b0b;
  flex: none;
  font-size: 20px;/*font-size: 25px;*/
  font-style: normal;
  font-weight: 500;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0px 0px 11px 0px;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.price-contents-first-text-wrap {
  color: #02418a;
  flex: none;
  font-size: 23px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
}
.price-contents-first-text-wrap p {
  color: #170b0b;font-size: 18px;
  margin: 0;
}
.price-contents-first-text-wrap p strong {
  color: #02418a;
  font-size: 35px;/*font-size: 60px;*/
  font-weight: 600;
  font-family: "Roboto", sans-serif;
  letter-spacing: normal;
}
.price-contents-first-text-wrap p span {
  font-size: 18px;/*font-size: 25px;*/
  font-style: normal;
}
.price-contents-first-text02 {
  color: #170b0b;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.price-contents-second-wrap {
  align-items: center;
  flex-direction: column;
  gap: 30px;
  height: auto;
  justify-content: flex-start;
  margin: 50px 0px 0px 0px;
  padding: 0;
  width: 920px;
  max-width: 100%;
}
.price-contents-second-text-wrap {
  align-content: center;
  align-items: center;
  background: #ab0f18;
  flex: none;
  flex-direction: row;
  gap: 40px;
  height: 50px;/*height: 42px;*/
  justify-content: center;
  margin: 0px 0px 0px -2px;
  padding: 0;
  width: 520px;
  max-width: calc(100% - -2px);
}
.price-contents-second-text-left {
  color: #ffffff;
  flex: none;
  font-size: 30px;/* font-size: 24px;*/
  font-style: normal;
  font-weight: 700;/*font-weight: 600;*/
  height: 29px;
  letter-spacing: 0.03em;
  line-height: 1;
  margin: 0;
  text-align: left;
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
}
.price-contents-second-text-right {
  color: #ffffff;
  flex: none;
  font-size: 24px;
  font-style: normal;
  font-weight: 500;/*font-weight: 400;*/
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1;
  margin: 0;
  text-align: left;
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
}
.price-contents-third-wrapper {
  align-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 8px;
  height: auto;
  justify-content: center;
  margin: 0;
  padding: 0;
}
dl.price-contents-third-text-wrap {
  width: 100%;
  padding: 0;
  margin: 0;
  border-bottom: solid 2px #ccc;
}
dl.price-contents-third-text-wrap dt {
  float: left;
  width: 240px;
  font-size: 18px;
  font-weight: 600;
  color: #1147b1;
  text-align: left;
  line-height: 1.4;
  padding: 10px 20px;
  margin: 0;
}
dl.price-contents-third-text-wrap dd {
  margin-left: 240px;
  font-size: 18px;
  font-weight: 400;
  color: #170b0b;
  text-align: left;
  line-height: 1.4;
  letter-spacing: 0;
  padding: 10px 20px;
}

dl.price-contents-third-text-wrap dt.strong {padding-top: 10px;font-size: 22px;font-weight: 700;line-height: 50px;}
dl.price-contents-third-text-wrap dd.strong {padding-top: 10px;font-size: 50px; font-weight: 900;line-height: 50px;}
dl.price-contents-third-text-wrap dd.strong small{ font-size: 30px; font-weight: 900;line-height: 50px;}


.price-contents-bg-img {
  position: absolute;
  top: auto;
  left: 0px;
  right: 0px;
  bottom: 0px;
  flex: none;
  height: auto;
  margin: 0 0 0 0;
  mix-blend-mode: hard-light;
  width: 100%;
  max-width: 100%;
}

.price-attention  {margin-top: 30px;color: #fff;text-align: left;}


@media (max-width: 1200px) {
}
@media (max-width: 990px) {
  .price-contents-first-wrap {
    align-items: center;
    flex: none;
    flex-direction: column;
    gap: 10px;
    height: auto;
    justify-content: flex-start;
    margin: 0;
    padding: 30px 0px 0px 0px;
  }
  .price-contents-second-wrap {
    width: 100%;
    max-width: 100%;
  }
  .price-contents-second-text-wrap {
    margin: 0px auto;
    width: 80%;
    max-width: 100%;
  }
  dl.price-contents-third-text-wrap dd br {
    display: none;
  }
}
@media (max-width: 749px) {
  .price-contents-first-text {
    font-size: 20px;
  }
  .price-contents-first-text02 {
    font-size: 16px;
  }
  .price-contents-second-text-left {
    font-size: 20px;
  }
  .price-contents-second-text-right {
    font-size: 20px;
  }
  dl.price-contents-third-text-wrap dt {
    width: 200px;
    font-size: 16px;
  }
  dl.price-contents-third-text-wrap dd {
    margin-left: 200px;
    font-size: 16px;
  }
}
@media (max-width: 499px) {
  .price-wrapper {
    padding: 50px 20px 50px 20px;
  }
  .price-title-wrap {
    align-items: center;
    margin: 0px 0px 30px 0px;
    padding: 0;
  }
  .price-title {
    font-size: 30px;
  }
  .price-contents-first-wrap {
    padding: 0px;
  }
  .price-contents-first-text {
    font-size: 20px;
    margin: 0;
  }
  .price-contents-first-text-wrap {
    font-size: 20px;
  }
  .price-contents-first-text-wrap p strong {
    font-size: 44px;
  }
  .price-contents-first-text-wrap p span {
    font-size: 20px;
  }
  .price-contents-first-text02 {
    font-size: 16px;
    padding: 0 10px;
  }
  .price-contents-second-wrap {
    margin: 30px 0px 0px 0px;
  }
  .price-contents-second-text-wrap {
    width: 90%;
    gap: 10px;
  }
  .price-contents-second-text-right {
    font-size: 16px;
  }
  dl.price-contents-third-text-wrap dt {
    display: block;
    width: 100%;
    font-size: 18px;
    text-align: center;
    padding: 15px 20px 5px;
  }
  dl.price-contents-third-text-wrap dd {
    display: block;
    width: 100%;
    margin-left: 0;
    padding: 5px 20px 15px;
    text-align: center;
    margin-bottom: 0;
  }
  .price-contents-wrapper {
    padding: 0px 0px 30px 0px;
  }
}

/* ------------------------------------------------------------------
Philosophy
------------------------------------------------------------------- */
.philosophy {
  align-items: center;
  flex-direction: column;
  gap: 0px;
  height: auto;
  justify-content: flex-start;
  padding: 90px 0px 0px 0px;
  width: 100%;
  max-width: 100%;
}
.philosophy:before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../assets/image/philosophy-bg.webp);
}
.philosophy-title-wrapper {
  align-items: center;
  flex-direction: column;
  gap: 0px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.philosophy-title-wrap {
  align-items: center;
  flex: none;
  flex-direction: column;
  gap: 8px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.philosophy-title {
  color: #02418a;
  font-size: 40px;
  font-style: normal;
  font-weight: 800;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.philosophy-title-img {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  width: 100%;
  max-width: 100%;
}
.philosophy-copy-wrap {
  align-content: center;
  align-items: center;
  flex-direction: row;
  gap: 25px;
  height: auto;
  justify-content: center;
  margin: 54px 0px 0px 0px;
  padding: 0;
  width: 589px;
  max-width: 100%;
}
.philosophy-copy-left {
  color: #02418a;
  flex: none;
  font-size: 60px;
  font-style: normal;
  font-weight: 600;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.philosophy-copy-center {
  color: #170b0b;
  flex: none;
  font-size: 40px;
  font-style: normal;
  font-weight: 900;
  font-family: "Noto Serif JP", serif;
  height: auto;
  letter-spacing: 0.05em;
  line-height: 1;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.philosophy-copy-right {
  color: #02418a;
  flex: none;
  font-family: var(--s-font-4b8b5bc3);
  font-size: 60px;
  font-style: normal;
  font-weight: 600;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.philosophy-copy-text-wrap {
  color: #170b0b;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.5;
  margin: 34px 0px 50px 0px;
  text-align: center;
  width: 100%;
  max-width: 100%;
}
.philosophy-copy-text-wrap span {
  color: #02418a;
  font-size: 22px;
  font-weight: 600;
}
.philosophy-contents-second-wrapper {
  background: linear-gradient(var(--g-angle), var(--g-color-0) var(--g-position-0), var(--g-color-1) var(--g-position-1));
  flex: none;
  height: 260px;
  margin: 125px 0px 0px 0px;
  mix-blend-mode: hard-light;
  width: 100%;
  max-width: 100%;
  --g-color-0: #0074c4;
  --g-position-0: 0%;
  --g-color-1: #00329c;
  --g-position-1: 100%;
  --g-color-2: #00329c;
  --g-position-2: 100%;
  --g-color-3: #00329c;
  --g-position-3: 100%;
  --g-color-4: #00329c;
  --g-position-4: 100%;
  --g-color-5: #00329c;
  --g-position-5: 100%;
  --g-color-6: #00329c;
  --g-position-6: 100%;
  --g-color-7: #00329c;
  --g-position-7: 100%;
  --g-color-8: #00329c;
  --g-position-8: 100%;
  --g-color-9: #00329c;
  --g-position-9: 100%;
  --g-color-10: #00329c;
  --g-position-10: 100%;
  --g-color-11: #00329c;
  --g-position-11: 100%;
  --g-angle: 338deg;
}
.philosophy-contents-second-wrap {
  align-items: center;
  flex-direction: column;
  gap: -58px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.philosophy-contents-blue-wrap {
  align-items: center;
  background: rgba(0, 0, 0, 0);
  flex: none;
  flex-direction: row;
  gap: 60px;
  height: 260px;
  justify-content: flex-start;
  margin: -260px 0px 0px 0px;
  mix-blend-mode: normal;
  padding: 0px 46px 0px 46px;
  width: 100%;
  max-width: 100%;
}
.philosophy-contents-blue-img {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  width: 42%;
  max-width: 42%;
}
.philosophy-contents-blue-text-wrapper {
  align-items: flex-start;
  flex: none;
  flex-direction: column;
  gap: 21px;
  height: auto;
  justify-content: flex-start;
  margin: -9px 0px 0px 0px;
  padding: 0;
  width: 49.5%;
  max-width: 49.5%;
}
.philosophy-contents-blue-title-wrap {
  align-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 21px;
  justify-content: center;
  padding: 0;
}
.philosophy-contents-blue-title-img {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  width: 29px;
  max-width: 100%;
}
.philosophy-contents-blue-title {
  color: #fff;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0px 0px 0px 40px;
  text-align: left;
  width: auto;
  max-width: calc(100% - 40px);
  justify-content: flex-start;
}
.philosophy-contents-blue-text-wrap {
  margin: 0;
  width: 638px;
  max-width: 100%;
}
.philosophy-contents-blue-text-wrap p {
  color: #ffffff;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.5;
  text-align: left;
  margin: 0;
}
.philosophy-contents-blue-text-wrap p span {
  font-weight: 700;
}
.philosophy-contents-footer {
  align-content: flex-end;
  align-items: flex-end;
  background: linear-gradient(var(--g-angle), var(--g-color-0) var(--g-position-0), var(--g-color-1) var(--g-position-1));
  flex-direction: column;
  flex-wrap: nowrap;
  height: 148px;
  justify-content: center;
  margin: 58px 0px 0px 0px;
  width: 100%;
  z-index: -1;
  max-width: 100%;
  --g-color-0: rgba(237, 237, 238, 0);
  --g-position-0: 0%;
  --g-color-1: rgb(237, 237, 238);
  --g-position-1: 100%;
  --g-color-2: rgb(237, 237, 238);
  --g-position-2: 100%;
  --g-color-3: rgb(237, 237, 238);
  --g-position-3: 100%;
  --g-color-4: rgb(237, 237, 238);
  --g-position-4: 100%;
  --g-color-5: rgb(237, 237, 238);
  --g-position-5: 100%;
  --g-color-6: rgb(237, 237, 238);
  --g-position-6: 100%;
  --g-color-7: rgb(237, 237, 238);
  --g-position-7: 100%;
  --g-color-8: rgb(237, 237, 238);
  --g-position-8: 100%;
  --g-color-9: rgb(237, 237, 238);
  --g-position-9: 100%;
  --g-color-10: rgb(237, 237, 238);
  --g-position-10: 100%;
  --g-color-11: rgb(237, 237, 238);
  --g-position-11: 100%;
  --g-angle: 180deg;
}

@media (max-width: 1200px) {
  .philosophy-contents-second-wrapper {
    height: 300px;
    margin: 30px 0px 0px 0px;
  }
  .philosophy-contents-blue-wrap {
    height: 260px;
    margin: -280px 0px 0px 0px;
    padding: 0px 46px 0px 46px;
  }
  .philosophy-contents-blue-text-wrap p {
    font-size: 18px;
    line-height: 1.4;
  }
  .philosophy-contents-blue-text-wrap p br.br {
    display: none;
  }
  .philosophy-contents-footer {
    height: 48px;
    margin: 0px 0px 0px 0px;
  }
}
@media (max-width: 990px) {
}
@media (max-width: 749px) {
  .philosophy-copy-left {
    font-size: 48px;
  }
  .philosophy-copy-center {
    font-size: 30px;
  }
  .philosophy-copy-right {
    font-size: 48px;
  }
  .philosophy-copy-text-wrap {
    font-size: 18px;
    line-height: 1.5;
    margin: 34px 0px 50px 0px;
    padding: 0 8%;
    text-align: left;
  }
  .philosophy-copy-text-wrap br {
    display: none;
  }
  .philosophy-copy-text-wrap span {
    font-size: 20px;
  }
  .philosophy-contents-blue-wrap {
    gap: 30px;
  }
  .philosophy-contents-blue-text-wrap p {
    font-size: 16px;
  }
}
@media (max-width: 499px) {
  .philosophy {
    padding: 50px 0px 0px 0px;
  }
  .philosophy-title {
    font-size: 30px;
  }
  .philosophy-copy-wrap {
    gap: 10px;
    margin: 30px 0px 0px 0px;
    width: 100%;
    max-width: 100%;
  }
  .philosophy-copy-left {
    font-size: 30px;
  }
  .philosophy-copy-center {
    font-size: 24px;
  }
  .philosophy-copy-right {
    font-size: 30px;
  }
  .philosophy-copy-text-wrap {
    margin: 30px 0px 30px 0px;
  }
  .philosophy-contents-second-wrapper {
    height: 450px;
    margin: 30px 0px 0px 0px;
  }
  .philosophy-contents-blue-wrap {
    flex-direction: column;
    gap: 20px;
    height: 460px;
    margin: -480px 0px 0px 0px;
    padding: 0px 20px 0px 20px;
  }
  .philosophy-contents-blue-img {
    width: 100%;
    max-width: 100%;
  }
  .philosophy-contents-blue-text-wrapper {
    align-items: center;
    margin: -9px 0px 0px 0px;
    width: 100%;
    max-width: 100%;
  }
  .philosophy-contents-blue-title {
    font-size: 36px;
    margin: 0;
    width: auto;
    max-width: 100%;
  }
  .philosophy-contents-blue-text-wrap p {
    font-size: 16px;
    line-height: 1.5;
    padding: 0 10px;
  }
}

/* ------------------------------------------------------------------
Flow
------------------------------------------------------------------- */
.flow {
  align-items: center;
  background: #ededee;
  flex-direction: column;
  gap: 80px;
  height: auto;
  justify-content: flex-start;
  padding: 90px 40px 90px 40px;
  width: 100%;
  max-width: 100%;
}
.flow-title {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: 392px;
  max-width: 100%;
}
.flow-wrapper {
  justify-content: center;
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: row;
  flex-wrap: wrap;
  height: auto;
  margin: 0;
  padding: 0;
  width: 80%;
  max-width: 100%;
}
.flow-icon {
  flex: none;
  height: auto;
  margin: 0;
  width: 100px;
  max-width: 100%;
  z-index: 2;
}
.flow-contents-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0px 0px 25px 0px rgba(89, 87, 87, 0.10000000149011612);
  height: 180px;
  margin: -30px 0px 40px 0px;
  padding: 10px;
  width: 100%;
  max-width: 100%;
}
.flow-contents-wrap p {
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  margin: 0;
}
.flow-contents-wrap p span {
  font-size: 18px;
  font-weight: 600;
}
.flow-contents-wrap p span.caution {
  display: block;
  font-size: 14px;
  font-weight: 400;
  padding-top: 10px;
}
.flow-arrow {
  align-items: center;
  flex: none;
  flex-direction: column;
  justify-content: center;
  height: auto;
  margin: 0 auto;
  transform: rotate(-90deg);
  width: 50px;
}

@media (max-width: 1200px) {
  .flow-wrapper {
    width: 100%;
  }
}
@media (max-width: 990px) {
  .flow-contents-wrap {
    margin: -30px 0px 20px 0px;
    padding: 10px;
    width: 100%;
    max-width: 100%;
  }
  .flow-contents-wrap p {
    font-size: 20px;
  }
  .flow-contents-wrap p br {
    display: none;
  }
  .flow-contents-wrap p span {
    font-size: 22px;
  }
  .flow-contents-wrap p span.caution {
    font-size: 18px;
  }
  .flow-arrow {
    display: flex;
    flex: none;
    margin: 0 auto 20px;
    transform: rotate(0deg);
    width: 50px;
    max-width: 100%;
  }
}
@media (max-width: 749px) {
}
@media (max-width: 499px) {
  .flow {
    gap: 30px;
    padding: 20px 20px 40px;
  }
  .flow-contents-wrap {
    padding: 10px 20px;
    height: 150px;
  }
  .flow-contents-wrap p {
    font-size: 20px;
    line-height: 1.4;
    padding-top: 10px;
  }
  .flow-contents-wrap p br {
    display: block;
  }
}

/* ------------------------------------------------------------------
Advantages
------------------------------------------------------------------- */
.advantages {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  height: auto;
  justify-content: center;
  padding: 90px 0px;
  width: 100%;
  max-width: 100%;
}
.advantages:before {
  background-image: url(../assets/image/advantages-bg.webp);
}
.advantages-title-wrap {
  align-items: center;
  flex: none;
  flex-direction: column;
  gap: 8px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.advantages-title {
  color: #02418a;
  font-size: 40px;
  font-style: normal;
  font-weight: 800;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.advantages-title br {
  display: none;
}
.advantages-title-img {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  width: 100%;
  max-width: 100%;
}
.advantages-contents-first-wrap {
  align-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 10px;
  justify-content: center;
  margin: 80px 0px 0px 0px;
  padding: 0;
  z-index: 2;
  max-width: 100%;
}
.advantages-contents-first-text-wrap {
  align-items: flex-start;
  flex: none;
  flex-direction: column;
  gap: 0px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: 50%;
  max-width: 50%;
}
.advantages-contents-first-title-wrap {
  align-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0);
  border-radius: 10px;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0px 0px 10px 0px;
  padding: 6px 0px 17px 0px;
  width: 236px;
  max-width: 100%;
}
.advantages-contents-first-title-wrap:before {
  background-image: url(../assets/image/advantages-red-tig01.webp);
}
.advantages-contents-first-title {
  color: #ffffff;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}

dl.advantages-contents-first-check {
  width: 100%;
  padding: 10px 0;
  margin: 0;
}
dl.advantages-contents-first-check dt {
  float: left;
  width: 25px;
  text-align: left;
  padding: 10px 0 0;
  margin: 0;
}
dl.advantages-contents-first-check dt img {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  width: 18px;
  max-width: 100%;
}
dl.advantages-contents-first-check dd {
  margin-left: 25px;
  color: #170b0b;
  font-size: 20px;
  font-weight: 400;
  text-align: left;
  letter-spacing: 0.03em;
  line-height: 1.4;
  padding: 0;
}
dl.advantages-contents-first-check dd span {
  color: #02418a;
  font-weight: 600;
}
.advantages-contents-first-img {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: -45px 0px 0px 0px;
  width: 32%;
  max-width: 32%;
}
.advantages-contents-first-footimg {
  flex: none;
  height: auto;
  margin: -300px 0px 0px 0px;
  mix-blend-mode: overlay;
  width: 100%;
  max-width: 100%;
}

.advantages-contents-second-wrap {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: row;
  gap: 30px;
  height: auto;
  justify-content: center;
  padding: 32px 0px 0px 0px;
  width: 100%;
  z-index: 2;
  max-width: 100%;
}
.advantages-contents-second-img {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  width: 32%;
  max-width: 32%;
}
.advantages-contents-second-text-wrap {
  align-items: flex-start;
  flex: none;
  flex-direction: column;
  gap: 0px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: 45%;
  max-width: 45%;
}
.advantages-contents-second-title-wrap {
  align-items: center;
  background: rgba(0, 0, 0, 0);
  border-radius: 10px;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 6px 0px 17px 0px;
  width: 405px;
  max-width: 100%;
}
.advantages-contents-second-title-wrap:before {
  background-image: url(../assets/image/advantages-red-tig02.webp);
}
.advantages-contents-second-title {
  color: #ffffff;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.advantages-contents-second-text {
  color: #170b0b;
  flex: none;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.5;
  margin: 5px 0px 0px 0px;
  text-align: left;
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
}
.advantages-contents-second-footimg {
  flex: none;
  height: auto;
  margin: -323px 0px 0px 0px;
  mix-blend-mode: overlay;
  width: 100%;
  max-width: 100%;
}

.advantages-contents-third-wrapper {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: flex-start;
  margin: 114px 0px 0px 0px;
  padding: 0px 40px;
  width: 100%;
  max-width: 100%;
}
.advantages-contents-third-wrap {
  align-items: center;
  flex-direction: column;
  gap: 0px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.advantages-contents-third-title-wrap {
  align-items: flex-start;
  flex-direction: row;
  gap: 24px;
  height: auto;
  justify-content: flex-start;
  margin: 0px 0px 0px 3px;
  padding: 0;
  width: 381px;
  max-width: calc(100% - 3px);
}
.advantages-contents-third-title-left {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 2px 0px 0px 0px;
  width: 34px;
  max-width: 100%;
}
.advantages-contents-third-title-center {
  color: #02418a;
  flex: none;
  font-size: 34px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.advantages-contents-third-title-right {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 2px 0px 0px 0px;
  width: 34px;
  max-width: 100%;
}
.advantages-contents-third-header {
  align-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 98px;
  justify-content: center;
  margin: 34px 0px 0px 0px;
  padding: 0;
  max-width: 100%;
}
.advantages-contents-third-header-text-wrap {
  color: #170b0b;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 34px 0px 0px 0px;
  text-align: left;
  width: auto;
  max-width: 100%;
}
.advantages-contents-third-header-text-wrap p {
  margin: 0;
}
.advantages-contents-third-header-text-wrap p span {
  color: #02418a;
  font-weight: 700;
}
.advantages-contents-third-header-img {
  flex: none;
  height: auto;
  margin: -100px 0px 0px 0px;
  width: 199.7px;
  max-width: 100%;
}

.advantages-contents-third-wrappers {
  align-items: center;
  background: rgba(255, 255, 255, 0.800000011920929);
  box-shadow: 0px 0px 25px 0px rgba(89, 87, 87, 0.10000000149011612);
  flex: none;
  flex-direction: column;
  gap: 30px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0px 0px 43px 0px;
  width: 920px;
  max-width: 100%;
}
.advantages-contents-third-title-wraps {
  flex-direction: row;
  align-items: center;
  background: #1147b1;
  height: auto;
  justify-content: center;
  margin: 0;
  padding: 7px 39px 7px 40px;
  width: 100%;
  max-width: 100%;
}
.advantages-contents-third-titles-img {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  overflow-x: hidden;
  overflow-y: hidden;
  width: 27px;
  max-width: 100%;
}
.advantages-contents-third-titles {
  color: #ffffff;
  flex: none;
  font-size: 22px;
  font-style: normal;
  font-weight: 600;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  padding: 0 0 0 20px;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.advantages-contents-third-text-wraps {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.advantages-contents-third-texts-wraps {
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: row;
  gap: 20px;
  height: auto;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.advantages-contents-third-texts01 {
  color: #1147b1;
  flex: none;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: left;
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
}
.advantages-contents-third-texts-arrow {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  transform: rotate(180deg);
  width: 20px;
  max-width: 100%;
}
.advantages-contents-third-texts03 {
  color: #170b0b;
  flex: none;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 1px 0px 0px 0px;
  text-align: left;
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
}
.advantages-contents-third-texts04 {
  color: #170b0b;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 3px 0px 0px 0px;
  text-align: left;
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
}
.advantages-contents-third-texts05 {
  color: #02418a;
  flex: none;
  font-size: 28px;
  font-style: normal;
  font-weight: 600;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.advantages-contents-third-texts06 {
  color: #02418a;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.5;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}

@media (max-width: 1200px) {
  .advantages-contents-first-footimg {
    margin: -210px 0px 0px 0px;
  }
  .advantages-contents-first-text-wrap {
    width: 55%;
    max-width: 55%;
  }
  dl.advantages-contents-first-check {
    padding: 5px 0;
  }
  dl.advantages-contents-first-check dd {
    font-size: 18px;
  }
  .advantages-contents-second-wrap {
    padding: 40px 0 80px;
  }
  .advantages-contents-second-text-wrap {
    width: 50%;
    max-width: 50%;
  }
  .advantages-contents-second-text {
    font-size: 18px;
  }
}
@media (max-width: 990px) {
  .advantages-contents-first-wrap {
    flex: none;
    flex-direction: column-reverse;
    flex-wrap: nowrap;
    gap: 30px;
    margin: 100px 0px 0px 0px;
    width: 100%;
    max-width: 100%;
  }
  .advantages-contents-first-img {
    margin: -40px 0px 0px 0px;
    width: 50%;
    max-width: 50%;
  }
  .advantages-contents-first-text-wrap {
    width: 80%;
    max-width: 80%;
  }
  .advantages-contents-first-footimg {
    margin: -140px 0px 0px 0px;
  }
  .advantages-contents-second-wrap {
    flex-direction: column;
    flex-wrap: wrap;
    padding: 50px 0px 0px 0px;
  }
  .advantages-contents-second-img {
    width: 50%;
    max-width: 50%;
  }

  .advantages-contents-second-text-wrap {
    width: 80%;
    max-width: 80%;
  }
  .advantages-contents-second-text br {
    display: none;
  }
  .advantages-contents-second-footimg {
    margin: -130px 0px 0px 0px;
    width: 100%;
    max-width: 100%;
  }

  .advantages-contents-third-header {
    gap: 10px;
    margin: 34px 0px 20px 0px;
  }
  .advantages-contents-third-header-img {
    flex: none;
    margin: -60px 0px 0px 0px;
    width: 150px;
  }
  .advantages-contents-third-texts06 {
    padding: 0 30px;
  }
  .advantages-contents-third-texts06 br {
    display: none;
  }
}
@media (max-width: 749px) {
  .advantages-contents-third-header {
    flex-direction: column;
    flex-wrap: wrap;
  }
  .advantages-contents-third-header-text-wrap {
    font-size: 16px;
    text-align: center;
  }
  .advantages-contents-third-header-text-wrap {
    font-size: 18px;
  }
  .advantages-contents-third-header-img {
    flex: none;
    margin: 20px 0px 0px 0px;
    width: 150px;
  }
  .advantages-contents-third-titles {
    font-size: 20px;
  }
  .advantages-contents-third-texts01 {
    font-size: 18px;
  }
  .advantages-contents-third-texts03 {
    font-size: 18px;
  }
  .advantages-contents-third-texts04 {
    font-size: 16px;
  }
  .advantages-contents-third-texts06 {
    font-size: 16px;
  }
}
@media (max-width: 499px) {
  .advantages {
    padding: 50px 20px;
  }
  .advantages-title {
    font-size: 30px;
  }
  .advantages-title br {
    display: block;
  }
  .advantages-contents-first-wrap {
    gap: 20px;
    margin: 80px 0px 0px 0px;
  }
  .advantages-contents-first-img {
    margin: -40px 0px 0px 0px;
    width: 100%;
    max-width: 100%;
  }
  .advantages-contents-first-text-wrap {
    width: 100%;
    max-width: 100%;
  }
  .advantages-contents-first-title-wrap {
    margin: 0px auto 10px;
    padding: 6px 0px 35px 0px;
    width: 100%;
    max-width: 100%;
  }
  .advantages-contents-first-title {
    font-size: 20px;
    padding-top: 10px;
  }
  .advantages-contents-first-footimg {
    height: 220px;
    margin: -220px 0px 0px 0px;
  }

  .advantages-contents-second-wrap {
    flex-direction: column;
    flex-wrap: wrap;
    padding: 30px 0px 0px 0px;
    gap: 20px;
  }
  .advantages-contents-second-img {
    width: 100%;
    max-width: 100%;
  }
  .advantages-contents-second-text-wrap {
    width: 100%;
    max-width: 100%;
  }
  .advantages-contents-second-title-wrap {
    margin: 0px auto 10px;
    padding: 6px 0px 35px 0px;
    width: 100%;
    max-width: 100%;
  }
  .advantages-contents-second-title {
    font-size: 20px;
    padding-top: 10px;
  }
  .advantages-contents-second-footimg {
    height: 240px;
    margin: -230px 0px 0px 0px;
  }

  .advantages-contents-third-wrapper {
    margin: 70px 0px 0px 0px;
    padding: 0;
  }
  .advantages-contents-third-wrappers {
    gap: 20px;
  }
  .advantages-contents-third-header {
    gap: 10px;
    margin: 0;
  }
  .advantages-contents-third-header-text-wrap p {
    text-align: left;
    line-height: 1.5;
  }
  .advantages-contents-third-header-text-wrap p br {
    display: none;
  }
  .advantages-contents-third-title-wrap {
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
  }
  .advantages-contents-third-title-left {
    margin: 2px 0px 0px 0px;
    width: 24px;
  }
  .advantages-contents-third-title-center {
    font-size: 24px;
  }
  .advantages-contents-third-title-right {
    margin: 2px 0px 0px 0px;
    width: 24px;
  }
  .advantages-contents-third-texts-wraps {
    flex-direction: column;
    flex-wrap: wrap;
    gap: 5px;
    margin: 0 20px 20px;
  }
  .advantages-contents-third-texts-arrow {
    transform: rotate(270deg);
  }
  .advantages-contents-third-texts03 {
    text-align: center;
  }
  .advantages-contents-third-texts04 {
    font-size: 16px;
    margin: 0 20px;
    text-align: center;
  }
  .advantages-contents-third-texts06 {
    font-size: 16px;
    padding: 0 20px;
    text-align: left;
  }
  .advantages-contents-third-titles {
    font-size: 18px;
    padding: 0 0 0 10px;
  }
  .advantages-contents-third-header-img {
    width: 180px;
  }
  .advantages-contents-third-texts01 {
    font-size: 24px;
  }
}

/* ------------------------------------------------------------------
Trends
------------------------------------------------------------------- */
.trends {
  align-items: center;
  background: #fcfcfc;
  flex-direction: column;
  gap: 101px;
  height: auto;
  justify-content: flex-start;
  padding: 90px 40px 90px 40px;
  width: 100%;
  max-width: 100%;
}
.trends-wrap {
  align-items: center;
  flex-direction: column;
  gap: 0px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: 920px;
  max-width: 100%;
}
.trends-title-wrap {
  align-items: center;
  flex-direction: column;
  gap: 8px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.trends-title {
  color: #170b0b;
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.trends-title-img {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0px 0px 0px -1px;
  width: 683px;
  max-width: calc(100% - -1px);
}
.trends-lead-wrap {
  color: #170b0b;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 51px 0px 0px 1px;
  text-align: center;
  width: auto;
  max-width: calc(100% - 1px);
}
.trends-lead-wrap h3 {
  display: block;
  margin: 10px 0;
}
.trends-lead-wrap h3 strong {
  color: #02418a;
}
.trends-lead-wrap h3 br {
  display: none;
}

.trends-contents-wrapper {
  align-items: flex-start;
  flex-direction: row;
  gap: -242px;
  height: auto;
  justify-content: flex-start;
  margin: 40px 0px 0px 0px;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.trends-contents-img {
  position: absolute;
  right: auto;
  top: auto;
  left: -51px;
  bottom: -94px;
  flex: none;
  width: 229px;
  height: auto;
  margin: 0;
  z-index: 2;
  max-width: 100%;
}
.trends-contents-wrap {
  align-content: center;
  align-items: center;
  background: linear-gradient(var(--g-angle), var(--g-color-0) var(--g-position-0), var(--g-color-1) var(--g-position-1));
  border-radius: 10px;
  box-shadow: 0px 0px 25px 0px rgba(89, 87, 87, 0.10000000149011612);
  flex: 1;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 12px;
  height: auto;
  margin: 0;
  overflow-x: hidden;
  overflow-y: hidden;
  padding: 15px 43px 32px 220px;
  width: 100%;
  max-width: 100%;
  --g-color-0: rgb(17, 71, 177);
  --g-position-0: 0%;
  --g-color-1: rgb(18, 108, 192);
  --g-position-1: 100%;
  --g-color-2: rgb(18, 108, 192);
  --g-position-2: 100%;
  --g-color-3: rgb(18, 108, 192);
  --g-position-3: 100%;
  --g-color-4: rgb(18, 108, 192);
  --g-position-4: 100%;
  --g-color-5: rgb(18, 108, 192);
  --g-position-5: 100%;
  --g-color-6: rgb(18, 108, 192);
  --g-position-6: 100%;
  --g-color-7: rgb(18, 108, 192);
  --g-position-7: 100%;
  --g-color-8: rgb(18, 108, 192);
  --g-position-8: 100%;
  --g-color-9: rgb(18, 108, 192);
  --g-position-9: 100%;
  --g-color-10: rgb(18, 108, 192);
  --g-position-10: 100%;
  --g-color-11: rgb(18, 108, 192);
  --g-position-11: 100%;
  --g-angle: 113.93deg;
}
.trends-contents-in-wrap {
  align-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 12px;
  justify-content: center;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.trends-contents-title-wrap {
  align-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 11px;
  justify-content: center;
  padding: 0;
}
.trends-contents-title-img {
  align-items: center;
  flex: none;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  width: 29px;
  max-width: 100%;
}
.trends-contents-title-text {
  color: #fff;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: left;
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
}

dl.trends-contents-text-wrap {
  width: 100%;
  padding: 0;
  margin: 0;
}
dl.trends-contents-text-wrap dt {
  float: left;
  width: 30px;
  padding: 5px 0;
  margin: 0;
}
dl.trends-contents-text-wrap dt img {
  margin: 0;
  width: 20px;
}
dl.trends-contents-text-wrap dd {
  margin-left: 30px;
  color: #ffffff;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.6;
  margin: 0;
  text-align: left;
  padding: 5px 0;
}
dl.trends-contents-text-wrap dd span {
  font-weight: 600;
}
.trends-contents-footer-text-wrap {
  color: #170b0b;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 30px 0px 0px 0px;
  text-align: center;
  width: auto;
  max-width: 100%;
}
.trends-contents-footer-text-wrap p {
  margin: 0;
}
.trends-contents-footer-text-wrap p em {
  color: #1147b1;
  font-size: 22px;
  font-weight: 600;
}
.trends-contents-footer-text-wrap p span {
  color: #02418a;
  font-size: 22px;
  font-weight: 600;
}

@media (max-width: 1200px) {
  .trends {
    gap: 80px;
  }
  .trends-contents-img {
    left: -10px;
    bottom: -30px;
    width: 200px;
  }
}
@media (max-width: 990px) {
  .trends-title {
    font-size: 30px;
  }
  .trends-lead-wrap {
    line-height: 1.5;
  }
  .trends-lead-wrap h3 {
    font-size: 20px;
    line-height: 1.6;
  }
  .trends-lead-wrap h3 br {
    display: block;
  }
  .trends-contents-footer-text-wrap {
    font-size: 20px;
    line-height: 1.6;
    margin: 0px 0px 0px 0px;
    text-align: left;
  }
  .trends-contents-footer-text-wrap p br {
    display: none;
  }
}
@media (max-width: 749px) {
  .trends-title {
    font-size: 28px;
  }
  .trends-lead-wrap h3 {
    font-size: 18px;
    line-height: 1.5;
  }
  .trends-contents-wrapper {
    flex-direction: column;
    flex-wrap: wrap;
    gap: -242px;
    margin: 40px 0px 0px 0px;
  }
  .trends-contents-img {
    position: relative;
    left: auto;
    bottom: auto;
    margin: 0 auto;
  }
  .trends-contents-wrap {
    padding: 15px 20px 32px 20px;
  }
  dl.trends-contents-text-wrap dd {
    font-size: 16px;
    line-height: 1.5;
  }
  .trends-contents-footer-text-wrap {
    font-size: 18px;
    line-height: 1.5;
  }
  .trends-contents-footer-text-wrap p em {
    font-size: 20px;
  }
  .trends-contents-footer-text-wrap p span {
    font-size: 20px;
  }
}
@media (max-width: 499px) {
  .trends {
    gap: 40px;
    padding: 50px 20px 50px 20px;
  }
  .trends-title {
    font-size: 24px;
  }
  .trends-lead-wrap {
    margin: 10px 0px 0px 0px;
  }
  .trends-lead-wrap h3 {
    font-size: 18px;
    text-align: left;
  }
  .trends-lead-wrap h3 br {
    display: none;
  }
  .trends-contents-wrapper {
    margin: 20px 0px 0px 0px;
  }
  .trends-contents-img {
    width: 220px;
  }
  .trends-contents-title-wrap {
    justify-content: center;
    width: 100%;
  }
  .trends-contents-title-text {
    font-size: 36px;
  }
  dl.trends-contents-text-wrap dt {
    float: none;
    display: block;
    width: 100%;
    padding: 5px;
    text-align: center;
  }
  dl.trends-contents-text-wrap dt img {
    margin: 0 auto;
    width: 30px;
  }
  dl.trends-contents-text-wrap dd {
    display: block;
    width: 100%;
    margin-left: 0px;
    text-align: left;
    padding: 0 5px 5px;
  }
}

/* ------------------------------------------------------------------
Types
------------------------------------------------------------------- */
.types {
  align-content: center;
  align-items: center;
  flex: none;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 90px 40px 90px 40px;
  width: 100%;
  max-width: 100%;
}
.types:before {
  background-image: url(../assets/image/types-bg.webp);
}
.types-wrap {
  align-items: center;
  flex: none;
  flex-direction: column;
  gap: 0px;
  height: auto;
  justify-content: flex-start;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.types-title-wrap {
  align-items: flex-start;
  flex: none;
  flex-direction: column;
  gap: 8px;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
}
.types-title {
  color: #170b0b;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.types-title-img {
  align-items: center;
  flex-direction: column;
  height: auto;
  justify-content: center;
  margin: 0;
  width: 100%;
  max-width: 100%;
}
.types-lead {
  color: #170b0b;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 51px 0px 0px -1px;
  text-align: left;
  width: auto;
  max-width: calc(100% - -1px);
  justify-content: flex-start;
}

.types-contents-wrap {
  align-items: center;
  background: #ffffff;
  box-shadow: 0px 0px 25px 0px rgba(89, 87, 87, 0.20000000298023224);
  flex: none;
  flex-direction: column;
  gap: 26px;
  height: auto;
  justify-content: flex-start;
  margin: 40px 0px 0px 0px;
  padding: 0px 0px 26px 0px;
  width: 920px;
  max-width: 100%;
}
.types-contents-title-wrap {
  align-items: center;
  background: #413838;
  flex-direction: column;
  height: auto;
  justify-content: flex-start;
  margin: 0;
  padding: 7px 40px 7px 39px;
  width: 100%;
  max-width: 100%;
}
.types-contents-title {
  color: #ffffff;
  font-size: 22px;
  font-style: normal;
  font-weight: 600;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.types-contents-text {
  color: #170b0b;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
  padding: 0px 10px;
  text-align: center;
  width: auto;
  max-width: 100%;
  justify-content: center;
}
.types-contents-footer-text {
  color: #170b0b;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 40px 0px 0px 1px;
  text-align: center;
  width: auto;
  max-width: calc(100% - 1px);
  justify-content: center;
}

@media (max-width: 749px) {
  .types-lead {
    font-size: 18px;
  }
  .types-contents-title {
    font-size: 18px;
  }
  .types-contents-text {
    font-size: 16px;
  }
  .types-contents-footer-text {
    font-size: 18px;
  }
}
@media (max-width: 499px) {
  .types {
    padding: 50px 20px 50px 20px;
  }
  .types-title-wrap {
    align-items: center;
    justify-content: center;
  }
  .types-title {
    font-size: 24px;
  }
  .types-lead {
    font-size: 18px;
    margin: 30px 0px 0px 0px;
  }
  .types-contents-wrap {
    gap: 20px;
    margin: 30px 0px 0px 0px;
    padding: 0px 0px 20px 0px;
  }
  .types-contents-text {
    font-size: 16px;
    padding: 0px 15px;
    text-align: left;
  }
}

/* Contact Section Btn
 * --------------------------------------- */

.linkbutton-footer {
  display: block;
  position: relative;
  width: 78%;
  height: 50px;
  line-height: 45px;
  text-align: center;
  margin: 0 auto;
  padding: 0 20px;
  background-color: #c81323;
  transition: all 0.4s ease-out;
}
.linkbutton-footer::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-color: #023c82;
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
}
.linkbutton-footer:hover::before {
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}
.linkbutton-footer .text {
  display: inline-block;
  position: relative;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  z-index: 2;
}
.linkbutton-footer:hover .text {
  color: #fff;
}
.linkbutton-footer .arrow {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 12px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  right: 20px;
  top: 45%;
  margin-top: -3px;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  z-index: 2;
}
.linkbutton-footer:hover .arrow {
  border-color: transparent transparent transparent #fff;
  right: 25px;
}

/*!------------------------------------------------------------------
[Home Footer Section]
*/

#footer-inner {
  padding: 6% 5% 6%;
  background-color: #e2e2e2;
}

.footer-logo {
  display: inline-block;
  width: 75%;
  margin: 0 0 25px;
  padding: 0;
}
#footer p.description {
  width: 80%;
  font-size: 1.4rem;
  margin-bottom: 30px;
}
#footer p.description br {
  display: none;
}
address {
  margin-bottom: 0px;
}
dl.access-company {
  width: 100%;
  padding: 0 0 20px;
  margin: 0;
}
dl.access-company dt {
  display: block;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 600;
  color: #000;
  text-align: left;
  line-height: 1;
  padding: 0 0 10px;
}
dl.access-company dd {
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.5;
  padding: 0;
}
dl.access-company dd a.g-map {
  display: block;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  color: #000 !important;
  text-align: left;
  line-height: 1.5;
  padding: 5px 0 10px;
}
.footer-tel-wrap {
  display: block;
  margin: 0 0 5px;
  padding: 0;
}
.footer-tel-wrap a {
  font-size: 1.8vw !important;
  font-weight: 600 !important;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  letter-spacing: 0;
  color: #000 !important;
  margin: 0;
  padding: 0;
}
.footer-tel-wrap a span {
  display: inline-block;
  font-size: 1.3vw !important;
  padding: 0 10px 0 0;
}

.footer-right-menu-warp {
  margin-left: 5%;
  margin-right: 0;
}
#footer .widget {
  padding: 0 10% 0 0;
}
#footer .widget h4 {
  font-size: 1.6rem;
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  margin-top: 20px;
  margin-bottom: 20px;
  color: #000;
}
#footer .widget h4:after {
  content: "";
  display: block;
  width: 25px;
  height: 3px;
  position: relative;
  top: 8px;
  left: 0;
  background-color: #023c82;
}
#footer .widget .links li a {
  font-size: 1.4rem;
  line-height: 2.2;
}

#footer .widget .links li a > i {
  margin-right: 5px;
}

#footer .widget .products-list p {
  font-weight: 600;
}

.footer-commentary-wrap {
  width: 100%;
  margin-top: 4%;
}
.footer-commentary-01 {
  display: block;
  font-size: 1.7vw;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  color: #000;
  margin: 0 0 25px;
  padding: 20px;
  background-color: #fff;
}
.footer-commentary-02 {
  display: block;
  font-size: 1.1vw;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
  text-align: center;
  color: #000;
  margin: 0 0 40px;
  padding: 20px;
  background-color: #fff;
}
.footer-contact-tel-wrap {
  display: block;
  margin: 0;
  padding: 0;
}
.footer-contact-tel-wrap a {
  display: block;
  font-size: 4.8vw !important;
  font-weight: 600 !important;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  letter-spacing: 0;
  color: #000;
  text-align: center;
  margin: 0;
  padding: 0;
}
.footer-contact-tel-wrap a span {
  display: inline-block;
  font-size: 3vw !important;
  letter-spacing: 0;
  padding: 0 20px 0 0;
}
.footer-contact-tel-uke {
  display: block;
  font-size: 0.9vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  color: #000;
  text-align: center;
  margin: 0;
  padding: 5px 0 0;
}

/* Footer Contact Btn
 * --------------------------------------- */
.footer-right-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0;
}

.linkbutton-footer-right {
  display: block;
  position: relative;
  width: 100%;
  height: 50px;
  line-height: 45px;
  text-align: center;
  margin: 0 auto;
  padding: 0 20px;
  background-color: #c81323;
  transition: all 0.4s ease-out;
}
.linkbutton-footer-right::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-color: #023c82;
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
}
.linkbutton-footer-right:hover::before {
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}
.linkbutton-footer-right .text {
  display: inline-block;
  position: relative;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  z-index: 2;
}
.linkbutton-footer-right:hover .text {
  color: #fff;
}
.linkbutton-footer-right .arrow {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 12px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  right: 20px;
  top: 45%;
  margin-top: -3px;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  z-index: 2;
}
.linkbutton-footer-right:hover .arrow {
  border-color: transparent transparent transparent #fff;
  right: 25px;
}

.footer-inverse #footer-bottom {
  background-color: #023c82;
}
#footer p.copyright {
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
  text-align: center;
  margin: 0;
  padding: 20px 0;
}

@media (max-width: 1480px) {
  .footer-commentary-01 {
    font-size: 1.8vw;
  }
  .footer-commentary-02 {
    font-size: 1.2vw;
  }
}
@media (max-width: 1380px) {
}
@media (max-width: 1300px) {
  #footer .widget .links li a {
    font-size: 1.3rem;
  }
}
@media (max-width: 1200px) {
  #footer-inner {
    padding: 8% 5% 7%;
  }
  .footer-logo {
    display: block;
    width: 300px;
    margin: 0 auto 40px;
  }
  #footer p.description {
    width: 100%;
    font-size: 1.6rem;
    text-align: center;
  }
  #footer p.description br {
    display: block;
  }
  dl.access-company dt {
    font-size: 1.6rem;
    text-align: center;
  }
  dl.access-company dd {
    font-size: 1.6rem;
    text-align: center;
  }
  dl.access-company dd a.g-map {
    font-size: 1.4rem !important;
    text-align: center;
  }
  .footer-tel-wrap a {
    font-size: 2.4rem !important;
  }
  .footer-tel-wrap a span {
    font-size: 1.8rem !important;
  }
  #footer .widget {
    padding: 0 0;
  }
  #footer .widget .links li a {
    font-size: 1.5rem;
  }
  .footer-commentary-wrap {
    margin-top: 5%;
  }
  .footer-commentary-01 {
    font-size: 2.2vw;
    letter-spacing: 1px;
  }
  .footer-commentary-02 {
    font-size: 1.6vw;
    line-height: 1.5;
  }
  .footer-contact-tel-wrap a {
    font-size: 6vw !important;
  }
  .footer-contact-tel-wrap a span {
    font-size: 4.8vw !important;
  }
  .footer-contact-tel-uke {
    font-size: 1.4vw;
    padding: 10px 5% 20px 0;
  }
  .linkbutton-footer {
    padding: 0 10px;
    width: 100%;
  }
  .linkbutton-footer .text {
    font-size: 1.4rem;
  }
  .linkbutton-footer-right {
    padding: 0 10px;
    width: 100%;
  }
  .linkbutton-footer-right .text {
    font-size: 1.4rem;
  }
}
@media (max-width: 990px) {
  .footer-logo {
    margin: 0 auto 30px;
  }
  #footer p.description {
    font-size: 1.6rem;
    text-align: left;
  }
  #footer p.description br {
    display: none;
  }
  dl.access-shop dt {
    font-size: 1.6rem;
  }
  dl.access-shop dd {
    font-size: 1.6rem;
  }
  dl.access-shop dd a.g-map {
    font-size: 1.4rem !important;
  }
  .footer-tel-wrap a {
    font-size: 4.8vw !important;
  }
  .footer-tel-wrap a span {
    font-size: 3vw !important;
  }
  #footer .widget .links li a {
    font-size: 1.6rem;
  }
  .footer-menu li a {
    font-size: 1.6rem;
  }
  .footer-commentary-wrap {
    margin-top: 8%;
  }
  .footer-commentary-01 {
    font-size: 2.4vw;
  }
  .footer-commentary-02 {
    font-size: 1.8vw;
  }
  .footer-commentary-02 br {
    display: none;
  }
  .footer-contact-tel-wrap a {
    font-size: 9.2vw !important;
  }
  .footer-contact-tel-wrap a span {
    font-size: 6vw !important;
  }
  .footer-contact-tel-uke {
    font-size: 2vw;
    padding: 10px 5% 30px 0;
  }
  #footer p.copyright {
    font-size: 1.4rem;
    padding: 20px 0;
  }
}
@media (max-width: 749px) {
  #footer .widget .links li a {
    font-size: 1.4rem;
  }
  .footer-menu li a {
    font-size: 1.4rem;
  }
}
@media (max-width: 499px) {
  #footer-inner {
    padding: 40px 8% 40px;
  }
  .footer-logo {
    width: 250px;
    margin: 0 auto 20px;
  }
  dl.access-shop dt {
    font-size: 1.8rem;
  }
  #footer .widget h4 {
    font-size: 1.8rem;
    margin-top: 15px;
    margin-bottom: 15px;
  }
  .footer-tel-wrap a {
    font-size: 7.2vw !important;
  }
  .footer-tel-wrap a span {
    font-size: 4.8vw !important;
  }
  .footer-commentary-wrap {
    margin-top: 20px;
  }
  dl.access-company {
    padding: 0;
  }
  .footer-commentary-01 {
    font-size: 1.8rem;
    letter-spacing: 0px;
    text-align: left;
  }
  .footer-commentary-02 {
    font-size: 1.6rem;
    letter-spacing: 0;
    text-align: left;
    margin: 0 0 30px;
  }
  .footer-contact-tel-wrap a {
    font-size: 8.4vw !important;
    text-align: center;
  }
  .footer-contact-tel-wrap a span {
    font-size: 4.8vw !important;
    padding: 0 10px 0 0;
  }
  .footer-contact-tel-uke {
    font-size: 3.4vw;
    padding: 10px 0 30px 0;
  }
  #footer p.copyright {
    font-size: 1.2rem;
    padding: 15px 0;
  }
  #footer .widget {
    padding: 0 0 10px;
  }
  #footer .widget .links li a {
    font-size: 1.6rem;
  }
  .footer-menu li a {
    font-size: 1.6rem;
  }
  .footer-inverse #footer-bottom {
    margin-bottom: 0px;
  }
}

/* Btn Intercom Center
 * --------------------------------------- */
#footer .homebtn {
  width: 80%;
}
.linkbutton-center-f100p {
  display: block;
  position: relative;
  width: 100%;
  height: 50px;
  text-align: left;
  margin: 0 auto;
  padding: 0 20px;
  background: #fff;
  line-height: 45px;
  border: solid 2px #000;
}
.linkbutton-center-f100p::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-color: #c61a22;
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
}
.linkbutton-center-f100p:hover::before {
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}
.linkbutton-center-f100p .text {
  display: block;
  position: relative;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0;
  color: #000;
  text-align: center;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  z-index: 2;
}
.linkbutton-center-f100p:hover {
  border: solid 2px #c61a22;
}
.linkbutton-center-f100p:hover .text {
  color: #fff;
}
.linkbutton-center-f100p .arrow {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 12px;
  border-color: transparent transparent transparent #000000;
  position: absolute;
  right: 20px;
  top: 45%;
  margin-top: -3px;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  z-index: 2;
}
.linkbutton-center-f100p:hover .arrow {
  border-color: transparent transparent transparent #fff;
  right: 25px;
}

@media (max-width: 1200px) {
  #footer .homebtn {
    width: 100%;
  }
}
@media (max-width: 990px) {
  .linkbutton-center-f100p {
    width: 100%;
  }
}
@media (max-width: 749px) {
}
@media (max-width: 499px) {
  .linkbutton-center-f100p {
    width: 300px;
    height: auto;
    text-align: center;
    margin: 40px auto 0;
    padding: 10px 20px;
    line-height: 1.4;
  }
  .linkbutton-center-f100p .text br {
    display: block;
  }
}

/*!------------------------------------------------------------------
[Scroll UP]
*/

.scroll-up {
  position: fixed;
  display: none;
  bottom: 0px;
  right: 0px;
  z-index: 999;
}
.scroll-up a {
  display: block;
  height: 50px;
  width: 50px;
  text-align: center;
  line-height: 50px;
  font-size: 2rem;
  color: #fff;
  opacity: 1;
  background-color: #023c82;
}
.scroll-up a:hover,
.scroll-up a:active {
  opacity: 1;
}

@media (max-width: 1480px) {
  .scroll-up {
    bottom: 0px;
    right: 0px;
  }
}
@media (max-width: 1200px) {
  .scroll-up {
    bottom: 0px;
    right: 0px;
  }
}
@media (max-width: 749px) {
  .scroll-up {
    bottom: 0px;
    right: 0px;
  }
  .scroll-up a {
    height: 40px;
    width: 42px;
    line-height: 40px;
    font-size: 16px;
  }
  .scroll-up a::after {
    top: 1.3em;
    right: 0.5em;
  }
}

/* ------------------------------------------------------------------
contact.html
------------------------------------------------------------------- */
.home-contact-section {
  position: relative;
  display: block;
  width: 100%;
  padding: 100px 10% 100px;
  margin: 0;
  background-color: #fff;
}
.home-contact-title {
  width: 392px;
  font-size: 3vw;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: center;
  color: #000;
  margin: 0 auto 60px;
}
.home-contact-title img {
  margin: 0 auto;
}
p.contacts-txt-title {
  display: block;
  width: 100%;
  color: #222;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
  padding: 0 0 60px;
  margin: 0;
  text-align: center;
}
p.contacts-txt-title br {
  display: none;
}

p.contacts-txt-titles {
  display: block;
  width: 100%;
  color: #222;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  padding: 0;
  margin: 0;
  text-align: center;
}
p.contacts-txt-title-name {
  display: block;
  width: 100%;
  color: #222;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1;
  padding: 0 0 20px;
  margin: 0;
  text-align: center;
}
p.contacts-txt-title-address {
  display: block;
  width: 100%;
  color: #222;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1.5;
  padding: 0 0 10px;
  margin: 0;
  text-align: center;
}
.contact-01-wrap {
  width: 80%;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 10px;
  margin-left: auto;
  background-color: #fff;
}
.item-office-name {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 10px;
  line-height: 1;
  color: #222;
  margin: 0;
  padding: 0 0 10px 10px;
  text-align: center;
}
.item-contacts-l {
  font-size: 4.8vw;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1;
  color: #023c82;
  margin: 0;
  padding: 0 0 10px;
  text-align: center;
}
.item-contacts-l a {
  font-size: 4.8vw;
  font-weight: 600;
  font-family: "Roboto", sans-serif;
  letter-spacing: 0;
  line-height: 1;
  color: #023c82;
}
.item-contacts-l-teltime {
  font-size: 1vw;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  color: #222;
  margin: 0;
  padding: 0 0 60px;
  text-align: center;
}
.item-contacts-r {
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1;
  color: #222;
  margin: 0;
  padding: 0 0 10px;
  text-align: left;
}

@media (max-width: 1480px) {
  p.contacts-txt-title {
    font-size: 1.8rem;
  }
  p.contacts-address {
    font-size: 1.4rem;
  }
  .item-contacts-l {
    font-size: 6vw;
  }
  .item-contacts-l a {
    font-size: 6vw;
  }
  .item-contacts-l-teltime {
    font-size: 1.2vw;
  }
}
@media (max-width: 1380px) {
}
@media (max-width: 1300px) {
  h2.contact-detail-text {
    font-size: 1.6rem;
    letter-spacing: 1px;
    line-height: 1.8;
    padding: 40px 0 0;
  }
}
@media (max-width: 1200px) {
  p.contacts-txt-title {
    font-size: 1.6rem;
  }
  h2.contact-detail-text {
    padding: 30px 0 0;
  }
  .item-contacts-l {
    font-size: 7.2vw;
  }
  .item-contacts-l a {
    font-size: 7.2vw;
  }
  .item-contacts-l-teltime {
    font-size: 2vw;
    padding: 0 0 60px;
  }
  p.contacts-txt-titles {
    font-size: 1.6rem;
  }
}
@media (max-width: 990px) {
  .home-contact-section {
    padding: 100px 10% 90px;
  }
  .home-contact-title {
    font-size: 4.8vw;
    margin: 0 auto 50px;
  }
  p.contacts-txt-title {
    font-size: 1.8rem;
    padding: 0 0 40px;
  }
  p.contacts-txt-title br {
    display: block;
  }
  .item-contacts-l-teltime {
    font-size: 1.4rem;
    padding: 0 0 40px;
  }
  p.contacts-txt-titles {
    font-size: 1.6rem;
    letter-spacing: 0;
    padding: 0 0 20px;
  }
  .contact-txt001 {
    font-size: 1.6rem;
    text-align: center;
  }
}
@media (max-width: 749px) {
  h2.contact-detail-text {
    font-size: 1.5rem;
  }
  .contact-title01-main {
    width: 220px;
    font-size: 2rem;
    letter-spacing: 10px;
    padding: 10px 0;
  }
  .contact-lead {
    font-size: 1.6rem;
    letter-spacing: 1px;
    padding: 0 10% 50px;
  }
  p.contacts-txt-titles br {
    display: none;
  }
}
@media (max-width: 499px) {
  .home-contact-section {
    padding: 50px 20px 50px;
  }
  .home-contact-title {
    width: 300px;
    margin: 0 auto 30px;
  }
  .home-contact-title img {
    width: 300px;
    margin: 0 auto;
  }
  .second-contacts-list-section {
    padding: 40px 9%;
  }
  h2.contact-detail-text {
    font-size: 1.5rem;
    letter-spacing: 0;
    line-height: 1.6;
    padding: 20px 15px 0;
    text-align: left;
  }
  h2.contact-detail-text br {
    display: none;
  }
  .contact-lead {
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 0;
    padding: 0;
    text-align: left;
  }
  .contact-lead br {
    display: none;
  }
  p.contacts-txt-titles {
    font-size: 1.6rem;
    letter-spacing: 0px;
    padding: 0 0 40px;
    text-align: left;
  }
  .item-office-name {
    font-size: 1.8rem;
    letter-spacing: 8px;
    padding: 0 0 5px 8px;
  }
  .item-contacts-l a {
    font-size: 9.6vw;
  }
  .item-contacts-l {
    font-size: 3.6rem;
    padding: 0 0 5px;
    text-align: center;
  }
  .item-contacts-l i {
    font-size: 3.6rem;
  }
  .item-contacts-l-teltime {
    font-size: 1.4rem;
    letter-spacing: 0;
    padding: 0 0 30px;
  }
  .item-contacts-r {
    font-size: 2.4rem;
    padding: 0 0 20px;
    text-align: center;
  }
  p.contacts-txt-title br {
    display: none;
  }
  p.contacts-txt-title-name {
    font-size: 1.6rem;
  }
  p.contacts-txt-title-address {
    font-size: 1.6rem;
    line-height: 1.4;
  }
  p.contacts-txt-title {
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.5;
    padding: 0 0 30px;
    text-align: left;
  }
  p.contacts-txt-title br {
    display: none;
  }
  p.contacts-txt-titles {
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.5;
    padding: 0 0 20px;
    text-align: left;
  }
  p.contacts-txt-titles br {
    display: none;
  }
  p.contacts-address {
    font-size: 1.4rem;
    letter-spacing: 0px;
  }
  p.contacts-address span {
    font-size: 15px;
    padding: 0 0 10px 0;
  }
  dl.item-contacts {
    width: 100%;
    padding: 30px 0;
  }
  dl.item-contacts dd {
    font-size: 2.4rem;
  }
}
@media (max-width: 350px) {
  dl.item-contacts dt {
    width: 40px;
    font-size: 2.4rem;
  }
  dl.item-contacts dd {
    margin-left: 40px;
    font-size: 2.4rem;
  }
  p.contacts-address {
    font-size: 1.2rem;
  }
}

/* --------------------------------------
	section-contact
----------------------------------------*/

.contact-inner {
  width: 90%;
  font-size: 1.8rem;
  color: #222;
  line-height: 2;
  text-align: left;
  margin: 0 auto;
  padding: 100px 0 0;
}
/* txt */
.tell {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-bottom: 50px;
}
.tell span.num {
  font-size: 4.8rem;
  font-weight: 600;
}
.tell span.time {
  font-size: 1.6rem;
}
.contact-txt001 {
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 10px;
}
.contact-txt001 br {
  display: none;
}
.contact-txt01 {
  margin-bottom: 2em;
}
.contact-txt02 {
  font-size: 1.5rem;
  font-weight: 400;
  margin-bottom: 2em;
}
.contact-txt02 span {
  font-size: 1.8rem;
  display: block;
  margin-bottom: 1em;
}
.contact-txt03 {
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 1.5em;
}
em {
  color: #a40000;
  font-style: normal;
}
em02 {
  font-size: 1.2rem;
  font-weight: 400;
  color: #212121;
  font-style: normal;
}

/* --------------------------------------
	itemBlock
----------------------------------------*/

.itemBlock {
  margin-bottom: 30px;
  line-height: 1;
  font-size: 1.6rem;
}
.itemBlock .title {
  margin-bottom: 20px;
  font-size: 2rem;
  font-weight: 600;
}
.itemBlock p {
  margin-bottom: 15px;
  font-size: 1.6rem;
  font-weight: 600;
}
.itemBlock label {
  cursor: pointer;
  display: block;
}
.itemBlock label:after {
  content: "";
  clear: both;
  display: block;
}
.itemBlock label input {
  float: left;
  font-size: 1.8rem;
}
.itemBlock label input[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 0 0 0 0;
}
.itemBlock label p {
  float: left;
  padding: 0 0 0 4px;
  margin: 0;
  width: calc(100% - 24px);
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.2;
}

/* --------------------------------------
	contentsBlock
----------------------------------------*/

.contentsBlock {
  line-height: 1.5;
  margin-bottom: 30px;
}
.contentsBlock .title {
  margin-bottom: 20px;
  font-size: 2rem;
  font-weight: 600;
}
.contentsBlock .title span {
  font-size: 1.8rem;
}

/* --------------------------------------
	addressBlock
----------------------------------------*/

.addressBlock {
  line-height: 1.5;
  font-size: 1.6rem;
}
.addressBlock .title {
  margin-bottom: 30px;
  font-size: 2rem;
  font-weight: 600;
}
.addressBlock p {
  margin-bottom: 15px;
  font-size: 1.8rem;
  font-weight: 600;
}
.addressBlock p span {
  font-size: 1.4rem;
  font-weight: 400;
}
.addressBlock input {
  margin-bottom: 30px;
}

/* --------------------------------------
	privacyBlock
----------------------------------------*/

.privacyBlock {
  line-height: 2;
  font-size: 1.6rem;
  margin-bottom: 60px;
}
.privacyBlock .title {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 15px;
}
.privacyBlock label {
  cursor: pointer;
  display: block;
}
.privacyBlock label:after {
  content: "";
  clear: both;
  display: block;
}
.privacyBlock label input {
  float: left;
  font-size: 1.6rem;
}
.privacyBlock label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0 0 0 0;
}
.privacyBlock p {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  padding: 0 0 10px 10px;
}
.privacyBlock label p {
  float: left;
  padding: 0 0 0 4px;
  margin: 0;
  width: calc(100% - 24px);
  font-size: 1.8rem;
  line-height: 1.2;
}
.privacyBlock a {
  text-decoration: underline;
  font-size: 1.8rem;
  font-weight: 400;
  color: #5c5e5d;
}
.privacyBlock a:hover {
  text-decoration: none;
}

/* --------------------------------------
	form
----------------------------------------*/

.form-control-w20p {
  display: inline-block;
  width: 10em;
  height: 34px;
  padding: 6px 12px;
  font-size: 1.4rem;
  line-height: 1.42857143;
  color: #003366;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition:
    border-color ease-in-out 0.15s,
    -webkit-box-shadow ease-in-out 0.15s;
  -o-transition:
    border-color ease-in-out 0.15s,
    box-shadow ease-in-out 0.15s;
  transition:
    border-color ease-in-out 0.15s,
    box-shadow ease-in-out 0.15s;
}
.form-control-w20p:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow:
    inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow:
    inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(102, 175, 233, 0.6);
}
.addressBlock input[type="text"] {
  font-size: 1.6rem;
  font-weight: 400;
  padding-right: 6px;
  padding-left: 6px;
  margin-right: 10px;
  color: #222;
  display: inline-block;
  border-color: #333;
}
.contentsBlock textarea {
  font-size: 1.6rem;
  font-weight: 400;
  padding-right: 6px;
  padding-left: 6px;
  margin-right: 10px;
  color: #222;
  display: inline-block;
  height: 8em;
  border-color: #333;
  border-radius: 4px;
}
.itemBlock select {
  height: 38px;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 6px 6px 10px 6px;
  margin-right: 10px;
  color: #222;
  display: inline-block;
  border-color: #333;
}
.itemBlock label {
  font-weight: normal;
  color: #222;
  font-size: 1.5rem;
  margin: 0;
  padding: 0;
}
.itemBlock label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0 0 0 0;
}

/* --------------------------------------
	Left Side  dl.contact-use-w
----------------------------------------*/

dl.contact-use-w {
  width: 100%;
  padding: 0;
  margin: 0;
}
dl.contact-use-w dt {
  float: left;
  width: 20px;
  font-size: 1.8rem;
  color: #222;
  text-align: left;
  line-height: 1.2;
  padding: 0 0 10px 0;
  margin: 0;
}
dl.contact-use-w dd {
  margin-left: 24px;
  font-size: 1.8rem;
  font-weight: 600;
  color: #222;
  text-align: left;
  line-height: 1.2;
  padding: 0 0 10px 0;
}

/* --------------------------------------
	Left Side  tel
----------------------------------------*/

.tell p.num {
  font-size: 6rem;
  font-weight: 600;
  padding: 0;
  margin: 0;
}
.tell p.time {
  font-size: 1.6rem;
  font-weight: 400;
  padding: 0;
  margin: 0;
}
.tell p.tel-txt {
  font-size: 1.6rem;
  font-weight: 400;
  padding: 10px 0 20px 0;
  margin: 0;
}
a.telcall {
  display: none;
}

/* --------------------------------------
	confirmBlock
----------------------------------------*/

.confirmBlock {
  text-align: center;
  line-height: 1;
}
.confirmBlock ul.submit {
  width: 100%;
  font-size: 0;
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  -webkit-padding-start: 0px;
}
.confirmBlock ul.submit li {
  width: 100%;
  font-size: 1.8rem;
  display: inline-block;
}
.confirmBlock ul.submit li button.reset {
  background-color: #c9c9c9;
  border-radius: 8px;
  color: #434343;
  border: none;
  text-decoration: none;
  padding: 15px 40px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.confirmBlock ul.submit li button.reset:hover {
  background-color: #222;
  color: #fff;
  cursor: pointer;
}
.confirmBlock ul.submit li button.confirm {
  display: inline-block;
  position: relative;
  border-radius: 8px;
  border: none;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 4px;
  margin: 0 auto;
  padding: 30px 80px;
  background-color: #c81323;
  text-transform: uppercase;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.confirmBlock ul.submit li button.confirm:hover {
  background-color: #023c82;
  color: #fff;
  border: none;
  cursor: pointer;
}
@media (max-width: 1480px) {
  .itemBlock .title {
    font-size: 2rem;
  }
  .contentsBlock .title {
    font-size: 2rem;
  }
  .addressBlock .title {
    font-size: 2rem;
  }
}
@media (max-width: 1300px) {
  .headline-inline .headline-contact01 {
    font-size: 1.6rem;
  }
  .headline-inline .headline-contact02 {
    font-size: 1.6rem;
  }
  .itemBlock .title {
    font-size: 1.6rem;
  }
  .contentsBlock .title {
    font-size: 1.6rem;
  }
  .contentsBlock .title span {
    font-size: 1.6rem;
  }
  .addressBlock .title {
    font-size: 1.6rem;
  }
  .privacyBlock .title {
    font-size: 1.6rem;
  }
}
@media (max-width: 1200px) {
  .contact-inner {
    width: 100%;
    padding: 5% 0 0;
  }
  .contact-txt001 {
    font-size: 1.6rem;
  }
  .tell p.num {
    font-size: 4.9rem;
  }
  .tell p.time {
    font-size: 1.4rem;
  }
  .tell p.tel-txt {
    font-size: 1.4rem;
  }
  .contact-txt02 {
    font-size: 1.4rem;
  }
}
@media (max-width: 990px) {
  .contact-inner {
    font-size: 1.4rem;
    padding: 5% 0 0;
  }
  .contact-txt001 {
    font-size: 1.5rem;
  }
  .headline-inline .headline-contact01 {
    font-size: 2rem;
    text-align: center;
  }
  .headline-inline .headline-contact02 {
    font-size: 2rem;
    text-align: center;
  }
  .tell {
    margin-bottom: 2em;
  }
  .tell span.num {
    font-size: 3.2rem;
  }
  .tell span.time {
    font-size: 1.4rem;
  }
  .contact-txt01 {
    margin-bottom: 1em;
  }
  .contact-txt02 {
    font-size: 1.4rem;
  }
  .contact-txt02 span {
    font-size: 16px;
    margin-bottom: 0.5em;
  }
  .itemBlock .title {
    font-size: 2rem;
    margin-bottom: 10px;
  }
  .contentsBlock {
    font-size: 1.6rem;
  }
  .contentsBlock .title span {
    font-size: 1.3rem;
  }
  .privacyBlock {
    margin-bottom: 20px;
  }
  .addressBlock .title {
    font-size: 2rem;
  }
  .privacyBlock .title {
    font-size: 2rem;
  }
  .privacyBlock {
    line-height: 1.2;
    font-size: 1.4rem;
  }
  .privacyBlock label {
    font-size: 1.6rem;
    margin-top: 10px;
  }
  .contact-inner .tell p.num {
    font-size: 3.6rem;
  }
  .confirmBlock ul.submit {
    margin-top: 50px;
    padding-bottom: 2%;
  }
}
@media (max-width: 740px) {
  .headline-inline .headline-contact01 {
    font-size: 1.7rem;
    text-align: left;
  }
  .headline-inline .headline-contact02 {
    font-size: 1.7rem;
    text-align: left;
  }
  .addressBlock {
    margin-bottom: 15px;
  }
  .addressBlock p {
    margin-bottom: 5px;
  }
  .addressBlock input {
    margin-bottom: 15px;
  }
  .addressBlock .title {
    margin-bottom: 20px;
  }
  .addressBlock span {
    font-size: 1rem;
  }
  .contentsBlock .title {
    font-size: 2rem;
  }
  .privacyBlock .title {
    margin-bottom: 15px;
  }
}
@media (max-width: 680px) {
  /* SP */
  a.telcall {
    display: block;
  }
}
@media (max-width: 499px) {
  /* SP */
  .contact-inner {
    padding: 5% 0 0;
  }
  .contact-txt001 {
    font-size: 1.5rem;
    line-height: 1.5;
    margin-top: 0px;
    margin-bottom: 10px;
  }
  .contact-txt001 br {
    display: block;
  }
  .contact-txt03 {
    font-size: 1.4rem;
  }
  #staff.bussiness-about-company {
    padding-top: 80px;
    margin-top: -80px;
  }
  .headline-inline .headline-contact01 {
    font-size: 1.5rem;
    padding: 10px 50px 10px 0;
  }
  .headline-inline .headline-contact02 {
    font-size: 1.5rem;
  }
  .itemBlock {
    font-size: 1.4rem;
  }

  .itemBlock p {
    font-size: 1.5rem;
  }
  .itemBlock .title {
    font-size: 1.7rem;
    line-height: 1.3;
    margin-bottom: 0px;
  }
  .itemBlock select {
    font-size: 1.3rem !important;
  }
  .contentsBlock {
    font-size: 1.5rem;
  }
  .contentsBlock .title {
    font-size: 1.7rem;
    line-height: 1.3;
    margin-bottom: 10px;
  }
  .contentsBlock .title span {
    font-size: 1.5rem;
  }
  .addressBlock .title {
    font-size: 1.7rem;
  }
  .addressBlock span.age {
    display: block;
    font-size: 1.2rem;
  }
  .privacyBlock {
    margin-bottom: 50px;
  }
  .privacyBlock .title {
    font-size: 1.7rem;
  }
  .addressBlock p {
    font-size: 1.6rem;
  }
  .itemBlock label p {
    font-size: 1.6rem;
  }
  .privacyBlock p {
    font-size: 1.5rem;
  }
  .privacyBlock label p {
    font-size: 1.5rem;
  }
  .tell p.time {
    font-size: 1.2rem;
  }
  .tell p.tel-txt {
    font-size: 1.2rem;
  }
  .contact-txt02 {
    font-size: 1.2rem;
  }
  .form-control-w20p {
    width: 6em;
    margin-right: 0px !important;
  }
}
@media (max-width: 360px) {
  .headline-inline .headline-contact01 {
    font-size: 1.5rem;
    padding: 10px 60px 10px 0;
  }
  .contact-inner .tell p.num {
    font-size: 3rem;
  }
  .tell p.time {
    font-size: 1.2rem;
  }
  .tell p.tel-txt {
    font-size: 1.2rem;
  }
  .contact-txt02 {
    font-size: 1.2rem;
  }
  .contents01 .titleBlock p.read {
    font-size: 1.6rem;
  }
  .business-service-2x h5 {
    margin: 0 0 10px;
  }
  .business-service-2x p {
    font-size: 1rem;
  }
  .contents02 .titleBlock02 p.read {
    font-size: 1.6rem;
  }
  .about-company-left h2.about-copy {
    font-size: 1.6rem;
  }
  .about-company-left h2.recruit-copy {
    font-size: 1.8rem;
  }
}

/*!------------------------------------------------------------------
[Contact Us ]  confirm.html  確認画面
*/

.contact-inner .conbox-head {
  width: 100%;
  margin: 20px auto 80px;
  text-align: center;
}
.contact-inner .conbox-head p {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.8;
  color: #212121;
  text-align: center;
  margin: 0;
}
@media (max-width: 1200px) {
  .contact-inner .conbox-head {
    width: 100%;
  }
  .contact-inner .conbox-head p {
    font-size: 1.4rem;
  }
}
@media (max-width: 499px) {
  .contact-inner .conbox-head p {
    font-size: 1.5rem;
    text-align: left;
  }
  .contact-inner .conbox-head p br {
    display: none;
  }
}

.contact-inner .conbox01 {
  width: 100%;
  margin: 0 auto;
  font-size: 1.8rem;
}

/* --------------------------------------
	conbox01 table
----------------------------------------*/

.contact-inner .conbox01 table {
  width: 100%;
  font-size: 18px;
  border-collapse: collapse;
  margin-bottom: 50px;
}
.contact-inner .conbox01 table th {
  width: 35%;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: #ccc;
  font-size: 1.6rem;
  font-weight: bold;
  vertical-align: top;
  padding-top: 15px;
  padding-bottom: 15px;
  text-align: left;
  color: #222;
}
.contact-inner .conbox01 table th.pt20 {
  padding-top: 20px;
}
.contact-inner .conbox01 table th span {
  margin-left: 25px;
}
.contact-inner .conbox01 table th span.ml0 {
  margin-left: 0px;
}
.contact-inner .conbox01 table th span span {
  margin-left: 0px;
}
.contact-inner .conbox01 table td {
  width: 60%;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: #ccc;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  vertical-align: top;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 30px;
  text-align: left;
  color: #222;
}
.contact-inner .conbox01 table th.conend,
.contact-inner .conbox01 table td.conend {
  padding-top: 50px;
  border-bottom-style: none;
  border-top-style: none;
  border-right-style: none;
  border-left-style: none;
}
.contact-inner .conbox01 table td span {
  font-size: 1.4rem;
}
.contact-inner .conbox01 table td.pt20 {
  padding-top: 20px;
}
.contact-inner .conbox01 table td.pb20 {
  padding-bottom: 20px;
}
.contact-inner .conbox01 table td.pt30 {
  padding-top: 30px;
}
.contact-inner .conbox01 table td.pt35 {
  padding-top: 35px;
}
.contact-inner .conbox01 table td.pt45 {
  padding-top: 45px;
}

/* --------------------------------------
	conbox01 table  submit
----------------------------------------*/

.contact-inner .conbox01 table th ul.submit {
  width: 30%;
  font-size: 0;
  display: block;
  list-style-type: none;
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  -webkit-padding-start: 0px;
  margin: 60px auto 0;
}
.contact-inner .conbox01 table th ul.submit li {
  width: 100%;
  display: inline-block;
  margin-bottom: 20px;
}
.contact-inner .conbox01 table th ul.submit li button.reset {
  display: block;
  width: 100%;
  text-decoration: none;
  padding: 25px;
  font-size: 1.8rem;
  background-color: #ccc;
  color: #212121;
  border: 0px outset buttonface;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.contact-inner .conbox01 table th ul.submit li button.reset:hover {
  background-color: #999;
  color: #222;
  cursor: pointer;
}
.contact-inner .conbox01 table th ul.submit li button.confirm {
  display: block;
  width: 100%;
  text-decoration: none;
  padding: 25px;
  font-size: 1.8rem;
  background-color: #009fd5;
  color: #fff;
  border: 0px outset buttonface;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.contact-inner .conbox01 table th ul.submit li button.confirm:hover {
  background-color: #d71d3b;
  color: #fff;
  cursor: pointer;
}

@media (max-width: 1200px) {
  /* SP */
  .contact-inner .conbox01 {
    width: 90%;
    margin: 0 auto;
  }
  .contact-inner .conbox01 table th {
    display: block;
    width: 100%;
    padding-bottom: 5px;
    font-size: 1.4rem;
  }
  .contact-inner .conbox01 table td {
    display: block;
    width: 100%;
    border-top: none;
    padding-top: 5px;
    padding-bottom: 15px;
    font-size: 1.4rem;
    padding-left: 0px;
    margin-bottom: 15px;
  }
  .contact-inner .conbox01 table th ul.submit {
    -webkit-padding-start: 0px;
  }
  .contact-inner .conbox01 table th ul.submit li {
    display: block;
    width: 100%;
    margin-right: 0px;
    margin-top: 20px;
  }
  .contact-inner .conbox01 table th ul.submit li button.reset {
    width: 100%;
  }
  .contact-inner .conbox01 table th ul.submit li button.confirm {
    width: 100%;
  }
}
@media (max-width: 990px) {
  /* SP */
  .contact-inner .conbox01 table th ul.submit {
    width: 50%;
  }
}
@media (max-width: 499px) {
  /* SP */
  .contact-inner .conbox01 table th ul.submit {
    width: 100%;
    margin: 30px auto 0;
  }
}

/*!------------------------------------------------------------------
[Privacy Policy ]
*/

.privacyBlock iframe {
  width: 100%;
  height: 250px;
  margin: 0 0 10px;
  border-width: 0px;
  border-radius: 0.25rem;
  overflow: hidden;
}

.privacy-title-section {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 50px 0;
  background-color: #f5f5f5;
}

.privacy-inner-title {
  display: block;
  font-size: 2.4rem;
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  color: #222;
  text-align: center;
  margin: 0;
  padding: 0;
}
.privacy-inner-title span {
  display: block;
  font-size: 1.8rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  padding: 10px 0 0;
}
.privacy-inner-section {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 40px 0 50px;
  margin: 0;
  background-color: #f5f5f5;
}

.privacy-inner {
  margin: 0;
  padding: 0;
  text-align: left;
}

.privacy-title-text {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0;
  padding: 0 0 30px;
}
.privacy-subtitle {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  color: #222;
  margin: 0;
  padding: 0 0 15px;
}
.privacy-title-right {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  color: #222;
  text-align: right;
  margin: 0;
  padding: 0;
}
.privacy-txt {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  color: #222;
  margin: 0;
  padding: 0 0 40px;
}
.privacy-txt02 {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 1px;
  color: #222;
  margin: 0;
  padding: 0 0 20px;
}
.privacy-txt-last {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 1px;
  color: #222;
  margin: 0;
  padding: 0 0 50px;
}

dl.item-privacy-lines {
  width: 100%;
  padding: 0 0 0 20px;
  margin: 0 0 50px;
}
dl.item-privacy-lines dt {
  float: left;
  width: 30px;
  font-size: 1.6rem;
  color: #222;
  text-align: left;
  line-height: 1.4;
  padding: 4px 0;
  margin: 0;
}
dl.item-privacy-lines dd {
  margin-left: 30px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #222;
  text-align: left;
  line-height: 1.4;
  letter-spacing: 1px;
  padding: 4px 0;
}

@media (max-width: 749px) {
}
@media (max-width: 499px) {
  .privacy-inner-section {
    padding: 0 25px 0 30px;
  }
  .privacy-title {
    font-size: 1.5rem;
    padding: 0 0 30px;
  }
  .privacy-subtitle {
    font-size: 1.6rem;
  }
  .privacy-txt {
    font-size: 1.5rem;
  }
}
