@charset "utf-8";


@font-face {
  font-family: "NotoSansCJKjpDemiLight";
  font-style: normal;
  font-weight: normal;
  src: url('../font/NotoSansCJKjp-DemiLight.eot');
  src: url('../font/NotoSansCJKjp-DemiLight.eot?#iefix') format('embedded-opentype'), url('../font/NotoSansCJKjp-DemiLight.woff') format('woff'), url('../font/NotoSansCJKjp-DemiLight.otf') format('truetype')
}

@font-face {
  font-family: "NotoSansCJKjpRegular";
  font-style: normal;
  font-weight: normal;
  src: url('../font/NotoSansCJKjp-Regular-min.eot');
  src: url('../font/NotoSansCJKjp-Regular-min.eot?#iefix') format('embedded-opentype'), url('../font/NotoSansCJKjp-Regular-min.woff') format('woff'), url('../font/NotoSansCJKjp-Regular-min.otf') format('opentype')
}

@font-face {
  font-family: "NotoSansCJKjpMedium";
  src: url('../font/NotoSansCJKjp-Medium-min.eot');
  src: url('../font/NotoSansCJKjp-Medium-min.eot?#iefix') format('embedded-opentype'), url('../font/NotoSansCJKjp-Medium-min.woff') format('woff'), url('../font/NotoSansCJKjp-Medium-min.otf') format('opentype')
}

@font-face {
  font-family: "NotoSansCJKjpBold";
  src: url('../font/NotoSansCJKjp-Bold-min.eot');
  src: url('../font/NotoSansCJKjp-Bold-min.eot?#iefix') format('embedded-opentype'), url('../font/NotoSansCJKjp-Bold-min.woff') format('woff'), url('../font/NotoSansCJKjp-Bold-min.otf') format('opentype')
}

@font-face {
  font-family: "NotoSansCJKjpBlack";
  src: url('../font/NotoSansCJKjp-Black.eot');
  src: url('../font/NotoSansCJKjp-Blackeot?#iefix') format('embedded-opentype'),
    url('../font/NotoSansCJKjp-Black.woff') format('woff'), url('../font/NotoSansCJKjp-Black.otf') format('opentype')
}

@font-face {
  font-family: "ComfortaaBold";
  src: url("../font/Comfortaa-Bold.eot?") format('eot'),
    url("../font/Comfortaa-Bold.woff2") format('woff2'),
    url("../font/Comfortaa-Bold.woff") format('woff');
}

@font-face {
  font-family: "ComfortaaLight";
  src: url("../font/Comfortaa-Light.eot?") format('eot'),
    url("../font/Comfortaa-Light.woff2") format('woff2'),
    url("../font/Comfortaa-Light.woff") format('woff');
}

@font-face {
  font-family: "ComfortaaRegular";
  src: url("../font/Comfortaa-Regular.eot?") format('eot'),
    url("../font/Comfortaa-Regular.woff2") format('woff2'),
    url("../font/Comfortaa-Regular.woff") format('woff');
}



.NotoDemiLight {
  font-family: 'NotoSansCJKjpDemiLight', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, sans-serif !important;
}

.NotoRegular {
  font-family: 'NotoSansCJKjpRegular', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, sans-serif !important;
}

.NotoMedium {
  font-family: 'NotoSansCJKjpMedium', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, sans-serif !important;
}

.NotoBold {
  font-family: 'NotoSansCJKjpBold', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, sans-serif !important;
}

.NotoBlack {
  font-family: 'NotoSansCJKjpBlack', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, sans-serif !important;
}

.Hiragino {
  font-family: "ヒラギノ角ゴ Std", "Hiragino Kaku Gothic Std", 'NotoSansCJKjpBold', 'メイリオ', Meiryo, Osaka, sans-serif;
}

.ComfortaaBold {
  font-family: 'ComfortaaBold', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, sans-serif !important;
}

.ComfortaaLight {
  font-family: 'ComfortaaLight', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, sans-serif !important;
}

.ComfortaaRegular {
  font-family: 'ComfortaaRegular', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, sans-serif !important;
}

/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/
html {
  color: #333333;
  font-size: 14px;
  line-height: 1.4;
  font-family: "NotoSansCJKjpBold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, sans-serif;
}

body {
  background: #fff;
  margin: 0;
}

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

p {
  line-height: 1.6;
  margin: 0 0 1em;
  padding: 0;
}

a {
  color: #333333;
  text-decoration: none;
  -webkit-transition: 0.5s;
}

@media (min-width:960px) {

  a:hover,
  .hover:hover {
    opacity: .7;
    text-decoration: none;
    -webkit-transition: 0.5s;
  }

  .sp_navi_wrap, .menu_bg {
    display: none !important;
  }

  .tabs {
    display: block !important;
  }
}

input, select, textarea {
  font-family: "NotoSansCJKjpBold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, sans-serif;
}

table {
  border-collapse: collapse;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 14px;
  font-weight: normal;
  margin: 0;
  padding: 0;
}

.clearfix {
  clear: both;
}

.clearfix:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  font-size: 0;
  visibility: hidden;
}

.clear {
  clear: both;
}

/*.outer-block {
  min-width: 1420px;
}
*/
.inner-block {
  margin: 0 auto;
  padding: 0 10px;
  position: relative;
  max-width: 1400px;
}

.inner-block:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  font-size: 0;
  visibility: hidden;
}

#wrapper {
  position: relative;
}

.pc {
  display: block !important;
}

.pc-ib {
  display: inline-block !important;
}

.sp {
  display: none !important;
}

.sp-ib {
  display: none !important;
}

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

/*------------------------------------------------------------------------------
  header
------------------------------------------------------------------------------*/
#header {
  width: 100%;
  box-sizing: border-box;
  border-bottom: 4px solid #60C9BA;
  padding: 29px 30px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 200;
  background: #fff;
  height: 95px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.37);
}

#header .logo {
  width: 190px;
}

