@charset "UTF-8";

/*******************************************************************
　リセット
*******************************************************************/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
main,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin        : 0;
  padding       : 0;
  border        : 0;
  font-style    : normal;
  font-weight   : normal;
  vertical-align: baseline;
}

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

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing        : border-box;
}

blockquote,
q {
  quotes: none;
}

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

input,
textarea {
  margin : 0;
  padding: 0;
}

input::-webkit-input-placeholder,
input:-moz-placeholder,
textarea::-webkit-input-placeholder,
textarea:-moz-placeholder {
  color: #888;
}

input[type="button"],
input[type="submit"],
input[type="search"],
input[type="reset"] {
  -webkit-appearance: none;
  -moz-appearance   : none;
  appearance        : none;
}

ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing : 0;
  width          : 100%;
}

a:focus {
  outline: none;
}

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

a img {
  -webkit-transition: .4s;
  -o-transition     : .4s;
  transition        : .4s;
}

a img:hover {
  opacity: .8;
}

/*******************************************************************
　基本設定
*******************************************************************/
/*==================
@media (min-width: 559px) {}
@media (min-width: 959px) {}
==================*/
@font-face {
  font-family: 'DINPro Medium';
  font-style : normal;
  font-weight: normal;
  src        : local("DINPro Medium"), url("../fonts/DINPro-Medium tr.woff") format("woff");
}

/* ページ全体
-------------------------------------------------------------------------- */
html {
  width                     : 100%;
  height                    : 100%;
  margin                    : 0;
  padding                   : 0;
  text-rendering            : auto;
  font-size                 : 62.5%;
  -webkit-overflow-scrolling: touch;
  -webkit-font-smoothing    : antialiased;
  -moz-osx-font-smoothing   : grayscale;
  -moz-text-size-adjust     : none;
  -ms-text-size-adjust      : 100%;
  -webkit-text-size-adjust  : 100%;
  text-size-adjust          : 100%;
}

body {
  overflow-x                   : hidden;
  width                        : 100%;
  height                       : 100%;
  margin                       : 0;
  padding                      : 0;
  font-family                  : "游ゴシック", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HiraKakuPro-W3", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, sans-serif;
  font-weight                  : 400;
  font-size                    : 1.5rem;
  line-height                  : 1;
  color                        : #1a1a1a;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings        : 'palt';
  letter-spacing               : 1px;
}

@media (min-width: 559px) {
  body {
    font-size: 1.6rem;
  }
}

a {
  text-decoration   : none;
  -webkit-transition: .3s;
  -o-transition     : .3s;
  transition        : .3s;
}

a:link,
a:visited {
  color: #0E335D;
}

a:hover {
  color: #2D88F0;
}

strong,
b {
  font-weight: bold;
}

p {
  margin     : 0;
  padding    : 0;
  border     : 0;
  line-height: 1.8;
}

/* Header設定
-------------------------------------------------------------------------- */
.sub_nav_group {
  display: none;
}

@media (min-width: 959px) {
  .sub_nav_group {
    display: block;
    height : 4rem;
  }
}

@media (min-width: 959px) {
  .sub_nav {
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-align: center;
    -ms-flex-align   : center;
    align-items      : center;
    max-width        : 150rem;
    padding          : 0px 20px;
    height           : 100%;
    margin           : auto;
  }

  .sub_nav h1 {
    -webkit-box-flex: 1;
    -ms-flex        : 1 1 auto;
    flex            : 1 1 auto;
    font-size       : 1.4rem;
  }

  .sub_nav .font_large {
    font-size: 2.2rem;
  }
}

@media (min-width: 959px) {
  .sub_tel {
    margin-right: 1rem;
  }
}

