@charset "UTF-8";

/*!
Theme Name: Nishihyogo Chemical Coop.
Description: Cocoon専用の子テーマ
Theme URI: https://ekaki-j.com/
Author: J.
Author URI: https://ekaki-j.com/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*###### 定義 ######*/
:root {
  /* Cyan */
  --cerulean: #009ee5;
  --daintree: #00202e;
  --seagull: #80cff2;
  --french-pass: #c0e7f9;
  --deep-cerulean: #0077ac;
  /* Blue */
  --jacksons-purple: #232583;
}

/*###### 共通 ######*/
.clearfix:after {
  content: " ";
  display: block;
  clear: both;
}

/*** grid layout ***/
.grid-container {
  display: grid;
  gap: 0.25rem;
  grid-template-columns: repeat(auto-fit, 1fr);
  overflow: hidden;
}

ul.grid-container {
  list-style: none;
  padding-left: 0;
}

.grid-container .grid-item {
  & a {
    display: flex;
    align-items: center;
  }

  display: flex;
  align-items: center;
}

/*** リスト ***/
.dl-single-line>dt {
  font-weight: bold;
  float: left;
  clear: left;
  margin-right: 0.5em;
}

dl dt {
  font-weight: bold;
}

.page dl dl {
  margin-bottom: .5em;
}

.dl-inline-block-dd>dd {
  display: inline-block;
}

ul.check {
  list-style: none;
  padding-left: 0;
}

ul.check>li {
  text-indent: -1.5em;
  padding-left: 1.5em;
}

ul.check>li:before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: .25em;
  color: var(--seagull);
}

ol.number {
  list-style: none;
  padding-left: 0;
}

ol.number>li {
  text-indent: -2em;
  padding-left: 2em;
}

ol.number>li:before {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  margin-right: .5em;
  padding-left: 0;
  text-indent: 0;
  background-color: var(--cerulean);
  color: #fff;
}

ol.number>li:nth-of-type(1):before {
  content: "1";
}

ol.number>li:nth-of-type(2):before {
  content: "2";
}

ol.number>li:nth-of-type(3):before {
  content: "3";
}

ol.number>li:nth-of-type(4):before {
  content: "4";
}

ol.number>li:nth-of-type(5):before {
  content: "5";
}

ol.number>li:nth-of-type(6):before {
  content: "6";
}

/*###### ヘッダー ######*/
#header-container {}

/*###### ナビゲーション ######*/
/*** メニューボタン ***/
.navi-in .menu-header li a {
  overflow: hidden;
  position: relative;
  /*box-sizing: border-box;
border-bottom: solid 3px var(--french-pass);*/
}

.navi-in .menu-header li {
  /*overflow: hidden;
position: relative;
box-sizing: border-box;
border-bottom: solid 3px var(--french-pass);*/
}

.navi-in .menu-header li:not(.menu-item-home):not(.current-menu-item):not(.current-menu-parent) a {}

#navi:not(.fixed) .navi-in .menu-header li.menu-item-home a {}

@media (hover: hover) {}
}

.navi-in .menu-header li a .caption-wrap {}

@media (hover: hover) {

  .navi-in .menu-header>li:hover>a:any-link .caption-wrap,
  .navi-in .sub-menu>li:hover>a:any-link .caption-wrap,
  .navi-in .menu-header li.current-menu-item a:any-link .caption-wrap,
  .navi-in .menu-header li.current-menu-parent a:any-link .caption-wrap {}
}

.navi-in .menu-header li a .has-sub {}

#navi .navi-in .menu-header li a:before,
#navi .navi-in .menu-header li ul.sub-menu li a:before,
#navi .navi-in .menu-header li a:after,
#navi .navi-in .menu-header li ul.sub-menu li a:after {
  position: absolute;
  content: "";
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  display: block;
  width: 80%;
  /*height: 0px;
box-sizing: border-box;*/
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-bottom: solid 5px #fff;
  /*transform: translateX(-100%);*/
}

#navi .navi-in .menu-header li a:before,
#navi .navi-in .menu-header li ul.sub-menu li a:before {
  transform: translateX(-100%);
}

#navi .navi-in .menu-header li a:after,
#navi .navi-in .menu-header li ul.sub-menu li a:after {
  transform: translateX(100%);
}

