@charset "UTF-8";
/*ーーーーーーーーーー

共通

ーーーーーーーーーーー*/
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;
  vertical-align: baseline;
  background: transparent;
  font-size: 16px;
  box-sizing: border-box;
  font-weight: normal;
}

@media (min-width: 750px) {
  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 {
    font-size: 15px;
  }
}

html img, body img, div img, span img, object img, iframe img, h1 img, h2 img, h3 img, h4 img, h5 img, h6 img, p img, blockquote img,
pre img, abbr img, address img, cite img, code img, del img, dfn img, em img, img img, ins img, kbd img, q img, samp img, small img,
strong img, sub img, sup img, var img, b img, i img, dl img, dt img, dd img, ol img, ul img, li img, fieldset img, form img, label img,
legend img, table img, caption img, tbody img, tfoot img, thead img, tr img, th img, td img, article img, aside img,
canvas img, details img, figcaption img, figure img, footer img, header img, hgroup img, menu img, nav img,
section img, summary img, time img, mark img, audio img, video img {
  max-width: 100%;
  height: auto;
}

body {
  color: #000;
  line-height: 1.8;
  font-weight: 400;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
  font-style: normal;
  width: 100%;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
  min-height: 100vh;
  position: relative;
}

body .mincho {
  font-family: "Yu Mincho", "YuMincho", serif;
}

body .gothic {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-style: normal;
}

body img {
  max-width: 100%;
}

main {
  width: 100%;
}

.con {
  max-width: 1100px;
  margin: auto;
}

@media (max-width: 770px) {
  .con {
    max-width: 94%;
  }
}

.pc_only {
  display: block;
}

@media (max-width: 750px) {
  .pc_only {
    display: none !important;
  }
}

.sp_only {
  display: none;
}

@media (max-width: 750px) {
  .sp_only {
    display: block;
  }
}

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

ul, ol {
  list-style: none;
}

a {
  text-decoration: none;
  color: #000;
  transition: all .6s ease 0s;
}

a:hover {
  opacity: .8;
}

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

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.txt_right {
  text-align: right;
}

.txt_center {
  text-align: center;
}

@media (max-width: 750px) {
  .txt_left_sp {
    text-align: left;
  }
}

.txt_purple {
  color: #050062;
}

.bold {
  font-weight: bold;
}

.pb1 {
  padding-bottom: 1%;
}

.pt3 {
  padding-top: 3%;
}

.pb3 {
  padding-bottom: 3%;
}

.ttl1 {
  margin-bottom: 30px;
  color: #050062;
  font-weight: bold;
  font-size: 2em;
  text-align: center;
}

/*ーーーーーーーーーー
.header
ーーーーーーーーーーー*/
.header {
  position: absolute;
  z-index: 999;
  width: 100%;
  background: rgba(255, 255, 255, 0.5);
}

.header img {
  padding: 3px 10px;
}

@media (max-width: 750px) {
  .header img {
    padding: 10px;
  }
}

.inner {
  width: 100%;
  margin: 0 auto;
}

.inner:after {
  content: "";
  clear: both;
  display: block;
}

/* header */
#top-head {
  top: -100px;
  position: absolute;
  width: 100%;
  margin: 100px auto 0;
  line-height: 1;
  z-index: 999;
}

#top-head a,
#top-head {
  color: #050062;
  text-decoration: none;
}

#top-head .inner {
  position: relative;
}

#top-head .logo {
  float: left;
  font-size: 36px;
}

#global-nav ul {
  list-style: none;
  position: absolute;
  right: 0;
  bottom: 14px;
  font-size: 14px;
}

@media (min-width: 750px) {
  #global-nav ul {
    display: inline-flex;
  }
}

@media (max-width: 770px) {
  #global-nav ul {
    display: block;
  }
}

#global-nav ul li a {
  padding: 0 5px;
  padding: 14px 12px !important;
  transition: all .6s ease 0s;
  box-sizing: border-box;
}

