@charset "UTF-8";
/*===================================
共通
===================================*/
body {
  margin: 0;
  color: #0B0B0B;
  font-size: 1.6em; }
  @media (max-width: 767px) {
    body {
      font-size: 1.4em; } }

.min_ft {
  font-family: "Noto Serif JP", serif; }

._fw01 {
  font-weight: bold; }

._fw02 {
  font-weight: normal; }

@media (min-width: 1081px) {
  ._tx1 {
    font-size: 20px; } }
@media (min-width: 768px) and (max-width: 1081px) {
  ._tx1 {
    font-size: 18px; } }
@media (max-width: 767px) {
  ._tx1 {
    font-size: 16px; } }

@media (min-width: 1081px) {
  ._tx2 {
    font-size: 40px; } }
@media (min-width: 768px) and (max-width: 1081px) {
  ._tx2 {
    font-size: 30px; } }
@media (max-width: 767px) {
  ._tx2 {
    font-size: 20px; } }

._tx3 {
  font-size: 24px; }
  @media (max-width: 767px) {
    ._tx3 {
      font-size: 12px; } }

._tx4 {
  font-size: 32px; }
  @media (max-width: 767px) {
    ._tx4 {
      font-size: 14px; } }

._tx5 {
  font-size: calc(28px + (40 - 28)*(100vw - 1080px)/(1940 - 1080)); }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._tx5 {
      font-size: 30px; } }

@media (min-width: 1081px) {
  ._tx6 {
    font-size: 20px; } }
@media (min-width: 768px) and (max-width: 1081px) {
  ._tx6 {
    font-size: 18px; } }
@media (max-width: 767px) {
  ._tx6 {
    font-size: 14px; } }

._pd01 {
  padding: 0 20px; }

._pdt01 {
  padding-top: 60px; }

._pdl02 {
  padding-left: 20px; }
  @media (min-width: 1081px) {
    ._pdl02 {
      padding-left: calc(20px + (96 - 20)*(100vw - 1080px)/(1940 - 1080)); } }

._mga01 {
  margin: 100px auto 0; }
  @media (max-width: 767px) {
    ._mga01 {
      margin: 40px auto 0; } }

._mga02 {
  margin: calc(70px + (137 - 70)*(100vw - 1080px)/(1940 - 1080)) auto; }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._mga02 {
      margin: 50px 0; } }

._mga03 {
  margin: calc(70px + (110 - 70)*(100vw - 1080px)/(1940 - 1080)) auto; }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._mga03 {
      margin: 50px 0; } }
  @media (max-width: 767px) {
    ._mga03 {
      margin: 24px auto; } }

._mga04 {
  margin: 165px auto 0; }
  @media (max-width: 767px) {
    ._mga04 {
      margin: 40px auto 0; } }

._mga05 {
  margin: 80px auto 0; }
  @media (max-width: 767px) {
    ._mga05 {
      margin: 24px auto 0; } }

._mga06 {
  margin: 64px auto 0; }

._mga07 {
  margin: 40px auto 0; }
  @media (max-width: 767px) {
    ._mga07 {
      margin: 24px auto 0; } }

._mga08 {
  margin: 137px auto 0; }
  @media (max-width: 767px) {
    ._mga08 {
      margin: 40px auto 0; } }

._mgt01 {
  margin-top: 100px; }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._mgt01 {
      margin-top: 50px; } }
  @media (max-width: 767px) {
    ._mgt01 {
      margin-top: 43px; } }

._mgt02 {
  margin-top: 48px; }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._mgt02 {
      margin-top: 30px; } }
  @media (max-width: 767px) {
    ._mgt02 {
      margin-top: 24px; } }

._mgt03 {
  margin-top: 36px; }
  @media (max-width: 767px) {
    ._mgt03 {
      margin-top: 24px; } }

._mgt04 {
  margin-top: 10px; }
  @media (max-width: 767px) {
    ._mgt04 {
      margin-top: 24px; } }

._mgt05 {
  margin-top: 24px; }
  @media (max-width: 767px) {
    ._mgt05 {
      margin-top: 11px; } }

._mgt06 {
  margin-top: 64px; }

@media (min-width: 1081px) {
  ._mgt07 {
    margin-top: 32px; } }
@media (min-width: 768px) and (max-width: 1081px) {
  ._mgt07 {
    margin-top: 25px; } }
@media (max-width: 767px) {
  ._mgt07 {
    margin-top: 18px; } }

._mgt08 {
  margin-top: 40px; }
  @media (max-width: 767px) {
    ._mgt08 {
      margin-top: 24px; } }

._mgt09 {
  margin-top: calc(35px + (64 - 35)*(100vw - 1080px)/(1940 - 1080)); }
  @media (max-width: 767px) {
    ._mgt09 {
      margin-top: 24px; } }

@media (min-width: 1081px) {
  ._mgt10 {
    margin-top: calc(35px + (64 - 35)*(100vw - 1080px)/(1940 - 1080)); } }

._mgt11 {
  margin-top: 10px; }
  @media (max-width: 767px) {
    ._mgt11 {
      margin-top: 5px; } }

._mgb01 {
  margin-bottom: 40px; }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._mgb01 {
      margin-bottom: 18px; } }
  @media (max-width: 767px) {
    ._mgb01 {
      margin-bottom: 24px; } }

._mgb02 {
  margin-bottom: 24px; }
  @media (min-width: 1081px) {
    ._mgb02 {
      margin-bottom: 0; } }

._mgr01 {
  margin-right: 30px; }
  @media (max-width: 767px) {
    ._mgr01 {
      margin-right: 10px; } }

