/*html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/
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,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
   margin: 0;
   padding: 0;
   border: 0;
   outline: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
}

body {
   line-height: 1;
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
   display: block;
}

nav ul {
   list-style: none;
}

blockquote,
q {
   quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
   content: '';
   content: none;
}

body a {
   color: #555;
}

body a:hover {
   color: #777;
   text-decoration: none;
}

@media screen and (max-width: 767px) {
  br.pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  br.sp {
    display: none;
  }
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
   font-weight: bold;
}

a {
   margin: 0;
   padding: 0;
   border: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
}

ins {
   background-color: #ff9;
   color: #000;
   text-decoration: none;
}

mark {
   background-color: #ff9;
   color: #000;
   font-style: italic;
   font-weight: bold;
}

del {
   text-decoration: line-through;
}

abbr[title],
dfn[title] {
   border-bottom: 1px dotted #000;
   cursor: help;
}

table {
   border-collapse: collapse;
   border-spacing: 0;
}

hr {
   display: block;
   height: 1px;
   border: 0;
   border-top: 1px solid #ccc !important;
   margin: 2em 0;
   padding: 0;
}

input,
select {
   vertical-align: middle;
}

.small,
small {
   font-size: 80% !important;
}

/* common */
body {
   font-family: "游ゴシック体", "游ゴシック", 'Yu Gothic', YuGothic, Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important;
   font-size: 18px;
   color: #777;
   font-weight: 500;
   font-feature-settings: "palt"
}