.menublock {
  width: 465px;
  box-sizing: border-box;
  padding: 20px 0 20px 30px;
  position: absolute;
  left: 0;
  top: 95px;
  z-index: 200;
  background: rgba(49, 74, 70, 0.5);
  height: 765px;
}

.menublock .tl01 {
  width: 410px;
}

.menublock .tl02 {
  width: 304px;
  margin-top: 20px;
  margin-left: 60px;
}

.menublock .line01 {
  background: url(../img/common/line02.png);
  height: 488px;
  width: 3px;
  position: absolute;
  left: 60px;
  top: 145px;
}

.menu_content {
  padding-left: 35px;
  margin: 15px 0 0;
}

.menu_content li {
  background: url(../img/common/line01.png) center center repeat-x;
  background-size: 8px 4px;
  margin: 0 0 10px;
  position: relative;
}

.btn_style02 {
  float: right;
}

.btn_style02 .button-4 {
  margin: 0;
  width: auto;
  height: 33px;
  line-height: 33px;
  border: none;
  background: #fff;
}

.btn_style02 .eff-4 {
  background: #3eb1b0;
}

.btn_style02 .button-4 a {
  line-height: 33px;
  height: 100%;
  padding-right: 10px;
  font-size: 18px;
  display: block;
  color: #3eb1b0;
  opacity: 1 !important;
}

@media (min-width:960px) {
  .btn_style02 .button-4 a:hover {
    color: #fff !important;
  }
}



.btn_style02 .button-4 a .i {
  position: relative;
  display: inline-block;
  margin-right: 20px;
  font-size: 12px;
  padding: 10px;
  vertical-align: top;
  box-sizing: border-box;
  line-height: 1;
  height: 100%;
  background: #3eb1b0;
  color: #fff;
}

.btn_style02 .button-4 a .i:after {
  content: "";
  position: absolute;
  top: 0;
  right: -9px;

  width: 0;
  height: 0;
  border-style: solid;
  border-width: 17px 0 17px 9px;
  border-color: transparent transparent transparent #3eb1b0;
}

.menu_content .li01 .btn_style02 .eff-4 {
  background: #d5a000;
}

.menu_content .li01 .btn_style02 .button-4 a {
  color: #d5a000;
}

.menu_content .li01 .btn_style02 .button-4 a .i {
  background: #d5a000;
}

.menu_content .li01 .btn_style02 .button-4 a .i:after {
  border-color: transparent transparent transparent #d5a000;
}


.menu_content .li02 .btn_style02 .eff-4 {
  background: #8780de;
}

.menu_content .li02 .btn_style02 .button-4 a {
  color: #8780de;
}

.menu_content .li02 .btn_style02 .button-4 a .i {
  background: #8780de;
}

.menu_content .li02 .btn_style02 .button-4 a .i:after {
  border-color: transparent transparent transparent #8780de;
}

.menu_main {
  position: absolute;
  left: 425px;
  top: -150px;
  width: 715px;
  box-sizing: border-box;
  background: #fff;
  border-left: 10px solid #3eb1b0;
  display: none;
}

.menu_main.open {
  display: table;
}

.li01 .menu_main {
  border-color: #d5a000;
}

.li02 .menu_main {
  border-color: #8780de;
}

.li01 .menu_main:before {
  border-color: transparent #d5a000 transparent transparent;
}

.li02 .menu_main:before {
  border-color: transparent #8780de transparent transparent;
}

.li01 .menu_main .cell02 .tl {
  color: #d5a000;
}

.li02 .menu_main .cell02 .tl {
  color: #8780de;
}

.li01 .menu_main .cell02 .btn_style01 .button-4 a {
  color: #d5a000;
}

.li02 .menu_main .cell02 .btn_style01 .button-4 a {
  color: #8780de;
}

.li01 .menu_main .cell02 .btn_style01 .button-4 a:after {
  background-image: url(../img/common/link_arrow02.png)
}

.li02 .menu_main .cell02 .btn_style01 .button-4 a:after {
  background-image: url(../img/common/link_arrow03.png)
}

.li01 .menu_main .cell02 .btn_style01 .button-4 {
  background: #fcecbe;
}

.li02 .menu_main .cell02 .btn_style01 .button-4 {
  background: #f0ebff;
}

.menu_main:before {
  content: "";
  position: absolute;
  left: -18px;
  top: 150px;

  width: 0;
  height: 0;
  border-style: solid;
  border-width: 17px 18px 17px 0;
  border-color: transparent #3eb1af transparent transparent;
}

.menu_content>li:nth-child(2) .menu_main {
  top: -100px;
}

.menu_content>li:nth-child(2) .menu_main:before {
  top: 100px;
}

.menu_content>li:nth-child(5) .menu_main {
  top: -90px;
}

.menu_content>li:nth-child(5) .menu_main:before {
  top: 90px;
}

.menu_content>li:nth-child(6) .menu_main {
  top: -60px;
}

.menu_content>li:nth-child(6) .menu_main:before {
  top: 60px;
}

.menu_content>li:nth-child(9) .menu_main {
  top: -460px;
}

.menu_content>li:nth-child(9) .menu_main:before {
  top: 460px;
}

.menu_content>li:nth-child(10) .menu_main {
  top: -78px;
}

.menu_content>li:nth-child(10) .menu_main:before {
  top: 77px;
}

.menu_main .cell01,
.menu_main .cell02 {
  display: table-cell;
  vertical-align: top;
}

.menu_main .cell01 {
  width: 296px;
}

.menu_main .cell01 img {
  display: none;
}

.menu_main .cell01 {
  background: url(../img/top/menu_cont_img01.jpg) no-repeat center center;
  background-size: cover;
}

.nm02 .menu_main .cell01 {
  background-image: url(../img/top/menu_cont_img02.jpg)
}

.nm03 .menu_main .cell01 {
  background-image: url(../img/top/menu_cont_img03.jpg)
}

