@charset "UTF-8";
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap");
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0; }

/* Document */
/* ============================================ */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
* 3. Remove gray overlay on links for iOS.
*/
html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  font-size: 62.5%;
  /* 1rem = 10px ~ 2rem = 20px */ }

/* Sections */
/* ============================================ */
/**
* Remove the margin in all browsers.
*/
body {
  margin: 0; }

/**
* Render the `main` element consistently in IE.
*/
main {
  display: block; }

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0; }

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0; }

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none; }

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

/* Grouping content */
/* ============================================ */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit; }

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */ }

address {
  font-style: inherit; }

/* Text-level semantics */
/* ============================================ */
/**
* Remove the gray background on active links in IE 10.
*/
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit; }

/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
  font-weight: bolder; }

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */ }

/**
* Add the correct font size in all browsers.
*/
small {
  font-size: 80%; }

/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content */
/* ============================================ */
/**
* Prevent vertical alignment issues.
*/
img,
embed,
object,
iframe {
  vertical-align: bottom; }

/* Forms */
/* ============================================ */
/**
* Reset form fields to make them styleable
*/
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit; }

/**
* Reset radio and checkbox appearance to preserve their look in iOS.
*/
[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox; }

[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio; }

/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input {
  /* 1 */
  overflow: visible; }

/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select {
  /* 1 */
  text-transform: none; }

/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none; }

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default; }

/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
* Remove arrow in IE10 & IE11
*/
select::-ms-expand {
  display: none; }

/**
* Remove padding
*/
option {
  padding: 0; }

/**
* Reset to invisible
*/
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0; }

/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
*    `fieldset` elements in all browsers.
*/
legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
  vertical-align: baseline; }

/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
  overflow: auto; }

/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
* 1. Correct the outline style in Safari.
*/
[type="search"] {
  outline-offset: -2px;
  /* 1 */ }

/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
* Clickable labels
*/
label[for] {
  cursor: pointer; }

/* Interactive */
/* ============================================ */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
  display: block; }

/*
* Add the correct display in all browsers.
*/
summary {
  display: list-item; }

/*
* Remove outline for editable content.
*/
[contenteditable] {
  outline: none; }

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0; }

caption {
  text-align: left; }

td,
th {
  vertical-align: top;
  padding: 0; }

th {
  text-align: left;
  font-weight: bold; }

/* Misc */
/* ============================================ */
/**
* Add the correct display in IE 10+.
*/
template {
  display: none; }

/**
* Add the correct display in IE 10.
*/
[hidden] {
  display: none; }

body {
  background-color: #fff;
  color: #1e2b6c;
  font-family: "Noto Sans JP","メイリオ","Font Awesome 5 Free",sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.67; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 14px; } }

img {
  max-width: 100%; }

