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

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

body {
  color: #333;
  font-size: 0.9375rem;
  line-height: 2;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", sans-serif;
}
body * {
  box-sizing: border-box;
}

p {
  margin-bottom: 1.5em;
}
p:last-child {
  margin-bottom: 0;
}
p a:hover {
  text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

ul {
  list-style: none;
}

a {
  color: #333;
  text-decoration: none;
}

@media screen and (max-width: 1305px) {
  ._onlyPc {
    display: none;
  }
}

._onlySp {
  display: none;
}
@media screen and (max-width: 767px) {
  ._onlySp {
    display: block;
  }
}

/* --------------------------------------------
 * 　基本ブロック幅
 * -------------------------------------------- */
.blContainer {
  width: 92%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.blContainer960 {
  width: 92%;
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
}

/* --------------------------------------------
 * 　パンくず
 * -------------------------------------------- */
.breadcrumb {
  margin-top: 15px;
  margin-bottom: 70px;
  display: inline-block;
  font-size: 0.75rem;
  color: #666666;
  padding: 3px 10px 1px;
  background: #FFF8ED;
  border-radius: 10px;
}

/* --------------------------------------------
 * 　ページネーション
 * -------------------------------------------- */
.navigation.pagination {
  margin-top: 30px;
}
.navigation.pagination .nav-links .prev {
  border: none !important;
}
.navigation.pagination .nav-links .next {
  border: none !important;
}
.navigation.pagination .nav-links .current {
  padding: 6px 11px;
  background: #333;
  border: 1px solid #333;
  border-radius: 3px;
  color: #ffffff;
}
.navigation.pagination .nav-links a {
  padding: 6px 11px;
  border: 1px solid #333;
  border-radius: 3px;
}
.navigation.pagination .nav-links a:hover {
  background: #333;
  border: 1px solid #333;
  color: #ffffff;
  text-decoration: none;
}

/* --------------------------------------------
 * 　ボタン
 * -------------------------------------------- */
.button {
  display: inline-block;
  background: #222;
  color: #fff;
  padding: 7px 24px;
  border-radius: 30px;
}

/* --------------------------------------------
 * 　セクション見出し
 * -------------------------------------------- */
.sectionHeading {
  display: inline-block;
  position: relative;
  border-top: 1px solid #000;
  padding-top: 12px;
}
.sectionHeading::before {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 100%;
  height: 100%;
  content: "";
  background: #FFF8ED;
}
.sectionHeading__sub {
  font-size: 0.6875rem;
  color: #F27909;
  position: relative;
  z-index: 1;
}
.sectionHeading__main {
  font-weight: bold;
  font-size: 2.125rem;
  line-height: 1;
  font-family: "Roboto", sans-serif;
  position: relative;
  z-index: 1;
}

/* --------------------------------------------
 * 　ヘッダー
 * -------------------------------------------- */
.header {
  background: #FFF8ED;
  line-height: 1.8;
  padding-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  .header {
    display: flex;
    flex-direction: column;
    padding-top: 5px;
  }
}
.header__upper {
  display: flex;
  align-items: center;
  gap: 30px;
  justify-content: space-between;
  margin-bottom: 42px;
}
@media screen and (max-width: 1024px) {
  .header__upper {
    display: contents;
  }
}
.header__left {
  margin-left: calc(50vw - 600px);
}
@media screen and (max-width: 1305px) {
  .header__left {
    margin-left: 4%;
  }
}
@media screen and (max-width: 1024px) {
  .header__left {
    order: 1;
  }
}
.header__tabLine {
  font-size: 0.75rem;
}
.header__tagLineSub {
  display: block;
  font-weight: normal;
  margin-bottom: 5px;
  font-size: 0.8125rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .header__tagLineSub {
    font-size: 0.75rem;
  }
}
.header__tagLineMain {
  background: #F27909;
  color: #fff;
  padding: 3px 12px 2px;
  display: inline-block;
  border-radius: 20px;
}
.header__right {
  display: flex;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 1024px) {
  .header__right {
    order: 3;
    align-self: center;
  }
}
@media screen and (max-width: 767px) {
  .header__right {
    gap: 15px;
    margin-left: 4%;
    margin-right: 4%;
  }
}
.header__main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}
@media screen and (max-width: 1024px) {
  .header__main {
    order: 2;
    display: flex;
    justify-content: center;
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.header__logo {
  flex: 0 0 auto;
}

.bannerTel {
  font-size: 1.4375rem;
  font-weight: bold;
  text-align: center;
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .bannerTel {
    font-size: 1.125rem;
  }
}
.bannerTel__number {
  display: flex;
  align-items: center;
  gap: 5px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .bannerTel__number {
    gap: 2px;
  }
}
.bannerTel__number::before {
  content: "\f095";
  font: var(--fa-font-solid);
  font-size: 1rem;
}
.bannerTel__receptionTime {
  font-weight: normal;
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .bannerTel__receptionTime {
    font-size: 0.625rem;
  }
}

.bannerContact {
  display: block;
  background: #F27909;
  color: #fff;
  position: relative;
  padding: 23px 55px 20px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .bannerContact {
    padding: 18px 12px 15px;
  }
}
.bannerContact::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  height: 1px;
  border-bottom: 1px dashed #fff;
}
.bannerContact::after {
  content: "";
  position: absolute;
  bottom: 5px;
  left: 5px;
  right: 5px;
  height: 1px;
  border-bottom: 1px dashed #fff;
}
.bannerContact__text i {
  margin-right: 5px;
}

/* --------------------------------------------
 * 　メニュー
 * -------------------------------------------- */
@media screen and (max-width: 1024px) {
  .mainMenu {
    display: none;
  }
}
.mainMenu__list {
  display: flex;
  align-items: center;
}
.mainMenu__item {
  border-left: 1px solid #F5D1B0;
}
.mainMenu__item:last-child {
  border-right: 1px solid #F5D1B0;
}
.mainMenu__link {
  display: block;
  text-align: center;
  padding-right: 40px;
  padding-left: 40px;
}
.mainMenu__link:hover {
  text-decoration: none;
}
@media screen and (max-width: 1305px) {
  .mainMenu__link {
    padding-right: 30px;
    padding-left: 30px;
  }
}
.mainMenu__titleEn {
  font-size: 0.6875rem;
  color: #F27909;
}
.mainMenu__title {
  font-weight: bold;
}

.hamburger {
  display: none;
  position: fixed;
  z-index: 10000;
  top: 17px;
  right: 20px;
  width: 50px;
  height: 50px;
}
@media screen and (max-width: 1024px) {
  .hamburger {
    display: block;
  }
}
.hamburger span {
  position: absolute;
  top: 50%;
  left: 5px;
  right: 5px;
  height: 3px;
  background: #222;
  transform: translateY(-50%);
  transition: all ease 0.2s;
}
.hamburger span::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  right: 0;
  height: 3px;
  background: #222;
  transition: all ease 0.2s;
}
.hamburger span::after {
  content: "";
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  height: 3px;
  background: #222;
  transition: all ease 0.2s;
}

.mainMenuSp {
  padding-top: 27px;
  padding-bottom: 20px;
  transform: translateX(-110vw);
  transition: all ease 0.2s;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: auto;
  background: #FFF8ED;
}
.mainMenuSp__header {
  margin-bottom: 35px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mainMenuSp__list {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.mainMenuSp__item {
  border-top: 1px solid #B59272;
  padding-top: 12px;
  padding-bottom: 12px;
  margin-left: 6px;
}
.mainMenuSp__item:last-child {
  border-bottom: 1px solid #B59272;
}
.mainMenuSp__link {
  display: block;
  border-left: 4px solid #F27909;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 15px;
  font-size: 1.0625rem;
  font-weight: bold;
  margin-left: -6px;
}
.mainMenuSp__subList {
  margin-top: 6px;
  margin-left: 30px;
  font-size: 0.875rem;
}
.mainMenuSp__subLink {
  display: block;
  padding-top: 3px;
  padding-bottom: 3px;
}
.mainMenuSp__banner {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 15px;
}

#toggleMenu {
  position: fixed;
  top: 0;
  left: -110vw;
}

#toggleMenu:checked ~ .mainMenuSp {
  transform: translateX(0);
}

#toggleMenu:checked ~ .hamburger span {
  background: transparent;
}
#toggleMenu:checked ~ .hamburger span::before {
  top: 0;
  transform: rotate(45deg);
}
#toggleMenu:checked ~ .hamburger span::after {
  bottom: 0;
  transform: rotate(-45deg);
}