.nm04 .menu_main .cell01 {
  background-image: url(../img/top/menu_cont_img04.jpg)
}

.nm05 .menu_main .cell01 {
  background-image: url(../img/top/menu_cont_img05.jpg)
}

.nm06 .menu_main .cell01 {
  background-image: url(../img/top/menu_cont_img06.jpg)
}

.nm07 .menu_main .cell01 {
  background-image: url(../img/top/menu_cont_img07.jpg)
}

.nm08 .menu_main .cell01 {
  background-image: url(../img/top/menu_cont_img08.jpg)
}

.nm09 .menu_main .cell01 {
  background-image: url(../img/top/menu_cont_img09.jpg)
}

.nm10 .menu_main .cell01 {
  background-image: url(../img/top/menu_cont_img10.jpg)
}

@media (max-width:1300px) {
  .menu_main {
    width: 405px;
  }

  .menu_main .cell01 {
    width: 180px;
  }
}


.menu_main .cell02 {
  padding: 15px;
  padding-bottom: 10px;
}

.menu_main .cell02 .tl {
  font-size: 28px;
  color: #3eb1b0;
}

.menu_main .cell02 .tl span {
  font-size: 15px;
  padding-left: 5px;
}

.menu_main .cell02 p {
  color: #666666;
}

.menu_main .cell02 .btn_style01 {
  margin: 0;
  display: block;
}

.menu_main .cell02 .btn_style01 .button-4 {
  background: #d7f1f6;
  width: 100%;
  text-align: left;
}

.menu_main .cell02 .btn_style01 .button-4 .eff-4 {
  background: #ddd;
}

.menu_main .cell02 .btn_style01 .button-4 a {
  color: #159a8c;
  padding: 8px;
  padding-right: 20px;
}

.menu_main .cell02 .btn_style01 .button-4 a span {
  display: block;
  color: #000;
  font-size: 16px;
}

.menu_main .cell02 .btn_style01 .button-4 a:after {
  background: url(../img/common/link_arrow01.png) no-repeat;
  background-size: 100% 100%;
  width: 11px;
  height: 17px;
  right: 10px;
}

.link_list01 {
  margin-top: 10px;
}

.link_list01 li {
  margin: 0 0 10px;
}

.link_list01 li:last-child {
  margin: 0;
}

.menu_content .car {
  position: absolute;
  left: -300px;
  top: -10px;
  transition: all .5s ease;
  z-index: 10;
}

/*
.btn_style02:hover+.car{
  left:-150px;
  transition:all .5s ease;
}
*/
.menu_content .nm02 .car {
  top: -14px;
}

.menu_content .nm03 .car {
  top: -14px;
}

.menu_content .nm05 .car {
  top: -14px;
}

.menu_content .nm06 .car {
  top: -26px;
}

.menu_content .nm07 .car {
  top: -14px;
}

.menu_content .nm08 .car {
  top: -14px;
}




.head_top {
  position: relative;
}

.mv {
  width: 100%;
}

.mv ul,
.mv li {
  height: 860px;
  width: 100%;
  background-size: cover;
}

.mv .li01 {
  background-image: url(../img/top/mv01.jpg);
}

.mv .li02 {
  background-image: url(../img/top/mv02.jpg);
}

.mv .li03 {
  background-image: url(../img/top/mv03.jpg);
}

.mv .li04 {
  background-image: url(../img/top/mv04.jpg);
}

.mv .li05 {
  background-image: url(../img/top/mv05.jpg);
}

.pc_navi {
  position: absolute;
  right: 22px;
  top: 10px;
  z-index: 300;
  width: 869px;
  height: 70px;
  overflow: hidden;
  background-color: #fff;
}

.pc_navi ul {
  width: 100%;
  height: 70px;
}


.pc_navi li a {
  display: block;
  float: left;
  width: 125px;
  height: 70px;
  margin-right: 18px;
}

.pc_navi li a:last-child {
  width: 154px;
  margin: 9px 0 0;
}

@media (min-width: 961px) and (max-width: 1115px) {
  .pc_navi {
    width: 695px;
  }

  .pc_navi li a {
    width: 110px;
    height: 61.5px;
    padding-top: 5px;
    margin-right: 5px;
  }

  .pc_navi li a:last-child {
    width: 120px;
    padding: 6px 0 0;
  }
}

/*------------------------------------------------------------------------------
  content
------------------------------------------------------------------------------*/
.outer_set {
  display: table;
  width: 100%;
}

.outer_set .incont_cell01 {
  display: table-cell;
  width: 465px;
  background: #61caba;
  padding: 40px;
  padding-left: 60px;
  padding-right: 0;
  box-sizing: border-box;
  vertical-align: middle;
}

.outer_set .incont_cell02 {
  display: table-cell;
  background: #bdf2f4;
  padding: 35px;
  padding-left: 40px;
  box-sizing: border-box;
}

.outer_set.outer_set01 .incont_cell01 {
  background: #c9fbe4;
  overflow: hidden;
}

.outer_set.outer_set01 .incont_cell02 {
  background: #f6f6f6;
}

.outer_set .incont_cell01 .tl01 {
  position: relative;
  display: inline-block;
}

.outer_set .incont_cell01 .tl01:after {
  position: absolute;
  content: "";

  background: url(../img/common/line01.png);
  width: 99px;
  height: 3px;
  right: -120px;
  top: 0;
  bottom: 0;
  margin: auto;

}

.list01 li {
  display: table;
  width: 100%;
  margin: 0 0 15px;
}

.list01 li:last-child {
  margin: 0;
}

.list01 .day {
  display: table-cell;
  width: 75px;
  padding-right: 10px;
}

.list01 .day span {
  background: #fff;
  padding: 2px 10px;
  display: inline-block;
}

.list01 .detail {
  display: table-cell;
}

.list01.list02 li {
  display: block;
}

.list01.list02 .detail {
  display: block;
}

