@charset "UTF-8";
/* Scss Document */
/* 
---------------------------------------
reset
---------------------------------------
*/
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;700&display=swap");
body, header, footer, section, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

body {
  /*font-family: '游ゴシック体', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif; ガイドラインに沿って下記設定に変更*/
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif, Avenir, "Helvetica Neue", Helvetica, Arial, Verdana, Roboto;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
  /*iPhoneフォントサイズが拡大されるバグの対策*/ }

html {
  overflow-y: scroll; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  vertical-align: top; }

th {
  text-align: left; }

li {
  list-style: none; }

a {
  outline: none;
  text-decoration: none; }

address {
  font-style: normal; }

h1, h2, h3, h4, h5, h6, p, th, td, table, dl, dt, dd, ul, ol, li {
  font-weight: normal; }

em {
  font-style: normal;
  font-weight: normal; }

a:hover img {
  /*background:#fff;*/
  filter: alpha(opacity=70);
  opacity: 0.7; }

@media screen and (max-width: 767px) {
  form .wLong {
    width: 100%; } }
/* 
---------------------------------------
form
---------------------------------------
*/
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea {
  margin: 1px;
  padding: 8px 5px;
  font-size: 16px;
  background: #fff;
  border: 1px solid #d6d6d6;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px; }

label {
  margin: 1px; }

.text50 {
  width: 50px; }

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

@media screen and (max-width: 768px) {
  form .wLong {
    width: 100%; } }
@media screen and (min-width: 769px) {
  form .wLong {
    width: 500px; } }
/* 
---------------------------------------
濃さ
---------------------------------------
*/
.op7 {
  opacity: 0.7; }

/* 
---------------------------------------
表示切替
---------------------------------------
*/
@media screen and (max-width: 999px) {
  /*TAB以下*/
  .pcView {
    display: none; } }
@media screen and (min-width: 1000px) {
  /*PC*/
  .spView {
    display: none; } }
/*
---------------------------------------
layout
---------------------------------------
*/
img {
  max-width: 100%;
  -webkit-backface-visibility: hidden;
  /*chrome画像ぼやけ対策*/ }

#pcNav ul li a:hover,
.header .logo a:hover,
#home01 .list a:hover {
  opacity: .7;
  transition-delay: all .5s;
  cursor: pointer; }

/*rem単位基準*/
html {
  font-size: 62.5%;
  scroll-behavior: smooth; }

#body {
  overflow: hidden; }