.shadow-box {
  width: 800px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  padding: 30px;
  background-color: white;
  border-radius: 10px;
  -webkit-box-shadow: 2px 2px 2px #777;
          box-shadow: 2px 2px 2px #777; }
  @media screen and (max-width: 768px) {
    .shadow-box {
      padding: 20px 10px; } }

.d_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.d_grid {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.d_none {
  display: none; }

.f-small {
  font-size: 75%; }

.f-large {
  font-size: 125%; }

.f-150 {
  font-size: 150%; }

.f-200 {
  font-size: 200%; }

.t-left {
  text-align: left; }

.t-center {
  text-align: center; }

.t-right {
  text-align: right; }

.m-center {
  margin-left: auto;
  margin-right: auto; }

.flex-base {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 768px) {
    .flex-base {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .flex-base > div {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    .flex-base > div:not(:last-child) {
      margin-right: 20px; }
      @media screen and (max-width: 768px) {
        .flex-base > div:not(:last-child) {
          margin-right: 0;
          margin-bottom: 20px; } }
    .flex-base > div.flex-2 {
      -webkit-box-flex: 2;
          -ms-flex: 2;
              flex: 2; }
    .flex-base > div.flex-3 {
      -webkit-box-flex: 3;
          -ms-flex: 3;
              flex: 3; }
    .flex-base > div.flex-4 {
      -webkit-box-flex: 4;
          -ms-flex: 4;
              flex: 4; }
    .flex-base > div.order-1 {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
    .flex-base > div.order-2 {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .flex-base > div.order-3 {
      -webkit-box-ordinal-group: 4;
          -ms-flex-order: 3;
              order: 3; }
    .flex-base > div.order-4 {
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4; }

.a-opacity {
  -webkit-transition-duration: .15s;
          transition-duration: .15s;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease; }
  .a-opacity:hover {
    opacity: 0.7; }

.a-text {
  color: #1e2b6c;
  margin: 0 .25em; }
  .a-text:hover {
    text-decoration: underline; }

.f-bold {
  font-weight: 700; }

.ul-base {
  list-style: disc outside;
  margin-left: 1.25em; }

@media screen and (max-width: 768px) {
  .pc-device {
    display: none !important; } }

@media screen and (min-width: 769px) {
  .sp-device {
    display: none !important; } }

@media screen and (max-width: 1599px) {
  .min-device-1600 {
    display: none; } }

@media screen and (min-width: 1600px) {
  .max-device-1600 {
    display: none; } }

@media screen and (max-width: 1399px) {
  .min-device-1400 {
    display: none; } }

@media screen and (min-width: 1400px) {
  .max-device-1400 {
    display: none; } }

@media screen and (max-width: 1199px) {
  .min-device-1200 {
    display: none; } }

@media screen and (min-width: 1200px) {
  .max-device-1200 {
    display: none; } }

@media screen and (max-width: 1099px) {
  .min-device-1100 {
    display: none; } }

@media screen and (min-width: 1100px) {
  .max-device-1100 {
    display: none; } }

@media screen and (max-width: 999px) {
  .min-device-1000 {
    display: none; } }

@media screen and (min-width: 1000px) {
  .max-device-1000 {
    display: none; } }

@media screen and (max-width: 799px) {
  .min-device-800 {
    display: none; } }

@media screen and (min-width: 800px) {
  .max-device-800 {
    display: none; } }

.o-hidden {
  overflow: hidden; }

.wrap {
  width: 100%;
  padding: 8rem 0;
  position: relative; }
  @media screen and (max-width: 768px) {
    .wrap {
      padding: 4rem 0; } }

.inner {
  display: block;
  width: 120rem;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 768px) {
    .inner {
      width: 100%;
      max-width: 98%; } }
  .inner > div:not(:last-child) {
    margin-bottom: 5rem; }
    @media screen and (max-width: 768px) {
      .inner > div:not(:last-child) {
        margin-bottom: 2.5rem; } }

.inner-max {
  width: 100%;
  max-width: 100%; }

.head-1 {
  text-align: center;
  line-height: 1.333;
  font-weight: 700; }
  .head-1 h1, .head-1 h2, .head-1 h3, .head-1 h4, .head-1 h5, .head-1 h6 {
    font-size: 200%; }
    @media screen and (max-width: 768px) {
      .head-1 h1, .head-1 h2, .head-1 h3, .head-1 h4, .head-1 h5, .head-1 h6 {
        font-size: 150%; } }

.site-header {
  width: 100%;
  height: 60px;
  background-color: #fff;
  color: #444;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  -webkit-box-shadow: 0 0.1px 3px #444;
          box-shadow: 0 0.1px 3px #444; }
  .site-header .header-top {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 98%;
    height: 100%;
    padding: 5px 0;
    margin-left: auto;
    margin-right: auto; }
    .site-header .header-top > div:not(:last-child) {
      margin-right: 20px; }
    .site-header .header-top .header-logo {
      margin-right: auto !important; }
      @media screen and (max-width: 768px) {
        .site-header .header-top .header-logo {
          padding-right: 40px; } }
    .site-header .header-top .site-nav ul {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      .site-header .header-top .site-nav ul li:not(:last-child) {
        margin-right: 20px; }
    .site-header .header-top .nav-btn {
      background-color: #d82329;
      color: white;
      font-size: 120%;
      font-weight: 700;
      padding: 5px 15px;
      border-radius: 5px; }

.drawer--right .drawer-nav {
  left: calc(-280px - 20px);
  width: 280px;
  -webkit-box-shadow: 0 0 2px #000;
          box-shadow: 0 0 2px #000;
  -webkit-transition-duration: .15s;
          transition-duration: .15s;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease; }
  .drawer--right .drawer-nav .drawer-menu {
    padding: 0 10px 10px; }
    .drawer--right .drawer-nav .drawer-menu li {
      margin: 20px 0;
      padding-left: 5px;
      border-left: 4px solid #1e2b6c; }
      .drawer--right .drawer-nav .drawer-menu li a {
        display: block;
        width: 100%; }

.drawer--right.drawer-open .drawer-hamburger {
  right: 0; }

.drawer--right.drawer-open .drawer-nav {
  left: 0; }

.drawer-overlay {
  background-color: rgba(0, 0, 0, 0.35);
  z-index: 999; }

main {
  padding-top: 60px; }

.site-footer {
  background-color: #fff;
  color: #1e2b6c;
  padding: 30px 0; }
  @media screen and (max-width: 1200px) {
    .site-footer {
      padding-bottom: 130px; } }
  .site-footer .footer-wrap {
    width: 120rem;
    max-width: 98%;
    margin-left: auto;
    margin-right: auto; }
    .site-footer .footer-wrap > div:not(:last-child) {
      margin-bottom: 20px; }
    .site-footer .footer-wrap .footer-flex > div {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    .site-footer .footer-wrap .footer-flex .footer-about {
      -webkit-box-flex: 1.75;
          -ms-flex: 1.75;
              flex: 1.75;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media screen and (max-width: 1199px) {
        .site-footer .footer-wrap .footer-flex .footer-about {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
      @media screen and (max-width: 768px) {
        .site-footer .footer-wrap .footer-flex .footer-about {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
      .site-footer .footer-wrap .footer-flex .footer-about > div:not(:last-child) {
        margin-right: 10px; }
        @media screen and (max-width: 768px) {
          .site-footer .footer-wrap .footer-flex .footer-about > div:not(:last-child) {
            margin-right: 0;
            margin-bottom: 20px; } }
      .site-footer .footer-wrap .footer-flex .footer-about .footer-logo {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 195px; }
        .site-footer .footer-wrap .footer-flex .footer-about .footer-logo > div:not(:last-child) {
          margin-right: 10px; }
      .site-footer .footer-wrap .footer-flex .footer-about .footer-access {
        font-size: 80%;
        line-height: 1.27; }
        @media screen and (max-width: 768px) {
          .site-footer .footer-wrap .footer-flex .footer-about .footer-access {
            text-align: center; } }
        @media screen and (max-width: 768px) {
          .site-footer .footer-wrap .footer-flex .footer-about .footer-access .office-name {
            font-size: 120%;
            margin-bottom: 10px; } }
        @media screen and (max-width: 768px) {
          .site-footer .footer-wrap .footer-flex .footer-about .footer-access .office-access {
            text-align: left; }
            .site-footer .footer-wrap .footer-flex .footer-about .footer-access .office-access:not(:last-child) {
              margin-bottom: 5px; } }
    .site-footer .footer-wrap .footer-flex .footer-nav {
      font-size: 80%;
      line-height: 1.27; }
      .site-footer .footer-wrap .footer-flex .footer-nav nav {
        color: #444; }
        .site-footer .footer-wrap .footer-flex .footer-nav nav ul {
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start; }
          .site-footer .footer-wrap .footer-flex .footer-nav nav ul li:not(:last-child) {
            margin-right: 20px; }
    .site-footer .footer-wrap .copyright {
      margin-top: -18px;
      font-size: 10px; }
      @media screen and (max-width: 1199px) {
        .site-footer .footer-wrap .copyright {
          margin-top: -12px;
          text-align: center; } }
      @media screen and (max-width: 768px) {
        .site-footer .footer-wrap .copyright {
          margin-top: -18px; } }

/*---------------------------------
動画背景 
---------------------------------*/
#header_video {
  margin-top: 3px;
  overflow: hidden; }
  #header_video .inner {
    width: 100%;
    max-width: 100%; }
    #header_video .inner .video_box {
      margin: 0 auto;
      text-align: center;
      width: auto;
      height: 100vh;
      position: relative;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        #header_video .inner .video_box {
      width: 100%;
      height: 100%;
      margin-top: 15%;
      position: relative;
      overflow: hidden; }
      #header_video .inner .video_box video {
        width: 100%;
        height: auto; } }
      @media (max-width: 1370px) and (min-width: 768px) {
        #header_video .inner .video_box {
      margin: 0 auto;
      text-align: center;
      width: auto;
      height: 100%;
      position: relative;
      overflow: hidden; }
      #header_video .inner .video_box video {
        width: 100%;
        height: auto; } }
/*        @media screen and (max-width: 768px) {
          #header_video .inner .video_box video {
            display: none; } } */
      #header_video .inner .video_box .video_box_text {
          text-align: left;
        color: #fff;
        position: absolute;
        top: 65%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        left: 5%; }
        @media screen and (max-width: 768px) {
          #header_video .inner .video_box .video_box_text {
            left: 1%;
            top: 65.5%; } }
        #header_video .inner .video_box .video_box_text p {
          font-size: 350%;
          font-weight: 700;
          line-height: 1.25; }
          #header_video .inner .video_box .video_box_text p .text_safe {
            font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
            font-size: 175%; }
          #header_video .inner .video_box .video_box_text .text_grow {
            font-family: Arial, Helvetica, "sans-serif";
            padding-left: 15px;
            font-size: 220%; }
          #header_video .inner .video_box .video_box_text p:last-child {
            padding-top: 25px;
            font-size: 200%; }
          @media screen and (max-width: 768px) {
            #header_video .inner .video_box .video_box_text p {
              font-size: 130%; }
          #header_video .inner .video_box .video_box_text p .text_safe {
            font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
            font-size: 125%; }
          #header_video .inner .video_box .video_box_text .text_grow {
            font-family: Arial, Helvetica, "sans-serif";
            padding-left: 15px;
            font-size: 120%; }
              #header_video .inner .video_box .video_box_text p:last-child {
            padding-top: 5px;
                font-size: 110%; } }
          @media (max-width: 1024px) and (min-width: 767px) {
            #header_video .inner .video_box .video_box_text p {
              font-size: 130%; }
          #header_video .inner .video_box .video_box_text p .text_safe {
            font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
            font-size: 125%; }
          #header_video .inner .video_box .video_box_text .text_grow {
            font-family: Arial, Helvetica, "sans-serif";
            padding-left: 15px;
            font-size: 120%; }
              #header_video .inner .video_box .video_box_text p:last-child {
            padding-top: 5px;
                font-size: 110%; } }
      #header_video .inner .video_box .video_box_banner {
        position: absolute;
        top: 1em;
        right: 1em;
        -ms-grid-columns: (1fr)[1];
            grid-template-columns: repeat(1, 1fr);
        gap: .25em; }
        @media screen and (max-width: 768px) {
          #header_video .inner .video_box .video_box_banner {
            left: .5em;
            bottom: .5em;
            top: unset;
            right: unset; } }
        #header_video .inner .video_box .video_box_banner img {
          width: 20rem;
          height: auto; }
          @media screen and (max-width: 768px) {
            #header_video .inner .video_box .video_box_banner img {
              width: 15rem; } }
        #header_video .inner .video_box .video_box_banner a:hover {
          opacity: .8; }