#footer.outer_set .incont_cell02,
#footer.outer_set .incont_cell01 {
  background: #fff;
}

#footer.outer_set .incont_cell01 {
  padding-right: 40px;
}

#footer.outer_set .incont_cell01 {
  text-align: right;
}

#footer.outer_set .incont_cell02 {
  padding-left: 0;
}

#footer.outer_set .incont_cell02 .inn {
  border-left: 3px solid #36a036;
  padding-left: 45px;
}

#footer.outer_set .incont_cell01 .tx01 {
  height: 85px;
  margin: 0 0 20px;
}

#footer.outer_set .incont_cell01 .tx01 img {
  height: 100%;
}

#footer.outer_set .incont_cell02 .box {
  float: left;
  margin-right: 50px;
}

#footer.outer_set .incont_cell02 .box .link_tl01 {
  width: 44px;
  margin: 0 0 20px;
}

#footer.outer_set .incont_cell02 .box .link_tl01.link_tl01_1 {
  width: 32px;
}

#footer.outer_set .incont_cell02 .box .f_list li {
  margin: 0 0 15px;
}

#footer.outer_set .incont_cell02 .box .f_list li a {
  background: url(../img/common/arrow01.png) no-repeat;
  background-size: 6px 9px;
  background-position: center left;
  padding-left: 15px;
}

.incont_cell01 .link01 {
  float: right;
  display: inline-block;
  position: relative;
  top: -10px;
  right: 17px;
}

.btn_style .button-4 {
  background: none;
  border-color: #fff;
  margin: 0;
  width: 100px;
}

.btn_style .button-4 .eff-4 {
  background: #fff;
}

.btn_style .button-4 a {
  color: #333;
  opacity: 1 !important;
}

.btn_style01 {
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
}

.btn_style01 .button-4 {
  background: none;
  margin: 0;
  width: auto;
  height: auto;
  line-height: 1.4;
  border: none;
  background: #fff;
}

.btn_style01.btn_style01_1 .button-4 {
  background: #c9fbe4;
}


.btn_style01 .button-4 .eff-4 {
  background: #61caba;
}

.btn_style01 .button-4 a {
  color: #666666;
  line-height: 1.4;
  padding: 2px 10px;
  padding-right: 20px;
  font-size: 14px;
  display: block;
  position: relative;
  opacity: 1 !important;
}

.btn_style01 .button-4 a:after {
  content: "";
  position: absolute;
  width: 6px;
  height: 9px;
  right: 5px;
  top: 2px;
  bottom: 0;
  margin: auto;

  background: url(../img/common/arrow01.png) no-repeat;
  background-size: 100%;
}

/*------------------------------------------------------------------------------
  pagetop
------------------------------------------------------------------------------*/
#footer {
  position: relative;
}

#pagetop {
  bottom: 20px;
  position: fixed;
  right: 40px;
  text-align: center;
  z-index: 1000;
  width: 178px;
  line-height: 40px;
}

#pagetop img {
  vertical-align: middle;
  width: 134px;
}

#pagetop a {
  border: 2px solid #36a036;
  display: block;
  height: 43px;
  background: #fff;
}

#pagetop a.fixed_contact {
  margin-bottom: 10px;
  border: 2px solid #FD851C;
}

#pagetop a.fixed_contact.pc {
  height: 67px;
}

#pagetop a.fixed_contact.pc img {
  width: 120px;
  padding-top: 14px;
}

.f_line {
  height: 137px;
  width: 3px;
  position: absolute;
  bottom: 0;
  right: 125px;
  background: url(../img/common/line03.png);
}

/*------------------------------------------------------------------------------
  office
------------------------------------------------------------------------------*/
.second .mv {
  background: url(../img/office/second_mv.jpg) no-repeat center center;
  background-size: cover;
  height: 300px;
}

.second #header {
  width: 100%;
  box-sizing: border-box;
}

.second_tl {
  position: absolute;
  top: 105px;
  left: 0;
  width: 250px;
  height: 186px;
  padding: 50px 30px 0;
  box-sizing: border-box;
  background: #61caba;
}

.second_tl .tl {
  margin: 0 0 20px;
}

.second_tl span {
  font-size: 18px;
  letter-spacing: 5px;
}

.second .pc_navi {
  height: 70px;
}

.second .bt_links {
  position: absolute;
  top: 90px;
  right: 15px;
  text-align: right;
  margin-top: 20px;
  margin-right: 5px;
}

.second .bt_links a {
  display: inline-block;
  margin-left: 15px;
  padding-top: 2px;
  padding-left: 15px;
  padding-bottom: 5px;
  border-bottom: 2px solid #fff;
  background: url(../img/common/link_arrow04.png) no-repeat left top;
  background-size: 11px 17px;
  font-size: 12px;
}

.main_content_wrap {
  padding: 50px 20px;
  background: #bdf2f4;
}

.main_content_wrap .main_content {
  width: 1080px;
  display: table;
  margin: auto;
}

@media (max-width:1100px) {
  .main_content_wrap .main_content {
    width: 100%;
  }
}

.main_content_wrap .main_content .content_left,
.main_content_wrap .main_content .content_right {
  vertical-align: top;
}

.main_content_wrap .main_content .content_left {
  width: 140px;
  display: table-cell;
}

.main_content_wrap .main_content .content_right {
  display: table-cell;
  padding-left: 20px;
}

.contnavilist li {
  margin: 0 0 10px;
}

.contnavilist li a {
  border: 2px solid #fff;
  height: 76px;
  display: table;
  text-align: center;
  width: 100%;
  cursor: pointer;
  position: relative;
}

.contnavilist li.select a:after {
  content: "";
  position: absolute;
  background: url(../img/common/menu01_icon.png) no-repeat;
  background-size: 100%;
  width: 46px;
  height: 32px;
  top: -15px;
  right: -5px;
}

.contnavilist li a span {
  vertical-align: middle;
  font-size: 12px;
  display: table-cell;
}