#global-nav ul li a:hover {
  background: rgba(5, 0, 98, 0.1);
}

#global-nav ul li:last-child a {
  background: rgba(5, 0, 98, 0.8);
  color: #fff !important;
  padding: 14px 20px !important;
}

/* Fixed */
#top-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  height: 60px;
  background: #fff;
  background: rgba(255, 255, 255, 0.9);
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
  z-index: 9999;
}

#top-head.fixed .logo {
  font-size: 24px;
  color: #333;
}

#top-head.fixed #global-nav ul li a {
  color: #333;
  padding: 0 20px;
}

/* Toggle Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}

#nav-toggle div {
  position: relative;
}

#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #666;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 11px;
}

#nav-toggle span:nth-child(3) {
  top: 22px;
}

@media screen and (max-width: 770px) {
  #top-head,
  .inner {
    width: 100%;
    padding: 0;
  }
  #top-head {
    top: 0;
    position: fixed;
    margin-top: 0;
  }
  /* Fixed reset */
  #top-head.fixed {
    padding-top: 0;
    background: transparent;
  }
  #mobile-head {
    background: rgba(255, 255, 255, 0.9);
    width: 100%;
    height: 56px;
    z-index: 999;
    position: relative;
  }
  #top-head.fixed .logo,
  #top-head .logo {
    position: absolute;
    left: 13px;
    top: 13px;
    color: #333;
    font-size: 26px;
  }
  #global-nav {
    position: absolute;
    /* 開いてないときは画面外に配置 */
    top: -500px;
    background: rgba(255, 255, 255, 0.9);
    width: 100%;
    text-align: center;
    padding: 10px 0;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
  }
  #global-nav ul {
    list-style: none;
    position: static;
    right: 0;
    bottom: 0;
    font-size: 14px;
  }
  #global-nav ul li {
    float: none;
    position: static;
    border-bottom: #050062 1px solid;
  }
  #global-nav ul li:last-child {
    border-bottom: none;
  }
  #global-nav ul li:last-child a {
    color: #fff !important;
  }
  #top-head #global-nav ul li a,
  #top-head.fixed #global-nav ul li a {
    width: 100%;
    display: block;
    color: #050062;
    padding: 18px 0;
  }
  #nav-toggle {
    display: block;
  }
  /* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }
  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }
  /* #global-nav スライドアニメーション */
  .open #global-nav {
    /* #global-nav top + #mobile-head height */
    -moz-transform: translateY(556px);
    -webkit-transform: translateY(556px);
    transform: translateY(556px);
  }
}

/*ーーーーーーーーーー
.fv
ーーーーーーーーーーー*/
.fv {
  background: url(../img/bg_fv.jpg) no-repeat top right;
  background-size: cover;
  padding-top: 80px;
  height: 760px;
  position: relative;
}

@media (max-width: 1500px) {
  .fv {
    height: 640px;
  }
}

@media (max-width: 1300px) {
  .fv {
    height: 600px;
  }
}

@media (max-width: 770px) {
  .fv {
    background: url(../img/bg_fv.jpg) no-repeat top right 4%;
    background-size: cover;
    height: 80vh;
  }
}

@media (max-width: 750px) {
  .fv {
    background: url(../img/bg_fv_sp.jpg) no-repeat center;
    background-size: cover;
    height: 90vh;
  }
}

.fv h2.sp_only {
  padding-left: 1em;
  text-indent: -.5em;
}

.fv .ttl_box {
  background: rgba(255, 255, 255, 0.64);
  display: inline-block;
  padding: 40px 30px;
  margin-top: 10px;
  box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.1);
  width: 50%;
}

@media (max-width: 1500px) {
  .fv .ttl_box {
    padding: 20px 30px;
  }
}

@media (max-width: 1300px) {
  .fv .ttl_box {
    margin-top: 0;
  }
}

@media (max-width: 770px) {
  .fv .ttl_box {
    position: absolute;
    width: 88%;
    bottom: 16%;
  }
}