.Mega li.menu__mega:hover ul.menu__second-level a {
  text-decoration: none !important;
  color: #202020; }

@media (min-width: 999px) {
  a[href^="tel:"] {
    pointer-events: none !important; } }
@media (max-width: 999px) {
  a[href^="tel:"] {
    text-decoration: underline; } }
/* 
---------------------------------------
WEBフォント追加
---------------------------------------
*/
@font-face {
  font-family: 'Zen old mincho';
  /*要素に指定するときに使うフォント名*/
  src: url("../fonts/ZenOldMincho-Regular.woff2") format("woff2"), url("../fonts/ZenOldMincho-Regular.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: 'Zen old mincho SB';
  /*要素に指定するときに使うフォント名*/
  src: url("../fonts/ZenOldMincho-SemiBold.woff2") format("woff2"), url("../fonts/ZenOldMincho-SemiBold.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: 'Zen old mincho B';
  /*要素に指定するときに使うフォント名*/
  font-family: 'Zen old mincho B';
  /*要素に指定するときに使うフォント名*/
  src: url("../fonts/ZenOldMincho-Bold.woff2") format("woff2"), url("../fonts/ZenOldMincho-Bold.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: 'Zen old mincho Bl';
  /*要素に指定するときに使うフォント名*/
  src: url("../fonts/ZenOldMincho-Black.woff2") format("woff2"), url("../fonts/ZenOldMincho-Black.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: 'Helvetica';
  /*要素に指定するときに使うフォント名*/
  src: url("../fonts/HelveticaNeueLTProBd.woff2") format("woff2"), url("../fontsHelveticaNeueLTProBd.woff") format("woff");
  font-display: swap; }
body {
  font-family: 'Zen old mincho SB', 'Helvetica',noto-sans-cjk-jp,sans-serif;
  -webkit-font-family: 'Zen old mincho', 'Helvetica',noto-sans-cjk-jp,sans-serif;
  -ms-font-family: 'Zen old mincho', 'Helvetica',noto-sans-cjk-jp,sans-serif;
  -moz-font-family: 'Zen old mincho', 'Helvetica',noto-sans-cjk-jp,sans-serif;
  -webkit-font-smoothing: antialiased;
  color: #202020;
  font-size: 20px;
  line-height: 2; }
  @media (max-width: 999px) {
    body {
      font-size: 16px;
      text-align: justify; } }

/* 
---------------------------------------
共通
---------------------------------------
*/
.stxt {
  font-size: 20px;
  line-height: 2; }
  @media (max-width: 999px) {
    .stxt {
      font-size: 16px;
      text-align: justify; } }

.stxt a {
  color: #202020; }

.uppercase {
  text-transform: uppercase; }

.capitalize {
  text-transform: capitalize; }

.vertical {
  writing-mode: vertical-rl; }

.sub .ttlBox {
  margin-bottom: 70px; }
  @media (max-width: 999px) {
    .sub .ttlBox {
      margin-bottom: 30px; } }

.sub .ttlBox h3 {
  text-align: center;
  font-size: 48px;
  line-height: 48px; }
  @media (max-width: 999px) {
    .sub .ttlBox h3 {
      font-size: 30px;
      line-height: 45px; } }
  .sub .ttlBox h3 span {
    color: #2B9A33; }

.sub .ttlBox .ttlDeco {
  text-align: center;
  font-size: 16px;
  margin-bottom: 20px;
  line-height: 16px; }
  @media (max-width: 999px) {
    .sub .ttlBox .ttlDeco {
      font-size: 14px;
      line-height: 14px;
      margin-bottom: 10px; } }

.wavy {
  padding-bottom: 5px;
  background: url("../img/common/wavy.png") repeat-x bottom left/auto 5px; }

.mark {
  background: linear-gradient(transparent 1.1em, #A8E5D1 0, #A8E5D1 calc(1.1em + 12px), transparent 0); }
  @media (max-width: 999px) {
    .mark {
      background: linear-gradient(transparent 1.1em, #A8E5D1 0, #A8E5D1 calc(1.1em + 7px), transparent 0); } }

/*DetailBtn*/
.DetailBtn {
  position: relative;
  display: block;
  border-radius: 10px;
  background: #007e66;
  padding: 27px 0;
  text-align: center;
  width: 342px;
  margin: 0 auto;
  color: #fff;
  font-size: 20px;
  line-height: 36px;
  border: #007e66 1px solid; }
  @media (max-width: 999px) {
    .DetailBtn {
      width: 80%;
      padding: 17px 0;
      font-size: 18px;
      line-height: 26px; } }

.DetailBtn:after {
  position: absolute;
  content: "\f105";
  font-family: FontAwesome;
  font-size: 15px;
  color: #fff;
  right: 5%; }

.DetailBtn:hover {
  background: #fff;
  color: #007e66;
  transition: 0.3s; }

.DetailBtn.animate {
  background: #fff;
  color: #007e66; }

.DetailBtn:hover:after {
  color: #007e66;
  transition: 0.3s; }

.DetailBtn.animate:after {
  color: #007e66; }

/*---------------------------------------------------
部署ボタン
-----------------------------------------------------*/
aside {
  background-image: url("../img/common/09_bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }

@media (max-width: 999px) {
  aside .ttlBox h3 {
    font-size: 24px !important; } }

.DepartmentBtn {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  overflow: hidden; }
  @media (max-width: 999px) {
    .DepartmentBtn {
      flex-direction: column; } }

.DepartmentBtn .hTxt {
  display: none;
  position: absolute;
  z-index: 4;
  left: 0;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateX(-50%);
  justify-content: space-between;
  align-items: center; }

.DepartmentBtn .hTxt.appear {
  display: flex;
  pointer-events: none;
  transition: 1s; }

.DepartmentBtn .hTxt .hTxtBox {
  margin-left: 70px; }

.DepartmentBtn .hTxt .rightArrow {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  border: 2px solid #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 70px; }

.DepartmentBtn .hTxt .rightArrow i {
  color: #ffffff;
  font-size: 24px; }

.DepartmentBtn .hTxt h3 {
  color: #007e66;
  font-size: 84px;
  line-height: 76px;
  font-family: 'Zen old mincho SB';
  -webkit-font-smoothing: antialiased;
  margin-bottom: 31px; }

.DepartmentBtn .hTxt p {
  color: #007e66;
  font-size: 39px;
  line-height: 45px;
  font-family: 'Zen old mincho';
  -webkit-font-smoothing: antialiased; }

.DepartmentBtn .Btn {
  width: 19.4%;
  display: block;
  position: relative;
  overflow: hidden; }
  @media (max-width: 999px) {
    .DepartmentBtn .Btn {
      width: 100%;
      margin-bottom: 10px; } }

@media (min-width: 1000px) {
  .DepartmentBtn .Btn:before {
    position: absolute;
    top: 0;
    content: '';
    background: rgba(0, 0, 0, 0.1);
    width: 100%;
    height: 100%; } }
@media (max-width: 999px) {
  .DepartmentBtn .Btn:before {
    position: absolute;
    content: '';
    width: 21px;
    height: 21px;
    border-radius: 50%;
    border: 1px solid #fff;
    color: #fff;
    right: 7%;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -moz-transform: translateX(-50%); } }

@media (max-width: 999px) {
  .DepartmentBtn .Btn:after {
    position: absolute;
    content: '\f054';
    font-family: FontAwesome;
    font-size: 10px;
    color: #fff;
    right: 9.5%;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -moz-transform: translateX(-50%); } }

.DepartmentBtn .Btn:hover {
  opacity: 1; }

.DepartmentBtn .Btn:hover img {
  opacity: 1; }

.DepartmentBtn .Btn .usual.unappear {
  position: absolute;
  animation: movingright 1s ease-in-out forwards; }

@keyframes movingright {
  0% {
    transform: translateX(0%); }
  100% {
    transform: translateX(100%); } }
.DepartmentBtn .Btn .usual.return {
  animation: returnleft 1s ease-in-out forwards; }

@keyframes returnleft {
  0% {
    transform: translateX(100%); }
  100% {
    transform: translateX(0%); } }
.DepartmentBtn .Btn .provisional,
.DepartmentBtn .Btn .repair,
.DepartmentBtn .Btn .sunlight,
.DepartmentBtn .Btn .insurance,
.DepartmentBtn .Btn .eating {
  transition: 1s; }

.DepartmentBtn .Btn img {
  height: 100%;
  display: block; }
  @media (max-width: 999px) {
    .DepartmentBtn .Btn img {
      height: auto; } }

.DepartmentBtn .Btn .provisional.animateShowLeft,
.DepartmentBtn .Btn .repair.animateShowLeft,
.DepartmentBtn .Btn .sunlight.animateShowLeft,
.DepartmentBtn .Btn .insurance.animateShowLeft,
.DepartmentBtn .Btn .eating.animateShowLeft {
  animation: movingleft 1s ease forwards; }

@keyframes movingleft {
  0% {
    transform: translateX(-100%); }
  100% {
    transform: translateX(0); } }
.DepartmentBtn .Btn .hImg {
  display: none;
  position: absolute;
  top: 0;
  right: 100%;
  transition: 1s; }

/*sp 事業所*/
.DepartmentBtn .Btn.GreenLayer {
  position: relative; }

.DepartmentBtn .Btn.GreenLayer img:after {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  transition: 0.3s;
  background: rgba(0, 126, 102, 0.2); }

.DepartmentBtn .Btn .txtBox {
  position: absolute;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center; }
  @media (max-width: 999px) {
    .DepartmentBtn .Btn .txtBox {
      left: 7%;
      top: 50%;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -moz-transform: translateX(-50%);
      align-items: flex-start; } }

.DepartmentBtn .Btn .txtBox.hide {
  display: none; }

.DepartmentBtn .Btn .txtBox h3 {
  color: #fff;
  font-size: 40px;
  line-height: 44px;
  font-family: 'Zen old mincho SB';
  -webkit-font-smoothing: antialiased;
  margin-bottom: 14px; }
  @media (max-width: 999px) {
    .DepartmentBtn .Btn .txtBox h3 {
      writing-mode: inherit;
      font-size: 20px;
      line-height: 17px;
      margin-bottom: 8px; } }

.DepartmentBtn .Btn .txtBox p {
  color: #fff;
  font-size: 22px;
  line-height: 24px;
  font-family: 'Zen old mincho';
  -webkit-font-smoothing: antialiased; }
  @media (max-width: 999px) {
    .DepartmentBtn .Btn .txtBox p {
      writing-mode: inherit;
      font-size: 12px;
      line-height: 17px; } }

/*---------------------------------------------------
修繕事業部隠しボタン
-----------------------------------------------------*/
.more-btn {
  position: relative;
  display: block;
  border-radius: 10px;
  background: #007e66;
  padding: 27px 0;
  text-align: center;
  width: 342px;
  margin: 0 auto;
  color: #fff;
  font-size: 20px;
  line-height: 36px;
  border: #007e66 1px solid;
  transition: 1s; }
  @media (max-width: 999px) {
    .more-btn {
      width: 100%;
      padding: 17px 0;
      font-size: 18px;
      line-height: 26px; } }

.more-btn:after {
  position: absolute;
  content: "\f105";
  font-family: FontAwesome;
  font-size: 15px;
  color: #fff;
  right: 5%;
  transition: 1s; }

.more-btn.on {
  background: #fff;
  color: #007e66;
  transition: 1s; }

.more-btn.on:after {
  color: #007e66;
  transition: 1s; }

/*
---------------------------------------
コンテンツ幅
---------------------------------------
*/
.inner_L {
  max-width: 1614px;
  width: 90%;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .inner_L {
      width: 90%;
      max-width: 375px; } }

.inner_M {
  max-width: 1420px;
  width: 90%;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .inner_M {
      width: 90%;
      max-width: 375px; } }

.inner_S {
  max-width: 1118px;
  width: 90%;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .inner_S {
      width: 90%;
      max-width: 375px; } }

/* 
---------------------------------------
デバイス切替
---------------------------------------
*/
.pcView {
  display: block; }
  @media (max-width: 999px) {
    .pcView {
      display: none; } }

.spView {
  display: none; }
  @media (max-width: 999px) {
    .spView {
      display: block; } }

/* 
---------------------------------------
メインビジュアル
---------------------------------------
*/
.home #kv {
  position: relative;
  width: 100%;
  height: 100vh; }
  @media (max-width: 999px) {
    .home #kv {
      height: calc(100vh - 90px); } }

.swiper-container,
.swiper-slide {
  height: 100vh; }
  @media (max-width: 999px) {
    .swiper-container,
    .swiper-slide {
      height: calc(100vh - 90px); } }

.home #kv .swiper-img {
  height: 100vh;
  overflow: hidden; }
  @media (max-width: 999px) {
    .home #kv .swiper-img {
      height: calc(100vh - 90px); } }

.home #kv .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover; }

@keyframes zoomUp {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.08); } }
.swiper-slide-active .swiper-img,
.swiper-slide-duplicate-active .swiper-img,
.swiper-slide-prev .swiper-img {
  animation: zoomUp 8s ease 0s normal both; }

.swiper-slide img {
  width: 100%;
  height: auto; }
  @media (max-width: 999px) {
    .swiper-slide img {
      width: auto; } }

.KvText {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  margin: 0 auto;
  text-align: center; }

.home #kv .ttl {
  font-family: 'Zen old mincho SB';
  /* -webkit-font-smoothing: antialiased; */
  font-size: 90px;
  /* line-height: 162px; */
  /* color: #202020; */
  /* text-align: left; */
  /* opacity: 1; */
  font-style: italic;
  color: #fff; }
  @media (max-width: 999px) {
    .home #kv .ttl {
      font-size: 30px;
      line-height: 56px; } }

.home #kv .ttl span {
  font-size: 60px;
  color: #fff; }
  @media (max-width: 999px) {
    .home #kv .ttl span {
      font-size: 24px; } }

.home #kv .fadein_text {
  font-size: 48px;
  line-height: 1;
  font-style: italic;
  color: #fff; }
  @media (max-width: 999px) {
    .home #kv .fadein_text {
      font-size: 18px;
      line-height: 1; } }

/*first view scroll*/
@media (max-width: 999px) {
  #head_firstview_scroll {
    font-family: 'Zen old mincho';
    -webkit-font-smoothing: antialiased;
    font-size: 8px;
    transform: translateX(-53%);
    color: #fff;
    position: absolute;
    bottom: -50px;
    z-index: 2;
    left: 48%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    padding: 40px 20px;
    overflow: hidden;
    writing-mode: vertical-rl;
    animation: pathmoveSp 1.5s ease-in-out infinite; } }

@media (max-width: 999px) {
  #head_firstview_scroll::before {
    content: "";
    position: absolute;
    z-index: 3;
    bottom: 15px;
    left: 71%;
    width: 1px;
    height: 70px;
    background: #fff; } }

@media (max-width: 999px) {
  #head_firstview_scroll::after {
    content: "";
    position: absolute;
    z-index: 3;
    bottom: 15px;
    left: 77%;
    width: 0.8px;
    background: #fff;
    transform: rotateZ(45deg);
    height: 7px; } }

@keyframes pathmoveSp {
  0% {
    bottom: -7%; }
  50% {
    bottom: -9%; }
  100% {
    bottom: -7%; } }
/* 
---------------------------------------
下層メインビジュアル
---------------------------------------
*/
/*画像無し*/
#subKv {
  position: relative;
  width: 100%;
  height: calc(100vh - 50.63%);
  background-position: top;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 15.1rem;
  padding-bottom: 17rem; }
  @media (max-width: 999px) {
    #subKv {
      height: auto;
      padding-top: 113px;
      padding-bottom: 60px;
      margin-top: 0rem; } }

.repair #subKv {
  background-image: url("../img/repair/mv.jpg"); }
  @media (max-width: 999px) {
    .repair #subKv {
      background-position: -400px 0px; } }

.company #subKv {
  background-image: url("../img/company/mv.jpg"); }

.csr #subKv {
  background-image: url("../img/csr/mv.jpg"); }

.insurance #subKv {
  background-image: url("../img/insurance/mv.jpg"); }

.eating #subKv {
  background-image: url("../img/eating/mv.webp"); }
  @media (max-width: 999px) {
    .eating #subKv {
      background-position: -510px 0px; } }