.cont_blcok {
  padding: 35px 40px;
  background: #fff;
}

.cont_blcok+.cont_blcok {
  margin-top: 20px;
}

.tl_style01 {
  font-size: 36px;
  color: #666;
}

.tl_style02 {
  font-size: 20px;
  color: #2e8f34;
}

.tl_style03 {
  font-size: 14px;
  color: #2e8f34;
  margin: 0 0 7px;
}

.office_img01 {
  margin: 20px -40px;
}

.table01 {
  width: 100%;
  margin: 5px 0 15px;
}

.table01:last-child {
  margin-bottom: 0;
}

.table01 th,
.table01 td {
  background: #d0fde8;
  padding: 4px 5px;
  vertical-align: top;
  font-weight: normal;
  text-align: left;
}

.table01 tr:nth-child(2n) th,
.table01 tr:nth-child(2n) td {
  background: none;
}

.table01 th {
  width: 100px;
}


.office_box .cell {
  width: 48%;
  float: left;
}

.office_box .cell:nth-child(2n) {
  float: right;
}

.md_list01 li {
  margin: 0 0 10px;
}

.md_list01 .cell01 {
  float: left;
  width: 49%;
}

.md_list01 .cell02 {
  float: right;
  width: 49%;
}

.md_list01 li a {
  display: block;
  position: relative;
}

.md_list01 li a:after {
  content: "";
  background: url(../img/common/icon_md.png) no-repeat;
  background-size: 100% 100%;
  position: absolute;
  width: 45px;
  height: 45px;
  right: 10px;
  top: 10px;

}

.map iframe {
  width: 100%;
  height: 420px;
}

.office_box {
  margin: 0 0 20px;
}

.tabs_warp .tab_cell {
  display: none;
}

.tabs_warp .tab_cell:first-child {
  display: block;
}

#cboxOverlay {
  background: #bbe4e4;
  display: none;
  height: 100%;
  left: 0;
  opacity: 0.77;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

.md_box {
  display: none;
}

#cboxClose {
  -moz-appearance: none;
  background: url(../img/common/icon_colse.png) no-repeat center center;
  background-size: 28px 28px;
  background-color: #fff;
  border: medium none;
  position: absolute;
  text-indent: 99999px;
  right: 0;
  top: 0;
  height: 70px;
  width: 70px;
}

#colorbox {
  z-index: 200;
  overflow: hidden;
}

.modal-box {
  padding-top: 70px;
}

.modal-box img {
  border: 4px solid #fff;
}

/*------------------------------------------------------------------------------
  contact
------------------------------------------------------------------------------*/
.content_icon01 {
  position: relative;
}

.content_icon01:before {
  position: absolute;
  content: "";
  background: url(../img/common/menu01_icon.png) no-repeat;
  height: 32px;
  width: 46px;
  top: 20px;
  left: -50px;
}

.content_icon01:after {
  position: absolute;
  content: "";
  top: 20px;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 20px 0;
  border-color: transparent #ffffff transparent transparent;
}


.tl_style01_1 {
  margin-bottom: 20px;
  line-height: 1.3;
}

.tl_style02_1 {
  margin-bottom: 20px;
}

.indent01 {
  margin: 0 0 20px;
}

.indent01 li {
  padding-left: 1em;
  text-indent: -1em;
}

.hd_txt {
  margin: 0 0 35px;
}


/* よくある質問エリア */
.qa_area {
  padding: 21px;
  border: 2px solid #60C9BA;
  border-radius: 4px;
}

.qa_area .tl_style02 {
  margin-bottom: 21px;
}

.dark_green {
  color: #006C08;
}

.qa_icon {
  margin-right: 11px;
  padding: 0 9px 3px;
  border-radius: 4px;
  background-color: #FF851C;
  color: #fff;
}

.qa_area ul {
  display: flex;
}

.qa_area ul li {
  padding-right: 45px;
}

.qa_area ul li a {
  color: #019F9D;
  text-decoration: underline;
}

.qa_area+#section01 {
  padding-top: 35px;
}


.contact_table {
  width: 100%;
}

.contact_table th,
.contact_table td {
  border-bottom: 1px solid #ccc;
  padding: 10px 0;
  vertical-align: top;
}

.contact_table th {
  text-align: left;
  font-weight: normal;
  width: 180px;
  padding-right: 10px;
  padding-top: 15px;
}

.contact_table th .rc {
  padding: 2px 10px;
  display: inline-block;
  margin-left: 10px;
  vertical-align: middle;
  color: #fff;
  background: #FF851C;
  font-size: 12px;
}

.contact_table td .txt01 {
  margin-right: 5px;
  display: inline-block;
}

.contact_table td .txt02 {
  margin-left: 5px;
  display: inline-block;
}

.contact_table input[type="text"],
.contact_table input[type="email"],
.contact_table input[type="tel"],
.contact_table textarea {
  padding: 4px 10px;
  width: 310px;
  box-sizing: border-box;
  background: #e6f6ee;
  border: 2px solid #a1e7c7;
}

.contact_table textarea {
  width: 100%;
  height: 200px;
}

.contact_table input.input01 {
  width: 140px;
}

.contact_table input.input02 {
  width: 200px;
}

.contact_table input.input03 {
  width: 100%;
}

.contact_table input.input04 {
  width: 64px;
}

.contact_table input.input05 {
  width: 590px;
}

.contact_table .textare_txt {
  margin: 0 0 10px;
}



.custom-select {
  background: url(../img/common/link_arrow05.png) no-repeat 96% center;
  background-size: 19px 12px;
  background-color: #a1e7c7;
  color: #1c8823;
  font-size: 14px;
  padding: 4px 10px;
  width: 310px;
  height: 30px;
  box-sizing: border-box;
  padding: 7px 10px;
}

.sbumit_box {
  text-align: center;
  margin-top: 20px;
}

.sbumit_box .box {
  margin: 0 20px;
  display: inline-block;
}