@media (max-width: 750px) {
  .fv .ttl_box {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    padding: 10px;
  }
}

.fv .ttl_box h2 {
  font-size: 1.5em;
  border-bottom: 1px solid #d8dfda;
  padding-bottom: 10px;
  margin-bottom: 15px;
  letter-spacing: -.5px;
}

@media (max-width: 1300px) {
  .fv .ttl_box h2 {
    font-size: 1.2em;
  }
}

@media (max-width: 750px) {
  .fv .ttl_box h2 {
    font-size: 1em;
  }
}

.fv .ttl_box h3 img {
  min-width: 94%;
  margin-bottom: 10px;
}

.fv .ttl_box img {
  min-width: 94%;
}

/*ーーーーーーーーーー
.form
ーーーーーーーーーーー*/
.form {
  width: 100%;
}

@media (max-width: 750px) {
  .form {
    position: static;
  }
}

.wpcf7-not-valid-tip {
  display: block;
  font-size: 0.8em !important;
}

.screen-reader-response {
  font-size: 10px;
  text-align: center;
}

.screen-reader-response ul li {
  width: auto !important;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  text-align: center;
  border-color: #dc3232 !important;
  padding: 15px 0;
  background: #ffefef;
  max-width: 800px;
  margin: 20px auto 0;
}

.form_in {
  width: 94%;
  max-width: 1100px;
  margin: auto;
  margin-top: -18vh;
  z-index: 999;
  position: relative;
}

@media (max-width: 1300px) {
  .form_in {
    margin-top: -200px;
  }
}

@media (max-width: 770px) {
  .form_in {
    padding-top: 90px;
  }
}

@media (max-width: 750px) {
  .form_in {
    margin-top: 0px;
    padding-top: 30px;
  }
}

.form_in .ttl_box {
  width: 100%;
  display: inline-flex;
  flex-wrap: wrap;
}

.form_in .ttl_box h3 {
  font-size: 1.4em;
  margin-right: .5em;
}

@media (max-width: 750px) {
  .form_in .ttl_box h3 {
    width: 100%;
    margin-right: 0;
  }
}

.form_in .ttl_box h3 span {
  font-size: .8em;
}

.form_in .ttl_box p {
  background: rgba(136, 133, 50, 0.8);
  border-radius: 50px;
  display: inline-block;
  padding: 1px 5px;
  color: #fff;
  align-self: center;
}

@media (max-width: 750px) {
  .form_in .ttl_box p {
    width: 100%;
    border-radius: 5px;
    padding: .5em;
    margin-bottom: 20px;
  }
}

.form_in .white_box {
  background: #fff;
  box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.1);
  padding: 20px;
  position: relative;
}

@media (max-width: 1300px) {
  .form_in .white_box {
    padding: 5px;
  }
}

.form_in .white_box ul {
  display: inline-flex;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap;
}

.form_in .white_box ul li {
  width: 32%;
}

@media (max-width: 750px) {
  .form_in .white_box ul li {
    width: 100%;
  }
}

.form_in .white_box ul li .txt_purple {
  display: flex;
  align-items: center;
}

.form_in .white_box ul li .txt_purple:before {
  border-top: 2px solid;
  content: "";
  width: 1em;
  margin-right: .1em;
}

.form_in input {
  margin-bottom: .3em;
  border: #ccc solid 1px;
  border-radius: 5px;
}

.form_in .w input {
  width: 96%;
}

.btn_wrap {
  text-align: center;
}

