html {
  scroll-behavior: smooth;
  scroll-padding-top: 50px;
}
body {
  font-family: "Open Sans",Arial,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",Yu Gothic,YuGothic,"メイリオ","Meiryo",sans-serif;
  font-weight: 500;
}
a {
  text-decoration: none;
}
h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  font-weight: 700;
  letter-spacing: 0.05em;
}
a:hover,
a:focus,
a:active {
  opacity: 0.8;
}

img {
  width: 100%;
}

/* header
-------------------------------- */
.header {
  background-color: #fff;
  width: 100%;
  height: 60px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  border-bottom: 2px solid #3a0;
}
@media screen and (min-width: 992px) {
}

.header_inner {
  padding: 15px 10px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: inherit;
  /*position: relative;*/
}
.header_title {
  width: 200px;
}
@media screen and (min-width: 992px) {
  .header_title {
    width: 240px;
  }
}
.header_title img {
  display: block;
  width: 100%;
  height: 100%;
}
.header_nav {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  transform: translateX(100%);
  /*background-color: #3c0;*/
  background-color: #fff;
  transition: transform ease .4s;
}

@media screen and (min-width: 992px) {
  .header_nav {
    position: static;
    transform: initial;
    background-color: inherit;
    height: inherit;
    display: flex;
    justify-content: end;
    width: 65%;
  }
}

.header .drop-down ul {
  padding-left: initial;
}

@media screen and (min-width: 992px) {
  .header .drop-down:hover ul {
    display: block;
  }
  .header .drop-down ul {
      display: none;
    background-color: #fff;
    position: absolute;
    width: 15vw;
    top: top: calc(var(--basic-md-font-size) * 1.5 + 1vw);
  }
  .header .drop-down ul li a {
    margin: 2em 0 2em 1em;
  }
  .header .nav-items_item.drop-down a {
    text-align: initial;
  }
}

.nav_items ul,
.nav_items li {
  list-style: none;
}

.nav-items {
  position: absolute;
  padding: 60px 0 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 80%;
}

@media screen and (min-width: 992px) {
  .nav_items {
    width: 100%;
    display: flex;
    align-items: center;
    height: initial;
    justify-content: space-between;
    gap: 10px;
    flex-direction: initial;
    position: inherit;
    padding: 0;
  }
}

.nav-items_item a {
  color: #111;
  width: 100%;
  display: block;
  text-align: center;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  font-weight: 600;
  margin-bottom: 1.6rem;

}
.nav-items_item:last-child a {
  margin-bottom: 0;
}
@media screen and (min-width: 992px) {
  .nav-items_item a {
    font-size: 1vw;
    margin-bottom: 0;
    transition: color 0.2s, filter 0.2s;
  }
}

@media screen and (min-width: 992px) {
  .nav-items_item a:hover {
    color: #ccc;
  }
}

.nav-items_item span {
  display: block;
  font-size: 30px;
}

.header hr {
  border-width: 2px;
  opacity: 1;
  margin-bottom: 35px;
}

.nav-items_item picture img {
  width: 50px;
  height: auto;
}

@media screen and (min-width: 992px) {
  .nav-items_item picture img {
    width: 30px;
  }
}


#sitemap {
  display: none;
}

@media screen and (min-width: 992px) {
  #sitemap {
    display: block;
    border-top: 2px solid #3a0;
  }
}


/* ハンバーガーメニュー */
.header_hamburger {
  width: 48px;
  height: 100%;
  margin-top: -12px;
}
.hamburger {
  background-color: transparent;
  border-color: transparent;
  z-index: 9999;
}
@media screen and (min-width: 992px) {
  .hamburger {
    display: none;
  }
}
.hamburger span {
  width: 100%;
  height: 1.5px;
  background-color: #111;
  position: relative;
  transition: ease .4s;
  display: block;
}
.hamburger span:nth-child(1) {
  top: 0;
}
.hamburger span:nth-child(2) {
  margin: 8px 0;
}
.hamburger span:nth-child(3) {
  top: 0;
}

/* ハンバーガーメニュークリック後のスタイル */
.header_nav.active {
  justify-content: center;
  overflow: scroll;
  transform: translateX(0);
}
.hamburger.active span:nth-child(1) {
  top: 5px;
  transform: rotate(45deg);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  top: -13px;
  transform: rotate(-45deg);
} 