.sbumit_box .btn_style01 {
  margin: 0;
}

.sbumit_box .button-4 {
  border: 2px solid #43a644;
  width: 190px;
  height: 48px;
}

.sbumit_box .button-4 a,
.sbumit_box .button-4 input {
  background: url(../img/common/arrow01.png) no-repeat 92% center;
  background-size: 12px 18px;
  border: none;
  cursor: pointer;
  line-height: 45px;
  width: 100%;
  box-sizing: border;
  padding: 0 20px 0;
  text-align: left;
  color: #333;
  font-size: 16px;
}

.sbumit_box .back .button-4 {
  border-color: #ccc;
  background-color: #ccc;
}

.sbumit_box .back .button-4 .eff-4 {
  background: #999;
}

.sbumit_box .back .button-4 a,
.sbumit_box .back .button-4 input {
  background: url(../img/common/link_arrow06.png) no-repeat 10px center;
  background-size: 12px 18px;
  text-align: right;
}




.sbumit_box .button-4 a:after {
  display: none;
}

.contact_table .block01 {
  margin: 10px 0 0;
}

.radiobox_list li {
  position: relative;
  margin: 0 10px 0 0;
  display: inline-block;
}

.radiobox_list li:last-child {
  margin: 0;
}

.radiobox_list [type="radio"] {
  height: 18px;
  opacity: 0;
  position: absolute;
  width: 18px;
  z-index: 10;
  margin: 0;
}

.radiobox_list [type="radio"]+label:after {
  background: url(../img/common/radio_off.png);
  background-size: 100% 100%;
  width: 18px;
  height: 18px;

  content: "";
  left: 0;
  position: absolute;
  top: 0;
  box-sizing: border-box;
}

.radiobox_list [type="radio"]+label {
  width: 18px;
  height: 18px;
  padding-left: 26px;
}

.radiobox_list [type="radio"]:checked+label:after {
  background: url(../img/common/radio_on.png);
  background-size: 100% 100%;

  position: absolute;
  z-index: 10;
  top: 0;
}


.contact_table .no-boder th,
.contact_table .no-boder td {
  border: none;
  padding-bottom: 0;
}


/*----- faq.html -----*/
.faq_about .tl_style02.tl_style02_1 {
  font-size: 30px;
  margin: 0 0 40px;
  padding: 35px 0 0;
}

.faq_about {
  margin-bottom: 30px;
}

.faq_about:last-of-type {
  margin-bottom: 25px;
}

.q_area {
  margin-bottom: 42px;
}

.q_area:last-of-type {
  margin-bottom: 0;
}

.q_area p {
  position: relative;
  padding-left: 2.1em;
  text-indent: -0.85em;
}

.q_area p::before {
  display: inline-block;
  content: "A.";
  margin-right: 8px;
  font-size: 16px;
  color: #f00;
}

.q_area .-last {
  margin-bottom: 0;
}

.q_area> :not(.-last) {
  margin-bottom: 25px;
}

.faq_about p {
  line-height: 1.35;
}

.office_link li {
  padding-bottom: 12px;
}

.office_link li:last-of-type {
  padding-bottom: 0;
}

.office_link li a {
  color: #019F9D;
  text-decoration: underline;
}

.office_link.flex {
  display: flex;
}

.office_link.flex li {
  padding: 0 35px 0 0;
}

@media screen and (min-width: 901px) and (max-width: 1025px) {
  .office_link.flex {
    flex-direction: column;
  }

  .office_link.flex li {
    padding-right: 0;
  }
}

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

/*------------------------------------------------------------------------------
  company
------------------------------------------------------------------------------*/
.comp_block01 .cell01 {
  float: right;
  width: 38%;
  margin-bottom: 20px;
}

.comp_block01 .cell02 {
  float: left;
  width: 59%;
}

.sign_box {
  text-align: right;
}

.comp_block02 {
  border: 1px solid #bdf2f4;
  padding: 20px;
  text-align: center;
  margin: 0 0 40px;
}

.comp_block02 .tl {
  font-size: 18px;
  margin: 0 0 10px;
}

.comp_block02 p {
  margin: 0;
}

.indent02 {
  margin: 0 0 40px;
}

.indent02 li {
  padding-left: 2em;
  text-indent: -2em;
  margin: 0 0 20px;
}

.indent03 li {
  margin: 0 0 10px;
}

.indent03 li:last-child {
  margin: 0;
}

.indent03 li .cell {
  background: url(../img/common/dotted_line01.png) repeat-x center right;
  display: inline-block;
  margin-right: 10px;
  width: 204px;
}

.indent03 li .cell span {
  background: #fff;
  padding-right: 6px;
}

.comp_block03 {
  margin: 0 0 30px;
}

.comp_block03 .cell {
  float: left;
  width: 48%;
}

.comp_block03 .cell:nth-child(2n) {
  float: right;
}

.comp_block03 .cell p {
  line-height: 2em;
}

.comp_table01 td,
.comp_table01 th {
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  padding-bottom: 10px;
}

.comp_table01 th {
  padding-right: 20px;
}

.tl_style02.tl_style02_2 {
  margin: 40px 0 20px;
}

.comp_table02 td,
.comp_table02 th {
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  padding-bottom: 10px;
}

.comp_table02 th {
  padding-right: 2px;
}

.comp_table {
  width: 100%;
  margin: 0 0 40px;
}

.comp_table:last-child {
  margin: 0;
}

.comp_table td,
.comp_table th {
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  padding: 10px 0;
  border-bottom: 1px solid #b5b5b5;
}

.comp_table th {
  width: 120px;
}


.pc-side-nav-fixed {
  top: 2%;
  left: 68%;
  width: 18%;
  position: fixed;
}

/*------------------------------------------------------------------------------
  recruit
------------------------------------------------------------------------------*/
.btn_box {
  margin: 30px 0 40px;
}

.btn_box:last-child {
  margin-bottom: 0;
}