.btn_wrap a, .btn_wrap input {
  display: inline-block;
  color: #fff;
  background: #050062;
  padding: .5em 2.2em;
  font-size: 1.5em;
  background: url(../img/btn_arrow.png) no-repeat right 2px bottom 5px, linear-gradient(#504c96, #06015c);
  font-family: "Yu Mincho", "YuMincho", serif;
  border: none;
  border-radius: 0px;
}

/*ーーーーーーーーーー
.point
ーーーーーーーーーーー*/
.bg {
  background: url(../img/bg_1.jpg) no-repeat center;
  background-size: cover;
}

.point {
  padding-bottom: 40px;
  padding-top: 50px;
}

@media (max-width: 750px) {
  .point {
    padding-top: 30px;
  }
}

.point .point_list {
  display: inline-flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media (max-width: 750px) {
  .point .point_list {
    width: 96%;
    margin-left: 2%;
  }
}

.point .point_list li {
  width: 49%;
  background: #eff5f7;
  box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.1);
  margin-bottom: 30px;
  padding: 1.5em;
}

@media (max-width: 750px) {
  .point .point_list li {
    width: 100%;
    padding: 1em;
    margin-bottom: 15px;
  }
}

.point .point_list li:last-child {
  width: 100%;
}

.point .point_list li h4 {
  background: #888532;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  font-size: 1.5em;
  padding: .3em 1em;
  margin-left: -35px;
  position: relative;
  margin-bottom: 1em;
}

@media (max-width: 750px) {
  .point .point_list li h4 {
    padding: .3em .5em;
    font-size: 1.3em;
  }
}

.point .point_list li h4 img {
  position: absolute;
  left: 0;
  top: -5px;
}

.point .point_list .support_list {
  display: inline-flex;
  justify-content: center;
  flex-wrap: wrap;
}

.point .point_list .support_list li {
  width: 32%;
  box-shadow: none;
  text-align: center;
}

@media (max-width: 750px) {
  .point .point_list .support_list li {
    width: 100%;
  }
}

.point .point_list .support_list li p {
  text-align: left;
  padding-top: 10px;
}

.point .point_list .txt {
  font-size: 1.6em;
  text-align: center;
}

@media (max-width: 750px) {
  .point .point_list .txt {
    font-size: 1.4em;
  }
}

/*ーーーーーーーーーー
.choose
ーーーーーーーーーーー*/
.choose {
  padding: 80px 0;
}

@media (max-width: 750px) {
  .choose {
    padding: 50px 0;
  }
}

.choose .choose_list {
  margin-bottom: 100px;
}

@media (max-width: 750px) {
  .choose .choose_list {
    margin-bottom: 50px;
  }
}

.choose .choose_list .clearfix {
  position: relative;
  margin-bottom: 40px;
}

@media (max-width: 750px) {
  .choose .choose_list .clearfix {
    margin-bottom: 20px;
  }
}

.choose .choose_list li img {
  float: right;
  width: 56%;
}

@media (max-width: 770px) {
  .choose .choose_list li img {
    width: 76%;
  }
}

@media (max-width: 750px) {
  .choose .choose_list li img {
    float: none;
    width: 100%;
  }
}

.choose .choose_list li .white_box {
  background: rgba(255, 255, 255, 0.8);
  display: inline-block;
  padding: 40px 30px;
  margin-top: 5vh;
  position: absolute;
  height: 420px;
  width: 730px;
  bottom: 0;
}

@media (max-width: 750px) {
  .choose .choose_list li .white_box {
    width: 100%;
    position: relative;
    margin-top: 0;
    padding: 0;
    height: auto;
  }
}

.choose .choose_list li .white_box h4 {
  font-size: 2em;
  font-weight: bold;
  color: #888532;
  padding-bottom: 20px;
}

@media (max-width: 750px) {
  .choose .choose_list li .white_box h4 {
    font-size: 1.3em;
  }
}

.choose .choose_list li .white_box ul li {
  font-size: 16px;
  padding-left: 1em;
  text-indent: -1em;
  padding-bottom: 20px;
}

/*ーーーーーーーーーー
.performance
ーーーーーーーーーーー*/
.performance {
  padding: 80px 0 1px;
  background: #f1f1f1;
}

@media (max-width: 750px) {
  .performance {
    padding-top: 40px;
  }
}

.performance .performance_box {
  background: url(../img/box.jpg) no-repeat center;
  background-size: cover;
  padding: 30px 60px 50px;
  margin-bottom: 50px;
  box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.1);
}

