@charset "UTF-8";
/*!
Theme Name: kurione.1.0.0
Theme URI: http://ace-union.net
Version: 1.0.0
Author: AceUnionDesign co.,ltd
*/
/*!
*** based on ***
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
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, main, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  word-break: break-all;
  word-break: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* HTML5 display-role reset for older browsers */
address, article, aside, figure, figcaption, footer,
header, hgroup, hr, legend, main, menu, nav, section, summary {
  display: block;
}

ul, ol {
  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;
}

del {
  text-decoration: line-through;
}

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;
}

/*** 2015.07.15 追記 ***/
* {
  box-sizing: border-box;
}

html {
  -webkit-appearance: none;
  font-size: 3.2vw;
}
@media only screen and (min-width: 768px) {
  html {
    font-size: 1.6vw;
  }
}
@media only screen and (min-width: 992px) {
  html {
    font-size: 16px;
  }
}

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

button {
  display: inline-block;
  padding: 0;
  background: none;
  border: none;
}

small {
  font-size: 75%;
}

/*** 2015.07.28 追記 ***/
[hidden] {
  display: none;
}

mark {
  background: none;
}

em {
  font-style: normal;
}

input {
  opacity: 1;
}

img {
  vertical-align: bottom;
}

/*** 2016.10.31 追記 ***/
address {
  font-style: normal;
}

/* font-size
************************************/
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
メディアクエリ
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/* color
************************************/
/* fontsize
************************************/
button {
  cursor: pointer;
}

input::-webkit-input-placeholder {
  color: #bbb;
}
input:-moz-placeholder {
  color: #999;
}
input::-moz-placeholder {
  color: #999;
}
input:-ms-input-placeholder {
  color: #999;
}

.sp-only {
  display: block;
}
@media only screen and (min-width: 768px) {
  .sp-only {
    display: none;
    visibility: hidden;
  }
}

.pc-only {
  display: none;
  visibility: hidden;
}
@media only screen and (min-width: 768px) {
  .pc-only {
    display: block;
    visibility: visible;
  }
}

/*************************************/
.f-left {
  float: left;
}

.f-right {
  float: right;
}

.float-n {
  float: none;
}

.pc-float-l {
  float: none;
}
@media only screen and (min-width: 768px) {
  .pc-float-l {
    float: left;
  }
}

.pc-float-r {
  float: none;
}
@media only screen and (min-width: 768px) {
  .pc-float-r {
    float: right;
  }
}

.al-right {
  text-align: right;
}

.al-center {
  text-align: center;
}

.al-left {
  text-align: left;
}

.clear {
  clear: both;
}

.strong {
  font-weight: bold;
}

/* additional
************************************/
.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
}

/* ==========================================
Single-colored icons can be modified like so:
.icon-name {
font-size: 32px;
color: red;
}
========================================== */
.wpc,
.pc,
.tb,
.sp,
.wsp,
.w2pc {
  display: none;
}

@media screen and (min-width: 1220px) {
  .w2pc {
    display: unset;
  }
}
@media screen and (min-width: 1080px) {
  .wpc {
    display: unset;
  }
}
@media screen and (min-width: 992px) {
  .pc {
    display: unset;
  }
}
@media screen and (min-width: 769px) and (max-width: 992px) {
  .tb {
    display: unset;
  }
}
@media screen and (max-width: 768px) {
  .sp {
    display: unset;
  }
}
@media screen and (min-width: 768px) {
  .wsp {
    display: unset;
  }
}
img {
  width: 100%;
  height: auto;
}

/* fadeIn
************************************/
body {
  position: relative;
  margin: 0;
  font-family: YuMincho, "Yu Mincho", "YuMincho", serif;
  line-height: 2;
  background: #FFFFFF;
  color: #000;
  font-size: 1rem;
  overflow-x: hidden;
}
@media only screen and (min-width: 992px) {
  body {
    font-size: 16px;
  }
}
body strong {
  font-weight: bold;
}
body a {
  color: #000;
  text-decoration: none;
  transition: all 0.2s ease-in;
}
body a:hover {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.8;
}

button,
input,
select,
option,
textarea,
label {
  font-family: YuMincho, "Yu Mincho", "YuMincho", serif;
}