.btn_box .cell {
  width: 46%;
  float: left;
}

.btn_box .cell:nth-child(2n) {
  float: right;
}

.btn_style03 {
  display: block;
}

.btn_style03 .button-4 {
  border: 2px solid #43a644;
  height: 48px;
  width: 100%;
  margin: 0;
}

.btn_style03 .button-4 a {
  background: url(../img/common/arrow01.png) no-repeat 94% center;
  background-size: 12px 18px;
  color: #333;
  cursor: pointer;
  font-size: 16px;
  line-height: 45px;
  padding: 0 20px;
  text-align: left;
  width: 100%;
  text-align: left;
  display: block;
  height: 100%;
}

.btn_style03.btn_style03_1 .button-4 a {
  background-image: url(../img/common/arrow02.png);
  background-size: 18px 12px;
}

.btn_style03 .button-4 .eff-4 {
  background: #61caba;
}

.btn_style04 {
  border: 2px solid #ddd;
  height: 48px;
  line-height: 45px;
  margin: 0;
  width: 100%;
  font-size: 16px;
  padding: 0 20px;
}

/*------------------------------------------------------------------------------
  recruit
------------------------------------------------------------------------------*/
.indent_py {
  margin: 0 0 30px;
}

.indent_py li {
  padding-left: 2em;
  text-indent: -2em;
  margin: 0 0 10px;
}

.indent_py li:last-child {
  margin: 0;
}

.right_txt {
  text-align: right;
}

/*------------------------------------------------------------------------------
  news
------------------------------------------------------------------------------*/

.list01.list02.list02_news li {
  display: table;
  border-bottom: 1px solid #b5b5b5;
  padding: 15px 0;
  margin: 0;
}

.list01.list02.list02_news li .day,
.list01.list02.list02_news li .detail {
  display: table-cell;
  text-align: left;
  font-weight: normal;
  vertical-align: top;
}

.list01.list02.list02_news li .day {
  width: 130px;
}

.list01.list02.list02_news li .day span {
  padding: 0;
}

.paging {
  margin: 50px 0 30px;
  text-align: center;
}

.paging span,
.paging a {
  display: inline-block;
  margin: 0 10px;
  width: 50px;
  line-height: 50px;
  height: 50px;
  font-size: 16px;
  box-sizing: border-box;
}

.paging a:hover,
.paging span {
  background: #9ae6da;
  border: 2px solid #9ae6da;
}

.paging a {
  background: #fff;
  border: 2px solid #43a644;
}


.news_body {
  border-bottom: 1px solid #b5b5b5;
  padding-bottom: 20px;
}

.news_body .news_day {
  margin: 0 0 10px;
}

.news_body .news_day span {
  padding: 0 5px;
  font-size: 16px;
  background: #9aecdf;
  line-height: 1.2;
}

.news_body a {
  color: #0bac93;
}

.news_body .center {
  text-align: center;
  margin: 30px auto;
  display: block;
}

.news_bottom {
  margin-top: 30px;
  text-align: center;
}

.btn_style03.btn_style03_2.cell {
  width: 190px;
  display: inline-block;
}

.btn_style03.btn_style03_2 a {
  text-align: right;
}

.btn_style03.btn_style03_2 .button-4 a {
  background: url(../img/common/arrow03.png) no-repeat 15px center;
  background-size: 12px 18px;
}

/*------------------------------------------------------------------------------
  case example
------------------------------------------------------------------------------*/
.case .cont_blcok {
  padding: 35px 40px 45px;
}

/*----- index.html -----*/
.second_tl.case {
  padding: 30px 30px 0;
}

.second_tl.case .tl {
  margin-bottom: 10px;
}

.second_tl.case .tl img {
  width: 131.5px;
}

.case .contnavilist li a {
  height: initial;
  min-height: 76px;
  padding: 25px 8px 27px;
}

.case .contnavilist li:first-of-type a {
  padding: 27.5px 8px;
}

.case .contnavilist li a span {
  display: flex;
  flex-direction: column;
}

.case_icon {
  position: relative;
  top: -2px;
  min-width: 48px;
  margin-right: 8px;
  padding: 0 6px 1px;
  border-radius: 4px;
  background-color: #FF851C;
  color: #fff;
  font-size: 12px;
  vertical-align: middle;
}

.case .contnavilist li a .case_icon {
  margin: 0 auto 8px;
}

.case .tl_style01 {
  margin-bottom: 27px;
}

.case_area {
  display: flex;
}

.case_area .case_box {
  width: calc((100% - 70px) / 3);
  margin-right: 35px;
}

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

.case_area .case_box img {
  margin-bottom: 20px;
}

.case_box .case_X {
  margin-bottom: 8px;
}

.case_box h3 {
  margin-bottom: 15px;
  color: #2e8f34;
  font-size: 18px;
}

.case_box:last-of-type p {
  margin: 0 0 3.1em;
}

@media screen and (min-width: 901px) and (max-width: 1100px) {
  .case_box:last-of-type p {
    margin: 0 0 1em;
  }
}

.case_box .break .button-4 {
  height: 66px;
}

.case_box .break .button-4 p {
  margin: 10px 0;
}

.case_box .break .button-4 a {
  line-height: 1.3;
}

@media screen and (min-width: 901px) and (max-width: 1030px) {
  .case_box .break .button-4 p {
    margin: 14px 0;
  }

  .case_box .break .button-4 a {
    font-size: 13px;
  }
}


/*----- case_1.html -----*/
.example .cont_blcok .case_X {
  margin-bottom: 30px;
  color: #666666;
  font-size: 24px;
}

.example .cont_blcok .case_icon {
  position: relative;
  top: -3px;
  margin-right: 23px;
  padding: 0 10px 1px;
  font-size: 20px;
  line-height: 1;
}

.example .cont_blcok h2 {
  margin-bottom: 35px;
  font-size: 30px;
  line-height: 1;
}

.example_cont {
  margin-bottom: 60px;
}