#index .site-fv {
  background-color: white;
  padding: 0 !important;
  margin-bottom: 20px; }
  #index .site-fv .site-fv-img {
    padding-top: 60px;
    width: 120rem;
    max-width: 98%;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #index .site-fv .site-fv-img {
        padding-top: 20px; } }

#index #con-1 {
  background: url(../img/index/con-1/bg.jpg) no-repeat;
  background-size: cover;
  background-position: center; }
  #index #con-1 .con-1_youtube > div:not(:last-child) {
    margin-bottom: 20px; }
  #index #con-1 .con-1_youtube .con-1_youtube-iframe {
    width: 100%;
    height: 450px; }
    @media screen and (max-width: 768px) {
      #index #con-1 .con-1_youtube .con-1_youtube-iframe {
        height: 200px; } }
    #index #con-1 .con-1_youtube .con-1_youtube-iframe iframe {
      width: 100%;
      height: 100%; }
  #index #con-1 .con-1_youtube .con-1_youtube-desc {
    text-align: center;
    line-height: 1.25; }
    #index #con-1 .con-1_youtube .con-1_youtube-desc h2 {
      font-size: 200%;
      font-weight: 700; }
      @media screen and (max-width: 768px) {
        #index #con-1 .con-1_youtube .con-1_youtube-desc h2 {
          font-size: 150%; } }
    #index #con-1 .con-1_youtube .con-1_youtube-desc p {
      font-size: 150%;
      font-weight: 700; }
      @media screen and (max-width: 768px) {
        #index #con-1 .con-1_youtube .con-1_youtube-desc p {
          font-size: 120%; } }
    #index #con-1 .con-1_youtube .con-1_youtube-desc .con-1_youtube-desc-icon {
      display: inline-block;
      width: 60px;
      height: 60px;
      margin-bottom: -33px;
      margin-left: 4px;
      background: url(../img/index/con-1/yubi.svg) no-repeat;
      background-size: contain; }
      @media screen and (max-width: 768px) {
        #index #con-1 .con-1_youtube .con-1_youtube-desc .con-1_youtube-desc-icon {
          width: calc(60px * .50);
          height: calc(60px * .50);
          margin-left: 2px;
          margin-bottom: -14px; } }
  #index #con-1 .con-1_contact {
    background-color: #1e2b6c;
    color: white; }
    #index #con-1 .con-1_contact > div:not(:last-child) {
      margin-bottom: 10px; }
    #index #con-1 .con-1_contact .con-1_contact-desc {
      text-align: center;
      font-weight: 700;
      line-height: 1.25; }
      #index #con-1 .con-1_contact .con-1_contact-desc h3 {
        font-size: 150%; }
      @media screen and (max-width: 768px) {
        #index #con-1 .con-1_contact .con-1_contact-desc p {
          font-size: 70%; } }
    #index #con-1 .con-1_contact .con-1_contact-btn {
      display: block;
      width: 200px;
      max-width: 100%;
      margin-left: auto;
      margin-right: auto;
      padding: 3px 0;
      background-color: #d82329;
      text-align: center;
      font-size: 120%;
      font-weight: 700;
      border-radius: 20px; }

