@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@700&display=swap");
@media all and (max-width: 960px) {
  .pc {
    display: none; } }

.tablet {
  display: none; }
  @media all and (max-width: 960px) {
    .tablet {
      display: block; } }

.sp {
  display: none; }
  @media all and (max-width: 520px) {
    .sp {
      display: block; } }

html {
  font-size: 62.5%;
  font-family: "Inter", "Noto Sans JP",sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "slnt" 0;
  font-weight: 400; }

body {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  overflow-x: hidden; }
  @media all and (max-width: 960px) {
    body {
      font-size: 1.4rem; } }

body.fixed {
  position: fixed;
  width: 100%; }

img {
  max-width: 100%;
  height: auto; }

a[href^="tel:"] {
  pointer-events: none;
  text-decoration: none; }
  @media all and (max-width: 960px) {
    a[href^="tel:"] {
      pointer-events: auto;
      text-decoration: underline; } }

sup {
  font-size: 75.5%;
  vertical-align: top;
  position: relative;
  top: -0.1em; }

/*******************************/
#header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  height: 104px;
  width: 100%;
  background: #fff;
  padding: 25px 30px;
  box-sizing: border-box; }
  @media all and (max-width: 960px) {
    #header {
      padding: 15px 20px;
      height: 73px; } }

#logo {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: flex-start;
  align-items: center; }
  #logo img {
    display: block;
    width: 100px;
    margin: 0 15px 0 0; }
    @media all and (max-width: 960px) {
      #logo img {
        width: 80px; } }
    @media all and (max-width: 320px) {
      #logo img {
        width: 80px; } }
  #logo > div {
    font-size: 2rem;
    font-size: calc(100vw * 16 / 1200);
    font-size: clamp(1.4rem, calc( 100vw * 15 / 1200 ), 2rem); }
    #logo > div span {
      display: block;
      line-height: 1.2em;
      font-weight: 500; }
  #logo a {
    vertical-align: middle;
    text-decoration: none;
    color: #000; }

#pagetop {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000; }
  @media all and (max-width: 960px) {
    #pagetop {
      bottom: 10px;
      right: 10px; } }

#pagetop a {
  display: block;
  width: 90px;
  height: 90px;
  transition: all .2s ease-in-out;
  box-sizing: border-box;
  border-radius: 50%;
  z-index: 300;
  background: url("../images/pagetop.svg") no-repeat center center;
  background-size: 80px auto; }
  @media all and (max-width: 960px) {
    #pagetop a {
      width: 80px;
      height: 80px; } }
  #pagetop a:hover {
    background: #fff url("../images/pagetop_on.svg") no-repeat center center;
    background-size: 80px auto; }

#fixbtn {
  position: fixed;
  bottom: 0;
  left: 5%; }
  #fixbtn a {
    background: #000;
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 5px 20px;
    transition: all .2s ease-in-out; }
    #fixbtn a span {
      background: url("../images/icon_more.svg") no-repeat right center;
      background-size: 18px auto;
      padding-right: 25px; }
    #fixbtn a:hover {
      opacity: 0.5; }

#nav {
  display: none;
  transition: all .2s;
  box-sizing: border-box;
  cursor: pointer;
  position: fixed;
  top: 17px;
  right: 5px;
  z-index: 101;
  transition: all .2s ease-in-out;
  width: 70px;
  height: 70px; }
  @media all and (max-width: 960px) {
    #nav {
      display: block;
      top: 3px;
      right: 3px; } }
  @media all and (max-width: 320px) {
    #nav {
      top: 0px;
      right: 0px; } }
  #nav.show {
    visibility: visible;
    opacity: 1; }
  @media all and (max-width: 960px) {
    #nav {
      visibility: visible;
      opacity: 1; } }
  #nav span {
    display: block;
    transition: all .4s;
    box-sizing: border-box;
    position: absolute;
    left: 21px;
    width: 30px;
    height: 2px;
    background-color: #000;
    border-radius: 2px; }
  #nav span:nth-of-type(1) {
    top: 19px; }
  #nav span:nth-of-type(2) {
    top: 32px; }
  #nav span:nth-of-type(3) {
    top: 45px; }
  #nav:hover span {
    background-color: #237ea5; }
  #nav.active {
    background: none;
    display: block; }
    #nav.active span:nth-of-type(1) {
      transform: translateY(13px) rotate(-45deg); }
    #nav.active span:nth-of-type(2) {
      opacity: 0; }
    #nav.active span:nth-of-type(3) {
      transform: translateY(-13px) rotate(45deg); }
    #nav.active:hover span {
      background-color: #fff; }