/*************
共通
*************/
.section {
  position: relative;
  overflow: hidden;
}
.section__inner {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .section__inner {
    width: 70%;
  }
}
@media only screen and (min-width: 992px) {
  .section__inner {
    width: 76%;
  }
}
@media only screen and (min-width: 1260px) {
  .section__inner {
    width: 90%;
  }
}
.section--grayLeft {
  background: linear-gradient(90deg, #fff 0%, #fff 2.5vw, #f7f7f7 2.5vw, #f7f7f7 100%);
}
@media only screen and (min-width: 768px) {
  .section--grayLeft {
    background: linear-gradient(90deg, #fff 0%, #fff 5vw, #f7f7f7 5vw, #f7f7f7 100%);
  }
}
.section--grayRight {
  background: linear-gradient(-90deg, #fff 0%, #fff 2.5vw, #f7f7f7 2.5vw, #f7f7f7 100%);
}
@media only screen and (min-width: 768px) {
  .section--grayRight {
    background: linear-gradient(-90deg, #fff 0%, #fff 5vw, #f7f7f7 5vw, #f7f7f7 100%);
  }
}
.section--bgRight {
  background: linear-gradient(-90deg, #fff 0%, #fff 2.5vw, #F9F6EF 2.5vw, #F9F6EF 100%);
}
@media only screen and (min-width: 768px) {
  .section--bgRight {
    background: linear-gradient(-90deg, #fff 0%, #fff 5vw, #F9F6EF 5vw, #F9F6EF 100%);
  }
}
.section--bgBottom {
  background-repeat: no-repeat;
  background-position: bottom 200px left 0;
}
.section--bg {
  background: #F9F6EF;
}
.section__text {
  margin-top: 20px;
}
.section__text:first-child {
  margin-top: 0;
}

/*************
ヘッダー
*************/
.header {
  position: relative;
}
.header__inner {
  position: fixed;
  background: rgba(255, 255, 255, 0.9);
  border-bottom: 1px solid #000000;
  display: flex;
  align-items: center;
  height: 60px;
  margin: 0 auto;
  padding: 0 0 0 15px;
  width: 100%;
  z-index: 5;
  top: 0;
}
@media only screen and (min-width: 768px) {
  .header__inner {
    position: absolute;
    height: 88px;
    gap: 0 20px;
    padding: 0 30px;
  }
}
.header .logo {
  max-width: 120px;
  line-height: 1;
  z-index: 5;
}
@media only screen and (min-width: 768px) {
  .header .logo {
    max-width: 150px;
    position: static;
  }
}
.header .snsBtn {
  position: absolute;
  top: 10px;
  right: 60px;
  z-index: 5;
}
@media only screen and (min-width: 768px) {
  .header .snsBtn {
    position: static;
  }
}
.header .snsBtn__link {
  width: 40px;
  height: 40px;
  background: #000000;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 1100px) {
  .header .snsBtn__link {
    width: 180px;
    min-height: 44px;
    color: #FFFFFF;
    padding: 0 60px 0 20px;
    line-height: 1.4;
  }
}
.header .snsBtn__link span {
  display: none;
}
@media only screen and (min-width: 1100px) {
  .header .snsBtn__link span {
    display: inline;
  }
}
.header .snsBtn__link::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url("./images/icon_instagram.png") no-repeat center center;
  background-size: cover;
  flex-shrink: 0;
}
@media only screen and (min-width: 1100px) {
  .header .snsBtn__link::before {
    margin-right: 10px;
  }
}
@media only screen and (min-width: 1100px) {
  .header .snsBtn__link::after {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    content: "";
    width: 38px;
    height: 8px;
    background: url("./images/btn_arrow.png") no-repeat center center;
    background-size: cover;
  }
}
.header .snsBtn__link:hover {
  opacity: 0.7;
}
.header .navSub {
  display: none;
}
@media only screen and (min-width: 768px) {
  .header .navSub {
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 56px;
    gap: 0 50px;
    position: absolute;
    top: 88px;
    width: 100%;
    z-index: 1;
  }
}
.header .navSub__link {
  position: relative;
  padding-right: 48px;
  font-size: 1.125rem;
  font-weight: bold;
}
.header .navSub__link::after {
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 38px;
  height: 8px;
  background: url("./images/btn_arrow_black.png") no-repeat center center;
  background-size: cover;
  margin-left: 20px;
}

/*==ナビゲーション全体の設定*/
.nav {
  background: #fff;
}
@media only screen and (min-width: 768px) {
  .nav {
    margin-left: auto;
    background: none;
    border-left: none;
  }
}
.nav .navList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  margin: 0 auto;
  line-height: 1.4;
  gap: 20px 0;
  padding: 60px 20px;
  font-size: 15px;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
@media only screen and (min-width: 768px) {
  .nav .navList {
    font-size: 0.9375rem;
    align-items: center;
    flex-direction: row;
    justify-content: flex-end;
    gap: 0 10px;
    padding: 0;
    height: auto;
    overflow: inherit;
  }
}
@media only screen and (min-width: 992px) {
  .nav .navList {
    gap: 0 20px;
  }
}
.nav .navList__item {
  position: relative;
  padding-left: 14px;
  width: 100%;
  transition: all 0.3s;
}
@media only screen and (min-width: 768px) {
  .nav .navList__item {
    width: auto;
    padding-left: 10px;
  }
}
.nav .navList__item::before {
  position: absolute;
  left: 0px;
  top: 6px;
  content: "";
  width: 4px;
  height: 8px;
  background: url("./images/nav_arrow.svg") no-repeat center center;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .nav .navList__item::before {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
  }
}
@media only screen and (min-width: 768px) {
  .nav .navList__item--notIcon {
    padding-left: 0;
  }
}
.nav .navList__item--notIcon::before {
  display: none;
}

.dropdown {
  display: block;
  width: 100%;
  position: inherit;
  background: #000;
  transform: none;
  -webkit-transform: none;
  padding: 10px;
}
@media only screen and (min-width: 768px) {
  .dropdown {
    position: absolute;
    width: 280px;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    visibility: hidden;
    opacity: 0;
    transition: 0s;
  }
}
.dropdown__item {
  margin-bottom: 10px;
}
.dropdown__item:last-child {
  margin-bottom: 0;
}
.dropdown__item a {
  color: #fff;
  position: relative;
  padding-left: 46px;
  display: block;
}
.dropdown__item a:hover {
  color: #fff;
}
.dropdown__item a::before {
  display: none;
}
.dropdown__item a::after {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 26px;
  height: 8px;
  background: url("./images/btn_arrow.png") no-repeat right center;
  background-size: 26px 8px;
}

@media only screen and (min-width: 768px) {
  .navList__item:hover .dropdown {
    visibility: visible;
    opacity: 1;
    transition: 0.8s;
  }
}

.drawer-hamburger {
  z-index: 20;
}
@media only screen and (min-width: 768px) {
  .drawer-hamburger {
    display: none;
  }
}

.drawer-nav {
  background: #fff;
  z-index: 10;
}
@media only screen and (min-width: 768px) {
  .drawer-nav {
    background: none;
    position: static;
    display: block;
    overflow: inherit;
    width: 100%;
    height: auto;
  }
}

.drawer-hamburger {
  width: 30px;
  top: 0;
  padding: 18px 15px 30px 15px;
}

/**********************
ボタン
***********************/
.btnWrap__link {
  display: inline-block;
  align-items: center;
  background: #000000;
  color: #FFFFFF;
  padding: 10px 78px 10px 20px;
  position: relative;
  width: 100%;
  font-size: 1rem;
}
@media only screen and (min-width: 768px) {
  .btnWrap__link {
    width: auto;
  }
}
.btnWrap__link::after {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 38px;
  height: 8px;
  background: url("./images/btn_arrow.png") no-repeat center center;
  background-size: cover;
}
.btnWrap__link:hover {
  color: #FFFFFF;
  opacity: 0.7;
}
@media only screen and (min-width: 768px) {
  .btnWrap--center {
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .btnWrap--right {
    text-align: right;
  }
}
.btnWrap--mgnTop {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .btnWrap--mgnTop {
    margin-top: 50px;
  }
}
@media only screen and (min-width: 768px) {
  .btnWrap--width200 {
    max-width: 200px;
  }
}
@media only screen and (min-width: 768px) {
  .btnWrap--width240 {
    max-width: 240px;
  }
}

/*************
フッター
*************/
@media only screen and (min-width: 768px) {
  .footer {
    border-top: 1px solid #000000;
  }
}
.footer__inner {
  display: none;
}
@media only screen and (min-width: 768px) {
  .footer__inner {
    width: 90%;
    display: block;
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 0;
  }
}
@media only screen and (min-width: 900px) {
  .footer__inner {
    width: 80%;
  }
}
@media only screen and (min-width: 1400px) {
  .footer__inner {
    width: 90%;
  }
}
.footer__under {
  padding: 30px 5% 55px;
  text-align: center;
  border-top: 1px solid #000000;
}
@media only screen and (min-width: 768px) {
  .footer__under {
    padding: 30px 5%;
  }
}
.footer__top {
  font-weight: bold;
  margin-bottom: 30px;
}
.footer__top a {
  position: relative;
  padding-left: 14px;
}
.footer__top a::before {
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 4px;
  height: 8px;
  background: url("./images/nav_arrow.svg") no-repeat center center;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .footer .footerNav {
    display: flex;
    justify-content: space-between;
    gap: 0 10px;
    font-size: 0.8125rem;
  }
}
@media only screen and (min-width: 992px) {
  .footer .footerNav {
    font-size: 0.9375rem;
  }
}
.footer .footerNav__title {
  font-weight: bold;
  margin-bottom: 30px;
  white-space: nowrap;
}
.footer .footerNav__title a {
  position: relative;
  padding-left: 14px;
}
.footer .footerNav__title a::before {
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 4px;
  height: 8px;
  background: url("./images/nav_arrow.svg") no-repeat center center;
  background-size: cover;
}
.footer .footerNav a {
  line-height: 1.5;
}
.footer .subNav__item {
  font-weight: normal;
  font-size: 0.6875rem;
  position: relative;
  padding-left: 15px;
  margin-bottom: 10px;
  white-space: nowrap;
}
@media only screen and (min-width: 992px) {
  .footer .subNav__item {
    font-size: 0.75rem;
  }
}
.footer .subNav__item::before {
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 8px;
  height: 1px;
  background: #000000;
}
.footer .subNav__item--icon::before {
  position: absolute;
  top: 10px;
  content: "";
  width: 8px;
  height: 1px;
  background: #000000;
}
.footer__logo {
  max-width: 120px;
  margin: 0 auto 16px;
}
@media only screen and (min-width: 768px) {
  .footer__logo {
    max-width: 130px;
  }
}
.footer__copyright {
  text-align: center;
  font-size: 12px;
}

/*************
共通
*************/
.lv2Title {
  font-size: 2.25rem;
  font-weight: normal;
  margin-bottom: 6.5104166667vw;
  line-height: 1.2;
}
@media only screen and (min-width: 768px) {
  .lv2Title {
    font-size: 2.5rem;
    line-height: 1.4;
    margin-bottom: 50px;
  }
}
.lv2Title__lead {
  font-size: 1.5rem;
  display: block;
  margin-bottom: 20px;
}
.lv2Title--tate {
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
  text-orientation: upright;
  margin-bottom: 0;
  letter-spacing: 0.3em;
  position: relative;
  padding-right: 4.1666666667vw;
}
@media only screen and (min-width: 768px) {
  .lv2Title--tate {
    padding-right: 32px;
  }
}
.lv2Title--tate::after {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 1px;
  height: 100px;
  background: #000;
}
.lv2Title--2column span {
  display: block;
  padding-top: 2.6em;
}
.lv2Title--bgnBottom0 {
  margin-bottom: 0;
}
.lv2Title--center {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .lv2Title--about01 {
    font-size: 1.6875rem;
  }
}
@media only screen and (min-width: 1015px) {
  .lv2Title--about01 {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 1280px) {
  .lv2Title--about01 {
    font-size: 2.5rem;
  }
}
.lv2Title--about02 span {
  display: block;
  text-align: right;
}

.lv3Title {
  font-size: 1.75rem;
  font-weight: normal;
  margin-bottom: 6.5104166667vw;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
  .lv3Title {
    line-height: 1.8;
    margin-bottom: 50px;
  }
}
.lv3Title--bgnBottom0 {
  margin-bottom: 0;
}
.lv3Title--bgnBottom10 {
  margin-bottom: 10px;
}
.lv3Title--bgnBottom20 {
  margin-bottom: 20px;
}
.lv3Title--indent span {
  display: block;
  margin-left: 1em;
  text-indent: -1em;
}
.lv3Title--about01 span {
  display: block;
  text-align: right;
}

.eyecatchBox {
  position: relative;
  width: 100%;
}
.eyecatchBox__inner {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.eyecatchBox__inner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.eyecatchBox--size65:before {
  content: "";
  display: block;
  padding-top: 65%;
}
.eyecatchBox--size85:before {
  content: "";
  display: block;
  padding-top: 85%;
}
.eyecatchBox--size54:before {
  content: "";
  display: block;
  padding-top: 54%;
}
.eyecatchBox--size105:before {
  content: "";
  display: block;
  padding-top: 105%;
}
.eyecatchBox--size68:before {
  content: "";
  display: block;
  padding-top: 68%;
}
.eyecatchBox--size140:before {
  content: "";
  display: block;
  padding-top: 140%;
}
.eyecatchBox--size150:before {
  content: "";
  display: block;
  padding-top: 150%;
}

.fixBanner {
  position: fixed;
  width: 100%;
  bottom: 0;
  background: #fff;
}
@media only screen and (min-width: 768px) {
  .fixBanner {
    top: 240px;
    right: 20px;
    z-index: 5;
    display: block;
    width: 80px;
    height: auto;
    background: none;
  }
}
@media only screen and (min-width: 1200px) {
  .fixBanner {
    width: 110px;
  }
}
.fixBanner a {
  display: flex;
}
@media only screen and (min-width: 768px) {
  .fixBanner a {
    display: block;
  }
}
.fixBanner__text {
  position: relative;
  width: 50%;
  padding: 10px 1.3020833333vw;
  font-size: 12px;
  line-height: 1.3;
  text-align: center;
  letter-spacing: -0.1em;
  border: 1px solid #000;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .fixBanner__text {
    font-size: 1.125rem;
    width: 80px;
    background: #fff;
    -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    padding: 50px 0 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.3em;
    text-align: inherit;
  }
}
@media only screen and (min-width: 1200px) {
  .fixBanner__text {
    width: 110px;
  }
}
.fixBanner__text::before {
  position: absolute;
  content: "";
  width: 60px;
  height: 60px;
  background: url("./images/fixbanner_icon_sp.png") no-repeat;
  background-size: cover;
  left: 0;
  top: -55px;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .fixBanner__text::before {
    background: url("./images/fixbanner_icon.png") no-repeat;
    background-size: cover;
    width: 88px;
    height: 88px;
    right: -18px;
    top: -60px;
  }
}
.fixBanner__btn {
  width: 50%;
  background: #000;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  letter-spacing: -0.1em;
  font-size: 12px;
}
@media only screen and (min-width: 768px) {
  .fixBanner__btn {
    font-size: 0.75rem;
    width: 100%;
    height: 70px;
  }
}
@media only screen and (min-width: 1200px) {
  .fixBanner__btn {
    font-size: 0.9375rem;
  }
}
.fixBanner__btn::after {
  display: block;
  content: "";
  width: 24px;
  height: 5px;
  background: url("./images/fixbanner_arrow.png") no-repeat;
  background-size: cover;
}

.videoBox {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 300px;
}
@media only screen and (min-width: 768px) {
  .videoBox {
    height: 500px;
  }
}
.videoBox .video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.videoBox img {
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .videoBox img {
    height: 500px;
  }
}
.videoBox__company {
  display: flex;
  align-items: center;
}
.videoBox__company img {
  position: absolute;
}
.videoBox__company .lv2Title {
  margin-left: 5%;
  color: #fff;
  letter-spacing: 0.2em;
  font-size: 20px;
}
@media only screen and (min-width: 768px) {
  .videoBox__company .lv2Title {
    font-size: 2.5rem;
  }
}
.videoBox__company .lv2Title::after {
  background: #fff;
}
.videoBox__company__era {
  position: absolute;
  color: #fff;
  right: 5%;
  bottom: 5%;
  font-size: 1.25rem;
}
.videoBox__kitchen {
  background: rgba(255, 255, 255, 0.8);
  height: auto;
  padding: 40px 0;
}
.videoBox__kitchen__inner {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.6;
}
@media only screen and (min-width: 768px) {
  .videoBox__kitchen__inner {
    line-height: 2;
  }
}
.videoBox__kitchen__text {
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
  text-orientation: upright;
}
.videoBox__kitchen__text p {
  margin-top: 0 !important;
  margin-left: 20px;
}
.videoBox__kitchen__text p:last-child {
  margin-left: 0;
}

.pageTitle__inner {
  padding: 13.0208333333vw 0 13.0208333333vw;
}
@media only screen and (min-width: 768px) {
  .pageTitle__inner {
    padding: 100px 0;
  }
}
.pageTitle__inner--works {
  padding: 13.0208333333vw 0 0;
}
@media only screen and (min-width: 768px) {
  .pageTitle__inner--works {
    padding: 100px 0 0;
  }
}
.pageTitle__inner--price {
  padding: 13.0208333333vw 0 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .pageTitle__inner--price {
    padding: 100px 0 50px;
  }
}
.pageTitle__lv2Title {
  font-size: 2.25rem;
  font-weight: normal;
  line-height: 1.2;
}
@media only screen and (min-width: 768px) {
  .pageTitle__lv2Title {
    font-size: 2.5rem;
    line-height: 1.4;
  }
}
.pageTitle__lv2Title + h3 {
  margin-top: 6.5104166667vw !important;
}
@media only screen and (min-width: 768px) {
  .pageTitle__lv2Title + h3 {
    margin-top: 50px !important;
  }
}
.pageTitle__lv2Title + p {
  margin-top: 6.5104166667vw !important;
}
@media only screen and (min-width: 768px) {
  .pageTitle__lv2Title + p {
    margin-top: 50px !important;
  }
}
.pageTitle p + p {
  margin-top: 20px;
}
.pageTitle p + p:first-child {
  margin-top: 0;
}

.textLink {
  text-decoration: underline;
}
.textLink:hover {
  text-decoration: none;
}

.fs17 {
  font-size: 1.0625rem;
}

.fs20 {
  font-size: 1.25rem;
}

/*************************************************************************
トップページのみ
**************************************************************************/
.page-top .header {
  position: relative;
  z-index: 4;
}
.page-top .mainvisual {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .page-top .mainvisual {
    margin-bottom: 100px;
  }
}
.page-top .mainvisual__inner {
  height: 150vw;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .page-top .mainvisual__inner {
    height: 700px;
  }
}
.page-top .mainvisual__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.1) 100%);
  z-index: 1;
  pointer-events: none;
}
@media only screen and (min-width: 768px) {
  .page-top .mainvisual__inner::before {
    background: linear-gradient(to right, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.35) 50%, transparent 80%);
  }
}
.page-top .mainvisual__catch {
  position: absolute;
  z-index: 2;
  left: 5%;
  top: 50%;
  transform: translateY(-50%);
  color: #FFFFFF;
}
@media only screen and (min-width: 768px) {
  .page-top .mainvisual__catch {
    left: 60px;
    top: 360px;
  }
}
.page-top .mainvisual__catch__lead {
  font-size: 1.625rem;
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
}
@media only screen and (min-width: 768px) {
  .page-top .mainvisual__catch__lead {
    font-size: 2rem;
    letter-spacing: 0.1em;
  }
}
.page-top .mainvisual__catch__lead::before {
  content: "";
  display: block;
  width: 24px;
  height: 1px;
  background: #FFFFFF;
  margin-bottom: 18px;
}
@media only screen and (min-width: 768px) {
  .page-top .mainvisual__catch__lead::before {
    width: 32px;
    margin-bottom: 24px;
  }
}
.page-top .mainvisual__catch__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media only screen and (min-width: 768px) {
  .page-top .mainvisual__catch__text {
    font-size: 1rem;
  }
}
.page-top .mainvisual__catch__btn {
  margin-top: 24px;
}
.page-top .mainvisual__catch__btn .btnWrap__link {
  background: #FFFFFF;
  color: #000000;
  width: auto;
}
.page-top .mainvisual__catch__btn .btnWrap__link::after {
  background-image: url("./images/btn_arrow_black.png");
}
.page-top .mainvisual__catch__btn .btnWrap__link:hover {
  color: #000000;
}
.page-top .news {
  margin-top: calc(13.0208333333vw - 40px);
  margin-bottom: calc(24.0885416667vw - 40px);
}
@media only screen and (min-width: 768px) {
  .page-top .news {
    position: absolute;
    bottom: 50px;
    top: inherit;
    margin-bottom: 0;
    margin-top: 0;
    z-index: 2;
  }
}
.page-top .news__inner {
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 90%;
  line-height: 1.4;
  padding: 20px 5%;
  overflow: visible;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .page-top .news__inner {
    width: 100%;
    height: auto;
    max-width: 700px;
    gap: 0 20px;
    flex-direction: row;
    padding: 10px 40px 10px 20px;
    margin: auto;
  }
}
.page-top .news__title {
  align-self: baseline;
  margin-bottom: 10px;
  font-size: 1.125rem;
}
@media only screen and (min-width: 768px) {
  .page-top .news__title {
    white-space: nowrap;
    align-self: center;
    margin-bottom: 0;
  }
}
.page-top .news__items {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .page-top .news__items {
    max-width: 70%;
  }
}
.page-top .news__item {
  display: flex;
  align-items: flex-start;
  gap: 0 20px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .page-top .news__item {
    align-items: center;
  }
}
.page-top .news__item__date {
  white-space: nowrap;
}
.page-top .news__item__title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-top .news__item__title a {
  text-decoration: underline;
}
.page-top .news__item__title a:hover {
  text-decoration: none;
}
.page-top .news__item:not(:first-child) {
  margin-top: 5px;
}

/*************************************************************************
下層全ページ共通
**************************************************************************/
@media only screen and (min-width: 768px) {
  .underLayer .header__inner {
    position: inherit;
  }
}
.underLayer .header .navSub {
  border-bottom: 1px solid #000;
}
@media only screen and (min-width: 768px) {
  .underLayer .header .navSub {
    position: inherit;
    top: 0;
  }
}

.c-breadcrumb {
  width: 90%;
  max-width: 1000px;
  margin-inline: auto;
  padding: 10px 0;
  margin-top: 60px;
}
@media only screen and (min-width: 768px) {
  .c-breadcrumb {
    margin-top: 0;
  }
}
@media only screen and (min-width: 768px) {
  .c-breadcrumb .list {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
  }
  .c-breadcrumb .list::-webkit-scrollbar {
    display: none;
  }
}
.c-breadcrumb .list > li {
  display: inline;
  font-size: 10px;
  font-weight: 500;
  color: #959595;
}
@media only screen and (min-width: 768px) {
  .c-breadcrumb .list > li {
    display: flex;
    align-items: center;
    font-size: 12px;
  }
}
.c-breadcrumb .list > li a {
  color: #000;
  display: inline;
}
@media only screen and (min-width: 768px) {
  .c-breadcrumb .list > li a {
    display: block;
  }
  .c-breadcrumb .list > li a:hover {
    text-decoration: underline;
  }
}
.c-breadcrumb .list > li + li::before {
  content: ">";
  display: inline-block;
  margin: 0 5px;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .c-breadcrumb .list > li + li::before {
    margin: 0 10px 0 15px;
  }
}

/*************
トップページ
calc(100vw * 40 / 1080);
@include m.fontsize(16px);
*************/
.topQa {
  margin-bottom: 13.0208333333vw;
}
@media only screen and (min-width: 768px) {
  .topQa {
    margin-bottom: 260px;
    overflow: initial;
  }
}
.topQa__box {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 6.5104166667vw 0;
  padding-top: 13.0208333333vw;
  padding-bottom: 5.2083333333vw;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .topQa__box {
    flex-direction: row;
    gap: 0 20px;
    padding-top: 100px;
    padding-bottom: 40px;
  }
}
.topQa__contents {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .topQa__contents {
    max-width: 38vw;
    flex: 1;
    order: 2;
  }
}
@media only screen and (min-width: 992px) {
  .topQa__contents {
    max-width: 450px;
  }
}
.topQa__contents__text {
  margin-bottom: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .topQa__contents__text {
    margin-bottom: 50px;
  }
}
.topQa__contents__btn {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .topQa__contents__btn {
    width: 285px;
  }
}
.topQa .qaList {
  list-style-type: disc;
  margin-left: 1.5rem;
  margin-bottom: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .topQa .qaList {
    margin-bottom: 50px;
  }
}
.topQa__img {
  position: relative;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .topQa__img {
    width: 42vw;
    margin: 0 calc(50% - 50vw);
    bottom: -100px;
    order: 1;
  }
}
.topQa__img::after {
  display: block;
  position: absolute;
  content: "";
  top: 0px;
  left: -20px;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: url("./images/bg_img.png") repeat right bottom;
  background-size: 566px 676px;
}
@media only screen and (min-width: 768px) {
  .topQa__img::after {
    right: -20px;
  }
}
.topQa__img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 500px;
}

.contactArea {
  background: url("./images/bg_square.png") repeat left top;
  background-size: 10px 10px;
  padding: 13.0208333333vw 0;
}
@media only screen and (min-width: 768px) {
  .contactArea {
    padding: 180px 0;
  }
}
.contactArea__lead {
  border-bottom: 1px solid #000000;
  padding-bottom: 6.5104166667vw;
  margin-bottom: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .contactArea__lead {
    padding-bottom: 50px;
    margin-bottom: 50px;
  }
}
.contactArea__btnArea {
  display: flex;
  justify-content: space-between;
  gap: 20px 0;
  border-bottom: 1px solid #000000;
  margin-bottom: 6.5104166667vw;
  padding-bottom: 6.5104166667vw;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .contactArea__btnArea {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px 16px;
  }
}
@media only screen and (min-width: 1280px) {
  .contactArea__btnArea {
    gap: 0 16px;
    padding-bottom: 50px;
    margin-bottom: 50px;
    flex-direction: row;
    flex-wrap: inherit;
  }
}
.contactArea__btnArea .btnWrap {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .contactArea__btnArea .btnWrap {
    width: calc(50% - 8px);
  }
}
@media only screen and (min-width: 1280px) {
  .contactArea__btnArea .btnWrap {
    width: 100%;
  }
}
.contactArea__btnArea .btnWrap__link {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .contactArea__btnArea .btnWrap__link {
    min-height: 84px;
  }
}
@media only screen and (min-width: 1280px) {
  .contactArea__btnArea--contact .btnWrap__link {
    width: 280px;
  }
}
@media only screen and (min-width: 1280px) {
  .contactArea__btnArea--visit .btnWrap__link {
    width: 170px;
  }
}
@media only screen and (min-width: 1280px) {
  .contactArea__btnArea--qa .btnWrap__link {
    width: 200px;
  }
}
@media only screen and (min-width: 1280px) {
  .contactArea__btnArea--maint .btnWrap__link {
    width: 300px;
  }
}
.contactArea__telArea {
  display: flex;
  gap: 0 20px;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}
@media only screen and (min-width: 992px) {
  .contactArea__telArea {
    flex-direction: row;
  }
}
.contactArea__telArea__number {
  font-size: 3.375rem;
  font-weight: normal;
  line-height: 1.4;
  position: relative;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 992px) {
  .contactArea__telArea__number {
    font-size: 2.625rem;
  }
}
@media only screen and (min-width: 1260px) {
  .contactArea__telArea__number {
    font-size: 3.375rem;
  }
}
.contactArea__telArea__number::before {
  content: "";
  display: inline-block;
  width: 4.1666666667vw;
  height: 5.46875vw;
  background: url("./images/icon_tel.png") no-repeat center center;
  background-size: cover;
  margin-right: 10px;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .contactArea__telArea__number::before {
    width: 32px;
    height: 42px;
  }
}
.contactArea__telArea .lv3Title {
  margin-bottom: 0;
}
.contactArea__telArea .lv3Title br {
  display: none;
}
@media only screen and (min-width: 992px) {
  .contactArea__telArea .lv3Title br {
    display: block;
  }
}
@media only screen and (min-width: 992px) {
  .contactArea__telArea .lv3Title {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width: 1260px) {
  .contactArea__telArea .lv3Title {
    font-size: 1.75rem;
  }
}
.contactArea__telArea__details dl {
  display: flex;
}
@media only screen and (min-width: 992px) {
  .contactArea__telArea__details dl {
    font-size: 0.8125rem;
  }
}
@media only screen and (min-width: 1260px) {
  .contactArea__telArea__details dl {
    font-size: 0.9375rem;
  }
}
.contactArea__telArea__details dl dt {
  width: 15vw;
}
@media only screen and (min-width: 768px) {
  .contactArea__telArea__details dl dt {
    width: 80px;
  }
}
.contactArea__telArea__details dl dd {
  flex: 1;
}

.roomArea__box {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  padding: 50px 0;
}
@media only screen and (min-width: 768px) {
  .roomArea__box {
    flex-direction: row;
    gap: 0 5%;
  }
}
.roomArea__contents {
  width: 100%;
  margin-top: 0;
}
@media only screen and (min-width: 768px) {
  .roomArea__contents {
    width: 36.5%;
    margin-top: 40px;
  }
}
.roomArea__contents__lead {
  margin-bottom: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .roomArea__contents__lead {
    margin-bottom: 50px;
  }
}
.roomArea__img {
  display: flex;
  gap: 0 20px;
}
@media only screen and (min-width: 768px) {
  .roomArea__img {
    width: 63.5%;
    flex: 1;
    margin: 0 calc(50% - 50vw) 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .roomArea__img li {
    height: 240px;
  }
}
.roomArea__img li img {
  -o-object-fit: cover;
     object-fit: cover;
}
.roomArea__map {
  height: auto;
}

.snsArea {
  background: #f9f6ef;
  padding: 6.5104166667vw 0;
}
@media only screen and (min-width: 768px) {
  .snsArea {
    padding: 50px 0;
  }
}
.snsArea__lv2Title {
  margin-bottom: 2.6041666667vw;
}
@media only screen and (min-width: 768px) {
  .snsArea__lv2Title {
    margin-bottom: 20px;
  }
}
.snsArea__lv2Title a {
  display: flex;
  align-items: center;
}
.snsArea__lv2Title a::after {
  display: block;
  content: "";
  width: 38px;
  height: 8px;
  background: url("./images/btn_arrow_black.png") no-repeat center center;
  background-size: cover;
  margin-left: 20px;
}
.snsArea__box {
  padding: 6.5104166667vw 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  gap: 6.5104166667vw 0;
}
@media only screen and (min-width: 768px) {
  .snsArea__box {
    padding: 50px 0;
    gap: 0 5%;
    flex-direction: row;
  }
}
.snsArea__img {
  max-width: 200px;
  margin: 0 auto;
}
.snsArea__img img {
  max-width: 15.625vw;
}
@media only screen and (min-width: 768px) {
  .snsArea__img img {
    max-width: 100px;
  }
}
@media only screen and (min-width: 768px) {
  .snsArea__contents {
    max-width: 800px;
    flex: 1;
  }
}

.catchArea--home {
  background: url("./images/bg_net.png") repeat left top;
  background-size: 28px 28px;
  padding: 40px 0;
}
.catchArea__bg {
  min-height: 554px;
  display: flex;
  align-items: center;
  padding: 5% 0;
}
@media only screen and (min-width: 768px) {
  .catchArea__bg {
    padding: 80px 0;
  }
}
.catchArea__bg--home {
  background: url("./images/top_catch.png") no-repeat center center;
  background-size: cover;
}
.catchArea__bg--about {
  background: url("./images/about_catch.png") no-repeat center center;
  background-size: cover;
}
.catchArea__bg--maintenance {
  background: url("./images/maintenance_catch.png") no-repeat center center;
  background-size: cover;
}
.catchArea__inner {
  background: #fff;
  padding: 9.1145833333vw 5%;
}
@media only screen and (min-width: 768px) {
  .catchArea__inner {
    padding: 70px 60px;
  }
}
.catchArea__contents {
  display: flex;
  justify-content: space-between;
  gap: 6.5104166667vw 0;
  flex-direction: column;
}
@media only screen and (min-width: 992px) {
  .catchArea__contents {
    flex-direction: row;
    gap: 0 20px;
  }
}
.catchArea__contents__text {
  max-width: 100%;
}
@media only screen and (min-width: 992px) {
  .catchArea__contents__text {
    max-width: 525px;
    flex: 1;
  }
}
.catchArea__contents__btn {
  max-width: 100%;
}

.mediaArea {
  margin: 13.0208333333vw 0;
}
@media only screen and (min-width: 768px) {
  .mediaArea {
    margin: 180px 0;
  }
}
.mediaArea .mediaList {
  display: flex;
  gap: 6.5104166667vw 0;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .mediaArea .mediaList {
    flex-direction: row;
    gap: 0 20px;
  }
}
.mediaArea .mediaList__img {
  margin-bottom: 3.90625vw;
}
@media only screen and (min-width: 768px) {
  .mediaArea .mediaList__img {
    margin-bottom: 30px;
  }
}
.mediaArea .mediaList__title {
  font-size: 1.75rem;
  font-weight: normal;
  margin-bottom: 2.6041666667vw;
  line-height: 1;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .mediaArea .mediaList__title {
    margin-bottom: 20px;
  }
}
.mediaArea .mediaList__title::after {
  display: block;
  content: "";
  width: 38px;
  height: 8px;
  background: url("./images/btn_arrow_black.png") no-repeat center center;
  background-size: cover;
  margin-left: 20px;
}

.newsArea {
  margin-bottom: 13.0208333333vw;
}
@media only screen and (min-width: 768px) {
  .newsArea {
    margin-bottom: 260px;
    overflow: initial;
  }
}
.newsArea__lead {
  font-size: 1.125rem;
  display: inline-block;
  margin-bottom: 20px;
  background: #000;
  color: #fff;
  padding: 5px 10px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
}
.newsArea__number {
  font-size: 1.25rem;
  font-weight: normal;
}
.newsArea__title {
  border-left: 5px solid #000;
  padding-left: 10px;
  display: block;
  font-size: 2.25rem;
  font-weight: normal;
  margin-bottom: 6.5104166667vw;
  line-height: 1.2;
}
@media only screen and (min-width: 768px) {
  .newsArea__title {
    font-size: 2.5rem;
    line-height: 1.4;
    margin-bottom: 50px;
  }
}
.newsArea__box {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 6.5104166667vw 0;
  padding-top: 13.0208333333vw;
  padding-bottom: 5.2083333333vw;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .newsArea__box {
    flex-direction: row;
    gap: 0 20px;
    padding-top: 100px;
    padding-bottom: 40px;
  }
}
.newsArea__contents {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .newsArea__contents {
    max-width: 38vw;
    flex: 1;
  }
}
@media only screen and (min-width: 1080px) {
  .newsArea__contents {
    max-width: 480px;
  }
}
.newsArea__contents__text {
  margin-bottom: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .newsArea__contents__text {
    margin-bottom: 50px;
  }
}
.newsArea__contents__btn {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .newsArea__contents__btn {
    width: 285px;
  }
}
.newsArea__img {
  position: relative;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .newsArea__img {
    width: 42vw;
    margin: 0 calc(50% - 50vw);
    bottom: -100px;
  }
}
.newsArea__img::after {
  display: block;
  position: absolute;
  content: "";
  top: 20px;
  left: -20px;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: url("./images/bg_img.png") repeat right bottom;
  background-size: 566px 676px;
}
@media only screen and (min-width: 768px) {
  .newsArea__img::after {
    right: -20px;
  }
}
.newsArea__img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.productArea {
  position: relative;
}
.productArea__lv2Title {
  font-size: 2.25rem;
}
@media only screen and (min-width: 1250px) {
  .productArea__lv2Title {
    font-size: 2.5rem;
  }
}
.productArea__lv3Title br {
  display: none;
}
@media only screen and (min-width: 1100px) {
  .productArea__lv3Title br {
    display: block;
  }
}
.productArea__box {
  display: flex;
  flex-direction: column;
  margin-bottom: 6.5104166667vw;
  gap: 6.5104166667vw 0;
}
@media only screen and (min-width: 768px) {
  .productArea__box {
    flex-direction: row;
    gap: 0 50px;
    margin-bottom: 50px;
  }
}
.productArea__box__left {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .productArea__box__left {
    width: 50%;
  }
}
.productArea__box__right {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .productArea__box__right {
    width: 45%;
    flex: 1;
  }
}

.cardArea__box {
  display: flex;
  gap: 0 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .cardArea__box {
    gap: 0 50px;
  }
}
.cardArea__contents {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .cardArea__contents {
    flex: 1;
  }
}
.cardArea__lv3Title {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .cardArea__lv3Title {
    flex-direction: row;
    justify-content: space-between;
    gap: 0 20px;
  }
}
.cardArea__lv3Title__link {
  font-size: 0.9375rem;
  position: relative;
  padding-right: 48px;
  padding-bottom: 5px;
  border-bottom: 1px solid #000;
}
.cardArea__lv3Title__link::after {
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 38px;
  height: 8px;
  background: url("./images/btn_arrow_black.png") no-repeat center center;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .cardArea__lv3Title__link--linkleft {
    margin-left: auto;
  }
}
@media only screen and (min-width: 768px) {
  .cardArea.blogArea h3 a {
    margin-left: auto;
  }
}

.cardList {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 6.5104166667vw 0;
}
@media only screen and (min-width: 768px) {
  .cardList {
    gap: 20px 0;
    flex-direction: row;
    flex-wrap: wrap;
    margin-left: -20px;
  }
}
@media only screen and (min-width: 768px) {
  .cardList::after {
    content: "";
    display: block;
    width: 33%;
  }
}
.cardList--mgnBottom {
  margin-bottom: 10.4166666667vw;
}
@media only screen and (min-width: 768px) {
  .cardList--mgnBottom {
    margin-bottom: 80px;
  }
}
@media only screen and (min-width: 768px) {
  .cardList__item {
    width: calc(33.3333333333% - 20px);
    margin-left: 20px;
  }
}
.cardList__contents {
  display: flex;
  gap: 0 2.6041666667vw;
}
@media only screen and (min-width: 768px) {
  .cardList__contents {
    display: block;
  }
}
.cardList__contents__img {
  width: 50%;
}
@media only screen and (min-width: 768px) {
  .cardList__contents__img {
    width: 100%;
    margin-bottom: 20px;
  }
}
.cardList__contents__text {
  width: 50%;
  flex: 1;
}
@media only screen and (min-width: 768px) {
  .cardList__contents__text {
    width: 100%;
  }
}
.cardList__contents__title {
  font-weight: normal;
}
.cardList__contents__btn {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .cardList__contents__btn {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
  }
}
.cardList__contents__link {
  position: relative;
  display: inline-block;
  border-bottom: 1px solid #000;
  padding-right: 48px;
}
.cardList__contents__link::after {
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 38px;
  height: 8px;
  background: url("./images/btn_arrow_black.png") no-repeat right center;
  background-size: cover;
}
.cardList a:hover .cardList__contents__link {
  border-bottom: 1px solid transparent;
}
@media only screen and (min-width: 768px) {
  .cardList--examples {
    gap: 50px 0;
  }
}
@media only screen and (min-width: 768px) {
  .cardList--examples .cardList__contents {
    padding-bottom: 32px;
  }
}

.cardList4 {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 6.5104166667vw 0;
}
@media only screen and (min-width: 768px) {
  .cardList4 {
    gap: 20px 0;
    flex-direction: row;
    flex-wrap: wrap;
    margin-left: -20px;
  }
}
@media only screen and (min-width: 768px) {
  .cardList4::after {
    content: "";
    display: block;
    width: 50%;
  }
}
@media only screen and (min-width: 992px) {
  .cardList4::after {
    content: "";
    display: block;
    width: 25%;
  }
}
.cardList4--mgnBottom {
  margin-bottom: 13.0208333333vw;
}
@media only screen and (min-width: 768px) {
  .cardList4--mgnBottom {
    margin-bottom: 80px;
  }
}
.cardList4__item {
  background: #fff;
  padding: 10px 10px 30px;
}
@media only screen and (min-width: 768px) {
  .cardList4__item {
    width: calc(50% - 20px);
    margin-left: 20px;
  }
}
@media only screen and (min-width: 992px) {
  .cardList4__item {
    width: calc(25% - 20px);
    margin-left: 20px;
  }
}
.cardList4__img {
  margin-bottom: 20px;
}
.cardList4__title {
  font-weight: bold;
  font-size: 1.125rem;
  text-align: center;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .cardList4__title {
    min-height: 80px;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 992px) {
  .cardList4__title {
    min-height: 100px;
  }
}
.cardList4__lead {
  font-weight: bold;
  font-size: 0.8125rem;
  margin-bottom: 5px;
}
.cardList4__text {
  margin-top: 0 !important;
  font-size: 0.9375rem;
}
.cardList4 .btnWrap {
  margin-top: 20px;
}
.cardList4 .btnWrap__link {
  font-size: 0.875rem;
  width: 100%;
}
@media only screen and (min-width: 992px) {
  .cardList4 .btnWrap__link {
    width: auto;
  }
}

/*************************************************************************
共通クラス
**************************************************************************/
.note {
  font-size: 0.8125rem;
}

.mgnTop20 {
  margin-top: 2.6041666667vw;
}
@media only screen and (min-width: 768px) {
  .mgnTop20 {
    margin-top: 20px;
  }
}

.mgnTop50 {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .mgnTop50 {
    margin-top: 50px;
  }
}

.mgnTop100 {
  margin-top: 13.0208333333vw;
}
@media only screen and (min-width: 768px) {
  .mgnTop100 {
    margin-top: 100px;
  }
}

.mgnTop180 {
  margin-top: 23.4375vw;
}
@media only screen and (min-width: 768px) {
  .mgnTop180 {
    margin-top: 180px;
  }
}

.mgnBottom20 {
  margin-bottom: 2.6041666667vw;
}
@media only screen and (min-width: 768px) {
  .mgnBottom20 {
    margin-bottom: 20px;
  }
}

.mgnBottom50 {
  margin-bottom: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .mgnBottom50 {
    margin-bottom: 50px;
  }
}

.mgnBottom100 {
  margin-bottom: 13.0208333333vw;
}
@media only screen and (min-width: 768px) {
  .mgnBottom100 {
    margin-bottom: 100px;
  }
}

.mgnBottom180 {
  margin-bottom: 23.4375vw;
}
@media only screen and (min-width: 768px) {
  .mgnBottom180 {
    margin-bottom: 180px;
  }
}

.pdgTB50 {
  padding: 6.5104166667vw 0;
}
@media only screen and (min-width: 768px) {
  .pdgTB50 {
    padding: 50px 0;
  }
}

.pdgTB100 {
  padding: 13.0208333333vw 0;
}
@media only screen and (min-width: 768px) {
  .pdgTB100 {
    padding: 100px 0;
  }
}

.imgBG {
  position: relative;
  margin-top: 40px;
}
.imgBG:first-child {
  margin-top: 0;
}
.imgBG--left::after {
  display: block;
  position: absolute;
  content: "";
  top: 20px;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: url("./images/bg_img.png") repeat right bottom;
  background-size: 566px 676px;
}
@media only screen and (min-width: 768px) {
  .imgBG--left::after {
    right: -20px;
  }
}
.imgBG--right::after {
  display: block;
  position: absolute;
  content: "";
  top: 20px;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: url("./images/bg_img.png") repeat right bottom;
  background-size: 566px 676px;
}
@media only screen and (min-width: 768px) {
  .imgBG--right::after {
    left: -20px;
  }
}
.imgBG--bottom::after {
  display: block;
  position: absolute;
  content: "";
  bottom: -20px;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: url("./images/bg_net.png") repeat;
  background-size: 28px 28px;
}

@media only screen and (min-width: 768px) {
  .block01 {
    overflow: initial;
  }
}
.block01--padding {
  padding-bottom: 20px;
}
.block01__lead {
  margin-bottom: 13.0208333333vw;
}
@media only screen and (min-width: 768px) {
  .block01__lead {
    margin-bottom: 100px;
    max-width: 660px;
  }
}
.block01__box {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 6.5104166667vw 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .block01__box {
    flex-direction: row-reverse;
    gap: 0 50px;
  }
}
@media only screen and (min-width: 768px) {
  .block01__box--right {
    flex-direction: row;
    gap: 0 50px;
  }
}
@media only screen and (min-width: 768px) {
  .block01__box--verticalCenter {
    align-items: center;
  }
}
@media only screen and (min-width: 768px) {
  .block01__box--verticalBottom {
    align-items: flex-end;
  }
}
.block01__contents {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .block01__contents {
    max-width: 38vw;
  }
}
@media only screen and (min-width: 1240px) {
  .block01__contents {
    max-width: 550px;
  }
}
@media only screen and (min-width: 768px) {
  .block01__contents--left40 {
    padding-left: 40px;
  }
}
.block01__contents_R {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .block01__contents_R {
    max-width: 62vw;
  }
}
@media only screen and (min-width: 1240px) {
  .block01__contents_R {
    max-width: 450px;
  }
}
.block01__text {
  margin-top: 20px;
}
.block01__text:first-child {
  margin-top: 0;
}
.block01__img {
  position: relative;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .block01__img {
    width: 42vw;
    margin: 0 calc(50% - 50vw);
    margin-top: 60px;
  }
}
.block01__img img {
  max-height: 700px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .block01__img--boxin {
    margin: 0;
  }
}
.block01__img--top0 {
  margin-top: 0;
}
@media only screen and (min-width: 768px) {
  .block01__img--top20 {
    margin-top: 20px;
  }
}
.block01__img--height340 img {
  max-height: 340px;
}
.block01__img--height400 img {
  max-height: 400px;
}
.block01__img--height500 img {
  max-height: 500px;
}
.block01__img--height600 img {
  max-height: 600px;
}
.block01--info {
  background: #fff url("./images/bg_net.png") repeat left top;
  background-size: 28px 28px;
  padding: 40px 20px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .block01--info {
    max-width: 100%;
    flex-direction: column;
    padding: 50px 50px;
    gap: 20px;
  }
}
@media only screen and (min-width: 768px) {
  .block01--info .block01__contents {
    max-width: 100%;
  }
}
@media only screen and (min-width: 1080px) {
  .block01--info {
    flex-direction: row;
    text-align: left;
  }
}
.block01__number {
  font-size: 3.375rem;
  font-weight: normal;
  line-height: 1.4;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 992px) {
  .block01__number {
    font-size: 2.625rem;
  }
}
@media only screen and (min-width: 1080px) {
  .block01__number {
    justify-content: flex-start;
  }
}
@media only screen and (min-width: 1260px) {
  .block01__number {
    font-size: 3.375rem;
  }
}
.block01__number::before {
  content: "";
  display: inline-block;
  width: 4.1666666667vw;
  height: 5.46875vw;
  background: url("./images/icon_tel.png") no-repeat center center;
  background-size: cover;
  margin-right: 10px;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .block01__number::before {
    width: 32px;
    height: 42px;
  }
}

@media only screen and (min-width: 768px) {
  .block02 {
    overflow: initial;
  }
}
.block02 .lv3Title {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .block02 .lv3Title {
    margin-left: auto;
    max-width: 34vw;
  }
}
@media only screen and (min-width: 1240px) {
  .block02 .lv3Title {
    max-width: 500px;
  }
}
.block02__box {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 6.5104166667vw 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .block02__box {
    flex-direction: row-reverse;
    gap: 0 20px;
  }
}
.block02__contents {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .block02__contents {
    max-width: 35vw;
    flex: 1;
  }
}
@media only screen and (min-width: 1240px) {
  .block02__contents {
    max-width: 500px;
  }
}
.block02__img {
  position: relative;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .block02__img {
    width: 45vw;
    margin: 0 calc(50% - 50vw);
  }
}
.block02__img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media only screen and (min-width: 768px) {
  .block03 {
    overflow: initial;
  }
}
.block03 .lv3Title {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .block03 .lv3Title {
    margin-left: auto;
    max-width: 30vw;
  }
}
@media only screen and (min-width: 1240px) {
  .block03 .lv3Title {
    max-width: 440px;
  }
}
.block03__box {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 6.5104166667vw 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .block03__box {
    flex-direction: row-reverse;
    gap: 0 20px;
  }
}
.block03__contents {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .block03__contents {
    max-width: 30vw;
    flex: 1;
  }
}
@media only screen and (min-width: 1240px) {
  .block03__contents {
    max-width: 440px;
  }
}
.block03__img {
  position: relative;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .block03__img {
    width: 50vw;
    margin: 0 calc(50% - 50vw);
    padding-left: 5%;
  }
}
.block03__img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.block07__box {
  display: flex;
  gap: 0 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .block07__box {
    gap: 0 50px;
  }
}
.block07__contents {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .block07__contents {
    flex: 1;
  }
}
.block07__img {
  margin-bottom: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .block07__img {
    margin-bottom: 50px;
  }
}

.tbl01 {
  width: 100%;
  background: #F7F7F7;
}
.tbl01__th {
  border-bottom: 2px solid #fff;
  padding: 20px;
  font-weight: normal;
  font-size: 1.375rem;
  vertical-align: middle;
  display: table-cell;
  border-right: 2px solid #fff;
  text-align: left;
  width: 40%;
}
@media only screen and (min-width: 768px) {
  .tbl01__th--ws {
    white-space: nowrap;
  }
}
@media only screen and (min-width: 768px) {
  .tbl01__th {
    padding: 30px;
  }
}
@media only screen and (min-width: 992px) {
  .tbl01__th {
    padding: 30px 50px;
  }
}
.tbl01__td {
  border-bottom: 2px solid #fff;
  padding: 20px;
  vertical-align: middle;
  display: table-cell;
  width: 60%;
}
@media only screen and (min-width: 768px) {
  .tbl01__td {
    padding: 30px;
  }
}
@media only screen and (min-width: 992px) {
  .tbl01__td {
    padding: 30px 50px;
  }
}
.tbl01--bg {
  background: #F9F6EF;
}
.tbl01--bg th {
  font-weight: bold;
  font-size: 0.9375rem;
}
@media only screen and (min-width: 768px) {
  .tbl01--bg th {
    width: 20%;
  }
}

.tbl02 {
  width: 100%;
  background: #F7F7F7;
}
.tbl02__th {
  border-bottom: 2px solid #fff;
  padding: 20px;
  vertical-align: middle;
  display: table-cell;
  border-right: 2px solid #fff;
  text-align: center;
  width: 40%;
}
@media only screen and (min-width: 768px) {
  .tbl02__th--ws {
    white-space: nowrap;
  }
}
@media only screen and (min-width: 768px) {
  .tbl02__th {
    width: 30%;
    padding: 30px;
  }
}
@media only screen and (min-width: 992px) {
  .tbl02__th {
    padding: 30px 20px;
  }
}
.tbl02__td {
  border-bottom: 2px solid #fff;
  padding: 20px;
  vertical-align: middle;
  display: table-cell;
  width: 60%;
}
@media only screen and (min-width: 768px) {
  .tbl02__td {
    width: 70%;
    padding: 30px;
  }
}
@media only screen and (min-width: 992px) {
  .tbl02__td {
    padding: 30px 50px;
  }
}
.tbl02--bg {
  background: #F9F6EF;
}
@media only screen and (min-width: 768px) {
  .tbl02--short th {
    width: 20%;
    padding: 30px;
  }
}

.block04 {
  position: relative;
}
.block04 ul {
  display: flex;
  margin: 0 auto;
  justify-content: flex-start;
  flex-wrap: wrap;
  font-size: 0.875rem;
  gap: 10px 0;
  margin-left: -20px;
}
.block04 ul li {
  width: calc(50% - 20px);
  margin-left: 20px;
}
@media only screen and (min-width: 768px) {
  .block04 ul li {
    width: calc(33.3333333333% - 20px);
    margin-left: 20px;
  }
}

@media only screen and (min-width: 768px) {
  .block05 {
    overflow: initial;
  }
}
.block05 .lv3Title {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .block05 .lv3Title {
    margin-left: auto;
  }
}
.block05__box {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 6.5104166667vw 0;
  position: relative;
  background: #F7F7F7;
  padding: 40px 5%;
}
@media only screen and (min-width: 768px) {
  .block05__box {
    flex-direction: row;
    gap: 0 20px;
    padding: 40px;
  }
}
@media only screen and (min-width: 992px) {
  .block05__box {
    padding: 80px 50px;
  }
}
.block05__contents {
  width: 100%;
}
.block05__img {
  position: relative;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .block05__img {
    max-width: 420px;
  }
}

.block06__lv2Title {
  display: block;
}
@media only screen and (min-width: 768px) {
  .block06__lv2Title {
    display: flex;
    gap: 0 40px;
  }
  .block06__lv2Title br {
    display: none;
  }
}
@media only screen and (min-width: 992px) {
  .block06__lv2Title br {
    display: block;
  }
}
.block06__lv2Title__sub {
  font-size: 1.5rem;
}

/*************************************************************************
下層固有
******************************************************************************/
.qaArea__box {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .qaArea__box {
    flex-direction: row;
    gap: 0 20px;
  }
}
@media only screen and (min-width: 768px) {
  .qaArea__title {
    max-width: 300px;
  }
}
.qaArea__contents {
  flex: 1;
}
@media only screen and (min-width: 768px) {
  .qaArea__contents {
    max-width: 640px;
  }
}

.accordion {
  border-bottom: 1px solid #000;
}
.accordion__item {
  border-top: 1px solid #000;
}
.accordion__title {
  position: relative;
  padding: 20px 1.5em 20px 1.5em;
  display: block;
  font-weight: bold;
  cursor: pointer;
  font-size: 1.375rem;
  transition: all 0.5s ease;
}
.accordion__title::before {
  position: absolute;
  left: 0px;
  content: "Q.";
}
@media only screen and (min-width: 768px) {
  .accordion__title::before {
    top: auto;
  }
}
.accordion__title::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  right: 0;
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background: url("./images/qa_plus.png") no-repeat center center;
  background-size: contain;
  transition: all 0.3s;
}
@media only screen and (min-width: 768px) {
  .accordion__title::after {
    right: 6px;
  }
}
.accordion__title.close::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  right: 0;
  content: "";
  width: 18px;
  height: 18px;
  display: block;
  background: url("./images/qa_minus.png") no-repeat center center;
  background-size: contain;
}
@media only screen and (min-width: 768px) {
  .accordion__title.close::after {
    right: 6px;
  }
}
.accordion__contents {
  display: none;
  color: #1e1e1e;
  position: relative;
}
.accordion__contents::before {
  position: absolute;
  top: 0px;
  left: 30px;
  content: "A.";
  font-size: 1.375rem;
  font-weight: bold;
}
.accordion__text {
  padding: 10px 50px 30px calc(30px + 2.2em);
}
.accordion__text p {
  margin-top: 20px;
}
.accordion__text p:first-child {
  margin-top: 0;
}

/***************お問い合わせ***********************/
.contactInfo {
  background: url("./images/bg_net.png") repeat left top;
  background-size: 28px 28px;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  padding: 2.6041666667vw 5%;
}
@media only screen and (min-width: 768px) {
  .contactInfo {
    padding: 20px;
  }
}
.contactInfo__btnArea {
  display: flex;
  justify-content: center;
  gap: 20px 0;
  flex-direction: column;
  padding: 0 5%;
}
@media only screen and (min-width: 992px) {
  .contactInfo__btnArea {
    gap: 0 16px;
    flex-direction: row;
    flex-wrap: inherit;
    padding: 0;
  }
}
.contactInfo__btnArea .btnWrap {
  width: 100%;
}
@media only screen and (min-width: 992px) {
  .contactInfo__btnArea .btnWrap {
    width: auto;
  }
}
.contactInfo__btnArea .btnWrap__link {
  display: flex;
  align-items: center;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .contactInfo__btnArea .btnWrap__link {
    min-height: 68px;
  }
}
@media only screen and (min-width: 1280px) {
  .contactInfo__btnArea--contact .btnWrap__link {
    width: 280px;
  }
}
@media only screen and (min-width: 1280px) {
  .contactInfo__btnArea--visit .btnWrap__link {
    width: 170px;
  }
}
@media only screen and (min-width: 1280px) {
  .contactInfo__btnArea--qa .btnWrap__link {
    width: 200px;
  }
}
@media only screen and (min-width: 1280px) {
  .contactInfo__btnArea--maint .btnWrap__link {
    width: 300px;
  }
}
.contactInfo__telArea {
  display: flex;
  gap: 0 20px;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}
@media only screen and (min-width: 992px) {
  .contactInfo__telArea {
    flex-direction: row;
  }
}
.contactInfo__telArea__number {
  font-size: 3.375rem;
  font-weight: normal;
  line-height: 1.4;
  position: relative;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 992px) {
  .contactInfo__telArea__number {
    font-size: 2.625rem;
  }
}
@media only screen and (min-width: 1260px) {
  .contactInfo__telArea__number {
    font-size: 3.375rem;
  }
}
.contactInfo__telArea__number::before {
  content: "";
  display: inline-block;
  width: 4.1666666667vw;
  height: 5.46875vw;
  background: url("./images/icon_tel.png") no-repeat center center;
  background-size: cover;
  margin-right: 10px;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .contactInfo__telArea__number::before {
    width: 32px;
    height: 42px;
  }
}
.contactInfo__telArea .lv3Title {
  margin-bottom: 0;
  line-height: 1.5;
}
.contactInfo__telArea .lv3Title br {
  display: none;
}
@media only screen and (min-width: 992px) {
  .contactInfo__telArea .lv3Title br {
    display: block;
  }
}
@media only screen and (min-width: 992px) {
  .contactInfo__telArea .lv3Title {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width: 1260px) {
  .contactInfo__telArea .lv3Title {
    font-size: 1.5rem;
  }
}
.contactInfo__telArea__details dl {
  display: flex;
}
@media only screen and (min-width: 992px) {
  .contactInfo__telArea__details dl {
    font-size: 0.8125rem;
  }
}
@media only screen and (min-width: 1260px) {
  .contactInfo__telArea__details dl {
    font-size: 0.9375rem;
  }
}
.contactInfo__telArea__details dl dt {
  width: 15vw;
}
@media only screen and (min-width: 768px) {
  .contactInfo__telArea__details dl dt {
    width: 80px;
  }
}
.contactInfo__telArea__details dl dd {
  flex: 1;
}

.formTbl {
  width: 100%;
}
.formTbl__th {
  background: #E4E4E4;
  border-bottom: 2px solid #fff;
  width: 100%;
  padding: 20px;
  display: block;
  text-align: left;
  font-feature-settings: "palt";
}
@media only screen and (min-width: 768px) {
  .formTbl__th {
    width: 26%;
    display: table-cell;
    vertical-align: middle;
    padding: 30px;
    text-align: center;
    border-right: 2px solid #fff;
  }
}
@media only screen and (min-width: 768px) {
  .formTbl__th--verticalTop {
    vertical-align: top;
  }
}
.formTbl__td {
  width: 100%;
  background: #F7F7F7;
  border-bottom: 2px solid #fff;
  padding: 20px;
  display: block;
}
@media only screen and (min-width: 768px) {
  .formTbl__td {
    width: 74%;
    vertical-align: middle;
    display: table-cell;
    padding: 20px 40px;
  }
}
@media only screen and (min-width: 768px) {
  .formTbl tr:last-child th,
.formTbl tr:last-child td {
    border-bottom: none;
  }
}
.formTbl__title {
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .formTbl__title {
    white-space: nowrap;
  }
}
.formTbl__required {
  color: #E21730;
  padding-left: 5px;
}

.form input {
  width: 100%;
  border: 1px solid #7A7A7A;
  border-radius: 2px;
  padding: 8px 10px;
  font-size: 14px;
}
@media only screen and (min-width: 768px) {
  .form input {
    font-size: 0.9375rem;
    max-width: 320px;
  }
}
.form select {
  width: 100%;
  border: 1px solid #7A7A7A;
  border-radius: 2px;
  padding: 10px;
  font-size: 14px;
}
@media only screen and (min-width: 768px) {
  .form select {
    font-size: 0.9375rem;
    max-width: 320px;
  }
}
.form .note {
  margin-top: 20px;
  font-size: 0.875rem;
}
.form textarea {
  width: 100%;
  height: 280px;
  border: 1px solid #7A7A7A;
  border-radius: 2px;
  padding: 8px 10px;
  font-size: 14px;
}
@media only screen and (min-width: 768px) {
  .form textarea {
    font-size: 0.9375rem;
  }
}
.form label {
  display: inline-block;
  font-size: 0.875rem;
}
@media only screen and (min-width: 992px) {
  .form label {
    font-size: 1rem;
  }
}
.form ::-moz-placeholder {
  color: #BCBCBC;
}
.form :-ms-input-placeholder {
  color: #BCBCBC;
}
.form ::placeholder {
  color: #BCBCBC;
}
.form .address {
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.form .address__text {
  flex: 1;
}
.form .address input {
  max-width: 100%;
}
.form--size100 {
  max-width: 100px;
}
.form .formBtn {
  margin: 13.0208333333vw auto 0;
}
@media only screen and (min-width: 768px) {
  .form .formBtn {
    margin: 100px auto 0;
    width: 220px;
  }
}
.form .formBtn__inner {
  position: relative;
}
.form .formBtn__inner::after {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 38px;
  height: 8px;
  background: url("./images/btn_arrow.png") no-repeat center center;
  background-size: cover;
}
.form .formBtn:hover {
  color: #FFFFFF;
  opacity: 0.7;
}
.form .formBtn input {
  background: #000000;
  color: #FFFFFF;
  padding: 10px 78px 10px 20px;
  position: relative;
  width: 100%;
  font-size: 1rem;
  text-align: left;
  height: 58px;
  border-radius: 0 !important;
}
.form .formBtn--back {
  margin: 2.6041666667vw auto 0;
}
@media only screen and (min-width: 768px) {
  .form .formBtn--back {
    margin: 20px auto 0;
  }
}
.form .formBtn--back .formBtn__inner {
  display: none;
}
.form .formBtn--back input {
  background: #999;
}

/* ラジオボタンを隠す */
.radio-btns input[type=radio].radio-btns__item {
  display: none;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio-btns .radio-btns__item + span {
  padding-left: 2em;
  position: relative;
  margin: 0;
}

/* 各パーツを作成 */
.radio-btns .radio-btns__item + span::after,
.radio-btns .radio-btns__item + span::before {
  content: "";
  display: block;
  position: absolute;
  border: 1px solid #000;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  top: 0;
  left: 0;
}

/* after上書き */
.radio-btns .radio-btns__item + span::after {
  opacity: 0;
  width: 6px;
  height: 6px;
  top: 5px;
  left: 5px;
  border: none;
  background: #000;
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio-btns .radio-btns__item:checked + span {
  color: #000;
}

.radio-btns .radio-btns__item:checked + span::after {
  opacity: 1;
}

/***************採用情報***********************/
.recruitInfo {
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  padding: 6.5104166667vw 5%;
}
@media only screen and (min-width: 768px) {
  .recruitInfo {
    padding: 50px 20px;
  }
}
.recruitInfo__lead {
  margin-bottom: 20px;
}
.recruitInfo__telArea {
  display: flex;
  gap: 0 20px;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}
@media only screen and (min-width: 992px) {
  .recruitInfo__telArea {
    flex-direction: row;
  }
}
.recruitInfo__telArea__number {
  font-size: 3.375rem;
  font-weight: normal;
  line-height: 1.4;
  position: relative;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 992px) {
  .recruitInfo__telArea__number {
    font-size: 2.625rem;
  }
}
@media only screen and (min-width: 1260px) {
  .recruitInfo__telArea__number {
    font-size: 3.375rem;
  }
}
.recruitInfo__telArea__number::before {
  content: "";
  display: inline-block;
  width: 4.1666666667vw;
  height: 5.46875vw;
  background: url("./images/icon_tel.png") no-repeat center center;
  background-size: cover;
  margin-right: 10px;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .recruitInfo__telArea__number::before {
    width: 32px;
    height: 42px;
  }
}
.recruitInfo__telArea__details dl {
  display: flex;
}
@media only screen and (min-width: 992px) {
  .recruitInfo__telArea__details dl {
    font-size: 0.8125rem;
  }
}
@media only screen and (min-width: 1260px) {
  .recruitInfo__telArea__details dl {
    font-size: 0.9375rem;
  }
}
.recruitInfo__telArea__details dl dt {
  width: 15vw;
}
@media only screen and (min-width: 768px) {
  .recruitInfo__telArea__details dl dt {
    width: 80px;
  }
}
.recruitInfo__telArea__details dl dd {
  flex: 1;
}
.recruitInfo__telArea .btnWrap {
  margin-top: 20px;
}
@media only screen and (min-width: 992px) {
  .recruitInfo__telArea .btnWrap {
    margin-top: 0;
  }
}
.recruitInfo__telArea .btnWrap__link {
  padding-top: 20px;
  padding-bottom: 20px;
}

/***************パブリシティ***********************/
.publicityArea {
  margin-bottom: 13.0208333333vw;
}
@media only screen and (min-width: 768px) {
  .publicityArea {
    margin-bottom: 100px;
  }
}
.publicityArea:last-child {
  margin-bottom: 0;
}
.publicityArea .lv3Title {
  font-size: 1.375rem;
  display: inline-block;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  font-weight: bold;
}

.publicityTbl {
  width: 100%;
  background: #F7F7F7;
}
.publicityTbl__th {
  border-bottom: 2px solid #fff;
  padding: 2.6041666667vw;
  font-weight: normal;
  vertical-align: middle;
  display: table-cell;
  border-right: 2px solid #fff;
  text-align: center;
  background: #E4E4E4;
  white-space: nowrap;
}
.publicityTbl__th:nth-child(1) {
  width: 46%;
}
.publicityTbl__th:nth-child(2) {
  width: 20%;
}
.publicityTbl__th:last-child {
  width: 34%;
  border-right: none;
}
@media only screen and (min-width: 768px) {
  .publicityTbl__th {
    padding: 20px;
  }
}
.publicityTbl__td {
  border-bottom: 2px solid #fff;
  padding: 2.6041666667vw;
  vertical-align: middle;
  display: table-cell;
  border-right: 2px solid #fff;
}
.publicityTbl__td:last-child {
  border-right: none;
}
@media only screen and (min-width: 768px) {
  .publicityTbl__td {
    padding: 20px;
  }
}
.publicityTbl tr:last-child th,
.publicityTbl tr:last-child td {
  border-bottom: none;
}

/***************コラム***********************/
.postListBox {
  background: #F7F7F7;
  margin-top: 5px;
}
.postListBox:first-child {
  margin-top: 0;
}
.postListBox__link {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0 5%;
  padding: 20px calc(58px + 5%) 20px 20px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .postListBox__link {
    gap: 0 50px;
    padding: 30px calc(58px + 5%) 30px 30px;
  }
}
.postListBox__link::after {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 38px;
  height: 8px;
  background: url("./images/btn_arrow_black.png") no-repeat center center;
  background-size: cover;
}
.postListBox__link__img {
  width: 50%;
  max-width: 200px;
}
@media only screen and (min-width: 768px) {
  .postListBox__link__img {
    width: 100%;
  }
}
.postListBox__link__text {
  width: 100%;
}
.postListBox__link__date {
  margin-bottom: 10px;
  line-height: normal;
}
.postListBox__link__title {
  text-decoration: underline;
}
.postListBox__link:hover .postListBox__link__title {
  text-decoration: none;
}

/***************価格表***********************/
.priceList {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .priceList {
    flex-wrap: nowrap;
  }
}
@media only screen and (min-width: 992px) {
  .priceList {
    padding: 0 40px;
    flex-wrap: nowrap;
  }
}
.priceList__item {
  position: relative;
  transition: all 0.2s ease-in;
  width: 50%;
  height: 300px;
}
@media only screen and (min-width: 640px) {
  .priceList__item {
    height: 550px;
  }
}
@media only screen and (min-width: 768px) {
  .priceList__item {
    width: 25%;
  }
}
.priceList__item--list01 {
  background: url("./images/price_list01.png") no-repeat center bottom;
  background-size: cover;
}
.priceList__item--list02 {
  background: url("./images/price_list02.png") no-repeat center bottom;
  background-size: cover;
}
.priceList__item--list03 {
  background: url("./images/price_list03.png") no-repeat center bottom;
  background-size: cover;
}
.priceList__item--list04 {
  background: url("./images/price_list04.png") no-repeat center bottom;
  background-size: cover;
}
.priceList__item:hover {
  opacity: 0.7;
}
.priceList__link {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.priceList__title {
  position: absolute;
  bottom: 20px;
  font-size: 1.375rem;
  font-weight: normal;
  padding: 0 20px;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .priceList__title {
    bottom: 40px;
  }
}
@media only screen and (min-width: 992px) {
  .priceList__title {
    font-size: 1.625rem;
  }
}
.priceList__title span {
  position: relative;
  padding-bottom: 15px;
  display: inline-block;
}
.priceList__title span::after {
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 8px;
  background: url("./images/arrow_black01.png") no-repeat right center;
  background-size: cover;
}

.priceArea__box {
  display: flex;
  gap: 0 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .priceArea__box {
    gap: 0 50px;
  }
}
.priceArea__contents {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .priceArea__contents {
    flex: 1;
  }
}
.priceArea__img {
  margin-bottom: 3.90625vw;
}
@media only screen and (min-width: 768px) {
  .priceArea__img {
    margin-bottom: 30px;
  }
}
.priceArea__img ul {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
@media only screen and (min-width: 768px) {
  .priceArea__img ul {
    flex: 1;
    flex-direction: row;
    gap: 0 20px;
  }
}
.priceArea__img ul li {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .priceArea__img ul li {
    width: 50%;
  }
}
.priceArea__spec ul {
  display: flex;
  flex-wrap: wrap;
  margin-left: -20px;
  gap: 20px 0;
}
.priceArea__spec ul li {
  width: calc(50% - 20px);
  margin-left: 20px;
}
@media only screen and (min-width: 768px) {
  .priceArea__spec ul li {
    width: calc(25% - 20px);
    margin-left: 20px;
  }
}
.priceArea__spec ul li .eyecatchBox {
  border: 1px solid #dadada;
  background: #fff;
}
.priceArea__spec ul li .eyecatchBox__inner img {
  -o-object-position: center top;
     object-position: center top;
}
.priceArea__lv3Title {
  margin-bottom: 3.90625vw;
  font-size: 1.75rem;
  display: flex;
  align-items: center;
  gap: 0 20px;
}
@media only screen and (min-width: 768px) {
  .priceArea__lv3Title {
    margin-bottom: 30px;
  }
}
.priceArea__lv3Title--sub {
  font-size: 1.25rem;
  position: relative;
  padding: 0 20px;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
  .priceArea__lv3Title--sub {
    font-size: 1.5rem;
  }
}
.priceArea__lv3Title--sub::before {
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 20px;
  height: 1px;
  background: #000;
}
.priceArea__lv3Title--sub::after {
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 20px;
  height: 1px;
  background: #000;
}

.block08__box {
  display: flex;
  gap: 0 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .block08__box {
    gap: 0 32px;
  }
}
.block08__contents {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .block08__contents {
    flex: 1;
  }
}
.block08__img ul {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
@media only screen and (min-width: 768px) {
  .block08__img ul {
    flex: 1;
    flex-direction: row;
    gap: 0 20px;
  }
}
.block08__img ul li {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .block08__img ul li {
    width: 50%;
  }
}
.block08__box02 {
  display: flex;
  gap: 0 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .block08__box02 {
    gap: 0 50px;
  }
}
.block08__box02__contents {
  width: 100%;
  flex: 1;
}
.block08__box02__img {
  width: 40%;
}

/***************メンテナンス***********************/
.maintInfo__box {
  display: flex;
  gap: 6.5104166667vw 0;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .maintInfo__box {
    gap: 0 50px;
    flex-direction: row;
  }
}
.maintInfo__contents_L {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .maintInfo__contents_L {
    width: 40%;
  }
}
.maintInfo__contents_L p {
  margin-top: 20px;
}
.maintInfo__contents_L p:first-child {
  margin-top: 0;
}
.maintInfo__contents_R {
  width: 100%;
  font-size: 1.125rem;
}
@media only screen and (min-width: 768px) {
  .maintInfo__contents_R {
    font-size: 1.25rem;
    width: 60%;
  }
}
.maintInfo__contents_R__number {
  font-size: 2.25rem;
  font-weight: normal;
  line-height: 1.4;
  position: relative;
  display: flex;
  align-items: center;
}
.maintInfo__contents_R__number::before {
  content: "";
  display: inline-block;
  width: 2.8645833333vw;
  height: 3.90625vw;
  background: url("./images/icon_tel.png") no-repeat center center;
  background-size: cover;
  margin-right: 10px;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .maintInfo__contents_R__number::before {
    width: 22px;
    height: 30px;
  }
}
.maintInfo__contents_R__btn {
  margin-top: 30px;
}

.windowArea__lead {
  margin-bottom: 10.4166666667vw;
}
@media only screen and (min-width: 768px) {
  .windowArea__lead {
    margin-bottom: 80px;
  }
}
.windowArea__lv3Title {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 10px 0;
  margin-bottom: 2.6041666667vw;
}
@media only screen and (min-width: 768px) {
  .windowArea__lv3Title {
    flex-direction: row;
    align-items: center;
    gap: 0 20px;
    margin-bottom: 20px;
  }
}
.windowArea__lv3Title--fontsize {
  font-size: 1.375rem;
}

.windowTbl {
  width: 100%;
  background: #F7F7F7;
}
.windowTbl__th {
  border-bottom: 2px solid #fff;
  padding: 2.6041666667vw;
  font-weight: normal;
  vertical-align: middle;
  display: table-cell;
  border-right: 2px solid #fff;
  text-align: center;
  background: #E4E4E4;
  white-space: nowrap;
}
.windowTbl__th:nth-child(1) {
  width: 40%;
}
.windowTbl__th:last-child {
  width: 60%;
  border-right: none;
}
@media only screen and (min-width: 768px) {
  .windowTbl__th {
    padding: 20px;
  }
}
.windowTbl__td {
  border-bottom: 2px solid #fff;
  padding: 2.6041666667vw;
  vertical-align: middle;
  display: table-cell;
  border-right: 2px solid #fff;
}
.windowTbl__td:last-child {
  border-right: none;
}
@media only screen and (min-width: 768px) {
  .windowTbl__td {
    padding: 20px;
  }
}
.windowTbl tr:last-child th,
.windowTbl tr:last-child td {
  border-bottom: none;
}

.maintLead {
  margin-bottom: 16.9270833333vw;
}
@media only screen and (min-width: 768px) {
  .maintLead {
    padding-bottom: 114px;
    margin-bottom: 130px;
    overflow: initial;
  }
}
.maintLead__inner {
  position: relative;
  max-width: 1080px;
}
.maintLead__inner::before {
  position: absolute;
  content: "";
  width: 100vw;
  height: 175vw;
  background: #f9f6ef;
  right: 0;
  z-index: -1;
  margin: 10vw 70px 0 calc(50% - 50vw);
}
@media only screen and (min-width: 768px) {
  .maintLead__inner::before {
    height: 100%;
    margin: 100px 70px 0 calc(50% - 50vw);
  }
}
.maintLead__box {
  display: flex;
  position: relative;
  align-items: center;
  flex-direction: column;
  gap: 6.5104166667vw 0;
}
@media only screen and (min-width: 768px) {
  .maintLead__box {
    min-height: 620px;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: row;
    order: 1;
    gap: 0 50px;
  }
}
.maintLead__lv2Title {
  letter-spacing: normal;
}
@media only screen and (min-width: 768px) {
  .maintLead__lv2Title {
    order: 2;
    padding-right: 40px;
  }
}
.maintLead__lv2Title::after {
  display: none;
}
.maintLead__lv2Title span {
  display: block;
}
.maintLead__lv2Title--01 {
  position: relative;
  padding-top: 90px;
}
@media only screen and (min-width: 768px) {
  .maintLead__lv2Title--01 {
    padding-top: 120px;
  }
}
.maintLead__lv2Title--01::before {
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  top: 0;
  content: "";
  width: 1px;
  height: 60px;
  background: #000;
}
@media only screen and (min-width: 768px) {
  .maintLead__lv2Title--01::before {
    height: 90px;
  }
}
.maintLead__lv2Title--02 {
  padding-top: 170px;
  font-size: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .maintLead__lv2Title--02 {
    padding-top: 200px;
  }
}
.maintLead__img {
  margin-bottom: 13.0208333333vw;
}
@media only screen and (min-width: 768px) {
  .maintLead__img {
    margin-bottom: 100px;
  }
}
.maintLead__text {
  position: relative;
  background: #fff;
  padding: 40px 20px 40px 20px;
  max-width: 800px;
}
.maintLead__text::before {
  position: absolute;
  content: "";
  width: 100vw;
  height: 175vw;
  background: #fff;
  right: 0;
  top: 0;
  z-index: -1;
  margin-left: calc(50% - 50vw);
}
@media only screen and (min-width: 768px) {
  .maintLead__text::before {
    height: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .maintLead__text {
    padding: 60px 80px 60px 0;
  }
}

.maintCatchArea {
  background: #fff;
  padding: 13.0208333333vw 5%;
}
@media only screen and (min-width: 768px) {
  .maintCatchArea {
    padding: 0;
  }
}
.maintCatchArea__inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 20px 0;
}
@media only screen and (min-width: 768px) {
  .maintCatchArea__inner {
    flex-direction: row;
    gap: 0 50px;
  }
}
.maintCatchArea__img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .maintCatchArea__img {
    width: 50%;
  }
}
.maintCatchArea__img img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .maintCatchArea__img img {
    max-height: 500px;
  }
}
.maintCatchArea__contents {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .maintCatchArea__contents {
    max-width: 50%;
    padding-right: 5%;
  }
}
@media only screen and (min-width: 1350px) {
  .maintCatchArea__contents {
    max-width: 500px;
    padding-right: 0;
  }
}

/**********************
シングル
***********************/
.singleArea {
  font-size: 1.0625rem;
}
.singleArea p {
  margin-top: 20px;
}
.singleArea img {
  width: auto;
}
.singleArea img.alignright {
  display: block;
  margin: 0 0 0 auto !important;
}
.singleArea img.alignleft {
  display: block;
  margin: 0 auto 0 0 !important;
}
.singleArea img.aligncenter {
  display: block;
  margin: 0 auto !important;
}
.singleArea .aligncenter {
  margin: 0 auto;
}
.singleArea em {
  font-style: italic;
}
.singleArea a {
  color: #000;
  text-decoration: underline;
  display: inline-block;
}
.singleArea a:hover {
  text-decoration: none;
}
.singleArea table {
  border-collapse: separate;
  border-spacing: 2px;
  margin-top: 40px;
}
.singleArea table th {
  padding: 20px;
  font-weight: normal;
  vertical-align: middle;
  display: table-cell;
  text-align: left;
  border-bottom: 2px solid #f7f7f7;
  border-right: 2px solid #f7f7f7;
}
.singleArea table td {
  padding: 20px;
  vertical-align: middle;
  display: table-cell;
  border-bottom: 2px solid #f7f7f7;
  border-right: 2px solid #f7f7f7;
}
.singleArea__lead {
  margin-bottom: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .singleArea__lead {
    margin-bottom: 50px;
  }
}
.singleArea__lead__date {
  margin-top: 0 !important;
  margin-bottom: 0;
  font-size: 0.9375rem;
}
.singleArea__lead__title {
  font-size: 1.5rem;
}
.singleArea__photo {
  margin-bottom: 13.0208333333vw;
}
@media only screen and (min-width: 768px) {
  .singleArea__photo {
    margin-bottom: 100px;
  }
}
.singleArea .main-title {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .singleArea .main-title {
    margin-top: 50px;
  }
}
.singleArea .design-title1 {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .singleArea .design-title1 {
    margin-top: 50px;
  }
}
.singleArea .design-title2 {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .singleArea .design-title2 {
    margin-top: 50px;
  }
}
.singleArea .btnWrap {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .singleArea .btnWrap {
    margin-top: 50px;
  }
}
.singleArea .btnWrap a {
  color: #fff;
  text-decoration: none;
}

.main-title {
  font-size: 2.25rem;
  font-weight: normal;
  line-height: 1.2;
}
@media only screen and (min-width: 768px) {
  .main-title {
    font-size: 2.5rem;
    line-height: 1.4;
  }
}

.design-title1 {
  font-size: 1.75rem;
  font-weight: normal;
  line-height: 1.4;
  border-left: 5px solid #000;
  padding-left: 10px;
}
@media only screen and (min-width: 768px) {
  .design-title1 {
    line-height: 1.8;
  }
}

.design-title2 {
  font-size: 1.5rem;
  font-weight: normal;
  line-height: 1.4;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
}
@media only screen and (min-width: 768px) {
  .design-title2 {
    line-height: 1.8;
  }
}

.photoExp {
  background: #fff;
  padding: 5%;
}
@media only screen and (min-width: 768px) {
  .photoExp {
    padding: 30px 30px 10px;
  }
}
.photoExp__caption {
  margin-top: 10px;
  text-align: center;
}
.photoExp__img:nth-child(n+2) {
  display: none;
}

.pager {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.pager__inner {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
  position: relative;
  padding: 5%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .pager__inner {
    width: 70%;
    padding: 40px;
    flex-direction: row;
  }
}
@media only screen and (min-width: 992px) {
  .pager__inner {
    width: 76%;
  }
}
@media only screen and (min-width: 1260px) {
  .pager__inner {
    width: 90%;
  }
}
.pager .prevBtn,
.pager .backBtn,
.pager .nextBtn {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .pager .prevBtn,
.pager .backBtn,
.pager .nextBtn {
    width: 33%;
  }
}
.pager .prevBtn a,
.pager .backBtn a,
.pager .nextBtn a {
  position: relative;
  display: inline-block;
  text-decoration: underline;
}
.pager .prevBtn a:hover,
.pager .backBtn a:hover,
.pager .nextBtn a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .pager .prevBtn,
.pager .nextBtn {
    margin-top: 0;
  }
}
.pager .prev {
  position: relative;
  padding-left: 20px;
}
.pager .prev::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "<";
}
.pager .next {
  position: relative;
  padding-right: 20px;
}
.pager .next::after {
  position: absolute;
  right: 0;
  top: 0;
  content: ">";
}
.pager .backBtn {
  text-align: center;
  padding: 10px 0;
  border-top: 1px solid #C2C1C1;
  border-bottom: 1px solid #C2C1C1;
}
@media only screen and (min-width: 768px) {
  .pager .backBtn {
    padding: 0;
    border-top: none;
    border-bottom: none;
  }
}
.pager .prevBtn {
  padding-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  .pager .prevBtn {
    padding-bottom: 0;
  }
}
.pager .nextBtn {
  text-align: right;
  padding-top: 10px;
}
@media only screen and (min-width: 768px) {
  .pager .nextBtn {
    padding-top: 0;
  }
}

/***************実例集***********************/
.flexList2 {
  display: flex;
  justify-content: center;
  gap: 6.5104166667vw 0;
  flex-wrap: wrap;
  margin-left: -20px;
}
@media only screen and (min-width: 768px) {
  .flexList2 {
    gap: 50px 0;
  }
}
.flexList2__item {
  width: calc(50% - 20px);
  margin-left: 20px;
}
.flexList2__img {
  position: relative;
}

.flexList {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 6.5104166667vw 0;
}
@media only screen and (min-width: 768px) {
  .flexList {
    gap: 50px 0;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    margin-left: -20px;
  }
}
@media only screen and (min-width: 768px) {
  .flexList__item {
    width: calc(33.3333333333% - 20px);
    margin-left: 20px;
  }
}
.flexList__img {
  position: relative;
  font-size: 0.8125rem;
}
.flexList__img__caption {
  position: absolute;
  left: 0;
  bottom: 20px;
  background: rgba(255, 255, 255, 0.6);
  padding: 0 5px;
}

.txt-editor p {
  margin-top: 20px;
}
.txt-editor p:first-child {
  margin-top: 0;
}
.txt-editor img {
  width: auto;
}
.txt-editor img.alignright {
  display: block;
  margin: 0 0 0 auto !important;
}
.txt-editor img.alignleft {
  display: block;
  margin: 0 auto 0 0 !important;
}
.txt-editor img.aligncenter {
  display: block;
  margin: 0 auto !important;
}
.txt-editor .aligncenter {
  margin: 0 auto;
}
.txt-editor em {
  font-style: italic;
}
.txt-editor a {
  color: #000;
  text-decoration: underline;
  display: inline-block;
}
.txt-editor a:hover {
  text-decoration: none;
}
.txt-editor table {
  border-collapse: separate;
  border-spacing: 2px;
}
.txt-editor table th {
  border-bottom: 2px solid #fff;
  padding: 5px 20px;
  font-weight: normal;
  vertical-align: middle;
  display: table-cell;
  border-right: 2px solid #fff;
  text-align: left;
}
.txt-editor table td {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  padding: 5px 20px;
  vertical-align: middle;
  display: table-cell;
}
.txt-editor .btnWrap a {
  color: #fff;
  text-decoration: none;
}

.column-1 {
  padding: 13.0208333333vw 0;
}
@media only screen and (min-width: 768px) {
  .column-1 {
    padding: 100px 0;
  }
}
.column-1.pdnTop {
  padding-top: 0;
}
.column-1.pdnBottom {
  padding-bottom: 0;
}
.column-1.pdnBoth {
  padding: 0;
}
.column-1 .section__inner {
  margin-top: -6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-1 .section__inner {
    margin-top: -50px;
  }
}
.column-1 .work-img {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-1 .work-img {
    margin-top: 50px;
  }
}
.column-1 .work-img + .paragraph-style {
  margin-top: 2.6041666667vw;
}
@media only screen and (min-width: 768px) {
  .column-1 .work-img + .paragraph-style {
    margin-top: 20px;
  }
}
.column-1 .work-img + .txt-editor {
  margin-top: 2.6041666667vw;
}
@media only screen and (min-width: 768px) {
  .column-1 .work-img + .txt-editor {
    margin-top: 20px;
  }
}
.column-1 .main-title {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-1 .main-title {
    margin-top: 50px;
  }
}
.column-1 .design-title1 {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-1 .design-title1 {
    margin-top: 50px;
  }
}
.column-1 .design-title2 {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-1 .design-title2 {
    margin-top: 50px;
  }
}
.column-1 .paragraph-style {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-1 .paragraph-style {
    margin-top: 50px;
  }
}
.column-1 .txt-editor {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-1 .txt-editor {
    margin-top: 50px;
  }
}
.column-1 .btnWrap {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-1 .btnWrap {
    margin-top: 50px;
  }
}

.column-2 {
  padding: 13.0208333333vw 0;
}
@media only screen and (min-width: 768px) {
  .column-2 {
    padding: 100px 0;
  }
}
.column-2.pdnTop {
  padding-top: 0;
}
.column-2.pdnBottom {
  padding-bottom: 0;
}
.column-2.pdnBoth {
  padding: 0;
}
.column-2 ul li {
  margin-top: -6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-2 ul li {
    margin-top: -50px;
  }
}
.column-2 .work-img {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-2 .work-img {
    margin-top: 50px;
  }
}
.column-2 .work-img + .work-img {
  margin-top: 3.2552083333vw;
}
@media only screen and (min-width: 768px) {
  .column-2 .work-img + .work-img {
    margin-top: 25px;
  }
}
.column-2 .work-img + .paragraph-style {
  margin-top: 2.6041666667vw;
}
@media only screen and (min-width: 768px) {
  .column-2 .work-img + .paragraph-style {
    margin-top: 20px;
  }
}
.column-2 .work-img + .txt-editor {
  margin-top: 2.6041666667vw;
}
@media only screen and (min-width: 768px) {
  .column-2 .work-img + .txt-editor {
    margin-top: 20px;
  }
}
.column-2 .main-title {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-2 .main-title {
    margin-top: 50px;
  }
}
.column-2 .design-title1 {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-2 .design-title1 {
    margin-top: 50px;
  }
}
.column-2 .design-title2 {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-2 .design-title2 {
    margin-top: 50px;
  }
}
.column-2 .paragraph-style {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-2 .paragraph-style {
    margin-top: 50px;
  }
}
.column-2 .txt-editor {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-2 .txt-editor {
    margin-top: 50px;
  }
}
.column-2 .btnWrap {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .column-2 .btnWrap {
    margin-top: 50px;
  }
}

.column-3 {
  padding: 13.0208333333vw 0;
}
@media only screen and (min-width: 768px) {
  .column-3 {
    padding: 100px 0;
  }
}
.column-3.pdnTop {
  padding-top: 0;
}
.column-3.pdnBottom {
  padding-bottom: 0;
}
.column-3.pdnBoth {
  padding: 0;
}
.column-3 ul li {
  margin-top: -3.2552083333vw;
}
@media only screen and (min-width: 768px) {
  .column-3 ul li {
    margin-top: -25px;
  }
}
.column-3 .work-img {
  margin-top: 3.2552083333vw;
}
@media only screen and (min-width: 768px) {
  .column-3 .work-img {
    margin-top: 25px;
  }
}
.column-3 .work-img + .work-img {
  margin-top: 3.2552083333vw;
}
@media only screen and (min-width: 768px) {
  .column-3 .work-img + .work-img {
    margin-top: 25px;
  }
}
.column-3 .work-img + .paragraph-style {
  margin-top: 2.6041666667vw;
}
@media only screen and (min-width: 768px) {
  .column-3 .work-img + .paragraph-style {
    margin-top: 20px;
  }
}
.column-3 .work-img + .txt-editor {
  margin-top: 2.6041666667vw;
}
@media only screen and (min-width: 768px) {
  .column-3 .work-img + .txt-editor {
    margin-top: 20px;
  }
}
.column-3 .main-title {
  margin-top: 3.2552083333vw;
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  .column-3 .main-title {
    margin-top: 25px;
  }
}
.column-3 .design-title1 {
  margin-top: 3.2552083333vw;
  font-size: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .column-3 .design-title1 {
    margin-top: 25px;
  }
}
.column-3 .design-title2 {
  margin-top: 3.2552083333vw;
  font-size: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .column-3 .design-title2 {
    margin-top: 25px;
  }
}
.column-3 .paragraph-style {
  margin-top: 3.2552083333vw;
}
@media only screen and (min-width: 768px) {
  .column-3 .paragraph-style {
    margin-top: 25px;
  }
}
.column-3 .txt-editor {
  margin-top: 3.2552083333vw;
}
@media only screen and (min-width: 768px) {
  .column-3 .txt-editor {
    margin-top: 25px;
  }
}
.column-3 .btnWrap {
  margin-top: 3.2552083333vw;
}
@media only screen and (min-width: 768px) {
  .column-3 .btnWrap {
    margin-top: 25px;
  }
}
.column-3 .flexList {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6.5104166667vw 0;
  margin-left: -20px;
}
@media only screen and (min-width: 768px) {
  .column-3 .flexList {
    gap: 50px 0;
  }
}
.column-3 .flexList__item {
  width: calc(50% - 20px);
  margin-left: 20px;
}
@media only screen and (min-width: 768px) {
  .column-3 .flexList__item {
    width: calc(33.3333333333% - 20px);
    margin-left: 20px;
  }
}

/***************ショールーム***********************/
.srLead__box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px 0;
}
@media only screen and (min-width: 768px) {
  .srLead__box {
    flex-direction: row;
    gap: 0 5%;
  }
}
.srLead__contents {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .srLead__contents {
    width: 50%;
  }
}
.srLead__img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .srLead__img {
    width: 50%;
    height: 250px;
  }
}

.specArea {
  background: #f7f7f7;
  padding: 20px;
}
@media only screen and (min-width: 768px) {
  .specArea {
    padding: 30px;
  }
}
.specArea__inner {
  background: #fff;
  display: flex;
  justify-content: space-around;
  flex-direction: column;
  gap: 20px 0;
  padding: 20px;
}
@media only screen and (min-width: 768px) {
  .specArea__inner {
    flex-direction: row;
    gap: 0 20px;
    padding: 30px;
  }
}
.specArea__title {
  font-size: 1.0625rem;
  font-weight: bold;
}
.specArea__details {
  border-bottom: 1px dotted #ccc;
  padding-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .specArea__details {
    border-bottom: none;
    padding-bottom: 0;
  }
}
.specArea--bg {
  background: #fff;
}

.page-showroom .srGallery {
  overflow: hidden;
}
.page-showroom .srGallery .swiper {
  overflow: visible;
  margin-bottom: 50px;
}
.page-showroom .srGallery .swiper-slide {
  max-width: 100%;
  position: relative;
}
@media only screen and (min-width: 992px) {
  .page-showroom .srGallery .swiper-slide img {
    height: 305px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.swiper-button-prev:after,
.swiper-button-next:after {
  bottom: 0;
  content: "";
  height: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 0;
}

@media only screen and (min-width: 768px) {
  .swiper-button-prev {
    left: -40px;
  }
}
.swiper-button-prev::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url("./images/swiper_left_arrow.png") no-repeat center center;
  background-size: cover;
}

@media only screen and (min-width: 768px) {
  .swiper-button-next {
    right: -40px;
  }
}
.swiper-button-next::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url("./images/swiper_right_arrow.png") no-repeat center center;
  background-size: cover;
}

#prevLink {
  background: url("../../plugins/wp-lightbox-2/styles/images/prev.gif") left 50% no-repeat !important;
}

#nextLink {
  background: url("../../plugins/wp-lightbox-2/styles/images/next.gif") right 50% no-repeat !important;
}

.xo-month {
  border: none !important;
  border-left: 1px solid #fff !important;
  border-top: 1px solid #fff !important;
}
.xo-month caption {
  background: #e4e4e4 !important;
}
.xo-month th,
.xo-month td {
  background: #f7f7f7 !important;
  border: none !important;
  border-right: 1px solid #fff !important;
  border-bottom: 1px solid #fff !important;
}
.xo-month th.saturday {
  color: #333 !important;
}
.xo-month th.sunday {
  color: #333 !important;
}

.pagination {
  margin-top: 13.0208333333vw;
}
@media only screen and (min-width: 768px) {
  .pagination {
    margin-top: 100px;
  }
}
.pagination .wp-pagenavi {
  float: none !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .pagination .wp-pagenavi {
    margin-top: 100px;
    flex-wrap: nowrap;
  }
}
.pagination .wp-pagenavi-list a {
  color: #000 !important;
  width: 30px;
  height: 30px;
  margin-right: 10px !important;
  margin-right: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
}
@media only screen and (min-width: 768px) {
  .pagination .wp-pagenavi-list a {
    width: 40px;
    height: 40px;
  }
}
.pagination .wp-pagenavi-list a:hover {
  color: #FFFFFF !important;
  background: #000 !important;
  opacity: 1;
  transition: 0.5s;
}
.pagination .wp-pagenavi-list a.last, .pagination .wp-pagenavi-list a.first {
  width: 60px;
}
.pagination .wp-pagenavi-list_current span.current {
  color: #FFFFFF !important;
  width: 30px;
  height: 30px;
  margin-right: 10px !important;
  margin-right: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000 !important;
  border: none !important;
  border-radius: 0 !important;
}
@media only screen and (min-width: 768px) {
  .pagination .wp-pagenavi-list_current span.current {
    font-size: 0.9375rem;
    width: 40px;
    height: 40px;
  }
}
.pagination .wp-pagenavi-list_current .extend {
  border: none !important;
}
.pagination .wp-pagenavi-list_current .pages {
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  color: #000 !important;
  width: auto;
  height: 30px;
  margin-right: 10px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  background: none !important;
  padding: 10px !important;
}
@media only screen and (min-width: 768px) {
  .pagination .wp-pagenavi-list_current .pages {
    margin-right: 20px !important;
    font-size: 0.9375rem;
    height: 40px;
  }
}

#imageData #caption {
  font-size: 15px !important;
}

.noimage {
  border: 1px solid #000;
}

.mw_wp_form_input .open-area,
.mw_wp_form_input .open-area2 {
  position: relative;
  margin-top: 20px;
  padding: 10px 0;
  border-top: 1px solid #000;
}

.mw_wp_form_input .open-area::before {
  display: block;
  content: "どの雑誌をご覧になりましたか？";
}

.mw_wp_form_input .open-area2::before {
  display: block;
  content: "どのリンクページをご覧になりましたか？";
}

.checkbox-width input {
  width: auto;
}

.flowArea__box {
  background: #fff;
  padding: 20px;
}

.flowList {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 20px 0;
}
@media only screen and (min-width: 768px) {
  .flowList {
    margin-left: -20px;
    flex-direction: row;
    gap: 0;
  }
}
.flowList__item {
  width: 100%;
  position: relative;
  border: 1px solid #000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 10px;
  background: #f7f7f7;
}
@media only screen and (min-width: 768px) {
  .flowList__item {
    width: calc(10% - 20px);
    margin-left: 20px;
    -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    text-orientation: upright;
    margin-bottom: 0;
    letter-spacing: 0.3em;
    padding: 10px;
    justify-content: flex-start;
  }
}
.flowList__item::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #000;
  left: 50%;
  bottom: -14px;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}
@media only screen and (min-width: 768px) {
  .flowList__item::after {
    content: "";
    width: 0;
    height: 0;
    left: 0;
    top: calc(50% - 6px);
    right: -20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    border-left: 6px solid #000;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
  }
}
.flowList__item:last-child::after {
  display: none;
}
.flowList__item p {
  position: relative;
  z-index: 1;
}
.flowList__item::before {
  position: absolute;
  content: "";
  width: 4.8em;
  height: 3.8em;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
@media only screen and (min-width: 768px) {
  .flowList__item::before {
    width: 3em;
    height: 3em;
    top: inherit;
    transform: none;
    right: 0px;
    bottom: 0px;
  }
}
@media only screen and (min-width: 992px) {
  .flowList__item::before {
    width: 3.8em;
    height: 3.8em;
  }
}
.flowList__item--n01::before {
  background: url("./images/n01.png") no-repeat;
  background-size: cover;
}
.flowList__item--n02::before {
  background: url("./images/n02.png") no-repeat;
  background-size: cover;
}
.flowList__item--n03::before {
  background: url("./images/n03.png") no-repeat;
  background-size: cover;
}
.flowList__item--n04::before {
  background: url("./images/n04.png") no-repeat;
  background-size: cover;
}
.flowList__item--n05::before {
  background: url("./images/n05.png") no-repeat;
  background-size: cover;
}
.flowList__item--n06::before {
  background: url("./images/n06.png") no-repeat;
  background-size: cover;
}
.flowList__item--n07::before {
  background: url("./images/n07.png") no-repeat;
  background-size: cover;
}
.flowList__item--n08::before {
  background: url("./images/n08.png") no-repeat;
  background-size: cover;
}
.flowList__item--n09::before {
  background: url("./images/n09.png") no-repeat;
  background-size: cover;
}
.flowList__item--n10::before {
  background: url("./images/n10.png") no-repeat;
  background-size: cover;
}

.page-maintenance .reception {
  padding: 20px;
  background: #f9f6ef;
  background-size: 28px 28px;
}

.session__box {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  padding-top: 13.0208333333vw;
  padding-bottom: 5.2083333333vw;
}
@media only screen and (min-width: 768px) {
  .session__box {
    flex-direction: row;
    gap: 0 5%;
    padding: 80px 0;
  }
}
.session__contents {
  width: 100%;
  margin-top: 0;
}
@media only screen and (min-width: 768px) {
  .session__contents {
    width: 60%;
  }
}
.session__contents__lead {
  margin-bottom: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .session__contents__lead {
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 768px) {
  .session__img {
    width: 40vw;
  }
}
@media only screen and (min-width: 768px) {
  .session__img img {
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: 1/1;
  }
}

.privacy_p_pdgB p:not(:last-of-type) {
  padding-bottom: 3.90625vw;
}
@media only screen and (min-width: 768px) {
  .privacy_p_pdgB p:not(:last-of-type) {
    padding-bottom: 30px;
  }
}

@media only screen and (min-width: 992px) {
  .company_table_btnFLEX {
    display: flex;
    align-items: center;
    gap: 25px;
    width: 100%;
  }
}
.company_table_btnFLEX .btnWrap__link {
  padding: 10px 20px 10px 20px;
}
@media only screen and (min-width: 768px) {
  .company_table_btnFLEX .btnWrap__link {
    padding: 10px 78px 10px 20px;
  }
}
.company_table_btnFLEX .btnWrap__link::after {
  display: none;
}
@media only screen and (min-width: 768px) {
  .company_table_btnFLEX .btnWrap__link::after {
    display: block;
  }
}

.company_table_p_pdgB .tbl02 p {
  padding-bottom: 3.2552083333vw;
}
@media only screen and (min-width: 768px) {
  .company_table_p_pdgB .tbl02 p {
    padding-bottom: 25px;
  }
}

.select_flex {
  display: flex;
  align-items: center;
  gap: 3px;
}

.maintenance_h3_mrgT {
  margin-top: 6.5104166667vw;
}
@media only screen and (min-width: 768px) {
  .maintenance_h3_mrgT {
    margin-top: 50px;
  }
}
/*# sourceMappingURL=style.css.map */