@media (hover: hover) {

  #navi .navi-in .menu-header li:hover>a:any-link:before,
  #navi .navi-in .menu-header li ul.sub-menu>li:hover>a:any-link:before,
  #navi .navi-in .menu-header li:hover>a:any-link:after,
  #navi .navi-in .menu-header li ul.sub-menu>li:hover>a:any-link:after {
    border-bottom: solid 5px var(--seagull);
    transform: translateX(0%);
  }

  /*#navi .navi-in .menu-header li:hover > a:any-link:after,
 #navi .navi-in .menu-header li ul.sub-menu > li:hover > a:any-link:after {
 border-bottom: solid 5px var(--seagull);
 transform: translateX(0%);
 }*/
  #navi .navi-in .menu-header li:hover>a:any-link,
  #navi .navi-in .menu-header li ul.sub-menu>li:hover>a:any-link {
    background-color: #fff;
  }

  #navi .navi-in .menu-header li:hover>a:any-link,
  #navi .navi-in .menu-header li ul.sub-menu>li:hover>a:any-link {
    /*background-color: var(--seagull);*/
  }
}

#navi.navi .menu-header>.menu-item.current-menu-item>a:not(:hover):before,
#navi.navi .menu-header>.menu-item.current-menu-ancestor>a:not(:hover):before,
#navi.navi .menu-header>.menu-item>.current-menu-item>a:not(:hover):before,
#navi .navi-in .menu-header li ul.sub-menu li.current-menu-item>a:not(:hover):before,
#navi .navi-in .menu-header li ul.sub-menu li.current-menu-ancestor>a:not(:hover):before {
  border-bottom: solid 5px var(--seagull);
  transform: translateX(0%);
}

#navi.navi .menu-header>.menu-item.current-menu-item>a:not(:hover):after,
#navi.navi .menu-header>.menu-item.current-menu-ancestor>a:not(:hover):after,
#navi.navi .menu-header>.menu-item>.current-menu-item>a:not(:hover):after,
#navi .navi-in .menu-header li ul.sub-menu li.current-menu-item>a:not(:hover):after,
#navi .navi-in .menu-header li ul.sub-menu li.current-menu-ancestor>a:not(:hover):after {
  border-bottom: solid 5px var(--seagull);
  transform: translateX(0%);
}

#navi.navi .menu-header>.menu-item.current-menu-item>a:not(:hover),
#navi.navi .menu-header>.menu-item.current-menu-ancestor>a:not(:hover),
#navi.navi .menu-header>.menu-item>.current-menu-item>a:not(:hover),
#navi .navi-in .menu-header li ul.sub-menu li.current-menu-item>a:not(:hover),
#navi .navi-in .menu-header li ul.sub-menu li.current-menu-ancestor>a:not(:hover) {
  /*background-color:  var(--seagull);*/
}

#navi.navi .menu-header>.menu-item.current-menu-item>a:not(:hover),
#navi.navi .menu-header>.menu-item.current-menu-ancestor>a:not(:hover),
#navi.navi .menu-header>.menu-item>.current-menu-item>a:not(:hover),
#navi .navi-in .menu-header li ul.sub-menu li.current-menu-item>a:not(:hover),
#navi .navi-in .menu-header li ul.sub-menu li.current-menu-ancestor>a:not(:hover) {
  /*background-color:  var(--seagull);*/
}

#navi .navi-in .menu-header li a:hover,
#navi .navi-in .menu-header li ul.sub-menu>li a:hover {}

#navi .navi-in .menu-header li a:hover {}

#navi .navi-in .menu-header>li>a:hover div,
#navi .navi-in .menu-header li ul.sub-menu>li>a:hover div {}

#navi.navi .menu-header>.menu-item.current-menu-item,
#navi.navi .menu-header>.menu-item.current-menu-ancestor,
#navi.navi .menu-header>.menu-item>.current-menu-item,
#navi .navi-in .menu-header li ul.sub-menu li.current-menu-item,
#navi .navi-in .menu-header li ul.sub-menu li.current-menu-ancestor {
  transition: all .5s linear;
}

#navi.navi .menu-header>.menu-item.current-menu-item>a:not(:hover) div,
#navi.navi .menu-header>.menu-item.current-menu-ancestor>a:not(:hover) div,
#navi.navi .menu-header>.menu-item>.current-menu-item>a:not(:hover) div,
#navi .navi-in .menu-header li ul.sub-menu li.current-menu-item>a:not(:hover) div,
#navi .navi-in .menu-header li ul.sub-menu li.current-menu-ancestor>a:not(:hover) div {
  /*font-weight: bold;*/
}

