@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
@import url("https://fonts.googleapis.com/css2?family=Geologica:wght,CRSV@100..900,0&family=Noto+Sans+JP:wght@100..900&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

.animate .fadein {
  opacity: 0;
  transform-style: preserve-3d;
  transition-property: opacity;
  transition-duration: 1200ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0ms;
}
.animate.show .fadein {
  opacity: 1;
}
.animate .slidein_left {
  opacity: 0;
  transform: translateX(-100px);
  transform-style: preserve-3d;
  transition-property: opacity, transform;
  transition-duration: 800ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0ms;
}
.animate .slidein_right {
  opacity: 0;
  transform: translateX(100px);
  transform-style: preserve-3d;
  transition-property: opacity, transform;
  transition-duration: 800ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0ms;
}
.animate.show .slidein_left, .animate.show .slidein_right {
  opacity: 1;
  transform: translateX(0);
}
.animate .slidein_top {
  opacity: 0;
  transform: translateY(-40px);
  transform-style: preserve-3d;
  transition-property: opacity, transform;
  transition-duration: 800ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0ms;
}
.animate .slidein_bottom {
  opacity: 0;
  transform: translateY(40px);
  transform-style: preserve-3d;
  transition-property: opacity, transform;
  transition-duration: 800ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0ms;
}
.animate.show .slidein_top, .animate.show .slidein_bottom {
  opacity: 1;
  transform: translateY(0);
}
.animate .zoomin {
  opacity: 0;
  transform: scale(1.5, 1.5);
  transform-style: preserve-3d;
  transition-property: opacity, transform;
  transition-duration: 533.3333333333ms;
  transition-delay: 0ms;
}
.animate .zoomout {
  opacity: 0;
  transform: scale(0.5, 0.5);
  transform-style: preserve-3d;
  transition-property: opacity, transform;
  transition-duration: 533.3333333333ms;
  transition-delay: 0ms;
}
.animate.show .zoomin, .animate.show .zoomout {
  opacity: 1;
  transform: scale(1, 1);
}
.animate .center_mask {
  clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%);
  transform-style: preserve-3d;
  transition-property: clip-path;
  transition-duration: 800ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0ms;
}
.animate .left_mask {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transform-style: preserve-3d;
  transition-property: clip-path;
  transition-duration: 800ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0ms;
}
.animate.show .center_mask, .animate.show .left_mask {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.animate .d1 {
  transition-delay: 100ms;
}
.animate .d2 {
  transition-delay: 200ms;
}
.animate .d3 {
  transition-delay: 300ms;
}
.animate .d4 {
  transition-delay: 400ms;
}
.animate .d5 {
  transition-delay: 500ms;
}
.animate .d6 {
  transition-delay: 600ms;
}
.animate .d7 {
  transition-delay: 700ms;
}
.animate .d8 {
  transition-delay: 800ms;
}
.animate .d9 {
  transition-delay: 900ms;
}
.animate .d10 {
  transition-delay: 1000ms;
}
.animate .d11 {
  transition-delay: 1100ms;
}
.animate .d12 {
  transition-delay: 1200ms;
}
.animate .d13 {
  transition-delay: 1300ms;
}
.animate .d14 {
  transition-delay: 1400ms;
}
.animate .d15 {
  transition-delay: 1500ms;
}
.animate .d16 {
  transition-delay: 1600ms;
}
.animate .d17 {
  transition-delay: 1700ms;
}
.animate .d18 {
  transition-delay: 1800ms;
}
.animate .d19 {
  transition-delay: 1900ms;
}
.animate .d20 {
  transition-delay: 2000ms;
}

:root {
  interpolate-size: allow-keywords;
}

body #main {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  color: #000000;
}
body #main a:hover {
  text-decoration: none;
}
body #main .en {
  font-family: "Geologica", sans-serif;
  font-optical-sizing: auto;
  font-variation-settings: "slnt" 0, "CRSV" 0, "SHRP" 0;
}
body #main picture {
  display: block;
  line-height: 0;
}
body #main img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  border: 0;
  outline: none;
}
body #main img.full {
  height: 100%;
  object-fit: cover;
}
body #main img.contain {
  height: 100%;
  object-fit: contain;
}
body #main sup, body #main sub {
  height: 0;
  line-height: 1;
  vertical-align: baseline;
  position: relative;
  font-size: 50%;
}
body #main sup {
  bottom: 1.5ex;
}
body #main sub {
  top: 0.5ex;
}
body #main input, body #main textarea, body #main select, body #main button {
  font-feature-settings: "palt";
  font-family: "Noto Sans JP", sans-serif;
  color: inherit;
  padding: 0;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