#globalnav {
  position: fixed;
  top: 35px;
  right: 10px;
  z-index: 11;
  transition: all 0.2s ease-in-out;
  opacity: 1;
  visibility: visible; }
  #globalnav.hide {
    transition: all 0.2s ease-in-out;
    opacity: 0;
    visibility: hidden; }
  @media all and (max-width: 960px) {
    #globalnav {
      display: none; } }
  #globalnav > ul {
    display: flex;
    justify-content: flex-end;
    line-height: 1;
    z-index: 100; }
    #globalnav > ul > li {
      position: relative; }
      #globalnav > ul > li:before {
        content: '';
        display: block;
        width: 1px;
        height: 20px;
        background: #000;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%); }
      #globalnav > ul > li:nth-child(1):before {
        content: none; }
      #globalnav > ul > li a {
        display: inline-block;
        padding: 9px 10px 9px 11px;
        box-sizing: border-box;
        font-size: 1.8rem;
        font-size: clamp(1rem, calc( 100vw * 15 / 1200 ), 1.8rem);
        font-weight: 600;
        letter-spacing: -0.03em;
        line-height: 1;
        text-decoration: none;
        color: #000;
        text-align: center;
        transition: all .2s ease-in-out;
        position: relative; }
        #globalnav > ul > li a:before {
          content: '';
          display: block;
          width: 0%;
          height: 2px;
          background: #1eb7cd;
          position: absolute;
          bottom: 0;
          left: 50%;
          transform: translateX(-50%);
          transition: all .2s ease-in-out; }
        #globalnav > ul > li a:hover:before {
          width: calc( 100% - 20px ); }
      #globalnav > ul > li ul {
        display: none;
        width: 200px;
        border-radius: 0px 0 20px 20px;
        padding: 10px 10px;
        box-sizing: border-box;
        background: rgba(255, 255, 255, 0.8);
        position: absolute;
        top: 36px;
        left: 0; }
        #globalnav > ul > li ul a {
          font-size: clamp(1rem, calc( 100vw * 14 / 1200 ), 1.6rem); }
      #globalnav > ul > li:hover ul {
        display: block; }
        #globalnav > ul > li:hover ul a:before {
          content: none; }
        #globalnav > ul > li:hover ul a:hover {
          color: #1eb7cd; }