.sunlight #subKv {
  background-image: url("../img/sunlight/mv.jpg"); }

.provisional #subKv {
  background-image: url("../img/provisional/mv.jpg"); }

.signage #subKv {
  background-image: url("../img/signage/mv.jpg"); }

.waterproof #subKv {
  background-image: url("../img/waterproof/mv.jpg"); }

.apparel #subKv {
  background-image: url("../img/apparel/mv.jpg"); }

.news #subKv,
.privacy #subKv,
.contact #subKv,
.thanks #subKv {
  background: #007e66; }

#subKv .ttl {
  font-size: 48px;
  line-height: 75px;
  text-align: left;
  color: #fff;
  margin-bottom: 7px;
  font-family: 'Zen old mincho SB';
  -webkit-font-smoothing: antialiased; }
  @media (max-width: 999px) {
    #subKv .ttl {
      font-size: 30px;
      line-height: 45px;
      margin-bottom: 0; } }

#subKv .ttlDeco {
  font-size: 16px;
  line-height: 36px;
  text-align: left;
  color: #fff;
  font-family: 'Zen old mincho SB'; }
  @media (max-width: 999px) {
    #subKv .ttlDeco {
      font-size: 18px;
      line-height: 27px; } }

/* 
---------------------------------------
パンくずリスト
---------------------------------------
*/
.breadcrumbs {
  position: relative;
  z-index: 5;
  margin: 15px auto 0;
  color: #202020;
  font-size: 13px; }
  @media (max-width: 999px) {
    .breadcrumbs {
      margin: 13px auto 0; } }