/*###### アピールエリア ######*/
.appeal {
  /*background-size: cover;*/
  /*background-size: contain;*/
  /*background-position: center;*/

}

#appeal {
  /*height:calc(100vw * 0.3);*/
  height: calc(100vw * 0.4);
  position: relative;
  overflow: hidden;
  transition: all .3s linear;
  background-position: bottom 1px center;
  background-color: #fff;
}

#appeal-in {}

#appeal-in:after {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(img/appeal-after.png);
  background-size: 100.1% auto;
  background-position: center bottom;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}

#appeal-in:before {
  content: "";
  width: 100%;
  /*height: 385px;*/
  height: 100%;
  background-image: url(img/appeal-before.png);
  background-size: 100% auto;
  background-position: center top;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}

.appeal-content {
  background-color: transparent;
  width: 100%;
  max-width: 48em;
  text-align: right;
  margin-right: 0;
  z-index: 1;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", "Yu Gothic", sans-serif;
}

.appeal-content .appeal-title {
  font-size: 400%;
  line-height: 100%;
  margin-bottom: .5em;
  color: #fff;
  font-weight: bold;
  transition: all .3s linear;

  /*text-shadow: -1px 1px 2px rgba(0, 156, 229,0.8),
             1px 1px 2px rgba(0, 156, 229,0.8),
             1px -1px 2px rgba(0, 156, 229,0.8),
             -1px -1px 2px rgba(0, 156, 229,0.8),
             -4px 0px 4px rgba(0, 156, 229,0.7),
             0px 4px 4px rgba(0, 156, 229,0.7),
             4px 0px 4px rgba(0, 156, 229,0.7),
             0px -4px 4px rgba(0, 156, 229,0.7);*/
  /*opacity: 0;
animation: appealFalling 1.5s ease 0.5s alternate forwards;*/
  & span {
    display: inline-block;
  }

  & span.small-font {
    font-size: 70%;
  }

  & span.small-font.middle {
    vertical-align: middle;
  }
}

.appeal-content .appeal-message {
  font-size: 500%;
  line-height: 100%;
  color: #fff;
  font-weight: bold;
  transition: all .3s linear;

  /*text-shadow: -1px 1px 2px rgba(0, 156, 229,0.8),
             1px 1px 2px rgba(0, 156, 229,0.8),
             1px -1px 2px rgba(0, 156, 229,0.8),
             -1px -1px 2px rgba(0, 156, 229,0.8),
             -4px 0px 4px rgba(128, 208, 242,0.7),
             0px 4px 4px rgba(128, 208, 242,0.7),
             4px 0px 4px rgba(128, 208, 242,0.7),
             0px -4px 4px rgba(128, 208, 242,0.7);*/
  /*opacity: 0;
animation: appealRiging 1.5s ease 0.5s alternate forwards;*/
  & span {
    display: inline-block;
  }

  & span.small-font {
    font-size: 50%;
    vertical-align: super;
  }
}

body:not(.home) {
  #appeal {
    /*height: 300px;*/
    height: calc(100vw * 0.2);
  }

  .appeal-content {
    display: none;
  }
}

/*###### 本文 ######*/
h1.entry-title {
  font-weight: normal;
  font-size: 180%;
}

body.home h1.entry-title {
  color: var(--deep-cerulean);
  display: flex;
  align-items: center;
  justify-content: left;

  /*font-weight: normal;
font-size: 180%;*/
  border-bottom: 2px solid var(--seagull);
  position: relative;
  padding-bottom: .3em;
  border-bottom-width: 15px;

  & span {
    display: inline-block;
  }
}

body.home h1.entry-title:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -13px;
  right: 0;
  border-left: 15px solid transparent;
  border-bottom: 15px solid #fff;
  width: 45%;
}

body.home h1.entry-title:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -17px;
  left: 0;
  border-right: 15px solid transparent;
  border-top: 15px solid #fff;
  width: 45%
}

body:not(.home) h1.entry-title {
  color: var(--deep-cerulean);
  display: flex;
  align-items: center;
  justify-content: left;
  border: none;
  padding: 0;
  /***border-left: 2px solid var(--tulip-tree);
padding-left: .5em;***/
}

body:not(.home) h1.entry-title:before {
  content: "\f101";
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  color: var(--deep-cerulean);
  margin-right: .5rem;
  /*border: 10px solid transparent;
border-left: 10px solid var(--tulip-tree);*/
}