/* main
-------------------------------- */
.img_cover {
  width: 100%;
  height: 700px;
  background-position:center center;
  background-size: cover;
  background-repeat:none;
}

.about_us {
  width: 100%;
  margin-bottom: 30px;
}
.about_us th {
  width: 25%;
  text-align: center;
  vertical-align: top;
  padding-bottom: 20px;
}
.about_us td {
  width: 75%;
  padding-bottom: 20px;
}
.about_us ul {
  list-style-type: none;
  padding: 0;
}

/* クリックでプルダウン */
.toggle {
  display: none;
}
.Label {		/*タイトル*/
  font-weight: 700;
  padding: 1.1rem 1rem 1.2rem 1rem;
  display: block;
  border-top: 1px solid #ddd;
  margin-bottom: 0;
  cursor: pointer;
}
.Label_last {
  border-bottom: 1px solid #ddd;
}
.Label::before {	/*タイトル横の矢印*/
  content: "";
  width: 9px;
  height: 9px;
  border-top: 2px solid #e11;
  border-right: 2px solid #e11;
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: calc( 50% - 3px );
  right: 30px;
  transform: rotate(135deg);
}
.Label,
.content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.content {		/*本文*/
  height: 0;
  margin-bottom: -5px;
  padding: 0px 1rem;
  overflow: hidden;
}
.content p {
  margin: -20px 0 0 0;
}
.content a {
  font-size: 0.8em;
  text-decoration: underline;
}
.toggle:checked + .Label + .content {	/*開閉時*/
  height: auto;
  padding: 20px 1rem;
  transition: all .3s;
}
.toggle:checked + .Label::before {
  transform: rotate(-45deg) !important;
}

/* プライバシーポリシー */
#privacy ol {
  margin-left: 1.5rem;
  padding-inline-start: 0;
}
#privacy p:first-of-type {
  margin-top: 3rem;
}
#privacy .policy-info p {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .br-none {
    display: none;
  }
}