#gnav {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.8);
  color: #000;
  transition: all 0.2s ease-in-out;
  overflow: auto; }
  @media all and (max-width: 960px) {
    #gnav {
      display: block; } }
  #gnav > div {
    position: absolute;
    top: 0;
    right: 0;
    background: #237ea5;
    height: 100%;
    width: 480px;
    padding: 40px 50px 0;
    box-sizing: border-box;
    color: #fff; }
    @media all and (max-width: 520px) {
      #gnav > div {
        width: 100%;
        padding: 30px 30px 0; } }
    @media all and (max-width: 320px) {
      #gnav > div {
        padding: 30px; } }
    #gnav > div a {
      color: #fff;
      text-decoration: none; }
    #gnav > div .footlogo {
      position: absolute;
      z-index: 903;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      top: 15px;
      left: 20px; }
      #gnav > div .footlogo img {
        display: block;
        width: 100px;
        margin: 0 15px 0 0; }
        @media all and (max-width: 960px) {
          #gnav > div .footlogo img {
            width: 80px; } }
        @media all and (max-width: 320px) {
          #gnav > div .footlogo img {
            width: 80px; } }
      #gnav > div .footlogo > div {
        font-size: 2rem;
        font-size: calc(100vw * 16 / 1200);
        font-size: clamp(1.4rem, calc( 100vw * 15 / 1200 ), 2rem); }
        #gnav > div .footlogo > div span {
          display: block;
          line-height: 1.2em;
          font-weight: 500; }
      #gnav > div .footlogo a {
        vertical-align: middle;
        text-decoration: none;
        color: #fff; }
    #gnav > div .sitemap {
      display: flex;
      flex-wrap: wrap;
      text-align: left;
      margin-top: 10px; }
    #gnav > div .corpsite {
      margin-bottom: 20px; }
      #gnav > div .corpsite ul {
        list-style: none; }
      #gnav > div .corpsite a[target="_blank"] {
        background: url("../images/icon_footblank.svg") no-repeat right center;
        background-size: 12px auto;
        padding-right: 17px;
        transition: all .2s ease-in-out;
        color: #fff; }
    #gnav > div .careersite {
      margin: 0 0 30px; }
      #gnav > div .careersite > ul {
        list-style: none; }
        #gnav > div .careersite > ul ul {
          list-style: none; }
        #gnav > div .careersite > ul li {
          margin: 5px 0; }
        #gnav > div .careersite > ul li li {
          margin-left: 15px; }
          #gnav > div .careersite > ul li li a {
            background: none;
            padding: 0;
            position: relative;
            padding-left: 14px;
            font-size: 1.4rem; }
            #gnav > div .careersite > ul li li a:before {
              content: '';
              display: block;
              width: 3px;
              height: 3px;
              border-radius: 50%;
              background: #fff;
              position: absolute;
              top: calc( 50% - 1px );
              left: 0;
              transition: all .2s ease-in-out; }
        #gnav > div .careersite > ul:nth-child(1) {
          margin-right: 30px; }
      #gnav > div .careersite a {
        background: url("../images/icon_footlink.svg") no-repeat left center;
        background-size: 12px auto;
        padding-left: 20px;
        transition: all .2s ease-in-out;
        color: #fff; }
  #gnav.active {
    opacity: 1;
    visibility: visible; }
    #gnav.active ul li {
      margin-right: 0px;
      opacity: 1; }

#footer {
  z-index: 2;
  background: #237ea5;
  padding: 0 50px;
  box-sizing: border-box;
  width: 100%;
  transition: all 0.2s ease-in-out; }
  @media all and (max-width: 960px) {
    #footer {
      padding: 0 15px 20px; } }
  #footer .wrapper {
    width: 100%;
    max-width: 1000px;
    margin: auto; }
  #footer .container {
    padding: 40px 15px 20px !important; }
    @media all and (max-width: 960px) {
      #footer .container {
        margin: auto !important;
        padding: 30px 15px 20px; } }
  #footer a {
    text-decoration: none; }
    #footer a:hover {
      opacity: 0.5; }
  #footer .footlogo {
    margin: 0 0 20px; }
    @media all and (max-width: 960px) {
      #footer .footlogo {
        margin-bottom: 0px; } }
    #footer .footlogo img {
      width: 100px;
      vertical-align: middle;
      margin-right: 20px;
      margin-bottom: 5px; }
      @media all and (max-width: 960px) {
        #footer .footlogo img {
          width: 100px;
          margin-bottom: 5px; } }
    #footer .footlogo span {
      display: inline-block;
      font-size: 1.8rem;
      letter-spacing: 0em;
      color: #fff;
      vertical-align: middle; }
      @media all and (max-width: 960px) {
        #footer .footlogo span {
          font-size: 1.4rem; } }
  #footer .sns {
    margin: 0 0 0px; }
    #footer .sns li {
      display: inline-block;
      margin: 5px; }
      #footer .sns li img {
        display: block;
        height: 40px; }
  #footer .copyright {
    text-align: center;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    color: #fff; }
    @media all and (max-width: 960px) {
      #footer .copyright {
        font-size: 1.2rem; } }