body:not(.home) h1.entry-title:after {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: var(--french-pass);
  margin-left: .25em;
  max-width: 30%;
}

.entry-content {
  & h2 {
    border-bottom: solid 3px var(--french-pass);
    position: relative;
    font-weight: normal;
    padding-bottom: 0.2em;
    background: none;
  }

  & h2.border-none {
    border-bottom: none;
  }
}

.entry-content h2:after {
  position: absolute;
  content: "";
  border-bottom: solid 6px var(--seagull);
  bottom: -6px;
  left: 0;
  width: 30%;
}

.entry-content h3 {
  font-weight: normal;
  display: flex;
  align-items: center;
  justify-content: left;
  border: none;
  padding: 0;
  font-size: 130%;
  border-left: 2px solid var(--seagull);
  padding-left: .5em;
}

.entry-content h3:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: var(--french-pass);
}

.entry-content h4 {
  font-weight: normal;
  display: flex;
  align-items: center;
  justify-content: left;
  border-top: 1px solid var(--seagull);
  border-bottom: 1px solid var(--seagull);
}

.entry-content h5 {
  font-weight: normal;
  border: none;
  border-left: 5px solid var(--seagull);
  padding: 0;
  padding-left: .5em;
}

/*** お知らせ ***/
.dl-single-line.notice {

  /*margin: 0;
padding: 0;*/
  & dt {
    /*float: left;
 clear: left;*/
    width: 6em;

    & span {
      display: inline-block;
      text-align: right;
    }

    & span:not(:first-child) {
      width: 2.5em;
    }
  }

  & dd {
    margin-left: 5.5em;
    padding-left: 0.5em;
    /*box-sizing: border-box;*/
  }
}

/*###### 組合概要 ######*/
.summary {
  .entry-content {

    .fa,
    .fas {
      margin-right: 0.5em;
    }
  }

  & dl dd span {
    display: inline-block;
    margin-right: .5em;
  }

  .dl-single-line:not(.enkaku) {
    & dt {
      width: 4em;
    }

    & dd {
      margin-left: 4em;
    }
  }

  .dl-single-line.enkaku {
    & dt {
      width: 5.5em;

      & span {
        display: inline-block;
        text-align: right;
      }

      & span:not(:first-child) {
        width: 2em;
      }
    }

    & dd {
      margin-left: 6em;
    }
  }
}

/*###### 問い合わせフォーム ######*/
.inquiry {
  .hide {
    display: none;
  }

  & dl>dt {
    width: 9.5em;

    & span {
      font-size: 80%;
    }
  }

  & dl.komelist dt {}

  & textarea,
  & input:not([type="submit"]):not([type="checkbox"]) {
    /*width: 24em;*/
  }

  & dl.has-parent>dt {
    font-weight: normal;
  }

  & dl.has-child>dd {
    margin-left: 1em;
  }

  & dl.has-parent {}

  & dl>dd:not(.has-parent) {
    margin-left: 10em;
    margin-bottom: 20px;
  }

  & dl.komelist dd {}

  & dl>dd.has-parent dd {
    margin-left: 9em;
  }

  & dl.has-parent dt {
    width: 8.5em;
  }

  & dl dt {
    display: flex;
    align-items: center;
    justify-content: left;
  }

  & dl dt:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: var(--seagull);
    margin-left: .25em;
    max-width: 50%;
  }
}

p.submit,
p.send_button {
  width: 10em;
  margin-left: auto;
  margin-right: auto;
}

p.submit input[type="submit"].wpcf7-submit,
p.send_button input[type="submit"].wpcf7-submit {
  border-radius: 40px;
  border: none;
  font-weight: bold;
  font-size: 100%;
  background: var(--cerulean);
  box-shadow: 0 10px 1px -1px var(--deep-cerulean);
  color: #fff;
  transition: 0.3s;
  padding: 1em;
}

p.submit input[type="submit"].wpcf7-submit:before,
p.send_button input[type="submit"].wpcf7-submit:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
}

@media (hover: hover) {

  p.submit input[type="submit"].wpcf7-submit:hover,
  p.send_button input[type="submit"].wpcf7-submit:hover {
    background: var(--cerulean);
    box-shadow: 0 -2px 1px var(--deep-cerulean);
    transform: translateY(10px);
    color: #fff;
  }
}

p.submit input[type="submit"].wpcf7-submit:focus,
p.send_button input[type="submit"].wpcf7-submit:focus {
  outline: 0;
  background: var(--seagull);
}