#index #con-2 .head-1 h2 {
  display: inline-block;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(75%, yellow));
  background: linear-gradient(transparent 75%, yellow 75%); }

#index #con-2 .con-2_okomari {
  border: 2px solid #444;
  -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
          box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3); }
  #index #con-2 .con-2_okomari ul {
    color: #444;
    font-size: 200%;
    font-weight: 700;
    line-height: 2.00;
    padding: 20px 10px; }
    @media screen and (max-width: 768px) {
      #index #con-2 .con-2_okomari ul {
        font-size: 120%; } }
    #index #con-2 .con-2_okomari ul li {
      position: relative;
      margin-left: 50px; }
      @media screen and (max-width: 768px) {
        #index #con-2 .con-2_okomari ul li {
          margin-left: 20px; } }
      #index #con-2 .con-2_okomari ul li::before {
        content: "";
        width: 1.25em;
        height: 1.25em;
        display: inline-block;
        position: absolute;
        top: 50%;
        left: -50px;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        background: url(../img/index/con-2/checkbox.svg) no-repeat;
        background-size: contain;
        background-position: center; }
        @media screen and (max-width: 768px) {
          #index #con-2 .con-2_okomari ul li::before {
            left: -20px; } }

#index #con-2 .con-2_support > div:not(:last-child) {
  margin-bottom: 20px; }