@media (max-width: 750px) {
  .performance .performance_box {
    padding: 0px;
    background: #0b0b6d;
    margin-bottom: 20px;
  }
}

.performance .performance_box .user_box {
  display: inline-flex;
  width: 100%;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media (max-width: 750px) {
  .performance .performance_box .user_box {
    padding: 10px;
  }
}

.performance .performance_box .user_box .user {
  width: 18%;
  color: #fff;
}

@media (max-width: 750px) {
  .performance .performance_box .user_box .user {
    width: 100%;
    display: inline-flex;
    margin-bottom: 10px;
  }
  .performance .performance_box .user_box .user img {
    width: 50%;
    margin-right: 10px;
  }
}

.performance .performance_box .user_box .comment {
  width: 80%;
  padding: 1em;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.1);
}

@media (max-width: 750px) {
  .performance .performance_box .user_box .comment {
    width: 100%;
  }
}

.performance .performance_box .before_after {
  width: 100%;
  display: inline-flex;
  justify-content: space-between;
  margin-top: 30px;
  flex-wrap: wrap;
}

.performance .performance_box .before_after li {
  width: 46%;
  color: #fff;
}

@media (max-width: 750px) {
  .performance .performance_box .before_after li {
    width: 100%;
    padding: 10px;
  }
}

.performance .performance_box .before_after li h4 {
  font-size: 1.5em;
  border-left: solid #fff 5px;
  padding-left: 10px;
  margin-bottom: 15px;
}

.performance .performance_box .before_after li table {
  width: 90%;
}

@media (max-width: 750px) {
  .performance .performance_box .before_after li table {
    width: 100%;
  }
}

.performance .performance_box .before_after li table th, .performance .performance_box .before_after li table td {
  font-size: 16px;
  padding: 3px 5px 0;
}

.performance .performance_box .before_after li table th {
  border-bottom: 2px solid #fff;
}

.performance .performance_box .before_after li table td {
  border-bottom: 1px solid #fff;
}

.performance .performance_box .before_after li table td b {
  font-size: 1.2em;
}

.performance .performance_box .before_after li:last-child {
  color: #888532;
}

.performance .performance_box .before_after li:last-child h4 {
  border-left: solid #888532 5px;
}

.performance .performance_box .before_after li:last-child table th {
  border-bottom: 2px solid #888532;
}

.performance .performance_box .before_after li:last-child table td {
  border-bottom: 1px solid #888532;
}

@media (max-width: 750px) {
  .performance .performance_box .before_after li:last-child {
    background: url(../img/arrow_sp.png) center top no-repeat, #fff;
    padding-top: 50px;
    padding-bottom: 30px;
    background-size: 100%;
  }
}

/*ーーーーーーーーーー
.loop_wrap
ーーーーーーーーーーー*/
.loop_wrap {
  display: flex;
  width: 100vw;
  height: 340px;
  overflow: hidden;
  border-top: 28px solid #050062;
  border-bottom: 28px solid #050062;
}

@media (max-width: 770px) {
  .loop_wrap {
    height: 220px;
  }
}

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

@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.loop_wrap img:first-child {
  animation: loop 100s -50s linear infinite;
}

.loop_wrap img:last-child {
  animation: loop2 100s linear infinite;
}

/*ーーーーーーーーーー
.job_offer
ーーーーーーーーーーー*/
.job_offer {
  padding: 80px 0;
  background: url(../img/bg_2.png) no-repeat center bottom, #e2e2d6;
  background-size: 100%;
  padding-bottom: 42%;
}

@media (max-width: 750px) {
  .job_offer {
    padding: 40px 0;
  }
}

.job_offer .job_list {
  display: inline-flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 50px;
}

.job_offer .job_list li {
  background: #fff;
  width: 49%;
  padding: 20px;
  margin-bottom: 20px;
}