.breadcrumbs span {
  font-size: 16px;
  font-family: 'Zen old mincho';
  -webkit-font-smoothing: antialiased;
  padding: 0 5px;
  color: #202020; }
  @media (max-width: 999px) {
    .breadcrumbs span {
      padding: 0; } }

/* 
---------------------------------------
ヘッダー
---------------------------------------
*/
@media (min-width: 1000px) {
  #header .container {
    max-width: 1600px;
    width: 96%;
    margin: 0 auto; } }

#header {
  transition: all 0.2s ease;
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 999;
  height: 100px;
  display: flex;
  align-items: center; }
  @media (max-width: 999px) {
    #header {
      height: 60px;
      padding: 11px 23px 11px 11px;
      align-items: center;
      justify-content: space-between; } }

#header .container {
  display: flex;
  align-items: center;
  justify-content: space-between; }

#header #headerLogo {
  width: 230px;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (max-width: 999px) {
    #header #headerLogo {
      width: 48%;
      position: relative;
      z-index: 998;
      margin-left: 2%;
      margin-top: 4%; } }

#header #headerLogo .h_Logo {
  display: flex;
  align-items: center; }

.Mega {
  display: flex;
  width: 100%; }

.Mega .pcView {
  width: 100%; }

.Mega .menu {
  display: flex;
  justify-content: space-between;
  width: 100%; }

