@charset "UTF-8";
/* 
html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;700&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

address {
  font-style: normal; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/*
Zarigani Design Office Drawer Menu
Copyright 2018 Zarigani Design Office

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/* === Hambuerger Button's Style Paste Here === */
/*+++ Reset +++*/
.zdo_drawer_button * {
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-align: left;
  text-decoration: none;
  list-style: none; }

.zdo_drawer_button {
  display: block;
  padding: 0;
  width: 42px;
  height: 26px;
  position: relative;
  background: none;
  border: none;
  text-align: center;
  letter-spacing: 0.1em;
  cursor: pointer;
  outline: none; }

.zdo_drawer_button .zdo_drawer_bar {
  display: block;
  width: 42px;
  height: 2px;
  transition: all 0.2s;
  transform-origin: 0% 0%;
  transform: translateY(-50%);
  position: absolute;
  left: 0; }

.zdo_drawer_button .zdo_drawer_bar1 {
  top: 0; }

.zdo_drawer_button .zdo_drawer_bar2 {
  top: 50%; }

.zdo_drawer_button .zdo_drawer_bar3 {
  top: 100%; }

.zdo_drawer_button.active .zdo_drawer_bar {
  width: 36.77px;
  left: 8px; }

.zdo_drawer_button.active .zdo_drawer_bar1 {
  transform: rotate(0.7853981634rad) translateY(-50%);
  top: 0px; }

.zdo_drawer_button.active .zdo_drawer_bar2 {
  opacity: 0; }

.zdo_drawer_button.active .zdo_drawer_bar3 {
  transform: rotate(-0.7853981634rad) translateY(-50%);
  top: calc(100% - 0px); }

.zdo_drawer_button.active .zdo_drawer_menu_text {
  display: none; }

.zdo_drawer_button.active .zdo_drawer_close {
  display: block; }

.zdo_drawer_text {
  width: 100%;
  position: absolute;
  bottom: -20px;
  left: 0;
  text-align: center;
  font-size: 10px; }

.zdo_drawer_close {
  letter-spacing: 0.08em;
  display: none; }

