@charset "UTF-8";
/* =================================
共通
================================= */
h2 {
  font-size: 40px;
  font-family: "DF-HeiSeiMinCho-W7";
  transform: rotate(0.05deg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 80px; }
  h2 .inner {
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: flex-start; }

.pankuzu_area {
  margin-top: 150px;
  height: 65px;
  border-top: 1px solid #ECECEC;
  display: flex;
  align-items: center;
  justify-content: flex-start; }
  .pankuzu_area ul {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 13px; }
  .pankuzu_area li {
    position: relative;
    padding-right: 2em; }
    .pankuzu_area li:after {
      content: " ＞ ";
      position: absolute;
      top: 0;
      right: .5em;
      bottom: 0;
      margin: auto; }
    .pankuzu_area li:last-of-type:after {
      content: none; }
  .pankuzu_area a {
    text-decoration: underline;
    color: inherit; }
    .pankuzu_area a:hover {
      text-decoration: none; }

@media print, screen and (max-width: 768px) {
  h2 {
    font-size: 28px;
    margin-bottom: 60px; }
    h2 .inner {
      height: 120px; }

  .pankuzu_area {
    margin-top: 80px;
    height: 50px; } }
/* =================================
COMPANY
================================= */
.company h2 {
  background-image: url("../images/subpage/company_midashi.jpg"); }
.company table {
  text-align: left;
  font-size: 15px; }
.company tr {
  border-bottom: 1px solid #ECECEC; }
  .company tr:first-of-type {
    border-top: 1px solid #ECECEC; }
.company th, .company td {
  padding: 18px 0; }
.company th {
  padding-left: 15px;
  width: 31%; }
.company td {
  padding-right: 15px;
  width: 69%; }
.company p {
  margin-bottom: 1em; }
  .company p:last-of-type {
    margin-bottom: 0; }

@media print, screen and (max-width: 768px) {
  .company table, .company tr, .company th, .company td {
    display: block; }
  .company tr {
    padding: 15px 0; }
  .company th, .company td {
    width: 100%;
    padding: 0; }
  .company th {
    font-weight: 500;
    margin-bottom: 5px; } }
/* =================================
PHILOSOPHY
================================= */
.philosophy h2 {
  background-image: url("../images/subpage/philosophy_midashi.jpg"); }
  .philosophy h2 + .inner {
    position: relative;
    padding-bottom: 560px; }
.philosophy dt {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.7;
  margin-bottom: 90px; }
.philosophy p {
  margin-bottom: 1.5em; }
  .philosophy p:last-of-type {
    margin-bottom: 0; }
.philosophy img {
  position: absolute; }
.philosophy .image_01 {
  width: 61%;
  max-width: 605px;
  left: 0;
  bottom: 60px; }
.philosophy .image_02_bg {
  width: 49%;
  max-width: 490px;
  right: 20px;
  bottom: 20px; }
.philosophy .image_02 {
  width: 49%;
  max-width: 490px;
  right: 0;
  bottom: 0; }

@media print, screen and (max-width: 768px) {
  .philosophy h2 + .inner {
    padding-bottom: 80vw; }
  .philosophy dt {
    font-size: min(24px, 5.2vw);
    margin-bottom: 11vw; }
  .philosophy dd {
    text-align: left; }
  .philosophy .image_01 {
    width: 75vw;
    bottom: 15vw; }
  .philosophy .image_02, .philosophy .image_02_bg {
    width: 65vw; }
  .philosophy .image_02_bg {
    right: 3%;
    bottom: 2.5vw; } }
/* =================================
CONTACT
================================= */
.contact h2 {
  background-image: url("../images/subpage/contact_midashi.jpg"); }
.contact .intro {
  text-align: left;
  margin-bottom: 75px; }
.contact .required {
  color: #ec1549;
  font-size: 11px;
  font-weight: 300;
  border: 1px solid #ec1549;
  text-align: center;
  box-sizing: border-box;
  padding: 2px 10px;
  margin-left: 20px;
  display: inline-block;
  min-width: 46px; }
.contact input:not([type="checkbox"]),
.contact textarea,
.contact button {
  margin: 0;
  outline: none;
  background: none;
  font: inherit;
  color: inherit;
  line-height: inherit;
  box-sizing: border-box;
  appearance: none; }
.contact input:not([type="checkbox"]), .contact textarea {
  padding: 0;
  border: none;
  background: #F5F5F5;
  padding: 10px;
  width: 100%; }
.contact button {
  cursor: pointer;
  font-weight: 500; }
.contact textarea {
  resize: none;
  height: 260px; }
.contact table {
  text-align: left;
  margin-bottom: 30px; }
  .contact table tr {
    border-bottom: 1px solid #ececec; }
    .contact table tr:first-of-type {
      border-top: 1px solid #ececec; }
  .contact table th, .contact table td {
    padding: 25px 0;
    vertical-align: middle; }
  .contact table th {
    padding-left: 30px;
    font-weight: 500;
    width: 31%; }
    .contact table th strong {
      display: inline-block; }
  .contact table td {
    padding-right: 30px;
    width: 69%; }
  .contact table .w_middle {
    width: 70%; }
.contact .btn_txt {
  display: inline-block;
  text-align: left;
  margin-bottom: 20px; }

@media print, screen and (max-width: 768px) {
  .contact .intro {
    margin-bottom: 40px; }
  .contact .required {
    margin-left: 10px; }
  .contact textarea {
    resize: none;
    height: 260px; }
  .contact table, .contact tbody, .contact tr, .contact th, .contact td {
    display: block;
    width: 100%; }
  .contact table {
    margin-bottom: 30px; }
    .contact table tr {
      padding: 15px 0; }
    .contact table th, .contact table td {
      padding: 0;
      width: 100%; }
    .contact table th {
      margin-bottom: 10px; }
    .contact table .w_middle {
      width: 100%; }
  .contact .scroll_y_wrap {
    height: 200px;
    margin-bottom: 25px; }
  .contact .p_check {
    margin-bottom: 30px; }
  .contact .btn.btn_w {
    max-width: 250px; } }
