@charset "UTF-8";

/*----------------------------------------------------

    Reset

----------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
form,input,textarea,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    box-sizing:border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, main, section {
    display: block;
}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {border-collapse:collapse;border-spacing: 0;}
select {
    -moz-appearance:none;
    -webkit-appearance:none;
    appearance:none;
    border-radius:0;
    border:0;
    margin:0;
    padding:0;
    background:none transparent;
    vertical-align:middle;
    font-size:inherit;
    color:inherit;
    box-sizing:content-box;
}

/*----------------------------------------------------

    Base

----------------------------------------------------*/
html {font-size:16px;}
body {
    font-family:Avenir, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", YuGothic, '游ゴシック', "メイリオ", Meiryo, sans-serif;
    color: #3c3c3c;
    font-size:100%;
    background:#fff;
    margin:0;
    min-width:320px;
}

.txt {font-size:14px;line-height:1.5;}
.txt-sub {font-size:12px;}
.red {color: #e60012!important;}
.error {color: #e60012!important;padding-top: 10px;}
.cyan {color: #00afec!important;}
.green {color:#00b373!important;}
.bold {font-weight:bold;}
.para {display:block;padding-left:1.0em;text-indent:-1.0em;}
.para+.para {margin-top:8px;}
.center {display:table!important;margin-left:auto!important;margin-right:auto!important;}
.serif {
    font-family:"ヒラギノ明朝 ProN W3","HiraMinProN-W3","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",serif;
}


/* link
----------------------------------------------------*/
a{text-decoration:none;outline:0;}
a:hover,a:focus {text-decoration:none;}

/* img
----------------------------------------------------*/
img {border:0;max-width:100%;height:auto;vertical-align:middle;}

/* clerfix
----------------------------------------------------*/
.clearfix:after {content:"";clear:both;display:block;}
.clearfix {min-height:1px;}


/*----------------------------------------------------

    .wrapper

----------------------------------------------------*/
.wrapper {
    position:relative;
    overflow:hidden;
}

@media screen and (max-width: 768px) {
}


/*----------------------------------------------------

    .header

----------------------------------------------------*/

header .logoArea a, .spMenuArea nav ul li a, .spMenuArea .assist .sitemap, .spMenuArea .assist .recruit, footer .ft_nav .ft_wrap_l > div a,

/******header******/
header {
  position: relative;
  z-index: 20; }

.header-scale header {
  position: fixed;
  top: 0; }

header .logoArea {
  border-bottom: 5px solid #0a85bc;
  padding: 20px 50px;
  background-color: #fff; }

header .headLogo img {
  max-width: 214px; }

header .headLogo span {
  display: inline-block;
  margin: 8px 0 0 30px;
  vertical-align: top;
  color: #4db316;
  font-size: 13px;
  letter-spacing: 0.37em; }

header .spMenu {
  display: none; }

@media screen and (max-width: 1100px) {
  header {
    position: fixed;
    width: 100%; }
  header .logoArea {
    padding: 0 10px;
    position: relative;
    z-index: 10;
    height: 90px; }
  header .headLogo img {
    max-width: 214px;
    vertical-align: middle;
    position: relative;
    top: 30px;
    left: 20px; }
  header .headLogo span {
    margin: 0.7vw 0 0 2.7vw;
    font-size: 11px; }
  header .spMenu {
    background-position: 0 0;
    background-repeat: no-repeat;
    display: block;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    height: 60px;
    width: 60px;
    position: absolute;
    top: 23%;
    right: 3%;
    background-image: url(../img/common/spMenu.png);
    background-size: 60px;
    margin-top: -3px;
    z-index: 10; }
  header .spMenu.c {
    background-image: url(../img/common/spMenu2.png); } }

@media screen and (max-width: 768px) {
  header .logoArea {
    height: 60px !important }
  header .headLogo img {
    top: 10px;
    left: 10px; }
  header .spMenu {
    background-size: 100%;
    width: 6.5%;
    top: 30%;
    margin-top: -0.5%; } }

/******nav******/
@media screen and (min-width: 1101px) {
  .spMenuArea {
    display: block !important; } }

@media screen and (max-width: 1100px) {
  .spMenuArea {
    display: none;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 2;
    text-align: left; }
  .spMenuArea::after {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    opacity: 0;
    z-index: 1;
    background: rgba(255, 255, 255, 0.9);
    position: fixed;
    top: 0;
    left: 0;
    transition: height 0.5s 0.5s,opacity 1s 0.3s; }
  .spMenuArea.c {
    max-height: 1200px;
    padding: 55px 0 3%; }
  .spMenuArea.c::after {
    height: 100%;
    opacity: 1; } }

@media screen and (max-width: 768px) {
  .spMenuArea.c {
    padding: 0 0 3%; } }

.spMenuArea nav {
  background-color: rgba(255, 255, 255, 0.65);
  width: 100%;
  z-index: 20;
  transition: background 0.5s; }

.spMenuArea nav ul {
  display: table;
  box-sizing: border-box;
  table-layout: fixed;
  padding: 17px 50px;
  width: 100%; }

.spMenuArea nav ul li {
  display: table-cell;
  border-right: 1px solid #fff; }

.spMenuArea nav ul li:first-child {
  border-left: 1px solid #fff; }

.spMenuArea nav ul li a {
  display: block;
  padding: 10px 0;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  color: #0a85bc; }

.spMenuArea nav ul li a span::before {
  content: attr(data-en);
  display: block;
  font-size: 20px;
  color: #545454; }

.header-scale .spMenuArea nav {
  background-color: rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid #e5e5e5; }

.header-scale .spMenuArea nav ul {
  padding: 0 50px; }

.header-scale .spMenuArea nav li {
  border-right: 1px solid #e5e5e5; }

.header-scale .spMenuArea nav li:first-child {
  border-left: 1px solid #e5e5e5; }

@media screen and (max-width: 1400px) {
  .spMenuArea nav ul {
    padding: 17px; }
  .spMenuArea nav ul li a span::before {
    font-size: 18px; } }

@media screen and (max-width: 1200px) {
  .spMenuArea nav ul li a span::before {
    font-size: 16px; } }

@media screen and (max-width: 1100px) {
  .spMenuArea nav {
    overflow: visible;
    background: none;
    margin: 0 auto 3%;
    position: relative; }
  .spMenuArea nav ul {
    display: block;
    padding: 0 3%; }
  .spMenuArea nav ul li {
    display: block;
    border: none;
    border-bottom: 1px solid #0a85bc; }
  .spMenuArea nav ul li:first-child {
    border-left: none; }
  .spMenuArea nav ul li a {
    padding: 20px 0;
    font-size: 16px;
    text-align: right;
    position: relative; }
  .spMenuArea nav ul li a span::before {
    font-size: 20px;
    height: 1em;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0; } }

@media screen and (max-width: 768px) {
  .spMenuArea nav {
    margin-bottom: 5vw; }
  .spMenuArea nav ul li a {
    font-size: 90%;
    padding: 15px 0; }
  .spMenuArea nav ul li a span {
    background-size: 24px;
    background-position: 0 48%; } }

@media screen and (max-width: 720px) {
  .spMenuArea nav ul li a span {
    background-size: 18px;
    padding: 1px 0 1px 25px; } }

.spMenuArea .assist .tel {
  position: absolute;
  top: 28px;
  right: 295px;
  font-size: 13px;
  color: #6c6c6c; }

.spMenuArea .assist .tel a {
  font-size: 22px;
  font-weight: bold;
  padding-left: 21px;
  background: url(../img/common/ic_tel01.svg) no-repeat left center;
  text-decoration: none; }

.spMenuArea .assist .tel time {
  vertical-align: top;
  line-height: 1.7; }

.spMenuArea .assist .languageBtn {
  position: absolute;
  top: 25px;
  right: 250px;
  font-size: 0; }

.spMenuArea .assist .languageBtn li {
  display: inline-block;
  letter-spacing: 0;
  position: relative;
  font-size: 100%; }

.spMenuArea .assist .languageBtn li.ac {
  z-index: 2; }

.spMenuArea .assist .languageBtn li:last-child {
  margin-left: -1px; }

.spMenuArea .assist .languageBtn li span,
.spMenuArea .assist .languageBtn li a {
  display: block;
  width: 55px;
  height: 20px;
  text-align: center;
  line-height: 22px;
  font-size: 11px;
  font-weight: bold; }

.spMenuArea .assist .languageBtn li span {
  border: 1px solid #0a85bc;
  color: #0a85bc; }

.spMenuArea .assist .languageBtn li a {
  border: 1px solid #d2d2d2;
  text-decoration: none;
  color: #ccc;
  transition: color 0.2s,background 0.2s; }

.spMenuArea .assist .languageBtn li a:hover {
  border: 1px solid #0a85bc;
  background: #0a85bc;
  color: #fff; }

.spMenuArea .assist .sitemap {
  padding-left: 22px;
  background: url(../img/common/ic_list01.svg) no-repeat 0 center;
  text-decoration: none;
  color: #0a85bc;
  position: absolute;
  top: 25px;
  right: 400px; }

.spMenuArea .assist .relationLink {
  font-size: 14px;
  letter-spacing: -0.5em;
  position: absolute;
  top: 75px;
  right: 185px; }

.spMenuArea .assist .relationLink li {
  display: inline-block;
  letter-spacing: 0; }

.spMenuArea .assist .relationLink li:not(:last-child) {
  margin-right: 30px; }

.spMenuArea .assist .relationLink li a {
  padding-left: 19px;
  background: url(../img/common/ic_arrow01.svg) no-repeat 0 center; }

.spMenuArea .assist .recruit {
  display: inline-block;
  height: 38px;
  padding: 0 35px;
  line-height: 38px;
  background: #0a85bc;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  box-sizing: border-box;
  position: absolute;
  top: 16px;
  right: 50px; }

.spMenuArea .assist .recruit span {
  padding-left: 25px;
  background: url(../img/common/ic_recruit01.svg) no-repeat 0 center; }

@media screen and (max-width: 1400px) {
  .spMenuArea .assist .tel {
    right: 265px; }
  .spMenuArea .assist .relationLink {
    right: 168px; } }

@media screen and (max-width: 1100px) {
  .spMenuArea .assist {
    padding: 0 3%;
    position: relative;
    z-index: 10; }
  .spMenuArea .assist .clr {
    margin-bottom: 2%;
    text-align: center; }
  .spMenuArea .assist .clr:after {
    content: "";
    display: block;
    clear: both; }
  .spMenuArea .assist .languageBtn {
    float: left;
    display: inline-block;
    width: 65%;
    position: static; }
  .spMenuArea .assist .languageBtn li {
    float: left;
    width: 50%; }
  .spMenuArea .assist .languageBtn li span,
  .spMenuArea .assist .languageBtn li a {
    width: 100%;
    height: 30px;
    line-height: 30px;
    font-size: 18px;
    box-sizing: border-box; }
  .spMenuArea .assist .sitemap {
    float: right;
    display: inline-block;
    min-width: 5.5em;
    font-size: 18px;
    margin-left: 0;
    padding-left: 36px;
    background-size: 24px 16px;
    box-sizing: border-box;
    position: static; }
  .spMenuArea .assist .relationLink {
    float: left;
    display: inline-block;
    width: 50%;
    position: static;
    text-align: left; }
  .spMenuArea .assist .relationLink li {
    display: block; }
  .spMenuArea .assist .relationLink li:not(:last-child) {
    margin-bottom: 10px;
    margin-right: 0; }
  .spMenuArea .assist .relationLink li a {
    padding-left: 2vw;
    background: url(../img/common/ic_arrow01.svg) no-repeat 0 center/auto 60%;
    font-size: 1.6vw; }
  .spMenuArea .assist .recruit {
    float: none;
    display: inline-block;
    width: 45%;
    vertical-align: text-bottom;
    height: auto;
    margin: 0 auto;
    padding: 10px 15px;
    line-height: 1.2;
    font-size: 18px;
    position: static; }
  .spMenuArea .assist .recruit span {
    display: block;
    padding: 20px 0 0;
    background: url(../img/common/ic_bag01.svg) no-repeat center top; }
  .spMenuArea .assist .tel {
    text-align: center;
    font-size: 15px;
    color: #6c6c6c;
    margin: auto;
    border-right: 1px solid #0a85bc;
    border-left: 1px solid #0a85bc;
    position: relative;
    right: auto;
    top: auto; }
  .spMenuArea .assist .tel span {
    display: inline-block;
    padding-left: 50px;
    background: url(../img/common/ic_tel01.svg) no-repeat 0 center/auto 80%; }
  .spMenuArea .assist .tel a {
    display: block;
    font-size: 26px;
    font-weight: bold;
    padding-left: 0;
    background: none;
    text-decoration: none; }
  .spMenuArea .assist .tel time {
    display: block;
    vertical-align: top;
    line-height: 1.7; } }

@media screen and (max-width: 768px) {
  .spMenuArea .assist {
    padding: 0 3%;
    position: relative;
    z-index: 10; }
  .spMenuArea .assist .clr {
    margin-bottom: 5vw;
    text-align: center; }
  .spMenuArea .assist .clr:after {
    content: "";
    display: block;
    clear: both; }
  .spMenuArea .assist .languageBtn {
    display: inline-block;
    position: static; }
  .spMenuArea .assist .languageBtn li {
    font-size: 3.2vw; }
  .spMenuArea .assist .languageBtn li span,
  .spMenuArea .assist .languageBtn li a {
    font-size: 90%; }
  .spMenuArea .assist .sitemap {
    font-size: 90%; }
  .spMenuArea .assist .relationLink {
    display: inline-block;
    position: static;
    text-align: left; }
  .spMenuArea .assist .relationLink li {
    display: block; }
  .spMenuArea .assist .relationLink li:not(:last-child) {
    margin-bottom: 10px;
    margin-right: 0; }
  .spMenuArea .assist .relationLink li a {
    padding-left: 4.2vw;
    background: url(../img/common/ic_arrow01.svg) no-repeat 0 center/auto 68%;
    font-size: 90%; }
  .spMenuArea .assist .recruit {
    font-size: 90%; } }

@media screen and (max-width: 470px) {
  .spMenuArea .assist .languageBtn {
    display: inline-block;
    position: static; }
  .spMenuArea .assist .languageBtn li span,
  .spMenuArea .assist .languageBtn li a {
    height: 26px;
    line-height: 26px;
    font-size: 100%; }
  .spMenuArea .assist .relationLink {
    display: inline-block;
    position: static;
    text-align: left; }
  .spMenuArea .assist .relationLink li {
    display: block; }
  .spMenuArea .assist .relationLink li:not(:last-child) {
    margin-bottom: 10px;
    margin-right: 0; }
  .spMenuArea .assist .relationLink li a {
    padding-left: 4.2vw;
    background: url(../img/common/ic_arrow01.svg) no-repeat 0 center/auto 68%;
    font-size: 90%; } }

/* .trigger
----------------------------------------------------*/
.trigger {display:none;}

@media screen and (max-width: 1000px) {
    .trigger {
        position:absolute;
        top:0;
        left:0;
        display:block;
        padding:16px 15px;
        height:27px;
        width:35px;
        box-sizing:content-box;
    }
    .trigger__bar,
    .trigger:before,
    .trigger:after {
        content:"";
        position:absolute;
        height:3px;
        width:35px;
        background-color:#fff;
        transition:all 0.2s ease-in-out;
    }
    .trigger__bar {top:28px;}
    .trigger:before {top:16px;}
    .trigger:after {bottom:16px;}
    .trigger.active .trigger__bar {opacity:0;}
    .trigger.active:before {
        -webkit-transform: translateY(12px) rotate(45deg);
            -ms-transform: translateY(12px) rotate(45deg);
                transform: translateY(12px) rotate(45deg);
    }
    .trigger.active:after {
        -webkit-transform: translateY(-12px) rotate(-45deg);
            -ms-transform: translateY(-12px) rotate(-45deg);
                transform: translateY(-12px) rotate(-45deg);
    }
}

/* .dir
----------------------------------------------------*/
.dir {padding:50px;color:#fff;}
.contact .dir {background:url(../img/contact/dir.jpg) 50% 0 no-repeat;background-size:cover;}
.dirInner > * {display:table-cell;vertical-align:middle;white-space:nowrap;}
.dirInner h1 {padding:0 0 0 30px;}
.dirInner h2 {padding:0 30px 0 0;font-size:30px;letter-spacing:.1em;}
.dirInner span {padding:0 20px;width:100%;background:url(../img/common/bd_dir.png) 0 50% repeat-x;}

@media screen and (max-width: 768px) {

    /* .dir
    ----------------------------------------------------*/
    .dir {padding:25px 15px 30px;}
    .dirInner h1 {display:block;padding:0;font-size:12px;}
    .dirInner h2 {display:block;font-size:24px;}
    .dirInner span {display:none;}

}

@media screen and (max-width: 480px) {

}



/*----------------------------------------------------

    .main content

----------------------------------------------------*/
.mcWrapper h4 {
    text-align:center;
    padding:45px 0;
    margin:0 0 40px;
    font-size:30px;
    letter-spacing:.1em;
    color:#0a85bc;
    border-bottom:1px solid #e5e5e5;
}
.mcInner {
    margin:0 auto;
    width:1000px;
}

.conBlock {
  margin: 0 auto 50px;
  width: 100%;
  border: 1px solid #d8d8d8; }
.error .conBlock,
.complete .conBlock{ border: none !important; }
.error .conBlock p { font-size: 16px; line-height: 1.7; color: #333 !important; }

/******contents******/
.contents {
  margin-top: -112px;
  padding-bottom: 80px; }

.header-scale .contents {
  transition: all .5s; }

#index .contents {
  padding-bottom: 0; }

@media screen and (max-width: 1100px) {
  .contents {
    margin-top: 0;
    padding-top: 95px;
    padding-bottom: 10%; } }

@media screen and (max-width: 768px) {
  .contents {
    padding-top: 60px !important;
    background-position: 50% 0;
    background-repeat: no-repeat; } }


.contents .dirTitle {
  min-height: 210px;
  margin: 0 auto 80px;
  padding: 155px 0 0;
  background-image: url(../img/contact/main.jpg);
  background-size: cover;
  background-position: 50% 0;
  background-repeat: no-repeat;
  font-size: 320%;
  font-weight: bold;
  color: #fff;
  text-shadow: 0 0 1px #333, 0px 0px 3px rgba(0, 0, 0, 0.16);
  letter-spacing: 2px;
  text-align: center; }

.contents .dirTitle span {
  display: block;
  font-size: 50%;
  font-weight: normal;
  line-height: 3.8; }

.contents .dirTitle span::before {
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  margin: 20px auto 0;
  background: #fff; }

@media screen and (max-width: 1100px) {
  .contents .dirTitle {
    padding-top: 80px; } }

@media screen and (max-width: 768px) {
  .contents .dirTitle {
    min-height: 0;
    margin: 0 auto 11%;
    padding: 5.4% 0 2%;
    font-size: 250%; }
  .contents .dirTitle span {
    font-size: 40%; }
  .contents .dirTitle span::before {
    width: 20%;
    margin: 2% auto 0; } }
.contents .c-head--section {
  margin: 70px auto;
  font-weight: bold;
  text-align: center;
  position: relative;
  text-align: center; }

.contents .c-head--section::before {
  content: "";
  background: none;
  border: 1px solid #0a85bc;
  height: 18px;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  box-sizing: border-box; }

.contents .c-head--section span {
  display: inline-block;
  background: #fff;
  color: #0a85bc;
  font-weight: bold;
  font-size: 190%;
  padding: 0 50px;
  position: relative;
  z-index: 5; }

.contents .c-head--section:not(:first-child) {
  margin-top: 60px; }

@media screen and (max-width: 768px) {
  .contents .c-head--section span {
    font-size: 150%;
    padding: 0 20px; } }

.c-head--bold {
  margin: 1em auto;
  font-size: 24px;
  font-weight: 600; }


/* .contact
----------------------------------------------------*/
.contact .mcInner p {margin:0 0 40px;font-size:14px;}
.contact .mcInner p + p {margin:-20px 0 40px;}
.contact .conBlock h5 {margin:0 0 25px;font-size:24px;}
.contact .conBlock p {margin:0 0 50px;}
.contact .formBlock p {margin:0 0 20px;}
.form {margin:0 0 40px;}
/*.formBlock {margin:0 0 45px;}*/
.formBlock {max-width: 700px; margin: 60px auto;}
.formBlock > p {margin:0 0 15px;}
.formBlock ul li:nth-child(odd) {float:left;width:48%;}
.formBlock ul li:nth-child(even) {float:right;width:48%;}
.formBlock dl dt {margin:0 0 15px;color:#3c3c3c;}
.formBlock dl dd {margin:0 0 45px;}
.formBlock dl dd .postal { display: flex; align-items: center; }
.confirm .formBlock {max-width: 100%; margin: 0px auto;}
.confirm .formBlock dl {display:table;padding:10px 15px;width:100%;}
.confirm .formBlock dl:nth-child(odd) {background-color:#f5f5f5;}
.confirm .formBlock dl dt {display:table-cell;width:35%;padding:0 20px 0 0;font-size: 13px;}
.confirm .formBlock dl dd {display:table-cell;width:65%;}
.confirm .formBlock dl dd span {display: inline-block;margin-left: 10px;}
.formBlock dl dd input {height:40px;}
.formBlock dl dd input,
.formBlock dl dd textarea {padding:10px 15px;width:100%;font-size:14px;background-color:#f2f2f2;}
.formBlock dl dd input::-webkit-input-placeholder { color: #aaa; }
.formBlock dl dd input:-ms-input-placeholder { color: #aaa; }
.formBlock dl dd input::-ms-input-placeholder { color: #aaa; }
.formBlock dl dd input:-ms-input-placeholder { color: #aaa; }
.formBlock dl dd input::placeholder { color: #aaa; }
.formBlock dl dd input:-ms-input-placeholder { color: #aaa; }
.formBlock dl dd input::-ms-input-placeholder { color: #aaa; }
.formBlock dl dd label {position:relative;display:block;margin:0 40px 5px;width:100%;}
.formBlock dl dd label span {margin:0 0 0 15px;font-size:12px;}
.formBlock dl dd label input {position:absolute;top:0;bottom:0;left:-25px;margin:auto;height:16px;width:16px;}
.formBlock dl dd .zip {max-width: 8em;}
.formBlock dl dd .zip1 {max-width: 5em; margin: 0 .3em; }
.formBlock dl dd .zip2 {max-width: 6em; margin: 0 .3em; }
.contact .formBlock .agree-block {background-color: #f2f2f2; padding: 20px; margin-bottom: 20px; overflow: scroll; height: 240px;}
.contact .formBlock .agree-block p:not(:last-child) {margin:0 0 1em;}
.contact .formBlock .agree-block ul li:nth-child(odd),
.contact .formBlock .agree-block ul li:nth-child(even) {width: 100%;padding-left: -1em;text-indent: -1em;font-size: 14px;}
.contact .formBlock p + p,
.contact .formBlock .agree-block p + p {margin: 1em 0;}
.contact .c-button-wrapper .c-button{min-width: 300px;}

/*.formBlock dl dd .form__select {
    display:inline-block;
    overflow:hidden;
    width:100%;
    background:#f2f2f2 url(../img/common/arrow_btm_cy_l.png) right 20px center no-repeat;
}
.formBlock dl dd .form__select select {
    padding:10px 0 10px 20px;
    height:50px;
    width:110%;
}*/
.submit__inner {
    position:relative;
}
.submit__inner:before {
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:-220px;
    content:"";
    margin:auto;
    height:14px;
    width:14px;
    background:url(../img/common/arrow_cir.gif) 50% no-repeat;
}
.submit__inner input {
    display:block;
    text-align:center;
    padding:24px;
    width:100%;
    font-size:18px;
    color:#0a85bc;
    background-color:transparent;
    border:1px solid #0a85bc;
    cursor:pointer;
}
.submit:hover .submit__inner:before {background:url(../img/common/arrow_cirh.png) 50% no-repeat;}
.submit:hover .submit__inner input {color:#fff;background-color:#0a85bc;}
.return a {
    display:block;
    text-align:center;
    padding:24px;
    width:100%;
    font-size:18px;
    color:#d80000;
    border:1px solid #d80000;
}
.return a:hover {
    color:#fff;
    background-color:#d80000;
}
.contact__info {padding:0 100px 0;}
.contact__info p {margin:0 0 25px;font-size:12px;line-height:2.5em;}

.c-button-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex: 1;
  flex: 1;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: stretch;
  align-items: stretch; }

.c-button-wrapper {
  margin: 50px auto;
  text-align: center; }

.c-button-wrapper:first-child {
  margin-top: auto; }

.c-button-wrapper + .c-button-wrapper {
  margin-top: -20px; }

.c-button-wrapper .c-button, .c-button-wrapper .c-button--return {
  display: inline-block;
  margin: auto;
  min-width: 272px;
  padding: 12px 0;
  border: none;
  border-radius: 24px;
  font-size: 16px;
  font-weight: 600;
  background-color: #004bb1;
  color: #fff;
  transition: all .3s;
  box-sizing: border-box; }

.c-button-wrapper .c-button--return {
  background-color: #fff !important;
  border: 1px solid #d80000;
  text-decoration: none !important;
  color: #d80000 !important; }

.c-button-wrapper .c-button .c-button-center {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); }
.c-button-wrapper .c-button:hover, .c-button-wrapper .c-button--return:hover {
  opacity: .7; }

@media screen and (max-width: 768px) {
  .c-button-wrapper {
    display: block;
    margin: 30px auto; }
  .c-button-wrapper:first-child {
    margin-top: auto; }
  .c-button-wrapper:last-child {
    margin-bottom: auto; }
  .c-button-wrapper > * {
    display: block; } }


@media screen and (max-width: 1000px) {
/*----------------------------------------------------

    .main content

----------------------------------------------------*/
    .mcWrapper h4 {
        padding:15px 0;
        margin:0 0 20px;
        font-size:20px;
    }
    .mcInner {
        padding:0 15px;
        width:100%;
    }
    .conBlock {margin:0 0 30px;}

    /* .contact
    ----------------------------------------------------*/
    .contact .mcInner p {margin:0 0 20px;font-size:12px;}
    .contact .conBlock h5 {margin:0 0 15px;font-size:18px;}
    .contact .conBlock p {margin:0 0 20px;}
    .contact .formBlock p {margin:0 0 10px;}
    .form {margin:0 0 20px;}
    .formBlock {margin:0 0 25px;}
    .formBlock ul li:nth-child(odd),
    .formBlock ul li:nth-child(even) {float:none;width:100%;}
    .formBlock dl {font-size:14px;}
    .formBlock dl dt {margin:0 0 5px;}
    .formBlock dl dd {margin:0 0 25px;}
    .formBlock dl dd input {height:40px;}
    /*.formBlock dl dd .form__select select {height:20px;}*/
    .submit__inner input {padding:18px;}
    .return a {padding:18px;}

    .contact__info {padding:0;}
    .contact__info p {margin:0 0 15px;line-height:1.5em;}

}

@media screen and (max-width: 768px) {

}

@media screen and (max-width: 480px) {

    /* .contact
    ----------------------------------------------------*/
    .formBlock dl dt {font-size:14px; padding: 0 0.85em;}
    .formBlock dl dd label {margin:0 20px 5px 35px;font-size:12px;}
    .formBlock dl dd label span {display:block;margin:0;}
    .contact__info,
    .formBlock p.cyan {padding: 10px;}
    .confirm .formBlock dl {display:block;}
    .confirm .formBlock dl dt {display:block;padding:0;margin:0 0 5px;width:100%;}
    .confirm .formBlock dl dd {display:block;margin:0;width:100%;}

}




/*----------------------------------------------------

    .footer

----------------------------------------------------*/
footer .ft_nav .ft_wrap_r > div a, footer .ft_nav .ft_wrap_l > div > ul dl,
footer .ft_nav .ft_wrap_r > div > ul dl {
  opacity: 1;
  transition: opacity 0.3s; }

header .logoArea a:hover, .spMenuArea nav ul li a:hover, .spMenuArea .assist .sitemap:hover, .spMenuArea .assist .recruit:hover, footer .ft_nav .ft_wrap_l > div a:hover,
footer .ft_nav .ft_wrap_r > div a:hover, footer .ft_nav .ft_wrap_l > div > ul dl:hover,
footer .ft_nav .ft_wrap_r > div > ul dl:hover {
  opacity: 0.7; }

footer .ft_nav .ft_wrap_l > div,
footer .ft_nav .ft_wrap_r > div {
  box-sizing: border-box; }



/******footer******/
footer {
  padding: 0;
  position: relative; }

footer .ft_nav {
  margin-bottom: 0;
  width: 100%; }

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

footer .ft_nav .ft_wrap_l > div,
footer .ft_nav .ft_wrap_r > div {
  float: left;
  width: 20%;
  padding: 50px 3%; }

footer .ft_nav .ft_wrap_l > div a,
footer .ft_nav .ft_wrap_r > div a {
  color: #fff;
  text-decoration: none; }

footer .ft_nav .ft_wrap_l > div > ul > li,
footer .ft_nav .ft_wrap_r > div > ul > li {
  font-size: 16px;
  font-weight: bold; }

footer .ft_nav .ft_wrap_l > div > ul > li:not(:last-child),
footer .ft_nav .ft_wrap_r > div > ul > li:not(:last-child) {
  margin-bottom: 32px; }

footer .ft_nav .ft_wrap_l > div > ul > li ul,
footer .ft_nav .ft_wrap_r > div > ul > li ul {
  margin-top: 16px; }

footer .ft_nav .ft_wrap_l > div > ul > li li,
footer .ft_nav .ft_wrap_r > div > ul > li li {
  font-size: 12px; }

footer .ft_nav .ft_wrap_l > div > ul > li li:not(:last-child),
footer .ft_nav .ft_wrap_r > div > ul > li li:not(:last-child) {
  margin-bottom: 6px; }

footer .ft_nav .ft_wrap_l > div > ul > li li ul,
footer .ft_nav .ft_wrap_r > div > ul > li li ul {
  margin-top: 0; }

footer .ft_nav .ft_wrap_l > div > ul > li li ul li,
footer .ft_nav .ft_wrap_r > div > ul > li li ul li {
  position: relative;
  margin-left: 1.5em;
  padding-left: 1.5em; }

footer .ft_nav .ft_wrap_l > div > ul > li li ul li::before,
footer .ft_nav .ft_wrap_r > div > ul > li li ul li::before {
  content: "ー";
  position: absolute;
  top: 0;
  left: 0;
  color: #fff; }

footer .ft_nav .ft_wrap_l > div > ul > li li ul li:first-child,
footer .ft_nav .ft_wrap_r > div > ul > li li ul li:first-child {
  margin-top: 6px; }

footer .ft_nav .ft_wrap_l > div > ul dl,
footer .ft_nav .ft_wrap_r > div > ul dl {
  border: 1px solid #fff;
  border-radius: 5px;
  text-align: center; }

footer .ft_nav .ft_wrap_l > div > ul dl dt,
footer .ft_nav .ft_wrap_r > div > ul dl dt {
  padding: 10px; }

footer .ft_nav .ft_wrap_l > div > ul dl dt img,
footer .ft_nav .ft_wrap_r > div > ul dl dt img {
  width: auto;
  height: auto;
  max-width: 100%; }

footer .ft_nav .ft_wrap_l > div > ul dl dd,
footer .ft_nav .ft_wrap_r > div > ul dl dd {
  background: rgba(255, 255, 255, 0.1);
  padding: 10px 5px;
  color: #fff;
  font-size: 10px;
  line-height: 1.4; }

footer .ft_nav .ft_wrap_l > div > ul dl dd .big,
footer .ft_nav .ft_wrap_r > div > ul dl dd .big {
  display: block;
  font-size: 14px; }

footer .ft_nav .ft_wrap_l > div:nth-child(1) {
  background: #6ecee5; }

footer .ft_nav .ft_wrap_l > div:nth-child(2) {
  background: #44c3dd; }

footer .ft_nav .ft_wrap_r > div:nth-child(1) {
  background: #00b9dd; }

footer .ft_nav .ft_wrap_r > div:nth-child(2) {
  background: #0c8dc2; }

footer .ft_nav .ft_wrap_r > div:nth-child(3) {
  background: #2d78a7; }

footer .copy {
  font-size: 13px !important;
  padding: 35px 0 35px 50px;
  color: #030303;
  line-height: 1.3;
  -webkit-background-clip: text; }

.ie footer .copy {
  background: none; }

footer .pageTop {
  cursor: pointer;
  position: absolute;
  right: 50px;
  bottom: 25px; }

@media screen and (max-width: 1400px) {
  footer .copy {
    padding: 0 0 0 20px; }
  footer .pageTop {
    right: 20px; } }

@media screen and (max-width: 768px) {
  footer {
    padding: 0 0 20px;
    text-align: center;
    position: relative; }
  footer .ft_nav {
    margin-bottom: 50px;
    width: 100%;
    padding: 5vw 4.6vw 21vw;
    background: #0a85bc;
    position: relative;
    box-sizing: border-box; }
  footer .ft_nav:after {
    content: "";
    display: block;
    clear: both; }
  footer .ft_nav .ft_wrap_l, footer .ft_nav .ft_wrap_r {
    float: left;
    width: 50%;
    padding: 0; }
  footer .ft_nav .ft_wrap_l > div,
  footer .ft_nav .ft_wrap_r > div {
    width: 100%;
    height: auto !important;
    padding: 0;
    text-align: left;
    background: none !important; }
  footer .ft_nav .ft_wrap_l > div:not(:last-child), footer .ft_nav .ft_wrap_r > div:not(:last-child) {
    margin-bottom: 5.6vw; }
  footer .ft_nav .ft_wrap_l > div:after, footer .ft_nav .ft_wrap_r > div:after {
    content: "";
    display: inline-block;
    width: 20%;
    height: 12.5vw;
    position: absolute;
    bottom: 0; }
  footer .ft_nav .ft_wrap_l > div > ul > li,
  footer .ft_nav .ft_wrap_r > div > ul > li {
    font-size: 3.75vw;
    font-weight: bold; }
  footer .ft_nav .ft_wrap_l > div > ul > li:not(:last-child),
  footer .ft_nav .ft_wrap_r > div > ul > li:not(:last-child) {
    margin-bottom: 3vw; }
  footer .ft_nav .ft_wrap_l > div > ul > li:not(:last-child) ul, footer .ft_nav .ft_wrap_r > div > ul > li:not(:last-child) ul {
    margin-bottom: 5.5vw; }
  footer .ft_nav .ft_wrap_l > div > ul > li ul,
  footer .ft_nav .ft_wrap_r > div > ul > li ul {
    margin-top: 2.6vw; }
  footer .ft_nav .ft_wrap_l > div > ul > li li,
  footer .ft_nav .ft_wrap_r > div > ul > li li {
    font-size: 3.125vw; }
  footer .ft_nav .ft_wrap_l > div > ul > li li:not(:last-child),
  footer .ft_nav .ft_wrap_r > div > ul > li li:not(:last-child) {
    font-weight: normal;
    margin-bottom: 2.8vw; }
  footer .ft_nav .ft_wrap_l > div > ul dl dt,
  footer .ft_nav .ft_wrap_r > div > ul dl dt {
    padding: 5%; }
  footer .ft_nav .ft_wrap_l > div > ul dl dd,
  footer .ft_nav .ft_wrap_r > div > ul dl dd {
    padding: 5% 2%;
    font-size: 71%; }
  footer .ft_nav .ft_wrap_l > div > ul dl dd .big,
  footer .ft_nav .ft_wrap_r > div > ul dl dd .big {
    margin: 2px 0 1px;
    padding: 0;
    font-size: 140%; }
  footer .ft_nav .ft_wrap_l > div:nth-child(1):after {
    background: #6ecee5;
    left: 0; }
  footer .ft_nav .ft_wrap_l > div:nth-child(2):after {
    background: #44c3dd;
    left: 20%; }
  footer .ft_nav .ft_wrap_r > div:nth-child(1):after {
    background: #00b9dd;
    left: 40%; }
  footer .ft_nav .ft_wrap_r > div:nth-child(2):after {
    background: #0c8dc2;
    left: 60%; }
  footer .ft_nav .ft_wrap_r > div:nth-child(3):after {
    background: #2d78a7;
    left: 80%; }
  footer .copy {
    margin: 0 auto 5%;
    padding: 0; }
  footer .pageTop {
    margin: 0 auto;
    cursor: pointer;
    position: relative;
    right: auto;
    bottom: auto; } }

@media screen and (max-width: 720px) {
  footer .entryArea dl dd a span {
    background-size: 18px; }
  footer ul li a span {
    background-size: 18px;
    padding: 0 0 0 25px; }
  footer .copy {
    font-size: 160%; } }

@media screen and (max-width: 470px) {
  footer .entryArea dl dd a span, footer ul li a span {
    background-size: 14px; } }