/* --------------------------------------------
 * 　キービジュアル
 * -------------------------------------------- */
.keyVisual {
  background: url("../img/keyVisual.jpg") center/cover no-repeat;
  height: 625px;
  position: relative;
  margin-bottom: 60px;
}
@media screen and (max-width: 575px) {
  .keyVisual {
    background: url("../img/keyVisual_sp.jpg") center/cover no-repeat;
    height: 100vw;
  }
}
.keyVisual__catch {
  position: absolute;
  bottom: 40px;
  color: #fff;
  max-width: 92%;
}
.keyVisual__catchSub {
  font-size: 0.875rem;
}
.keyVisual__catchMain {
  font-size: 2.75rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 16px;
}
@media screen and (max-width: 575px) {
  .keyVisual__catchMain {
    font-size: 1.75rem;
  }
}
.keyVisual__description {
  font-size: 0.875rem;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 575px) {
  .keyVisual__description {
    font-size: 0.8125rem;
  }
  .keyVisual__description br {
    display: none;
  }
}

/* --------------------------------------------
 * 　サブページヘッダー
 * -------------------------------------------- */
.subPageHeader {
  height: 340px;
  position: relative;
}
.subPageHeader__heading {
  position: absolute;
  bottom: 95px;
  background: rgba(181, 146, 114, 0.9);
  padding: 20px 20px 18px calc(50vw - 600px);
  border-radius: 0 10px 10px 0;
  color: #fff;
}
@media screen and (max-width: 1305px) {
  .subPageHeader__heading {
    padding: 20px 20px 18px 4%;
  }
}
.subPageHeader__headingSub {
  font-size: 0.875rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .subPageHeader__headingSub {
    font-size: 0.75rem;
  }
}
.subPageHeader__headingMain {
  font-size: 1.9375rem;
  line-height: 1.6;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .subPageHeader__headingMain {
    font-size: 1.75rem;
  }
}

