@charset "utf-8";
/*================================================================
【all】
=================================================================*/
*, ::before, ::after {
  padding: 0;
  margin: 0;
}
* {
  /*max-width: 100%;*/
  box-sizing: border-box;
}
ul li {
  list-style-type: none;
  list-style-position: inside;
}
ol li {
  list-style-type: decimal;
  list-style-position: outside;
}
a {
  text-decoration: none;
  color: inherit;
  pointer-events: auto !important;
}
.event-none { /*このクラス名を付けたaは優先的にeventが発生しなくなる*/
  pointer-events: none !important;
}
img {
  display: block;
}
dt {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(1.25rem, 1.018rem + 0.98vw, 1.75rem);
  font-weight: bold;
}
/*::::::::::::::::::::::::【全体基礎】:::::::::::::::::::::::::*/
html, body {
  /*height: 100%;*/
  scroll-behavior: smooth;
}
body {
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-optical-sizing: auto;
  /*
  font-size: clamp(1rem, 0.877rem + 0.52vw, 1.5rem);
*/
  font-size: clamp(1rem, 0.911rem + 0.38vw, 1.375rem);
  color: #534741;
  text-align: justify;
  position: relative;
  background-image: url("../image/common/back.png");
  background-size: contain;
  background-position: center;
  background-repeat: repeat;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*footer手前*/
.bottom-img {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
  width: 100%;
  height: 200px;
  background-image: url("../image/common/bottom.png");
  background-repeat: repeat-x;
  background-size: contain;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  .bottom-img {
    height: 176px;
  }
}
@media (max-width:900px) {
  .bottom-img {
    height: 132px;
  }
}
@media (max-width:600px) {
  .bottom-img {
    height: 93px;
  }
}
@media (max-width:450px) {
  .bottom-img {
    height: 65px;
  }
}
@media (max-width:420px) {}
@media (max-width: 400px) {}
/*::::::::::::::::::::【全ページ共有パターン】:::::::::::::::::*/
.ptn-01 {
  position: absolute;
  top: 10%;
  left: 0;
}
.ptn-02 {
  position: absolute;
  top: 30%;
  right: 0;
  width: 15%;
}
.ptn-03 {
  position: absolute;
  bottom: 30%;
  left: 0;
  width: 15%;
  transform: scaleX(-1);
}
.ptn-04 {
  position: absolute;
  bottom: 10%;
  right: 0;
  transform: scaleX(-1);
}
@media (max-width:1280px) {
  .ptn-02 {
    width: 20%;
  }
  .ptn-03 {
    width: 20%;
  }
}
@media (min-height:1366px) { /*ipad pro*/
  .ptn-02 {
    width: 30%;
  }
  .ptn-03 {
    width: 30%;
  }
}
@media (max-width:900px) {
  .ptn-02 {
    width: 30%;
  }
  .ptn-03 {
    width: 30%;
  }
}
@media (max-width:600px) {
  .ptn-01 {
    width: 70%;
  }
  .ptn-02 {
    width: 40%;
  }
  .ptn-03 {
    width: 40%;
  }
  .ptn-04 {
    width: 70%;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::::::::::::::::::::::【改行】:::::::::::::::::::::::::::::*/
.br-1500, .br-1400, .br-1300, .br-1030, .br-pro, .br-tb, .br-600, .br-450, .br-400 {
  display: none;
}
.br-pc {
  display: inline-block;
}
@media (max-width:1500px) {
  .br-pc, .br-1400, .br-1300, .br-1030, .br-pro, .br-tb, .br-600, .br-450, .br-400 {
    display: none;
  }
  .br-1500 {
    display: inline-block
  }
}
@media (max-width:1400px) {
  .br-pc, .br-1500, .br-1300, .br-1030, .br-pro, .br-tb, .br-600, .br-450, .br-400 {
    display: none;
  }
  .br-1400 {
    display: inline-block;
  }
}
@media (max-width:1300px) {
  .br-pc, .br-1500, .br-1400, .br-1030, .br-pro, .br-tb, .br-600, .br-450, .br-400 {
    display: none;
  }
  .br-1300 {
    display: inline-block;
  }
}
@media (max-width:1030px) {
  .br-pc, .br-1500, .br-1400, .br-1300, .br-pro, .br-tb, .br-600, .br-450, .br-400 {
    display: none;
  }
  .br-1030 {
    display: inline-block;
  }
}
@media (min-height:1366px) { /*ipad pro*/
  .br-pc, .br-1500, .br-1400, .br-1300, .br-tb, .br-1030, .br-600, .br-450, .br-400 {
    display: none;
  }
  .br-pro {
    display: inline-block;
  }
}
@media (max-width:900px) {
  .br-pc, .br-1500, .br-1400, .br-1300, .br-1030, .br-pro, .br-600, .br-450, .br-400 {
    display: none;
  }
  .br-tb {
    display: inline-block;
  }
}
@media (max-width:600px) {
  .br-pc, .br-1500, .br-1400, .br-1300, .br-1030, .br-pro, .br-tb, .br-450, .br-400 {
    display: none;
  }
  .br-600 {
    display: inline-block;
  }
}
@media (max-width:450px) {
  .br-pc, .br-1500, .br-1400, .br-1300, .br-1030, .br-pro, .br-tb, .br-600, .br-400 {
    display: none;
  }
  .br-450 {
    display: inline-block;
  }
}
@media (max-width:400px) {
  .br-pc, .br-1500, .br-1400, .br-1300, .br-1030, .br-pro, .br-tb, .br-600, .br-450 {
    display: none;
  }
  .br-400 {
    display: inline-block;
  }
} /*:::::::::::::::::::::::::【表示(ブロック)】:::::::::::::::::::::::::*/
.dis-1300, .dis-1030, .dis-pro, .dis-tb, .dis-600, .dis-450, .dis-400 {
  display: none;
}
.dis-pc {
  display: block;
}
@media (max-width:1300px) {
  .dis-pc, .dis-pro, .dis-tb, .dis-600, .dis-450, .dis-400, .dis-1030 {
    display: none;
  }
  .dis-1300 {
    display: block;
  }
}
@media (max-width:1030px) {
  .dis-pc, .dis-1300, .dis-1030, .dis-pro, .dis-600, .dis-450.dis-400 {
    display: none;
  }
  .dis-tb {
    display: block;
  }
}
@media (min-height:1366px) { /*ipad pro*/
  .dis-pc, .dis-1300, .dis-tb, .dis-1030, .dis-600, .dis-450, .dis-400 {
    display: none;
  }
  .dis-pro {
    display: inline-block;
  }
}
@media (max-width:900px) {
  .dis-pc, .dis-1300, .dis-1030, .dis-pro, .dis-600, .dis-450, .dis-400 {
    display: none;
  }
  .dis-tb {
    display: block;
  }
}
@media (max-width:600px) {
  .dis-pc, .dis-1300, .dis-1030, .dis-pro, .dis-tb, .dis-450, .dis-400 {
    display: none;
  }
  .dis-600 {
    display: block;
  }
}
@media (max-width:450px) {
  .dis-pc, .dis-1300, .dis-1030, .dis-pro, .dis-tb, .dis-600, .dis-400 {
    display: none;
  }
  .dis-450 {
    display: block;
  }
}
@media (max-width:400px) {
  .dis-pc, .dis-1300, .dis-1030, .dis-pro, .dis-tb, .dis-600, .dis-450 {
    display: none;
  }
  .dis-400 {
    display: block;
  }
}
/*::::::::::::::::::::::::【表示(インライン)】::::::::::::::::::::::::*/
.in-1300, .in-1030, .in-pro, .in-tb, .in-600, .in-450, .in-400 {
  display: none;
}
.in-pc {
  display: inline-block;
}
@media (max-width:1300px) {
  .in-pc, .in-pro, .in-tb, .in-600, .in-450, .in-400, .in-1030 {
    display: none;
  }
  .in-1300 {
    display: inline-block;
  }
}
@media (max-width:1030px) {
  .in-pc, .in-1300, .in-pro, .in-tb, .in-600, .in-450, .in-400 {
    display: none;
  }
  .in-1030 {
    display: inline-block;
  }
}
@media (min-height:1366px) { /*ipad pro*/
  .in-pc, .in-1300, .in-1030, .in-tb, .in-600, .in-450, .in-400 {
    display: none;
  }
  .in-pro {
    display: inline-block;
  }
}
@media (max-width:900px) {
  .in-pc, .in-1300, .in-1030, .in-pro, .in-600, .in-450, .in-400 {
    display: none;
  }
  .in-tb {
    display: inline-block;
  }
}
@media (max-width:600px) {
  .in-pc, .in-1300, .in-1030, .in-pro, .in-tb, .in-450, .in-400 {
    display: none;
  }
  .in-600 {
    display: inline-block;
  }
}
@media (max-width:450px) {
  .in-pc, .in-1300, .in-1030, .in-pro, .in-tb, .in-600, .in-400 {
    display: none;
  }
  .in-450 {
    display: inline-block;
  }
}
@media (max-width:400px) {
  .in-pc, .in-1300, .in-1030, .in-pro, .in-tb, .in-600, .in-450 {
    display: none;
  }
  .in-400 {
    display: inline-block;
  }
}
/*:::::::::::::::::::::::::::::::【非表示】:::::::::::::::::::::::::::::*/
.opa {
  opacity: 0;
}
.none-1500, .none-1400, .none-1300, .none-1030, .none-pro, .none-tb, .none-600, .none-450, .none-400 {
  display: inline-block;
}
.none-pc {
  display: none;
}
@media (max-width:1500px) {
  .none-pc, .none-1400, .none-1300, .none-pro, .none-tb, .none-600, .none-450, .none-400, .none-1030 {
    display: inline-block;
  }
  .none-1500 {
    display: none;
  }
}
@media (max-width:1400px) {
  .none-pc, .none-1500, .none-1300, .none-pro, .none-tb, .none-600, .none-450, .none-400, .none-1030 {
    display: inline-block;
  }
  .none-1400 {
    display: none;
  }
}
@media (max-width:1300px) {
  .none-pc, .none-1500, .none-1400, .none-pro, .none-tb, .none-600, .none-450, .none-400, .none-1030 {
    display: inline-block;
  }
  .none-1300 {
    display: none;
  }
}
@media (max-width:1030px) {
  .none-pc, .none-1500, .none-1400, .none-1300, .none-pro, .none-tb, .none-600, .none-450, .none-400 {
    display: inline-block;
  }
  .none-1030 {
    display: none;
  }
}
@media (min-height:1366px) { /*ipad pro*/
  .none-pc, .none-1500, .none-1400, .none-1300, .none-tb, .none-1030, .none-600, .none-450, .none-400 {
    display: inline-block;
  }
  .none-pro {
    display: none;
  }
}
@media (max-width:900px) {
  .none-pc, .none-1500, .none-1400, .none-1300, .none-1030, .none-pro, .none-600, .none-450, .none-400 {
    display: inline-block;
  }
  .none-tb {
    display: none;
  }
}
@media (max-width:600px) {
  .none-pc, .none-1500, .none-1400, .none-1300, .none-1030, .none-pro, .none-tb, .none-450, .none-400 {
    display: inline-block;
  }
  .none-600 {
    display: none;
  }
}
@media (max-width:450px) {
  .none-pc, .none-1500, .none-1400, .none-1300, .none-1030, .none-pro, .none-tb, .none-600, .none-400 {
    display: inline-block;
  }
  .none-450 {
    display: none;
  }
}
@media (max-width:400px) {
  .none-pc, .none-1500, .none-1400, .none-1300, .none-1030, .none-pro, .none-tb, .none-600, .none-450 {
    display: inline-block;
  }
  .none-400 {
    display: none;
  }
}
/*::::::::::::::::::::【太字】::::::::::::::::::::*/
.bold {
  font-weight: bold;
}
/*::::::::::::::::::::【フォント】::::::::::::::::::::*/
.f-dgo { /*Dela Gothic One*/
  font-family: "Dela Gothic One", sans-serif;
}
.f-zkgn { /*Zen Kaku Gothic New*/
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.f-mpr1 { /*M PLUS Rounded 1c*/
  font-family: "M PLUS Rounded 1c", sans-serif;
}
.f-sm { /*Shippori Mincho*/
  font-family: "Shippori Mincho", serif;
}
.f-ko { /*Klee One*/
  font-family: "Klee One", cursive;
}
.f-yb { /*Yuji Boku*/
  font-family: "Yuji Boku", serif;
}
/*::::::::::::::::::::【大文字】::::::::::::::::::::*/
/*::::::::::::::::::::【小文字】::::::::::::::::::::*/
/*::::::::::::::::::::【色】::::::::::::::::::::*/
.red {
  color: #bf0000;
}
.green {
  color: #06c755;
}
.blue {
  color: #109EFF;
}
/*:::::::::::::::::::::::::::::::【下線】:::::::::::::::::::::::::::::*/
.kasen {
  position: relative;
  text-decoration: none;
  color: inherit;
}
.kasen::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background-color: currentColor;
  transition: width 0.3s ease-in-out;
}
.kasen:hover::after {
  width: 100%;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (max-width:900px) {
  .kasen::after {
    /* width: 100%;*/ /*表示したまま*/
    display: none;
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::::::::::::::::::::::【下線-01】:::::::::::::::::::::::::::::*/
.kasen-01 li {
  position: relative;
  margin: 0;
  padding: 0;
}
.kasen-01 li a {
  color: #000; /* リンク文字の色 */
  position: relative; /* 下線用のスタイルに対応 */
}
.kasen-01 li a::after {
  content: ''; /* 下線を生成 */
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%; /* テキスト幅に基づく */
  height: 1px; /* 下線の太さ */
  background: #000; /* 下線の色 */
  transform: scaleX(0); /* 初期状態で非表示 */
  transform-origin: left; /* 左から右にアニメーション */
  transition: transform 0.3s ease; /* スムーズなアニメーション */
}
.kasen-01 li a:hover::after {
  transform: scaleX(1); /* ホバー時に下線を表示 */
}
.kasen-01 li a.mark::after {
  transform: scaleX(1); /* 現在のページに対応するリンクも下線を表示 */
}
/*:::::::::::::::::::::::::::::::【下線②】:::::::::::::::::::::::::::::*/
.kasen-02 {
  position: relative;
  margin: 0;
  padding: 0;
}
.kasen-02 a span {
  /*color: #000;*/
  position: relative;
}
.kasen-02 a span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #6D6967;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.kasen-02 a span:hover::after {
  transform: scaleX(1);
}
/*:::::::::::::::::::::::::::::【下線画像】:::::::::::::::::::::::::::*/
.kasen-img {
  position: relative;
}
.kasen-img img {
  position: absolute;
  width: 100%;
  height: 20px;
  bottom: -10px;
  left: -10px;
  z-index: -1;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (max-width:900px) {}
@media (max-width:600px) {}
@media (max-width:450px) {
  .kasen-img img {
    height: 10px;
    bottom: 0;
  }
}
/*:::::::::::::::::::::::::::::【アンダーライン】:::::::::::::::::::::::::::::*/
.under-line {
  text-decoration: underline;
}
/*:::::::::::::::::::::::::::::::【マーカー】:::::::::::::::::::::::::::::*/
/*--------------【ハーフマーカー】----------------*/
.half-marker {
  background: linear-gradient(to bottom, transparent 60%, rgba(255, 255, 0, 0.5) 30%);
}
/*::::::::::::::::::::::::::::::【電話番号リンク】:::::::::::::::::::::::::::*/
@media (min-width: 801px) {
  a[href^="tel:"] {
    pointer-events: none !important;
  }
}
/*:::::::::::::::::::::::::::::::【リンク】:::::::::::::::::::::::::::::*/
.link {
  text-decoration: underline;
}
/*::::::::::::::::::::::::::::【テーブル（全線）】:::::::::::::::::::::::::::*/
.table-01 {
  width: 100%;
  display: table;
  border-collapse: collapse;
  border: 1px solid #00472a;
  background-color: #FFFFFF;
}
.table-01 th {
  width: 20%;
  border-bottom: 1px solid #00472a;
  border-right: 1px solid #00472a;
  text-align: center;
  background-color: #43cf9a;
  color: #fff;
}
.table01-first {}
.table01-last th {
  border-bottom: 1px solid #00472a;
}
.table-01 td {
  width: 50%;
  border-bottom: 1px solid #00472a;
  padding: 30px;
  /*  padding-left: 80px;*/
  text-align: left;
}
.table-01 td p {
  margin-bottom: 10px;
}
.table-01 td iframe {
  height: 350px;
}
/*:::::::::::【レスポンシブ フレックス】::::::::::*/
/*@media (max-width:1280px) {
  .table-01 td {
    padding: 30px;
  }
}
@media (max-width:1024px) {}
@media (max-width:900px) {}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}*/
/*:::::::::::【レスポンシブ カラム】::::::::::*/
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (max-width:900px) {}
@media (max-width:600px) {
  .table-01 {
    width: 100%;
    border: 1px solid #00472a;
  }
  .table-01 tr {
    display: flex;
    flex-direction: column;
  }
  .table-01 th {
    width: 100%;
    padding: 20px 5px;
    background-color: #43cf9a;
    border: 1px solid #43cf9a !important;
    color: #fff;
  }
  .table-01 td {
    width: 100%;
    padding: 20px 10px;
    /*background-color: #FFFFFF;*/
    text-align: center;
  }
  .table-01 ul li {
    margin-left: 15px !important;
  }
  .column-center td { /*複数リストを中央揃え*/
    display: flex;
    flex-direction: column;
    /*justify-content: center;*/
    align-items: center;
    text-align: left;
    /*padding-left: 30%;*/
  }
}
@media (max-width:450px) {
  .column-center td { /*複数リストを中央揃え*/
    /*padding-left: 25%;*/
  }
}
@media (max-width: 400px) {
  .column-center td { /*複数リストを中央揃え*/
    /*padding-left: 20%;*/
  }
}
/*::::::::::::::::::::::::【テーブル（中央線）】:::::::::::::::::::::::*/
.table-02 {
  display: inline-table !important;
  /*margin: 50px auto;*/
  border-collapse: collapse;
  /*  border: 1px solid #7DB7B1;*/
  display: flex;
  justify-content: center;
  align-items: center;
}
.table-02 th {
  /* width: 20%;*/
  padding-right: 80px;
  /* border-bottom: 1px solid #7DB7B1;*/
  border-right: 1px solid #6fcec3;
  /*text-align: center;*/
  /*vertical-align: top;*/ /*縦方向（top）に揃えて表示*/
}
.table-02 td {
  /*width: 50%;*/
  /*border-bottom: 1px solid #7DB7B1;*/
  padding: 30px;
  padding-left: 80px;
  padding-right: 0;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (max-width:900px) {
  .table-02 th {
    padding-right: 30px;
  }
  .table-02 td {
    padding-left: 30px;
  }
}
@media (max-width:600px) {
  .table-02 th {
    width: 30%;
    text-align: center
  }
  .table-02 td {
    width: 70%;
    padding-left: 30px;
  }
}
@media (max-width:450px) {
  .table-02 th {
    padding-right: 5px;
  }
  .table-02 td {
    padding: 15px;
    padding-left: 20px;
    padding-rigth: 0;
  }
}
@media (max-width: 400px) {
  .table-02 td {
    padding-left: 15px;
    padding-rigth: 0;
  }
}
/*::::::::::::::::::::::::【テーブル（下線）】:::::::::::::::::::::::*/
.table-03 {
  margin: 0 auto;
  border-collapse: collapse;
}
tbody {
  width: 100%;
}
.table-03 tr {
  width: 100%;
}
.table-03 th {
  width: auto;
  padding: 20px 10px 20px 10px;
  border-bottom: 1px solid #1e753e;
  text-align: center;
}
.table-03 td {
  width: auto;
  border-bottom: 1px solid #1abc9c;
  padding: 20px;
  padding-left: 40px;
}
.table-03 td span {
  text-decoration: underline;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (max-width:900px) {}
@media (max-width:600px) {}
@media (max-width:450px) {
  .table-03 th {
    width: auto;
    padding: 10px;
  }
  .table-03 td {
    padding: 10px;
    padding-left: 10px;
  }
}
/*:::::::::::::::::::::::【テーブル（線なし）】:::::::::::::::::::::::*/
.table-04 {
  margin: 0 auto;
  border-collapse: collapse;
}
tbody {
  width: 100%;
}
.table-04 tr {
  width: 100%;
}
.table-04 th {
  width: auto;
  padding: 20px 10px 20px 10px;
  text-align: center;
}
.table-04 td {
  width: auto;
  padding: 20px;
  padding-left: 40px;
}
.table-04 td span {
  text-decoration: underline;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (max-width:900px) {}
@media (max-width:600px) {
  .table-04 td {
    padding-left: 50px;
  }
}
@media (max-width:450px) {
  .table-04 th {
    width: 25%;
  }
  .table-04 td {
    padding-left: 30px;
    padding: 20px 10px;
  }
}
/*::::::::::::::::::【テーブル（th td分け）】:::::::::::::::::::::*/
.table-05 {
  margin: 0 auto;
  border: 1px solid #035a23;
  background-color: #00472a;
  border-collapse: collapse;
}
.table-05 tbody {
  width: 100%;
}
.table-05 tr {
  width: 100%;
}
.table-05 th {
  vertical-align: top;
  width: 30%; /* ← thは30%幅 */
  padding: 20px 20px 10px 20px;
  text-align: left;
  white-space: nowrap;
  color: #FFFFFF;
}
.table-05 td {
  width: auto;
  padding: 20px;
  background-color: #fff;
  border-bottom: 1px solid #035a23;
}
@media (max-width:600px) {
  .table-05, .table-05 tbody, .table-05 tr, .table-05 th, .table-05 td {
    display: block;
    width: 100%;
  }
  .table-05 th {
    padding: 10px 20px;
    background-color: transparent;
  }
}
/*:::::::::::::::::::::::::::::【テーブル必須】:::::::::::::::::::::::::::*/
.h-flex {
  display: flex;
  justify-content: space-between; /* 左右端に配置 */
  align-items: center;
  gap: .5em; /* 左右の間隔調整（任意） */
}
.h-flex p {
  flex: 1 1 auto; /* 左側は可変幅で広がる */
  margin: 0;
}
.h-flex span {
  flex: 0 0 auto; /* 右側は固定幅 */
  background-color: #fff;
  padding: 0.25em 0.5em;
  color: #00472a;
  white-space: nowrap;
  font-size: clamp(0.875rem, 0.816rem + 0.25vw, 1.125rem);
}
@media (max-width:600px) {
  .h-flex {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: .5em; /* 左右の間隔調整（任意） */
  }
}
/*:::::::::::::::::::::::::::::【テーブル並び】:::::::::::::::::::::::::::*/
@media (max-width:600px) {
  table td {
    width: 100% !important;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  table td div {
    text-align: left;
  }
}
/*:::::::::::::::::::::::::::::【flex】:::::::::::::::::::::::::::*/
.flex {
  display: flex;
  justify-content: center;
  align-items: center;
}
/*.flex img {
	width: 45%;
}
.flex dl {
	width: 45%;
}*/
/*:::::【flex リバース】:::::*/
.reverse {
  flex-direction: row-reverse;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {
  .flex {
    flex-direction: column;
  }
  .flex img {
    width: 100%;
  }
  .flex dl {
    width: 100%;
  }
}
@media (max-width:600px) {
  .flex {
    flex-direction: column;
  }
  .flex img {
    width: 100%;
  }
  .flex dl {
    width: 100%;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::::::::::::::【クリックイベントなし】:::::::::::::::::::::*/
.no-click {
  pointer-events: none;
  cursor: default;
}
/*========================================================================
【冒頭】
========================================================================*/
/*:::::::::::【背景・横幅】::::::::::*/
.boutou-back {
  padding-bottom: 250px !important;
}
/*:::::::::::【コンテンツ】::::::::::*/
.page-cont {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  grid-gap: 20px;
}
/*:::::::::::【イメージ】::::::::::*/
.p-img {
  position: relative;
  height: 500px;
  width: 200px;
}
.p-img .p-img1 {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -2;
  height: 500px;
  width: 350px;
  background-color: #aff9db;
  border-top-left-radius: 40%;
  border-top-right-radius: 40%;
}
.p-img .p-img2 {
  position: absolute;
  bottom: -50px;
  right: 100px;
  transform: translate(-100px, 50px);
  z-index: -1;
  height: 250px;
  width: 250px;
  background: #aff9db;
  border-radius: 50%;
}
/*:::::::::::【イメージオーバーレイ】::::::::::*/
.img-ol-01 {
  position: relative;
  /*padding: 100px 0;*/
}
.img-ol-01::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  z-index: 2;
  border-top-left-radius: 40%;
  border-top-right-radius: 40%;
}
.img-ol-02 {
  position: relative;
  /*padding: 100px 0;*/
}
.img-ol-02::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  z-index: 2;
  border-radius: 50%;
}
.img-ol-box {
  position: relative;
  z-index: 5;
}
@media (max-width:600px) {
  .img-ol-01::before, .img-ol-02::before {
    background-color: transparent;
  }
}
/*:::::::::::【テキスト】::::::::::*/
.page-cont dl {
  width: auto;
}
.page-cont dl dt {
  font-size: clamp(1.25rem, 1.034rem + 0.91vw, 2.125rem);
  margin-bottom: 20px;
  color: #035a23;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  .boutou-back {
    padding-bottom: 200px !important;
  }
  .p-img {
    height: 400px;
    width: 50px;
  }
  .p-img .p-img1 {
    height: 400px;
    width: 300px;
  }
  .p-img .p-img2 {
    left: 0;
    height: 180px;
    width: 180px;
    transform: translate(-330px, 0);
  }
}
@media (max-width:900px) {
  .boutou-back {
    padding-bottom: 200px !important;
  }
  .p-img {
    height: 300px;
    width: 50px;
  }
  .p-img .p-img1 {
    height: 300px;
    width: 230px;
  }
  .p-img .p-img2 {
    height: 150px;
    width: 150px;
    transform: translate(-15px, 0);
  }
}
@media (max-width:600px) {
  .boutou-back {
    padding-bottom: 150px !important;
  }
  .page-cont {
    flex-direction: column;
    grid-gap: 20px;
  }
  .p-img {
    left: 10%;
    height: 400px;
    width: 60%;
  }
  .p-img .p-img1 {
    position: relative;
    height: 100%;
    width: 100%;
  }
  .p-img .p-img2 {
    left: -90px;
    height: 180px;
    width: 180px;
  }
}
@media (max-width:450px) {
  .page-cont dl dt {
    text-align: center;
  }
  .p-img {
    height: 350px;
    width: 250px;
  }
  .p-img .p-img2 {
    left: -90px;
    height: 180px;
    width: 180px;
  }
}
@media (max-width: 400px) {
  .p-img {
    height: 300px;
    width: 60%;
  }
  .p-img .p-img2 {
    left: -60px;
    height: 150px;
    width: 150px;
  }
}
/*=========================================================
【ページタイトル】
==========================================================*/
.page-title {
  width: 100%;
}
.page-title img {
  width: 100%;
}
/*=========================================================
【セクションタイトル】
==========================================================*/
.section-title {
  position: relative;
  width: 100%;
  height: 30vh;
  background-color: #aff9db;
  color: #534741;
  overflow: hidden;
  display: flex;
}
.section-title div.st-circle {
  position: absolute;
  left: -570px;
  width: 85vw;
  height: 100vh;
  background-color: #035a23;
  background-image: url("../image/common/section-title-ptn.png");
  background-repeat: repeat;
  border-radius: 100%;
}
.section-title p {
  width: 40%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-family: "Klee One", cursive;
  font-weight: 400;
  font-weight: bold;
  font-size: clamp(1.25rem, 0.818rem + 1.82vw, 3rem);
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
  .section-title {
    height: 15vh;
  }
  .section-title div.st-circle {
    left: -620px;
    width: 140vw;
  }
}
@media (max-width:900px) {
  .section-title {
    height: 20vh;
  }
  .section-title div.st-circle {
    left: -610px;
    width: 155vw;
  }
}
@media (max-width:600px) {
  .section-title div.st-circle {
    left: -435px;
  }
}
@media (max-width:450px) {
  .section-title {
    height: 11vh;
  }
  .section-title div.st-circle {
    left: -280px;
  }
  .section-title p {
    width: 45%
  }
}
@media (max-width: 400px) {
  .section-title {
    height: 14vh;
  }
  .section-title div.st-circle {
    left: -250px;
  }
}
/*=========================================================
【メインタイトル】
==========================================================*/
.main-title {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}
.main-title h3 {
  color: #007545;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: clamp(2rem, 1.753rem + 1.04vw, 3rem);
  letter-spacing: -0.06em;
  line-height: 1.1;
  margin: 5px;
}
.main-title span {
  font-size: clamp(1rem, 0.877rem + 0.52vw, 1.5rem);
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 300;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) {}
@media (max-width:900px) {
  .main-title {
    width: 100%;
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*==================================================================
【サブタイトル】
===================================================================*/
.sub-title {
  display: flex;
  align-items: center;
  justify-content: center; /* 中央揃え */
  gap: 10px; /* テキストと線の間隔 */
}
.sub-title::before, .sub-title::after {
  content: "";
  display: block;
  width: 30px; /* 線の長さ */
  height: 4px; /* 線の太さ */
  background-color: #472a17; /* 線の色 */
}
.sub-title p {
  font-family: "Sawarabi Gothic", serif;
  text-align: center;
  max-width: 80%;
  font-size: clamp(16px, 5vw, 32px); /* 最小16px〜最大32pxの範囲で自動調整 */
  font-weight: bold;
}
@media (min-height:1366px) { /*ipad pro*/
  .sub-title {
    gap: 30px;
  }
}
@media (max-width:900px) {
  .sub-title {
    gap: 30px;
  }
  .sub-title p {
    font-size: clamp(16px, 5vw, 24px) !important; /* 最小16px〜最大32pxの範囲で自動調整 */
  }
}
@media (max-width:600px) {
  .sub-title {
    gap: 5px;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*=================================================================
【ボタン】
===================================================================*/
/* 見た目調整用の変数 */
.btn {
  --arrow-w: 120px; /* 矢印の横幅 */
  --circle: 34px; /* 丸の直径 */
  --gap: 14px; /* 文字と矢印の間隔 */
  --ink: #534741; /* テキスト/矢印色 */
  --mint: #13ea8d; /* 丸の色 */
  --dur: .5s; /* アニメ時間 */
  display: inline-flex;
  align-items: center;
  gap: var(--gap);
  color: var(--ink);
  text-decoration: none;
  font: 500 clamp(1rem, 0.877rem + 0.52vw, 1.5rem)/1 "M PLUS Rounded 1c", sans-serif;
  position: relative;
  margin: 30px auto;
}
/* 矢印の器 */
.btn .b-arrow-wrap {
  position: relative;
  width: var(--arrow-w);
  height: 20px; /* 当たり判定用の高さ */
}
/* 線本体 */
.btn .b-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 2px;
  background: currentColor;
  transform: translateY(-50%);
}
/* 先端（”>”） */
.btn .b-line::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
/* 緑の丸（初期はテキスト側に重なる位置） */
.btn .b-circle {
  position: absolute;
  top: 50%;
  left: calc(0px - var(--circle) * .35); /* 文字側に少し食い込ませる */
  width: var(--circle);
  height: var(--circle);
  border-radius: 50%;
  background: var(--mint);
  transform: translateY(-50%) translateX(0);
  transition: transform var(--dur) cubic-bezier(.2, .7, 0, 1);
  will-change: transform;
  pointer-events: none;
  mix-blend-mode: multiply; /* 任意：下の色と馴染ませる */
}
/* ホバー：丸を先端へ */
.btn:hover .b-circle, .btn:focus-visible .circle {
  transform: translateY(-50%) translateX(calc(var(--arrow-w) - var(--circle) * .30));
}
/* フォーカスリング */
.btn:focus-visible {
  outline: 2px solid #9ad9c5;
  outline-offset: 4px;
}
/* 動きを減らしたいユーザー配慮 */
@media (prefers-reduced-motion: reduce) {
  .btn .b-circle {
    transition: none;
  }
}
/*=========================================================
【header】ヘッダーPC
===========================================================*/
.h-res-box {
  display: none;
}
/**/
#header {
  height: 100px;
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 50;
  text-shadow: none;
  background-color: #fff;
  transition: box-shadow 0.3s ease-in-out;
  padding: 0 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
/* スクロール時に影を追加するクラス */
.header-shadow {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.content {
  height: 2000px;
  background: linear-gradient(#f0f0f0, #ccc);
}
/**/
.h-pc-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/**/
.pc-nav-container ul {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  height: 100px;
  width: 100%;
  padding: 10px;
}
.pc-nav-container li {
  height: 100%;
  display: flex;
  align-items: center;
}
.pc-nav-container img {
  height: 100px;
}
@media (max-width:600px) {
  #header {
    height: 80px;
  }
  .h-pc-box {
    display: none;
  }
  .h-res-box {
    display: block;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::::::::::::::::::::【ロゴ】:::::::::::::::::::::::::::::*/
h1 {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2% 0;
  position: relative;
  z-index: 9999;
}
h1 a {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
h1 a img {
  height: 80px;
  /*
  margin-right: 10px;
*/
}
h1 a span {
  font-family: "Shippori Mincho", serif;
  font-size: clamp(1rem, 0.877rem + 0.52vw, 1.5rem);
  color: #1e753e;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {}
@media (max-width:600px) {
  h1 {
    top: 0;
  }
  h1 a {
    font-size: 1.6rem;
  }
  h1 a img {
    height: 100%;
  }
}
@media (max-width:450px) {
  h1 a {
    font-size: 24px;
  }
  /*  h1 a img {
    height: 60px;
  }*/
}
@media (max-width: 400px) {
  h1 a {
    font-size: 20px;
  }
  /*  h1 a img {
    height: 50px;
  }*/
}
/*:::::::::::::::::::::::::::::【メニュー】:::::::::::::::::::::::::::::*/
.pc-nav {
  width: 60%;
  font-size: clamp(1rem, 0.559rem + 0.78vw, 1.5rem);
}
.site-menu {
  display: flex;
  justify-content: space-between;
}
.pc-nav a {
  color: #534741 !important;
}
/*:::::::::::::::::::::::::::::【メニューボタン】:::::::::::::::::::::::::::::*/
/*==================================================
　5-2-4 MENUがCLOSEに
===================================*/
/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.h-openbtn {
  /*ボタン内側の基点となるためrelativeを指定。
追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
  position: relative;
  top: 7px;
  left: -10px;
  cursor: pointer;
  width: 50px;
  height: 50px;
  border-radius: 5px;
  z-index: 9999;
}
/*ボタン内側*/
.h-openbtn span {
  display: inline-block;
  transition: all .4s; /*アニメーションの設定*/
  position: absolute;
  left: 0;
  height: 2px;
  border-radius: 5px;
  background: #1a601f;
  width: 90%;
}
.h-openbtn span:nth-of-type(1) {
  top: 10px;
}
.h-openbtn span:nth-of-type(2) {
  top: 5px;
}
.h-openbtn span:nth-of-type(3) {
  top: 15px;
}
.h-openbtn span:nth-of-type(3)::after {
  content: "menu"; /*3つ目の要素のafterにMenu表示を指定*/
  position: absolute;
  top: 2px;
  left: 0;
  color: #1a601f;
  font-size: 14px;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
}
/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/
.h-openbtn.active span:nth-of-type(1) {
  top: 3px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}
.h-openbtn.active span:nth-of-type(2) {
  opacity: 0;
}
.h-openbtn.active span:nth-of-type(3) {
  top: 15px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}
.h-openbtn.active span:nth-of-type(3)::after {
  content: "close"; /*3つ目の要素のafterにClose表示を指定*/
  transform: translateY(0) rotate(-45deg);
  top: 1px;
  left: -11px;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  .h-openbtn span:nth-of-type(3)::after {
    left: -2px;
  }
}
@media (max-width:900px) {
  .h-openbtn span:nth-of-type(3)::after {
    left: -2px;
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {
  .h-openbtn {
    left: 0;
  }
  .h-openbtn span:nth-of-type(3)::after {
    top: 6px;
    left: -3px;
    font-size: 16px;
  }
  .h-openbtn.active span:nth-of-type(3)::after {
    top: 2px;
    left: -15px;
  }
}
@media (max-width: 400px) {}
/*:::::::::::::::::::::::::::::【ナビコンテナ】::::::::::::::::::::::::::*/
.h-res-container {
  position: fixed;
  z-index: 999;
  opacity: 0;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  margin: 0 auto;
  overflow-y: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5);
}
.h-res-container::before {
  content: '';
  position: absolute;
  background-image: url("../image/common/cloud-right.png");
  background-position: right;
  background-size: contain;
  background-repeat: repeat;
  /*【上から出現】*/
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 888;
  overflow-y: hidden;
}
/*:::::【panelactiveが付与したとき】:::::*/
.h-res-container.panelactive {
  opacity: 1;
}
.h-res-container {
  display: none;
}
.h-res-container.panelactive {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: flex-start;
  background-image: url("../image/common/back.png");
  background-size: contain;
  background-repeat: repeat;
  height: 100%;
  padding-top: 80px;
}
.h-res-container a .mark {
  display: inline-block !important;
}
/*:::::【メニュー内ロゴ】:::::*/
.nav-logo {
  width: 40%;
  margin: 0 auto;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {}
@media (max-width:600px) {
  .h-res-container {
    width: 100%; /*コンテナの横幅*/
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::::::::::::::::::::【ナビ全体】::::::::::::::::::::::::::*/
.h-nav {
  height: 100%;
  width: 30%;
  margin-left: auto;
  position: relative;
  z-index: 999;
  font-size: clamp(1rem, 0.877rem + 0.52vw, 1.5rem);
  overflow-y: auto;
  background-color: #ecffe3;
  background-image: url("../image/common/header-back.png");
  background-size: cover;
  background-position: bottom;
  box-shadow: -1px 0 1px #9eb2a2;
}
.h-nav::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 2;
}
.h-nav img {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.h-nav ul {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: flex-start;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
.h-nav .h-menu { /*メニュー*/
  height: 100%;
}
.h-nav ul li {
  padding: 0 20px;
  width: 100%;
}
.h-nav li {
  margin-bottom: 0;
  padding: 5px 0;
  border-bottom: 1px solid #c1c1c1;
  padding-left: 30px;
  height: 100%;
  display: inline-flex !important;
  flex-direction: column;
  justify-content: center;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  .h-nav {
    width: 40%;
  }
}
@media (max-width:900px) {
  .h-nav {
    width: 45%;
  }
}
@media (max-width:600px) {
  .h-nav {
    width: 100%;
  }
  .h-nav ul li {
    padding-left: 30px !important;
  }
}
@media (max-width:450px) {
  .h-nav .h-menu { /*メニュー*/
    height: 100%;
  }
  .h-nav .h-contact { /*コンタクト*/
    height: 50%;
  }
  .h-nav ul li {
    padding-left: 30px !important;
  }
}
@media (max-width: 400px) {}
/*:::::::::::::::::::::::::::::【サイトメニュー】::::::::::::::::::::::::::*/
.h-menu {
  position: relative;
  z-index: 1000;
}
.h-menu li {
  /* color: #137700;*/
}
.h-menu a {
  display: inline-block !important;
}
/*:::::【hover markがついたとき】:::::*/
.h-menu li a:hover {
  color: #007545 !important;
  font-weight: 800;
}
.h-menu li a.mark {
  color: #007545 !important;
  font-weight: 800;
}
.menu-name {
  color: #137700;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::::::::::::::::::::【コンタクト】::::::::::::::::::::::::::*/
.h-contact li a {
  text-decoration: underline;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::::::::::::::::::::【ナビメニュー名前】::::::::::::::::::::::::::*/
.menu-name {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {}
@media (max-width:600px) {
  .menu-name {
    font-size: 1.3rem;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*==========================================================================
main
==========================================================================*/
#main {
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
/*:::::::::::::::::::::::::::::【アンカー】:::::::::::::::::::::::::::::::::*/
/* アンカーリンクが作用する要素に適用 */
.anchor-target {
  scroll-margin-top: 80px;
}
@media (max-width:900px) {
  .anchor-target {
    scroll-margin-top: 80px;
  }
}
@media (max-width:600px) {
  .anchor-target {
    scroll-margin-top: 80px !important;
  }
}
/*:::::::::::::::::::::::::::::【空白box】:::::::::::::::::::::::::::::::::*/
.empty {
  display: block;
  height: 100px;
}
@media (max-width:900px) {}
@media (max-width: 600px) {
  .empty {
    display: block;
    height: 80px;
  }
}
@media (max-width: 450px) {}
@media (max-width: 400px) {}
/*:::::::::::::::::::::::::::::【背景】:::::::::::::::::::::::::::::::::::*/
.back, .box {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
/*:::::::::::【オーバーレイ】::::::::::*/
.overlay {
  position: relative;
  /*padding: 100px 0;*/
}
.overlay::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  z-index: 2;
}
.overlay-box {
  position: relative;
  z-index: 5;
}
/*:::::::::::::::::::::::::::【概要マップ】:::::::::::::::::::::::::::::::::::*/
.gaiyou-map iframe {
  margin-top: 20px;
  width: 100%;
  height: 350px;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  .gaiyou-map iframe {
    height: 300px !important;
  }
}
@media (max-width:900px) {
  .gaiyou-map iframe {
    height: 250px !important;
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {
  .gaiyou-map iframe {
    height: 220px !important;
  }
}
@media (max-width: 400px) {}
/*=========================================================
footer
=========================================================*/
#footer {
  position: relative;
  width: 100%;
  overflow-x: hidden;
  background-color: #c5ead9;
  background-image: url("../image/common/footer-back.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.footer-box {}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {}
@media (max-width:600px) {
  #footer {
    background-image: url("../image/common/footer-back-res.png");
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*::::::::::::::::::::::::【footer会社概要box】:::::::::::::::::::::::*/
.f-gaiyou-box {
  padding: 50px;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  margin-top: 50px;
  background-image: url("../image/common/back.jpg");
  background-size: cover;
}
.f-company-info {
  width: 60%;
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (max-width:1500px) {
  .f-gaiyou-box {
    justify-content: space-between;
  }
  .f-company-info {
    width: 45%;
  }
}
@media (max-width:1400px) {
  .f-company-info {
    width: 60%;
  }
}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  .f-gaiyou-box {
    flex-direction: column;
    margin: 0 auto;
  }
  .f-company-info {
    width: 75%;
    margin-top: 0;
  }
}
@media (max-width:900px) {
  .f-gaiyou-box {
    flex-direction: column;
    margin: 0 auto;
  }
  .f-company-info {
    width: 100%;
    margin-top: 0;
  }
}
@media (max-width:600px) {
  .f-gaiyou-box {
    flex-direction: column;
    padding: 50px 15px;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::【会社名ロゴ】:::::*/
.f-logo {
  margin: auto;
  margin-bottom: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.f-logo img {
  height: 150px;
  object-fit: contain;
}
.f-logo span {
  font-family: "Shippori Mincho", serif;
  font-size: clamp(1.125rem, 0.971rem + 0.65vw, 1.75rem);
  font-weight: bold;
  color: #1e753e;
}
@media (max-width:600px) {
  .f-logo {
    margin-bottom: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .f-logo img {
    height: 120px;
    width: 120px;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::【お問い合わせ】:::::*/
.f-contact {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}
.f-contact li {
  color: #fff;
  font-size: clamp(1rem, 0.815rem + 0.78vw, 1.75rem);
  width: 45%;
  background-color: #43cf9a;
  text-align: center;
  position: relative; /* 擬似要素を配置するために必要 */
  overflow: hidden; /* はみ出しを隠す */
  cursor: pointer;
  box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.2);
}
.f-contact li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px 0;
}
/* キラッの光 */
.f-contact li::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%; /* 初期位置を外側にしておく */
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-25deg);
}
/* hover時にアニメーション */
.f-contact li:hover::before {
  animation: shine 0.8s ease;
}
@keyframes shine {
  0% {
    left: -75%;
  }
  100% {
    left: 125%;
  }
}
@media (max-width:600px) {
  .f-contact {
    flex-direction: column;
    grid-gap: 30px;
  }
  .f-contact li {
    width: 100%;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::【テーブル】:::::*/
.f-company-info table {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 50px auto 0 auto;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) {
  /*【テーブル】*/
  .f-company-info table, .f-company-info tbody, .f-company-info tr {
    width: 100%;
    table-layout: fixed;
  }
  /*【テーブル】*/
  .f-company-info table {
    display: inline-table;
    margin-top: 30px;
  }
  .f-company-info th {
    width: 20%;
    text-align: center;
    vertical-align: top;
  }
  .f-company-info td {
    width: 80%;
  }
  .f-company-info td a {
    text-decoration: underline;
  }
  /*【アイコンリスト】*/
  .link-list img {
    height: 60px;
  }
}
@media (max-width:900px) {
  /*【テーブル】*/
  .f-company-info table, .f-company-info tbody, .f-company-info tr {
    width: 100%;
    table-layout: fixed;
  }
  /*【テーブル】*/
  .f-company-info table {
    display: inline-table;
    margin-top: 30px;
  }
  .f-company-info th {
    width: 30%;
    text-align: center;
    vertical-align: top;
  }
  .f-company-info td {
    width: 80%;
  }
  .f-company-info td a {
    text-decoration: underline;
  }
}
@media (max-width:600px) {
  .f-company-info td {
    justify-content: flex-start;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*::::::::::::::::::::::::【トップボタン】::::::::::::::::::::::::::*/
/*リンクの形状*/
#page-top a {
  position: relative;
  bottom: -7px;
  right: 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: auto;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.6rem;
  transition: all 0.3s;
  border-radius: 20px;
}
#page-top img {
  width: 100%;
  height: auto;
  padding-bottom: 10px;
}
#page-top a:hover {
  /* background: #777;*/
}
/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: /*10px*/ 0;
  bottom: 10px;
  z-index: 20;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}
/*　上に上がる動き　*/
#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*　下に下がる動き　*/
#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(100px);
  }
}
@media (max-width:1500px) {
  #page-top a {
    width: 80px;
  }
}
@media (max-width:1400px) {}
@media (max-width:1300px) {
  #page-top a {
    width: 70px;
  }
}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
  #page-top a {
    width: 130px;
  }
}
@media (max-width:900px) {
  #page-top a {
    width: 90px;
  }
}
@media (max-width:600px) {
  /*リンクを右下に固定*/
  #page-top {
    bottom: 0;
  }
  #page-top a {
    width: 70px;
  }
}
@media (max-width:450px) {
  #page-top a {
    width: 70px;
  }
}
@media (max-width: 400px) {}
/*:::::::::::::::::::::【コピーライト】::::::::::::::::::::::::::*/
.copyright {
  background-color: #1e753e;
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  text-align: center;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {}
@media (max-width:600px) {
  .copyright {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
@media (max-width:450px) {
  .copyright {
    font-size: 14px;
  }
}
@media (max-width: 400px) {}