.Mega .menu .init-bottom .navList_jp {
  list-style-type: none;
  text-align: left;
  font-size: 18px;
  font-family: 'Zen old mincho';
  line-height: 24px;
  white-space: nowrap; }

.Mega .menu .option .init-bottom .navList_jp:after {
  position: absolute;
  content: "\f105";
  font-family: FontAwesome;
  font-size: 15px;
  color: #fff;
  right: -18px;
  top: 0;
  transform: rotateZ(90deg); }

.Mega .menu .init-bottom {
  position: relative;
  z-index: 999;
  color: #fff;
  transition: 0.3s; }

.Mega .menu .init-bottom:hover {
  color: #007e66;
  text-decoration: underline;
  transition: 0.3s; }

.menu__mega:hover {
  cursor: pointer; }

.menu__mega:hover a {
  opacity: 1 !important; }

@media (min-width: 1000px) {
  .menu__mega:hover .navList_jp {
    opacity: 0.8; } }

.menu__mega.option {
  margin-right: 60px; }

.menu__mega {
  margin-right: 30px; }

.menu__mega:last-child {
  margin-right: 0; }

.menu__mega.option .init-bottom {
  display: block; }

.Mega .menu .option .init-bottom .navList_en::after {
  content: "\f107";
  font-family: FontAwesome;
  font-size: 20.5px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  color: #ED3A35; }
  @media screen and (max-width: 1169px) and (min-width: 1000px) {
    .Mega .menu .option .init-bottom .navList_en::after {
      font-size: 14.5px;
      left: 79%;
      right: initial; } }

@media (max-width: 999px) {
  .link_wrap.rightBox {
    display: none !important; } }

/*詳細メニュー*/
.menu__second-level {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  position: absolute;
  top: 8.2rem;
  right: 5%;
  width: 74%;
  box-sizing: border-box;
  max-width: 1200px;
  background: #fff;
  display: flex;
  padding: 2.5%;
  justify-content: space-between;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  transition: all .3s ease-out; }
  .menu__second-level a {
    color: #fff; }

.Mega li.menu__mega:hover ul.menu__second-level {
  visibility: visible;
  opacity: 1;
  background: #fff;
  display: flex;
  justify-content: space-between;
  top: 8.2rem;
  box-shadow: 0px 1px 17px 6px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  width: 90%;
  max-width: 1200px;
  background: #fff;
  padding: 48px 40px;
  transition: all .3s ease-out;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out; }

.Mega li.menu__mega .menu__second-level .LeftBox {
  width: 28%; }

.Mega li.menu__mega .menu__second-level .LeftBox .MegaTtl_en {
  font-size: 42px;
  line-height: 1.7; }

.Mega li.menu__mega .menu__second-level .LeftBox .MegaTtl_jp {
  font-size: 12px;
  color: #007e66; }

.Mega li.menu__mega .menu__second-level .RightBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 72%; }

.Mega li.menu__mega .menu__second-level .RightBox:after {
  content: '';
  width: 22%;
  height: 0;
  display: block; }

.Mega li.menu__mega .menu__second-level .RightBox a {
  width: 22%;
  display: block;
  margin-bottom: 28px; }

.Mega li.menu__mega .menu__second-level .RightBox a:last-child,
.Mega li.menu__mega .menu__second-level .RightBox a:nth-child(4) {
  margin-bottom: 0; }

.Mega li.menu__mega .menu__second-level .RightBox a .MegaPic img {
  display: block; }

.Mega li.menu__mega .menu__second-level .RightBox .ttl p {
  color: #202020;
  line-height: 14px;
  font-size: 16px;
  position: relative;
  margin-top: 12px; }

/*
.Mega li.menu__mega .menu__second-level .RightBox .ttl p:after{
    position: absolute;
    content: "\f105";
    font-family: FontAwesome;
    font-size: 15px;
    color: #202020;
    right: 0;
}*/
/* 
---------------------------------------
ハンバーガーメニュー
---------------------------------------
*/
nav.spNav {
  position: fixed;
  z-index: -1000;
  top: 0;
  left: 0;
  width: 100%;
  animation: zoomOut 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  animation-fill-mode: forwards;
  pointer-events: none;
  backdrop-filter: blur(12px); }
  @media (min-width: 1000px) {
    nav.spNav {
      display: none; } }

@keyframes zoomOut {
  0% {
    opacity: 1;
    transform: scale(1); }
  100% {
    opacity: 0;
    transform: scale(1.05); } }
nav.spNav .bg {
  position: absolute !important;
  bottom: -8px;
  z-index: 10000; }

nav.spNav .acdn {
  opacity: 0;
  background: rgba(255, 255, 255, 0.7);
  margin: 0 auto;
  padding: 60px 5%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

nav.spNav.open .acdn {
  opacity: 1;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px); }

body {
  position: relative; }

body:after {
  display: none;
  position: fixed;
  content: '';
  top: 0;
  -webkit-top: 0;
  bottom: 0;
  -webkit-bottom: 0;
  right: 0;
  left: 0;
  z-index: 998;
  background-color: rgba(0, 0, 0, 0.2);
  transition: 0.3s;
  width: 100%;
  height: 100vh;
  -webkit-height: 100vh;
  transition: 0.5s all; }

body.active:after {
  display: block;
  transition: 0.5s all; }

nav.spNav .acdn li.box {
  padding: 12.5px 0;
  border-bottom: 1px solid rgba(112, 112, 112, 0.3); }

nav.spNav .acdn li.box:first-child {
  padding: 0;
  border-bottom: 0px solid rgba(112, 112, 112, 0.3); }

nav.spNav .acdn li.box .data {
  padding: 12.5px 0;
  border-bottom: 1px solid rgba(112, 112, 112, 0.3); }

nav.spNav .acdn li.box a p {
  text-align: left; }

nav.spNav .acdn li.box .data a {
  text-align: left;
  padding-left: 7.5%; }

nav.spNav.open .acdn .acdn-q {
  padding: 12.5px 0;
  border-bottom: 1px solid rgba(112, 112, 112, 0.3); }

nav.spNav .acdn li.box a {
  color: #202020;
  text-align: left;
  -webkit-text-align: center;
  display: block; }

nav.spNav .acdn li.box .navList_jp {
  font-size: 18px;
  line-height: 26px;
  font-family: 'Zen old mincho SB';
  -webkit-font-smoothing: antialiased; }

/* このクラスを、jQueryで付与・削除する */
nav.spNav.open {
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 997;
  animation: zoomIn 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  pointer-events: painted; }

@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale(1.05); }
  100% {
    opacity: 1;
    transform: scale(1); } }