.example_cont:last-of-type {
  margin-bottom: 0;
}

.example_cont> :not(.-last) {
  margin-bottom: 45px;
}

.example_img {
  margin: 0 auto 55px !important;
}

.w578 {
  width: 578px;
}

.example_img img {
  width: 100%;
}

.example_cont .note {
  margin: 0;
  padding-top: 10px;
  font-size: 14px;
  text-align: center;
}

.example_cont p {
  font-size: 16px;
  line-height: 1.67;
}

.example_flex {
  display: flex;
}

.example_flex .flex_img {
  width: 340px;
  margin-right: 24px;
}

.example_flex .flex_img img {
  width: 100%;
}

.example_flex .desc {
  width: calc(100% - 364px);
  margin: 0;
}

.cont_blcok .example_cont h2 {
  color: #2C8F33;
  font-size: 20px;
  line-height: 1;
}

.example_flex .flex_img p {
  text-align: left;
}

.w755 {
  max-width: 755px;
}

.example_flx_imgs p {
  margin-bottom: 30px;
}

.example_flx_imgs .example_flex {
  justify-content: space-between;
}

.example_flx_imgs .flex_img {
  width: auto;
  margin: 0;
}

.example_flx_imgs .flex_img:first-of-type {
  margin-right: 27px;
}

.example_flx_imgs .flex_img img {
  height: 100%;
}


/*----- case_2.html -----*/
#case_2 .example_cont:last-of-type .example_flex {
  align-items: center;
}


/*----- case_3.html -----*/
.flex_img.w220 {
  width: 220px;
}

.flex_img.w220 .note {
  font-size: 12px;
  line-height: 1.4;
}

.flex_img.w220+.desc {
  width: calc(100% - 244px);
}

.example_flex.-reverse .flex_img {
  margin-right: 0;
}

.example_flex.-reverse>.desc {
  width: calc(100% - 364px);
  margin-right: 24px;
}

/*------------------------------------------------------------------------------
  strengths
------------------------------------------------------------------------------*/
.strengths .cont_blcok {
  padding: 35px 40px 45px;
}

/*----- index.html -----*/
.second_tl.strengths .tl img {
  height: 54px;
}

.strengths .tl_style01_1 {
  margin-bottom: 50px;
}

.str_cont {
  margin-bottom: 50px;
}

.str_cont:last-of-type {
  margin-bottom: 0;
}

.str_cont p {
  margin: 0;
  font-size: 16px;
  line-height: 1.88;
}

.str_flex {
  display: flex;
}

.str_cont .tl_style02 {
  margin-bottom: 30px;
  padding-left: 82px;
  font-size: 30px;
  line-height: 1.4;
  text-indent: -82px;
}

.str_cont .tl_style02 .qa_icon {
  position: relative;
  top: -3px;
  padding: 0 9.5px 1px;
  font-size: 20px;
  vertical-align: middle;
}

.str_flex .desc {
  width: calc(100% - 364px);
  margin-right: 24px;
  padding-top: 5px;
}

.str_flex .imgs_column {
  width: 340px;
}

.str_flex .imgs_column .flex_img {
  width: 100%;
}

.str_flex .imgs_column .flex_img:first-of-type {
  margin-bottom: 35px;
}

.flex_img a[href="#figure"] {
  display: block;
  position: relative;
}

.flex_img a[href="#figure"]::after {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 45px;
  height: 45px;
  background: url(../img/common/icon_md.png) no-repeat;
  background-size: 100% 100%;
  content: "";
}

.str_flex .imgs_column .note {
  margin: 0;
  padding-top: 14px;
  font-size: 14px;
  line-height: 1;
  text-align: center;
}

.str_flex .desc p+ul {
  margin-top: 42px;
}

.str_flex .desc .descs_column:first-of-type {
  margin-bottom: 40px;
}

.str_flex .desc .desc_title {
  margin-bottom: 14px;
  color: #2C8F33;
  font-size: 20px;
  line-height: 1;
}

.str_flex:last-of-type .desc {
  padding-top: 0;
}

.str_cont:last-of-type .desc p+ul {
  margin-top: 35px;
}

.str_img {
  margin: 40px auto 0;
}

.w607 {
  max-width: 607px;
}

/* 写真拡大用 */
#enlarge figure {
  margin: 0;
  /* マージンの初期化 */
  display: none;
  /* 最初に画像を隠しておく */
}

#enlarge figure:target {
  display: block;
  /* 画像を表示する */
  position: fixed;
  /* スクロールしても画像を動かさない */
  top: 0;
  /* 画面全体に対して画像を中央に設置する */
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  /* 画像を一番前に表示する */
}

#enlarge figure:target #overlay {
  position: absolute;
  /* 画像が重なるように */
  top: 0;
  /* 4つを0にして画面全体に広げる */
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  /* フレックスアイテムの並びを縦にする */
  justify-content: center;
  /* 左右中央に設置 */
  align-items: center;
  /* 上下中央に設置 */
  background: rgba(0, 0, 0, 0.7);
  /* 画像を見やすくするため透過の黒背景 */
  text-decoration: none;
  /* リンクなので文字に下線など装飾が付かないようにする */
  color: #fff;
}

#enlarge figure:target #overlay:hover {
  opacity: 1;
}

#enlarge figure:target img {
  animation: fadein .3s;
  /* 0.3秒かけたフェードイン効果 */
}

#enlarge figure figcaption {
  padding-top: 8px;
}

@keyframes fadein {

  /* フェードイン効果の中身 */
  0% {
    transform: scale(0.2);
    opacity: 0.2;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/*------------------------------------------------------------------------------
  clearfix
------------------------------------------------------------------------------*/
.btn_box:after,
.comp_block03:after,
.comp_block01:after,
.md_list01:after,
.office_box:after,
.menu_main:after,
.menu_content li:after,
#footer.outer_set .incont_cell02 .inn:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  font-size: 0;
  visibility: hidden;
}