#index #con-2 .con-2_support .con-2_support-head p {
  text-align: center;
  font-weight: 700;
  font-size: 120%; }
  @media screen and (max-width: 768px) {
    #index #con-2 .con-2_support .con-2_support-head p {
      font-size: 100%; } }
  #index #con-2 .con-2_support .con-2_support-head p:last-of-type {
    background-color: #1e2b6c;
    color: white;
    width: 800px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    font-size: 250%; }
    @media screen and (max-width: 768px) {
      #index #con-2 .con-2_support .con-2_support-head p:last-of-type {
        font-size: 150%; } }

#index #con-2 .con-2_support .con-2_support-list {
  width: 1000px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }
  #index #con-2 .con-2_support .con-2_support-list .con-2_support-list-item {
    padding: 10px;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch; }
    #index #con-2 .con-2_support .con-2_support-list .con-2_support-list-item img {
      height: 130px; }
    #index #con-2 .con-2_support .con-2_support-list .con-2_support-list-item .con-2_support-list-item-desc {
      background-color: white;
      padding: 10px;
      border-radius: 10px;
      -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
              box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
      text-align: center;
      height: 145px; }
      #index #con-2 .con-2_support .con-2_support-list .con-2_support-list-item .con-2_support-list-item-desc h3 {
        width: 100%;
        border-bottom: 2px solid #1e2b6c;
        font-size: 150%;
        font-weight: 700;
        margin-bottom: 5px; }
      @media screen and (max-width: 768px) {
        #index #con-2 .con-2_support .con-2_support-list .con-2_support-list-item .con-2_support-list-item-desc {
          height: auto; } }
    #index #con-2 .con-2_support .con-2_support-list .con-2_support-list-item > div:not(:last-child) {
      margin-bottom: 20px; }