@media (max-width: 959px) {
  .sub_nav_list {
    display              : -ms-grid;
    display              : grid;
    -ms-grid-columns     : (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    grid-gap             : 1rem;
    margin-top           : 2rem;
  }

  .sub_nav_list li {
    padding     : 1rem 0.5rem;
    border-left : 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    text-align  : center;
  }
}

@media (min-width: 959px) {
  .sub_nav_list {
    -webkit-box-flex: 0;
    -ms-flex        : 0 0 30rem;
    flex            : 0 0 30rem;
    display         : -webkit-box;
    display         : -ms-flexbox;
    display         : flex;
    font-size       : 1.4rem;
  }

  .sub_nav_list a {
    display           : block;
    padding           : 0 1rem;
    border-left       : 1px solid #0E335D;
    -webkit-transition: .3s;
    -o-transition     : .3s;
    transition        : .3s;
  }

  .sub_nav_list a:link,
  .sub_nav_list a:visited {
    color: #0E335D;
  }

  .sub_nav_list a:hover {
    color: #FFC332;
  }

  .sub_nav_list li:last-child {
    border-right: 1px solid #0E335D;
  }
}

header {
  display   : -webkit-box;
  display   : -ms-flexbox;
  display   : flex;
  width     : 100%;
  height    : 6rem;
  background: #185AA5;
}

header.active {
  position: fixed;
  z-index : 999;
  top     : 0;
  left    : 0;
}

@media (min-width: 959px) {
  header {
    position : relative;
    max-width: 150rem;
    padding  : 0px 0px 0px 20px;
    height   : 10rem;
    margin   : auto;
  }

  header:before {
    position  : absolute;
    z-index   : -1;
    top       : 0;
    left      : 100%;
    content   : "";
    width     : calc((100vw - 100%) / 2);
    height    : 100%;
    background: #0E335D;
  }

  header:after {
    position  : absolute;
    z-index   : -1;
    top       : 0;
    right     : 100%;
    content   : "";
    width     : calc((100vw - 100%) / 2);
    height    : 100%;
    background: #185AA5;
  }
}

.header_logo {
  position        : relative;
  -webkit-box-flex: 0;
  -ms-flex        : 0 0 18rem;
  flex            : 0 0 18rem;
  padding         : 1rem;
  background      : #0E335D;
}

@media (min-width: 959px) {
  .header_logo {
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-align: center;
    -ms-flex-align   : center;
    align-items      : center;
    padding          : 1rem 1rem 1rem 0;
    background       : #185AA5;
  }
}

.header_logo:before {
  position    : absolute;
  z-index     : 1;
  top         : 0;
  left        : 100%;
  bottom      : 0;
  content     : "";
  display     : block;
  border-style: solid;
  border-width: 0 0 6rem 3rem;
  border-color: transparent transparent transparent #0E335D;
}

@media (min-width: 959px) {
  .header_logo:before {
    border-width: 0 0 10rem 4rem;
    border-color: transparent transparent transparent #185AA5;
  }
}

.global {
  -webkit-box-flex : 1;
  -ms-flex         : 1 1 auto;
  flex             : 1 1 auto;
  display          : -webkit-box;
  display          : -ms-flexbox;
  display          : flex;
  -webkit-box-pack : end;
  -ms-flex-pack    : end;
  justify-content  : flex-end;
  -webkit-box-align: center;
  -ms-flex-align   : center;
  align-items      : center;
  padding          : 1rem 0 1rem 1rem;
  background       : #185AA5;
}

@media (min-width: 959px) {
  .global {
    padding   : 0 20px 0 5rem;
    background: #0E335D;
  }
}

.nav_pc {
  display: none;
}

@media (min-width: 959px) {
  .nav_pc {
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-pack : justify;
    -ms-flex-pack    : justify;
    justify-content  : space-between;
    -webkit-box-align: center;
    -ms-flex-align   : center;
    align-items      : center;
    height           : 100%;
    text-align       : center;
    font-size        : 1.5rem !important;
  }

  .nav_pc small {
    display   : block;
    margin-top: 0.4rem;
    font-size : 1.2rem !important;
  }

  .nav_pc a {
    display           : block;
    padding           : 0.6rem;
    -webkit-transition: .3s;
    -o-transition     : .3s;
    transition        : .3s;
  }

  .nav_pc a:link,
  .nav_pc a:visited {
    color: #ffffff;
  }

  .nav_pc a:hover {
    color: #FFC332;
  }

  .nav_pc-item {
    margin-left: 3px;
  }
}

.nav_panel {
  display   : none;
  position  : fixed;
  z-index   : 999;
  top       : 6rem;
  right     : 0;
  left      : 0;
  height    : calc(100vh - 6rem);
  padding   : 1rem;
  background: rgba(255, 255, 255, 0.9);
}

@media (min-width: 959px) {
  .nav_panel {
    display: none;
  }
}

.global_nav {
  display              : -ms-grid;
  display              : grid;
  -ms-grid-columns     : (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  font-size            : 2rem;
}

.global_nav small {
  display   : block;
  margin-top: 0.4rem;
}

.global_nav a {
  display           : block;
  padding           : 1rem;
  -webkit-transition: .3s;
  -o-transition     : .3s;
  transition        : .3s;
}

.global_nav a:link,
.global_nav a:visited {
  color: #0E335D;
}

.global_nav-item01,
.global_nav-item02,
.global_nav-item03,
.global_nav-item04,
.global_nav-item05,
.global_nav-item06,
.global_nav-item07 {
  border-bottom: 2px solid #FFC332;
}

.global_nav-item01 {
  -ms-grid-column     : 1;
  grid-column-start   : 1;
  -ms-grid-column-span: 2;
  grid-column-end     : 3;
}

.global_nav-item02 {
  -ms-grid-column     : 1;
  grid-column-start   : 1;
  -ms-grid-column-span: 2;
  grid-column-end     : 3;
}

.global_nav-item03 {
  -ms-grid-column     : 1;
  grid-column-start   : 1;
  -ms-grid-column-span: 1;
  grid-column-end     : 2;
}

.global_nav-item04 {
  -ms-grid-column     : 2;
  grid-column-start   : 2;
  -ms-grid-column-span: 1;
  grid-column-end     : 3;
}

.global_nav-item05 {
  -ms-grid-column     : 1;
  grid-column-start   : 1;
  -ms-grid-column-span: 1;
  grid-column-end     : 2;
}

.global_nav-item06 {
  -ms-grid-column     : 2;
  grid-column-start   : 2;
  -ms-grid-column-span: 1;
  grid-column-end     : 3;
}

.global_nav-item07 {
  -ms-grid-column     : 1;
  grid-column-start   : 1;
  -ms-grid-column-span: 2;
  grid-column-end     : 3;
}

.slinglab_flex {
  position       : relative;
  padding        : 0.5rem 0rem;
  color          : #0E335D;
  display        : flex;
  justify-content: space-between;
  align-items    : center;
}

.slinglab_sp_img {
  max-width    : 105px;
  margin-bottom: 3px;
}

.new_sp_tag {
  width     : fit-content;
  padding   : 2px 5px;
  border    : 1px solid #0E335D;
  font-size : 1.2rem;
  text-align: center;
  color     : #0E335D;
}

.toggle {
  display: block;
  color  : #ffffff;
}

.toggle i {
  padding  : 1rem;
  font-size: 3rem;
}

@media (min-width: 959px) {
  .toggle {
    display: none;
  }
}

.nav_accordion {
  display   : none;
  margin-top: 1rem;
  color     : #0E335D;
}

.nav_accordion-item {
  padding   : 0.5rem 0;
  border-top: 1px solid #185AA5;
  font-size : 1.8rem;
}

.switch {
  position: relative;
  padding : 1rem;
  color   : #0E335D;
}

.switch:after {
  font-family      : 'Material Icons';
  content          : '\e146';
  position         : absolute;
  font-size        : 3rem;
  right            : 0;
  top              : 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform    : translateY(-50%);
  transform        : translateY(-50%);
}

.switch.active:after {
  content: '\e909';
}

.nav_contact {
  width : 30rem;
  margin: 2rem auto 0;
}

.nav_contact a {
  position   : relative;
  display    : block;
  padding    : 1.6rem 0;
  background : #0E335D;
  text-align : center;
  font-family: 'DINPro Medium';
  font-size  : 1.8rem;
  font-weight: normal;
  color      : #ffffff;
}

.nav_contact a:hover {
  color: #FFC332;
}

.nav_contact a:hover:before {
  border-color: transparent transparent #FFC332 transparent;
}

.nav_contact a:before {
  position          : absolute;
  z-index           : 1;
  top               : 0;
  right             : 0;
  content           : "";
  display           : block;
  border-style      : solid;
  border-width      : 0 0 5rem 3rem;
  border-color      : transparent transparent #185AA5 transparent;
  -webkit-transition: .3s;
  -o-transition     : .3s;
  transition        : .3s;
}

/* Footer設定
-------------------------------------------------------------------------- */
.tit_wellnetwork {
  position       : relative;
  z-index        : 1;
  padding        : 2rem 0 2rem 4rem;
  background     : -webkit-gradient(linear, right bottom, left top, color-stop(47%, #185AA5), color-stop(50%, #0E335D)) #185AA5 no-repeat;
  background     : -webkit-linear-gradient(bottom right, #185AA5 47%, #0E335D 50%) #185AA5 no-repeat;
  background     : -o-linear-gradient(bottom right, #185AA5 47%, #0E335D 50%) #185AA5 no-repeat;
  background     : linear-gradient(to top left, #185AA5 47%, #0E335D 50%) #185AA5 no-repeat;
  background-size: 3rem 100%;
  font-size      : 1.6rem;
  font-weight    : bold;
  color          : #ffffff;
}

.tit_wellnetwork:before {
  position  : absolute;
  z-index   : -1;
  top       : 0;
  left      : 100%;
  content   : "";
  width     : calc((100vw - 100%) / 2);
  height    : 100%;
  background: #185AA5;
}

.tit_wellnetwork:after {
  position  : absolute;
  z-index   : -1;
  top       : 0;
  right     : 100%;
  content   : "";
  width     : calc((100vw - 100%) / 2);
  height    : 100%;
  background: #0E335D;
}

@media (min-width: 959px) {
  .tit_wellnetwork {
    max-width: 100rem;
    margin   : auto;
    font-size: 2.6rem;
  }
}

.tit_wellnetwork small {
  display: none;
}

@media (min-width: 959px) {
  .tit_wellnetwork small {
    display    : inline-block;
    margin-left: 3rem;
    font-size  : 1.6rem;
  }
}

.wellnet-map {
  position   : relative;
  width      : 100%;
  max-width  : 1000px;
  margin     : 20px auto 0px auto;
  padding    : 0px;
  padding-top: unset !important;
}

.wellnet-map iframe {
  width     : 100%;
  max-height: 400px;
}

@media (min-width: 559px) {
  .wellnet-map {
    padding-top: 50%;
  }
}

@media (min-width: 959px) {
  .wellnet-map {
    padding-top: 30%;
  }
}

.network-map {
  position   : relative;
  width      : 100%;
  height     : 0;
  margin-top : -4.6rem;
  padding-top: 75%;
}

.network-map iframe {
  position: absolute;
  top     : 0;
  left    : 0;
  width   : 100%;
  height  : 100%;
}

@media (min-width: 959px) {
  .network-map {
    padding-top: 30%;
  }
}

.footer-sec01 {
  background: #F2F2F1;
}

@media (min-width: 959px) {
  .footer-sec01 {
    background: #ffffff;
  }
}

.footer-sec01-inner {
  padding: 5rem 0;
}

@media (min-width: 959px) {
  .footer-sec01-inner {
    max-width: 100rem;
    margin   : auto;
  }
}

.footer-sec01-con00 {
  display: none;
}

.footer-sec01-con00-item01 {
  margin-bottom: 2rem;
  text-align   : center;
  font-size    : 1.7rem;
  font-weight  : bold;
}

.footer-sec01-con01 {
  display              : -ms-grid;
  display              : grid;
  -ms-grid-columns     : 1fr;
  grid-template-columns: 1fr;
  grid-gap             : 2rem;
  padding              : 1rem;
}

@media (min-width: 559px) {
  .footer-sec01-con01 {
    -ms-grid-columns     : 30rem 1fr;
    grid-template-columns: 30rem 1fr;
  }
}

@media (min-width: 959px) {
  .footer-sec01-con01 {
    -ms-grid-columns     : 45rem 1fr;
    grid-template-columns: 45rem 1fr;
    grid-gap             : 5rem;
    padding              : 0;
  }

  .footer-sec01-con01 .area {
    margin-top   : 0;
    margin-bottom: 1rem;
    padding      : 0.5rem;
    background   : #0E335D;
    text-align   : center;
    color        : #ffffff;
  }

  .footer-sec01-con01 .font_din {
    font-size: 2.6rem;
  }

  .footer-sec01-con01 p {
    margin-top : 1rem;
    line-height: 1.6;
  }
}

.well_logo {
  width        : 25rem;
  margin-bottom: 20px;
}

.footer-sec01-con01-h4 {
  margin-top : 1rem;
  font-size  : 2.3rem;
  font-weight: bold;
}

.footer-sec01-con02 {
  display: none;
}

@media (min-width: 959px) {
  .footer-sec01-con02 {
    display              : -ms-grid;
    display              : grid;
    -ms-grid-columns     : 30rem 30rem 30rem;
    grid-template-columns: 30rem 30rem 30rem;
    grid-column-gap      : 5rem;
    margin-top           : 5rem;
  }

  .footer-sec01-con02 .area {
    margin-top   : 0;
    margin-bottom: 1rem;
    padding      : 0.5rem;
    background   : #0E335D;
    text-align   : center;
    color        : #ffffff;
  }

  .footer-sec01-con02 p {
    margin-top : 1rem;
    line-height: 1.6;
  }
}

.footer-sec01-con02-h4 {
  font-size  : 1.8rem;
  font-weight: bold;
}

.footer-sec02 {
  background: #ffffff;
}

@media (min-width: 959px) {
  .footer-sec02 {
    margin    : auto;
    padding   : 5rem 0;
    background: #F2F2F1;
  }
}

.footer-sec02-inner {
  padding: 5rem 0;
}

@media (min-width: 959px) {
  .footer-sec02-inner {
    display              : -ms-grid;
    display              : grid;
    -ms-grid-columns     : 1fr 30rem;
    grid-template-columns: 1fr 30rem;
    grid-gap             : 2.5rem;
    max-width            : 100rem;
    margin               : auto;
  }
}

.footer-sec02-item00 {
  padding   : 2rem 4rem;
  background: #ffffff;
  border    : 2px solid #0E335D;
}

@media (max-width: 959px) {
  .footer-sec02-item00 {
    margin-top  : 2rem;
    margin-right: 1rem;
    margin-left : 1rem;
  }

  .footer-sec02-item00:first-of-type {
    margin-top: 0;
  }
}

@media (min-width: 559px) {
  .footer-sec02-item00 {
    max-width   : 50rem;
    margin-right: auto;
    margin-left : auto;
  }
}

@media (min-width: 959px) {
  .footer-sec02-item00 {
    max-width: 100rem;
    height   : 100%;
  }
}

.footer-sec02-item00 h4 {
  height     : 100%;
  font-size  : 2.8rem;
  font-weight: bold;
}

@media (min-width: 959px) {
  .footer-sec02-item00 h4 {
    display           : -webkit-box;
    display           : -ms-flexbox;
    display           : flex;
    -ms-flex-line-pack: center;
    align-content     : center;
    -ms-flex-wrap     : wrap;
    flex-wrap         : wrap;
  }
}

.footer-sec02-item00 h4 small {
  display      : block;
  margin-bottom: 0.5rem;
  font-size    : 1.6rem;
  color        : #98958E;
}

@media (min-width: 959px) {
  .footer-sec02-item00 .grit {
    display              : -ms-grid;
    display              : grid;
    -ms-grid-columns     : 24rem 1fr;
    grid-template-columns: 24rem 1fr;
  }
}

@media (min-width: 959px) {
  .footer-sec02-con01 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order           : 1;
    order                    : 1;
  }
}

@media (min-width: 959px) {
  .footer-sec02-con02 {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order           : 3;
    order                    : 3;
  }
}

.footer-sec02-con03 {
  background: #ffffff url("../img/common/footer-faq.svg") top right/4rem 4rem no-repeat;
}

@media (min-width: 959px) {
  .footer-sec02-con03 {
    background               : #ffffff url("../img/common/footer-faq.svg") top right/5.8rem 5.8rem no-repeat;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order           : 2;
    order                    : 2;
  }
}

.footer-sec02-con04 {
  background: #ffffff url("../img/common/footer-develop.svg") top right/4rem 4rem no-repeat;
}

@media (min-width: 959px) {
  .footer-sec02-con04 {
    background               : #ffffff url("../img/common/footer-develop.svg") top right/5.8rem 5.8rem no-repeat;
    -webkit-box-ordinal-group: 5;
    -ms-flex-order           : 4;
    order                    : 4;
  }
}

@media (min-width: 959px) {
  .footer-sec03 {
    position: relative;
    z-index : 2;
  }
}

.footer-sec03-inner {
  position: relative;
  padding : 5rem 0;
}

@media (max-width: 959px) {
  .footer-sec03-inner {
    background: -webkit-gradient(linear, right bottom, left top, color-stop(49.8%, #ffffff), color-stop(50%, #185AA5)) top/100% 100% no-repeat;
    background: -webkit-linear-gradient(bottom right, #ffffff 49.8%, #185AA5 50%) top/100% 100% no-repeat;
    background: -o-linear-gradient(bottom right, #ffffff 49.8%, #185AA5 50%) top/100% 100% no-repeat;
    background: linear-gradient(to top left, #ffffff 49.8%, #185AA5 50%) top/100% 100% no-repeat;
  }
}

@media (min-width: 959px) {
  .footer-sec03-inner {
    display         : -webkit-box;
    display         : -ms-flexbox;
    display         : flex;
    -webkit-box-pack: end;
    -ms-flex-pack   : end;
    justify-content : flex-end;
    max-width       : 100rem;
    margin          : auto;
  }
}

.footer-sec03-con01 {
  display         : -webkit-box;
  display         : -ms-flexbox;
  display         : flex;
  -webkit-box-pack: center;
  -ms-flex-pack   : center;
  justify-content : center;
  -ms-flex-wrap   : wrap;
  flex-wrap       : wrap;
}

.footer-sec03-con01-item01 {
  display      : block;
  margin-bottom: 2rem;
  font-size    : 2rem;
  line-height  : 1.6;
  font-weight  : bold;
  color        : #ffffff;
}

@media (min-width: 959px) {
  .footer-sec03-con01-item01 {
    padding  : 9rem 4rem;
    font-size: 2.3rem;
    color    : #0E335D;
  }
}

.footer-sec03-con01-item02 {
  display      : block;
  width        : 100%;
  margin-bottom: 2rem;
  text-align   : center;
  font-weight  : bold;
}

@media (min-width: 959px) {
  .footer-sec03-con01-item02 {
    display: none;
  }
}

.footer-sec03-con02-item00 {
  display      : none;
  margin-bottom: 2rem;
  padding      : 2rem;
  border       : 2px solid #0E335D;
}

@media (min-width: 959px) {
  .footer-sec03-con02-item00 {
    display: block;
  }
}

.footer-sec03-con02-item00 .tit_type03 {
  margin-bottom: 1rem;
}

.link_content {
  display              : -ms-grid;
  display              : grid;
  -ms-grid-columns     : 1fr;
  grid-template-columns: 1fr;
  grid-gap             : 2rem;
  margin               : auto 1rem;
}

@media (min-width: 959px) {
  .link_content {
    -ms-grid-columns     : 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}

footer {
  padding   : 3rem 1rem 2rem;
  background: #0E335D;
  color     : #ffffff;
}

@media (min-width: 559px) {
  footer {
    padding: 5rem 2rem 3rem;
  }
}

@media (min-width: 959px) {
  footer {
    position: relative;
  }

  footer:before {
    position: absolute;
    z-index : 0;
    bottom  : 0;
    left    : 0;
    content : url("../img/common/footer_img.png");
  }
}

footer a {
  text-decoration   : none;
  -webkit-transition: .3s;
  -o-transition     : .3s;
  transition        : .3s;
}

footer a:link,
footer a:visited {
  color: #ffffff;
}

footer a:hover {
  color: #FFC332;
}

@media (min-width: 559px) {
  .footer_con {
    width        : 100%;
    max-width    : 100rem;
    margin       : auto;
    display      : -webkit-box;
    display      : -ms-flexbox;
    display      : flex;
    -ms-flex-wrap: wrap;
    flex-wrap    : wrap;
  }
}

@media (min-width: 959px) {
  .footer_con {
    position: relative;
  }
}

@media (max-width: 558px) {
  .footer_logo {
    display              : -webkit-box;
    display              : -ms-flexbox;
    display              : flex;
    -webkit-box-pack     : center;
    -ms-flex-pack        : center;
    justify-content      : center;
    -webkit-box-orient   : vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction   : column;
    flex-direction       : column;
  }

  .footer_logo figure {
    text-align: center;
  }

  .footer_logo address {
    padding: 0 4rem;
  }
}

@media (min-width: 559px) {
  .footer_logo {
    -webkit-box-flex: 0;
    -ms-flex        : 0 0 auto;
    flex            : 0 0 auto;
    padding-right   : 2rem;
  }
}

.footer_logo .font_din {
  font-size  : 2rem;
  line-height: 1.5;
}

.footer_pc {
  -webkit-box-flex: 1;
  -ms-flex        : 1 1 auto;
  flex            : 1 1 auto;
}

@media (max-width: 560px) {
  .footer_pc {
    display: none;
  }
}

.site_tree_group {
  display        : -webkit-box;
  display        : -ms-flexbox;
  display        : flex;
  -ms-flex-pack  : distribute;
  justify-content: space-around;
}

@media (min-width: 559px) {
  .site_tree_group {
    margin-top: 3rem;
  }
}

.site_tree {
  padding: 0.5rem;
}

.site_tree_list {
  position : relative;
  padding  : 0.3rem 0 0.3rem 1.5rem;
  font-size: 1.3rem;
}

.site_tree_list:before {
  position  : absolute;
  top       : 0.9rem;
  bottom    : 0;
  left      : 0;
  content   : "";
  display   : block;
  width     : 1rem;
  height    : 0.1rem;
  background: #ffffff;
}

.site_tree_list:after {
  position  : absolute;
  top       : 0;
  bottom    : 0;
  left      : 0;
  content   : "";
  display   : block;
  width     : 0.1rem;
  height    : 2.5rem;
  background: #ffffff;
}

.site_tree_list:last-of-type:after {
  height: 0.9rem;
}

.site_tree_group2 {
  display         : -webkit-box;
  display         : -ms-flexbox;
  display         : flex;
  -webkit-box-pack: end;
  -ms-flex-pack   : end;
  justify-content : flex-end;
  margin-top      : 3rem;
}

.site_link {
  margin-right: 4rem;
}

.site_link:last-of-type {
  margin-right: 0;
}

#copyright {
  margin-top: 3rem;
  text-align: center;
}

@media (min-width: 559px) {
  #copyright {
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-pack : justify;
    -ms-flex-pack    : justify;
    justify-content  : space-between;
    -webkit-box-align: center;
    -ms-flex-align   : center;
    align-items      : center;
    width            : 100%;
    max-width        : 100rem;
    margin           : 3rem auto 0;
  }
}

@media (min-width: 959px) {
  #copyright {
    position: relative;
  }
}

.label_icon {
  display: none;
}

@media (min-width: 559px) {
  .label_icon {
    display: block;
  }
}

.rights {
  font-size: 1em;
}

@media (min-width: 559px) {
  .rights {
    font-size: 1.1rem;
  }
}

#pageup {
  position: fixed;
  z-index : 999;
  display : none;
  right   : 1rem;
  bottom  : 1rem;
  width   : 5rem;
  height  : 5rem;
}

#pageup:hover {
  opacity: 0.7;
}

/* 共通設定
-------------------------------------------------------------------------- */
/* ページのメインビジュアル */
#page-visual {
  position: relative;
  color   : #0E335D;
}

.visual-img {
  width        : 100%;
  height       : 28rem;
  -o-object-fit: cover;
  object-fit   : cover;
}

@media (min-width: 959px) {
  .visual-img {
    height: 45rem;
  }
}

.page-title {
  position   : absolute;
  bottom     : 0;
  left       : 0;
  padding    : 3rem 4rem 1rem 2rem;
  background : #ffffff;
  font-size  : 1.5rem;
  font-weight: 600;
  line-height: 1.2;
}

@media (min-width: 959px) {
  .page-title {
    left     : calc((100% - 100rem) / 2);
    font-size: 1.9rem;
  }
}

.title-en {
  font-family: 'DINPro Medium';
  font-size  : 2.8rem;
  font-weight: normal;
  display    : block;
}

@media (min-width: 959px) {
  .title-en {
    font-size: 4.4rem;
  }
}

/* パンくず */
.breadcrumb {
  display          : -webkit-box;
  display          : -ms-flexbox;
  display          : flex;
  -webkit-box-pack : end;
  -ms-flex-pack    : end;
  justify-content  : flex-end;
  -webkit-box-align: center;
  -ms-flex-align   : center;
  align-items      : center;
  padding          : 1rem 0.5rem;
  font-size        : 1.3rem;
}

@media (min-width: 559px) {
  .breadcrumb {
    max-width: 100rem;
    margin   : auto;
    padding  : 2rem 1rem;
    font-size: 1.6rem;
  }
}

.breadcrumb li {
  position     : relative;
  padding-right: 1.5rem;
}

@media (min-width: 559px) {
  .breadcrumb li {
    padding-right: 2rem;
  }
}

.breadcrumb li:after {
  position   : absolute;
  display    : inline-block;
  font-family: 'Material Icons';
  content    : "\e5cc";
}

.breadcrumb li:last-of-type {
  padding-right: 0;
}

.breadcrumb li:last-of-type:after {
  content: "";
}

/* ページのイントロコメント */
.page-lead {
  padding    : 1rem 1rem 3rem;
  color      : #0E335D;
  line-height: 1.8;
  font-weight: bold;
}

@media (min-width: 559px) {
  .page-lead.text-center {
    text-align: center;
  }
}

@media (min-width: 959px) {
  .page-lead {
    font-size: 2.1rem;
    padding  : 2rem 1rem 4rem;
  }

  .page-lead.text-center {
    text-align: center;
  }
}

.lead-text {
  font-size  : 1.6rem;
  font-weight: bold;
}

@media (min-width: 959px) {
  .lead-text {
    font-size: 2.2rem;
  }
}

/*******************************************************************
　コンテンツパーツ
*******************************************************************/
.container {
  width: calc(100% - 2rem);
}

@media (min-width: 959px) {
  .container {
    max-width: 100rem;
    margin   : auto;
  }
}

.content_link:not(:first-of-type) {
  margin-top: 6rem;
}

@media (min-width: 559px) {
  .content_link {
    position : relative;
    max-width: 100rem;
    margin   : auto;
  }

  .content_link:nth-of-type(odd) .content_link_img {
    left: 0;
  }

  .content_link:nth-of-type(odd) .content_link_box {
    margin: auto 0 auto auto;
  }

  .content_link:nth-of-type(even) .content_link_img {
    display    : block;
    text-align : right;
    margin-left: auto;
  }

  .content_link:nth-of-type(even) .content_link_box {
    margin: auto auto auto 0;
  }

  .content_link.position .content_link_img {
    display    : block;
    text-align : right;
    margin-left: auto;
  }

  .content_link.position .content_link_box {
    margin: auto auto auto 0;
  }
}

.content_link_img {
  position: relative;
}

@media (min-width: 959px) {
  .content_link_img {
    top   : 0;
    width : 64rem;
    height: auto;
  }
}

.content_link_box {
  position  : relative;
  z-index   : 1;
  margin    : -4rem 2rem auto;
  padding   : 1rem;
  background: #ffffff;
}

@media (min-width: 559px) {
  .content_link_box {
    position: absolute;
    top     : 0;
    right   : 0;
    bottom  : 0;
    left    : 0;
    width   : 48rem;
    height  : 33rem;
  }
}

.content_link_text {
  padding: 2.5rem;
  border : 2px solid #0E335D;
}

@media (min-width: 959px) {
  .content_link_text {
    padding: 3.5rem 4.5rem 2rem;
    height : 100%;
  }
}

.content_link_title {
  margin-bottom: 1rem;
  font-size    : 2.1rem;
  line-height  : 1.2;
  font-weight  : bold;
  color        : #0E335D;
}

@media (min-width: 959px) {
  .content_link_title {
    font-size: 2.8rem;
  }
}

.content_link_title .font_din {
  display      : block;
  margin-bottom: 1.5rem;
  font-size    : 1.5rem;
  color        : #185AA5;
}

@media (min-width: 959px) {
  .content_link_title .font_din {
    font-size: 2.2rem;
  }
}

.content_link_text_area {
  height: 130px;
}

@media (min-width: 959px) {
  .content_link_text_area {
    height: 110px;
  }
}

.curtain_left.fadestart:after {
  position                   : absolute;
  top                        : 0;
  left                       : 0;
  content                    : '';
  display                    : block;
  width                      : 100%;
  height                     : 100%;
  background                 : #000;
  -webkit-transform          : scaleX(0);
  -ms-transform              : scaleX(0);
  transform                  : scaleX(0);
  -webkit-animation          : leftIn 0.3s 0s ease, leftOut 0.3s 0.3s ease;
  animation                  : leftIn 0.3s 0s ease, leftOut 0.3s 0.3s ease;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode        : forwards;
}

.curtain_right.fadestart:after {
  position                   : absolute;
  top                        : 0;
  left                       : 0;
  content                    : '';
  display                    : block;
  width                      : 100%;
  height                     : 100%;
  background                 : #000;
  -webkit-transform          : scaleX(0);
  -ms-transform              : scaleX(0);
  transform                  : scaleX(0);
  -webkit-animation          : rightIn 0.3s 0s ease, rightOut 0.3s 0.3s ease;
  animation                  : rightIn 0.3s 0s ease, rightOut 0.3s 0.3s ease;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode        : forwards;
}

@-webkit-keyframes leftIn {
  0% {
    -webkit-transform-origin: left;
    transform-origin        : left;
    -webkit-transform       : scaleX(0);
    transform               : scaleX(0);
  }

  100% {
    -webkit-transform-origin: left;
    transform-origin        : left;
    -webkit-transform       : scaleX(1);
    transform               : scaleX(1);
  }
}

@keyframes leftIn {
  0% {
    -webkit-transform-origin: left;
    transform-origin        : left;
    -webkit-transform       : scaleX(0);
    transform               : scaleX(0);
  }

  100% {
    -webkit-transform-origin: left;
    transform-origin        : left;
    -webkit-transform       : scaleX(1);
    transform               : scaleX(1);
  }
}

@-webkit-keyframes leftOut {
  0% {
    -webkit-transform-origin: right;
    transform-origin        : right;
    -webkit-transform       : scaleX(1);
    transform               : scaleX(1);
  }

  100% {
    -webkit-transform-origin: right;
    transform-origin        : right;
    -webkit-transform       : scaleX(0);
    transform               : scaleX(0);
  }
}

@keyframes leftOut {
  0% {
    -webkit-transform-origin: right;
    transform-origin        : right;
    -webkit-transform       : scaleX(1);
    transform               : scaleX(1);
  }

  100% {
    -webkit-transform-origin: right;
    transform-origin        : right;
    -webkit-transform       : scaleX(0);
    transform               : scaleX(0);
  }
}

@-webkit-keyframes rightIn {
  0% {
    -webkit-transform-origin: right;
    transform-origin        : right;
    -webkit-transform       : scaleX(0);
    transform               : scaleX(0);
  }

  100% {
    -webkit-transform-origin: right;
    transform-origin        : right;
    -webkit-transform       : scaleX(1);
    transform               : scaleX(1);
  }
}

@keyframes rightIn {
  0% {
    -webkit-transform-origin: right;
    transform-origin        : right;
    -webkit-transform       : scaleX(0);
    transform               : scaleX(0);
  }

  100% {
    -webkit-transform-origin: right;
    transform-origin        : right;
    -webkit-transform       : scaleX(1);
    transform               : scaleX(1);
  }
}

@-webkit-keyframes rightOut {
  0% {
    -webkit-transform-origin: left;
    transform-origin        : left;
    -webkit-transform       : scaleX(1);
    transform               : scaleX(1);
  }

  100% {
    -webkit-transform-origin: left;
    transform-origin        : left;
    -webkit-transform       : scaleX(0);
    transform               : scaleX(0);
  }
}

@keyframes rightOut {
  0% {
    -webkit-transform-origin: left;
    transform-origin        : left;
    -webkit-transform       : scaleX(1);
    transform               : scaleX(1);
  }

  100% {
    -webkit-transform-origin: left;
    transform-origin        : left;
    -webkit-transform       : scaleX(0);
    transform               : scaleX(0);
  }
}

/*******************************************************************
　タイトルパーツ
*******************************************************************/
.tit_type01 {
  position       : relative;
  z-index        : 0;
  padding        : 2rem 0 2rem 4rem;
  background     : -webkit-gradient(linear, right bottom, left top, color-stop(47%, #185AA5), color-stop(50%, #0E335D)) #185AA5 no-repeat;
  background     : -webkit-linear-gradient(bottom right, #185AA5 47%, #0E335D 50%) #185AA5 no-repeat;
  background     : -o-linear-gradient(bottom right, #185AA5 47%, #0E335D 50%) #185AA5 no-repeat;
  background     : linear-gradient(to top left, #185AA5 47%, #0E335D 50%) #185AA5 no-repeat;
  background-size: 3rem 100%;
  font-size      : 1.6rem;
  font-weight    : bold;
  color          : #ffffff;
}

.tit_type01:before {
  position  : absolute;
  z-index   : -1;
  top       : 0;
  left      : 100%;
  content   : "";
  width     : calc((100vw - 100%) / 2);
  height    : 100%;
  background: #185AA5;
}

.tit_type01:after {
  position  : absolute;
  z-index   : -1;
  top       : 0;
  right     : 100%;
  content   : "";
  width     : calc((100vw - 100%) / 2);
  height    : 100%;
  background: #0E335D;
}

@media (min-width: 959px) {
  .tit_type01 {
    width    : 100rem;
    margin   : auto;
    font-size: 2.6rem;
  }
}

.tit_type01 .bread-flex {
  display  : -webkit-box;
  display  : -ms-flexbox;
  display  : flex;
  max-width: 100rem;
  margin   : auto;
}

.tit_type01 .bread-flex .bread-title {
  font-weight   : bold;
  letter-spacing: 0.2rem;
}

@media (min-width: 559px) {
  .tit_type01 .bread-flex .bread-title {
    font-size: 2.6rem;
  }
}

.tit_type01 .bread-flex .breadcrumb {
  margin     : 0;
  margin-left: auto;
  padding    : 0;
  font-weight: 600;
}

.tit_type02 {
  font-size  : 1.6rem;
  font-weight: bold;
  line-height: 1.8;
  color      : #0E335D;
}

.tit_type03 {
  position   : relative;
  font-size  : 1.6rem;
  font-weight: bold;
  line-height: 1.8;
  color      : #0E335D;
}

.tit_type03:after {
  position     : absolute;
  content      : " ";
  display      : block;
  border-bottom: solid 3px #0E335D;
  top          : 100%;
  width        : 4rem;
}

/*******************************************************************
　テーブルパーツ
*******************************************************************/
.tit_type00 {
  background     : -webkit-gradient(linear, right bottom, left top, color-stop(50%, #185AA5), color-stop(50%, #0E335D)) #185AA5 no-repeat;
  background     : -webkit-linear-gradient(bottom right, #185AA5 50%, #0E335D 50%) #185AA5 no-repeat;
  background     : -o-linear-gradient(bottom right, #185AA5 50%, #0E335D 50%) #185AA5 no-repeat;
  background     : linear-gradient(to top left, #185AA5 50%, #0E335D 50%) #185AA5 no-repeat;
  background-size: 3rem 100%;
}

.top {
  background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, #f00)) no-repeat top left/50% 100%, -webkit-gradient(linear, right top, left bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, #f00)) no-repeat top right/50% 100%;
  background: -webkit-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #f00 50.5%) no-repeat top left/50% 100%, -webkit-linear-gradient(top right, rgba(255, 255, 255, 0) 50%, #f00 50.5%) no-repeat top right/50% 100%;
  background: -o-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #f00 50.5%) no-repeat top left/50% 100%, -o-linear-gradient(top right, rgba(255, 255, 255, 0) 50%, #f00 50.5%) no-repeat top right/50% 100%;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #f00 50.5%) no-repeat top left/50% 100%, linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #f00 50.5%) no-repeat top right/50% 100%;
}

/*******************************************************************
　リンクボタンパーツ
*******************************************************************/
.btn-s {
  width    : 18rem;
  margin   : auto;
  font-size: 1.7rem;
}

.btn-m {
  width    : 24rem;
  margin   : auto;
  font-size: 2rem;
}

.btn-l {
  width    : 36rem;
  margin   : auto;
  font-size: 2.4rem;
}

a.link_type01 {
  position   : relative;
  display    : block;
  padding    : 1.6rem 0;
  background : #0E335D -webkit-gradient(linear, left top, right bottom, color-stop(49%, transparent), color-stop(50%, #185AA5)) right/3rem 100% no-repeat;
  background : #0E335D -webkit-linear-gradient(top left, transparent 49%, #185AA5 50%) right/3rem 100% no-repeat;
  background : #0E335D -o-linear-gradient(top left, transparent 49%, #185AA5 50%) right/3rem 100% no-repeat;
  background : #0E335D linear-gradient(to bottom right, transparent 49%, #185AA5 50%) right/3rem 100% no-repeat;
  text-align : center;
  font-family: 'DINPro Medium';
  font-weight: normal;
  color      : #ffffff;
}

a.link_type01:hover {
  color     : #FFC332;
  background: #0E335D -webkit-gradient(linear, left top, right bottom, color-stop(49%, transparent), color-stop(50%, #FFC332)) right/3rem 100% no-repeat;
  background: #0E335D -webkit-linear-gradient(top left, transparent 49%, #FFC332 50%) right/3rem 100% no-repeat;
  background: #0E335D -o-linear-gradient(top left, transparent 49%, #FFC332 50%) right/3rem 100% no-repeat;
  background: #0E335D linear-gradient(to bottom right, transparent 49%, #FFC332 50%) right/3rem 100% no-repeat;
}

a.link_type02 {
  position   : relative;
  display    : block;
  padding    : 1.6rem 0;
  background : #0E335D -webkit-gradient(linear, left top, right bottom, color-stop(49%, transparent), color-stop(50%, #185AA5)) right/3rem 100% no-repeat;
  background : #0E335D -webkit-linear-gradient(top left, transparent 49%, #185AA5 50%) right/3rem 100% no-repeat;
  background : #0E335D -o-linear-gradient(top left, transparent 49%, #185AA5 50%) right/3rem 100% no-repeat;
  background : #0E335D linear-gradient(to bottom right, transparent 49%, #185AA5 50%) right/3rem 100% no-repeat;
  text-align : center;
  font-weight: bold;
  color      : #ffffff;
}

a.link_type02:hover {
  color     : #FFC332;
  background: #0E335D -webkit-gradient(linear, left top, right bottom, color-stop(49%, transparent), color-stop(50%, #FFC332)) right/3rem 100% no-repeat;
  background: #0E335D -webkit-linear-gradient(top left, transparent 49%, #FFC332 50%) right/3rem 100% no-repeat;
  background: #0E335D -o-linear-gradient(top left, transparent 49%, #FFC332 50%) right/3rem 100% no-repeat;
  background: #0E335D linear-gradient(to bottom right, transparent 49%, #FFC332 50%) right/3rem 100% no-repeat;
}

.link_tel {
  font-family: 'DINPro Medium';
  font-weight: normal;
}

.link_tel small {
  font-family: 'DINPro Medium';
  font-weight: normal;
}

a.link_tel {
  display          : -webkit-box;
  display          : -ms-flexbox;
  display          : flex;
  -webkit-box-pack : center;
  -ms-flex-pack    : center;
  justify-content  : center;
  -webkit-box-align: center;
  -ms-flex-align   : center;
  align-items      : center;
  width            : 100%;
  height           : 6.2rem;
  padding          : 1.6rem 0;
  background       : #FFC332;
  text-align       : center;
  font-family      : 'DINPro Medium';
  font-weight      : normal;
  font-size        : 3rem;
  color            : #0E335D;
}

a.link_tel small {
  font-family: 'DINPro Medium';
  font-weight: normal;
}

a.link_tel:hover {
  background: #0E335D;
  color     : #FFC332;
}

@media (min-width: 559px) {
  a.link_tel {
    width : 32rem;
    margin: auto;
  }
}

a.link_form {
  display          : -webkit-box;
  display          : -ms-flexbox;
  display          : flex;
  -webkit-box-pack : center;
  -ms-flex-pack    : center;
  justify-content  : center;
  -webkit-box-align: center;
  -ms-flex-align   : center;
  align-items      : center;
  width            : 100%;
  height           : 6.2rem;
  padding          : 1.6rem 0;
  background       : #FFC332;
  text-align       : center;
  font-weight      : bold;
  font-size        : 2.2rem;
  color            : #0E335D;
}

a.link_form:hover {
  background: #0E335D;
  color     : #FFC332;
}

@media (min-width: 559px) {
  a.link_form {
    width : 32rem;
    margin: auto;
  }
}

@media (min-width: 559px) {
  a[href*="tel:"] {
    pointer-events : none;
    cursor         : default;
    text-decoration: none;
  }
}

/* iframeレスポンシブ -----------------------------------------------*/
.responsive-iframe4_3 {
  position   : relative;
  width      : 100%;
  height     : 0;
  padding-top: 75%;
}

.responsive-iframe4_3 iframe {
  position: absolute;
  top     : 0;
  left    : 0;
  width   : 100%;
  height  : 100%;
}

/* 表示制御 -----------------------------------------------*/
.appear {
  display: block;
}

.hidden {
  display: none;
}

@media (min-width: 959px) {
  .appear {
    display: none;
  }

  .hidden {
    display: block;
  }
}

@media (min-width: 560px) {
  .sp_display {
    display: none;
  }
}

@media (max-width: 559px) {
  .pc_display {
    display: none;
  }
}

.font_din {
  font-family: 'DINPro Medium';
  font-weight: normal;
}

.text-align-center {
  text-align: center;
}

.text-align-left {
  text-align: left;
}

.text-align-right {
  text-align: right;
}

.font_10 {
  font-size: 1rem;
}

.font_13 {
  font-size: 1.3rem;
}

.font_14 {
  font-size: 1.4rem;
}

.font_15 {
  font-size: 1.5rem;
}

.mt2 {
  margin-top: 2rem;
}

.mt4 {
  margin-top: 4rem;
}

.mt6 {
  margin-top: 6rem;
}

.mt8 {
  margin-top: 8rem;
}

.mb2 {
  margin-bottom: 2rem;
}

.mb4 {
  margin-bottom: 4rem;
}

.mb6 {
  margin-bottom: 6rem;
}

.mb8 {
  margin-bottom: 8rem;
}

/* フェードイン */
.fadein {
  opacity           : 0;
  -webkit-transition: all 1s;
  -o-transition     : all 1s;
  transition        : all 1s;
}

.fadein.fadestart {
  opacity: 1;
}

.fadein-top {
  opacity           : 0;
  -webkit-transform : translateY(-30px);
  -ms-transform     : translateY(-30px);
  transform         : translateY(-30px);
  -webkit-transition: all 1s;
  -o-transition     : all 1s;
  transition        : all 1s;
}

.fadein-top.fadestart {
  opacity          : 1;
  -webkit-transform: translateY(0);
  -ms-transform    : translateY(0);
  transform        : translateY(0);
}

.fadein-bottom {
  opacity           : 0;
  -webkit-transform : translateY(30px);
  -ms-transform     : translateY(30px);
  transform         : translateY(30px);
  -webkit-transition: all 1s;
  -o-transition     : all 1s;
  transition        : all 1s;
}

.fadein-bottom.fadestart {
  opacity          : 1;
  -webkit-transform: translateY(0);
  -ms-transform    : translateY(0);
  transform        : translateY(0);
}

.fadein-left {
  opacity           : 0;
  -webkit-transform : translateX(-30px);
  -ms-transform     : translateX(-30px);
  transform         : translateX(-30px);
  -webkit-transition: all 1s;
  -o-transition     : all 1s;
  transition        : all 1s;
}

.fadein-left.fadestart {
  opacity          : 1;
  -webkit-transform: translateX(0);
  -ms-transform    : translateX(0);
  transform        : translateX(0);
}

.fadein-right {
  opacity           : 0;
  -webkit-transform : translateX(30px);
  -ms-transform     : translateX(30px);
  transform         : translateX(30px);
  -webkit-transition: all 1s;
  -o-transition     : all 1s;
  transition        : all 1s;
}

.fadein-right.fadestart {
  opacity          : 1;
  -webkit-transform: translateX(0);
  -ms-transform    : translateX(0);
  transform        : translateX(0);
}

.grecaptcha-badge {
  display: none;
}