/* --------------------------------------------
 * 　ニュース
 * -------------------------------------------- */
.frontNews {
  display: flex;
  align-items: flex-start;
  gap: 85px;
  margin-bottom: 70px;
  position: relative;
  min-height: 150px;
}
@media screen and (max-width: 1024px) {
  .frontNews {
    gap: 50px;
  }
}
@media screen and (max-width: 767px) {
  .frontNews {
    display: block;
    min-height: 0;
  }
}
.frontNews__heading {
  flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  .frontNews__heading {
    margin-bottom: 30px;
  }
}
.frontNews__container {
  flex: 1 1 auto;
}
.frontNews__img {
  position: absolute;
  left: 0;
  bottom: -110px;
}
@media screen and (max-width: 767px) {
  .frontNews__img {
    position: static;
    margin-top: 30px;
    margin-bottom: -110px;
  }
  .frontNews__img img {
    max-width: 50%;
  }
}

.news__link {
  display: flex;
  align-items: center;
  gap: 30px;
  padding-top: 12px;
  padding-bottom: 5px;
  border-bottom: 1px solid #E8E8E8;
}
@media screen and (max-width: 1024px) {
  .news__link {
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  .news__date {
    font-size: #999;
    font-size: 0.75rem;
  }
}

/* --------------------------------------------
 * 　フロント 製品インデックス
 * -------------------------------------------- */
.frontProducts {
  padding-top: 80px;
  padding-bottom: 160px;
  margin-bottom: -90px;
  background: url("../img/bg_shadow.jpg");
}
.frontProducts__heading {
  margin-bottom: 20px;
}
.frontProducts__items {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .frontProducts__items {
    display: block;
  }
}

.productIndex {
  flex: 1 1 50%;
}
@media screen and (max-width: 767px) {
  .productIndex {
    margin-bottom: 50px;
  }
  .productIndex:last-child {
    margin-bottom: 0;
  }
}
.productIndex__img {
  margin-bottom: 30px;
  position: relative;
}
.productIndex__img img {
  position: relative;
  z-index: 1;
  width: 100%;
}
.productIndex__img::before {
  content: "";
  position: absolute;
  bottom: -7px;
  right: -7px;
  width: 50%;
  padding-top: 30%;
  background: #F27909;
  z-index: 0;
}
.productIndex__title {
  margin-bottom: 7px;
  font-size: 1.125rem;
  text-align: center;
  font-weight: bold;
}
.productIndex__description {
  margin-bottom: 12px;
  font-size: 0.875rem;
  text-align: center;
}
.productIndex__link {
  font-size: 0.875rem;
  text-align: center;
}

.inPreparation {
  text-align: center;
  padding-top: 30vh;
  padding-bottom: 30vh;
}
.inPreparation__heading {
  font-weight: bold;
  font-size: 1.75rem;
  color: #bbb;
  margin-bottom: 30px;
}
.inPreparation__message {
  font-size: 1rem;
}

/* --------------------------------------------
 * 　フッター
 * -------------------------------------------- */
.footer {
  margin-top: 90px;
  background: #FFF8ED;
  padding-top: 25px;
}
.footer__container {
  padding-left: calc(50vw - 600px);
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 1305px) {
  .footer__container {
    padding-left: 0;
  }
}
@media screen and (max-width: 1024px) {
  .footer__container {
    flex-direction: column-reverse;
  }
}
.footer__textArea {
  flex: 0 1 550px;
}
@media screen and (max-width: 1305px) {
  .footer__textArea {
    padding-left: 4%;
  }
}
@media screen and (max-width: 1024px) {
  .footer__textArea {
    flex: 0 1 auto;
  }
}
.footer__imgArea {
  margin-top: -60px;
  flex: 1 1 calc(100% - 550px - 30px - 50vw + 600px);
}
@media screen and (max-width: 1024px) {
  .footer__imgArea {
    flex: 0 1 auto;
    padding-left: 20%;
    margin-bottom: 30px;
  }
}
.footer__imgArea img {
  width: 100%;
  height: 100%;
  max-height: 480px;
  -o-object-fit: cover;
     object-fit: cover;
}
.footer__tagLine {
  font-size: 0.75rem;
  margin-bottom: 25px;
}
.footer__logo {
  margin-bottom: 8px;
}
.footer__address {
  font-size: 0.875rem;
  margin-bottom: 20px;
}
.footer__menu {
  margin-bottom: 20px;
}
.footer__contact {
  display: flex;
  align-items: center;
  gap: 27px;
}
@media screen and (max-width: 767px) {
  .footer__contact {
    justify-content: center;
    margin-top: 50px;
    margin-bottom: 35px;
  }
}
.footer__bottom {
  display: flex;
  gap: 15px;
  font-size: 0.75rem;
  padding: 12px 10px 10px;
  justify-content: flex-end;
}

.footerMenu {
  display: flex;
  flex-wrap: wrap;
  gap: 35px;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .footerMenu {
    font-size: 0.875rem;
    gap: 30px;
  }
}
.footerMenu__link {
  font-weight: bold;
}
.footerMenu__subList {
  margin-top: 5px;
  margin-left: 10px;
}
.footerMenu__subItem {
  font-size: 0.875rem;
}

/* --------------------------------------------
 * 　品質設計思想
 * -------------------------------------------- */
.philosophyLead {
  margin-bottom: 80px;
  position: relative;
}
.philosophyLead__headingSub {
  display: inline-block;
  font-weight: bold;
  font-size: 1.3125rem;
  transform: rotate(-7deg);
  padding-left: calc(50vw - 600px - 5px);
}
@media screen and (max-width: 1305px) {
  .philosophyLead__headingSub {
    padding-left: 4%;
  }
}
@media screen and (max-width: 767px) {
  .philosophyLead__headingSub {
    font-size: 1.125rem;
  }
}
.philosophyLead__headingSub span {
  font-weight: bold;
  color: #F27909;
}
.philosophyLead__headingSub div {
  padding-right: 10px;
  background: #F27909;
  color: #fff;
}
.philosophyLead__headingTitle {
  font-weight: bold;
  font-size: 4rem;
  font-family: "Roboto", sans-serif;
  padding-left: calc(50vw - 600px - 5px);
  background: url("../img/bg_shadow.jpg");
  line-height: 1.5;
}
@media screen and (max-width: 1305px) {
  .philosophyLead__headingTitle {
    padding-left: 4%;
  }
}
@media screen and (max-width: 767px) {
  .philosophyLead__headingTitle {
    font-size: 3rem;
  }
}
.philosophyLead__content {
  width: calc(50vw + 600px);
  position: relative;
}
@media screen and (max-width: 1305px) {
  .philosophyLead__content {
    width: 96%;
  }
}
@media screen and (max-width: 1024px) {
  .philosophyLead__content {
    width: 100%;
  }
}
.philosophyLead__content::before {
  position: absolute;
  content: "";
  width: calc(50vw + 380px);
  height: 100%;
  margin-left: calc((50vw - 600px - 5px) * -1);
  background: #FFF8ED;
}
@media screen and (max-width: 1305px) {
  .philosophyLead__content::before {
    margin-left: 0;
  }
}
@media screen and (max-width: 1024px) {
  .philosophyLead__content::before {
    width: 100%;
  }
}
.philosophyLead__contentInner {
  display: flex;
  gap: 35px;
  position: relative;
  padding-left: calc(50vw - 600px - 5px);
}
@media screen and (max-width: 1305px) {
  .philosophyLead__contentInner {
    padding-left: 4%;
  }
}
@media screen and (max-width: 1024px) {
  .philosophyLead__contentInner {
    width: 92%;
    padding-left: 0;
    margin-left: auto;
    margin-right: auto;
    display: block;
    padding-bottom: 20px;
  }
}
.philosophyLead__textArea {
  flex: 1 1 385px;
  padding-top: 30px;
  padding-bottom: 65px;
}
@media screen and (max-width: 1305px) {
  .philosophyLead__textArea {
    padding-bottom: 25px;
  }
}
.philosophyLead__videoArea {
  flex: 1 1 780px;
  margin-top: -135px;
}
@media screen and (max-width: 1305px) {
  .philosophyLead__videoArea {
    margin-top: -110px;
  }
}
@media screen and (max-width: 1024px) {
  .philosophyLead__videoArea {
    margin-top: 0;
  }
}
.philosophyLead__videoArea img {
  width: 100%;
}

.feature {
  margin-bottom: 40px;
}
.feature__heading {
  font-weight: bold;
  font-size: 1.8125rem;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .feature__heading {
    font-size: 1.5rem;
    line-height: 1.6;
  }
}
.feature__container {
  display: flex;
  align-items: flex-start;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .feature__container {
    display: block;
  }
}
.feature__textArea {
  flex: 1 1 730px;
  padding-left: 60px;
  position: relative;
}
.feature__textArea p {
  margin-bottom: 0;
}
.feature__textArea::before {
  position: absolute;
  top: 23px;
  left: -7px;
  content: "Feature";
  color: #F27909;
  font-weight: bold;
  transform: rotate(-90deg);
}
.feature__imgArea {
  flex: 1 1 440px;
}
@media screen and (max-width: 767px) {
  .feature__imgArea {
    text-align: center;
  }
}

/* --------------------------------------------
 * 　地上高の差
 * -------------------------------------------- */
.compare {
  text-align: center;
  border-radius: 30px;
  margin-bottom: 100px;
  background: url("../img/bg_shadow.png"), #FFF8ED;
  padding: 50px;
}
@media screen and (max-width: 767px) {
  .compare {
    padding: 20px;
    margin-bottom: 60px;
  }
}
.compare__heading {
  text-align: center;
  font-weight: bold;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .compare__heading {
    margin-bottom: 15px;
  }
}
.compare__headingSub {
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .compare__headingSub {
    font-size: 1rem;
  }
}
.compare__headingMain {
  position: relative;
  display: inline-block;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .compare__headingMain {
    font-size: 1.5rem;
  }
}
.compare__headingMain span {
  color: #F27909;
}
.compare__headingMain::before {
  content: "";
  position: absolute;
  top: 3px;
  left: -20px;
  width: 15px;
  height: 15px;
  background: url("../img/icon_heading_deco_left.svg") no-repeat center/contain;
}
.compare__headingMain::after {
  content: "";
  position: absolute;
  top: 3px;
  right: -13px;
  width: 15px;
  height: 15px;
  background: url("../img/icon_heading_deco_right.svg") no-repeat center/contain;
}

/* --------------------------------------------
 * 　特許
 * -------------------------------------------- */
.patent {
  background: url("../img/bg_shadow.png");
  padding-top: 80px;
  padding-bottom: 150px;
  margin-bottom: -90px;
}
@media screen and (max-width: 767px) {
  .patent {
    padding-top: 60px;
    padding-bottom: 120px;
    margin-bottom: -60px;
  }
}
.patent__heading {
  text-align: center;
  font-weight: bold;
  margin-bottom: 30px;
  font-size: 1.5rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .patent__heading {
    font-size: 1.25rem;
  }
}
.patent__headingMain span {
  color: #F27909;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .patent__headingMain span {
    font-size: 1.5rem;
  }
}
.patent__container {
  width: 100%;
  max-width: 980px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: center;
  gap: 55px;
}
@media screen and (max-width: 767px) {
  .patent__container {
    gap: 30px;
  }
}
@media screen and (max-width: 575px) {
  .patent__container {
    display: block;
  }
}
.patent__certificate {
  flex: 1 1 235px;
}
@media screen and (max-width: 575px) {
  .patent__certificate {
    text-align: center;
    margin-bottom: 20px;
  }
}
.patent__detail {
  flex: 1 1 690px;
}
.patent__detail p {
  margin-bottom: 0;
}
.patent__detailText {
  margin-bottom: 30px;
}