#index #con-2 .con-2_out {
  width: 800px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  background-color: #ef821e;
  color: white;
  padding: 20px;
  border-radius: 10px;
  font-weight: 700;
  text-align: center; }
  #index #con-2 .con-2_out p {
    font-size: 120%; }
    #index #con-2 .con-2_out p:first-child {
      font-size: 180%; }
      @media screen and (max-width: 768px) {
        #index #con-2 .con-2_out p:first-child {
          font-size: 100%; } }
    @media screen and (max-width: 768px) {
      #index #con-2 .con-2_out p {
        font-size: 100%; } }
  @media screen and (max-width: 768px) {
    #index #con-2 .con-2_out {
      padding: 10px; } }

#index #con-3 .con-3_service {
  overflow: hidden; }
  #index #con-3 .con-3_service > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-left: -20px;
    margin-right: -20px; }
    @media screen and (max-width: 768px) {
      #index #con-3 .con-3_service > div {
        margin-left: -10px;
        margin-right: -10px; } }
    #index #con-3 .con-3_service > div > * {
      padding: 20px;
      width: 50%; }
      @media screen and (max-width: 768px) {
        #index #con-3 .con-3_service > div > * {
          width: 100%;
          padding: 10px; } }
  #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-img {
    overflow: hidden;
    height: 350px; }
    @media screen and (max-width: 768px) {
      #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-img {
        height: auto; } }
    #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-img img {
      width: 100%;
      height: auto; }
  #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-desc {
    position: relative;
    margin-top: -30px;
    width: 400px;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    background-color: white;
    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
            box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
    border-radius: 5px;
    padding: 10px; }
    #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-desc .con-3_service-item-desc-acd {
      width: 100%; }
      #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-desc .con-3_service-item-desc-acd > input {
        display: none; }
      #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-desc .con-3_service-item-desc-acd > label {
        display: block;
        width: 100%;
        text-align: center; }
        #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-desc .con-3_service-item-desc-acd > label img {
          -webkit-transition-duration: .15s;
                  transition-duration: .15s;
          -webkit-transition-property: all;
          transition-property: all;
          -webkit-transition-timing-function: ease;
                  transition-timing-function: ease;
          height: 20px; }
      #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-desc .con-3_service-item-desc-acd .con-3_service-item-desc-acd-content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: 10px;
        height: 0;
        opacity: 0;
        -webkit-transition-duration: .15s;
                transition-duration: .15s;
        -webkit-transition-property: all;
        transition-property: all;
        -webkit-transition-timing-function: ease;
                transition-timing-function: ease;
        visibility: hidden; }
      #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-desc .con-3_service-item-desc-acd > input:checked ~ .con-3_service-item-desc-acd-content {
        height: 100%;
        opacity: 1;
        visibility: visible; }
      #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-desc .con-3_service-item-desc-acd > input:checked ~ label img {
        margin-top: 20px;
        -webkit-transform: rotate(-180deg);
                transform: rotate(-180deg); }
    #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-desc h3 {
      text-align: center;
      font-size: 120%;
      font-weight: 700;
      padding-bottom: 5px;
      margin-bottom: 8px;
      border-bottom: 1px solid #1e2b6c; }
    #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-desc p {
      -ms-flex-item-align: center;
          -ms-grid-row-align: center;
          align-self: center;
      margin-top: 20px;
      color: #d82329; }
    #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-desc ul li {
      padding-left: 1em;
      text-indent: -1em; }
      #index #con-3 .con-3_service .con-3_service-item .con-3_service-item-desc ul li::before {
        content: "○";
        margin-right: .100em; }