.navToggle {
  position: relative;
  z-index: 9999;
  cursor: pointer;
  width: 30px;
  height: 14px; }
  @media (min-width: 1000px) {
    .navToggle {
      display: none; } }

.navToggle span {
  display: block;
  position: absolute;
  /* .navToggleに対して */
  width: 32px;
  border-bottom: solid 1px #fff;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  -ms-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
  left: 6.3%; }

.navToggle span:nth-child(1) {
  top: -4px; }

.navToggle span:nth-child(2) {
  top: 5px; }

.navToggle span:nth-child(3) {
  top: 14px; }

/* 最初のspanをマイナス45度に */
.navToggle.open span:nth-child(1) {
  top: 5px;
  left: 5px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

/* 2番目spanを45度に */
.navToggle.open span:nth-child(3) {
  top: 5px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.navToggle.open span:nth-child(2) {
  display: none; }

    /* 
---------------------------------------
フッター
---------------------------------------
*/
#footer {
  position: relative;
  background: #007e66;
  padding-top: 135px;
  padding-bottom: 25px; }
  @media (max-width: 999px) {
    #footer {
      padding-top: 80px; } }

@media (max-width: 999px) {
  #footer .footerLogo {
    width: 92%; } }

#footer .boxs {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 23.5px;
  max-width: 1400px;
  width: 92%; }
  @media (max-width: 999px) {
    #footer .boxs {
      flex-direction: column;
      margin-bottom: 27.5px; } }