._mgr02 {
  margin-right: 40px; }
  @media (max-width: 767px) {
    ._mgr02 {
      margin-right: 0; } }

._mgr03 {
  margin-right: 30px; }
  @media (max-width: 767px) {
    ._mgr03 {
      margin-right: 36xpx; } }

._mgl01 {
  margin-left: 55px; }
  @media (max-width: 767px) {
    ._mgl01 {
      margin-left: 15px; } }

._mgl02 {
  margin-left: 20px; }

._mgl03 {
  margin-left: 60px; }
  @media (max-width: 767px) {
    ._mgl03 {
      margin-left: 25px; } }

._mgl04 {
  margin-left: 38px; }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._mgl04 {
      margin-left: 30px; } }
  @media (max-width: 767px) {
    ._mgl04 {
      margin-left: 20px; } }

._mgl05 {
  margin-left: auto; }

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

._lh01 {
  line-height: 2; }

._lh02 {
  line-height: 1; }

._clwhite {
  color: #fff; }

._clblack {
  color: #0B0B0B; }

._txtc {
  text-align: center; }

._pc {
  display: none; }
  @media (min-width: 1081px) {
    ._pc {
      display: block; } }

._sp {
  display: flex !important; }
  @media (min-width: 1081px) {
    ._sp {
      display: none !important; } }

._dblock {
  display: block; }

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

.right {
  right: 0; }

.left {
  left: 0; }

/*===================================
ヘッダー
===================================*/
#block_navi {
  position: fixed;
  top: 0;
  padding: 20px 0;
  width: 100%;
  z-index: 999;
  color: #FCFCFC;
  transition: 0.4s ease-out; }
  @media (max-width: 767px) {
    #block_navi {
      padding: 20px; } }

.logo {
  display: inline-block;
  width: calc(300px + (434 - 300)*(100vw - 1080px)/(1940 - 1080));
  height: calc(35px + (60 - 35)*(100vw - 1080px)/(1940 - 1080));
  background-image: url("../img/logo.svg");
  background-repeat: no-repeat;
  background-size: contain; }
  @media (max-width: 767px) {
    .logo {
      width: 296px;
      height: 32px; } }

.haeder {
  width: 95%;
  margin: 0 auto; }
  @media (max-width: 767px) {
    .haeder {
      width: 100%; } }

._hlist {
  display: none; }
  @media (min-width: 1081px) {
    ._hlist {
      display: flex; } }
  ._hlist ul {
    font-size: calc(15px + (20 - 15)*(100vw - 1080px)/(1940 - 1080));
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    ._hlist ul li {
      padding: 0 calc(13px + (20 - 13)*(100vw - 1080px)/(1940 - 1080));
      border-right: solid 2px #fff;
      height: 20px;
      line-height: 20px; }
      ._hlist ul li a {
        position: relative; }
        ._hlist ul li a::after {
          position: absolute;
          left: 0;
          content: '';
          width: 100%;
          height: 2px;
          background: #fff;
          bottom: -5px;
          transform: scale(0, 1);
          transform-origin: right top;
          /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
          transition: transform 0.3s;
          /*変形の時間*/ }
        ._hlist ul li a:hover::after {
          transform: scale(1, 1);
          /*ホバー後、x軸方向に1（相対値）伸長*/
          transform-origin: left top;
          /*左から右に向かう*/ }
    ._hlist ul li:last-child {
      border: none; }

._headsp {
  display: block; }
  @media (min-width: 1081px) {
    ._headsp {
      display: none; } }

.change-color {
  background-color: rgba(252, 252, 252, 0.8);
  color: #000 !important; }

.change-color .logo {
  background-image: url("../img/logo_black.svg"); }

.eneos_logo {
  padding-left: 20px; }
  @media (max-width: 767px) {
    .eneos_logo {
      height: 30px; } }

/*===================================
ハンバーガーメニュー
===================================*/
#g-nav {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 999;
  /*ナビのスタート位置と形状*/
  top: 0;
  right: -120%;
  width: 100%;
  height: 100vh;
  /*ナビの高さ*/
  background: #0B0B0B;
  opacity: 0.97;
  /*動き*/
  transition: all 0.6s; }

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
  right: 0; }

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

/*ナビゲーション*/
#g-nav .g-nav {
  position: absolute;
  z-index: 999;
  padding: 50px 20px;
  width: 100%; }

/*リストのレイアウト設定*/
#g-nav li {
  list-style: none; }

#g-nav li a {
  position: relative;
  width: fit-content;
  color: #fff;
  margin: 0 auto 30px;
  padding: 10px 0;
  display: block;
  font-size: 20px; }

/*========= ボタンのためのCSS ===============*/
.openbtn1 {
  position: fixed;
  z-index: 9999;
  /*ボタンを最前面に*/
  top: 20px;
  right: 20px;
  cursor: pointer;
  width: 30px;
  height: 50px; }