/* 背景パターン（水玉模様） */
.polka_pattern {
  background-color: #fa0;
}
.polka {
  background-image: radial-gradient(#fb0 2px, #fa0 2px);
  background-size: 20px 20px;
}

/* 背景パターン（正方形） */
.bg_boxes {
  background-color: #fa0;
}
.boxes {
  background-image: linear-gradient(#fb0 1px, transparent 1px), linear-gradient(to right, #fb0 1px, #fa0 1px);
  background-size: 3px 3px;
}

/* 背景パターン（3Dジグザグ） */
.bg_zigzag3D {
  background-color: #3a0;
}
.zigzag3D {
  background: linear-gradient(135deg, #33990055 25%, transparent 25%) -20px 0/ 40px 40px,
              linear-gradient(225deg, #339900 25%, transparent 25%) -20px 0/ 40px 40px,
              linear-gradient(315deg, #33990055 25%, transparent 25%) 0px 0/ 40px 40px,
              linear-gradient(45deg, #339900 25%, #3a0 25%) 0px 0/ 40px 40px;
}

/* 背景パターン（斜線） */
.diagonal {
  background: repeating-linear-gradient(45deg, #390, #390 10px, #3a0 10px, #3a0 50px);
}

/* 囲いデザイン */
.crossing{
  position: relative;
  padding: 1em 1.5em;
  border-top: solid 0.1em;
  border-bottom: solid 0.1em;
  border-color: #fb0;
}
.crossing:before,
.crossing:after{
  content: '';
  position: absolute;
  top: -1em;
  width: 0.1em;
  height: -webkit-calc(100% + 2em);
  height: calc(100% + 2em);
  background-color: #fb0;
}
.crossing:before {left: 1em;}
.crossing:after {right: 1em;}

/* footer
-------------------------------- */
footer {
  padding: 15px 0 5px 0;
}
footer a {
  color: #000;
}
footer a:hover,
footer a:focus,
footer a:active {
  color: #ccc;
}
footer .copyright {
  font-family: Gill Sans,Gill Sans MT,Calibri,"Open Sans",sans-serif;
}
footer img {
  transition: all 0.3s ease-in-out;
}
/*
footer a img:hover {
  transform: scale(1.2,1.2);
}
*/

/* original library
-------------------------------- */
.text_black{color:#000;}
.text_gray{color:#777;}
.text_lightgray{color:#ddd;}
.text_white{color:#fff;}
.text_orange{color:#e70;}
.text_lightorange{color:#fb0;}
.text_lime{color:#3a0;}

.bg_black{background-color:#000;color:#fff;}
.bg_deepgray{background-color:#333;color:#fff;}
.bg_gray{background-color:#777;color:#fff;}
.bg_lightgray{background-color:#ddd;color:#000;}
.bg_lime{background-color:#3a0;color:#fff;}
.bg_orange{background-color:#e70;color:#fff;}
.bg_white{background-color:#fff;color:#000;}

.tal{text-align:left;}
.tal{text-align:center;}
.tar{text-align:right;}

.fl{float:left;}
.fr{float:right;}

.cp{cursor:pointer;}

.w5px{width:5px;}
.w10px{width:10px;}
.w15px{width:15px;}
.w20px{width:20px;}
.w25px{width:25px;}
.w30px{width:30px;}
.w35px{width:35px;}
.w40px{width:40px;}
.w45px{width:45px;}
.w50px{width:50px;}

.w10{width:10%;}
.w20{width:20%;}
.w25{width:25%;}
.w30{width:30%;}
.w40{width:40%;}
.w50{width:50%;}
.w60{width:60%;}
.w70{width:70%;}
.w80{width:80%;}
.w90{width:90%;}
.w100{width:100%;}

.h5px{height:5px;}

@media screen and (min-width: 768px) {
  .w-md-10{width:10%;}
  .w-md-15{width:15%;}
  .w-md-20{width:20%;}
  .w-md-30{width:30%;}
  .w-md-60{width:60%;}
  .w-md-100{width:100%;}
}

@media screen and (min-width: 992px) {
  .w-lg-20{width:20%;}
}

.fs05{font-size:0.5rem;}
.fs06{font-size:0.6rem;}
.fs07{font-size:0.7rem;}
.fs08{font-size:0.8rem;}
.fs09{font-size:0.9rem;}
.fs10{font-size:1.0rem;}
.fs11{font-size:1.1rem;}
.fs12{font-size:1.2rem;}
.fs13{font-size:1.3rem;}
.fs14{font-size:1.4rem;}
.fs15{font-size:1.5rem;}
.fs16{font-size:1.6rem;}
.fs17{font-size:1.7rem;}
.fs18{font-size:1.8rem;}
.fs19{font-size:1.9rem;}
.fs20{font-size:2.0rem;}
.fs25{font-size:2.5rem;}
.fs30{font-size:3.0rem;}
.fs35{font-size:3.5rem;}
.fs40{font-size:4.0rem;}

.fw100{font-weight:100;}
.fw200{font-weight:200;}
.fw300{font-weight:300;}
.fw400{font-weight:400;}
.fw500{font-weight:500;}
.fw600{font-weight:600;}
.fw700{font-weight:700;}
.fw800{font-weight:800;}
.fw900{font-weight:900;}

.rad01{border-radius:0.1rem;}
.rad02{border-radius:0.2rem;}
.rad03{border-radius:0.3rem;}
.rad04{border-radius:0.4rem;}
.rad05{border-radius:0.5rem;}
.rad06{border-radius:0.6rem;}
.rad07{border-radius:0.7rem;}
.rad08{border-radius:0.8rem;}
.rad09{border-radius:0.9rem;}
.rad10{border-radius:1.0rem;}
.rad11{border-radius:1.1rem;}
.rad12{border-radius:1.2rem;}
.rad13{border-radius:1.3rem;}
.rad14{border-radius:1.4rem;}
.rad15{border-radius:1.5rem;}
.rad16{border-radius:1.6rem;}
.rad17{border-radius:1.7rem;}
.rad18{border-radius:1.8rem;}
.rad19{border-radius:1.9rem;}
.rad20{border-radius:2.0rem;}
.rad25{border-radius:2.5rem;}
.rad30{border-radius:3.0rem;}
.rad35{border-radius:3.5rem;}
.rad40{border-radius:4.0rem;}

.mt0{margin-top:0px;}
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt15{margin-top:15px;}
.mt20{margin-top:20px;}
.mt25{margin-top:25px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}
.mt60{margin-top:60px;}
.mt70{margin-top:70px;}
.mt80{margin-top:80px;}
.mt90{margin-top:90px;}
.mt100{margin-top:100px;}
.mt150{margin-top:150px;}
.mt200{margin-top:200px;}
.mt250{margin-top:250px;}
.mt300{margin-top:300px;}
.mt350{margin-top:350px;}
.mt400{margin-top:400px;}
.mt450{margin-top:450px;}
.mt500{margin-top:500px;}

.mt1em{margin-top:1em;}
.mt2em{margin-top:2em;}
.mt3em{margin-top:3em;}
.mt4em{margin-top:4em;}
.mt5em{margin-top:5em;}

.mt_5{margin-top:-5px;}
.mt_10{margin-top:-10px;}
.mt_15{margin-top:-15px;}
.mt_20{margin-top:-20px;}
.mt_25{margin-top:-25px;}
.mt_30{margin-top:-30px;}
.mt_40{margin-top:-40px;}
.mt_50{margin-top:-50px;}
.mt_60{margin-top:-60px;}
.mt_70{margin-top:-70px;}
.mt_80{margin-top:-80px;}
.mt_90{margin-top:-90px;}
.mt_100{margin-top:-100px;}

.mb0{margin-bottom:0px;}
.mb5{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb25{margin-bottom:25px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb60{margin-bottom:60px;}
.mb70{margin-bottom:70px;}
.mb80{margin-bottom:80px;}
.mb90{margin-bottom:90px;}
.mb100{margin-bottom:100px;}

.mb1em{margin-bottom:1em;}
.mb2em{margin-bottom:2em;}
.mb3em{margin-bottom:3em;}
.mb4em{margin-bottom:4em;}
.mb5em{margin-bottom:5em;}

.mb_5{margin-bottom:-5px;}
.mb_10{margin-bottom:-10px;}
.mb_15{margin-bottom:-15px;}
.mb_20{margin-bottom:-20px;}
.mb_25{margin-bottom:-25px;}
.mb_30{margin-bottom:-30px;}
.mb_40{margin-bottom:-40px;}
.mb_50{margin-bottom:-50px;}
.mb_60{margin-bottom:-60px;}
.mb_70{margin-bottom:-70px;}
.mb_80{margin-bottom:-80px;}
.mb_90{margin-bottom:-90px;}
.mb_100{margin-bottom:-100px;}

.ms15em{margin-left:1.5em;}
.ms1em{margin-left:1em;}
.ms05em{margin-left:0.5em;}

.pt0{padding-top:0px;}
.pt5{padding-top:5px;}
.pt10{padding-top:10px;}
.pt15{padding-top:15px;}
.pt20{padding-top:20px;}
.pt25{padding-top:25px;}
.pt30{padding-top:30px;}
.pt40{padding-top:40px;}
.pt50{padding-top:50px;}
.pt60{padding-top:60px;}
.pt70{padding-top:70px;}
.pt80{padding-top:80px;}
.pt90{padding-top:90px;}
.pt100{padding-top:100px;}

@media screen and (min-width: 992px) {
  .pt-lg-150{padding-top:150px;}
}

.pb0{padding-bottom:0px;}
.pb5{padding-bottom:5px;}
.pb10{padding-bottom:10px;}
.pb15{padding-bottom:15px;}
.pb20{padding-bottom:20px;}
.pb25{padding-bottom:25px;}
.pb30{padding-bottom:30px;}
.pb40{padding-bottom:40px;}
.pb50{padding-bottom:50px;}
.pb60{padding-bottom:60px;}
.pb70{padding-bottom:70px;}
.pb80{padding-bottom:80px;}
.pb90{padding-bottom:90px;}
.pb100{padding-bottom:100px;}

.light-cover:before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: var(--light-cover-color, initial);
  position: absolute;
}

@media screen and (min-width: 992px) {
  .filter-brightness a:hover {
    filter: brightness(1.15);
  }
}

/* top-text CSSデザイン */
.top-text {
  color: #fff;
  text-shadow: 2px 2px 4px rgb(0 0 0  / 80%);
}

/* ここまで */

/* button-style CSSデザイン */
.button-style {
  border: 1px solid;
  border-radius: 5px;
  cursor: pointer;
  font-size: 20px;
  padding: 10px 20px;
  text-align: center;
  transition: background-color 0.5s 0s ease, color 0.5s 0s ease;
}

.button-style.submit {
  background-color: #fa0;
  border-color: #fa0;
  color: #fff;
  width: 60%;
}

.button-style.submit[disabled] {
  background-color: #ccc;
  border-color: #ccc;
  color: #fff;
  cursor: initial;
}

.button-style.back {
  background-color: #5a5a5a;
  width: 38%;
}

@media screen and (min-width: 768px) {
  .button-style.submit {
    background-color: #fff;
    border-color: #fa0;
    color: #fa0;
  }
  .button-style.submit:not([disabled]):hover {
    background-color: #fa0;
    color: #fff;
  }
  .button-style.back {
    background-color: #fff;
    color: #5a5a5a;
  }
  .button-style.back:hover {
    background-color: #5a5a5a;
    color: #fff;
  }
}
/* ここまで */

/* basic-slide CSSデザイン */
.basic-slide .button-position {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
}

.basic-slide .swiper-button-prev {
  margin-right: 50px;
}

.basic-slide .swiper-button-next,
.basic-slide .swiper-button-prev {
  background-color: #e8e8e8;
  border-radius: 50%;
  color: #857777;
  margin-top: initial;
  height: 50px;
  width: 50px;
  position: initial;
  z-index: 1;
}

.basic-slide .swiper-button-next:after,
.basic-slide .swiper-button-prev:after {
  font-size: 25px;
}

@media screen and (min-width: 768px) {

}
/* ここまで */

/* slide-style CSSデザイン */
.slide-style .swiper {
  padding: 5px;
}

.slide-style .swiper-wrapper {
  padding-bottom: 20px;
}

.slide-style .swiper-slide {
  box-shadow: 0px 0px 5px 0px rgb(69 69 69 / 50%);
  display: flex;
  height: initial;
}

.slide-style .swiper-slide.other {
  box-shadow: none;
  display: block;
  margin: auto;
}

.slide-style .image img {
  height: 200px;
  width: 100%;
}

.slide-style p {
  color: #000;
  margin-bottom: 0;
  padding: 20px 10px;
}

.slide-style .button-style {
  width: 100%;
}

@media screen and (min-width: 768px) {

}

/* ここまで */

/* num-box-wrapper CSSデザイン */
.num-box-wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 50px 0 -50px;
}

.num-box-wrapper .item {
  border: 3px solid;
  border-radius: 10px;
  margin-bottom: 70px;
  border-color: #fb0;
}

.num-box-wrapper .num {
  border: 3px solid;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100px;
  height: 100px;
  margin: -50px auto 0;
  position: relative;
  border-color: #fb0;
}

.num-box-wrapper .num:before {
  content: '';
  width: 100px;
  height: 53px;
  bottom: -3px;
  position: absolute;
  background-color: #fff;
  border-radius: 3px;
}

.num-box-wrapper .num span {
  position: relative;
  font-size: 40px;
  color: #777;
}

.num-box-wrapper .text h4 {
  color: #e70;
}

@media screen and (min-width: 768px) {
  .num-box-wrapper .item {
    width: 48%;
  }
}

@media screen and (min-width: 992px) {
  .num-box-wrapper .item {
    width: 32%;
  }
}
/* ここまで */

#news-link {
  --bs-border-color: #fa0;
}

#news-link a {
  color: var(--bs-body-color);
  width: 94%;
}

@media screen and (min-width: 768px) {
  #news-link a {
    width: initial;
  }
}

#news-link .filter-brightness a:hover{
  filter: brightness(1.35);
}

#news-link .image {
  flex-basis: 10%;
}

#business {
  --bs-border-color: #fa0;
}

@media screen and (min-width: 768px) {
  #business .item {
    flex-basis: 25%;
  }
}

#himereha .d-flex img {
  margin: auto;
  max-width: 720px;
}

#sns a {
  width: 100%;
}

#sns img {
  object-fit: cover;
}

#sns img,
#sns video {
  height: 400px;
  width: 100%;
  display: block;
}

@media screen and (min-width: 768px) {
  #sns img,
  #sns video {
    height: 30vw;
  }
}