.pagenav {
  padding: 0 15px;
  margin: auto;
  text-align: center; }
  .pagenav a + a {
    margin-top: 0;
    margin-left: 20px; }
    @media all and (max-width: 960px) {
      .pagenav a + a {
        margin-left: 0px; } }

.btn {
  margin: 50px auto 50px;
  display: block;
  display: inline-block;
  width: 650px;
  background: #237ea5;
  border-radius: 60px;
  color: #fff;
  padding: 30px 40px;
  box-sizing: border-box;
  font-size: 2.4rem;
  line-height: 1.4;
  transition: all .2s ease-in-out;
  background: #237ea5 url("../images/icon_more.svg") no-repeat right 35px center;
  background-size: 25px auto;
  max-width: 100%; }
  @media all and (max-width: 960px) {
    .btn {
      font-size: 1.6rem;
      width: 100%;
      max-width: 500px;
      background: #237ea5 url("../images/icon_more.svg") no-repeat right 20px center;
      background-size: 20px auto; } }
  .btn.frame {
    border: 1px #fff solid; }
  .btn:hover {
    background-color: #1eb7cd; }
  .btn.back {
    background: #237ea5 url("../images/icon_more_back.svg") no-repeat left 35px center;
    background-size: 25px auto; }
    @media all and (max-width: 960px) {
      .btn.back {
        background: #237ea5 url("../images/icon_more_back.svg") no-repeat left 20px center;
        background-size: 20px auto; } }
    .btn.back:hover {
      background-color: #1eb7cd; }

/************************************************/
main {
  display: block;
  width: 100%;
  margin: 0px auto 0;
  padding-top: 104px;
  box-sizing: border-box; }
  @media all and (max-width: 960px) {
    main {
      padding-top: 73px; } }
  main a {
    text-decoration: none; }

#mv {
  height: 690px;
  max-height: calc( 100vh - 104px);
  margin: auto;
  position: relative;
  text-align: center;
  overflow: hidden;
  background: url("../images/denki/mv.jpg") no-repeat center center;
  background-size: cover; }
  @media all and (max-width: 960px) {
    #mv {
      padding-bottom: 0;
      background: url("../images/denki/mvs.jpg") no-repeat top center;
      background-size: 100% auto;
      height: calc( ( 686 / 780 ) * 100vw + 105px );
      max-height: none; } }
  #mv > img {
    display: block;
    margin: auto;
    opacity: 0.5; }
  #mv .mvwrapper {
    max-width: 1100px;
    width: 100%;
    margin: auto;
    display: flex;
    align-items: center;
    height: 100%;
    box-sizing: border-box; }
    #mv .mvwrapper > div {
      text-align: center;
      max-width: 100%;
      margin: 0 auto 0; }
      #mv .mvwrapper > div img, #mv .mvwrapper > div #svg {
        display: block;
        width: 80%;
        margin: auto; }
    #mv .mvwrapper img, #mv .mvwrapper #svg {
      display: block;
      max-width: 1100px;
      width: calc( ( 600 / 1100 ) * 100% );
      width: 600px;
      max-height: 70vh; }
      @media all and (max-width: 960px) {
        #mv .mvwrapper img, #mv .mvwrapper #svg {
          margin: 20px;
          width: 70%;
          max-height: none; } }

.border {
  content: '';
  display: inline-block;
  width: 20px;
  height: 1px;
  background-color: #333;
  vertical-align: middle; }