.inquiry b {
  color: #c00;
}

.inquiry input:focus,
.inquiry textarea:focus {
  outline-color: var(--seagull);
}

@-moz-document url-prefix() {

  .inquiry input:focus,
  .inquiry textarea:focus {
    border: 1px solid var(--seagull);
    outline: 0;
  }
}

.tel-num.big.center,
.fax-num.big.center {
  text-align: center;
  font-weight: bold;
  color: var(--seagull);
}

.tel-num.big.center,
.fax-num.big.center {
  & a .anchor-icon {
    display: none;
  }
}

.tel-num.big.center a {
  color: var(--seagull);
  text-decoration: none;
  transition: all .5s;
  position: relative;
  font-size: 200%;
  line-height: 0;
}

.fax-num.big.center span {
  color: var(--seagull);
  font-size: 200%;
}

.tel-num.big.center,
.fax-num.big.center {
  & i {
    font-size: 150%;
    margin-right: .2em;
  }
}

.tel-num.big.center a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  border-bottom: 2px solid var(--seagull);
  transition: all .5s;
}

@media (hover: hover) {
  .tel-num.big.center a:any-link:hover {
    color: var(--seagull);
  }

  .tel-num.big.center a:any-link:hover:after {
    width: 100%;
  }
}

.tel-description {
  text-align: center;
  line-height: 120%;
}

.contact .tel-num span {
  display: inline-block;
}

.contact .tel-num i.fa {
  margin-right: .5em;
}

.contact p>span {
  display: inline-block;
}

.contact p>span:not(:last-child) {
  margin-right: .5em;
}

.contact dl.komelist dt {}

.contact dl.komelist dd {}

/*###### モバイルメニュー ######*/
/*** モバイルヘッダーメニュー ***/
.mobile-header-menu-buttons {
  background-color: #fff;

  .logo-menu-button .menu-button-in {
    padding-left: 10px;
    padding-right: 10px;

    .site-logo-image {
      opacity: 0;
      animation: logoFalling 1.5s ease 0.5s alternate forwards;
    }
  }
}

.mobile-header-menu-buttons .menu-button-in {}

.mobile-header-menu-buttons .menu-button-in .site-logo-image {
  /*margin-left: 15px;*/
  /*opacity: 0;
animation: logoFalling 1.5s ease 0.5s alternate forwards;*/
}

/* ハンバーガーメニューアニメーション */
.mobile-header-menu-buttons .navi-menu-button {}

#navi-menu-close {
  background-color: rgba(0, 0, 0, 0.4) !important;
}

.mobile-header-menu-buttons .navi-menu-button label.menu-button-in {
  overflow: hidden;
  display: block;
  position: relative;
  width: 100%;
  height: 40px;
  z-index: 0;
  margin: auto;
}

.mobile-header-menu-buttons .navi-menu-button a.menu-button-in .menu-caption {
  display: none;
}

.mobile-header-menu-buttons .navi-menu-button a.menu-button-in .menu-icon span {
  color: #fff;
  font-size: 27px;
}

.mobile-header-menu-buttons .navi-menu-button:last-child a.menu-button-in .menu-icon span {
  color: var(--cerulean);
}

.mobile-header-menu-buttons li.navi-menu-button {
  border-left: 1px solid #fff;
  background-color: var(--cerulean);
}

.mobile-header-menu-buttons li.navi-menu-button:last-child {
  border-left: 1px solid var(--cerulean);
  background-color: #fff;
}

.mobile-header-menu-buttons .navi-menu-button a.menu-button-in {}

.mobile-header-menu-buttons .navi-menu-button a.menu-button-in .menu-icon {
  /*margin-top: 9px;*/
  /*Cocoonバージョン: 2.7.3.1でコメントアウト*/
}

.mobile-header-menu-buttons .navi-menu-button label.menu-button-in span,
.mobile-header-menu-buttons .navi-menu-button label.menu-button-in:before,
.mobile-header-menu-buttons .navi-menu-button label.menu-button-in:after {
  display: block;
  position: absolute;
  /*top: 5px;*/
  /*Cocoonバージョン: 2.7.3.1で変更*/
  top: 0;
  /*Cocoonバージョン: 2.7.3.1で変更*/
  bottom: 0;
  left: 0;
  right: 0;
  width: 27px;
  height: 2px;
  margin: auto;
  background-color: var(--cerulean);
}