@media (max-width: 750px) {
  .job_offer .job_list li {
    width: 100%;
  }
}

.job_offer .job_list li h4 {
  background: #888532;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  padding: .5em 2em .4em 1em;
  margin-left: -32px;
  position: relative;
  margin-bottom: 1em;
}

.job_offer .job_list li h4 img {
  position: absolute;
  left: 0;
  top: -5px;
}

@media (max-width: 750px) {
  .job_offer .job_list li table {
    width: 100%;
  }
}

.job_offer .job_list li table th, .job_offer .job_list li table td {
  font-size: 16px;
  padding: 3px 5px 0;
  width: 100%;
}

.job_offer .job_list li table th {
  border-bottom: 2px solid #000;
  width: 20%;
}

@media (max-width: 750px) {
  .job_offer .job_list li table th {
    width: 30%;
  }
}

.job_offer .job_list li table td {
  border-bottom: 1px solid #000;
  width: 80%;
}

@media (max-width: 750px) {
  .job_offer .job_list li table td {
    width: 70%;
  }
}

.job_offer .job_list li .memo {
  border: #888532 1px solid;
  padding: 1em;
  min-height: 100px;
  margin-top: 20px;
}

/*ーーーーーーーーーー
.flow 
ーーーーーーーーーーー*/
.flow {
  padding: 80px 0;
  background: #deeaee;
}

@media (max-width: 750px) {
  .flow {
    padding: 40px 0;
  }
}

.flow .flow_list {
  display: inline-flex;
  width: 100%;
  justify-content: space-between;
  flex-wrap: wrap;
}

.flow .flow_list li {
  width: 30%;
  position: relative;
}

@media (min-width: 750px) {
  .flow .flow_list li:after {
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 50px;
    /*画像の幅*/
    height: 80px;
    /*画像の高さ*/
    background: url(../img/flow_arrow.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
    top: 81px;
    right: -64px;
    position: absolute;
  }
  .flow .flow_list li:last-child:after {
    display: none;
  }
}

@media (max-width: 750px) {
  .flow .flow_list li {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
  }
  .flow .flow_list li:last-child {
    margin-bottom: 0;
  }
}

.flow .flow_list li h4 {
  padding: 10px 0;
  font-size: 1.2em;
}

/*ーーーーーーーーーー
.faq 
ーーーーーーーーーーー*/
.faq {
  padding: 80px 0;
}

@media (max-width: 750px) {
  .faq {
    padding: 40px 0;
  }
}

.faq .acd-check {
  display: none;
}

.faq .acd-label {
  background: #050062;
  color: #fff;
  display: block;
  margin-bottom: 1px;
  padding: 1em 2.3em 1em 1em;
  position: relative;
  margin-top: 20px;
}

.faq .acd-label:after {
  box-sizing: border-box;
  content: '\f067';
  display: block;
  font-family: "FontAwesome";
  height: 52px;
  padding: 16px 20px;
  position: absolute;
  right: 0;
  top: 0px;
}

.faq .acd-content {
  background: #f1f1f1;
  display: block;
  height: 0;
  opacity: 0;
  padding: 0 10px;
  transition: .5s;
  visibility: hidden;
}

.faq .acd-check:checked + .acd-label:after {
  content: '\f068';
}

.faq .acd-check:checked + .acd-label + .acd-content {
  height: auto;
  opacity: 1;
  padding: 10px;
  visibility: visible;
}

.faq .btn_wrap {
  margin-top: 50px;
}

.faq span.bold {
  font-size: 1.3em;
  padding-right: .5em;
}

/*ーーーーーーーーーー
.message
ーーーーーーーーーーー*/
.message {
  background: url(../img/bg_3.jpg) no-repeat;
  background-size: cover;
  padding-bottom: 20%;
}

@media (max-width: 750px) {
  .message {
    background: url(../img/bg_3.jpg) no-repeat left bottom;
    background-size: 290%;
    padding-bottom: 90%;
  }
}

.message .message_box {
  background: rgba(223, 240, 246, 0.9);
  float: right;
  width: 46%;
  padding: 40px;
  line-height: 3em;
}

@media (max-width: 770px) {
  .message .message_box {
    width: 50%;
  }
}

@media (max-width: 750px) {
  .message .message_box {
    float: none;
    width: 90%;
    margin-left: 5%;
    padding: 1em;
    line-height: 2em;
  }
}

/*ーーーーーーーーーー
.form2 
ーーーーーーーーーーー*/
.form2 {
  background: #f1f1f1;
  padding: 80px 0;
}

@media (max-width: 750px) {
  .form2 {
    padding: 40px 3%;
  }
}

.form2 .con {
  max-width: 850px;
}

.form2 .con .w input {
  width: 96%;
}

.form2 .con .pb {
  padding-bottom: 20px;
}

.form2 .con .pb input {
  padding: .5em;
  border: #ccc solid 1px;
  border-radius: 5px;
}

.form2 .con .wpcf7-list-item-label {
  padding-right: 2em;
}

@media (max-width: 750px) {
  .form2 .con .wpcf7-list-item-label {
    padding-right: 1em;
  }
}

.form2 .con .doui {
  text-align: center;
  margin: 60px auto;
}

@media (max-width: 750px) {
  .form2 .con .doui {
    margin: 30px auto;
  }
}

.scroller {
  width: 100%;
  height: 260px;
  overflow-y: scroll;
  border: #ccc solid 1px;
  background: #fff;
  padding: 1em;
}

/*ーーーーーーーーーー
.message
ーーーーーーーーーーー*/
.overview {
  padding: 80px 0;
}

@media (max-width: 750px) {
  .overview {
    padding: 40px 0;
  }
}

.overview table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0px 25px;
}