/*×に変化*/
.openbtn1 span {
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 0;
  height: 1px;
  width: 30px;
  background-color: #fff; }

.openbtn1 span:nth-of-type(1) {
  top: 10px; }

.openbtn1 span:nth-of-type(2) {
  top: 15px; }

.openbtn1 span:nth-of-type(3) {
  top: 20px; }

.openbtn1.active span:nth-of-type(1) {
  top: 18px;
  left: 0;
  transform: translateY(6px) rotate(-45deg); }

.openbtn1.active span:nth-of-type(2) {
  opacity: 0; }

.openbtn1.active span:nth-of-type(3) {
  top: 30px;
  left: 0;
  transform: translateY(-6px) rotate(45deg); }

._flex {
  display: flex;
  justify-content: center;
  align-items: center; }

._logosp {
  width: 296px;
  padding: 30px 20px; }

.change-color .openbtn1 span {
  background-color: #000; }

.active span {
  background-color: #fff !important; }

/* ==========================
  フローティングバナー（追従バナー）
========================== */
.floating {
  display: inline-block;
  background-image: url("../img/_floating.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 243px;
  height: 160px; }
  @media (max-width: 767px) {
    .floating {
      width: 160px;
      height: 100px; } }
  .floating:hover {
    background-image: url("../img/_floatinghover.svg"); }

.bl_floatingBanner {
  position: fixed;
  bottom: 60px;
  right: 40px;
  max-width: 100%;
  z-index: 10; }
  @media (max-width: 767px) {
    .bl_floatingBanner {
      bottom: 30px;
      right: 20px; } }

.bl_floatingBanner_img {
  display: block;
  transition: 0.3s; }

.bl_floatingBanner_close {
  width: 15px;
  height: 15px;
  position: absolute;
  right: 0;
  top: 0px;
  cursor: pointer; }

.bl_floatingBanner_close span:nth-of-type(1) {
  position: absolute;
  top: 7px;
  right: 0;
  width: 15px;
  height: 2px;
  background-color: #559A6E;
  transform: rotate(45deg); }

.bl_floatingBanner_close span:nth-of-type(2) {
  position: absolute;
  top: 0;
  right: 7px;
  width: 2px;
  height: 15px;
  background-color: #559A6E;
  transform: rotate(45deg); }

/*　左の動き　*/
.bl_floatingBanner {
  animation: LeftAnime 0.5s forwards; }

@keyframes LeftAnime {
  from {
    opacity: 0;
    transform: translateX(300px); }
  to {
    opacity: 1;
    transform: translateX(0); } }
.bl_floatingBanner.js-close {
  animation: RightAnime 0.5s forwards; }

@keyframes RightAnime {
  from {
    opacity: 1;
    transform: translateX(0); }
  to {
    opacity: 1;
    transform: translateX(300px); } }
/*===================================
タブ
===================================*/
#tab_menu {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0;
  margin: 0 0 32px; }

#tab_menu li {
  padding: 4px 34px 4px 16px;
  margin: 0 1px 0 0;
  text-align: center;
  list-style: none;
  cursor: pointer;
  border-radius: 4px;
  transition: 0.5s;
  line-height: 1;
  margin-right: 17px; }
  #tab_menu li:hover {
    color: #FCFCFC; }
  @media (max-width: 767px) {
    #tab_menu li {
      padding: 4px 8px;
      margin-right: 8px;
      font-size: 13px; } }

#tab_menu li:last-child {
  margin-right: 0; }

#tab1 {
  border: solid 1px #BF9D58;
  color: #BF9D58; }
  #tab1:hover {
    background: #BF9D58; }