#index #con-4 {
  background-color: #e8fcfb; }

#index #con-5 .con-5_koe {
  overflow: hidden; }
  #index #con-5 .con-5_koe > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-left: -20px;
    margin-right: -20px; }
    @media screen and (max-width: 768px) {
      #index #con-5 .con-5_koe > div {
        margin-left: -10px;
        margin-right: -10px; } }
    #index #con-5 .con-5_koe > div > * {
      padding: 20px;
      width: 25%; }
      @media screen and (max-width: 768px) {
        #index #con-5 .con-5_koe > div > * {
          width: 50%;
          padding: 10px; } }
  #index #con-5 .con-5_koe .con-5_koe-item .con-5_koe-item-desc > *:not(:last-child) {
    margin-bottom: 5px; }
  #index #con-5 .con-5_koe .con-5_koe-item .con-5_koe-item-desc h3 {
    text-align: center;
    font-size: 130%;
    font-weight: 700;
    border-bottom: 2px solid #1e2b6c; }
  @media screen and (max-width: 768px) {
    #index #con-5 .con-5_koe .con-5_koe-item .con-5_koe-item-desc p {
      font-size: 80%; } }
  #index #con-5 .con-5_koe .con-5_koe-item img {
    height: 120px; }
  #index #con-5 .t-center01 {
    padding-right: 5%;
    text-align: right;
    font-size: 90%; }
    @media screen and (max-width: 768px) {
      #index #con-5 .con-5_koe .con-5_koe-item img {
        height: 80px; } }

#index #con-5 .con-5_5000 {
  text-align: center;
  font-size: 200%;
  font-weight: 700;
  color: #d82329; }
  @media screen and (max-width: 768px) {
    #index #con-5 .con-5_5000 {
      font-size: 150%; } }

#index #con-5 .con-5_stres {
  overflow: hidden; }
  #index #con-5 .con-5_stres > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-left: -20px;
    margin-right: -20px; 
    justify-content: center;}
    @media screen and (max-width: 768px) {
      #index #con-5 .con-5_stres > div {
        margin-left: 10px;
        margin-right: 10px; } }
    #index #con-5 .con-5_stres > div > * {
      padding: 10px 30px;
      width: 23%; }
    #index #con-5 .con-5_stres img {
      /* width: 90%; */
      /* height: auto; */ }
     @media screen and (max-width: 768px) {
        #index #con-5 .con-5_stres > div > * {
          width: 50%;
          padding: 10px; } }