body #main input::-ms-expand, body #main textarea::-ms-expand, body #main select::-ms-expand, body #main button::-ms-expand {
  display: none;
}
body #main .word_break {
  word-wrap: break-word;
  word-break: break-all;
}
body #main * {
  outline: none;
}
body #main *:hover, body #main *:active, body #main *:focus {
  outline: none;
}
body #main a {
  color: inherit;
}
body #main a:hover, body #main a:active, body #main a:focus {
  color: inherit;
}
body #main .bg_person {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
}
body #main .bg_person > span {
  width: 100%;
  height: 100%;
  display: block;
  background: no-repeat center center/cover;
}
body #main .bg_person > span.bg_person_375_ashida {
  background-image: url("../img/common/bg_person_375_ashida.jpg");
}
body #main .bg_person > span.bg_person_375_ido {
  background-image: url("../img/common/bg_person_375_ido.jpg");
}
body #main .bg_person > span.bg_person_375_ieda {
  background-image: url("../img/common/bg_person_375_ieda.jpg");
}
body #main .bg_person > span.bg_person_375_ito {
  background-image: url("../img/common/bg_person_375_ito.jpg");
}
body #main .bg_person > span.bg_person_375_jou {
  background-image: url("../img/common/bg_person_375_jou.jpg");
}
body #main .bg_person > span.bg_person_375_kanezawa {
  background-image: url("../img/common/bg_person_375_kanezawa.jpg");
}
body #main .bg_person > span.bg_person_375_kawase {
  background-image: url("../img/common/bg_person_375_kawase.jpg");
}
body #main .bg_person > span.bg_person_375_kobayashi {
  background-image: url("../img/common/bg_person_375_kobayashi.jpg");
}
body #main .bg_person > span.bg_person_375_nishigaya {
  background-image: url("../img/common/bg_person_375_nishigaya.jpg");
}
body #main .bg_person > span.bg_person_375_ookami {
  background-image: url("../img/common/bg_person_375_ookami.jpg");
}
body #main .bg_person > span.bg_person_375_suehiro {
  background-image: url("../img/common/bg_person_375_suehiro.jpg");
}
body #main .bg_person > span.bg_person_375_takeuchi {
  background-image: url("../img/common/bg_person_375_takeuchi.jpg");
}
body #main .bg_person > span.bg_person_375_tanaka {
  background-image: url("../img/common/bg_person_375_tanaka.jpg");
}
body #main .bg_person > span.bg_person_375_uchiyama {
  background-image: url("../img/common/bg_person_375_uchiyama.jpg");
}
body #main .bg_person > span.bg_person_720_ashida {
  background-image: url("../img/common/bg_person_720_ashida.jpg");
}
body #main .bg_person > span.bg_person_720_ido {
  background-image: url("../img/common/bg_person_720_ido.jpg");
}
body #main .bg_person > span.bg_person_720_ieda {
  background-image: url("../img/common/bg_person_720_ieda.jpg");
}
body #main .bg_person > span.bg_person_720_ito {
  background-image: url("../img/common/bg_person_720_ito.jpg");
}
body #main .bg_person > span.bg_person_720_jou {
  background-image: url("../img/common/bg_person_720_jou.jpg");
}
body #main .bg_person > span.bg_person_720_kanezawa {
  background-image: url("../img/common/bg_person_720_kanezawa.jpg");
}
body #main .bg_person > span.bg_person_720_kawase {
  background-image: url("../img/common/bg_person_720_kawase.jpg");
}
body #main .bg_person > span.bg_person_720_kobayashi {
  background-image: url("../img/common/bg_person_720_kobayashi.jpg");
}
body #main .bg_person > span.bg_person_720_nishigaya {
  background-image: url("../img/common/bg_person_720_nishigaya.jpg");
}
body #main .bg_person > span.bg_person_720_ookami {
  background-image: url("../img/common/bg_person_720_ookami.jpg");
}
body #main .bg_person > span.bg_person_720_suehiro {
  background-image: url("../img/common/bg_person_720_suehiro.jpg");
}
body #main .bg_person > span.bg_person_720_takeuchi {
  background-image: url("../img/common/bg_person_720_takeuchi.jpg");
}
body #main .bg_person > span.bg_person_720_tanaka {
  background-image: url("../img/common/bg_person_720_tanaka.jpg");
}
body #main .bg_person > span.bg_person_720_uchiyama {
  background-image: url("../img/common/bg_person_720_uchiyama.jpg");
}
body #main .bg_person > span.bg_person_1440_ashida {
  background-image: url("../img/common/bg_person_1440_ashida.jpg");
}
body #main .bg_person > span.bg_person_1440_ido {
  background-image: url("../img/common/bg_person_1440_ido.jpg");
}
body #main .bg_person > span.bg_person_1440_ieda {
  background-image: url("../img/common/bg_person_1440_ieda.jpg");
}
body #main .bg_person > span.bg_person_1440_ito {
  background-image: url("../img/common/bg_person_1440_ito.jpg");
}
body #main .bg_person > span.bg_person_1440_jou {
  background-image: url("../img/common/bg_person_1440_jou.jpg");
}
body #main .bg_person > span.bg_person_1440_kanezawa {
  background-image: url("../img/common/bg_person_1440_kanezawa.jpg");
}
body #main .bg_person > span.bg_person_1440_kawase {
  background-image: url("../img/common/bg_person_1440_kawase.jpg");
}
body #main .bg_person > span.bg_person_1440_kobayashi {
  background-image: url("../img/common/bg_person_1440_kobayashi.jpg");
}
body #main .bg_person > span.bg_person_1440_nishigaya {
  background-image: url("../img/common/bg_person_1440_nishigaya.jpg");
}
body #main .bg_person > span.bg_person_1440_ookami {
  background-image: url("../img/common/bg_person_1440_ookami.jpg");
}
body #main .bg_person > span.bg_person_1440_suehiro {
  background-image: url("../img/common/bg_person_1440_suehiro.jpg");
}
body #main .bg_person > span.bg_person_1440_takeuchi {
  background-image: url("../img/common/bg_person_1440_takeuchi.jpg");
}
body #main .bg_person > span.bg_person_1440_tanaka {
  background-image: url("../img/common/bg_person_1440_tanaka.jpg");
}
body #main .bg_person > span.bg_person_1440_uchiyama {
  background-image: url("../img/common/bg_person_1440_uchiyama.jpg");
}