@media (max-width: 999px) {
  #footer .boxs .leftBox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px; } }

#footer .leftBox {
  width: 20%; }
  @media (max-width: 999px) {
    #footer .leftBox {
      margin-bottom: 40px;
      width: 100%; } }

#footer .leftBox .DetailBtn {
  background: #fff;
  color: #007e66;
  margin-top: 40px;
  padding: 20px 0;
  width: 100%; }
  @media (max-width: 999px) {
    #footer .leftBox .DetailBtn {
      width: 80%;
      margin-top: 24px; } }

#footer .leftBox .DetailBtn:after {
  color: #007e66; }

#footer .leftBox .DetailBtn:hover {
  background: #007e66;
  border: #fff 1px solid;
  color: #fff;
  transition: 0.3s; }

#footer .leftBox .DetailBtn.animate {
  background: #007e66;
  border: #fff 1px solid;
  color: #fff;
  transition: 0.3s; }

#footer .leftBox .DetailBtn:hover:after {
  color: #fff;
  transition: 0.3s; }

#footer .leftBox .DetailBtn.animate:after {
  color: #fff;
  transition: 0.3s; }

#footerNav {
  width: 80%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start; }
  @media (max-width: 999px) {
    #footerNav {
      width: 100%;
      flex-direction: column; } }

#footerNav .fmenu01,
#footerNav .fmenu02,
#footerNav .fmenu03 {
  margin-right: 60px; }
  @media (max-width: 999px) {
    #footerNav .fmenu01,
    #footerNav .fmenu02,
    #footerNav .fmenu03 {
      margin-right: 0;
      width: 100%; } }

#footerNav .fmenu01 {
  display: flex;
  flex-wrap: wrap;
  width: 40%;
  max-width: 320px;
  margin-right: 0; }
  @media (max-width: 999px) {
    #footerNav .fmenu01 {
      margin-bottom: 30px;
      width: 100%;
      max-width: 100%; } }

#footerNav .fmenu01 li {
  width: 48%; }

#footerNav .fmenu01 li:first-child {
  width: 100%; }

@media (max-width: 999px) {
  #footerNav .fmenu02 {
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap; } }

@media (max-width: 999px) {
  #footerNav .fmenu02 li {
    width: 48%; } }

@media (max-width: 999px) {
  #footerNav .fmenu02 > a:first-child {
    width: 100%; } }

#footerNav .fmenu01 li a,
#footerNav .fmenu02 li a {
  display: block;
  font-size: 16px;
  line-height: 36px;
  color: #fff;
  margin-bottom: 22px;
  font-family: 'Zen old mincho SB';
  -webkit-font-smoothing: antialiased; }
  @media (max-width: 999px) {
    #footerNav .fmenu01 li a,
    #footerNav .fmenu02 li a {
      font-size: 16px;
      line-height: 1.5;
      margin-bottom: 16px; } }

@media (min-width: 1000px) {
  #footerNav .fmenu01 li a:hover,
  #footerNav .fmenu02 li a:hover,
  #footerNav .fmenu03 li a:hover {
    opacity: 0.7; } }

#footerNav .fmenu01 li :last-child a,
#footerNav .fmenu02 li:last-child a {
  margin-bottom: 0; }

