@charset "UTF-8";
/* CSS Document */
html {
  font-family: "Work Sans", 游ゴシック体, "Work Sans", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "Roboto Condensed", sans-serif;
  font-weight: 200;
  font-size: 95%;
  color: #231815;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
body {
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.number {
  font-weight: 500
}
.english {
  letter-spacing: 0.08em;
}
/* ホバー */
a:hover {
  filter: opacity(70%);
  cursor: pointer;
}
a .hover_img1 {
  transition: all 0.5s ease; /*0.5秒かけて要素を変化させる*/
}
a:hover .hover_img1 {
  opacity: 0.7; /*要素の透明度を指定*/
  filter: alpha(opacity=70); /*ie6、7の透明度指定*/ /*ちなみにie8の透明度指定はこれ→ -ms-filter: "alpha(opacity=70)";*/
}
/* フォントサイズ */
h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 400;
  line-height: 1.2;
}
h1, .h1 {
  font-size: 20px;
  font-weight: 700;
  line-height: 2em;
  letter-spacing: 0.07em;
}
@media (max-width:600px) {
  h1, .h1 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8em;
    letter-spacing: 0.07em;
  }
}
h2, .h2 {
  font-size: 20px;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: 0.08em;
}
@media (max-width:600px) {
  h2, .h2 {
    font-size: 18px;
    font-weight: 700;
    line-height: 30px;
    letter-spacing: 0.1em;
  }
}
h3, .h3 {
  font-size: 18px;
  font-weight: 700;
  line-height: 30px;
}
@media (max-width:600px) {
  h3, .h3 {
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;
  }
}
h4, .h4 {
  font-size: 16px;
  font-weight: 700;
  line-height: 36px;
}
@media (max-width:600px) {
  h4, .h4 {
    ffont-size: 15px;
    font-weight: 700;
    line-height: 36px;
  }
}
h5, .h5 {
  font-size: 16px;
  line-height: 26px;
  font-weight: 600;
}
h6, .h6 {
  font-size: 16px;
  font-weight: 700;
}
.font-weight-bold {
  font-weight: 700;
}
.text-small {
  font-size: 13px;
  line-height: 20px;
}
.text-s-small {
  font-size: 12px;
  line-height: 14px;
}
p {
  font-size: 15px;
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 2em
}
.h3-category {
  font-size: 15px;
  border: #000000 2px solid;
  border-radius: 20px;
  text-align: center;
  margin: 10px 0 13px;
}
a {
  color: #231815;
  line-height: inherit;
  text-decoration: none
}
a:hover, a:focus {
  color: #A3A3A3;
}
img a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
.box-shadow {
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
  border-radius: 5px;
  padding: 12px;
}
.text-right {
  text-align: right
}
.hoverimg {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.hoverimg-img {
  transition-duration: 0.3s;
}
.hoverimg-img:hover {
  transform: scale(1.2);
  transition-duration: 0.3s;
}
ul {
  padding-left: 0px;
}
.pc_inline {
  display: inline
}
@media screen and (max-width:600px) {
  .pc_inline {
    display: none
  }
}
.tb_inline {
  display: none;
}
@media screen and (max-width:820px) {
  .tb_inline {
    display: block;
  }
}
@media screen and (max-width:600px) {
  .tb_inline {
    display: none;
  }
}
/* スマホ　改行 */
.sp_inline {
  display: none
}
@media screen and (max-width:600px) {
  .sp_inline {
    display: inline
  }
}
/* 画像　レスポンシブ */
@media (max-width: 640px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
@media (min-width: 641px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
}
/* メニュー */
.logo img {
  width: 150px
}
.sns-menu {
  margin-top: 10px;
  float: right;
}
.sns-menu li {
  margin-right: 6px;
  list-style: none;
  display: inline;
  float: left;
}
.sns-icon img {
  width: 30px
}
@media screen and (max-width:768px) {
  .sns-menu {
    margin-top: 10px;
    float: right;
  }
  .sns-menu li {
    margin-right: 10px;
  }
}
/* 画像　斜め */
.img-diagonal {
  top: -10px;
  left: 0;
  width: 100%;
  height: auto;
  /*四角形を傾けます*/
  transform: skewY(-3deg);
  transform-origin: top left;
  z-index: -30;
}
/* 画像　斜め */
.img-round {
  border-radius: 50%;
}
.back-orange-gra-move {
  background: linear-gradient(124deg, #EAC11A, #DF6433, #EAC11A, #DF6433, #EAC11A, #DF6433, #EAC11A, #DF6433, #EAC11A);
  background-size: 1800% 1800%;
  -webkit-animation: rainbow 100s ease infinite;
  -z-animation: rainbow 60s ease infinite;
  -o-animation: rainbow 60s ease infinite;
  animation: rainbow 60s ease infinite;
}
@-webkit-keyframes rainbow {
  0% {
    background-position: 0% 82%
  }
  50% {
    background-position: 100% 19%
  }
  100% {
    background-position: 0% 82%
  }
}
@-moz-keyframes rainbow {
  0% {
    background-position: 0% 82%
  }
  50% {
    background-position: 100% 19%
  }
  100% {
    background-position: 0% 82%
  }
}
@-o-keyframes rainbow {
  0% {
    background-position: 0% 82%
  }
  50% {
    background-position: 100% 19%
  }
  100% {
    background-position: 0% 82%
  }
}
@keyframes rainbow {
  0% {
    background-position: 0% 82%
  }
  50% {
    background-position: 100% 19%
  }
  100% {
    background-position: 0% 82%
  }
}
.img-maru img {
  border-radius: 50%;
}
.text-left-center {
  text-align: left
}
@media (max-width:600px) {
  .text-left-center {
    text-align: center
  }
}
.gra-move {
  height: 100%;
  width: 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  background: linear-gradient(124deg, #ff2400, #e81d1d, #e8b71d, #e3e81d, #1de840, #1ddde8, #2b1de8, #dd00f3, #dd00f3);
  background-size: 1800% 1800%;
  -webkit-animation: rainbow 18s ease infinite;
  -z-animation: rainbow 18s ease infinite;
  -o-animation: rainbow 18s ease infinite;
  animation: rainbow 18s ease infinite;
}
@-webkit-keyframes rainbow {
  0% {
    background-position: 0% 82%
  }
  50% {
    background-position: 100% 19%
  }
  100% {
    background-position: 0% 82%
  }
}
@-moz-keyframes rainbow {
  0% {
    background-position: 0% 82%
  }
  50% {
    background-position: 100% 19%
  }
  100% {
    background-position: 0% 82%
  }
}
@-o-keyframes rainbow {
  0% {
    background-position: 0% 82%
  }
  50% {
    background-position: 100% 19%
  }
  100% {
    background-position: 0% 82%
  }
}
@keyframes rainbow {
  0% {
    background-position: 0% 82%
  }
  50% {
    background-position: 100% 19%
  }
  100% {
    background-position: 0% 82%
  }
}
.midashi-orange-back {
  color: #fff;
  background: linear-gradient(80deg, #DF6433, #EAC11A);
  border-radius: 6px;
  padding: 3px 20px 2px;
}
/* footer */
.footer-field {
  color: #FFFFFF;
  padding: 30px 0 20px;
}
.footer-field-upper {
  padding: 30px 0 20px;
  margin-top: 100px;
}
.footer-field-lower {
  padding: 20px 0 20px;
}
.footer-field-lower li {
  list-style: none;
  display: inline;
  float: left;
  margin-right: 20px;
}
.footer-field p {
  color: #FFFFFF;
}
}
.footer-field a {
  color: #FFFFFF
}
.footer-bottom-field {
  padding: 0 0 10px;
  color: #FFFFFF;
}
.footer_upper_nav_item ul {
  margin: 0;
  padding: 0;
}
.footer_upper_nav_item li {
  display: inline;
  padding: 0;
  margin-right: 20px;
  text-align: center
}
@media screen and (max-width:768px) {
  .footer_upper_nav_item li {
    display: block;
    padding: 0;
    text-align: left
  }
}
.tel-number a {
  color: #fff;
  text-decoration: none;
}
/* ボタン */
.button1 {
  display: inline-block;
  width: auto;
  height: auto;
  text-align: center;
  text-decoration: none;
  line-height: 30px;
  outline: none;
  float: right;
  font-size: 14px;
}
.button1::before, .button1::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button1, .button1::before, .button1::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
/* ボタン */
.button2 {
  width: auto;
  height: auto;
  text-align: center;
  text-decoration: none;
  clear: both;
  line-height: 30px;
  outline: none;
  float: left;
  font-size: 14px;
}
.button2::before, .button1::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button2, .button2::before, .button1::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.btn-green1, a.btn-green1 {
  color: #0D936B;
}
.btn-green1:hover, a.btn-green1:hover {
  color: #F60000;
}
.btn-yellow, a.btn-yellow {
  background: linear-gradient(transparent 50%, #fff100 40%);
  padding: 0 10px
}
.btn-yellow:hover, a.btn-yellow:hover {
  color: #F60000;
}
.btn-orange, a.btn-orange {
  background: linear-gradient(transparent 50%, #FBE5E0 40%);
  padding: 0 10px
}
.btn-green, a.btn-green {
  background: linear-gradient(transparent 50%, #E7F4DF 40%);
  padding: 0 10px
}
/* 斜め背景 */
.wrap1 {
  overflow: hidden;
}
.main_inner1 {
  margin: calc(100vw * 0.08748866352 / 2) 0;
}
.back-diagonal-orange1 {
  margin: calc(100vw * 0.08748866352 / 2) 0;
  position: relative;
  padding: 1px 0;
}
.back-diagonal-orange1:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: #F9F9F9;
  ;
  transform: skewY(3deg);
  z-index: -1;
}
.back-diagonal-orange1:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(80deg, #DF6433, #EAC11A);
  transform: skewY(-3deg);
  z-index: -2;
}
.back-diagonal-green1 {
  margin: calc(100vw * 0.08748866352 / 2) 0;
  position: relative;
  padding: 1px 0;
}
.back-diagonal-green1:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: #F9F9F9;
  ;
  transform: skewY(3deg);
  z-index: -1;
}
.back-diagonal-green1:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(80deg, #0F7DBC, #D3D95F);
  transform: skewY(-3deg);
  z-index: -2;
}
/* カテゴリー分けリボン */
.ribbon-wrapper {
  display: block;
  position: relative;
  margin: 0 auto;
}
.ribbon-cate {
  display: inline-block;
  position: absolute;
  right: 0;
  top: 140px;
  box-sizing: border-box;
  padding: 0 18px 0 12px;
  margin: 0;
  height: 30px;
  line-height: 30px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: white;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 959px) {
  /* 959px以下に適用されるCSS（タブレット用） */
  .ribbon-cate {
    top: 80px;
  }
}
@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
  .ribbon-cate {
    top: 130px;
  }
}
.ribbon-cate2 {
  display: inline-block;
  position: absolute;
  right: 0;
  top: 164px;
  box-sizing: border-box;
  padding: 0 18px 0 12px;
  margin: 0;
  height: 30px;
  line-height: 30px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: white;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 959px) {
  /* 959px以下に適用されるCSS（タブレット用） */
  .ribbon-cate2 {
    top: 100px;
  }
}
@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
  .ribbon-cate2 {
    top: 155px;
  }
}
.ribbon-orange {
  background: #DF6433;
}
.ribbon-green {
  background: #0D936B;
}
.ribbon-blue {
  background: #0086cb;
}
.ribbon-purple {
  background: #5F64AB;
}
.ribbon-red {
  background: #C6000B;
}
.ribbon-brown {
  background: #59170F;
}
.ribbon-cate-box {
  height: auto;
  width: auto;
  padding: 3px 5px 2px;
  color: #fff;
  font-size: 70%;
  border-radius: 6px;
}
.sitemap {
  list-style: none;
  margin: 0; /* デフォルト指定上書き */
  padding: 0; /* デフォルト指定上書き */
}
.sitemap-li::before {
  position: relative;
  top: -1px;
  left: -17px;
  display: inline-block;
  width: 10px;
  height: 10px;
  content: '';
  border-radius: 100%;
  background: #EC6632;
}
/* top ボタン */
.btn--top, a.btn--top {
  color: #fff;
  font-size: 12px;
  padding: 0.4em 2em;
}
.btn--top:hover, a.btn--top:hover {
  color: #fff;
  filter: opacity(70%);
}
a.btn--radius {
  border-radius: 100vh;
}
.dli-caret-circle-fill-right {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  position: relative;
  width: 0.8em;
  height: 0.8em;
  border: 0.075em solid currentColor;
  background: currentColor;
  border-radius: 50%;
  box-sizing: content-box;
}
.dli-caret-circle-fill-right::before {
  content: '';
  color: #fff;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 0.18em 0.31177em;
  border-left-color: currentColor;
  border-right: 0;
  transform: translateX(15%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}