.c-scrolldown {
  width: 1px;
  height: 50px;
  position: absolute;
  bottom: 20px;
  right: 20px;
  margin: 0 auto;
  overflow: hidden; }
  @media all and (max-width: 960px) {
    .c-scrolldown {
      bottom: 140px; } }
  .c-scrolldown .c-line {
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(to bottom, white 50%, rgba(255, 255, 255, 0) 50%);
    background-position: 0 -50px;
    background-size: 100% 200%;
    animation: scrolldown 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite; }

p.scrolldowntxt {
  position: absolute;
  bottom: 90px;
  right: 0px;
  font-size: 1.2rem;
  color: #fff;
  transform: rotate(90deg); }
  @media all and (max-width: 960px) {
    p.scrolldowntxt {
      bottom: 210px; } }

@keyframes scrolldown {
  0% {
    background-position: 0 -50px; }
  75% {
    background-position: 0 0; }
  100% {
    background-position: 0 50px; } }
.arrows {
  width: 60px;
  height: 72px;
  position: absolute;
  left: 50%;
  margin-left: -30px;
  bottom: 0px;
  transform: scale(0.6);
  opacity: 0.5;
  display: none; }

.arrows path {
  stroke: #fff;
  fill: transparent;
  stroke-width: 2px;
  animation: arrow 2s infinite;
  -webkit-animation: arrow 2s infinite; }

@keyframes arrow {
  0% {
    opacity: 0; }
  40% {
    opacity: 1; }
  80% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@-webkit-keyframes arrow /*Safari and Chrome*/ {
  0% {
    opacity: 0; }
  40% {
    opacity: 1; }
  80% {
    opacity: 0; }
  100% {
    opacity: 0; } }
.arrows path.a1 {
  animation-delay: -1s;
  -webkit-animation-delay: -1s;
  /* Safari 和 Chrome */ }

.arrows path.a2 {
  animation-delay: -0.5s;
  -webkit-animation-delay: -0.5s;
  /* Safari 和 Chrome */ }

.arrows path.a3 {
  animation-delay: 0s;
  -webkit-animation-delay: 0s;
  /* Safari 和 Chrome */ }

#loading {
  width: 100%;
  height: 100%;
  background: #237ea5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20000; }
  #loading .spinner {
    width: 40px;
    height: 40px;
    position: relative;
    position: absolute;
    top: calc( 50% - 20px);
    left: calc( 50% - 20px); }
  #loading .double-bounce1, #loading .double-bounce2 {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #fff;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
    animation: sk-bounce 2.0s infinite ease-in-out; }
  #loading .double-bounce2 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s; }
@-webkit-keyframes sk-bounce {
  0%, 100% {
    -webkit-transform: scale(0); }
  50% {
    -webkit-transform: scale(1); } }
@keyframes sk-bounce {
  0%, 100% {
    transform: scale(0);
    -webkit-transform: scale(0); }
  50% {
    transform: scale(1);
    -webkit-transform: scale(1); } }
#toppage .btn {
  margin: -40px auto 0px; }
  @media all and (max-width: 960px) {
    #toppage .btn {
      margin: -40px auto 0px; } }
#toppage .container {
  max-width: 960px;
  margin: auto; }
  @media all and (max-width: 960px) {
    #toppage .container {
      margin: 0 20px; } }
#toppage .container {
  padding: 50px 0 140px; }
  @media all and (max-width: 960px) {
    #toppage .container {
      padding: 20px 0 60px; } }
#toppage .container {
  text-align: center;
  position: relative; }
  #toppage .container .indexno {
    display: block;
    margin: auto;
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: #f00;
    text-align: center;
    font-size: 4.8rem;
    line-height: 70px;
    letter-spacing: -0.01em;
    color: #fff;
    font-family: "Barlow", serif;
    font-weight: 700;
    font-style: normal;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%); }
  #toppage .container h1 span {
    display: block;
    font-size: 3.6rem;
    font-weight: 700;
    color: #fff;
    margin: 60px auto;
    position: relative; }
    @media all and (max-width: 960px) {
      #toppage .container h1 span {
        font-size: 2.8rem;
        margin-bottom: 30px; } }
  #toppage .container h1 + p {
    font-size: 1.8rem;
    margin-bottom: 80px; }
    @media all and (max-width: 960px) {
      #toppage .container h1 + p {
        font-size: 1.6rem;
        margin-bottom: 40px;
        text-align: left; } }