/* --------------------------------------------
 * 　スタンダード
 * -------------------------------------------- */
.standardType {
  padding-top: 55px;
  margin-bottom: 55px;
  position: relative;
}
.standardType::before {
  position: absolute;
  top: 0;
  left: calc((50vw - 600px) * -1);
  z-index: -1;
  content: "";
  width: calc(50vw - 600px + 380px);
  height: 380px;
  background: url("../img/bg_shadow.jpg");
}
.standardType__heading {
  display: inline-block;
  font-weight: bold;
  font-size: 1.5rem;
  color: #fff;
  background: #F27909;
  padding: 2px 10px;
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  .standardType__heading {
    font-size: 1.375rem;
  }
}
.standardType__lead {
  margin-bottom: 15px;
}
.standardType__lead p {
  margin-bottom: 0;
}
.standardType__leadFeature {
  display: inline;
  background: linear-gradient(transparent 55%, #F6C722 55%);
}
.galleryCol2 {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(2, 1fr);
}
.galleryCol2 img {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .galleryCol2 {
    gap: 17px;
  }
}
@media screen and (max-width: 767px) {
  .galleryCol2 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.galleryCol3 {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(3, 1fr);
}
.galleryCol3 img {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .galleryCol3 {
    gap: 17px;
  }
}
@media screen and (max-width: 767px) {
  .galleryCol3 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.caption {
  font-weight: bold;
  font-size: 0.875rem;
}

.galleryGrid1 {
  display: grid;
  gap: 17px;
  grid-template: repeat(2, 1fr)/0.5635fr repeat(3, 1fr);
  grid-template-areas: "a1a2 b1 c1 d1d2" "a1a2 b2 c2 d1d2";
}
@media screen and (max-width: 767px) {
  .galleryGrid1 {
    grid-template: auto/repeat(2, 1fr);
    grid-template-areas: "a1a2 d1d2" "b1 c1" "b2 c2";
  }
}
.galleryGrid1__item img {
  width: 100%;
}
.galleryGrid1__item._item1 {
  grid-area: a1a2;
}
.galleryGrid1__item._item2 {
  grid-area: b1;
}
.galleryGrid1__item._item3 {
  grid-area: c1;
}
.galleryGrid1__item._item4 {
  grid-area: b2;
}
.galleryGrid1__item._item5 {
  grid-area: c2;
}
.galleryGrid1__item._item6 {
  grid-area: d1d2;
}

.galleryGrid2 {
  display: grid;
  gap: 10px 30px;
  grid-template-columns: repeat(3, 1fr);
  grid-template-areas: "a1 b1b2 c1c2" "a2 b1b2 c1c2" "a3 b3 c3";
}
@media screen and (max-width: 1024px) {
  .galleryGrid2 {
    gap: 10px 17px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "a1 b1b2" "a2 b1b2" "a3 c1c2" "b3 c1c2" "c3 c3";
  }
}
.galleryGrid2__item img {
  width: 100%;
}
.galleryGrid2__item._item1 {
  grid-area: a1;
}
.galleryGrid2__item._item2 {
  grid-area: a2;
}
.galleryGrid2__item._item3 {
  grid-area: b1b2;
}
.galleryGrid2__item._item4 {
  grid-area: c1c2;
}
.galleryGrid2__item._item5 {
  grid-area: a3;
}
.galleryGrid2__item._item6 {
  grid-area: b3;
}
.galleryGrid2__item._item7 {
  grid-area: c3;
}

/* --------------------------------------------
 * 　プレミアム
 * -------------------------------------------- */
.premiumLead {
  text-align: center;
}
.premiumLead__logo {
  margin-bottom: 20px;
}
.premiumLead__textArea {
  width: 100%;
  max-width: 780px;
  margin-right: auto;
  margin-left: auto;
  padding: 30px;
  background: url("../img/bg_shadow.jpg");
}
.premiumLead__heading {
  font-weight: bold;
  font-size: 1.25rem;
  margin-bottom: 12px;
}

.premiumType {
  padding-top: 55px;
  margin-bottom: 55px;
}
.premiumType:last-child {
  margin-bottom: 130px;
}
.premiumType__heading {
  display: inline-block;
  font-weight: bold;
  font-size: 1.5rem;
  color: #fff;
  background: #F27909;
  padding: 2px 10px;
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  .premiumType__heading {
    font-size: 1.375rem;
  }
}
.premiumType__logo {
  width: 295px;
  margin-bottom: 15px;
}
.premiumType__gallery {
  margin-bottom: 60px;
}
.premiumType__gallery:last-child {
  margin-bottom: 0;
}

/* --------------------------------------------
 * 　テーブル
 * -------------------------------------------- */
.table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 20px;
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .table {
    border-spacing: 12px;
  }
}
.table__header {
  width: 110px;
  color: #fff;
  padding: 5px;
  font-weight: normal;
  background: #F27909;
}
@media screen and (max-width: 767px) {
  .table__header {
    width: 75px;
  }
}
.table__data {
  border-bottom: 1px solid #ccc;
  width: calc(100% - 110px);
  padding: 7px 0 0;
}

/* --------------------------------------------
 * 　お問い合わせ
 * -------------------------------------------- */
.contact {
  border-radius: 20px;
  padding: 20px;
  border: 1px solid #EEBD8F;
  background: url("../img/bg_shadow.jpg");
}
.contact__inner {
  background: #fff;
  border-radius: 20px;
  padding: 60px 50px;
}
@media screen and (max-width: 767px) {
  .contact__inner {
    padding: 25px 20px;
  }
}
.contact__heading {
  text-align: center;
  font-weight: bold;
  font-size: 1.6875rem;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .contact__heading {
    font-size: 1.4125rem;
  }
}
.contact__lead {
  text-align: center;
  font-size: 1rem;
  margin-bottom: 15px;
}
.contact__leadNote {
  text-align: center;
  font-size: 0.8125rem;
}
.contact__form {
  margin-top: 60px;
}

/* --------------------------------------------
 * 　フォーム：テーブル部分
 * -------------------------------------------- */
.formTable {
  width: 100%;
  max-width: 860px;
  margin-right: auto;
  margin-left: auto;
  font-size: 16px;
}
.formTable__head {
  width: 25%;
  padding: 11px 0.5em 0 0;
  font-weight: normal;
  text-align: left;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .formTable__head {
    display: block;
    width: 100%;
  }
}
.formTable__head_pt0 {
  padding-top: 0;
}
.formTable__headInner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .formTable__headInner {
    justify-content: flex-start;
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 767px) {
  .formTable__headItem {
    margin-right: 0.75em;
  }
}
.formTable__validate {
  flex: 0 0 auto;
  font-size: 0.75em;
}
.formTable__validate_required {
  display: inline-block;
  color: #fff;
  background: #F27909;
  padding: 0.5em 0.5em 0.4em;
  margin-left: 5px;
  border-radius: 10px;
  line-height: 1;
}
.formTable__validate_optional {
  display: inline-block;
  color: #fff;
  background: #a1d5c3;
  padding: 0.5em 0.5em 0.4em;
  margin-left: 5px;
  border-radius: 10px;
  line-height: 1;
}
.formTable__data {
  width: 75%;
  vertical-align: middle;
  padding: 0 0.2em 1em;
}
@media screen and (max-width: 767px) {
  .formTable__data {
    display: block;
    width: 100%;
  }
}
.formTable input, .formTable textarea, .formTable select {
  background: #FFF8ED;
  border: 1px solid #e9d8bc;
  outline: none;
}
.formTable input, .formTable select {
  width: 100%;
  min-height: 45px;
  padding: 5px 13px 3px;
  border-radius: 25px;
  font-size: 16px;
}
.formTable textarea {
  width: 100%;
  height: 150px;
  padding: 7px 13px 6px;
  border-radius: 10px;
  font-size: 16px;
}
.formTable__dataBirth {
  display: flex;
}

.label_optional {
  background: #7db978;
}

.underForm {
  text-align: center;
}
.underForm__acceptance {
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
}
.underForm__acceptance label {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.875rem;
}
.underForm__acceptance input {
  width: 20px;
  height: 20px;
  margin-right: 10px;
}
.underForm__acceptance input:focus {
  outline: none;
}
.underForm__acceptance span {
  display: inline-block;
  vertical-align: middle;
}
.underForm__acceptanceLead {
  margin-bottom: 12px;
  font-size: 0.75rem;
}
.underForm__acceptanceLink {
  text-decoration: underline;
}
.underForm__buttons {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.underForm button[name=submit] {
  color: #fff;
  background: #F27909;
  width: 300px;
  padding: 18px 15px 15px;
  border: none;
  border-radius: 30px;
  font-size: 1rem;
}
.underForm button[name=submit]:hover {
  text-decoration: none;
  cursor: pointer;
}
.underForm button[name=submitBack] {
  color: #fff;
  background: #555;
  width: 300px;
  padding: 18px 15px 15px;
  border: none;
  font-size: 1rem;
}
.underForm button[name=submitBack]:hover {
  text-decoration: none;
  cursor: pointer;
}

input[type=checkbox] {
  width: 20px;
  height: 20px;
}

input[name=your-zipcode] {
  max-width: 130px;
}

input[name=your-address] {
  margin-top: 10px;
}

.mw_wp_form_complete {
  text-align: center;
}
.mw_wp_form_complete a {
  margin-top: 25px;
}

/* --------------------------------------------
 * 　reCAPTCHA
 * -------------------------------------------- */
.googleRecaptchaText {
  margin-top: 40px;
  font-size: 0.6875rem;
  text-align: center;
  color: #888;
  line-height: 1.5;
}
.googleRecaptchaText a {
  text-decoration: underline;
  color: #F27909;
}

/* --------------------------------------------
 * 　404
 * -------------------------------------------- */
.page404 {
  text-align: center;
  padding-top: 13vh;
  padding-bottom: 15.5vh;
}
.page404__heading {
  font-size: 2.5rem;
  font-weight: bold;
  color: #aaa;
  margin-bottom: 30px;
}
.page404__message a {
  text-decoration: underline;
}

/* --------------------------------------------
 * 　個人情報保護方針
 * -------------------------------------------- */
.terms__header {
  margin-bottom: 50px;
}
.terms__lead {
  margin-bottom: 50px;
}
.terms__heading {
  text-align: center;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.terms__list {
  list-style: none;
}
.terms__item {
  margin-bottom: 40px;
  font-weight: bold;
}
.terms__listChild {
  margin-left: 30px;
  font-weight: normal;
}
.terms__itemChild {
  margin-bottom: 5px;
}
.terms__listChildDepth2 {
  margin-left: 30px;
  counter-reset: counter;
}
.terms__itemChildDepth2 {
  counter-increment: counter;
}
.terms__itemChildDepth2::marker {
  content: "(" counter(counter) ")";
}
.terms__insertBulletList {
  list-style: disc;
  margin-left: 30px;
}
.terms li._noNumber {
  list-style: none;
  margin-left: -20px;
}
.terms__link {
  color: #288fb5;
}
.terms__date {
  font-size: 0.875rem;
}

/* --------------------------------------------
 * 　記事
 * -------------------------------------------- */
.article__date {
  font-size: 0.875rem;
  color: #555;
  margin-bottom: 5px;
}
.article h1 {
  font-size: 1.625rem;
  font-weight: bold;
  line-height: 1.6;
  margin: 45px 0 25px;
}
@media screen and (max-width: 767px) {
  .article h1 {
    font-size: 1.5rem;
  }
}
.article h2 {
  font-size: 1.5rem;
  font-weight: bold;
  margin: 45px 0 25px;
  border-left: 6px solid #F27909;
  padding: 3px 0 2px 13px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .article h2 {
    font-size: 1.375rem;
  }
}
.article h3 {
  font-size: 1.25rem;
  font-weight: bold;
  margin: 40px 0 20px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .article h3 {
    font-size: 1.125rem;
  }
}
.article h4 {
  font-size: 1rem;
  font-weight: bold;
  margin: 25px 0 10px;
  line-height: 1.6;
}
.article p {
  margin: 0 0 15px;
}
.article a {
  text-decoration: underline;
  color: #F27909;
}
.article a:hover {
  text-decoration: none;
}
.article table {
  width: 100%;
  margin: 20px 0 20px;
}
.article table td {
  padding: 5px 5px 2px;
  border: 1px solid #ddd;
}
.article ul, .article ol {
  margin: 20px 0 20px;
}
.article ul li {
  list-style: disc;
  margin-left: 25px;
  margin-bottom: 7px;
}
.article ol li {
  list-style: decimal;
  margin-left: 25px;
  margin-bottom: 7px;
}
.article figure {
  margin: 20px 0 20px;
}
.article figure img {
  margin-bottom: 0;
}
.article figure figcaption {
  font-size: 13px;
  font-style: italic;
  color: #888;
}
.article blockquote {
  background: #FFF8ED;
  padding: 30px 30px 25px;
}
.article blockquote p:last-child {
  margin-bottom: 0;
}
.article img {
  margin: 20px 0 20px;
}
.article .wp-caption {
  font-size: 13px;
  color: #555;
}

/* --------------------------------------------
 * 　video
 * -------------------------------------------- */
.videoFrame {
  width: 100%;
  position: relative;
}
.videoFrame iframe {
  width: 100%;
  height: 100%;
}
.videoFrame::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.videoFrame__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*# sourceMappingURL=style.css.map */