.mincho {
   font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

::selection {
   color: #fff;
   background: #3dc193;
   /* Safari */
}

::-moz-selection {
   color: #fff;
   background: #3dc193;
   /* Firefox */
}

.br:before {
   content: "\A";
   white-space: pre;
}

.autoheight {
   display: flex;
   flex-wrap: wrap;
}

.container {
   position: relative;
}

a:active {
   text-decoration: none !important;
}

a:focus,
a:hover {
   text-decoration: none !important;
}

h1 {
   font-size: 42px;
}

h2 {
   font-size: 32px;
}

h3 {
   font-size: 24px;
}

h4 {
   font-size: 22px;
}

h5 {
   font-size: 20px;
}

h6 {
   font-size: 18px;
}

p {
   font-size: 18px
}

.button {
   font-size: 16px;
   color: #fff;
   display: inline-block;
   cursor: pointer;
   margin: 0 auto;
   padding: 20px 60px;
   border: none;
   border-radius: 5px;
   text-align: center;
   text-decoration: none;
   background: linear-gradient(#6fddb9, #2bcb98);
   box-shadow: 0 6px 0 #2a896a, 0 6px 10px rgba(0, 0, 0, 0.2);
   -webkit-transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
   transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
}

.button:hover,
.button:focus {
   color: #fff;
   background: linear-gradient(#6fddb9, #2bcb98);
   box-shadow: 0 3px 0 #2a896a, 0 3px 10px rgba(0, 0, 0, 0.2);
   -webkit-transform: translateY(3px);
   transform: translateY(3px);
}

.button:active {
   color: #fff;
   background: linear-gradient(#6fddb9, #2bcb98);
   box-shadow: 0 0 0 #2a896a, 0 0 0px rgba(0, 0, 0, 0.2);
   -webkit-transform: translateY(6px);
   transform: translateY(6px);
   transition-duration: 0.1s;
}

.button02 {
   font-size: 16px;
   color: #fff;
   display: inline-block;
   cursor: pointer;
   margin: 0 auto;
   padding: 20px 60px;
   border: none;
   border-radius: 5px;
   text-align: center;
   text-decoration: none;
   background: linear-gradient(#ff9d45, #ff8a00);
   box-shadow: 0 6px 0 #d85d19, 0 6px 10px rgba(0, 0, 0, 0.2);
   -webkit-transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
   transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
}

.button02:hover,
.button02:focus {
   color: #fff;
   background: linear-gradient(#ff9d45, #ff8a00);
   box-shadow: 0 3px 0 #d85d19, 0 3px 10px rgba(0, 0, 0, 0.2);
   -webkit-transform: translateY(3px);
   transform: translateY(3px);
}

.button02:active {
   color: #fff;
   background: linear-gradient(#ff9d45, #ff8a00);
   box-shadow: 0 0 0 #d85d19, 0 0 0px rgba(0, 0, 0, 0.2);
   -webkit-transform: translateY(6px);
   transform: translateY(6px);
   transition-duration: 0.1s;
}

.list-area {
   margin: -5px 0;
}

.list-area li {
   display: block;
   margin: 5px 0;
}

.list-area li:before {
   content: '•';
   padding-right: 5px;
}

.green {
   color: #3dc193;
}

.red {
   color: #f00;
}

figure img {
   margin: 0 auto;
}

/* header */
header {
   padding-top: 80px;
}

.navbar {
   margin-bottom: 0;
   border-top: none;
   border-right: 0;
   border-left: 0;
   border-radius: 0;
}

.navbar .container-fluid {
   max-width: 1400px;
   margin: 0 auto;
}

.navbar-default {
   background: #fff;
}

.navbar-nav {
   float: right;
   margin-right: -15px;
}

.navbar-fixed-top .navbar-nav {
   margin-right: 0;
}

.navbar-brand {
   font-size: 24px;
   line-height: 80px;
   height: 80px;
   padding: 20px 0 20px 15px;
}

.nav>li>a {
   font-size: 16px;
   line-height: 80px;
   padding: 0 15px;
   text-shadow: none;
}

.nav>li>a span {
   position: relative;
}

.nav>li>a span:before {
   content: '';
   width: 0%;
   height: 4px;
   background: #3be5ae;
   position: absolute;
   left: 0px;
   bottom: -8px;
   -webkit-transition: all 400ms;
   transition: all 400ms;
}

.nav>li>a:hover span:before {
   width: 100%;
}

.nav>li.gm-pure {
   background: #ff8a00;
   margin: 0 -15px 0 0;
}

.nav>li.gm-pure>a {
   color: #fff;
   padding: 0 30px;
}

.nav>li.gm-pure>a span {
   top: 13px;
}

.nav>li.gm-pure>a:before {
   content: '';
   background-image: url(../img/icon/icon-sorp.png);
   background-repeat: no-repeat;
   background-position: center 15px;
   background-size: 32px;
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
}

.nav>li.gm-pure>a:hover {
   color: #fff;
}

.nav>li.gm-pure>a span:before {
   background: #fff;
}

.top .nav>li.gm-top>a span:before,
.about .nav>li.gm-about>a span:before,
.service .nav>li.gm-service>a span:before,
.recruit .nav>li.gm-recruit>a span:before,
.contact .nav>li.gm-contact>a span:before,
.pure .nav>li.gm-pure>a span:before {
   width: 100%;
}

/* slider */
.carousel-inner>.item {
   height: 720px;
   height: 100vh;
   margin-bottom: -80px;
}

.carousel-inner>.item .item-slide {
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
   position: absolute;
   top: 0;
   right: 0;
   bottom: 80px;
   left: 0;
}

.carousel-inner>.item .item-slide a {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
}

.carousel-inner>.item .item-slide a:before {
   content: '';
   background: rgba(255, 255, 255, .5);
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   opacity: 0;
   -webkit-transition: all 400ms;
   transition: all 400ms;
}

.carousel-inner>.item .item-slide a:hover:before {
   content: '';
   background: rgba(255, 255, 255, .5);
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   opacity: 1;
   -webkit-transition: all 400ms;
   transition: all 400ms;
}

.carousel-inner>.item .slide01 {
   background-image: url(../img/slider/slider01.jpg);
}

.carousel-inner>.item .slide02 {
   background-image: url(../img/slider/slider02.jpg);
}

.carousel-inner>.item .slide02 figure {
   position: relative;
   left: -153px;
}

.carousel-inner>.item .item-slide .container {
   height: 100%;
   position: static;
}

.carousel-inner>.item .item-slide .container h1 {
   text-align: center;
   display: table-cell;
   vertical-align: middle;
   width: 1140px;
   height: 640px;
   height: 91vh;
   padding: 0;
   margin: 0;
   position: relative;
}

.carousel-inner>.item .item-slide .container h1:before,
.carousel-inner>.item .item-slide .container h1:after {
   display: none;
}

.carousel-inner>.item .item-slide .container h1 span:before,
.carousel-inner>.item .item-slide .container h1 span:after {
   display: none;
}

.carousel-inner>.item .item-slide span {
   color: #000;
   text-shadow: 0 0 5px rgba(255, 255, 255, 1);
}

.carousel-inner>.item .item-slide .container h1 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.carousel-inner>.item .item-slide .container h1 span {
  display: inline-block;
  padding: 12px;
   line-height: 1.2;
   font-weight: 400;
  background: rgb(255 255 255 / 85%);
}

.carousel-inner>.item .item-slide a {
   display: block;
}

.carousel-inner>.item .item-slide a:hover,
.carousel-inner>.item .item-slide a:focus {
   opacity: .5;
}

.carousel-indicators li {
   border: 1px solid #3dc193;
}

.carousel-indicators .active {
   background: #3dc193;
}

.carousel-control {
   color: #ff8a00;
   text-shadow: none;
   opacity: 1;
}

.carousel-control:focus,
.carousel-control:hover {
   color: #ff8a00;
   opacity: .8;
}

.carousel-control.left,
.carousel-control.right {
   background-image: none;
}

/* main */
.block_1 {
   padding: 60px 0;
}

.block_2 {
   padding: 40px 0;
}

.block_3 {
   padding: 30px 0;
}

.block_4 {
   padding: 20px 0;
}

.block_5 {
   padding: 15px 0;
}

.block_6 {
   padding: 0 0 60px;
}

.block_7 {
   padding: 0 0 40px;
}

.block_8 {
   padding: 0 0 30px;
}

.block_9 {
   padding: 0 0 20px;
}

.block_10 {
   padding: 0 0 15px;
}

.extra_wrap {
   content: '';
   display: table;
}

main h1 {
   color: #555;
   font-weight: 400;
   padding: 0 0 10px 26px;
   margin-bottom: 30px;
   position: relative;
}

main h1:before {
   content: '';
   position: absolute;
   width: 14px;
   height: 14px;
   border: 2px solid #3dc193;
   top: 10px;
   left: 0;
}

main h1:after {
   content: '';
   position: absolute;
   width: 14px;
   height: 14px;
   border: 2px solid #3dc193;
   top: 16px;
   left: 6px;
   opacity: .5;
}

main h1 span:before {
   content: '';
   background-image: linear-gradient(-45deg, #ccc 25%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 50%, #ccc 50%, #ccc 75%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0));
   /* 幅8px、高さ8pxで背景画像のサイズを指定 */
   background-size: 4px 4px;
   width: 100%;
   height: 4px;
   position: absolute;
   left: 0px;
   bottom: -10px;
}

main h2 {
   font-weight: 400;
   padding: 0 20px 5px 30px;
   margin-bottom: 30px;
   position: relative;
}

main h2:before {
   content: '';
   position: absolute;
   width: 14px;
   height: 14px;
   border: 2px solid #3dc193;
   top: 6px;
   left: 0;
}

main h2:after {
   content: '';
   position: absolute;
   width: 14px;
   height: 14px;
   border: 2px solid #3dc193;
   top: 12px;
   left: 6px;
   opacity: .5;
}

main h2 span:before {
   content: '';
   background-image: linear-gradient(-45deg, #ccc 25%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 50%, #ccc 50%, #ccc 75%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0));
   /* 幅8px、高さ8pxで背景画像のサイズを指定 */
   background-size: 8px 8px;
   width: 100%;
   height: 4px;
   position: absolute;
   left: 0px;
   bottom: -10px;
}

main h3 {
   color: #3dc193;
   padding: 0;
   margin-bottom: 20px;
   position: relative;
}

main h4 {
   color: #ff8a00;
   background: #fff9f3;
   padding: 15px;
   margin-right: 10px;
   margin-bottom: 30px;
   border: 1px solid #ffc47f;
   box-shadow: 10px 10px 0 #ffc47f;
   position: relative;
}

main h4:after {
   content: "";
   display: block;
   width: 0px;
   height: 0px;
   margin-left: -10px;
   border-style: solid;
   border-width: 10px 10px 0 10px;
   border-color: #ffc47f transparent transparent transparent;
   position: absolute;
   bottom: -20px;
   left: 60px;
}

main h5 {
   color: #555;
   font-weight: 400;
   padding: 10px 0 10px 30px;
   margin-bottom: 30px;
   position: relative;
}

main h5:before {
   content: '';
   position: absolute;
   width: 14px;
   height: 14px;
   border: 2px solid #ccc;
   top: 13px;
   left: 0;
}

main h5:after {
   content: '';
   position: absolute;
   width: 14px;
   height: 14px;
   border: 2px solid #ccc;
   top: 19px;
   left: 6px;
   opacity: .5;
}

main h5 span:before {
   content: '';
   background-size: 4px 4px;
   width: 100%;
   height: 4px;
   position: absolute;
   left: 0px;
   bottom: -10px;
}

main p {
   line-height: 26px;
   margin-bottom: 20px;
}

/* common */
.common header {
   padding-top: 80px;
}

.bg-common {
   background: #fff;
   padding: 90px;
   position: relative;
}

.about figure,
.service figure,
.recruit figure {
   position: relative;
}

.about figure:before,
.service figure:before,
.recruit figure:before {
   content: '';
   position: absolute;
   width: 100%;
   height: 100%;
   border: 5px solid rgba(255, 255, 255, .5);
   z-index: 1;
}

.table-cont dl {
   display: table;
   width: 100%;
   margin: 0;
   border-bottom: 1px solid #eee;
}

.table-cont dl dt {
   font-size: 18px;
   color: #3dc193;
   display: table-cell;
   vertical-align: middle;
   width: 240px;
   padding: 20px 20px 20px 0;
   position: relative;
}

.table-cont dl dt:after {
   content: '〉';
   color: #ccc;
   position: absolute;
   right: 10px;
}

.table-cont dl dt label {
   display: inline-block;
}

.table-cont dl dt.req label:after {
   content: '必須';
   font-size: 14px;
   line-height: 22px;
   color: #fff;
   background: #ff8a00;
   padding: 0 3px;
   position: absolute;
   right: 30px;
   border-radius: 2px;
}

.table-cont dl dd {
   font-size: 18px;
   display: table-cell;
   vertical-align: middle;
   padding: 20px 0;
}

.table-cont dl dd span {
   display: block;
}

.panel-body {
   padding: 0;
}

.panel-group {
   margin-bottom: 0;
}

.panel-group .panel {
   border: none;
   box-shadow: none;
}

.panel-title {
   font-size: 22px;
}

.panel-title>.small,
.panel-title>.small>a,
.panel-title>a,
.panel-title>small,
.panel-title>small>a {
   display: block;
}

.panel-title02 {
   padding: 0;
}

.panel-title02 a {
   display: block;
   color: #3dc1a1;
   background: linear-gradient(#fff 0%, rgba(49, 190, 141, .05)2%, #fff 100%);
   padding: 15px 0 15px 40px;
   border: 2px solid #fff;
   box-shadow: 0 0 5px rgba(0, 0, 0, .1);
}

.panel-title02:before {
   border-color: #3dc193;
   top: 16px;
   left: 10px;
}

.panel-body {
   padding: 15px;
}

.panel-title02:after {
   border-color: #3dc193;
   top: 22px;
   left: 16px;
}

.panel-title02 a:hover,
.panel-title02 a:focus {
   color: #3dc1a1;
}

.panel-default>.panel-heading+.panel-collapse>.panel-body {
   border: none;
}

/* index */
.top .bg-service {
   position: relative;
}

.top .bg-service:before {
   content: '';
   background: rgba(255, 255, 255, .85);
   position: absolute;
   top: 0;
   right: 50%;
   bottom: 0;
   left: 0;
   z-index: 0;
}

.top .bg-pure01 {
   position: relative;
}

.top .bg-pure01:before {
   content: '';
   background: rgba(255, 255, 255, .85);
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 50%;
   z-index: 0;
}

.top .cont-top {
   padding-top: 300px;
   padding-bottom: 300px;
   position: relative;
}

.top .cont-left {
   padding-right: 15px;
}

.top .cont-right {
   padding-left: 15px;
}

.top-img-area {
   content: '';
   display: table;
   margin-bottom: 20px;
}

.top-img-area ul {
   content: '';
   display: table;
   margin: 0 -10px;
}

.top-img-area li {
   display: block;
   float: left;
   margin: 0 10px;
}

.bg-aside {
   background-image: url(../img/bg/bg-aside.jpg);
   background-repeat: no-repeat;
   background-position: center;
   background-attachment: fixed;
   background-size: cover;
   position: relative;
}

.aside-cont {
   float: left;
   width: 33.33333%;
   padding: 120px 0;
}

.aside-cont a {
   display: block;
}

.aside-cont .aside-box {
   position: relative;
}

.aside-cont .aside-box h3 {
   margin-bottom: 0;
}

.aside-cont a figure {
   background: #fff;
}

.aside-cont a figure img {
   opacity: 1;
}

.aside-cont a:hover figure img {
   opacity: .5;
}

.aside-cont a .aside-metabox {
   background: rgba(250, 250, 250, .9);
   padding: 20px;
   position: absolute;
   right: 0;
   bottom: 0;
   left: 0;
}

.aside-cont a .aside-metabox:before {
   content: '';
   background: rgba(61, 193, 147, .9);
   width: 0%;
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0px;
   -webkit-transition: all 400ms;
   transition: all 400ms;
}

.aside-cont a:hover .aside-metabox:before {
   width: 100%;
}

.aside-cont a:hover .aside-metabox h2,
.aside-cont a:hover .aside-metabox h3 {
   color: #fff;
}

.aside-cont a:hover .aside-metabox h2:before,
.aside-cont a:hover .aside-metabox h2:after {
   border-color: #fff;
}

.aside-cont a:hover .aside-metabox h2 span:before {
   background-image: linear-gradient(-45deg, #fff 25%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 50%, #fff 50%, #fff 75%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0));
}

/* about */
.bg-about {
   background-image: url(../img/bg/bg-about.jpg);
   background-repeat: no-repeat;
   background-position: center;
   background-attachment: fixed;
   background-size: cover;
   position: relative;
}

.about-name {
   font-size: 22px;
}

.map-box {
   height: 500px;
   border: 1px solid #ccc;
}

/* service */
.bg-service {
   background-image: url(../img/bg/bg-service.jpg);
   background-repeat: no-repeat;
   background-position: center;
   background-attachment: fixed;
   background-size: cover;
   position: relative;
}

.service-area h1 {
   font-size: 32px;
}

.service-area h3 {
   font-size: 20px;
}

.service-area figure {
   margin-bottom: 30px;
}

/* recruit */
.bg-recruit {
   background-image: url(../img/bg/bg-recruit.jpg);
   background-repeat: no-repeat;
   background-position: center;
   background-attachment: fixed;
   background-size: cover;
   position: relative;
}

.recruit-senior ul {
   content: '';
   font-size: 14px;
   display: table;
   padding: 8px 2px;
   background: #fafafa;
   border-radius: 2px;
   border: 1px solid #eee;
}

.recruit-senior ul li {
   display: block;
   float: left;
   margin: 0 8px;
}

.recruit-senior ul li:before {
   font-family: ionicons;
   content: '\f3d3';
   margin-right: 5px;
}

.panel-default>.panel-heading {
   background: none;
   padding: 0;
   border-bottom: 1px solid #eee;
}

/* pure */
.common .pure-contact header {
   padding-top: 0;
}

.bg-pure01 {
   background-image: url(../img/bg/bg-pure01.jpg);
   background-repeat: no-repeat;
   background-position: center;
   background-attachment: fixed;
   background-size: cover;
   position: relative;
}

.bg-pure02 {
   background-image: url(../img/bg/bg-pure02.jpg);
   background-repeat: no-repeat;
   background-position: center;
   background-attachment: fixed;
   background-size: cover;
   position: relative;
}

.bg-pure02:before {
   content: '';
   background: rgba(255, 255, 255, .5);
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
}

.pure-main {
   height: 300px;
   position: relative;
}

.pure-main figure.pure-ttl {
   position: absolute;
   top: -95px;
   left: -80px;
   z-index: 1;
}

.pure-main figure.pure-human {
   position: absolute;
   top: -60px;
   right: 120px;
   z-index: 0;
}

.pure h2 {
   font-size: 42px;
   color: #ff8a00;
   text-align: center;
   padding: 0;
}

.pure h2:before,
.pure h2:after {
   content: '～';
   border: none;
   position: relative;
   top: 0;
   left: 0;
   opacity: 1;
}

.pure-button {
   position: absolute;
   font-size: 32px !important;
   top: -30px;
   transform: rotate(-2.5deg);
   padding: 10px;
   left: 120px;
   right: 120px;
   z-index: 1;
   pointer-events: none;
}

.pure-subttl {
   display: block;
   margin-bottom: 10px;
}

.img-pure01 {
   background-image: url(../img/image/img-pure01.png);
   background-position: right top;
   background-size: 556px 718px;
   width: 556px;
   height: 718px;
   position: absolute;
   top: 0;
   right: 0;
   z-index: 0;
}

.pure .use h3 {
   font-size: 42px;
   font-weight: normal;
}

.pure .use .caption-area {
   height: 100%;
   position: relative;
}

.pure .use .caption-area:before {
   content: '';
   background: #fff;
   width: 1px;
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: -30px;
   box-shadow: 0 0 10px rgba(0, 0, 0, .25);
}

.pure .use .caption-area:after {
   content: '';
   background: #fff;
   width: 15px;
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: -29px;
}

.pure-point-cont {
   background: #fff8f1;
   margin: 0 -90px;
}

.pure-point-area {
   padding: 0 90px;
}

.pure-check li {
   display: block;
   font-size: 32px;
   font-weight: normal;
   margin: 30px 0;
   position: relative;
}

.pure-check li:before {
   content: '';
   background: url(../img/icon/icon-check.png) no-repeat center;
   display: inline-block;
   width: 24px;
   height: 25px;
   margin-right: 5px;
}

.pure-point-area figure {
   border: 2px solid #3dc193;
}

.pure .title-before {
   font-size: 32px;
   font-weight: normal;
   display: block;
   margin-bottom: 30px;
}

.pure .leaf01,
.pure .leaf02 {
   position: relative;
}

.pure .leaf01:before,
.pure .leaf02:before {
   content: '';
   position: absolute;
}

.pure .leaf01:before {
   background-image: url(../img/image/img-pure-leaf01.png);
   background-repeat: no-repeat;
   background-size: 165px 193px;
   width: 165px;
   height: 193px;
   right: -110px;
   top: -64px;
}

.pure .leaf02:before {
   background-image: url(../img/image/img-pure-leaf02.png);
   background-repeat: no-repeat;
   background-size: 140px 56px;
   width: 140px;
   height: 56px;
   bottom: -20px;
   left: -40px;
}

.pure .order-cont {
   background: linear-gradient(#fff 75%, #fff8f1 100%);
   padding-bottom: 60px;
   margin: 0 -90px;
   border-bottom: 4px solid #ff9c41;
}

.pure .order-area {
   padding: 0 90px;
}

.pure .order-detail p {
   font-size: 14px;
   line-height: 20px;
   margin-bottom: 0;
}

.pure .price-cont {
   height: 60px;
   position: relative;
}

.pure .price-area {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
}

.pure .price-area p {
   line-height: 1;
   display: table-cell;
   vertical-align: bottom;
   height: 60px;
   margin: 0;
}

.pure .price {
   font-size: 54px;
   color: #c80000;
   margin-left: 5px;
}

.pure .tax {
   font-size: 12px;
}

.pure .metabox {
   border: 4px solid #ffebd9;
   padding: 20px 10px;
   position: relative;
}

.pure .metabox:before {
   content: '→';
   font-size: 32px;
   color: #3dc193;
   position: absolute;
   right: -35px;
   top: 50%;
   transform: translateY(-50%);
}

.pure .pure-flow-area li {
   display: block;
}

.pure .pure-flow-area li:last-child .metabox:before {
   display: none;
}

.pure .metabox h3 {
   text-align: center;
}

.pure .metabox p {
   font-size: 14px;
   line-height: 20px;
   margin-bottom: 0;
}

.pure-bottom-cont h2 {
   margin-bottom: -70px;
}

.button-area {
   text-align: center;
   padding-bottom: 35px;
   position: relative;
   z-index: 2;
}

.bg-pure-bottom {
   background-image: url(../img/bg/bg-pure-bottom.jpg);
   background-position: center top;
   background-repeat: no-repeat;
   background-size: 100%;
   padding-bottom: 30px;
   margin: 0 -90px 60px;
}

.pure-bottom-cont {
   padding: 0 90px;
}

.pure-bottom-ttl {
   position: absolute;
   left: -140px;
   z-index: 1;
}

.pure-bottom-human {
   position: relative;
}

.pure-bottom-human img {
   margin-right: 0;
   margin-left: auto;
}

.pure .button,
.pure .button02 {
   font-size: 18px;
}

.pure .last {
   margin-bottom: -90px;
}

.pure .pure-table h5 {
   padding: 10px 0 20px 30px;
   margin-bottom: 0;
   border-bottom: 2px solid #eee;
}

.pure .pure-table table {
   border: 1px solid #3dc193;
}

.pure .pure-table th,
.pure .pure-table td {
   vertical-align: middle;
}

.pure .pure-table table thead tr {
   border: 1px solid #3dc193;
}

.pure .pure-table table thead th {
   color: #fff;
   text-align: center;
   background: #3dc193;
   border-right: 1px solid #fff;
   border-bottom: 1px solid #3dc193;
}

.pure .pure-table table thead th:last-child {
   border-right: none;
}

.pure .pure-table table tbody th {
   color: #3dc193;
   background: rgba(61, 193, 147, .2);
   border-right: 1px solid #fff;
}

.pure .pure-table table tbody td {
   border-right: 1px solid #3dc193;
}

.pure .pure-table table tbody tr th,
.pure .pure-table table tbody tr td {
   border-color: #3dc193;
}

/* privacy */
.bg-privacy {
   background-image: url(../img/bg/bg-privacy.jpg);
   background-repeat: no-repeat;
   background-position: center;
   background-attachment: fixed;
   background-size: cover;
   position: relative;
}

/* contact */
.common .contact header {
   padding-top: 0;
}

.bg-contact {
   background-image: url(../img/bg/bg-contact.jpg);
   background-repeat: no-repeat;
   background-position: center;
   background-attachment: fixed;
   background-size: cover;
   position: relative;
}

.bg-contact:before {
   content: '';
   background: rgba(255, 255, 255, .8);
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
}

legend {
   display: none;
}

.help-block {
   font-size: 16px;
   color: #777;
   margin-bottom: 0;
}

.btn-area {
   text-align: center;
}

.contact .btn-area .button,
.pure-contact .btn-area .button {
   margin: 0 15px;
}

.contact #confirm,
.pure-contact #confirm {
   display: flex;
   flex-wrap: wrap;
   width: 100%;
}

.contact #confirm dl,
.pure-contact #confirm dl {
   border-bottom: none;
}

.contact #confirm dt,
.pure-contact #confirm dt {
   float: left;
   width: 240px;
   border-bottom: 1px solid #eee;
}

.contact #confirm dd,
.pure-contact #confirm dd {
   float: right;
   width: 720px;
   border-bottom: 1px solid #eee;
}

.contact .error,
.pure-contact .error {
   color: #e6885e;
}

/* page-top */
#pageTop {
   margin: 0;
   position: fixed;
   bottom: 30px;
   right: 30px;
   z-index: 100;
}

#pageTop a {
   color: #fff;
   font-weight: bold;
   line-height: 52px;
   text-decoration: none;
   text-align: center;
   display: block;
   background-color: #ff8a00;
   width: 50px;
   height: 50px;
   padding: 0;
   z-index: 999;
}

#pageTop a:hover {
   text-decoration: none;
   opacity: 0.7;
}

/* footer */
footer {
   background: #fff;
}

footer .container-fluid {
   max-width: 1400px;
   margin: 0 auto;
}

footer .logo {
   font-size: 24px;
   float: left;
}

footer .logo a {
   line-height: 80px;
   display: block;
   padding: 20px 0;
}

footer nav.fm {
   float: right;
}

footer nav.fm li {
   float: left;
}

footer nav.fm li a {
   font-size: 16px;
   color: #777;
   line-height: 80px;
   padding: 0 5px;
}

footer nav.fm li a:hover,
footer nav.fm li a:focus {
   background: none;
}

footer .footer-address {
   color: #fff;
   background: #333;
   padding: 20px 0;
}

footer .footer-address a {
   color: #fff;
}

footer .footer-address .footer-copy {
   text-align: center;
   margin-bottom: 10px;
}

footer .footer-address .footer-by {
   font-weight: normal;
   text-align: center;
}

footer .footer-address .footer-by a {
   color: #ccc;
}

/* mini */
@media (min-width: 979px) and (max-width: 1200px) {
   .nav>li>a {
      padding: 0 10px;
   }

   h1 {
      font-size: 36px;
   }

   h2 {
      font-size: 24px;
   }

   h3 {
      font-size: 20px;
   }

   h4 {
      font-size: 18px;
   }

   h5 {
      font-size: 16px;
   }

   h6 {
      font-size: 16px;
   }

   p {
      font-size: 16px;
   }

   .block_1 {
      padding: 50px 0;
   }

   .block_2 {
      padding: 25px 0;
   }

   .block_3 {
      padding: 20px 0;
   }

   .block_4 {
      padding: 15px 0;
   }

   .block_5 {
      padding: 10px 0;
   }

   .block_6 {
      padding: 0 0 50px;
   }

   .block_7 {
      padding: 0 0 25px;
   }

   .block_8 {
      padding: 0 0 20px;
   }

   .block_9 {
      padding: 0 0 15px;
   }

   .block_10 {
      padding: 0 0 10px;
   }

   .carousel-inner>.item {
      height: 720px;
      margin-bottom: 0;
   }

   .carousel-inner>.item .item-slide {
      bottom: 0;
   }

   .carousel-inner>.item .item-slide .container h1 {
      width: 940px;
      height: 720px;
   }

   footer .logo img {
      margin: 0 auto;
   }

   footer nav.fm li a {
      font-size: 14px;
   }

   .service-area h1 {
      font-size: 24px;
   }

   .top .cont-top {
      padding-top: 200px;
      padding-bottom: 200px;
   }

   .table-cont dl dt {
      font-size: 16px;
   }

   .table-cont dl dd {
      font-size: 16px;
   }

   .input-lg {
      font-size: 16px;
   }

   .pure-main figure.pure-human {
      right: 60px;
   }

   .img-pure01 {
      background-size: 440px 568px;
      width: 440px;
      height: 568px;
   }

   .pure h2 {
      font-size: 36px;
   }

   .pure-check li {
      font-size: 24px;
      margin: 20px 0;
   }

   .pure .use h3 {
      font-size: 36px;
   }

   .pure-button {
      font-size: 28px !important;
   }

   .pure-bottom-ttl {
      width: 640px;
   }

   .pure-bottom-human img {
      width: 360px;
   }

   .contact #confirm dd {
      width: 520px;
   }
}

/* tablet */
@media (min-width: 768px) and (max-width: 979px) {
   .common header {
      padding-top: 110px;
   }

   .navbar-header {
      text-align: center;
      width: 100%;
   }

   .navbar-brand {
      line-height: 1;
      display: block;
      float: none;
      width: 100%;
      height: auto;
      padding: 10px 0;
   }

   .navbar-brand>img {
      margin: 0 auto;
   }

   .navbar>.container .navbar-brand,
   .navbar>.container-fluid .navbar-brand {
      margin-left: 0;
   }

   nav .navbar-nav {
      text-align: center;
      float: none;
      width: 100%;
   }

   .navbar-nav>li {
      display: inline-block;
      float: none;
   }

   .nav>li>a {
      line-height: 60px;
      height: 60px;
      padding: 0 5px;
   }

   .nav>li.gm-pure>a {
      padding: 0 12px;
   }

   .nav>li.gm-pure>a:before {
      background-position: center 10px;
      background-size: 24px;
   }

   h1 {
      font-size: 32px;
   }

   h2 {
      font-size: 24px;
   }

   h3 {
      font-size: 20px;
   }

   h4 {
      font-size: 18px;
   }

   h5 {
      font-size: 16px;
   }

   h6 {
      font-size: 16px;
   }

   p {
      font-size: 16px;
   }

   .service-area h1 {
      font-size: 24px;
   }

   .carousel-inner>.item {
      height: 580px;
      margin-bottom: 0;
   }

   .carousel-inner>.item .item-slide {
      bottom: 0;
   }

   .carousel-inner>.item .item-slide .container h1 {
      width: 720px;
      height: 580px;
   }

   .block_1 {
      padding: 40px 0;
   }

   .block_2 {
      padding: 30px 0;
   }

   .block_3 {
      padding: 20px 0;
   }

   .block_4 {
      padding: 15px 0;
   }

   .block_5 {
      padding: 10px 0;
   }

   .block_6 {
      padding: 0 0 40px;
   }

   .block_7 {
      padding: 0 0 30px;
   }

   .block_8 {
      padding: 0 0 20px;
   }

   .block_9 {
      padding: 0 0 15px;
   }

   .block_10 {
      padding: 0 0 10px;
   }

   .table-cont dl dt {
      font-size: 16px;
   }

   .table-cont dl dd {
      font-size: 16px;
   }

   .top .bg-service:before {
      right: 0;
   }

   .top .bg-pure01:before {
      left: 0;
   }

   .top .cont-top {
      padding-top: 60px;
      padding-bottom: 60px;
   }

   .top .cont-left {
      padding-right: 0;
   }

   .top .cont-right {
      padding-left: 0;
   }

   .aside-cont {
      padding: 60px 0;
   }

   .aside-cont a .aside-metabox {
      padding: 20px 20px 0;
   }

   footer .logo {
      text-align: center;
      float: none;
   }

   footer .logo a {
      line-height: 1;
      display: block;
      padding: 20px 0 30px;
      position: relative;
   }

   footer .logo a:before {
      content: '';
      text-align: center;
      display: block;
      width: 60px;
      margin: 0 auto;
      border-bottom: 2px solid #ccc;
      position: relative;
      bottom: -50px;
   }

   footer .logo img {
      margin: 0 auto;
   }

   footer nav.fm {
      text-align: center;
      float: none;
   }

   footer nav.fm li {
      display: inline-block;
      float: none;
   }

   footer nav.fm li a {
      line-height: 1;
      display: block;
      padding: 0 10px 20px;
   }

   .bg-common {
      padding: 60px;
   }

   .map-box {
      height: 320px;
   }

   .input-lg {
      font-size: 16px;
   }

   .pure-point-cont,
   .pure .order-cont {
      margin: 0 -60px;
   }

   .pure-point-area,
   .pure .order-area {
      padding: 0 60px;
   }

   .pure-check li {
      font-size: 18px;
      margin: 20px 0;
   }

   .pure-check li:before {
      background-size: 100%;
      width: 18px;
      height: 18px;
   }

   .order-cont figure img {
      margin: 0 auto;
   }

   .pure .metabox h3 {
      font-size: 18px;
      margin-bottom: 0;
   }

   .pure-main figure.pure-ttl {
      top: -87px;
      left: -153px;
   }

   .pure-main figure.pure-human {
      right: 0;
   }

   .pure-button {
      font-size: 24px !important;
      left: 60px;
      right: 60px;
   }

   .img-pure01 {
      background-size: 340px 439px;
      width: 340px;
      height: 439px;
   }

   .pure h2 {
      font-size: 32px;
   }

   .pure-bottom-cont h2 {
      margin-bottom: 20px;
   }

   .pure .use h3 {
      font-size: 32px;
      margin-bottom: 0;
   }

   .pure .use .caption-area:before,
   .pure .use .caption-area:after {
      display: none;
   }

   .last {
      margin-top: 60px !important;
      margin-bottom: -60px !important;
   }

   .bg-pure-bottom {
      margin: 0 -60px -60px;
   }

   .pure-bottom-ttl {
      width: 100%;
      top: 200px;
      bottom: 120px;
      left: -50px;
   }

   .pure-bottom-human img {
      width: 300px;
      margin: 0 auto 180px;
   }

   .contact #confirm dd {
      width: 360px;
   }
}

/* sp */
@media (max-width: 767px) {
   header {
      padding-top: 50px;
   }

   header .navbar-brand>img {
   }

   h1 {
      font-size: 32px;
   }

   h2 {
      font-size: 24px;
   }

   h3 {
      font-size: 20px;
   }

   h4 {
      font-size: 18px;
   }

   h5 {
      font-size: 16px;
   }

   h6 {
      font-size: 16px;
   }

   p {
      font-size: 16px;
   }

   .button,
   .button02 {
      display: block;
   }

   .navbar-default .navbar-toggle {
      border: none;
   }

   .navbar-default .navbar-toggle:focus,
   .navbar-default .navbar-toggle:hover {
      background: #3dc193;
   }

   .navbar-toggle {
      padding: 10px;
      margin: 8px;
      border-radius: 0;
   }

   .navbar-default .navbar-toggle .icon-bar {
      background: #3dc193;
   }

   .navbar-default .navbar-toggle:focus .icon-bar,
   .navbar-default .navbar-toggle:hover .icon-bar {
      background: #fff;
   }

   .navbar-brand {
      line-height: 50px;
      height: 50px;
      padding: 5px;
   }

   .navbar-nav {
      float: none;
      text-align: center;
      margin: 0 -15px !important;
   }

   .nav>li {
      float: left;
      width: 50%;
   }

   .nav>li:nth-child(odd) {
      border-right: 1px solid #eee;
      border-bottom: 1px solid #eee;
   }

   .nav>li:nth-child(even) {
      border-bottom: 1px solid #eee;
   }

   .service-area h1 {
      font-size: 24px;
   }

   .service-area figure img {
      width: 100%;
   }

   .carousel h1:before,
   .carousel h1:after {
      display: none;
   }

   .carousel h1 span:before {
      display: none;
   }

   .carousel-inner>.item {
      height: 480px;
   }

   .carousel-inner>.item .item-slide .container h1 {
      text-align: center;
     width: auto;
      height: 400px;
   }

   .carousel-inner>.item .slide01 {
      background-image: url(../img/slider/slider-sp01.jpg);
   }

   .carousel-inner>.item .slide02 {
      background-image: url(../img/slider/slider-sp02.jpg);
   }

   .block_1 {
      padding: 20px 0;
   }

   .block_2 {
      padding: 20px 0;
   }

   .block_3 {
      padding: 15px 0;
   }

   .block_4 {
      padding: 15px 0;
   }

   .block_5 {
      padding: 10px 0;
   }

   .block_6 {
      padding: 0 0 20px;
   }

   .block_7 {
      padding: 0 0 20px;
   }

   .block_8 {
      padding: 0 0 15px;
   }

   .block_9 {
      padding: 0 0 15px;
   }

   .block_10 {
      padding: 0 0 10px;
   }

   .table-cont dl dt {
      font-size: 16px;
      display: block;
      background: #fafafa;
      width: 100%;
      padding: 15px;
      border-bottom: 1px solid #eee;
   }

   .table-cont dl dt:after {
      content: '';
      right: 0;
   }

   .table-cont dl dd {
      font-size: 16px;
      display: block;
      padding: 15px;
   }

   .top .bg-service:before {
      right: 0;
   }

   .top .bg-pure01:before {
      left: 0;
   }

   .top .cont-top {
      padding-top: 60px;
      padding-bottom: 60px;
   }

   .top .cont-left {
      padding-right: 0;
   }

   .top .cont-right {
      padding-left: 0;
   }

   .top-img-area {
      width: 100%;
      margin: 0 auto 20px;
   }

   .top-img-area ul {
      margin: 0 auto;
   }

   .bg-aside {
      padding-bottom: 60px;
   }

   .aside-cont {
      float: none;
      width: 100%;
      padding: 60px 0 0;
   }

   .aside-cont a figure img {
      width: 100%;
   }

   footer .logo {
      text-align: center;
      float: none;
   }

   footer .logo a {
      line-height: 1;
      display: block;
      padding: 20px 0 30px;
      position: relative;
   }

   footer .logo a:before {
      content: '';
      text-align: center;
      display: block;
      width: 60px;
      margin: 0 auto;
      border-bottom: 2px solid #ccc;
      position: relative;
      bottom: -50px;
   }

   footer .logo img {
      margin: 0 auto;
   }

   footer nav.fm {
      text-align: center;
      float: none;
      margin-bottom: 20px;
      border: 2px solid #eee;
   }

   footer nav.fm li {
      display: inline-block;
      float: none;
      width: 100%;
      border: none !important;
   }

   footer nav.fm li a {
      line-height: 1;
      display: block;
      background: #fefefe;
      padding: 15px 0;
      border-bottom: 1px dotted #ccc;
   }

   footer nav.fm li:last-child a {
      border-bottom: none;
   }

   footer .footer-address .footer-copy {
      text-align: left;
   }

   footer .footer-address .footer-copy span.maruc {
      display: inline !important;
   }

   footer .footer-address .footer-by {
      text-align: left;
   }

   footer .footer-address .small,
   footer .footer-address small {
      font-size: 70% !important;
   }

   .common header {
      padding-top: 50px;
   }

   .bg-common {
      padding: 30px 15px;
   }

   .map-box {
      height: 240px;
   }

   .recruit-senior ul li {
      margin: 6px;
   }

   .input-lg {
      font-size: 16px;
   }

   .pure-main {
      height: 145px;
   }

   .pure-main figure.pure-ttl {
      width: 320px;
      top: -60px;
      left: -90px;
   }

   .pure-main figure.pure-human {
      width: 140px;
      top: 10px;
      right: 0px;
   }

   .pure-point-cont {
      margin: 0 -15px;
   }

   .pure-point-area {
      padding: 0 15px;
   }

   .pure-check li {
      font-size: 20px;
      margin: 15px 0;
   }

   .pure-check li:before {
      background-size: 100%;
      width: 16px;
      height: 16px;
   }

   .pure-point-area figure {
      margin-bottom: 10px;
   }

   .pure .title-before {
      font-size: 18px;
      margin-bottom: 15px;
   }

   .pure .order-cont {
      margin: 0 -15px;
   }

   .pure .order-area {
      padding: 0 15px;
   }

   .pure .price-area {
      left: 0;
   }

   .pure .order-cont {
      padding-bottom: 30px;
   }

   .pure .metabox h3 {
      margin-bottom: 0;
   }

   .pure .pure-flow-area li {
      margin-bottom: 15px;
   }

   .pure .pure-flow-area li:before {
      content: '↓';
      color: #3dc193;
      position: absolute;
      bottom: -25px;
      z-index: 2;
      font-size: 32px;
      left: 50%;
      transform: translateX(-50%);
   }

   .pure .pure-flow-area li:last-child:before {
      display: none;
   }

   .pure .metabox:before {
      display: none;
   }

   .pure-button {
      display: none;
   }

   .img-pure01 {
      background-size: 100%;
      background-repeat: no-repeat;
      width: 80%;
      height: 400px;
   }

   .img-pure01:before {
      content: '';
      position: absolute;
      background: rgba(255, 255, 255, .5);
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
   }

   .z1 {
      z-index: 1;
   }

   .pure h2 {
      font-size: 24px;
      margin-bottom: 20px;
   }

   .pure h2:before,
   .pure h2:after {
      display: none;
   }

   .pure .use h3 {
      font-size: 32px;
      margin-bottom: 0;
   }

   .pure .leaf01:before {
      right: -20px;
      background-position: center;
      background-size: 75%;
   }

   .pure .leaf02:before {
      left: -10px;
   }

   .leaf01,
   .leaf02 {
      margin-bottom: 30px;
   }

   .leaf01 img,
   .leaf02 img {
      margin: 0 auto;
   }

   .panel-title {
      font-size: 18px;
   }

   .bg-pure-bottom {
      margin: 0 -15px -30px;
   }

   .bg-pure-bottom p {
      font-size: 18px;
      line-height: 32px;
   }

   .pure-bottom-cont {
      padding: 0 15px 30px;
   }

   .pure-bottom-human {
      margin-bottom: 30px;
   }

   .pure-bottom-human img {
      width: 240px;
      margin: 0 auto;
   }

   .pure-bottom-ttl {
      display: none;
   }

   .pure .last {
      margin-bottom: -30px;
   }

   .pure .green {
      color: #3dc193;
   }

   .contact #confirm dt {
      float: none;
      width: 100%;
   }

   .contact #confirm dd {
      float: none;
      width: 100%;
   }

   .contact .btn-area .button {
      margin: 0 auto 30px;
   }
}

@media print {}

.video-area {
   background-image: url(../img/bg/bg-videos.jpg);
   background-repeat: no-repeat;
   background-position: center;
   background-attachment: fixed;
   background-size: cover;
   position: relative;
}

.video-area {
   text-align: center;
}

@media (min-width: 768px) {
   .video-area {
      padding: 30px 0;
   }
}

@media (min-width: 992px) {
   .video-area {
      padding: 60px 0;
   }
}

@media (max-width: 767px) {
   .video-area .container {
      padding-right: 0;
      padding-left: 0;
   }
}

.video-area .video {
   position: relative;
   width: 100%;
   padding-top: 56.25%;
}

.video-area .video iframe {
   position: absolute;
   top: 0;
   right: 0;
   width: 100%;
   height: 100%;
}