#mvtxt .container {
  padding: 15px 0 30px; }
#mvtxt p {
  text-align: left;
  font-weight: 600;
  font-size: 1.4rem; }

#first {
  padding: 40px 0;
  background: url("../images/top/bg1.jpg") repeat-y center top -160px; }
  @media all and (max-width: 960px) {
    #first {
      padding: 10px 0 0px; } }
  #first .container {
    padding: 60px 0 60px; }
    @media all and (max-width: 960px) {
      #first .container {
        padding: 40px 0 60px; } }
  #first h1 {
    font-size: 3.6rem;
    font-weight: 600;
    border-top: 5px #237ea5 solid;
    border-bottom: 5px #237ea5 solid;
    margin: 0 auto 70px;
    padding: 10px 0;
    max-width: 700px; }
    @media all and (max-width: 960px) {
      #first h1 {
        font-size: 2.4rem;
        margin: 0 auto 30px; } }
    @media all and (max-width: 520px) {
      #first h1 {
        font-size: 1.9rem; } }
  #first h1 + p,
  #first p {
    font-size: 2.2rem !important;
    font-weight: 600;
    line-height: 2; }
    @media all and (max-width: 960px) {
      #first h1 + p,
      #first p {
        font-size: 1.6rem !important;
        text-align: center !important; } }

#index02 {
  background: #d3e5ed;
  position: relative; }
  #index02 h1 span {
    color: #000 !important; }
  #index02 .figflow {
    display: block;
    position: relative;
    z-index: 3; }
  #index02 .figtxt {
    display: block;
    width: 100%;
    height: 80px;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    background: #fff;
    margin-top: -30px;
    padding: 50px 0 30px;
    position: relative;
    z-index: 2; }
    @media all and (max-width: 520px) {
      #index02 .figtxt {
        height: 50px; }
        #index02 .figtxt img {
          width: 50px; }
        #index02 .figtxt p {
          font-size: 2rem !important; } }
    #index02 .figtxt p {
      font-size: 3rem;
      font-weight: 600;
      margin-top: 5px; }
  #index02 ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: #fff;
    margin-bottom: 30px;
    padding: 20px;
    box-sizing: border-box;
    position: relative; }
    #index02 ul li {
      width: calc( ( 100% - 32px ) / 3 ); }
      @media all and (max-width: 960px) {
        #index02 ul li {
          width: 100%;
          max-width: 610px;
          margin: 0 auto 30px; }
          #index02 ul li:last-child {
            margin-bottom: 0; } }
      #index02 ul li > div img {
        border-radius: 20px;
        display: block;
        margin-bottom: 10px; }
      #index02 ul li p {
        font-size: 1.8rem;
        padding: 0 5px; }
        #index02 ul li p:nth-of-type(1) {
          font-weight: 700; }
        #index02 ul li p:nth-of-type(2) {
          text-align: left; }
      @media all and (max-width: 960px) {
        #index02 ul li {
          display: flex;
          flex-wrap: wrap; }
          #index02 ul li > div {
            width: calc( 50% - 15px);
            order: 2;
            margin: 6px 0 0; }
          #index02 ul li p {
            font-size: 1.6rem;
            padding: 0; }
            #index02 ul li p:nth-of-type(1) {
              text-align: left;
              width: 100%;
              margin-bottom: 5px;
              order: 1; }
            #index02 ul li p:nth-of-type(2) {
              order: 3;
              width: 50%;
              margin-left: 15px; } }