.tab1::before {
  border-top: solid 1px #BF9D58;
  border-right: solid 1px #BF9D58; }

#tab2 {
  border: solid 1px #346F6D;
  color: #346F6D; }
  #tab2:hover {
    background: #346F6D; }

.tab2::before {
  border-top: solid 1px #346F6D;
  border-right: solid 1px #346F6D; }

#tab3 {
  border: solid 1px #9B2739;
  color: #9B2739; }
  #tab3:hover {
    background: #9B2739; }

.tab3::before {
  border-top: solid 1px #9B2739;
  border-right: solid 1px #9B2739; }

#tab4 {
  border: solid 1px #62427C;
  color: #62427C; }
  #tab4:hover {
    background: #62427C; }

.tab4::before {
  border-top: solid 1px #62427C;
  border-right: solid 1px #62427C; }

#tab_menu .selected:first-child {
  background: #BF9D58; }

#tab_menu .selected:nth-child(2) {
  background: #346F6D; }

#tab_menu .selected:nth-child(3) {
  background: #9B2739; }

#tab_menu .selected:last-child {
  background: #62427C; }

#tab_menu .selected {
  color: #fff; }
  #tab_menu .selected::before {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff; }

/*===================================
フロントページ
===================================*/
.sp-change {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  display: contents; }

.cb01 {
  display: flex;
  justify-content: center; }
  @media (max-width: 767px) {
    .cb01 {
      display: block; } }
  .cb01 h3 {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: 5px;
    position: relative; }
    @media (max-width: 767px) {
      .cb01 h3 {
        -ms-writing-mode: unset;
        writing-mode: unset;
        text-align: center;
        margin-bottom: 33px; } }
    .cb01 h3::after {
      content: '';
      right: -32px;
      width: 3px;
      height: 121px;
      display: inline-block;
      background-color: #559A6E;
      position: absolute;
      top: 32px; }
      @media (min-width: 768px) and (max-width: 1081px) {
        .cb01 h3::after {
          right: -25px; } }
      @media (max-width: 767px) {
        .cb01 h3::after {
          width: 58px;
          height: 1px;
          right: 37%;
          transform: translateX(-35%);
          top: 35px; } }
  .cb01 .tab_panel li {
    list-style: none; }
  .cb01 .tab_panel .news_flex_wrap {
    display: flex;
    align-items: center;
    margin-bottom: 13px; }
    @media (max-width: 767px) {
      .cb01 .tab_panel .news_flex_wrap {
        flex-wrap: wrap; } }
  .cb01 .tab_panel .time_wrap {
    margin-right: 17px; }
  .cb01 .tab_panel .category-name {
    padding: 4px 16px;
    border-radius: 4px;
    margin-right: 16px; }
    @media (max-width: 767px) {
      .cb01 .tab_panel .category-name {
        padding: 4px 8px;
        font-size: 10px; } }
  @media (max-width: 767px) {
    .cb01 .tab_panel ._ttl {
      width: 100%; } }
  @media (max-width: 767px) {
    .cb01 .tab_panel ._ttl p {
      padding: 8px 0;
      border-bottom: 3px dotted #A5A5A5; } }
  .cb01 .tab_panel .news {
    background-color: #BF9D58; }
  .cb01 .tab_panel .yamasasa {
    background-color: #346F6D; }
  .cb01 .tab_panel .sasakawa {
    background-color: #9B2739; }

.cb02 {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  max-width: calc(1060px + (1400 - 1060)*(100vw - 1080px)/(1940 - 1080)); }
  @media (min-width: 1081px) {
    .cb02 {
      flex-wrap: nowrap; } }
  @media (min-width: 768px) and (max-width: 1081px) {
    .cb02 {
      justify-content: center; } }
  .cb02::before {
    background-color: rgba(85, 154, 110, 0.5);
    content: "";
    position: absolute;
    top: 250px;
    left: -25%;
    bottom: -50px;
    right: 550px;
    z-index: -1; }
    @media (min-width: 768px) and (max-width: 1081px) {
      .cb02::before {
        top: 230px;
        bottom: 330px;
        right: 0; } }
    @media (max-width: 767px) {
      .cb02::before {
        top: 115px;
        bottom: calc(310px + (220 - 310)*(100vw - 375px)/(767 - 375));
        right: 0; } }
  .cb02 ._hd03 {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: calc(5px + (11.5 - 5)*(100vw - 1080px)/(1940 - 1080)); }
    @media (max-width: 767px) {
      .cb02 ._hd03 {
        letter-spacing: 13px; } }
    @media (max-width: 767px) {
      .cb02 ._hd03 ._span {
        display: block;
        margin-top: 60px; } }
  @media (min-width: 1081px) {
    .cb02 ._img01 {
      width: 50%; } }
  @media (min-width: 768px) and (max-width: 1081px) {
    .cb02 ._img01 {
      width: 65%; } }
  @media (max-width: 767px) {
    .cb02 ._img01 {
      width: 74%;
      max-width: 350px; } }

.cb04 {
  width: 100%;
  max-width: 1345px; }

.cb05 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
  background-image: url("../img/top/_bkg01.jpg");
  background-repeat: no-repeat;
  padding: calc(100px + (196 - 100)*(100vw - 1080px)/(1940 - 1080)) 20px; }
  @media (min-width: 1081px) {
    .cb05 {
      flex-wrap: nowrap; } }
  @media (max-width: 767px) {
    .cb05 {
      padding: 40px 20px;
      background-size: cover; } }
  .cb05 ._sintro {
    display: flex;
    flex-direction: unset;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%; }
    @media (min-width: 1081px) {
      .cb05 ._sintro {
        flex-direction: column;
        justify-content: unset;
        width: 36%;
        max-width: 210px; } }
    .cb05 ._sintro h3 {
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      letter-spacing: 5px;
      position: relative; }
      .cb05 ._sintro h3::after {
        content: '';
        right: -8px;
        width: 2px;
        height: 48px;
        display: inline-block;
        background-color: #FCFCFC;
        position: absolute;
        top: 50%;
        transform: translateY(-50%); }
        @media (min-width: 1081px) {
          .cb05 ._sintro h3::after {
            right: -32px;
            height: 108px; } }
        @media (max-width: 767px) {
          .cb05 ._sintro h3::after {
            width: 1px; } }
  .cb05 ._slink {
    padding: 15px 26px 15px 45px;
    background-color: #FCFCFC;
    border-radius: 4px;
    color: #0B0B0B;
    transition: 0.4s ease-out;
    box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.16); }
    @media (min-width: 1081px) {
      .cb05 ._slink {
        display: flex;
        align-items: center;
        justify-content: center; } }
    @media (max-width: 767px) {
      .cb05 ._slink {
        padding: 18px 28px; } }
    .cb05 ._slink::after {
      background-image: url(../img/top/arrow02.svg); }
    .cb05 ._slink:hover {
      background-color: #284B35;
      color: #FCFCFC; }
      .cb05 ._slink:hover::after {
        background-image: url(../img/top/arrow01.svg); }
  .cb05 ._link {
    position: relative;
    width: 32.333%;
    color: #0B0B0B;
    transition: 0.8s ease-out; }
    @media (min-width: 1081px) {
      .cb05 ._link {
        width: 400px; } }
    @media (max-width: 767px) {
      .cb05 ._link {
        width: 31.333%; } }
    .cb05 ._link:hover {
      color: #fff; }
      .cb05 ._link:hover ._saiyoutxt {
        background-color: rgba(40, 75, 53, 0.8); }
      .cb05 ._link:hover ._arrow02::after {
        background-image: url(../img/top/arrow01.svg); }
    .cb05 ._link ._saiyoutxt {
      display: flex;
      /* テキストの中央揃え */
      align-items: center;
      /* テキストの中央揃え */
      justify-content: center;
      /* テキストの中央揃え */
      margin: auto;
      position: absolute;
      bottom: 0;
      width: 100%;
      /* テキストを横幅いっぱいにならないようにする */
      height: 60px;
      line-height: 60px;
      background-color: rgba(252, 252, 252, 0.8); }
      @media (min-width: 1081px) {
        .cb05 ._link ._saiyoutxt {
          font-size: 20px; } }
      @media (min-width: 768px) and (max-width: 1081px) {
        .cb05 ._link ._saiyoutxt {
          font-size: 18px; } }
      @media (max-width: 767px) {
        .cb05 ._link ._saiyoutxt {
          height: 100%;
          background-color: rgba(11, 11, 11, 0.3);
          font-size: 11px;
          color: #FCFCFC; } }
      @media (max-width: 767px) {
        .cb05 ._link ._saiyoutxt span {
          display: none; } }
    .cb05 ._link ._arrow02::after {
      background-image: url(../img/top/arrow02.svg); }
    .cb05 ._link ._arrow06::after {
      background-image: url(../img/top/arrow02.svg); }
      @media (max-width: 767px) {
        .cb05 ._link ._arrow06::after {
          background-image: url(../img/top/arrow01.svg); } }
  .cb05 ._link:nth-child(3) {
    margin: 0 8px; }

._bl01 {
  margin-left: 140px; }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._bl01 {
      margin-left: 70px; } }
  @media (max-width: 767px) {
    ._bl01 {
      margin-left: 0; } }
  @media (min-width: 1081px) {
    ._bl01 ._newsctn {
      width: 710px; } }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._bl01 ._newsctn {
      width: 550px; } }
  @media (max-width: 767px) {
    ._bl01 ._newsctn {
      width: 100%; } }
  ._bl01 ._link {
    width: fit-content;
    border: solid 1px #559A6E;
    border-radius: 4px;
    color: #559A6E;
    padding: 8px 24px;
    margin-right: -40px;
    transition: 0.5s;
    position: relative; }
    @media (max-width: 767px) {
      ._bl01 ._link {
        padding: 8px;
        margin-right: 0;
        font-size: 14px; } }
    ._bl01 ._link::after {
      content: '';
      position: absolute;
      left: -110px;
      top: 18px;
      width: 98px;
      height: 1px;
      display: inline-block;
      background-color: #559A6E; }
      @media (max-width: 767px) {
        ._bl01 ._link::after {
          left: -80px;
          top: 16px;
          width: 68px; } }
    ._bl01 ._link:hover {
      border: solid 1px #284B35;
      background-color: #284B35;
      color: #FCFCFC; }
      ._bl01 ._link:hover::after {
        background-color: #284B35; }

@media (min-width: 768px) and (max-width: 1081px) {
  ._bl02 {
    width: 80%; } }

._bl03 {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  max-width: calc(1060px + (1400 - 1060)*(100vw - 1080px)/(1940 - 1080)); }
  @media (min-width: 1081px) {
    ._bl03 {
      flex-wrap: nowrap; } }

._bl04 {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  max-width: calc(1060px + (1400 - 1060)*(100vw - 1080px)/(1940 - 1080));
  justify-content: flex-end; }
  @media (min-width: 1081px) {
    ._bl04 {
      flex-wrap: nowrap; } }

._bl05 {
  display: flex;
  flex-wrap: wrap; }
  ._bl05 ._categorywrap {
    width: 46%; }
    @media (min-width: 768px) and (max-width: 1081px) {
      ._bl05 ._categorywrap {
        margin-top: 64px; } }
  @media (min-width: 1081px) {
    ._bl05 ._categorywrap:nth-child(2n) {
      margin-left: calc(35px + (88 - 35)*(100vw - 1080px)/(1940 - 1080)); } }
  @media (min-width: 1081px) {
    ._bl05 ._categorywrap:nth-child(3), ._bl05 ._categorywrap:nth-child(4) {
      margin-top: 90px; } }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._bl05 ._categoryinner {
      width: 530px;
      margin: 0 auto; } }
  @media (max-width: 767px) {
    ._bl05 ._categoryinner {
      width: 75%;
      margin: 0 auto; } }
  ._bl05 .category-name {
    position: absolute;
    display: inline-block;
    width: 118px;
    height: 118px;
    border-radius: 50%; }
    @media (max-width: 767px) {
      ._bl05 .category-name {
        width: 50px;
        height: 50px; } }
    @media (max-width: 767px) {
      ._bl05 .category-name {
        top: 35px; } }
    ._bl05 .category-name span {
      width: 48px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%); }
      @media (max-width: 767px) {
        ._bl05 .category-name span {
          width: 24px; } }
  ._bl05 .sabou {
    background-color: #BF9D58; }
  ._bl05 .zyosetu {
    background-color: #1D4077; }
  ._bl05 .minkan {
    background-color: #9B2739; }
  ._bl05 ._categoryctn {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 534px;
    padding: 43px 50px 50px 43px;
    margin-top: -38px;
    box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.16);
    background-color: #fff; }
    @media (max-width: 767px) {
      ._bl05 ._categoryctn {
        padding: 15px 18px 20px; } }

._bl06 {
  cursor: pointer;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  margin: 0 auto; }
  @media (min-width: 1081px) {
    ._bl06 {
      max-width: 400px; } }
  ._bl06:hover img {
    transform: scale(1.1); }
  ._bl06 img {
    height: auto;
    transition: transform 2s ease; }

._bl07 {
  width: 100%;
  max-width: 890px;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._bl07 img {
      width: 280px; } }
  @media (max-width: 767px) {
    ._bl07 img {
      display: none; } }
  ._bl07 ._contactctn {
    width: 100%;
    height: 207px; }
    @media (min-width: 1081px) {
      ._bl07 ._contactctn {
        height: 296px;
        padding: 52px 40px 30px; } }
    @media (min-width: 768px) and (max-width: 1081px) {
      ._bl07 ._contactctn {
        padding: 25px 40px 30px; } }
    @media (max-width: 767px) {
      ._bl07 ._contactctn {
        padding: 24px 35px; } }
  ._bl07 ._cbkg01 {
    background-color: #838B29; }
    @media (max-width: 767px) {
      ._bl07 ._cbkg01 {
        background-image: url("../img/top/_bkg02.jpg");
        background-repeat: no-repeat;
        background-size: cover; } }
  ._bl07 ._cbkg02 {
    background-color: #C79C16; }
    @media (max-width: 767px) {
      ._bl07 ._cbkg02 {
        background-image: url("../img/top/_bkg03.jpg");
        background-repeat: no-repeat;
        background-size: cover; } }
  ._bl07 ._cbkg03 {
    background-color: #1D4077; }
    @media (max-width: 767px) {
      ._bl07 ._cbkg03 {
        background-image: url("../img/top/_bkg04.jpg");
        background-repeat: no-repeat;
        background-size: cover; } }
  ._bl07 ._inner {
    position: relative; }
    @media (min-width: 1081px) {
      ._bl07 ._inner {
        height: 196px; } }
    @media (min-width: 768px) and (max-width: 1081px) {
      ._bl07 ._inner {
        height: 155px; } }
    @media (max-width: 767px) {
      ._bl07 ._inner {
        max-width: 300px;
        height: auto;
        margin: 0 auto;
        top: 50%;
        transform: translateY(-50%); } }
    ._bl07 ._inner div {
      position: absolute;
      top: 20px; }
      @media (max-width: 767px) {
        ._bl07 ._inner div {
          position: unset; } }
    ._bl07 ._inner p {
      line-height: 2; }
      @media (max-width: 767px) {
        ._bl07 ._inner p {
          font-size: 12px;
          line-height: 1.6; } }
    ._bl07 ._inner a {
      position: absolute;
      right: 0;
      bottom: 0; }
      @media (max-width: 767px) {
        ._bl07 ._inner a {
          position: relative;
          margin-top: 12px;
          margin-left: auto; } }

._intro {
  position: relative;
  width: 97%;
  margin-right: auto;
  border: solid 3px #559A6E; }
  @media (min-width: 1081px) {
    ._intro {
      width: 540px;
      margin: 0; } }
  @media (max-width: 767px) {
    ._intro {
      border: solid 1px #559A6E; } }
  ._intro ._introctn01 {
    position: absolute;
    top: 40%;
    transform: translateY(-40%);
    left: calc(7% + (12 - 7)*(100vw - 1080px)/(1940 - 1080)); }
    @media (min-width: 1081px) {
      ._intro ._introctn01 {
        top: calc(18% + (23 - 18)*(100vw - 1080px)/(1940 - 1080));
        left: calc(7% + (12 - 7)*(100vw - 1080px)/(1940 - 1080));
        transform: unset; } }
    @media (max-width: 767px) {
      ._intro ._introctn01 {
        left: 2%;
        padding: 0px 10px; } }
  ._intro ._introctn02 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: calc(7% + (12 - 7)*(100vw - 1080px)/(1940 - 1080)); }
    @media (min-width: 1081px) {
      ._intro ._introctn02 {
        top: calc(15% + (20 - 15)*(100vw - 1080px)/(1940 - 1080));
        transform: unset;
        left: 25%; } }
    @media (max-width: 767px) {
      ._intro ._introctn02 {
        left: 2%;
        padding: 0px 10px; } }

@media (min-width: 1081px) {
  ._bkg01 {
    height: calc(450px + (540 - 450)*(100vw - 1080px)/(1940 - 1080)); } }
@media (min-width: 768px) and (max-width: 1081px) {
  ._bkg01 {
    height: 370px; } }
@media (max-width: 767px) {
  ._bkg01 {
    height: 250px; } }
._bkg01::before {
  background-color: rgba(85, 154, 110, 0.1);
  content: "";
  position: absolute;
  z-index: -1; }
  @media (min-width: 1081px) {
    ._bkg01::before {
      top: calc(400px + (450 - 400)*(100vw - 1080px)/(1940 - 1080));
      left: 28%;
      bottom: -165px;
      right: -155px; } }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._bkg01::before {
      top: 50px;
      left: 527px;
      bottom: 0px;
      right: -25px; } }
  @media (max-width: 767px) {
    ._bkg01::before {
      top: 200px;
      left: 240px;
      bottom: -170px;
      right: -30px; } }

@media (min-width: 1081px) {
  ._bkg02 {
    height: calc(450px + (540 - 450)*(100vw - 1080px)/(1940 - 1080)); } }
@media (min-width: 768px) and (max-width: 1081px) {
  ._bkg02 {
    height: 370px; } }
@media (max-width: 767px) {
  ._bkg02 {
    height: 310px; } }
._bkg02::before {
  background-color: rgba(85, 154, 110, 0.1);
  content: "";
  position: absolute;
  z-index: -1;
  top: calc(390px + (500 - 390)*(100vw - 1080px)/(1940 - 1080));
  left: -30%;
  bottom: -230px;
  right: 155px; }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._bkg02::before {
      top: 50px;
      left: 527px;
      bottom: 0px;
      right: -25px; } }
  @media (max-width: 767px) {
    ._bkg02::before {
      top: 200px;
      left: 240px;
      bottom: -170px;
      right: -30px; } }

@media (min-width: 1081px) {
  ._bkg03 {
    height: calc(450px + (540 - 450)*(100vw - 1080px)/(1940 - 1080)); } }
@media (min-width: 768px) and (max-width: 1081px) {
  ._bkg03 {
    height: 370px; } }
@media (max-width: 767px) {
  ._bkg03 {
    height: 250px; } }
._bkg03::before {
  background-color: rgba(85, 154, 110, 0.1);
  content: "";
  position: absolute;
  z-index: -1;
  top: calc(400px + (450 - 400)*(100vw - 1080px)/(1940 - 1080));
  left: 28%;
  bottom: -125px;
  right: -155px; }
  @media (min-width: 768px) and (max-width: 1081px) {
    ._bkg03::before {
      top: 50px;
      left: 527px;
      bottom: 0px;
      right: -25px; } }
  @media (max-width: 767px) {
    ._bkg03::before {
      top: 200px;
      left: 240px;
      bottom: -170px;
      right: -30px; } }

._introimg {
  position: relative;
  margin-left: auto;
  margin-top: -85px;
  margin-right: -20px;
  width: calc(600px + (950 - 600)*(100vw - 1080px)/(1940 - 1080));
  max-width: 915px; }
  @media (min-width: 1081px) {
    ._introimg {
      position: absolute;
      z-index: 1;
      top: 30px;
      margin: 0; } }
  @media (max-width: 767px) {
    ._introimg {
      margin-top: -15px;
      margin-right: 0; } }

._arrow01 {
  position: relative;
  width: fit-content; }
  ._arrow01::after {
    display: block;
    position: absolute;
    content: "";
    right: -10px;
    height: 7px;
    border-right: 3px solid #559A6E;
    border-bottom: 2px solid #559A6E;
    transform: skew(45deg);
    transition: .3s;
    width: 125px; }
    @media (max-width: 767px) {
      ._arrow01::after {
        right: -20px; } }
  ._arrow01:hover::after {
    right: -20px;
    width: 135px;
    border-right: 3px solid #284B35;
    border-bottom: 2px solid #284B35; }
    @media (max-width: 767px) {
      ._arrow01:hover::after {
        right: -30px; } }

._arrow02::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  margin-top: 3px;
  width: 11px;
  height: 17px;
  display: block;
  margin-left: 20px; }
  @media (max-width: 767px) {
    ._arrow02::after {
      width: 6px;
      height: 10px;
      margin-left: 16px; } }

._arrow03 {
  position: relative;
  width: fit-content; }
  ._arrow03::after {
    display: block;
    position: absolute;
    content: "";
    left: -5px;
    width: 140px;
    height: 7px;
    border-right: 3px solid #FCFCFC;
    border-bottom: 2px solid #FCFCFC;
    transform: skew(45deg);
    transition: .3s; }
    @media (max-width: 767px) {
      ._arrow03::after {
        width: 124px; } }
  ._arrow03:hover::after {
    left: -5px;
    width: 145px; }
    @media (max-width: 767px) {
      ._arrow03:hover::after {
        width: 130px; } }

._arrow04 {
  position: relative;
  display: inline-block;
  padding: 10px; }
  ._arrow04::before {
    content: '';
    width: 10px;
    height: 10px;
    position: absolute;
    right: 16px;
    top: 5px;
    transform: rotate(135deg); }
    @media (max-width: 767px) {
      ._arrow04::before {
        display: none; } }
  ._arrow04:hover::before {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff; }

._arrow05 {
  position: relative;
  width: fit-content; }
  ._arrow05::after {
    display: block;
    position: absolute;
    content: "";
    right: -10px;
    height: 7px;
    border-right: 3px solid #559A6E;
    border-bottom: 2px solid #559A6E;
    transform: skew(45deg);
    transition: .3s;
    width: 125px; }
    @media (max-width: 767px) {
      ._arrow05::after {
        width: 100px;
        right: 2px; } }
  ._arrow05:hover::after {
    right: -20px;
    width: 135px;
    border-right: 3px solid #284B35;
    border-bottom: 2px solid #284B35; }
    @media (max-width: 767px) {
      ._arrow05:hover::after {
        right: -30px; } }

._arrow06::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  margin-top: 3px;
  width: 11px;
  height: 17px;
  display: block;
  margin-left: 20px; }
  @media (max-width: 767px) {
    ._arrow06::after {
      width: 5px;
      height: 7px;
      margin-top: 1px;
      margin-left: 8px; } }

._btn {
  display: flex;
  align-items: center;
  padding: 16px 52px;
  width: fit-content;
  background-color: #559A6E;
  border-radius: 4px;
  box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.16);
  transition: 0.4s ease-out; }
  @media (max-width: 767px) {
    ._btn {
      padding: 18px 28px; } }
  ._btn::after {
    content: "";
    background-image: url("../img/top/arrow01.svg");
    background-repeat: no-repeat;
    margin-top: 3px;
    width: 11px;
    height: 17px;
    display: block;
    margin-left: 20px; }
  ._btn:hover {
    background-color: #284B35; }

._border {
  position: relative; }
  ._border::after {
    content: '';
    width: 83px;
    height: 3px;
    display: inline-block;
    background-color: #559A6E;
    position: absolute;
    bottom: -24px;
    left: calc(50% - 35px); }
    @media (max-width: 767px) {
      ._border::after {
        width: 58px;
        height: 1px;
        bottom: -9px;
        left: calc(50% - 30px); } }

/*===================================
フッター
===================================*/
#footer {
  padding: 82px 0 37px;
  background-color: #000; }
  @media (max-width: 767px) {
    #footer {
      padding: 47px 0 24px; } }
  @media (max-width: 767px) {
    #footer ._flogo {
      width: 80%;
      max-width: 400px; } }

.footer_wrap {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  padding: 0 calc(20px + (96 - 20)*(100vw - 1080px)/(1940 - 1080)) 100px;
  margin: 0 auto;
  border-bottom: solid 2px #FCFCFC; }
  @media (min-width: 768px) and (max-width: 1081px) {
    .footer_wrap {
      padding: 0 20px 100px; } }
  @media (max-width: 767px) {
    .footer_wrap {
      padding: 0 20px 24px; } }
  .footer_wrap ._bl08 {
    width: 100%; }
    @media (min-width: 1081px) {
      .footer_wrap ._bl08 {
        width: calc(42% + (50 - 42)*(100vw - 1080px)/(1940 - 1080)); } }
    .footer_wrap ._bl08 ._bun {
      width: 90%;
      max-width: 510px; }

.footer_nav {
  color: #FCFCFC;
  margin-top: 50px;
  position: relative; }
  @media (min-width: 1081px) {
    .footer_nav {
      font-size: calc(15px + (20 - 15)*(100vw - 1080px)/(1940 - 1080));
      margin-top: 0; } }
  .footer_nav::before {
    content: '';
    right: 0;
    width: 30px;
    height: 1px;
    display: inline-block;
    background-color: #707070;
    position: absolute;
    top: -25px;
    left: 0; }
    @media (min-width: 1081px) {
      .footer_nav::before {
        display: none; } }
  .footer_nav li {
    margin-bottom: 20px; }
    @media (min-width: 1081px) {
      .footer_nav li {
        margin-bottom: 40px; } }
  @media (max-width: 767px) {
    .footer_nav li:last-child {
      margin-bottom: 0; } }
  .footer_nav .sub-menu {
    display: flex;
    align-items: center;
    margin-top: 20px;
    height: 20px;
    line-height: 20px; }
    @media (max-width: 767px) {
      .footer_nav .sub-menu {
        margin-top: 10px;
        height: 12px;
        line-height: 12px;
        flex-wrap: wrap; } }
    .footer_nav .sub-menu li {
      margin-bottom: 0;
      padding: 0 10px;
      border-right: solid 1px; }
      @media (max-width: 767px) {
        .footer_nav .sub-menu li {
          font-size: calc(12px + (14 - 12)*(100vw - 375px)/(768 - 375)); } }
    .footer_nav .sub-menu li:first-of-type {
      padding-left: 0; }
    .footer_nav .sub-menu li:last-of-type {
      border: none; }

.instagram {
  width: fit-content; }
  @media (max-width: 767px) {
    .instagram {
      width: 30px; } }

@media (max-width: 767px) {
  #menu-item-82 {
    margin-bottom: 40px; } }

@media (max-width: 767px) {
  #menu-item-84 {
    padding-left: 0; } }

@media (max-width: 767px) {
  #menu-item-85 {
    border: none;
    margin-bottom: 10px;
    width: calc(60% + (80 - 60)*(100vw - 375px)/(768 - 375)); } }

@media (max-width: 767px) {
  #menu-item-86 {
    margin-bottom: 10px; } }

/*===================================
スリック
===================================*/
.slick-prev {
  left: 10px; }
  @media (max-width: 767px) {
    .slick-prev {
      left: 0; } }

.slick-next {
  right: 10px; }
  @media (max-width: 767px) {
    .slick-next {
      right: 0; } }

.slick-prev, .slick-next {
  width: 40px;
  height: 40px; }
  @media (max-width: 767px) {
    .slick-prev, .slick-next {
      width: 20px;
      height: 20px; } }

/*====================================
アニメーション
===================================*/
.scroll-up {
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
  transition: all 1s; }

.scroll-up.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px); }

._delay01 {
  transition-delay: 200ms; }

._delay02 {
  transition-delay: 400ms; }

._delay03 {
  transition-delay: 600ms; }

._delay04 {
  transition-delay: 800ms; }

._delay05 {
  transition-delay: 1000ms; }

._delay06 {
  transition-delay: 1200ms; }

._delay07 {
  transition-delay: 1400ms; }

._delay08 {
  transition-delay: 1600ms; }

/*このクラスが付与されると表示する*/
.active {
  opacity: 1;
  visibility: visible; }

.slide-in {
  overflow: hidden;
  display: inline-block; }

.slide-in_inner {
  display: inline-block; }

/*縦文字のアニメーション*/
.douwnAnime {
  opacity: 0;
  /*事前に透過0にして消しておく*/ }

.slideAnimeupdown {
  animation-name: slideTextY100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes slideTextY100 {
  from {
    transform: translateY(-100%);
    /*要素を左の枠外に移動*/
    opacity: 0; }
  to {
    transform: translateY(0);
    /*要素を元の位置に移動*/
    opacity: 1; } }
.slideAnimedownup {
  animation-name: slideTextY-100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes slideTextY-100 {
  from {
    transform: translateY(100%);
    /*要素を右の枠外に移動*/
    opacity: 0; }
  to {
    transform: translateY(0);
    /*要素を元の位置に移動*/
    opacity: 1; } }
/*横文字のアニメーション*/
.leftAnime {
  opacity: 0;
  /*事前に透過0にして消しておく*/ }

.slideAnimeLeftRight {
  animation-name: slideTextX100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes slideTextX100 {
  from {
    transform: translateX(-100%);
    /*要素を左の枠外に移動*/
    opacity: 0; }
  to {
    transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1; } }
.slideAnimeRightLeft {
  animation-name: slideTextX-100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes slideTextX-100 {
  from {
    transform: translateX(100%);
    /*要素を右の枠外に移動*/
    opacity: 0; }
  to {
    transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1; } }