.mobile-header-menu-buttons .navi-menu-button .navi-menu-icon {
  /*display: none;*/
}

.mobile-header-menu-buttons .navi-menu-button .navi-menu-icon span {}

.mobile-header-menu-buttons .navi-menu-caption {}

.mobile-header-menu-buttons .navi-menu-button .navi-menu-icon span,
.mobile-header-menu-buttons .navi-menu-button .navi-menu-icon:before,
.mobile-header-menu-buttons .navi-menu-button .navi-menu-icon:after {}

.mobile-header-menu-buttons .navi-menu-button label.menu-button-in span {
  overflow: hidden;
  z-index: 1;
  color: #fff;
}

.mobile-header-menu-buttons .navi-menu-button label.menu-button-in:before {
  z-index: 2;
  transform: translate(0, -9px);
  content: "";
}

.mobile-header-menu-buttons .navi-menu-button label.menu-button-in:after {
  z-index: 2;
  transform: translate(0, 9px);
  content: "";
}

.mobile-header-menu-buttons .navi-menu-button label.menu-button-in span {
  opacity: 1;
  transition: opacity 300ms 100ms, transform .3s;
}

.mobile-header-menu-buttons .navi-menu-button label.menu-button-in:before,
.mobile-header-menu-buttons .navi-menu-button label.menu-button-in:after {
  transition: transform 400ms;
}

.mobile-header-menu-buttons .navi-menu-button #navi-menu-input:checked+label.menu-button-in span {
  opacity: 0;
  /*transform: translateX(-100%);
transition: transform .3s, opacity .3s .1s;*/
  transform: scaleX(0);
  transition: scaleX .3s, opacity .3s .1s;
}

.mobile-header-menu-buttons .navi-menu-button #navi-menu-input:checked+label.menu-button-in:before {
  transform: rotate(135deg);
}

.mobile-header-menu-buttons .navi-menu-button #navi-menu-input:checked+label.menu-button-in:after {
  transform: rotate(-135deg);
}

/* ナビメニューコンテンツ */
/*中身*/
.menu-content {
  max-width: 100%;
  height: 100%;
  overflow: hidden;
  line-height: 300%;
}

.navi-menu-content {
  /*right: 0;
-webkit-transform: translateX(105%);
transform: translateX(105%);*/
  text-align: center;
}

.menu-close-button {
  /*text-align: right;*/
}

.mobile-header-menu-buttons .navi-menu-button .navi-menu-content {
  padding-top: 60px;
  /*width: 40%;*/
  /*min-width: 11em;*/
  background-color: rgba(255, 255, 255, 0.9);
}

.mobile-header-menu-buttons .navi-menu-button .navi-menu-close-button {
  /*display: none;*/
}

.mobile-header-menu-buttons .navi-menu-button .navi-menu-close-button span {
  /*display: none;*/
}

.mobile-header-menu-buttons .navi-menu-button label.menu-close-button {
  /*min-width: 100px;
min-height: 40px;*/
}

.mobile-header-menu-buttons .navi-menu-button label.menu-close-button span,
.mobile-header-menu-buttons .navi-menu-button label.menu-close-button:before,
.mobile-header-menu-buttons .navi-menu-button label.menu-close-button:after {
  display: block;
  position: absolute;
  top: 25px;
  right: 20px;
  width: 27px;
  height: 2px;
  margin: auto;
  background-color: var(--cerulean);
  color: rgba(0, 0, 0, 0.4);
}

.mobile-header-menu-buttons .navi-menu-button label.menu-close-button span {
  overflow: hidden;
  z-index: 1;
  opacity: 1;
  /*transition: opacity 300ms 100ms, transform .3s;*/
}

.mobile-header-menu-buttons .navi-menu-button label.menu-close-button:before {
  z-index: 2;
  transform: translate(0, -9px);
  content: "";
  transition: transform 400ms;
}

.mobile-header-menu-buttons .navi-menu-button label.menu-close-button:after {
  z-index: 2;
  transform: translate(0, 9px);
  content: "";
  transition: transform 400ms;
}

.mobile-header-menu-buttons .navi-menu-button label.menu-close-button span {
  /*opacity: 1;
transition: opacity 300ms 100ms, transform .3s;*/
}

.mobile-header-menu-buttons .navi-menu-button label.menu-close-button:before,
.mobile-header-menu-buttons .navi-menu-button label.menu-close-button:after {
  /*transition: transform 400ms;*/
}