#index03 {
  background: url("../images/top/bg1.jpg") repeat-y center top -750px; }
  #index03 .container:nth-child(2) {
    padding: 0 0 60px; }
  #index03 h1 span {
    color: #000 !important; }
  #index03 h1 + p {
    padding: 0 15px; }

#mvtitle {
  height: 100%; }
  #mvtitle > picture {
    position: absolute !important;
    bottom: 39px;
    right: 100px; }
    #mvtitle > picture img {
      display: block;
      height: 227px; }
    @media all and (max-width: 960px) {
      #mvtitle > picture {
        position: static !important; }
        #mvtitle > picture img {
          margin: 25px auto;
          height: auto;
          width: 80%;
          max-width: 400px; } }

.slick {
  position: absolute !important;
  bottom: 30px;
  right: 0px;
  width: 100%; }
  @media all and (max-width: 960px) {
    .slick {
      background: #fff;
      bottom: 5px; } }
  .slick li div {
    margin: 0 5px; }
  .slick li img {
    display: block;
    border-radius: 20px;
    border: 4px #fff solid;
    box-sizing: border-box;
    height: 227px !important;
    box-sizing: border-box; }
  @media all and (max-width: 960px) {
    .slick li img {
      border-width: 3px;
      height: 94px !important;
      box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.3);
      margin-top: 10px; } }

#index03 .flexbox {
  max-width: 960px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  #index03 .flexbox section {
    width: calc( 50% - 25px ); }
    @media all and (max-width: 960px) {
      #index03 .flexbox section {
        width: 100%; }
        #index03 .flexbox section:nth-child(1) {
          margin-bottom: 50px; } }
    #index03 .flexbox section > img {
      border-radius: 20px; }
    #index03 .flexbox section p {
      text-align: left; }
    #index03 .flexbox section .pr {
      margin: 10px auto 30px;
      font-weight: 500; }
      #index03 .flexbox section .pr p:nth-child(1) {
        font-weight: 500;
        font-size: 1.8rem;
        margin-bottom: 5px; }

#index04 {
  background: #e9f2f6; }
  #index04 h1 span {
    color: #000 !important; }
  #index04 .flexbox {
    max-width: 960px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    #index04 .flexbox section {
      width: calc( 50% - 25px ); }
      @media all and (max-width: 960px) {
        #index04 .flexbox section {
          width: 100%; }
          #index04 .flexbox section:nth-child(1) {
            margin-bottom: 50px; } }
      #index04 .flexbox section > img {
        border-radius: 20px; }
      #index04 .flexbox section p {
        text-align: left; }
      #index04 .flexbox section .pr {
        margin: 10px auto 30px; }
        #index04 .flexbox section .pr p:nth-child(1) {
          font-weight: 500;
          font-size: 1.8rem;
          margin-bottom: 5px; }
          @media all and (max-width: 960px) {
            #index04 .flexbox section .pr p:nth-child(1) {
              font-size: 1.6rem; } }
      #index04 .flexbox section .supportmessage {
        position: relative;
        border-bottom: 2px #237ea5 solid;
        margin: 20px auto 40px;
        padding-bottom: 20px;
        position: relative;
        padding: 30px 5px;
        border: 3px solid #237ea5;
        background-color: #e9f2f6;
        color: #333;
        font-weight: bold;
        font-size: 26px; }
        #index04 .flexbox section .supportmessage:before {
          position: absolute;
          top: 100%;
          left: 50px;
          transform: skew(-25deg);
          height: 15px;
          width: 15px;
          border-right: 3px solid #237ea5;
          background-color: #e9f2f6;
          content: ""; }
        #index04 .flexbox section .supportmessage p {
          font-weight: 600;
          font-size: 2.4rem;
          text-align: center;
          color: #237ea5; }
          @media all and (max-width: 960px) {
            #index04 .flexbox section .supportmessage p {
              font-size: 1.8rem; } }