.overview table th {
  border: #ccc 1px solid;
  width: 15%;
  padding: 1em;
}

@media (max-width: 750px) {
  .overview table th {
    padding: .2em;
  }
}

.overview table td {
  width: 85%;
  padding: 1em;
}

@media (max-width: 750px) {
  .overview table {
    border-spacing: 0px 2px;
  }
  .overview table th, .overview table td {
    display: block;
    width: 100%;
  }
}

.overview .map .ttl1 {
  margin-bottom: 5px;
  text-align: left;
}

.footer {
  background: #050062;
  padding: .5em;
}

.footer p {
  font-size: .8em;
  color: #fff;
  text-align: center;
}

div.wpcf7 .ajax-loader {
  display: none !important;
}

/*ーーーーーーーーーー
#page
ーーーーーーーーーーー*/
#page .con {
  padding: 25vh 0 0;
}

#page .thanks {
  text-align: center;
}

#page .thanks h2 {
  font-size: 2em;
  padding-bottom: 20px;
  font-family: "Yu Mincho", "YuMincho", serif;
}

#page .thanks h3 {
  font-size: 1.5em;
  padding-bottom: 20px;
}

#page .thanks p {
  padding-bottom: 20px;
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
}

/*ーーーーーーーーーー
.form_btn 
ーーーーーーーーーーー*/
@media (min-width: 750px) {
  .form_btn {
    display: none;
  }
}

@media (max-width: 750px) {
  .form_btn {
    display: block;
    position: fixed;
    bottom: 0px;
    width: 100%;
    z-index: 9999;
    background: rgba(202, 202, 202, 0.9);
    padding: 10px 0;
  }
}

/*ーーーーーーーーーー
.e404
ーーーーーーーーーーー*/
.e404 {
  padding: 10% 0;
  text-align: center;
}

.e404 .title {
  font-size: 2em;
  color: #050062;
  margin-bottom: 30px;
}

.e404 .txt-link {
  text-decoration: underline;
  margin-top: 20px;
}

.e404 .txt-link:hover {
  text-decoration: none;
}