#footerNav .fmenu03 li a {
  font-size: 18px;
  line-height: 16px;
  margin-bottom: 46px;
  display: block;
  color: #fff;
  font-family: 'Zen old mincho SB';
  -webkit-font-smoothing: antialiased; }
  @media (max-width: 999px) {
    #footerNav .fmenu03 li a {
      font-size: 18px;
      line-height: 36px;
      margin-bottom: 26px;
      text-align: center; } }

@media (max-width: 999px) {
  #footerNav li {
    padding-left: 4%; } }

#footerNav .fmenu03 li:last-child a {
  margin-bottom: 0; }

@media (max-width: 999px) {
  #footerNav .fmenu03 {
    display: flex;
    justify-content: space-around; } }

@media (max-width: 999px) {
  #footerNav .fmenu03 li {
    padding-left: 0; } }

#footerNav .lead {
  font-size: 22px;
  line-height: 22px;
  margin-bottom: 30px;
  color: #fff;
  font-family: 'Zen old mincho SB';
  -webkit-font-smoothing: antialiased;
  padding-left: 0; }
  @media (max-width: 999px) {
    #footerNav .lead {
      text-align: left;
      margin-bottom: 24px;
      margin-left: 4%; } }

#footerNav a:hover {
  opacity: .5;
  transition: all 0.6s; }

#footer .LogoLink {
  display: flex;
  justify-content: flex-end;
  align-items: center; }
  @media (max-width: 999px) {
    #footer .LogoLink {
      justify-content: center; } }

#footer .LogoLink a {
  display: block;
  margin-left: 20px; }

@media (max-width: 999px) {
  #footer .LogoLink a:nth-child(1) {
    margin-left: 0; } }

#footer .LogoLink a:nth-child(1) img {
  width: 148px;
  height: auto; }
  @media (max-width: 999px) {
    #footer .LogoLink a:nth-child(1) img {
      width: 136px; } }

#footer .LogoLink a:nth-child(2) img {
  width: 106px;
  height: auto; }

#footer .LogoLink a:nth-child(3) img {
  width: 106px;
  height: auto; }

#footer .footer2 {
  display: flex;
  justify-content: space-between;
  padding: 63px 5% 0 0; }
  @media (max-width: 999px) {
    #footer .footer2 {
      padding: 50px 0 0;
      align-items: center;
      flex-direction: column; } }

#footer .footer2 a {
  color: #fff;
  font-family: 'Zen old mincho SB';
  -webkit-font-smoothing: antialiased;
  font-size: 14px;
  line-height: 36px; }
  @media (max-width: 999px) {
    #footer .footer2 a {
      font-size: 12px;
      line-height: 36px; } }

#footer .footer2 p {
  color: #fff;
  font-family: 'Zen old mincho SB';
  -webkit-font-smoothing: antialiased;
  font-size: 14px;
  line-height: 36px; }
  @media (max-width: 999px) {
    #footer .footer2 p {
      font-size: 12px;
      line-height: 24px; } }

@media (min-width: 1000px) {
  #footer .footer2 a:hover {
    opacity: 0.7;
    transition: 0.2s; } }

#footer .footer2 a:active {
  opacity: 0.7;
  transition: 0.2s; }

/*クッキー取得ポップアップ*/
.cookie-consent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 92%;
  padding: 0 5%;
  font-size: 14px;
  line-height: 14px;
  color: #202020;
  background: #fff;
  padding: 0.5em 2%;
  font-family: 'Zen old mincho';
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
  z-index: 100;
  visibility: hidden;
  max-width: 1400px;
  left: 0;
  right: 0;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .cookie-consent {
      font-size: 12px;
      line-height: 17px;
      padding: 1.5em 1.2em 1.2em; } }

.cookie-consent.is-show {
  visibility: visible; }

.cookie-consent a {
  color: #666 !important;
  font-family: 'Zen old mincho';
  -webkit-font-smoothing: antialiased; }

.cookie-agree {
  font-size: 15px;
  line-height: 15px;
  color: #fff;
  padding: .5em 1.5em;
  border: solid 1px #fff;
  background: #007e66;
  margin-left: 4%; }
  @media (max-width: 999px) {
    .cookie-agree {
      font-size: 14px;
      line-height: 16px; } }

.cookie-agree:hover {
  cursor: pointer; }

/* パッと消える */
.cc-hide1 {
  display: none; }

/* ゆっくり消える */
.cc-hide2 {
  animation: hide 1s linear 0s;
  animation-fill-mode: forwards; }

@keyframes hide {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    visibility: hidden; } }
/* メディアクエリ */
@media screen and (max-width: 600px) {
  .cookie-consent {
    flex-direction: column; }

  .cookie-text {
    margin-bottom: 1em; } }
  @media screen and (max-width: 600px) and (max-width: 999px) {
    .cookie-text {
      margin-bottom: 0.8em; } }