.mobile-header-menu-buttons .navi-menu-button #navi-menu-input:checked~#navi-menu-close {}

.mobile-header-menu-buttons .navi-menu-button #navi-menu-input:checked~#navi-menu-close+.navi-menu-content label.menu-close-button span {
  opacity: 0;
  /*transform: translateX(-100%);
transition: transform .3s, opacity .3s .1s;*/
  /*transform: scaleX(0);
transition: scaleX .3s, opacity .3s .1s;*/
  width: 70px;
  height: 50px;
  top: 0;
  right: 0;
  /*transition: opacity .3s .1s;*/
}

.mobile-header-menu-buttons .navi-menu-button #navi-menu-input:checked~#navi-menu-close+.navi-menu-content label.menu-close-button:before {
  transform: rotate(135deg);
}

.mobile-header-menu-buttons .navi-menu-button #navi-menu-input:checked~#navi-menu-close+.navi-menu-content label.menu-close-button:after {
  transform: rotate(-135deg);
}

.menu-item,
.menu-button {
  /*スマホのタップ時の青いハイライトを消す*/
  -webkit-tap-highlight-color: transparent;
}

.menu-item {
  & a:hover {
    background-color: transparent;
  }
}

.navi-menu-content {
  .menu-item:not(.current-menu-item)>a:hover:before {
    content: "\f101";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: .5em;
    color: var(--cerulean);
    font-size: 90%;
  }

  .current-menu-item>a:before {
    content: "\f101";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: .5em;
    color: var(--cerulean);
  }

  .menu-item:not(.current-menu-item)>a:hover:after {
    content: "\f101";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: .5em;
    color: var(--cerulean);
    font-size: 90%;
  }

  .current-menu-item>a:after {
    content: "\f100";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: .5em;
    color: var(--cerulean);
  }
}

/*###### reCAPTCHA v3 表示 ######*/
.grecaptcha-badge {
  margin-bottom: 60px;
}

.recaptcha-description {
  display: none;
}

/* ###### パララックス ###### */
.moving-wrap {
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.moving-wrap.vertical {
  transform: translateY(2em);
}

.moving-wrap.vertical.active {
  transform: translateY(0);
}

.moving-wrap.horizontal {
  transform: translateX(-100%);
  opacity: 0;
}

.home .moving-wrap.horizontal {
  transform: translateX(100%);
  opacity: 0;
}

.moving-wrap.horizontal.active {
  transform: translateX(0);
  opacity: 1;
}

.moving-wrap.rotate {
  transform: rotate(-15deg);
  opacity: 0;
}

.moving-wrap.rotate.active {
  transform: rotate(0);
  opacity: 1;
}

.moving-wrap.vertical.rotate {
  transform: translateY(50%) rotate(-45deg);
  opacity: 0;
  box-shadow: none;
}

.moving-wrap.vertical.rotate.active {
  transform: translateY(0) rotate(0);
  opacity: 1;
  box-shadow: 0px 3px 6px;
}

.flex-container .flex-item.moving-wrap.horizontal:nth-of-type(2n) {
  transition-delay: 0.1s;
}

.grid-container .grid-item.moving-wrap.horizontal:nth-of-type(2n) {
  transition-delay: 0.1s;
}

/*###### プライバシーポリシー ######*/
.page.privacy-policy dl dt,
.page.tokushoho dl dt {
  font-weight: bold;
}

dd.mail-form-dd input[name="e1"] {
  width: 3em;
  margin-bottom: 10px;
}

dd.mail-form-dd input[name="e2"] {
  width: 15em;
  margin-bottom: 10px;
}

dd.mail-form-dd input[type="button"] {
  border-radius: 40px;
  border: none;
  background: var(--cerulean);
  box-shadow: 0 3px 1px var(--deep-cerulean);
  color: #fff;
  transition: all 0.3s;
  padding: .5em 1em;
  cursor: pointer;
  /*margin-top: 20px;*/
}

dd.mail-form-dd input[type="button"]:hover {
  background: var(--seagull);
  /*box-shadow: 0 -3px 1px #aa003e;*/
}

dd.mail-form-dd input[type="button"]:focus {
  outline: 0;
  background: var(--cerulean);
  box-shadow: 0 -3px 1px var(--deep-cerulean);
  transform: translateY(3px);
}

dl.mail-form-dl dt {
  clear: left;
  float: left;
  width: 8em;
}

dl.mail-form-dl dd {
  margin-left: 8.5em;
  margin-bottom: 1em;
}

/*###### フッター ######*/
.footer-bottom-content {
  margin-right: 50px;
}

.footer-bottom-logo .logo-image {
  max-width: 300px;
}

.footer-bottom-logo img {
  height: auto;
}

/*###### トップへ戻るボタン ######*/
.go-to-top {
  /*bottom: 60px;*/
}

.go-to-top-button {
  border-radius: 50%;
}

/*###### 非表示項目 ######*/
.page .date-tags {
  display: none;
}

.contact .sns-share,
.contact .sns-follow,
.privacy-policy .sns-share,
.privacy-policy .sns-follow {
  display: none;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1440px以下*/
@media screen and (max-width: 1440px) {

  /*** アピールエリア ***/
  #appeal {
    height: calc(100vw * 0.5);
  }
}

/*1023px以下*/
@media screen and (max-width: 1023px) {

  /*###### フッター ######*/
  .footer-bottom-content {
    margin-right: auto;
  }

  .mobile-menu-buttons {
    align-items: stretch;
    /*Cocoon2.6.9継承*/
  }

  .mobile-menu-buttons>li {
    padding-top: 3px;
    /*Cocoon2.6.9継承*/
  }
}

/*960px以下*/
@media screen and (max-width: 960px) {

  /*** アピールエリア ***/
  .appeal-content {
    .appeal-title {
      font-size: 360%;
    }

    .appeal-message {
      font-size: 450%;
    }
  }
}

/*834px以下*/
@media screen and (max-width: 834px) {

  /*** アピールエリア ***/
  #appeal {
    height: calc(100vw * 0.8);
  }

  .appeal-content {
    .appeal-title {
      font-size: 360%;
    }

    .appeal-message {
      font-size: 450%;
    }
  }
}