@media screen and (min-width: 1060px) {
  body #main .inner {
    margin: 0 auto;
    max-width: 961px;
    height: 100%;
    position: relative;
    z-index: 1;
  }
  body #main article {
    position: relative;
    overflow: hidden;
  }
  body #main article section {
    padding: 0 40px;
    background: #ffffff;
    position: relative;
  }
  body #main article section:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: url("../img/common/pc/bg_main.svg") repeat-y center top;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    opacity: 0.5;
  }
  body #main article .denkidrive_frame {
    margin-bottom: 120px;
    background: #ffffff;
  }
  body #main article .denkidrive_frame a {
    padding: 0 60px;
    width: 100%;
    height: 180px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #33B3E1;
    box-sizing: border-box;
  }
  body #main article .denkidrive_frame a dl {
    letter-spacing: 0.1em;
  }
  body #main article .denkidrive_frame a dl dt {
    margin-bottom: 15px;
    line-height: 30px;
    font-size: 22px;
    letter-spacing: 0;
    font-weight: 700;
  }
  body #main article .denkidrive_frame a dl dd {
    line-height: 30px;
    font-size: 16px;
  }
  body #main article .denkidrive_frame a p.btn {
    width: 260px;
    height: 60px;
    background: #D9EAF0;
    border: 1px solid #33B3E1;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  body #main article .denkidrive_frame a p.btn span {
    margin-right: 26px;
    width: 189px;
    height: 15px;
    display: block;
    background: url("../img/common/icon_denkidrive_logo.svg") no-repeat center center/contain;
    text-indent: -9999px;
  }
  body #main article .denkidrive_frame a p.btn:after {
    content: "";
    width: 30px;
    height: 30px;
    display: block;
    position: absolute;
    top: calc(50% - 15px);
    right: 15px;
    background: url("../img/common/icon_denkidrive_arrow.svg") no-repeat center center/contain;
  }
}
@media screen and (min-width: 1060px) and (hover: hover) {
  body #main article .denkidrive_frame a {
    transform-style: preserve-3d;
    transition-property: background;
    transition-duration: 300ms;
    transition-timing-function: linear;
    transition-delay: 0ms;
  }
  body #main article .denkidrive_frame a p.btn:after {
    transform-style: preserve-3d;
    transition-property: transform;
    transition-duration: 300ms;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    transition-delay: 0ms;
  }
  body #main article .denkidrive_frame a:hover {
    background: rgba(51, 179, 225, 0.05);
  }
  body #main article .denkidrive_frame a:hover p.btn:after {
    transform: translateX(5px);
  }
}
@media screen and (min-width: 1060px) {
  body #main article aside.banners {
    padding: 120px 0;
  }
  body #main article aside.banners:has(.bottom_note:last-child) {
    padding-bottom: 0;
  }
  body #main article aside.banners ul:not(.bottom_note) {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 40px;
  }
  body #main article aside.banners ul:not(.bottom_note) li {
    width: calc(50% - 20px);
  }
  body #main article aside.banners ul:not(.bottom_note) li a {
    display: block;
  }
}
@media screen and (min-width: 1060px) and (hover: hover) {
  body #main article aside.banners ul:not(.bottom_note) li a {
    filter: brightness(1);
    transform-style: preserve-3d;
    transition-property: filter;
    transition-duration: 300ms;
    transition-timing-function: linear;
    transition-delay: 0ms;
  }
  body #main article aside.banners ul:not(.bottom_note) li a:hover {
    filter: brightness(1.2);
  }
}
@media screen and (min-width: 1060px) {
  body #main article aside.banners ul.bottom_note {
    margin-top: 120px;
  }
  body #main article aside.banners ul.bottom_note li {
    padding-left: 15px;
    font-size: 10px;
    line-height: 15px;
    letter-spacing: 0.05em;
    color: rgb(102, 102, 102);
  }
  body #main article aside.banners ul.bottom_note li:before {
    content: "■";
    display: block;
    position: absolute;
    left: 0;
  }
  .pc_none {
    display: none !important;
  }
}
@media screen and (max-width: 1059px) {
  body #main {
    margin: 0 auto;
    max-width: 720px;
  }
  body #main:has(aside.banners .bottom_note:last-child) + #footer-area .global-footer {
    margin-top: 21px;
  }
  body #main .inner {
    padding: 0 min(5.3333333333vw, 38px);
    height: 100%;
    position: relative;
    z-index: 1;
  }
  body #main article {
    position: relative;
    overflow: hidden;
  }
  body #main article section {
    background: #ffffff;
    position: relative;
  }
  body #main article section:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: url("../img/common/sp/bg_main.svg") repeat-y center top/100% auto;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    opacity: 0.5;
  }
  body #main article .denkidrive_frame {
    margin: 70px 0 30px;
    background: #ffffff;
  }
  body #main article .denkidrive_frame a {
    padding: 35px 25px 40px 25px;
    width: 100%;
    height: 300px;
    display: block;
    border: 1px solid #33B3E1;
    box-sizing: border-box;
  }
  body #main article .denkidrive_frame a dl {
    margin-bottom: 20px;
    text-align: center;
    letter-spacing: 0.1em;
  }
  body #main article .denkidrive_frame a dl dt {
    margin-bottom: 15px;
    line-height: 35px;
    font-size: 20px;
    letter-spacing: 0;
    font-weight: 700;
  }
  body #main article .denkidrive_frame a dl dd {
    line-height: 30px;
    font-size: 16px;
  }
  body #main article .denkidrive_frame a p.btn {
    margin: 0 auto;
    width: calc(100% - 20px);
    height: 60px;
    background: #D9EAF0;
    border: 1px solid #33B3E1;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  body #main article .denkidrive_frame a p.btn span {
    margin-right: 30px;
    width: 201px;
    height: 16px;
    display: block;
    background: url("../img/common/icon_denkidrive_logo.svg") no-repeat center center/contain;
    text-indent: -9999px;
  }
  body #main article .denkidrive_frame a p.btn:after {
    content: "";
    width: 30px;
    height: 30px;
    display: block;
    position: absolute;
    top: calc(50% - 15px);
    right: 15px;
    background: url("../img/common/icon_denkidrive_arrow.svg") no-repeat center center/contain;
  }
  body #main article aside.banners {
    padding: 60px 0;
  }
  body #main article aside.banners:has(.bottom_note:last-child) {
    padding-bottom: 0;
  }
  body #main article aside.banners ul:not(.bottom_note) {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  body #main article aside.banners ul:not(.bottom_note) li {
    width: 100%;
  }
  body #main article aside.banners ul:not(.bottom_note) li a {
    display: block;
  }
  body #main article aside.banners ul.bottom_note {
    margin-top: 60px;
  }
  body #main article aside.banners ul.bottom_note li {
    padding-left: 15px;
    font-size: 10px;
    line-height: 15px;
    letter-spacing: 0.05em;
    color: rgb(102, 102, 102);
  }
  body #main article aside.banners ul.bottom_note li:before {
    content: "■";
    display: block;
    position: absolute;
    left: 0;
  }
  .sp_none {
    display: none !important;
  }
}