#index #con-6 {
  background: url(../img/index/con-6/bg.jpg) repeat;
  background-size: cover; }
  #index #con-6 .con-6_head > div:not(:last-child) {
    margin-bottom: 20px; }
  @media screen and (min-width: 769px) {
    #index #con-6 .con-6_head .con-6_head-img img {
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; } }
  #index #con-6 .con-6_head .con-6_head-label {
    text-align: center; }
    #index #con-6 .con-6_head .con-6_head-label > div {
      background-color: #dd336c;
      color: white;
      font-size: 150%;
      font-weight: 700; }
      @media screen and (max-width: 768px) {
        #index #con-6 .con-6_head .con-6_head-label > div {
          width: 100%; } }
  #index #con-6 .con-6_head .con-6_head-img,
  #index #con-6 .con-6_head .con-6_head-label {
    margin-left: auto;
    margin-right: auto;
    width: 600px;
    max-width: 100%; }
  #index #con-6 .con-6_merit {
    background-color: white;
    padding: 20px;
    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
            box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
    border-radius: 10px; }
    #index #con-6 .con-6_merit > *:not(:last-child) {
      margin-bottom: 10px; }
    #index #con-6 .con-6_merit h3 {
      font-size: 120%;
      font-weight: 700;
      text-align: center; }
      #index #con-6 .con-6_merit h3::before {
        content: "●";
        margin-right: 10px; }
      #index #con-6 .con-6_merit h3::after {
        content: "●";
        margin-left: 10px; }
    #index #con-6 .con-6_merit p {
      font-size: 150%;
      font-weight: 700; }
      #index #con-6 .con-6_merit p span {
        color: #dd336c; }
      @media screen and (max-width: 768px) {
        #index #con-6 .con-6_merit p {
          font-size: 120%; }
          #index #con-6 .con-6_merit p:not(:last-child) {
            margin-bottom: 15px; } }
  @media screen and (min-width: 769px) {
    #index #con-6 .con-6_app img {
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; } }
  #index #con-6 .con-6_app .con-6_app-desc > *:not(:last-child) {
    margin-bottom: 15px; }
  @media screen and (min-width: 769px) {
    #index #con-6 .con-6_app .con-6_app-desc img:nth-of-type(odd) {
      margin-left: -60px; } }
  #index #con-6 .con-6_kinou .con-6_check {
    display: none; }
  #index #con-6 .con-6_kinou .con-6_label {
    position: relative;
    display: block;
    width: 100%;
    background-color: #1e2b6c;
    color: white;
    font-size: 130%;
    font-weight: 700;
    padding: 5px 0;
    padding-left: 100px; }
    @media screen and (max-width: 768px) {
      #index #con-6 .con-6_kinou .con-6_label {
        padding-left: 80px; } }
    #index #con-6 .con-6_kinou .con-6_label:before {
      content: "";
      position: absolute;
      display: inline-block;
      width: 80px;
      height: 80px;
      top: -17px;
      left: 10px;
      background: url(../img/index/con-6/yubi.svg) no-repeat;
      background-size: contain; }
      @media screen and (max-width: 768px) {
        #index #con-6 .con-6_kinou .con-6_label:before {
          width: 60px;
          height: 60px;
          top: -8px; } }
  #index #con-6 .con-6_kinou .con-6_kinou-desc {
    height: 60px;
    -webkit-transition-duration: .15s;
            transition-duration: .15s;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease;
    overflow: hidden;
    background-color: white;
    padding: 20px; }
    #index #con-6 .con-6_kinou .con-6_kinou-desc > div:not(:last-child) {
      margin-bottom: 20px; }
    @media screen and (max-width: 768px) {
      #index #con-6 .con-6_kinou .con-6_kinou-desc {
        height: 0;
        opacity: 0;
        visibility: hidden;
        padding: 0; } }
    #index #con-6 .con-6_kinou .con-6_kinou-desc .con-6_kinou-desc-head {
      font-size: 90%; }
  #index #con-6 .con-6_kinou .con-6_check:checked + .con-6_label + .con-6_kinou-desc {
    height: auto;
    opacity: 1;
    visibility: visible; }
    @media screen and (max-width: 768px) {
      #index #con-6 .con-6_kinou .con-6_check:checked + .con-6_label + .con-6_kinou-desc {
        padding: 10px; } }

@media screen and (min-width: 769px) {
  #index #con-7 img {
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; } }

#index #con-8 {
  background-color: #1e2b6c;
  color: white;
  padding: 60px 0; }
  #index #con-8 .con-8_staff {
    position: relative; }
    #index #con-8 .con-8_staff::after {
      content: "";
      position: absolute;
      display: inline-block;
      top: -212px;
      left: 0;
      width: 447px;
      height: 388px;
      background: url(../img/index/con-8/staff.png) no-repeat;
      background-size: cover; }
  #index #con-8 .con-8_desc > div:not(:last-child) {
    margin-bottom: 20px; }
  #index #con-8 .con-8_desc .con-8_desc-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 180%;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      #index #con-8 .con-8_desc .con-8_desc-head {
        font-size: 120%; } }
  #index #con-8 .con-8_desc .con-8_contact-btn {
    display: block;
    background-color: #d82329;
    color: white;
    width: 250px;
    max-width: 100%;
    padding: 3px 0;
    border-radius: 20px;
    text-align: center;
    font-size: 120%;
    font-weight: 700; }