/*768px以下*/
@media screen and (max-width: 768px) {

  /*###### reCAPTCHA v3 表示 ######*/
  .grecaptcha-badge {
    visibility: hidden;
  }

  .recaptcha-description {
    display: block;
  }
}

/*666px以下*/
@media screen and (max-width: 666px) {

  /*** アピールエリア ***/
  #appeal {
    /*height: calc(100vw * 1.0);*/
  }

  .appeal-content {
    .appeal-title {
      font-size: 320%;
    }

    .appeal-message {
      font-size: 400%;
    }
  }

  /*** プライバシーポリシー ***/
  dl.mail-form-dl dt {
    float: none;
    width: auto;
  }

  dl.mail-form-dl dd {
    margin-left: 0;
  }
}

/*600px以下*/
@media screen and (max-width: 600px) {

  /*** アピールエリア ***/
  #appeal {
    /*height: calc(100vw * 1.0);*/
  }

  .appeal-content {
    .appeal-title {
      font-size: 250%;
    }

    .appeal-message {
      font-size: 305%;
    }
  }
}

/*480px以下*/
@media screen and (max-width: 480px) {

  /*** アピールエリア ***/
  .appeal-content {
    .appeal-title {
      font-size: 210%;
    }

    .appeal-message {
      font-size: 240%;
    }
  }

  /*** お知らせ ***/
  .dl-single-line.notice>dt {
    float: none;
    width: auto;
    text-align: left;
  }

  .dl-single-line.notice>dd {
    margin-left: 0;
    width: auto;
  }

  /*###### 組合概要 ######*/
  .summary .dl-single-line:not(.enkaku)>dt {
    float: none;
    width: auto;
    text-align: left;
  }

  .summary .dl-single-line:not(.enkaku)>dd {
    margin-left: 0;
    width: auto;
  }

  /*###### 問い合せフォーム ######*/
  .inquiry dl dt {
    float: none;
    width: auto;
    text-align: left;
  }

  .inquiry dl dd {
    margin-left: 0;
  }

  .inquiry dl.dl-single-line>dt {
    float: none;
    width: auto;
  }

  .inquiry dl.dl-single-line>dd {
    margin-left: 0;
    width: auto;
  }

  .inquiry dl.dl-single-line>dd.has-parent,
  .inquiry dl>dd.has-parent {
    & dt {
      float: none;
      width: auto;
    }

    & dd {
      margin-left: 0;
      width: auto;
    }
  }
}

/*350px以下*/
@media screen and (max-width: 350px) {

  /*** アピールエリア ***/
  .appeal-content {
    .appeal-title {
      font-size: 190%;
    }

    .appeal-message {
      font-size: 215%;
    }
  }
}