/*+++ Default Button Color +++*/
.zdo_drawer_button {
  color: #2274a5; }

.zdo_drawer_button .zdo_drawer_bar {
  background-color: #2274a5; }

/* === Hambuerger Button's Style End === */
.zdo_drawer_menu .zdo_drawer_button {
  /*+++ Hamburger Button Position +++*/
  position: fixed;
  top: 32px;
  right: 32px;
  z-index: 1001; }

.zdo_drawer_menu a {
  color: inherit;
  text-decoration: none; }

.zdo_drawer_menu a:visited {
  color: inherit; }

.zdo_drawer_menu .zdo_drawer_bg {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 999;
  background-color: rgba(51, 51, 51, 0.5);
  display: none;
  top: 0;
  left: 0; }

.zdo_drawer_menu .zdo_drawer_nav_wrapper {
  width: 312px;
  height: 100%;
  transition: all 0.2s;
  transform: translate(312px);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  background-color: #FFF; }

.zdo_drawer_menu .zdo_drawer_nav_wrapper.open {
  transform: translate(0); }

.zdo_drawer_menu.left .zdo_drawer_button {
  right: auto;
  left: 32px; }

.zdo_drawer_menu.left .zdo_drawer_nav_wrapper {
  transform: translate(-312px);
  right: auto;
  left: 0; }

.zdo_drawer_menu.left .zdo_drawer_nav_wrapper.open {
  transform: translate(0); }

/*+++ Default Navigation CSS +++*/
.zdo_drawer_menu .zdo_drawer_nav {
  padding: 112px 24px; }

.zdo_drawer_menu .zdo_drawer_nav li {
  font-size: 16px;
  margin-bottom: 15px; }

/*# sourceMappingURL=/zdo_drawer_menu.css.map */
/* wrap */
/*	common
---------------------------------*/
::selection {
  background: rgba(0, 169, 157, 0.8);
  color: #fff; }

::-moz-selection {
  background: rgba(0, 169, 157, 0.8);
  color: #fff; }

body {
  color: #333333;
  font-family: 'Noto Sans Japanese', "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  position: relative; }
  @media screen and (max-width: 767px) {
    body {
      text-size-adjust: 100%;
      -webkit-text-size-adjust: 100%;
      font-size: 14px; } }

/* link */
a {
  color: #333333;
  text-decoration: none; }

a:active, a:focus {
  outline: none; }

/* element */
.image {
  display: inline; }
  @media (max-width: 414px) {
    .image {
      display: none; } }

.image_s {
  display: none; }
  @media (max-width: 414px) {
    .image_s {
      display: inline; } }

/* adjust anchor */
.anc {
  margin-top: -0px;
  padding-top: 0px; }

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

/* heading */
/* text */
p {
  text-align: justify; }

/*	clearfix
---------------------------------*/
/* add parent object */
.cl:before, .cl:after {
  content: " ";
  display: table; }

.cl:after {
  clear: both; }

.cl {
  *zoom: 1;
  display: block; }

.block_p {
  display: block; }
  @media screen and (max-width: 767px) {
    .block_p {
      display: none; } }

.block_s {
  display: none; }
  @media screen and (max-width: 767px) {
    .block_s {
      display: block; } }

.inline_p {
  display: inline; }
  @media screen and (max-width: 767px) {
    .inline_p {
      display: none; } }

.inline_s {
  display: none; }
  @media screen and (max-width: 767px) {
    .inline_s {
      display: inline; } }

.row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap; }

.between {
  -webkit-justify-content: space-between;
  /* Safari etc. */
  -ms-justify-content: space-between;
  /* IE10        */
  justify-content: space-between; }

/* wrapper */
.wrapper {
  width: 100%;
  min-width: 1200px;
  margin: auto; }
  @media screen and (max-width: 767px) {
    .wrapper {
      min-width: 100%; } }

/* inner */
.inner {
  position: relative;
  width: 1020px;
  padding: 0 20px;
  margin: auto; }
  @media screen and (max-width: 767px) {
    .inner {
      padding: 0 20px;
      width: 100%; } }

/* header */
.header {
  background: #FFF;
  text-align: center;
  width: 100%;
  margin: 0 0 80px; }
  @media screen and (max-width: 767px) {
    .header {
      margin: 0; } }
  .header .ttl {
    text-align: center;
    background: #d0ebf2;
    font-size: 12px;
    color: #00a99d;
    padding: 10px 0;
    font-weight: normal; }
    @media screen and (max-width: 767px) {
      .header .ttl {
        padding: 5px;
        font-size: 8px; } }
  .header .headernav {
    padding: 25px 0 0; }
    @media screen and (max-width: 767px) {
      .header .headernav {
        padding: 15px 0; } }
    .header .headernav .logo {
      width: 120px; }
      @media screen and (max-width: 767px) {
        .header .headernav .logo {
          width: 80px; } }
    .header .headernav .navcont {
      width: 700px; }
      .header .headernav .navcont .list {
        align-items: center;
        align-content: center; }
        .header .headernav .navcont .list li {
          margin: 0 30px 0 0; }
          .header .headernav .navcont .list li:last-of-type {
            margin: 0; }
          .header .headernav .navcont .list li a {
            background: url("../img/icon_arrow.svg") left 4px no-repeat;
            background-size: 10px;
            display: block;
            padding: 0 0 0 20px;
            transition: .4s; }
  .header .contactbtn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    justify-content: center;
    color: #FFF;
    font-weight: bold;
    background: rgba(0, 169, 157, 0.8);
    border-radius: 100px;
    width: 170px;
    height: 62px; }
    .header .contactbtn img {
      display: inline-block;
      width: 16px;
      margin: 0 10px 0 0;
      position: relative; }
  .header .zdo_drawer_button {
    width: 32px;
    height: 20px; }
  .header .zdo_drawer_menu .zdo_drawer_button {
    right: 20px;
    top: 35px; }
  .header .zdo_drawer_button .zdo_drawer_bar {
    width: 100%; }
  .header .zdo_drawer_button.active .zdo_drawer_bar3 {
    top: calc(100% - -2px); }
  .header .zdo_drawer_button {
    color: #004e29; }
  .header .zdo_drawer_button .zdo_drawer_bar {
    background: #004e29; }
  .header .zdo_drawer_text {
    font-weight: bold; }
  .header .zdo_drawer_menu .zdo_drawer_nav {
    padding: 90px 30px 10px; }
    .header .zdo_drawer_menu .zdo_drawer_nav li {
      text-align: left;
      margin: 0;
      padding: 10px 0; }
      .header .zdo_drawer_menu .zdo_drawer_nav li img {
        display: inline-block;
        width: 10px;
        margin: 0 10px 0 0; }
  .header .zdo_drawer_menu .zdo_drawer_nav_wrapper .contactbtn {
    width: 80%;
    margin: auto;
    height: 45px; }

.footer {
  padding: 0 0 70px; }
  @media screen and (max-width: 767px) {
    .footer {
      padding: 0 0 20px; } }
  .footer .footerinner .box_left {
    width: 270px;
    font-size: 13px;
    line-height: 1.6; }
    @media screen and (max-width: 767px) {
      .footer .footerinner .box_left {
        width: 100%; } }
    .footer .footerinner .box_left .logo {
      width: 120px;
      margin: 0 0 10px; }
      @media screen and (max-width: 767px) {
        .footer .footerinner .box_left .logo {
          margin: 0 auto 10px; } }
  .footer .footerinner .box_right {
    width: 420px;
    padding: 20px 0 0; }
    @media screen and (max-width: 767px) {
      .footer .footerinner .box_right {
        width: 100%; } }
    .footer .footerinner .box_right .totop {
      overflow: hidden; }
      .footer .footerinner .box_right .totop a {
        width: 32px;
        display: block;
        float: right; }
    .footer .footerinner .box_right .list {
      margin: 20px 0; }
      @media screen and (max-width: 767px) {
        .footer .footerinner .box_right .list {
          margin: 20px 0 0;
          padding: 20px 0 0 0;
          border-top: 1px solid #CCC; } }
      @media screen and (max-width: 767px) {
        .footer .footerinner .box_right .list li {
          width: 100%;
          margin: 0 0 10px; } }
      .footer .footerinner .box_right .list li img {
        display: inline-block;
        width: 10px;
        margin: 0 5px 0 0;
        position: relative; }
        @media screen and (max-width: 767px) {
          .footer .footerinner .box_right .list li img {
            width: 6px; } }
    .footer .footerinner .box_right .copy {
      font-size: 12px;
      color: #00a99d;
      text-align: right;
      letter-spacing: 1px; }
      @media screen and (max-width: 767px) {
        .footer .footerinner .box_right .copy {
          font-size: 10px;
          text-align: center;
          margin: 10px 0 0 0; } }

.footer.footerinpage {
  padding: 260px 0 50px 0;
  margin: 0;
  background: url("../img/bg_contactinner.png") center top repeat-x;
  background-size: 1600px; }
  @media screen and (max-width: 767px) {
    .footer.footerinpage {
      padding: 30vw 0 20px 0;
      margin: 0;
      background: url(../img/bg_contactinner.png) center top repeat-x;
      background-size: 180vw;
      margin: 30px 0 0 0; } }

.contact {
  background: url("../img/bg_crowd5.png") center top repeat-x #d0ebf2;
  background-size: 1600px;
  padding: 200px 0 0 0; }
  .contact .contact_inner {
    background: #FFF;
    padding: 0 0 70px; }
    @media screen and (max-width: 767px) {
      .contact .contact_inner {
        padding: 0 0 50px; } }
  .contact .ttl {
    text-align: center;
    font-size: 30px;
    color: #004e29;
    letter-spacing: 2px;
    margin: 0 0 20px; }
    @media screen and (max-width: 767px) {
      .contact .ttl {
        font-size: 20px;
        margin: 0 0 10px; } }
  .contact .subttl {
    font-size: 20px;
    color: #00a99d;
    text-align: center;
    font-weight: 500; }
    @media screen and (max-width: 767px) {
      .contact .subttl {
        font-size: 16px; } }
    .contact .subttl span {
      display: inline-block;
      background: #f4901e;
      font-weight: 400;
      padding: 4px 10px;
      color: #FFF;
      margin: 0 10px 0 0;
      font-size: 15px;
      position: relative;
      top: -2px; }
      @media screen and (max-width: 767px) {
        .contact .subttl span {
          font-size: 14px;
          letter-spacing: 2px;
          padding: 4px 6px;
          top: 0; } }
  .contact .contactbox {
    background: url("../img/line.svg") center top repeat-y;
    background-size: 1px;
    margin: 20px auto 0;
    padding: 10px 0;
    width: 830px; }
    @media screen and (max-width: 767px) {
      .contact .contactbox {
        width: 100%;
        background: none;
        padding: 0; } }
    .contact .contactbox .box_left {
      width: 350px; }
      @media screen and (max-width: 767px) {
        .contact .contactbox .box_left {
          width: 100%;
          padding: 0 0 25px;
          margin: 0 0 25px;
          border-bottom: 1px solid #CCC; } }
      .contact .contactbox .box_left .telttl {
        font-size: 15px;
        text-align: center; }
        .contact .contactbox .box_left .telttl img {
          display: inline-block;
          width: 20px;
          position: relative;
          top: 5px;
          margin: 0 5px 0 0; }
      .contact .contactbox .box_left .number {
        text-align: center;
        color: #c70020;
        font-weight: bold;
        font-size: 43px;
        font-family: "Roboto Condensed";
        margin: 10px 0; }
        @media screen and (max-width: 767px) {
          .contact .contactbox .box_left .number {
            font-size: 35px; } }
        .contact .contactbox .box_left .number a {
          color: #c70020; }
        .contact .contactbox .box_left .number span {
          display: inline-block;
          font-size: 28px;
          margin: 0 5px 0 0;
          letter-spacing: 2px; }
      .contact .contactbox .box_left .txt {
        font-size: 12px;
        line-height: 1.667; }
        .contact .contactbox .box_left .txt span {
          display: block;
          text-align: center; }
          @media screen and (max-width: 767px) {
            .contact .contactbox .box_left .txt span {
              text-align: left; } }
    .contact .contactbox .box_right {
      width: 325px; }
      @media screen and (max-width: 767px) {
        .contact .contactbox .box_right {
          width: 100%; } }
      .contact .contactbox .box_right .mailttl {
        font-size: 15px;
        text-align: center; }
        .contact .contactbox .box_right .mailttl img {
          width: 24px;
          display: inline-block;
          margin: 0 5px 0 0;
          position: relative;
          top: 3px; }
      .contact .contactbox .box_right .hour {
        font-size: 17px;
        font-weight: 500;
        text-align: center;
        color: #c70020;
        margin: 20px 0; }
        .contact .contactbox .box_right .hour span {
          display: inline-block;
          position: relative; }
          .contact .contactbox .box_right .hour span:before {
            content: "";
            background: url("../img/line2.svg") no-repeat;
            background-size: 9px;
            width: 9px;
            height: 17px;
            position: absolute;
            left: -20px; }
          .contact .contactbox .box_right .hour span:after {
            content: "";
            background: url("../img/line3.svg") no-repeat;
            background-size: 9px;
            width: 9px;
            height: 17px;
            position: absolute;
            right: -20px; }
      .contact .contactbox .box_right .contactbtn2 {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-wrap: wrap;
        color: #FFF;
        border-radius: 100px;
        background: #f4901e;
        text-align: center;
        font-size: 20px;
        height: 54px;
        justify-content: center;
        align-content: center;
        align-items: center; }
  @media screen and (max-width: 767px) {
    .contact {
      background-size: 150vw;
      padding: 25vw 0 0 0; } }

/* fadein */
.fadein {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 1s;
  transition: all 1s; }

.ttl1 {
  font-size: 28px;
  color: #004e29;
  text-align: center;
  letter-spacing: 2px; }
  @media screen and (max-width: 767px) {
    .ttl1 {
      letter-spacing: 1px;
      font-size: 20px; } }
  .ttl1 span {
    display: inline-block;
    border-bottom: 3px solid #f8ad3b;
    padding-bottom: 5px;
    line-height: 1.6; }

.mv {
  background: url("../img/bg_mv.jpg") center top 20px no-repeat #d0ebf2;
  background-size: 1806px;
  height: 560px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .mv {
      height: auto;
      background: url(../img/bg_mv.jpg) center bottom 50vw no-repeat #d0ebf2;
      background-size: 120vw; } }
  .mv .mvimg {
    background: url("../img/bg_mv2.png") center top no-repeat;
    background-size: 1600px;
    height: 675px;
    position: relative;
    min-width: 1200px;
    top: -50px; }
    @media screen and (max-width: 767px) {
      .mv .mvimg {
        min-width: 100%;
        top: 0;
        height: auto;
        background: none; } }
    .mv .mvimg .mv_inner {
      width: 1200px;
      margin: auto;
      height: 100%;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        .mv .mvimg .mv_inner {
          width: 100%; } }
      .mv .mvimg .mv_inner .box {
        float: right;
        width: 410px; }
        @media screen and (max-width: 767px) {
          .mv .mvimg .mv_inner .box {
            width: 100%;
            float: none;
            padding: 25px 0 0; } }
        .mv .mvimg .mv_inner .box .ttl {
          font-size: 35px;
          font-weight: 500;
          letter-spacing: 3px;
          line-height: 2.057;
          color: #004e29;
          margin: 100px 0 35px; }
          @media screen and (max-width: 767px) {
            .mv .mvimg .mv_inner .box .ttl {
              font-size: 25px;
              margin: 0;
              line-height: 1.6;
              text-align: center;
              margin: 0 0 25px; } }
        @media screen and (max-width: 767px) {
          .mv .mvimg .mv_inner .box .list {
            padding: 0 20px; } }
        .mv .mvimg .mv_inner .box .list li {
          background: #FFF;
          display: block;
          margin: 0 0 15px;
          border-radius: 100px;
          align-content: center;
          align-items: center;
          display: -webkit-box;
          display: -moz-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          flex-wrap: wrap;
          box-sizing: border-box;
          padding: 5px; }
          .mv .mvimg .mv_inner .box .list li:last-of-type {
            margin: 0; }
          @media screen and (max-width: 767px) {
            .mv .mvimg .mv_inner .box .list li {
              font-size: 14px; } }
          .mv .mvimg .mv_inner .box .list li img {
            width: 68px;
            display: inline-block;
            margin: 0 20px 0 0; }
            @media screen and (max-width: 767px) {
              .mv .mvimg .mv_inner .box .list li img {
                width: 50px;
                margin: 0 10px 0 0; } }

.about {
  background: url("../img/bg_about.jpg") center top 360px no-repeat #d0ebf2;
  background-size: 1600px;
  padding: 100px 0 0 0; }
  @media screen and (max-width: 767px) {
    .about {
      padding: 70px 0 50px; } }
  .about .lead {
    margin: -20px 0 40px 0; }
    @media screen and (max-width: 767px) {
      .about .lead {
        margin: 0;
        flex-direction: column-reverse; } }
    .about .lead .txt {
      width: 730px;
      line-height: 2.25;
      margin: 40px 0 0 0; }
      @media screen and (max-width: 767px) {
        .about .lead .txt {
          margin: 20px 0 20px 0;
          width: 100%; } }
    .about .lead .img {
      width: 245px; }
      @media screen and (max-width: 767px) {
        .about .lead .img {
          margin: 20px auto 0; } }
  .about .box {
    width: 315px;
    background: #FFF;
    border-radius: 15px;
    padding: 25px 40px 30px;
    box-sizing: border-box; }
    @media screen and (max-width: 767px) {
      .about .box {
        width: 100%; } }
    .about .box:first-of-type .subttl {
      color: #f4901e; }
    @media screen and (max-width: 767px) {
      .about .box:nth-child(2) {
        margin: 20px 0; } }
    .about .box:nth-child(2) .subttl {
      color: #00a99d; }
    .about .box:last-of-type .subttl {
      color: #89c33f; }
    .about .box p {
      line-height: 1.875; }
    .about .box .subttl {
      text-align: center;
      font-size: 23px;
      font-weight: 500;
      border-bottom: 1px solid #e3e3e3;
      letter-spacing: 2px;
      margin: 0 -40px 20px -40px;
      padding: 0 0 20px; }
      @media screen and (max-width: 767px) {
        .about .box .subttl {
          font-size: 18px; } }
  .about .online_spimg {
    width: 100vw;
    margin: 50px 0 0 -20px;
    background: #FFF; }
  .about .online {
    height: 300px;
    position: relative;
    background: url("../img/bg_online.png") right top no-repeat #FFF;
    background-size: 543px;
    padding: 45px;
    margin: 50px 0 0 0; }
    @media screen and (max-width: 767px) {
      .about .online {
        height: auto;
        background: #FFF;
        width: 100vw;
        margin: 0 0 0 -20px;
        padding: 30px 20px; } }
    .about .online .icon {
      display: inline-block;
      width: 98px; }
    .about .online .ttl {
      font-size: 26px;
      font-weight: 500;
      border-bottom: 1px solid #e3e3e3;
      padding: 0 0 25px;
      margin: 10px 0 0 0;
      width: 495px; }
      @media screen and (max-width: 767px) {
        .about .online .ttl {
          width: 100%;
          font-size: 20px;
          line-height: 1.6;
          margin: 5px 0 0 0;
          padding: 0 0 15px; } }
    .about .online .list {
      margin: 35px 0 0 0; }
      @media screen and (max-width: 767px) {
        .about .online .list {
          margin: 20px 0 0 0; } }
      .about .online .list li:nth-child(2) {
        margin: 15px 0; }
      .about .online .list li .check {
        display: inline-block;
        width: 22px;
        margin: 0 15px 0 0;
        position: relative;
        top: 2px; }
        @media screen and (max-width: 767px) {
          .about .online .list li .check {
            width: 15px;
            margin: 0 7px 0 0; } }

.omoi {
  background: url("../img/bg_omoi.jpg") center top 90px no-repeat #d0ebf2;
  background-size: 1865px;
  padding: 100px 0 115px; }
  @media screen and (max-width: 767px) {
    .omoi {
      padding: 70px 0;
      background: url(../img/bg_omoi.jpg) center top 90px repeat-y #d0ebf2;
      background-size: 190vw; } }
  .omoi .ttl1 {
    margin: 0 0 30px; }
  .omoi .row {
    overflow: hidden; }
    .omoi .row .img {
      width: 366px; }
    .omoi .row .spimg {
      position: relative;
      width: 70%;
      margin: 0 auto -20px; }
    .omoi .row:first-of-type {
      background: url("../img/img_omoi1.png") right 70px top no-repeat;
      background-size: 367px;
      padding: 30px 0 0 0; }
      @media screen and (max-width: 767px) {
        .omoi .row:first-of-type {
          padding: 0;
          background: none; } }
      .omoi .row:first-of-type .box {
        height: 300px; }
        @media screen and (max-width: 767px) {
          .omoi .row:first-of-type .box {
            height: auto; } }
    .omoi .row:nth-child(odd) {
      margin: 50px 0;
      flex-direction: row-reverse;
      background: url("../img/img_omoi2.png") left top no-repeat;
      background-size: 460px;
      height: 345px;
      padding: 30px 0 0 0; }
      @media screen and (max-width: 767px) {
        .omoi .row:nth-child(odd) {
          height: auto;
          padding: 0;
          background: none;
          margin: 30px 0; } }
      .omoi .row:nth-child(odd) .box {
        height: 305px; }
        @media screen and (max-width: 767px) {
          .omoi .row:nth-child(odd) .box {
            height: auto; } }
    .omoi .row:last-of-type {
      background: url("../img/img_omoi3.png") right 50px top no-repeat;
      background-size: 365px;
      padding: 30px 0 0 0;
      height: 360px; }
      @media screen and (max-width: 767px) {
        .omoi .row:last-of-type {
          height: auto;
          padding: 0;
          background: none; } }
      .omoi .row:last-of-type .box {
        height: 320px; }
        @media screen and (max-width: 767px) {
          .omoi .row:last-of-type .box {
            height: auto; } }
  .omoi .box {
    border-radius: 20px;
    background: #FFF;
    padding: 35px 50px 20px;
    width: 500px; }
    @media screen and (max-width: 767px) {
      .omoi .box {
        width: 100%;
        padding: 20px; } }
    .omoi .box .subttl {
      color: #f4901e;
      font-size: 25px;
      margin: 0 0 20px;
      text-align: center;
      font-weight: 500;
      letter-spacing: 2px; }
      @media screen and (max-width: 767px) {
        .omoi .box .subttl {
          font-size: 18px;
          margin: 0 0 10px; } }
    .omoi .box p {
      line-height: 1.875; }

.soudan {
  padding: 100px 0; }
  @media screen and (max-width: 767px) {
    .soudan {
      padding: 70px 0; } }
  .soudan .slider {
    margin: 40px 0 100px; }
    @media screen and (max-width: 767px) {
      .soudan .slider {
        margin: 40px 0 60px; } }
    .soudan .slider .slick-next {
      width: 40px;
      height: 80px;
      background: url("../img/next.svg") no-repeat;
      background-size: 40px;
      top: calc(50% - 5px);
      right: -50px; }
      @media screen and (max-width: 767px) {
        .soudan .slider .slick-next {
          right: -10px;
          z-index: 10; } }
      .soudan .slider .slick-next:before {
        content: none; }
    .soudan .slider .slick-prev {
      width: 40px;
      height: 80px;
      background: url("../img/prev.svg") no-repeat;
      background-size: 40px;
      top: calc(50% - 5px);
      left: -50px; }
      @media screen and (max-width: 767px) {
        .soudan .slider .slick-prev {
          left: -10px;
          z-index: 10; } }
      .soudan .slider .slick-prev:before {
        content: none; }
  .soudan .flow {
    background: #FFF;
    border-radius: 20px;
    box-shadow: 0px 0px 16px -6px rgba(0, 0, 0, 0.3);
    padding: 40px 100px 70px;
    margin: 50px 0 0 0;
    position: relative; }
    @media screen and (max-width: 767px) {
      .soudan .flow {
        margin: 40px 0 0 0;
        padding: 20px 30px; } }
    .soudan .flow .arrow {
      width: 23px;
      position: absolute;
      top: 80px;
      right: 40px; }
      @media screen and (max-width: 767px) {
        .soudan .flow .arrow {
          display: none; } 
}
/* 矢印borderに変更 */
    .soudan .flow .flowbox {
        position: relative;
        background: #fff;
        border-bottom: 2px solid #e3e3e3;
        padding: 20px;
        max-width: 100%;
        align-items: center;
        align-content: center;
        width: 100%;
        text-align: center;
        margin-bottom: 13px;
     
}
.soudan .flow .flowbox:before,
.soudan .flow .flowbox:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
    .soudan .flow .flowbox:before {
       border: solid 12px transparent;
    border-top: solid 12px  #e3e3e3;
}
 .soudan .flow .flowbox:after {
        border: solid 14px transparent;
    border-top: solid 14px #fff;
    margin-top: -5px;
    }

      .soudan .flow .flowbox:last-of-type,
    .soudan .flow .flowbox:last-of-type:before, 
.soudan .flow .flowbox:last-of-type:after {
        border: none; 
    margin-bottom: 0;
}



      .soudan .flow .flowbox .img {
        width: 60px; }
        @media screen and (max-width: 767px) {
          .soudan .flow .flowbox .img {
            width: 20%;
            margin: 0 0 10px; } }
      .soudan .flow .flowbox .subttl {
        width: 275px;
        text-align: center;
        color: #00a99d;
        line-height: 1.5;
        font-weight: bold; }
        @media screen and (max-width: 767px) {
          .soudan .flow .flowbox .subttl {
            width: 80%;
            text-align: left;
            padding-left: 10px;
            position: relative;
            margin-top: -20px; } }
      .soudan .flow .flowbox .txt {
        line-height: 1.625; 
}
.soudan .flow .flowbox .small {
    font-size: 90%;
    line-height: 1.45;
}

.outline_access {
  background: url("../img/bg_outline.jpg") center top 160px no-repeat #d0ebf2;
  background-size: 1600px;
  padding: 70px 0 0 0; }
  @media screen and (max-width: 767px) {
    .outline_access {
      background: url("../img/bg_outline.jpg") center no-repeat #d0ebf2;
      background-size: 120vw; } }
  .outline_access .outlinewrap {
    margin: 50px 0 70px 0; }
    @media screen and (max-width: 767px) {
      .outline_access .outlinewrap {
        margin: 40px 0 50px; } }
  .outline_access .box {
    width: 250px;
    line-height: 1.6; }
    @media screen and (max-width: 767px) {
      .outline_access .box {
        margin: 0 auto 20px; } }
    .outline_access .box .logo {
      width: 120px;
      margin: 0 0 20px;
      margin: 0 auto 20px; }
    .outline_access .box .list {
      font-size: 12px;
      margin: 5px 0 0 0; }
      .outline_access .box .list dt {
        margin: 0 10px 0 0; }
  .outline_access .box2 {
    width: 360px;
    line-height: 1.6;
    font-size: 14px; }
    @media screen and (max-width: 767px) {
      .outline_access .box2 {
        width: 250px;
        margin: 0 auto 20px; } }
    .outline_access .box2 p {
      margin: 0 0 5px; }
      .outline_access .box2 p span {
        color: #f4901e; }
    .outline_access .box2 .list2 dt {
      color: #f4901e;
      margin: 0 0 10px; }
    .outline_access .box2 .list2 dd {
      margin: 0 0 10px; }
      @media screen and (max-width: 767px) {
        .outline_access .box2 .list2 dd {
          font-size: 12px; } }
  .outline_access .img {
    width: 260px;
    margin: auto; }
  .outline_access .ggmap {
    height: 320px; }
    @media screen and (max-width: 767px) {
      .outline_access .ggmap {
        height: 200px; } }
    .outline_access .ggmap iframe {
      width: 100%;
      height: 100%; }

.gosoudan {
  background: #d0ebf2;
  padding: 80px 0 0;
  position: relative;
  margin: 0 0 -5px; }
  @media screen and (max-width: 767px) {
    .gosoudan {
      padding: 70px 0 0 0; } }
  .gosoudan .gosoudanwrap {
    margin: 50px 0; }
    @media screen and (max-width: 767px) {
      .gosoudan .gosoudanwrap {
        margin: 40px 0; } }
    .gosoudan .gosoudanwrap .img {
      width: 260px; }
      @media screen and (max-width: 767px) {
        .gosoudan .gosoudanwrap .img {
          margin: auto; } }
    .gosoudan .gosoudanwrap .list {
      width: 360px; }
      @media screen and (max-width: 767px) {
        .gosoudan .gosoudanwrap .list {
          width: 100%;
          padding: 20px 20px 0; } }
      .gosoudan .gosoudanwrap .list li {
        margin: 0 0 30px;
        text-indent: -1em;
        padding-left: 1em;
        font-size: 18px; }
        @media screen and (max-width: 767px) {
          .gosoudan .gosoudanwrap .list li {
            font-size: 14px;
            margin: 0 0 15px; } }
        .gosoudan .gosoudanwrap .list li span {
          color: #f4901e;
          display: inline-block; }
        .gosoudan .gosoudanwrap .list li:last-of-type {
          margin: 0; }
    .gosoudan .gosoudanwrap .box {
      width: 240px;
      margin: 35px 0 0 0; }
      .gosoudan .gosoudanwrap .box .subttl {
        color: #f4901e; }
      .gosoudan .gosoudanwrap .box .list2 {
        padding: 20px 0 0 20px; }
        @media screen and (max-width: 767px) {
          .gosoudan .gosoudanwrap .box .list2 {
            padding: 20px 0 0 0; } }
        .gosoudan .gosoudanwrap .box .list2 li {
          margin: 0 0 15px; }
          .gosoudan .gosoudanwrap .box .list2 li:last-of-type {
            margin: 0; }
        .gosoudan .gosoudanwrap .box .list2 span {
          color: #f4901e; }
  .gosoudan .triangle {
    width: 86px;
    margin: auto; }
    @media screen and (max-width: 767px) {
      .gosoudan .triangle {
        width: 40px; } }

.ttlwrap {
  min-width: 1200px;
  margin: -50px auto 0;
  height: 180px;
  align-content: center;
  align-items: center;
  justify-content: center;
  background: url("../img/bg_ttl.jpg") center top no-repeat #d0ebf2; }
  @media screen and (max-width: 767px) {
    .ttlwrap {
      min-width: 100%;
      margin: 0;
      height: 80px;
      background: url("../img/bg_ttl.jpg") center bottom no-repeat #d0ebf2;
      background-size: 130vw; } }
  .ttlwrap .ttl {
    font-size: 35px;
    color: #004e29; }
    @media screen and (max-width: 767px) {
      .ttlwrap .ttl {
        font-size: 25px; } }

.box_tel {
  text-align: center;
  margin: 65px 0 100px; }
  @media screen and (max-width: 767px) {
    .box_tel {
      margin: 35px 0 50px; } }
  .box_tel .ttl1 {
    margin: 60px 0 40px; }
    @media screen and (max-width: 767px) {
      .box_tel .ttl1 {
        margin: 40px 0 20px; } }
  .box_tel .txt {
    line-height: 1.688;
    text-align: center; }
  @media screen and (max-width: 767px) {
    .box_tel .txt.thankstxt {
      text-align: left; } }
  .box_tel .box_telinner {
    width: 530px;
    border-radius: 20px;
    border: 8px solid #d0ebf2;
    margin: auto;
    padding: 30px 0; }
    @media screen and (max-width: 767px) {
      .box_tel .box_telinner {
        width: 100%;
        border: 5px solid #d0ebf2;
        padding: 20px;
        border-radius: 10px; } }
    .box_tel .box_telinner p {
      text-align: center; }
    .box_tel .box_telinner a {
      font-family: "Roboto Condensed";
      font-size: 43px;
      color: #c70020;
      font-weight: bold; }
      @media screen and (max-width: 767px) {
        .box_tel .box_telinner a {
          font-size: 30px; } }
      .box_tel .box_telinner a span {
        display: inline-block;
        font-size: 28px;
        margin: 0 10px 0 0; }
    .box_tel .box_telinner .teltxt {
      font-size: 12px;
      line-height: 1.667;
      margin: 20px 0 0 0; }
      @media screen and (max-width: 767px) {
        .box_tel .box_telinner .teltxt {
          margin: 10px 0 0 0; } }

.box_mail > p {
  text-align: center;
  margin: 30px 0;
  line-height: 2.313; }
  .box_mail > p span {
    text-decoration: underline; }
.box_mail .box_mailinner {
  width: 800px;
  border-radius: 20px;
  border: 8px solid #d0ebf2;
  margin: auto;
  padding: 50px 60px; }
  @media screen and (max-width: 767px) {
    .box_mail .box_mailinner {
      width: 100%;
      border-radius: 10px;
      border: 5px solid #d0ebf2;
      padding: 30px 20px; } }
  .box_mail .box_mailinner .list dt {
    width: 180px;
    padding: 30px 0 0 10px;
    border-bottom: 1px solid #e0e0e0; }
    @media screen and (max-width: 767px) {
      .box_mail .box_mailinner .list dt {
        border: none;
        width: 100%;
        padding: 0 0 10px; } }
    .box_mail .box_mailinner .list dt:last-of-type {
      border: none; }
  .box_mail .box_mailinner .list dd {
    width: 480px;
    padding: 20px 0;
    border-bottom: 1px solid #e0e0e0; }
    @media screen and (max-width: 767px) {
      .box_mail .box_mailinner .list dd {
        width: 100%;
        padding: 0 0 20px;
        margin: 0 0 20px; } }
    .box_mail .box_mailinner .list dd:last-of-type {
      border: none; }
    .box_mail .box_mailinner .list dd input,
    .box_mail .box_mailinner .list dd textarea {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      border: 1px solid #e0e0e0;
      border-radius: 3px;
      background: #f6fbfc;
      width: 400px;
      box-sizing: border-box;
      padding: 15px;
      font-size: 16px; }
      @media screen and (max-width: 767px) {
        .box_mail .box_mailinner .list dd input,
        .box_mail .box_mailinner .list dd textarea {
          width: 100%; } }
    .box_mail .box_mailinner .list dd input.long,
    .box_mail .box_mailinner .list dd textarea {
      width: 100%; }
  .box_mail .box_mailinner #form_submit {
    margin: 30px 0 0 0; }
    @media screen and (max-width: 767px) {
      .box_mail .box_mailinner #form_submit {
        margin: 0 0 10px; } }
    .box_mail .box_mailinner #form_submit #form_submit_button {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      background: #000;
      color: #FFF;
      border-radius: 100px;
      background: #f8ad3b;
      border: none;
      width: 175px;
      margin: auto;
      font-size: 20px;
      height: 62px;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      align-items: center;
      justify-content: center;
      font-weight: bold; }
  .box_mail .box_mailinner .error_blank {
    display: block;
    color: #CC0000;
    margin: 10px 0 0 0; }

/* modal */
.modalArea {
  display: none;
  position: fixed;
  z-index: 20;
  /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(68, 68, 68, 0.85); }

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 70%;
  max-width: 1000px;
  height: 70%;
  overflow: scroll;
  padding: 30px;
  background-color: #fff;
  font-size: 14px;
  line-height: 1.6; }

#openModal {
  text-decoration: underline;
  cursor: pointer; }

.closeModal {
  position: absolute;
  top: 20px;
  right: 30px;
  cursor: pointer;
  font-size: 30px; }

.modalWrapper .ttl {
  font-size: 30px;
  font-weight: 600;
  margin: 0 0 20px; }

.modalWrapper .subttl {
  color: #444444;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 10px; }

.modalBox {
  margin: 0 0 30px; }
