@charset "UTF-8";
/* アニメーションベンダープレフィックス込み指定 */
/* アニメーションベンダープレフィックス込み指定 */
width {
  max-width: calc(100% - 50px);
  margin-left: auto;
  margin-right: auto;
}
@media all and (max-width: 896px) {
  width {
    max-width: calc(100% - 15px);
  }
}

html {
  scroll-behavior: smooth;
}

body {
  color: #363636;
  background: #fff;
  font-family: "YakuHanJP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  font-weight: 500;
  position: relative;
  letter-spacing: 0.1em;
}

a {
  color: #364b57;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
}

#wrapper {
  position: relative;
  overflow: hidden;
}

#l-main {
  overflow: hidden;
  position: relative;
}

img {
  max-width: 100%;
  height: auto;
}

.bold {
  font-weight: 600;
}

h2,
h3,
h4 {
  line-height: 1.4;
  font-weight: 600;
}

p {
  font-family: "YakuHanJP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
}

.mincho {
  font-family: "Noto Serif JP", "YakuHanMP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  font-weight: 500;
  font-weight: 500 !important;
}

.relative {
  position: relative;
}

/* animation
----------------------------------*/
@keyframes view-zoomin {
  0% {
    opacity: 0;
    transform: scale(0.95);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
  animation: zoom-in 11s linear 0s 1 normal both;
}

@keyframes view-slideup {
  0% {
    opacity: 0;
    transform: translate(0, 35px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes yurayura {
  0%, 100% {
    transform: rotate(5deg);
  }
  50% {
    transform: rotate(-5deg);
  }
}
@keyframes yurayura2 {
  0%, 100% {
    transform: rotate(-5deg);
  }
  50% {
    transform: rotate(5deg);
  }
}
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
.animation {
  opacity: 0;
}

.slideup.on {
  opacity: 1;
  animation: view-slideup 0.65s cubic-bezier(0.2, 1, 0.2, 1);
}

.zoomin.on {
  opacity: 1;
  animation: view-zoomin 0.65s cubic-bezier(0.2, 1, 0.2, 1);
}

/*=============== ローディング =================*/
.loader {
  align-items: center;
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9999;
  pointer-events: none;
}
.loader.off {
  display: none;
}

.loader-bg1 {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #2C3D47;
  top: 0;
  left: 0;
  animation: load-tate 0.6s ease-out 2.6s forwards;
}

@keyframes load-tate {
  0% {
    height: 100%;
    opacity: 1;
  }
  100% {
    height: 0%;
  }
}
@keyframes load-tate2 {
  0% {
    height: 0%;
    opacity: 1;
  }
  100% {
    height: 100%;
  }
}
/* header
----------------------------------*/
@keyframes load-bg {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#l-header {
  width: 100%;
  position: absolute;
  transition: all 0.4s ease-in;
  z-index: 200;
}
#l-header.is-fixed {
  position: fixed;
  background: #fefefe;
  filter: drop-shadow(2px 0px 6px rgba(96, 76, 63, 0.1));
}
#l-header.is-fixed .inner #logo {
  width: 200px;
}
#l-header.is-fixed .inner #logo .logo1 {
  display: none;
}
#l-header.is-fixed .inner #logo .logo2 {
  display: block;
}
@media all and (max-width: 1367px) {
  #l-header {
    margin: 0 auto;
  }
}
@media all and (max-width: 639px) {
  #l-header {
    width: 100%;
    padding: 20px 0 10px;
  }
}
#l-header.is-hide {
  transform: translateY(-100%);
}
#l-header .inner {
  display: flex;
  flex-wrap: wrap;
  padding: 15px 0;
  width: 99%;
  align-items: center;
  justify-content: space-between;
}
@media all and (max-width: 1100px) {
  #l-header .inner {
    padding: 20px 0;
  }
}
@media all and (max-width: 896px) {
  #l-header .inner {
    min-width: initial;
  }
}
#l-header .inner #logo {
  width: 180px;
  margin: 0px auto 0px 10px;
  transition: all 0.3s ease;
  text-align: center;
  position: relative;
  z-index: 10;
}
#l-header .inner #logo .logo1 {
  display: block;
}
#l-header .inner #logo .logo2 {
  display: none;
}
#l-header .inner #logo p {
  text-align: center;
  font-size: 1.3rem;
  padding-top: 5px;
}
@media all and (max-width: 1367px) {
  #l-header .inner #logo {
    padding: 20px;
  }
}
@media all and (max-width: 896px) {
  #l-header .inner #logo {
    width: 140px;
    margin: -10px auto 0;
  }
  #l-header .inner #logo .ume {
    width: 50px;
  }
}
@media all and (max-width: 639px) {
  #l-header .inner #logo {
    top: 10px;
    padding: 5px;
    width: 95px;
  }
  #l-header .inner #logo p {
    font-size: 10px;
  }
}
#l-header .inner #logo:hover {
  opacity: 0.6;
}

#header_nav {
  position: relative;
  margin-left: auto;
  text-align: center;
  z-index: 100;
  background: #fefefe;
  border-radius: 0px;
  width: 600px;
  padding: 5px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1200px;
}
#header_nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#header_nav ul li {
  padding: 10px 15px;
  position: relative;
}
#header_nav ul li.type-contact {
  margin-left: 50px;
  background-color: #eb0b0b;
}
#header_nav ul li:last-child {
  border-right: none;
}
#header_nav ul li a {
  display: block;
  position: relative;
  line-height: 1.5;
  font-size: 1.6rem;
  color: #363636;
  font-weight: bold;
}
#header_nav ul li a span {
  text-transform: uppercase;
  display: block;
  font-size: 1.1rem;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  position: relative;
  letter-spacing: 0.1rem;
  font-weight: normal;
  color: #eb0b0b;
}
#header_nav ul li a:hover::after {
  opacity: 0.2;
}
#header_nav ul li:hover a, #header_nav ul li.active a {
  color: #2C3D47;
  transition: 0.2s width ease-in;
  font-weight: bold;
}
#header_nav ul li:hover.type-contact a, #header_nav ul li.active.type-contact a {
  color: #eb0b0b;
}
@media all and (max-width: 1480px) {
  #header_nav ul li a {
    font-size: 1.4rem;
  }
  #header_nav ul li a span {
    font-size: 1.2rem;
  }
  #header_nav ul li.type-contact {
    margin-left: 10px;
  }
}
@media all and (max-width: 1367px) {
  #header_nav {
    text-align: center;
  }
  #header_nav ul li {
    padding: 0px 10px 0;
  }
  #header_nav ul li a {
    font-size: 1.4rem;
  }
}
@media all and (max-width: 1100px) {
  #header_nav {
    width: 100%;
    min-width: auto;
    margin: 0 auto;
  }
  #header_nav ul li {
    padding: 10px 13px;
  }
}
#header_nav .dropdown {
  display: none;
  position: absolute;
  left: 0;
  top: 55px;
  z-index: 999;
  /* padding-top: 30px; */
}
#header_nav .dropdown .dropdown-li {
  border-right: 0;
  margin: 0 0 5px;
  background: #fff;
  text-align: center;
  z-index: 999;
}
#header_nav .dropdown .dropdown-li:last-child {
  display: block;
}
#header_nav .dropdown .dropdown-li a {
  display: block;
  width: 160px;
  padding: 8px 8px;
  font-size: 1.2rem;
}
#header_nav .dropdown .dropdown-li a:after {
  display: none;
}
#header_nav .dropdown .dropdown-li:hover {
  background: #eb0b0b;
}
#header_nav .dropdown .dropdown-li:hover a {
  color: #fff;
}
#header_nav .dropdown .dropdown-li.foot_only {
  display: none;
}

.head_contact {
  margin-left: 2rem;
  text-align: center;
}
@media all and (max-width: 1100px) {
  .head_contact {
    display: none;
  }
}
.head_contact .buy_btn {
  width: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.8s;
}
.head_contact .buy_btn a {
  width: 100%;
  display: block;
  background: #ffcc59;
  border-radius: 0 0 20px 20px;
  padding: 1rem;
  color: #fff;
  font-weight: 600;
}
.head_contact .buy_btn a span {
  display: block;
  width: 50px;
  margin: 0.25rem auto 0;
  transition: 0.3s ease;
}
.head_contact .buy_btn a:hover {
  background: #ffc061;
}

@keyframes opacityAnime {
  0% {
    transform: translateX(50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*==ふわっと出現させるためのCSS*/
/*　上に上がる動き　*/
@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}
/*　下に下がる動き　*/
@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* page-top
----------------------------------*/
#page-top {
  position: fixed;
  bottom: 10px;
  right: 0;
  z-index: 110;
}
#page-top a {
  display: block;
  color: #fff;
  width: 100px;
  height: 100px;
  line-height: 50px;
  font-size: 1.2rem;
  text-align: center;
}
#page-top a img {
  animation: 3s fuwafuwa infinite;
}
#page-top a:hover {
  opacity: 0.6;
}
@media all and (max-width: 639px) {
  #page-top {
    bottom: 90px;
  }
}

/* swiper
----------------------------------*/
@keyframes zoom-in {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.12);
  }
}
.slide-img {
  overflow: hidden;
  width: 100%;
  height: 95vh;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  border-radius: 20px;
}
.slide-img::before {
  position: absolute;
  content: "";
  width: 100%;
  left: 0;
  top: 0;
  height: 100%;
  background: #363636;
  opacity: 0.2;
  z-index: 2;
}
.slide-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
  -o-object-position: right;
     object-position: right;
}
@media all and (max-width: 1367px) {
  .slide-img {
    height: 76vh;
  }
}
@media all and (max-width: 896px) {
  .slide-img {
    height: 60vh;
  }
}
@media all and (max-width: 639px) {
  .slide-img {
    height: 22vh;
    min-height: 460px;
  }
}

#slideshow {
  position: relative;
  margin: 0px auto;
}
#slide-wrap {
  position: relative;
}
#slide-wrap .slide-box {
  opacity: 1;
  width: 100%;
  margin: 0 0 0 auto;
}

@keyframes saru-right {
  0% {
    right: 0;
    transform: rotate(3deg);
  }
  10% {
    right: 0;
    transform: rotate(-3deg);
  }
  20% {
    right: 0;
    transform: rotate(3deg);
  }
  30% {
    right: 0;
    transform: rotate(-3deg);
  }
  40% {
    right: 0;
    transform: rotate(0px);
  }
  60% {
    right: 50px;
  }
  100% {
    right: 50px;
  }
}
/* fadeUp */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger {
  opacity: 0;
}

@keyframes catch-anime {
  0% {
    opacity: 1;
    transform: translateY(20%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes catch-anime2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.main_catch__inner__created_by_js {
  max-width: 900px !important;
}

.catch {
  z-index: 1;
  position: absolute;
  margin: 0px auto 0 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  height: 500px;
}
.catch img {
  height: auto;
  max-height: 100%;
}
.catch.on {
  opacity: 1;
  transition: 2s;
}
@media all and (max-width: 896px) {
  .catch {
    height: 300px;
  }
}
@media all and (max-width: 639px) {
  .catch {
    bottom: 10%;
    height: 200px;
  }
}

/* footer
----------------------------------*/
footer {
  padding: 100px 0 50px;
  position: relative;
  background-color: #2C3D47;
}
footer::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/footer.jpg) no-repeat 50%/cover;
  opacity: 0;
}
@media all and (max-width: 639px) {
  footer {
    padding: 80px 0 50px;
  }
}

#l-footer {
  font-size: 1.4rem;
  position: relative;
  width: calc(100% - 40px);
  padding: 0px 10px 10px;
  margin: 0 auto;
  max-width: 1500px;
}
#l-footer .mtitle {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  top: -80px;
}
#l-footer .footer-main {
  width: 100%;
  font-family: "YakuHanJP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#l-footer .inner {
  margin: 0 auto 40px;
  max-width: 1500px;
  position: relative;
  z-index: 3;
  padding: 0px 20px 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}
#l-footer .inner .whitebox {
  padding: 20px 0;
}
#l-footer .inner .footer-left {
  width: 34%;
}
#l-footer .inner .footer-right {
  flex: 100%;
}
@media all and (max-width: 896px) {
  #l-footer .inner {
    flex-direction: column;
    gap: 20px;
    padding: 0;
  }
  #l-footer .inner .footer-left {
    width: 56%;
  }
  #l-footer .inner .footer-right {
    width: 100%;
  }
}
@media all and (max-width: 639px) {
  #l-footer .inner {
    flex-direction: column;
    gap: 20px;
    padding: 0;
  }
  #l-footer .inner .footer-left {
    width: 100%;
  }
  #l-footer .inner .footer-right {
    width: 100%;
  }
}
#l-footer .footer_sns_nav {
  display: flex;
  justify-content: center;
  font-size: 3rem;
  gap: 20px;
  text-align: center;
}
#l-footer .footer_sns_nav a {
  border-bottom: none;
  line-height: 0.5;
}
#l-footer .footer_sns_nav .sub_btn01 span,
#l-footer .footer_sns_nav .sub_btn02 span {
  display: block;
  font-size: 1.3rem;
}
#l-footer .footer-tel a {
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  font-size: 2rem;
  color: #fff;
}
@media all and (max-width: 1100px) {
  #l-footer .inner {
    width: 100%;
  }
}
@media all and (max-width: 639px) {
  #l-footer {
    font-size: 1.2rem;
  }
  #l-footer .inner {
    font-size: 1.1rem;
  }
}

.footer-ggmap {
  width: calc(100% - 100px);
  margin: 0 auto;
}

.sns-list {
  display: flex;
  flex-wrap: wrap;
}
.sns-list.center {
  justify-content: center;
}
@media all and (max-width: 896px) {
  .sns-list {
    flex-wrap: wrap;
  }
}
.sns-list li a {
  width: 38px;
  height: 38px;
  line-height: 38px;
  font-size: 17px;
  font-weight: bold;
  color: #fff;
  display: block;
  background: #555;
  border-radius: 50%;
  text-align: center;
  transition: all 0.2s ease-in;
  position: relative;
  font-family: "YakuHanJP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.sns-list li a:hover {
  opacity: 0.7;
}
.sns-list li a.btn-facebook {
  background: #1877f2;
}
.sns-list li a.btn-x {
  background: #111;
}
.sns-list li a.btn-line {
  background: #06c755;
}
.sns-list li a i {
  position: relative;
  z-index: 2;
}
.sns-list li a.btn-instagram {
  overflow: hidden;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
}
.sns-list li a.btn-instagram i {
  position: relative;
  z-index: 2;
}
.sns-list li a.btn-instagram:before {
  content: "";
  position: absolute;
  /*絶対配置*/
  top: 18px;
  /*ずらす*/
  left: -10px;
  /*ずらす*/
  /*グラデーションカバーの幅*/
  /*グラデーションカバーの高さ*/
  background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
  /*グラデーション②*/
}
.sns-list li:not(:last-child) {
  margin-right: 10px;
}
@media all and (max-width: 896px) {
  .sns-list li:not(:last-child) {
    margin: 0 auto 10px;
  }
}
@media all and (max-width: 896px) {
  .sns-list li {
    width: 80%;
    margin: 0 auto 10px;
  }
}

/* footer_navi
----------------------------------*/
.footer_navi {
  flex-basis: 100%;
  margin: 20px auto;
  width: calc(100% - 100px);
}
.footer_navi ul {
  margin: 0 auto;
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.footer_navi ul > li {
  width: 31%;
}
@media all and (max-width: 1100px) {
  .footer_navi ul > li {
    padding: 0px;
  }
}
.footer_navi ul > li .photo {
  display: none;
}
.footer_navi ul > li > a {
  color: #fff;
  font-size: 1.5rem;
  position: relative;
  padding: 10px 20px;
  display: block;
  border-radius: 50px;
  text-align: center;
  box-shadow: 0 0 10px rgba(54, 54, 54, 0.1);
  font-weight: 600;
}
.footer_navi ul > li > a span {
  display: none;
}
.footer_navi ul > li > a:hover {
  color: #eb0b0b;
}
.footer_navi ul > li .sub-menu {
  margin-top: 10px;
  display: block;
}
.footer_navi ul > li .sub-menu li {
  margin: 0;
  width: 100%;
  padding-left: 30px;
}
.footer_navi ul > li .sub-menu a {
  padding: 0px;
  background-color: transparent;
  box-shadow: none;
  text-align: left;
}
.footer_navi ul > li .sub-menu a:before {
  position: absolute;
  content: "";
  left: -14px;
  top: 7px;
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  border: 4px solid transparent;
  border-left: 4px solid #2C3D47;
  background-color: transparent;
}
.footer_navi ul > li .dropdown {
  display: none;
}
.footer_navi ul > li .dropdown .dropdon-li a {
  font-size: 1.2rem;
}
@media all and (max-width: 896px) {
  .footer_navi {
    display: none;
  }
}

.flogo {
  margin: 0 auto 20px;
  text-align: center;
  max-width: 200px;
}
.flogo .ume {
  width: 70px;
  margin-bottom: 10px;
}
@media all and (max-width: 639px) {
  .flogo {
    width: 100px;
  }
}

.address {
  color: #fefefe;
  font-size: 12px;
}

.copyright {
  padding: 6px 10px;
  font-size: 1.2rem;
  position: relative;
  z-index: 2;
  text-align: center;
  margin: 20px auto 0;
  color: #fff;
}
@media all and (max-width: 896px) {
  .copyright {
    font-size: 10px;
    margin: 20px auto 35px;
  }
}
@media all and (max-width: 639px) {
  .copyright {
    margin: 20px auto 80px;
  }
}

/* bnr
----------------------------------*/
.bnr-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.instagram_bnr > a {
  letter-spacing: 0.1rem;
  font-size: 1.6rem;
  padding: 15px 0;
  width: 350px;
  display: block;
  background: #ffa6b3;
  color: #fff;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  text-align: center;
  margin: 0 auto;
}
.instagram_bnr > a i {
  color: #fff;
  font-size: 1.4rem;
  margin-right: 8px;
}
.instagram_bnr > a:hover {
  opacity: 0.7;
}

.yoyaku_bnr > a {
  letter-spacing: 0.1rem;
  font-size: 1.6rem;
  padding: 15px 0;
  width: 350px;
  display: block;
  background: #363636;
  color: #fff;
  text-align: center;
  margin: 0 auto;
}
.yoyaku_bnr > a i {
  color: #fff;
  font-size: 1.4rem;
  margin-right: 8px;
}
.yoyaku_bnr > a:hover {
  opacity: 0.7;
}

/* list
----------------------------------*/
.list2 {
  display: flex;
  flex-wrap: wrap;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}
.list2.type1 > .child {
  background: #eee;
  padding: 15px;
}
@media all and (max-width: 639px) {
  .list2.type2 > li {
    width: 100%;
    margin: 0 auto 0;
  }
  .list2.type2 > li:nth-child(2) {
    margin-top: 30px;
  }
}
.list2 > .child {
  width: 48%;
}
.list2 > .child:nth-child(2n) {
  margin-left: 4%;
}
@media all and (max-width: 639px) {
  .list2 > .child:nth-child(2n) {
    margin-left: auto;
  }
}
.list2 > .child figure {
  width: 100%;
  height: 400px;
}
.list2 > .child figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.list2 > .child .detail {
  max-width: 80%;
  margin-right: auto;
}
@media all and (max-width: 1100px) {
  .list2 > .child figure {
    height: 300px;
  }
}
@media all and (max-width: 639px) {
  .list2 > .child {
    width: 100%;
    margin: 25px auto 0;
  }
  .list2 > .child figure {
    height: 220px;
  }
  .list2 > .child .detail {
    max-width: 100%;
  }
}
.list2 .child2 {
  width: 34%;
  margin-top: 50px;
}
.list2 .child2:nth-child(2n) {
  margin-left: 4%;
}
@media all and (max-width: 639px) {
  .list2 .child2:nth-child(2n) {
    margin-left: auto;
  }
}
@media all and (max-width: 639px) {
  .list2 .child2 {
    width: 100%;
    margin: 25px auto 0;
  }
}

.list3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.list3.type1 li {
  background: #fefefe;
  padding: 15px;
  border-radius: 8px;
}
.list3 li,
.list3 .child {
  width: 31%;
  position: relative;
  margin: 0 3.495% 30px 0;
}
.list3 li.t-m200,
.list3 .child.t-m200 {
  margin-top: 200px;
}
.list3 li:nth-child(3n),
.list3 .child:nth-child(3n) {
  margin-right: 0;
}
@media all and (max-width: 639px) {
  .list3 li,
  .list3 .child {
    width: 95%;
    margin: 0 auto 40px;
  }
  .list3 li:nth-child(3n),
  .list3 .child:nth-child(3n) {
    margin-right: auto;
  }
}
.list3 li figure,
.list3 .child figure {
  margin-bottom: 20px;
}

.list4 {
  display: flex;
  flex-wrap: wrap;
}
.list4 li {
  width: 24%;
  margin: 0 1.3333333333% 25px 0;
}
.list4 li:nth-child(4n) {
  margin-right: 0;
}

.list5 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.list5 li {
  width: 18%;
  margin: 0 1% 25px;
}
@media all and (max-width: 896px) {
  .list5 li {
    width: 30%;
  }
}
@media all and (max-width: 639px) {
  .list5 li {
    width: 48%;
  }
}
.list5 li .txtdeko3 {
  background-color: #fff;
  padding: 6px 20px;
  border-bottom: 2px solid #2C3D47;
}

.column3 {
  display: flex;
  flex-wrap: wrap;
}
.column3.type1 {
  align-items: center;
}
.column3 .child {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 30px;
}
.column3 .child:nth-child(3n) {
  margin-right: 0;
}
.column3.type2 .child {
  margin-bottom: 30px;
  background: #fff;
  padding: 15px;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.05));
}
.column3.type2 .child .mtitle-bll {
  letter-spacing: 0;
}
.column3.type2 .child:nth-child(2n) .mtitle-bll::after {
  background: #2C3D47;
}
.column3.type2 .child:nth-child(3n) .mtitle-bll::after {
  background: #2C3D47;
}
@media all and (max-width: 896px) {
  .column3 .child {
    width: 48%;
  }
  .column3 .child.bm20 {
    margin-bottom: 20px;
  }
}
@media all and (max-width: 639px) {
  .column3 .child {
    width: 98%;
  }
}

.column4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.column4 .child {
  width: 24%;
}
@media all and (max-width: 896px) {
  .column4 .child {
    width: 48%;
  }
  .column4 .child.bm20 {
    margin-bottom: 20px;
  }
  .column4 .child.bm30 {
    margin-bottom: 30px;
  }
}

/* contents
----------------------------------*/
.single {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 0;
  position: relative;
}
@media all and (max-width: 1100px) {
  .single {
    padding: 80px 15px;
  }
}
.single.type1 {
  padding: 80px 0 0;
}

.single02 {
  margin: 0 auto;
  padding: 80px 0;
}
@media all and (max-width: 1100px) {
  .single02 {
    width: 100%;
    padding: 80px 15px;
  }
}

.single03 {
  max-width: 1500px;
  width: 95%;
  margin: 0 auto;
  padding: 80px 0;
  position: relative;
}
@media all and (max-width: 1100px) {
  .single03 {
    padding: 80px 15px;
  }
}

.single04 {
  position: relative;
  margin: 0 auto;
  padding: 80px 0;
  max-width: calc(100% - 80px);
}
@media all and (max-width: 896px) {
  .single04 {
    max-width: calc(100% - 20px);
    padding: 40px 0;
  }
}

.single05 {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 0;
  position: relative;
}
@media all and (max-width: 1100px) {
  .single05 {
    padding: 80px 15px;
  }
}

.margin-top_box {
  padding: 30px;
  background-color: #fff;
  border-radius: 30px;
  /* margin-top: -250px; */
}
@media all and (max-width: 1100px) {
  .margin-top_box {
    margin-top: -200px;
  }
}
@media all and (max-width: 896px) {
  .margin-top_box {
    margin-top: -150px;
  }
}
@media all and (max-width: 639px) {
  .margin-top_box {
    margin-top: -100px;
  }
}

/*what-inner
-------------------------------------*/
.what-inner {
  width: 100%;
  max-width: 400px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto 40px;
  align-items: center;
}
.what-inner .in-left {
  width: 33%;
  margin-right: 20px;
  text-align: center;
  border-right: 1px dotted #eb0b0b;
}
.what-inner .in-left .read {
  color: #eb0b0b;
  font-size: 3rem;
  letter-spacing: 0.1em;
  letter-spacing: 0.2em;
  font-weight: 600;
  line-height: 1.4em;
}
.what-inner .in-right {
  flex: 1;
}
@media all and (max-width: 1100px) {
  .what-inner .in-left .read {
    font-size: 2.5rem;
  }
}
@media all and (max-width: 639px) {
  .what-inner .in-left {
    width: 100%;
    margin-bottom: 20px;
    margin-right: auto;
  }
  .what-inner .in-right {
    width: 100%;
  }
  .what-inner .in-right .read {
    font-size: 1.6rem;
  }
}

.mbox {
  background: #fefefe;
  padding: 30px 30px;
  position: relative;
  z-index: 1;
  margin-right: auto;
  margin-left: auto;
  max-width: 1200px;
}
.mbox.transparent {
  background: transparent;
}
.mbox.type1 {
  border-radius: 0;
}
.mbox.m0-p0 {
  margin: 0;
  padding: 0;
}
@media all and (max-width: 639px) {
  .mbox.m0-p0 {
    margin: 20px 0 0;
    padding: 0;
  }
}
.mbox.border {
  border: 1px solid #2C3D47;
  border-radius: 20px;
}
@media all and (max-width: 639px) {
  .mbox.border {
    padding: 15px 10px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media all and (max-width: 639px) {
  .mbox {
    padding: 15px 10px;
    border-radius: 10px;
  }
  .mbox.sp-m10 {
    margin-left: 10px;
    margin-right: 10px;
  }
  .mbox.t-m100 {
    margin-top: 50px;
  }
}

.note {
  padding: 15px;
  margin-top: 10px;
  background: rgba(199, 195, 22, 0.2);
}

.mbox2 {
  background: #fffcfc;
  box-shadow: rgba(51, 51, 51, 0.1) 0px 10px 50px;
  padding: 35px 30px;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 20px;
}
@media all and (max-width: 639px) {
  .mbox2 {
    padding: 15px;
  }
}


.mbox2.bmchousei {
  margin-bottom: 40px;
}
.mbox2.bmchousei2 {
  margin-bottom: 60px;
}
.mbox2.type-beige {
  background: #f5f1e9;
}
@media all and (max-width: 639px) {
  .mbox2.sp-p0 {
    padding: 0;
  }
}

.element_style {
  background-color: #feffdc;
  margin: 40px;
  padding: 20px;
  border-radius: 4%;
}
@media all and (max-width: 639px) {
  .element_style {
    margin: 0 0 30px;
  }
}

.small-box {
  max-width: 850px;
  margin-right: auto;
  margin-left: auto;
}

.small-box2 {
  max-width: 650px;
  margin-right: auto;
  margin-left: auto;
}

.sentence p + p {
  margin-top: 20px;
}

#main {
  float: left;
  width: 76%;
}
@media all and (max-width: 896px) {
  #main {
    float: none;
    width: 100%;
  }
}

#side {
  float: right;
  position: sticky;
  right: 0;
  top: 0;
  width: 21%;
  padding-right: 10px;
  background: #fefefe;
  border-radius: 30px;
  padding: 30px;
}
@media all and (max-width: 896px) {
  #side {
    float: none;
    width: 100%;
    position: static;
    margin-top: 40px;
  }
}
@media all and (max-width: 639px) {
  #side {
    border-radius: 10px;
  }
}
#side .mtitle_category {
  color: #363636;
}

/* mtitle
----------------------------------*/
.mtitle {
  margin: 0 auto 40px;
  text-align: center;
}
.mtitle .eng {
  font-size: 1.5rem;
  color: #eb0b0b;
  position: relative;
  line-height: 1.2;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
}
.mtitle .ja {
  font-size: 3rem;
  color: #363636;
  display: block;
  position: relative;
  font-weight: bold;
}
.mtitle.center .ja:before {
  right: 0;
  left: 0;
}
.mtitle.white {
  color: #fff;
  text-shadow: 0 0 3px rgba(54, 54, 54, 0.1);
}
.mtitle.white span {
  color: #fff;
  text-shadow: 0 0 3px rgba(54, 54, 54, 0.1);
}
.mtitle.white span:after {
  background-color: #eee;
}
.mtitle.white span.ja {
  color: #fff;
}
.mtitle.white span.ja:before {
  background-color: #fff;
}
.mtitle.white span.ja:first-letter {
  color: #fff;
}
.mtitle.white span.eng {
  color: #fff;
  background: none;
  -webkit-text-fill-color: #fff;
}
.mtitle.black {
  color: #363636;
}
.mtitle.black span {
  color: #555;
}
.mtitle.black span:after {
  background-color: #555;
}
.mtitle.page {
  text-align: center;
  position: relative;
}
.mtitle.page .eng {
  position: relative;
  min-width: 120px;
  display: inline-block;
}
.mtitle.page .ja {
  font-size: 3rem;
  color: #eb0b0b;
  padding-top: 10px;
  display: block;
}
.mtitle.page .ja:first-letter {
  color: #363636;
}
.mtitle.mtitle_left {
  text-align: left;
}
@media all and (max-width: 639px) {
  .mtitle {
    text-align: center;
    margin: 0 auto 20px;
  }
  .mtitle .eng {
    font-size: 1.2rem;
  }
  .mtitle .eng:before {
    width: 50px;
    height: 2px;
    right: -14px;
    bottom: -11px;
  }
  .mtitle .ja {
    font-size: 1.8rem;
  }
  .mtitle.page {
    text-align: left;
  }
  .mtitle.page .eng {
    font-size: 1.2rem;
    text-align: center;
  }
  .mtitle.page .eng:before {
    width: 50px;
    height: 2px;
    right: 0px;
    bottom: -14px;
    left: auto;
  }
  .mtitle.page .ja {
    padding-top: 0;
    font-size: 1.6rem;
  }
}

.mtitle2 {
  margin: 40px auto 20px;
  color: #363636;
  letter-spacing: 0.15em;
  position: relative;
}
.mtitle2.type-white {
  text-align: center;
  margin: 0 auto 20px;
}
.mtitle2.type-white span.eng {
  color: #fff;
  position: initial;
  font-size: 6rem;
  line-height: 1.3;
}
.mtitle2.type-white span.ja {
  color: #fff;
  margin-top: -10px;
}
@media all and (max-width: 639px) {
  .mtitle2.type-white {
    font-size: 1.3rem;
  }
  .mtitle2.type-white span.eng {
    font-size: 2rem;
    top: -15px;
  }
  .mtitle2.type-white span.ja {
    font-size: 1.6rem;
  }
}
.mtitle2 span {
  font-size: 2.5rem;
  display: block;
  color: #eb0b0b;
}
.mtitle2 span.eng {
  color: #eb0b0b;
  text-transform: uppercase;
  font-size: 1.8rem;
  line-height: 1;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
}
.mtitle2 span.ja {
  font-size: 3rem;
  font-weight: bold;
  color: #363636;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 639px) {
  .mtitle2 {
    font-size: 1.3rem;
  }
  .mtitle2 span.eng {
    font-size: 2rem;
    top: -15px;
  }
  .mtitle2 span.ja {
    font-size: 1.6rem;
  }
}

.mtitle3 {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-feature-settings: "pkna";
  position: absolute;
  min-height: 280px;
  top: 40px;
  left: 30px;
}
.mtitle3 .ja {
  display: block;
  font-size: 4rem;
  border-right: 2px solid #eb0b0b;
  letter-spacing: 0.2em;
  padding-top: 55px;
  padding-right: 5px;
  font-weight: 600;
  color: #363636;
}
.mtitle3 .eng {
  display: block;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  font-size: 3rem;
  color: #eb0b0b;
  padding-left: 3px;
}
@media all and (max-width: 896px) {
  .mtitle3 .ja {
    font-size: 2rem;
  }
  .mtitle3 .eng {
    font-size: 2rem;
  }
}
@media all and (max-width: 639px) {
  .mtitle3 {
    position: inherit;
    left: 0;
    top: 0;
    min-height: auto;
    padding-top: 50px;
    writing-mode: inherit;
  }
  .mtitle3 .ja {
    font-size: 1.6rem;
    padding-top: 0;
    border-right: 0;
    padding-bottom: 20px;
    border-bottom: 2px solid #eb0b0b;
    margin-bottom: 20px;
  }
  .mtitle3 .eng {
    font-size: 1.3rem;
  }
}

.mtitle4-1 {
  text-align: center;
  color: #363636;
  line-height: 1.5;
  letter-spacing: 0.1rem;
  font-size: 3rem;
  margin-bottom: 40px;
}
.mtitle4-1 span {
  position: relative;
  display: inline-block;
  min-width: 10%;
}
.mtitle4-1 span:before, .mtitle4-1 span:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1px;
  height: 2rem;
  background-color: #eb0b0b;
}
.mtitle4-1 span:before {
  left: -11px;
  transform: rotate(-20deg);
}
.mtitle4-1 span:after {
  right: -11px;
  transform: rotate(20deg);
}
.mtitle4-1.white span:before, .mtitle4-1.white span:after {
  background-color: #cfb45a;
}
@media all and (max-width: 639px) {
  .mtitle4-1 {
    font-size: 1.5rem;
  }
}
@media all and (max-width: 320px) {
  .mtitle4-1 span:before {
    left: -3px;
  }
  .mtitle4-1 span:after {
    right: -3px;
  }
}

.mtitle_line {
  font-size: 2.2rem;
  padding-bottom: 20px;
  position: relative;
  font-weight: 600;
  margin-bottom: 30px;
  padding-top: 8px;
  padding-left: 20px;
  color: #363636;
  border-top: 2px solid #eb0b0b;
  letter-spacing: 0.2rem;
  background-color: #969696;
}
.mtitle_line span {
  display: block;
  font-size: 1.4rem;
  color: #eb0b0b;
}
@media all and (max-width: 639px) {
  .mtitle_line {
    font-size: 1.4rem;
  }
  .mtitle_line span {
    font-size: 1.2rem;
  }
}

.mtitle-box {
  background-color: #eb0b0b;
  color: #fff;
  padding: 20px 20px;
  margin: 0 auto;
  text-align: center;
}
.mtitle-box .ja {
  color: #fff;
  font-size: 2.4rem;
}
.mtitle-box .ja .main {
  padding-left: 5px;
  font-size: 3rem;
}
@media all and (max-width: 639px) {
  .mtitle-box .ja {
    font-size: 1.7rem;
  }
  .mtitle-box .ja .main {
    padding-left: 5px;
    font-size: 2rem;
  }
}

.mtitle_ribon {
  position: relative;
  background: #fff;
  color: #fff;
  display: inline-block;
  padding: 15px 35px 15px 15px;
  font-size: 2.2rem;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  margin: 0 0 25px -30px;
}
.mtitle_ribon .eng {
  font-size: 1.2rem;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  margin-left: 10px;
}
.mtitle_ribon.type1 {
  position: absolute;
  top: 10px;
  left: -10px;
  background: #fff;
  font-size: 1.8rem;
  padding: 10px 25px 10px 10px;
  margin: 0 0 25px 0px;
  color: #eb0b0b;
  border: 6px double #eb0b0b;
  font-weight: 600;
}
.mtitle_ribon.type1.sub01 {
  background-color: #cfb45a;
}
.mtitle_ribon.type1.sub02 {
  background-color: #ff4362;
}
.mtitle_ribon.sbc {
  background: #537386;
}
@media all and (max-width: 639px) {
  .mtitle_ribon {
    margin: 0 0 20px -10px;
    font-size: 1.5rem;
  }
  .mtitle_ribon .eng {
    font-size: 1rem;
  }
  .mtitle_ribon.type1 {
    font-size: 1.3rem;
    margin: 5px 0 0 -5px;
    left: 4px;
    border-radius: 0 5px 5px 0;
  }
}

.mtitle_sub {
  padding: 0 0 0 20px;
  font-weight: 600;
  position: relative;
  border-left: 6px solid #eb0b0b;
  font-size: 1.1em;
  line-height: 1.4;
  text-align: left;
  margin-bottom: 10px;
}
.mtitle_sub .hissu {
  color: #fff;
  background: #f53434;
  padding: 5px 8px;
  margin-right: 5px;
  font-size: 11px;
  border-radius: 20px;
}
.mtitle_sub:before {
  position: absolute;
  left: -6px;
  bottom: 0;
  content: "";
  width: 6px;
  height: 50%;
  background-color: #2C3D47;
}
@media all and (max-width: 639px) {
  .mtitle_sub {
    margin: 0px 0 15px 10px;
    padding: 0 0 0 10px;
  }
}

.mtitle_category {
  margin-bottom: 15px;
  font-size: 1.8rem;
  font-weight: normal;
  color: #2C3D47;
  text-align: center;
  line-height: 1.5;
}
.mtitle_category .ja {
  font-size: 2.5rem;
  font-weight: bold;
  color: #604c3f;
}
.mtitle_category .eng {
  font-size: 1.5rem;
}
@media all and (max-width: 639px) {
  .mtitle_category .ja {
    font-size: 1.5rem;
  }
  .mtitle_category .eng {
    font-size: 1.2rem;
  }
}

.mtitle_box {
  background: #eb0b0b;
  color: #fff;
  font-size: 1.8rem;
  position: relative;
  padding: 10px 10px 10px 20px;
  margin-bottom: 25px;
  font-weight: 600;
  border-radius: 5px;
}
.mtitle_box.eng {
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
}
.mtitle_box span {
  font-weight: normal;
  font-size: 14px;
  padding-left: 10px;
}
.concept{
  line-height: 4rem;
}

@media all and (max-width: 639px) {
  .mtitle_box {
    font-size: 1.5rem;
  }
  .concept{
    font-size: 1.0rem;
    line-height: 1.9rem;
  }
}

.mtitle_box2 {
  position: relative;
  background: linear-gradient(60deg, #2C3D47 0%, #2C3D47 85%, #405866 85%);
  font-size: 2rem;
  color: #fff;
  padding: 15px;
  line-height: 1.4;
  margin-bottom: 25px;
  border-radius: 5px;
}
.mtitle_box2 span {
  font-size: 1.6rem;
}
.mtitle_box2.type1 {
  background: linear-gradient(60deg, #2C3D47 0%, #2C3D47 85%, #405866 85%);
}
@media all and (max-width: 639px) {
  .mtitle_box2 {
    font-size: 1.8rem;
    padding: 10px;
    margin-bottom: 20px;
  }
  .mtitle_box2 span {
    font-size: 1.3rem;
  }
}

.mtext1 {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.5;
}
@media all and (max-width: 639px) {
  .mtext1 {
    font-size: 1.5rem;
    line-height: 1.4;
  }
}

.mtext2 {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.1rem;
  line-height: 1.8;
}
.mtext2 span {
  padding: 5px 10px;
  background-color: #fff;
}
@media all and (max-width: 639px) {
  .mtext2 {
    font-size: 1.8rem;
  }
}

.color1 {
  color: #eb0b0b;
}

.color2 {
  color: #2C3D47;
}

.color3 {
  color: #999611;
}

.item-ttl {
  font-size: 3rem;
  color: #2C3D47;
  position: relative;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}
.item-ttl .txt01 {
  display: block;
  font-size: 1.8rem;
  color: rgba(44, 61, 71, 0.5);
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
}
@media all and (max-width: 639px) {
  .item-ttl .txt01 {
    font-size: 1.6rem;
  }
}
.item-ttl.type-img {
  text-align: center;
}
.item-ttl.type-img .txt01 {
  color: rgba(44, 61, 71, 0.7);
}
.item-ttl.tleft {
  text-align: left;
}
@media all and (max-width: 896px) {
  .item-ttl.tleft {
    text-align: center;
  }
}
@media all and (max-width: 639px) {
  .item-ttl {
    width: 80%;
    margin: 0 auto;
  }
}

.ttl-img {
  width: 50%;
  margin: 0 auto 40px;
}
.ttl-img.type2 {
  margin: 0 auto;
}
.ttl-img.type3 {
  margin: 50px auto 0;
}
@media all and (max-width: 1100px) {
  .ttl-img {
    width: 70%;
  }
}
@media all and (max-width: 896px) {
  .ttl-img {
    width: 95%;
    margin: 0 auto 20px;
  }
}

@media all and (max-width: 639px) {
  .caption {
    width: 120px;
  }
}

.item-inner {
  padding: 10px 20px;
  font-weight: 600;
  position: relative;
  margin-bottom: 10px;
  background: #f5f1e9;
  border-radius: 10px;
}
.item-inner.type2 {
  margin-bottom: 60px;
}

/*s-product
-----------------------------------*/
.s-product {
  position: relative;
  margin: 40px auto;
}
@media all and (max-width: 639px) {
  .s-product {
    padding-bottom: 6rem;
  }
}
.s-product > .swiper-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media all and (max-width: 639px) {
  .s-product > .swiper-wrapper {
    flex-wrap: nowrap;
    justify-content: initial;
  }
}
.s-product > .swiper-wrapper > .swiper-slide {
  width: 48%;
  margin: 0 2% 40px 0;
  padding: 20px 2%;
  background: #fff;
  border-radius: 10px;
  min-height: 500px;
  position: relative;
}
.s-product > .swiper-wrapper > .swiper-slide:nth-child(2n) {
  margin-right: 0;
}
@media all and (max-width: 639px) {
  .s-product > .swiper-wrapper > .swiper-slide {
    width: 100%;
    margin: 0 auto;
    padding: 10px;
    min-height: 435px;
  }
  .s-product > .swiper-wrapper > .swiper-slide:nth-child(3n), .s-product > .swiper-wrapper > .swiper-slide:nth-child(2n) {
    margin-right: auto;
  }
}
.s-product > .swiper-wrapper > .swiper-slide .img-area {
  position: relative;
  width: 100%;
  height: 260px;
  margin: 0 auto 20px;
  overflow: hidden;
}
.s-product > .swiper-wrapper > .swiper-slide .img-area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}
@media all and (max-width: 639px) {
  .s-product > .swiper-wrapper > .swiper-slide .img-area {
    height: 200px;
    margin: 0 auto 10px;
  }
}
.s-product > .swiper-wrapper > .swiper-slide .cate {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin-top: -5px;
}
@media all and (max-width: 639px) {
  .s-product > .swiper-wrapper > .swiper-slide .cate {
    margin-top: 0;
  }
}
.s-product > .swiper-wrapper > .swiper-slide .cate .nmb {
  width: 18%;
  display: block;
  color: #eb0b0b;
  font-weight: 200;
  font-size: 4rem;
  text-align: center;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
}
.s-product > .swiper-wrapper > .swiper-slide .cate .nmb span {
  font-size: 1.3rem;
  display: block;
  margin-bottom: -1rem;
}
@media all and (max-width: 896px) {
  .s-product > .swiper-wrapper > .swiper-slide .cate .nmb {
    font-size: 3rem;
  }
  .s-product > .swiper-wrapper > .swiper-slide .cate .nmb span {
    font-size: 1rem;
  }
}
.s-product > .swiper-wrapper > .swiper-slide .cate .ttl {
  width: 80%;
  font-size: 2.2rem;
  color: #363636;
}
@media all and (max-width: 1100px) {
  .s-product > .swiper-wrapper > .swiper-slide .cate .ttl {
    letter-spacing: 0;
    font-size: 1.8rem;
  }
}
@media all and (max-width: 896px) {
  .s-product > .swiper-wrapper > .swiper-slide .cate .ttl {
    font-size: 1.3rem;
  }
}
@media all and (max-width: 639px) {
  .s-product > .swiper-wrapper > .swiper-slide .cate .ttl {
    font-size: 1.5rem;
    width: 75%;
  }
}
.s-product > .swiper-wrapper > .swiper-slide .txt {
  color: #333;
}
.s-product > .swiper-wrapper > .swiper-slide .btn {
  font-size: 1.2rem;
  margin-top: 10px;
  position: relative;
  text-align: right;
}
.s-product > .swiper-wrapper > .swiper-slide .btn::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  background: #C7C316;
  opacity: 0.5;
  z-index: -2;
  border-radius: 30px;
}
.s-product > .swiper-wrapper > .swiper-slide:hover {
  transition: all 0.3s ease;
}
.s-product > .swiper-wrapper > .swiper-slide:hover .img-area img {
  transition: all 0.3s ease;
}
.s-product > .swiper-wrapper > .swiper-slide:hover .btn::after {
  transition: all 0.3s ease;
  width: 30px;
  height: 30px;
}
.s-product .swiper-controller {
  display: none;
}
@media all and (max-width: 639px) {
  .s-product .swiper-controller {
    display: flex;
    gap: 2.6rem;
    align-items: center;
    justify-content: flex-end;
    margin-top: 3.2rem;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
.s-product .swiper-button-prev,
.s-product .swiper-button-next {
  position: relative;
  margin: 0;
  display: grid;
  place-content: center;
  width: 6.4rem;
  height: 6.4rem;
  cursor: pointer;
  transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
  background-image: none;
  border-radius: 50%;
  background: #eb0b0b;
}
@media all and (max-width: 896px) {
  .s-product .swiper-button-prev,
  .s-product .swiper-button-next {
    width: 4rem;
    height: 4rem;
  }
}
.s-product .swiper-button-prev::before,
.s-product .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  background-color: #eb0b0b;
}
.s-product .swiper-button-prev::after,
.s-product .swiper-button-next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  border: solid #fff;
  border-width: 2px 2px 0 0;
}
.s-product .swiper-button-prev:hover::before,
.s-product .swiper-button-next:hover::before {
  transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
  transform: scale(1.2);
}
.s-product .swiper-button-prev::after {
  margin-left: 0.4rem;
  transform: rotate(-135deg);
}
.s-product .swiper-button-next::after {
  margin-right: 0.4rem;
  transform: rotate(45deg);
}
.s-product .swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}

.s-product2 {
  position: relative;
  margin: 40px auto;
}
.s-product2 > .swiper-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.s-product2 > .swiper-wrapper > .swiper-slide {
  width: 48%;
  margin: 0 2% 40px 0;
  padding: 20px 2%;
  background: #fff;
  border-radius: 10px;
  position: relative;
}
.s-product2 > .swiper-wrapper > .swiper-slide:nth-child(2n) {
  margin-right: 0;
}
@media all and (max-width: 639px) {
  .s-product2 > .swiper-wrapper > .swiper-slide {
    width: 100%;
    margin: 0 auto 20px;
    padding: 10px;
  }
  .s-product2 > .swiper-wrapper > .swiper-slide:nth-child(3n), .s-product2 > .swiper-wrapper > .swiper-slide:nth-child(2n) {
    margin-right: auto;
  }
}
.s-product2 > .swiper-wrapper > .swiper-slide .img-area {
  position: relative;
  width: 100%;
  height: 260px;
  margin: 0 auto 20px;
  overflow: hidden;
}
.s-product2 > .swiper-wrapper > .swiper-slide .img-area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}
@media all and (max-width: 639px) {
  .s-product2 > .swiper-wrapper > .swiper-slide .img-area {
    height: 200px;
    margin: 0 auto 10px;
  }
}
.s-product2 > .swiper-wrapper > .swiper-slide .cate {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin-top: -5px;
}
@media all and (max-width: 639px) {
  .s-product2 > .swiper-wrapper > .swiper-slide .cate {
    margin-top: 0;
  }
}
.s-product2 > .swiper-wrapper > .swiper-slide .cate .nmb {
  width: 18%;
  display: block;
  color: #eb0b0b;
  font-weight: 200;
  font-size: 4rem;
  text-align: center;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
}
.s-product2 > .swiper-wrapper > .swiper-slide .cate .nmb span {
  font-size: 1.3rem;
  display: block;
  margin-bottom: -1rem;
}
@media all and (max-width: 896px) {
  .s-product2 > .swiper-wrapper > .swiper-slide .cate .nmb {
    font-size: 3rem;
  }
  .s-product2 > .swiper-wrapper > .swiper-slide .cate .nmb span {
    font-size: 1rem;
  }
}
.s-product2 > .swiper-wrapper > .swiper-slide .cate .ttl {
  width: 80%;
  font-size: 2.2rem;
  color: #363636;
}
@media all and (max-width: 1100px) {
  .s-product2 > .swiper-wrapper > .swiper-slide .cate .ttl {
    letter-spacing: 0;
    font-size: 1.8rem;
  }
}
@media all and (max-width: 896px) {
  .s-product2 > .swiper-wrapper > .swiper-slide .cate .ttl {
    font-size: 1.3rem;
  }
}
@media all and (max-width: 639px) {
  .s-product2 > .swiper-wrapper > .swiper-slide .cate .ttl {
    font-size: 1.5rem;
    width: 75%;
  }
}
.s-product2 > .swiper-wrapper > .swiper-slide .txt {
  color: #333;
}
.s-product2 > .swiper-wrapper > .swiper-slide .btn {
  font-size: 1.2rem;
  margin-top: 10px;
  position: relative;
  text-align: right;
}
.s-product2 > .swiper-wrapper > .swiper-slide .btn::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  background: #C7C316;
  opacity: 0.5;
  z-index: -2;
  border-radius: 30px;
}
.s-product2 > .swiper-wrapper > .swiper-slide:hover {
  transition: all 0.3s ease;
}
.s-product2 > .swiper-wrapper > .swiper-slide:hover .img-area img {
  transition: all 0.3s ease;
}
.s-product2 > .swiper-wrapper > .swiper-slide:hover .btn::after {
  transition: all 0.3s ease;
  width: 30px;
  height: 30px;
}
.s-product2 .swiper-controller {
  display: none;
}
@media all and (max-width: 639px) {
  .s-product2 .swiper-controller {
    display: flex;
    gap: 2.6rem;
    align-items: center;
    justify-content: flex-end;
    margin-top: 3.2rem;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
.s-product2 .swiper-button-prev,
.s-product2 .swiper-button-next {
  position: relative;
  margin: 0;
  display: grid;
  place-content: center;
  width: 6.4rem;
  height: 6.4rem;
  cursor: pointer;
  transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
  background-image: none;
  border-radius: 50%;
  background: #eb0b0b;
}
@media all and (max-width: 896px) {
  .s-product2 .swiper-button-prev,
  .s-product2 .swiper-button-next {
    width: 4rem;
    height: 4rem;
  }
}
.s-product2 .swiper-button-prev::before,
.s-product2 .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  background-color: #eb0b0b;
}
.s-product2 .swiper-button-prev::after,
.s-product2 .swiper-button-next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  border: solid #fff;
  border-width: 2px 2px 0 0;
}
.s-product2 .swiper-button-prev:hover::before,
.s-product2 .swiper-button-next:hover::before {
  transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
  transform: scale(1.2);
}
.s-product2 .swiper-button-prev::after {
  margin-left: 0.4rem;
  transform: rotate(-135deg);
}
.s-product2 .swiper-button-next::after {
  margin-right: 0.4rem;
  transform: rotate(45deg);
}
.s-product2 .swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}

/* btn
----------------------------------*/
.btn01.type-left a {
  margin: 40px auto 0 0;
}
.btn01 a {
  background: #fefefe;
  text-align: center;
  max-width: 300px;
  width: 100%;
  margin: 15px auto;
  color: #eb0b0b;
  display: block;
  padding: 8px 30px;
  font-weight: 600;
  border: 1px solid #eb0b0b;
  font-size: 1.5rem;
  box-shadow: 0px 4px 0 #eb0b0b;
  position: relative;
}
.btn01 a:before {
  position: absolute;
  content: "";
  width: 10px;
  height: 6px;
  border-left: 10px solid #eb0b0b;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  right: 8%;
  top: 40%;
}
.btn01 a:hover {
  transition: 0.6s;
  background: #eb0b0b;
  color: #fefefe;
  transform: translate(0px, 5px);
  box-shadow: none;
}
.btn01 a:hover:before {
  transition: 0.6s;
  border-left: 10px solid #fff;
  right: 6%;
}
.btn01.mail {
  flex-basis: 100%;
}
.btn01.mail a {
  background: #cfb45a;
  margin: 15px auto 25px;
}
.btn01.mail a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 5px;
}
.btn01.type-line a {
  background: #00b900;
  color: #fefefe;
  border: none;
  box-shadow: none;
}
.btn01.type-line a::before {
  display: none;
}
@media all and (max-width: 639px) {
  .btn01 a {
    width: 94%;
    padding: 8px 20px;
    font-size: 1.4rem;
  }
}

.btn02 {
  position: relative;
  z-index: 1000;
}
.btn02 a {
  display: block;
  width: 400px;
  max-width: 85%;
  height: 80px;
  margin: 30px auto 0;
  color: #604c3f;
  text-align: center;
  border-radius: 100px;
  font-weight: 500;
  transition: 0.4s;
  font-weight: bold;
  position: relative;
  border: 5px solid #fff;
  background: #fff;
  box-shadow: 6px 6px 0px 0px #2C3D47;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn02 a i {
  color: #2C3D47;
  margin-right: 10px;
  transition: all 0.5s ease;
}
.btn02 a::before {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 5px);
  height: calc(100% - 5px);
  border-radius: 70px;
  border: 2px dotted #2C3D47;
}
.btn02 a:hover {
  transition: 0.4s;
  box-shadow: none;
}
.btn02 a:hover i {
  transform: translateX(5px);
}
@media all and (max-width: 639px) {
  .btn02 a {
    font-size: 1.4rem;
    height: 53px;
  }
}
.btn02.color2 a {
  border: 1px solid #2C3D47;
  color: #fefefe;
  background: #2C3D47;
}
.btn02.color2 a:hover {
  background: #fefefe;
  color: #2C3D47;
}

.btn03 a {
  margin: 30px auto 10px;
  display: block;
  color: #eb0b0b;
  max-width: 400px;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.2rem;
  padding: 12px 0;
  border: 0.9px solid #eb0b0b;
  border-radius: 30px;
}
.btn03 a:before {
  margin-right: 5px;
  position: relative;
  display: inline-block;
}
.btn03 a:hover {
  color: #fff;
  box-shadow: #eb0b0b 0 80px 0px 2px inset;
}
@media all and (max-width: 639px) {
  .btn03 a {
    margin: 0 auto;
    white-space: nowrap;
    padding: 10px 0;
    width: 100%;
    font-size: 1.5rem;
  }
  .btn03 a:before {
    font-size: 1.3rem;
    transform: translateY(-2px);
  }
}

.btn04 .btn-inner {
  font-size: 1.6rem;
  padding: 15px 0;
  max-width: 350px;
  margin: 0 auto;
}
.btn04 .btn-inner:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
}
.btn04 .btn-inner.type2:before {
  font-family: "Font Awesome 5 Free";
  content: "\f879";
  font-weight: 900;
}
@media all and (max-width: 639px) {
  .btn04 .btn-inner {
    font-size: 1.2rem;
  }
}
.btn04.white a:hover {
  color: #eb0b0b;
  border: 0.9px solid #fff;
  box-shadow: #fff 0 80px 0px 2px inset;
}
.btn04 a {
  display: block;
  color: #fff;
  max-width: 280px;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.2rem;
  padding: 12px 40px;
  border: 0.9px solid #fff;
  background-color: none;
  margin-left: auto;
  margin-right: auto;
}
.btn04 a:before {
  margin-right: 5px;
  position: relative;
  display: inline-block;
}
.btn04 a:hover {
  color: #fff;
  border: 0.9px solid #eb0b0b;
  box-shadow: #eb0b0b 0 80px 0px 2px inset;
}
@media all and (max-width: 639px) {
  .btn04 a {
    margin: 0 auto;
    white-space: nowrap;
    padding: 10px 0;
    width: 100%;
    max-width: 200px;
    font-size: 1.2rem;
  }
  .btn04 a:before {
    font-size: 1.3rem;
    transform: translateY(-2px);
  }
}

.btn05 {
  position: relative;
  color: #363636;
  padding: 10px 50px 10px 30px;
  display: inline-block;
  text-decoration: none;
  outline: none;
}
@media all and (max-width: 639px) {
  .btn05 {
    padding: 10px 30px 10px 30px;
    max-width: 250px;
    width: 100%;
  }
}
.btn05:before, .btn05:after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  /*線の形状*/
  background: #363636;
  width: 100%;
  height: 2px;
  transition: all 0.3s ease-in-out;
}
.btn05:after {
  width: 0;
  background-image: linear-gradient(-225deg, #d1ac81 0%, #d3c2ad 100%);
}
.btn05:hover:after {
  width: 100%;
}
.btn05:hover span:after {
  right: 15px;
}
.btn05 span:after {
  content: "";
  position: absolute;
  top: 1.3em;
  right: 20px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #363636;
  border-right: 1px solid #363636;
  transform: rotate(45deg);
  transition: all 0.3s;
}

.btn06 {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  background: #23a7ff;
  width: 100px;
  height: 100px;
  line-height: 100px;
  border-radius: 50%;
  text-align: center;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
}
.btn06:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  z-index: -1;
  background: inherit;
  animation: ripple 4s cubic-bezier(0.3, 0, 0.1, 1) infinite;
}
.btn06:hover {
  background-color: #eb0b0b;
}
.btn06:hover:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #fff;
  animation: ripple2 1s ease-in 0s forwards;
}

/* page-top
----------------------------------*/
@keyframes page-leadanime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* page-title
----------------------------------*/
.page-title {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin: 0 auto;
  width: 100%;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/contact2.jpg) no-repeat 50% 50%/cover;
}
.page-title.type1 {
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/page-title.jpg) no-repeat center 100%/cover;
}
.page-title.type2 {
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/page-title02.jpg) no-repeat center 100%/cover;
}
.page-title.type3 {
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/page-title03.jpg) no-repeat center 0%/cover;
}
.page-title.type4 {
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/page-title04.jpg) no-repeat center 100%/cover;
}
.page-title.type5 {
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/page-title05.jpg) no-repeat center 100%/cover;
}
.page-title.type6 {
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/page-title06.jpg) no-repeat center 100%/cover;
}
.page-title.type7 {
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/page-title07.jpg) no-repeat center 100%/cover;
}
.page-title.type8 {
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/page-title08.jpg) no-repeat center 100%/cover;
}
.page-title:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #604c3f;
  opacity: 0.05;
}
.page-title .inner {
  margin: 0 auto;
  padding: 260px 0 100px;
  max-width: 1200px;
  overflow: hidden;
}
.page-title .inner .page-lead {
  color: #fefefe;
  text-align: center;
  font-size: 2rem;
  position: relative;
  margin: 0 auto;
}
.page-title .inner .page-lead .eng {
  display: block;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  text-transform: uppercase;
  text-shadow: 0px 0px 10px rgba(96, 76, 63, 0.2);
}
.page-title .inner .page-lead .ja {
  color: #fff;
  text-shadow: 0px 0px 10px rgba(96, 76, 63, 0.2);
  font-size: 4rem;
}
@media all and (max-width: 639px) {
  .page-title .inner .page-lead {
    font-size: 1.4rem;
    transform: translateY(4px);
  }
  .page-title .inner .page-lead .eng {
    font-size: 2rem;
  }
}
@media all and (max-width: 896px) {
  .page-title .inner {
    width: 100%;
    padding: 100px 0;
  }
  .page-title .inner .page-lead .ja {
    font-size: 3rem;
  }
}
@media all and (max-width: 639px) {
  .page-title .inner .page-lead .ja {
    font-size: 2rem;
  }
  .page-title .inner .page-lead .eng {
    font-size: 1.5rem;
  }
}

/* bg
----------------------------------*/
.bg-oreflo {
  position: relative;
  z-index: 0;
}
.bg-oreflo::before, .bg-oreflo::after {
  position: absolute;
  content: "";
  right: 0;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/hosi.png) repeat-y;
  width: 100px;
  height: 100%;
  z-index: 2;
  display: block;
  opacity: 0.5;
  top: 0;
  z-index: -1;
}
.bg-oreflo::after {
  transform: scaleX(-1);
  left: 0;
  top: 0;
}
@media all and (max-width: 639px) {
  .bg-oreflo::before, .bg-oreflo::after {
    width: 60px;
    background-size: contain;
    opacity: 0.3;
  }
}

.bg-nami {
  position: relative;
}
.bg-nami:after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  height: 80px;
  top: -79px;
  left: 0;
  z-index: 10;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/nami.png) repeat-x center bottom/80px;
  opacity: 0.2;
}
.bg-nami.green:after {
  top: auto;
  bottom: -1px;
  transform: scaleY(1);
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/green-nami2.png) repeat-x center bottom/80px;
}
@media all and (max-width: 639px) {
  .bg-nami:after {
    height: 35px;
    top: -35px;
  }
}

.bg-ye {
  position: relative;
}
.bg-ye:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #FFE553;
  z-index: -1;
  opacity: 0.2;
}

.bg-01 {
  position: relative;
  overflow: hidden;
}
.bg-01:before {
  position: absolute;
  content: "";
  width: 105%;
  height: 105%;
  top: 0%;
  left: 0%;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/bg01.jpg) no-repeat;
  background-size: cover;
  opacity: 0.5;
  filter: blur(10px);
  background-attachment: fixed;
}
@media all and (max-width: 639px) {
  .bg-01 {
    margin-top: 0px;
  }
  .bg-01:before {
    background-attachment: initial;
  }
}
.bg-01 .bg-01area {
  position: relative;
  z-index: 1;
}

.bg-02 {
  position: relative;
  background-color: #eb0b0b;
  margin: 0 auto 0;
}
.bg-02:before {
  position: absolute;
  content: "CHEERS";
  color: #eb0b0b;
  font-size: 20rem;
  top: -250px;
  left: 0;
  opacity: 0.1;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
}
@media all and (max-width: 1100px) {
  .bg-02:before {
    font-size: 12rem;
    top: -156px;
  }
}
@media all and (max-width: 639px) {
  .bg-02:before {
    font-size: 7rem;
    top: -102px;
  }
}

.bg-common {
  margin-left: auto;
  margin-right: auto;
  padding: 0px 20px;
  overflow: hidden;
  position: relative;
  z-index: 100;
}
.bg-common .inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 100px 0;
}
@media all and (max-width: 896px) {
  .bg-common .inner {
    padding: 40px 0;
  }
  .bg-common.type-w {
    width: calc(100% - 20px);
    margin-bottom: 100px;
    background-color: white;
  }
}

.bg-base {
  position: relative;
}
.bg-base:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(235, 11, 11, 0.7);
}
.bg-base.type1:before {
  background-color: #eb0b0b;
}

.bg-gray {
  position: relative;
}
.bg-gray:before {
  background-color: #f4f4f4;
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.bg_w {
  background: transparent;
  position: relative;
}
.bg_w::after {
  position: absolute;
  content: "";
  left: 50%;
  top: 50%;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  transform: translate(-50%, -50%);
  background: #fefefe;
}
.bg_w.type-item::after {
  width: 60%;
  left: auto;
  right: 0;
  border-radius: 40px 0 0 40px;
  transform: translate(0, -50%);
}
.bg_w.bmchousei {
  margin-bottom: 60px;
}
.bg_w.opa::after {
  opacity: 0.8;
}
@media all and (max-width: 1100px) {
  .bg_w.type-item::after {
    right: -20px;
  }
}
@media all and (max-width: 896px) {
  .bg_w.bmchousei {
    margin-bottom: 40px;
  }
  .bg_w.type-item::after {
    width: 95%;
    right: -20px;
  }
}

.bg_w2 {
  position: relative;
  background: #fff;
}

.bg-line {
  position: relative;
}
.bg-line:before {
  position: absolute;
  content: "";
  left: -30px;
  top: 10px;
  width: 250px;
  height: 210px;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/left.png) no-repeat 50%/contain;
  z-index: 0;
}
.bg-line:after {
  position: absolute;
  content: "";
  right: -50px;
  top: 10px;
  width: 250px;
  height: 210px;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/right.png) no-repeat 50%/contain;
  z-index: -1;
}
@media all and (max-width: 639px) {
  .bg-line:before, .bg-line:after {
    top: 10px;
    opacity: 0.3;
    height: 200px;
    width: 140px;
  }
}

.bg-sub {
  position: relative;
}
.bg-sub:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #2C3D47;
  z-index: -1;
}

.bg-sub2 {
  position: relative;
}
.bg-sub2:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #C7C316;
  z-index: -1;
}

.bg-paper {
  position: relative;
}
.bg-paper:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/bg-02.jpg) repeat;
  background-size: 1920px 700px;
  opacity: 0.7;
}

.bg_nami {
  position: relative;
  margin: 80px 0 0;
}
.bg_nami::before {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  height: 60px;
  top: -59px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/nami2.svg) no-repeat center bottom;
  background-size: 100%;
}
.bg_nami::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  height: 60px;
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%) scale(1, -1);
  z-index: 10;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/nami2.svg) no-repeat center bottom;
  background-size: 100%;
}
@media all and (max-width: 896px) {
  .bg_nami {
    margin: 0;
  }
}

.nami_line {
  position: relative;
  background-color: #eb0b0b;
}
.nami_line::before {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  height: 60px;
  top: -58px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/nami2.svg) no-repeat center bottom;
  background-size: 100%;
  z-index: -1;
}
.nami_line::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  height: 60px;
  bottom: -59px;
  left: 50%;
  transform: translateX(-50%) scale(1, -1);
  z-index: 10;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/nami2.svg) no-repeat center bottom;
  background-size: 100%;
}

.nami_line2 {
  position: relative;
}
.nami_line2::before {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  height: 60px;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/nami2.svg) no-repeat center bottom;
  background-size: 100%;
}

.bg_nami2 {
  position: relative;
  margin: 80px 0;
}
.bg_nami2::before {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  height: 60px;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/nami3.svg) no-repeat center bottom;
  background-size: 100%;
}
.bg_nami2::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  height: 60px;
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%) scale(1, -1);
  z-index: 10;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/nami3.svg) no-repeat center bottom;
  background-size: 100%;
}
@media all and (max-width: 639px) {
  .bg_nami2 {
    margin: 40px 0;
  }
}

/* tbl
----------------------------------*/
.tbl {
  width: 100%;
  background-color: #fff;
}
.tbl.t-m50 {
  margin-top: 50px;
}
.tbl th,
.tbl td {
  padding: 10px 20px;
  font-size: 1.6rem;
  border-bottom: 2px solid #fff;
  font-family: "YakuHanJP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.tbl th {
  color: #fff;
  background: #2C3D47;
  width: 25%;
  text-align: center;
}
.tbl th.type1 {
  width: 15%;
}
.tbl th.type2 {
  width: 20%;
}
.tbl th span {
  font-size: 1.6rem;
}
.tbl td {
  vertical-align: middle;
  background-color: #f4f4f4;
  font-weight: 500;
}
.tbl td.num {
  width: 10%;
  max-width: 200px;
}
.tbl td .red {
  color: #363636;
}
.tbl td .red span {
  background-color: #aa2e2e;
  color: #fff;
  padding: 2px 4px;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  width: 25px;
  display: inline-block;
  line-height: 1;
}
.tbl td .blue {
  color: #363636;
}
.tbl td .blue span {
  background-color: #1687C7;
  color: #fff;
  padding: 2px 4px;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  width: 25px;
  line-height: 1;
  display: inline-block;
}
@media all and (max-width: 639px) {
  .tbl th {
    width: 25%;
    text-align: left;
    font-size: 1.2rem;
  }
  .tbl th,
  .tbl td {
    padding: 10px 8px;
    font-size: 1rem;
  }
  .tbl td.num {
    width: 20%;
    max-width: 200px;
    min-width: 40px;
  }
}

.tbl_new {
  width: 100%;
}
.tbl_new tr th,
.tbl_new tr td {
  vertical-align: middle;
  padding: 10px 10px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  font-size: 0.9em;
  font-family: "YakuHanJP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
}
.tbl_new tr th {
  width: 20%;
  text-align: left;
  letter-spacing: 0;
  background: #eb0b0b;
  color: white;
}
.tbl_new tr td {
  background: #f0f0f0;
  border-bottom: 1px solid #fff;
}

.tbl_new2 {
  width: 100%;
}
.tbl_new2 tr th,
.tbl_new2 tr td {
  vertical-align: middle;
  padding: 15px 10px;
  border: 1px solid #d4d4d4;
}
.tbl_new2 tr th {
  background-color: #ececec;
  color: #363636;
  padding: 10px 4px;
}
.tbl_new2 tr th.w30 {
  width: 30%;
}
@media all and (max-width: 639px) {
  .tbl_new2 tr th {
    font-size: 1rem;
  }
}
@media all and (max-width: 639px) {
  .tbl_new2 tr td {
    font-size: 1rem;
  }
}

.tbl_new3 {
  width: 100%;
}
.tbl_new3 tr:nth-of-type(even) {
  background: #f3f3f3;
}
.tbl_new3 th,
.tbl_new3 td {
  padding: 15px 15px;
  vertical-align: middle;
}
.tbl_new3 th {
  width: 45%;
  color: #363636;
}
.tbl_new3 th {
  text-align: left;
}
.tbl_new3 td {
  text-align: right;
}

.tbl-txt {
  margin-bottom: 40px;
  padding: 20px 15px;
  border-bottom: 2px solid #ececec;
  vertical-align: middle;
  text-align: right;
  font-weight: bold;
  background-color: #fff;
}
.tbl-txt span {
  font-size: 2rem;
}

.tbl-box {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.tbl-box .t-right {
  text-align: right;
}
.tbl-box th,
.tbl-box td {
  padding: 10px 15px;
  border-bottom: 2px solid #ececec;
  vertical-align: middle;
  background-color: #fff;
}
.tbl-box th.type1,
.tbl-box td.type1 {
  width: 190px;
}
@media all and (max-width: 639px) {
  .tbl-box th.type1,
  .tbl-box td.type1 {
    width: 150px;
  }
}
.tbl-box th.b-no,
.tbl-box td.b-no {
  padding-bottom: 0;
  border-bottom: none;
}
.tbl-box th.tm-no,
.tbl-box td.tm-no {
  padding-top: 0;
}
@media all and (max-width: 639px) {
  .tbl-box th,
  .tbl-box td {
    padding: 10px;
    font-size: 1.2rem;
  }
}
.tbl-box th {
  width: 25%;
  text-align: center;
  color: rgb(255, 255, 255);
  background-color: rgba(235, 11, 11, 0.7);
  border-bottom-color: #fff;
  border-right: 1px solid #fff;
  font-size: 1.6rem;
}
.tbl-box th.th-1 {
  width: 45%;
}
.tbl-box th.maintitle {
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
}
.tbl-box th.maintitle .sub {
  font-size: 1.2rem;
}
@media all and (max-width: 639px) {
  .tbl-box th {
    font-size: 1rem;
  }
  .tbl-box th.maintitle {
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
  }
  .tbl-box th.maintitle .sub {
    font-size: 1rem;
  }
  .tbl-box th.box1 {
    width: 30%;
    min-width: 160px;
  }
}
.tbl-box td {
  text-align: center;
  border-right: 1px solid #ececec;
}
@media all and (max-width: 639px) {
  .tbl-box td.box2 {
    width: 20%;
  }
}

.tbl-border {
  width: 100%;
}
.tbl-border th,
.tbl-border td {
  padding: 15px;
  border-bottom: 2px solid #ececec;
  vertical-align: middle;
  font-family: "YakuHanJP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.tbl-border th.type1,
.tbl-border td.type1 {
  width: 190px;
}
@media all and (max-width: 639px) {
  .tbl-border th.type1,
  .tbl-border td.type1 {
    width: 20%;
  }
}
.tbl-border th.b-no,
.tbl-border td.b-no {
  padding-bottom: 0;
  border-bottom: none;
}
.tbl-border th.tm-no,
.tbl-border td.tm-no {
  padding-top: 0;
}
@media all and (max-width: 639px) {
  .tbl-border th,
  .tbl-border td {
    padding: 10px;
    font-size: 1.2rem;
  }
}
.tbl-border th {
  width: 28%;
  text-align: left;
  font-weight: 600;
  border-bottom-color: #eb0b0b;
}
.tbl-border th.th-1 {
  width: 45%;
}
.tbl-border td {
  font-weight: 500;
}

.tbl-border2 {
  width: 100%;
}
.tbl-border2 .t-right {
  text-align: right;
}
.tbl-border2 th,
.tbl-border2 td {
  padding: 10px 15px;
  border-bottom: 2px solid #ececec;
  vertical-align: middle;
  width: 20%;
  font-family: "YakuHanJP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: center;
}
.tbl-border2 th p,
.tbl-border2 td p {
  font-size: 1.4rem;
  margin-top: 10px;
  font-weight: bold;
}
.tbl-border2 th.type1,
.tbl-border2 td.type1 {
  width: 190px;
}
@media all and (max-width: 639px) {
  .tbl-border2 th.type1,
  .tbl-border2 td.type1 {
    width: 150px;
  }
}
.tbl-border2 th.b-no,
.tbl-border2 td.b-no {
  padding-bottom: 0;
  border-bottom: none;
}
.tbl-border2 th.tm-no,
.tbl-border2 td.tm-no {
  padding-top: 0;
}
@media all and (max-width: 639px) {
  .tbl-border2 th,
  .tbl-border2 td {
    padding: 10px;
    font-size: 1.2rem;
  }
}
.tbl-border2 th {
  width: 20%;
  text-align: center;
  font-weight: 800;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  color: #fff;
  background-color: #eb0b0b;
}
.tbl-border2 th.type1 {
  background-color: rgba(235, 11, 11, 0.75);
}
.tbl-border2 td {
  background-color: #fff;
}
@media all and (max-width: 639px) {
  .tbl-border2 th,
  .tbl-border2 td {
    padding: 10px 15px;
    border-bottom: 2px solid #ececec;
    vertical-align: middle;
    width: 50%;
  }
}

/* ggmap
----------------------------------*/
.gmapbox {
  padding: 100px;
  background-color: rgba(44, 61, 71, 0.1);
}
@media all and (max-width: 639px) {
  .gmapbox {
    padding: 20px;
  }
}

.gmapbox2 {
  padding: 20px;
  border: 2px solid #ddd;
  margin-top: 20px;
  background-color: #fff;
}
@media all and (max-width: 639px) {
  .gmapbox2 {
    padding: 20px;
    margin-top: -2px;
  }
}

.ggmap {
  position: relative;
  padding-bottom: 20%;
  height: 0;
  overflow: hidden;
}
.ggmap.type-top {
  padding-bottom: 18%;
}
@media all and (max-width: 639px) {
  .ggmap.type-top {
    margin-bottom: 4px;
  }
}
@media all and (max-width: 1100px) {
  .ggmap {
    padding-bottom: 28%;
  }
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ggmap-min {
  position: relative;
  height: 100%;
}
@media all and (max-width: 1100px) {
  .ggmap-min {
    height: 200px;
  }
}
.ggmap-min iframe,
.ggmap-min object,
.ggmap-min embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.g-ttl {
  background-color: #eb0b0b;
  color: #fff;
  padding: 5px 10px;
  font-size: 1.8rem;
}
@media all and (max-width: 639px) {
  .g-ttl {
    font-size: 1.3rem;
  }
}

.g-txt {
  margin-bottom: 20px;
}
@media all and (max-width: 639px) {
  .g-txt {
    font-size: 1rem;
    margin-top: 10px;
    margin-bottom: 15px;
  }
}

/* Gallery-list
----------------------------------*/
.gallerarea {
  max-width: 1500px;
  margin: 0 auto 30px;
  padding: 40px;
  background-color: #fff;
}
@media all and (max-width: 639px) {
  .gallerarea {
    padding: 40px 20px;
  }
}

.gallery-list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.gallery-list li {
  width: 22%;
  margin: 0 1% 20px;
  border: 1px solid #363636;
  padding: 10px;
  background-color: #fff;
}
.gallery-list li img {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
}
.gallery-list li .txt {
  margin-top: 10px;
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
}
@media all and (max-width: 639px) {
  .gallery-list li {
    width: 98%;
    margin-bottom: 10px;
  }
  .gallery-list li img {
    width: 100%;
    height: 120px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .gallery-list li .txt {
    font-size: 1.5rem;
  }
}

/* blog
----------------------------------*/
#top-blog .pages {
  display: none;
}
#top-blog .blog-img {
  height: 200px;
}
@media all and (max-width: 1100px) {
  #top-blog .blog-img {
    height: 160px;
  }
}
@media all and (max-width: 896px) {
  #top-blog .blog-img {
    height: 130px;
  }
}

.blog-wrap {
  display: flex;
  flex-wrap: wrap;
  background: #fefefe;
  border-radius: 30px;
  padding: 20px;
}
@media all and (max-width: 639px) {
  .blog-wrap {
    border-radius: 10px;
  }
}
.blog-wrap * {
  transition: 0.3s;
}
.blog-wrap > li {
  width: 22%;
  background: #fefefe;
  margin-right: 2%;
  overflow: hidden;
}
.blog-wrap > li:nth-child(4n) {
  margin-right: 0;
}
.blog-wrap > li:nth-child(even) {
  margin-top: 40px;
}
.blog-wrap > li > a {
  width: 100%;
  height: 100%;
  z-index: 10;
}
.blog-wrap > li > a:hover ~ .blog-img img {
  opacity: 1;
  transform: scale(1.2);
}
.blog-wrap > li > a:hover .blog-img {
  border-radius: 40px;
}
@media all and (max-width: 896px) {
  .blog-wrap > li {
    width: 48%;
  }
  .blog-wrap > li:nth-child(2n) {
    margin-right: 0;
  }
  .blog-wrap > li:nth-child(even) {
    margin-top: 0;
  }
}
@media all and (max-width: 639px) {
  .blog-wrap > li {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 auto;
    border-radius: 5px;
  }
  .blog-wrap > li:not(:last-child) {
    margin: 0 auto 10px;
  }
  .blog-wrap > li .blog-detail {
    width: 100%;
    padding: 10px 10px 10px 20px;
  }
}

.blog-month > ul > li a {
  background: #eb0b0b;
  color: white;
  text-align: center;
  display: block;
  font-size: 1.4rem;
  width: 100%;
  padding: 5px;
}
.blog-month > ul > li a:hover {
  opacity: 0.6;
}

.blog-img {
  width: 100%;
  height: 160px;
  overflow: hidden;
  border-radius: 20px;
}
@media all and (max-width: 639px) {
  .blog-img {
    height: 140px;
  }
}
.blog-img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s ease;
  font-family: "object-fit: cover;";
  /*IE対策*/
}
.blog-img:hover img {
  opacity: 1 !important;
  transform: scale(1.2);
}

.blog-detail {
  padding: 15px;
}

.blog-date {
  color: #604c3f;
  text-align: center;
  display: inline-block;
  color: #2C3D47;
  border: 1px solid #2C3D47;
  border-radius: 30px;
  padding: 1px 10px;
  font-size: 1.4rem;
}
@media all and (max-width: 639px) {
  .blog-date {
    font-size: 1.15rem;
  }
}

.blog-date2 {
  color: #604c3f;
  font-size: 1.3rem;
  margin-bottom: 10px;
}
.blog-date2:before {
  font-family: "Font Awesome 5 Free";
  content: "\f017";
  font-weight: 900;
  margin-right: 2px;
  color: #eb0b0b;
}
@media all and (max-width: 639px) {
  .blog-date2 {
    font-size: 1.1rem;
  }
}

.blog-title {
  line-height: 1.3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 10px;
  color: #604c3f;
}
@media all and (max-width: 639px) {
  .blog-title {
    margin-top: 5px;
  }
}

.blog-txt {
  line-height: 1.5;
  color: #eb0b0b;
  padding: 10px;
}
@media all and (max-width: 639px) {
  .blog-txt {
    font-size: 12px;
  }
}

.pages {
  text-align: center;
  margin-top: 30px;
}
.pages .page_next,
.pages .page_prev {
  display: inline-block;
  margin: 0 20px;
}
.pages .page_next a,
.pages .page_prev a {
  color: #604c3f;
  padding: 4px 5px;
  font-size: 12px;
}

.blog_topics {
  width: 100%;
}
.blog_topics li a {
  display: block;
  color: #604c3f;
  padding: 15px;
  transition: 0.3s ease-in all;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}
.blog_topics li a:hover {
  background-color: rgba(207, 194, 163, 0.5);
}
.blog_topics li a .topics_detail {
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
  align-items: center;
}
.blog_topics li a .topics_detail .imgbox {
  overflow: hidden;
  width: 25%;
  height: 140px;
  border-radius: 5px;
}
.blog_topics li a .topics_detail .imgbox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s ease-in all;
}
.blog_topics li a .topics_detail .textbox {
  width: 75%;
  padding-left: 20px;
  line-height: 1.5;
}
.blog_topics li a .topics_detail .textbox h3 {
  margin: 5px 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.blog_topics li a .topics_detail .textbox p {
  font-size: 1.3rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.blog_topics li a .time_date {
  display: inline-block;
  font-size: 1.4rem;
  color: #604c3f;
}
.blog_topics li a .time_date:before {
  font-family: "Font Awesome 5 Free";
  content: "\f017";
  font-weight: 900;
  margin-right: 3px;
}
@media all and (max-width: 896px) {
  .blog_topics li a .topics_detail .imgbox {
    height: 120px;
  }
}
@media all and (max-width: 639px) {
  .blog_topics li a {
    padding: 10px 5px;
  }
  .blog_topics li a .topics_detail .imgbox {
    width: 30%;
    height: 90px;
  }
  .blog_topics li a .topics_detail .textbox {
    width: 70%;
    padding-left: 10px;
    line-height: 1.5;
  }
  .blog_topics li a .topics_detail .textbox p {
    font-size: 1rem;
  }
  .blog_topics li a .time_date {
    font-size: 1.15rem;
  }
}

.category_nav {
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 5px;
}
.category_nav li {
  box-sizing: border-box;
}
.category_nav li:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
.category_nav li a {
  text-align: center;
  display: block;
  padding: 8px;
  background: transparent;
  color: #fff;
  background: #cabb99;
  background: #2C3D47;
}
.category_nav li a:hover {
  opacity: 0.6;
}
@media all and (max-width: 896px) {
  .category_nav {
    max-width: 200px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}

#a01,
#a02,
#a03,
#a04,
#a05,
#a06,
#a07,
#a08,
#a09,
#a10,
#a11,
#a12,
#contact {
  display: block;
  padding-top: 100px;
  margin-top: -100px;
}

/* breadcrumb
----------------------------------*/
.breadcrumb {
  max-width: 1200px;
  margin: 20px;
  font-size: 1.2rem;
  text-align: right;
}
.breadcrumb li {
  display: inline;
  color: #aaa;
}
.breadcrumb li a {
  color: #eb0b0b;
}
.breadcrumb li + li:before {
  margin: 0 10px;
  content: ">";
}
@media all and (max-width: 639px) {
  .breadcrumb {
    font-size: 10px;
    width: 90%;
  }
}

/* form
----------------------------------*/
.line-box {
  position: relative;
  display: flex;
  align-items: center;
  padding: 15px 20px;
  background: #fff;
  border-radius: 5px;
  color: #fff;
}
.line-box.mail {
  background-color: #eb0b0b;
}
.line-box.type1 {
  max-width: 500px;
  margin: 0 auto;
}
.line-box.type1 .icon {
  width: 47px;
}
.line-box.type1 .txt {
  font-size: 1.1em;
}
.line-box.type1 .txt .eng {
  font-size: 1.4em;
}
.line-box .icon {
  width: 47px;
  filter: invert(1);
}
.line-box .txt {
  margin-left: 16px;
  padding-left: 20px;
  border-left: 1px dashed #C7C316;
  font-weight: 600;
  font-size: inherit;
}
.line-box .txt .eng {
  display: block;
  font-size: 1.4em;
  line-height: 1.3;
}
.line-box:hover {
  background-color: #fff;
  color: #eb0b0b;
}
@media all and (max-width: 1100px) {
  .line-box.type1 {
    max-width: 350px;
    margin: 0 auto;
  }
  .line-box.type1 .icon {
    width: 58px;
  }
  .line-box.type1 .txt {
    font-size: inherit;
  }
  .line-box .icon {
    width: 40px;
  }
  .line-box .txt {
    font-size: 1em;
  }
  .line-box .txt .eng {
    font-size: 1.5em;
  }
}
@media all and (max-width: 639px) {
  .line-box.type1 {
    max-width: 300px;
  }
  .line-box.type1 .icon {
    width: 38px;
  }
  .line-box.type1 .txt {
    font-size: 1em;
  }
  .line-box.type1 .txt .eng {
    font-size: 1.2em;
  }
  .line-box .icon {
    width: 30px;
  }
  .line-box .txt {
    font-size: 1em;
  }
  .line-box .txt .eng {
    font-size: 1.2em;
  }
}

.article-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}
.article-box .left {
  width: 25%;
  position: sticky;
  left: 0;
  top: 100px;
}
.article-box .right {
  width: 72%;
}
@media all and (max-width: 1100px) {
  .article-box {
    justify-content: center;
  }
  .article-box .left {
    width: 90%;
    margin: 0 auto 30px;
  }
  .article-box .right {
    width: 90%;
  }
}

.telbnr {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px auto;
}
.telbnr li {
  width: 100%;
  border: 3px solid #2C3D47;
  padding: 10px 10px;
  text-align: center;
  border-radius: 5px;
  background: #fff;
}
.telbnr li.telbnr-mail a {
  font-size: 2rem;
  padding-top: 5px;
}
.telbnr li.telbnr-mail a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
}
@media all and (max-width: 639px) {
  .telbnr li.telbnr-mail a {
    font-size: 1.4rem;
    padding: 0;
  }
}
.telbnr li a {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  color: #2C3D47;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
}
.telbnr li a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f879";
  font-weight: 900;
  margin-right: 5px;
}
.telbnr li a:hover {
  color: #C7C316;
}
@media all and (max-width: 639px) {
  .telbnr {
    max-width: 90%;
  }
  .telbnr li {
    width: 100%;
    margin: 0 auto 0px;
  }
  .telbnr li a {
    font-size: 1.6rem;
  }
}

.telbnr-ttl {
  font-weight: 600;
  font-size: 1.6rem;
  color: #333;
  margin-top: -30px;
}
.telbnr-ttl span {
  background: #2C3D47;
  padding: 0 20px;
  color: #fff;
}
@media all and (max-width: 639px) {
  .telbnr-ttl {
    font-size: 1.3rem;
  }
}

@media all and (max-width: 639px) {
  .form-pattern-1 {
    padding: 5px !important;
  }
}

.form-pattern-1 dl dt:not(.pattern-exclusion) span.nini::before {
  content: "任意";
  color: #fff;
  background: #2C3D47;
}

.form {
  margin: 0 auto;
  width: 90%;
}
.form dl dt {
  float: left;
  width: 280px;
  padding-top: 20px;
  font-weight: 600;
}
.form dl dt span {
  color: #fff;
  background: #eb0b0b;
  padding: 5px 8px;
  margin-right: 5px;
  font-size: 11px;
  border-radius: 20px;
  position: relative;
  top: -2px;
}
.form dl dt span.nini {
  background: #cfb45a;
  color: #604c3f;
}
.form dl dd {
  padding-left: 280px;
  padding-bottom: 20px;
  padding-top: 23px;
  line-height: 1.5;
  border-bottom: 1px dotted #cccccc;
}
.form dl dd.type1 p {
  display: inline;
}
.form dl dd.type1 .w20 {
  width: 20%;
}
@media all and (max-width: 896px) {
  .form dl dd.type1 .w20 {
    width: 30%;
  }
}
.form dl dd.type1 .w30 {
  width: 30%;
}
@media all and (max-width: 639px) {
  .form dl dd.type1.type1-name .w30 {
    width: 48%;
  }
}
.form dl dd.type1 .w60 {
  width: 60%;
}
.form dl dd:last-child {
  border-bottom: none;
}
.form .textarea,
.form textarea {
  border: 0;
  padding: 15px;
  width: 100%;
  border-radius: 0;
  -webkit-appearance: none;
  background: #f0f0f0;
}
.form .textarea02 {
  width: 48.5%;
  margin-right: 3%;
  background: #f9fcff;
  box-shadow: 0 8px 8px rgba(165, 165, 165, 0.4);
}
.form .textarea02:last-child {
  margin-right: 0;
}
.form .textarea03 {
  width: 20%;
  margin-right: 1%;
}
.form .textarea04 {
  width: 70%;
  margin-right: 1%;
}
.form .select_arrow {
  position: relative;
}
.form .select_arrow::before {
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-top: 10.5px solid #eb0b0b;
  content: "";
  position: absolute;
  right: 9px;
  top: 42px;
  width: 0;
}
@media all and (max-width: 639px) {
  .form .select_arrow::before {
    top: 30px;
  }
}
.form button {
  cursor: pointer;
  display: block;
  color: #fff;
  text-align: center;
  transition: all 0.2s ease-in-out 0s;
  border: 1px solid #363636;
  font-weight: 600;
  padding: 12px 5px;
  margin: 0 auto;
  width: 250px;
  background: #363636;
  border-radius: 25px;
}
.form button:hover {
  background: #fff;
  color: #363636;
}
.form button:before {
  font-weight: normal;
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 10px;
}
.form .select-wrap {
  position: relative;
  overflow: hidden;
  display: inline-block;
  min-width: 192px;
  min-width: 12em;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  color: #363636;
}
.form .select-wrap select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  z-index: 2;
  display: block;
  width: 200%;
  width: -webkit-calc(100% + 5em);
  margin: 0;
  padding: 11px 35px 11px 11px;
  padding: 0.6875rem 2.1875rem 0.6875rem 0.6875rem;
  background: transparent;
  border: 0;
  outline: none;
  line-height: 1.5;
}
.form .entypo-down-open-mini:before {
  font-family: "FontAwesome";
  content: "\f0ab";
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 12px;
  right: 0.75rem;
  margin-top: -8px;
  margin-top: -0.5rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  color: #eb0b0b;
}
.form label.radio_text {
  cursor: pointer;
  position: relative;
  margin-right: 20px;
  overflow: hidden;
  padding-left: 20px;
  display: inline-block;
}
.form label.radio_text:before {
  position: absolute;
  width: 15px;
  height: 15px;
  border: 1px solid #ccc;
  border-radius: 50%;
  left: 0px;
  top: 2px;
  content: "";
  z-index: 3;
}
.form label.radio_text:after {
  content: "";
  position: absolute;
  width: 11px;
  height: 11px;
  border-radius: 100%;
  left: 2px;
  top: 4px;
  background-color: #eb0b0b;
  z-index: 1;
}
.form label.radio_text input[type=radio] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  z-index: 2;
  width: 20px;
  height: 20px;
  left: -23px;
  top: 0px;
  margin: 0px;
  box-shadow: 20px -1px #fff;
}
.form label.radio_text input[type=radio]:checked {
  box-shadow: none;
}
.form label.radio_text input[type=radio]:focus {
  opacity: 0.2;
  box-shadow: 20px -1px #eeebda;
}
.form label.checkbox_text {
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  margin: 0 20px 5px 0;
  overflow: hidden;
  display: inline-block;
}
.form label.checkbox_text:before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 0px;
  top: 0;
  border: 1px solid #ccc;
  z-index: 3;
  padding: 1px;
}
.form label.checkbox_text:after {
  content: "";
  position: absolute;
  top: 40%;
  left: 5px;
  display: block;
  margin-top: -9px;
  width: 8px;
  height: 12px;
  border-right: 3px solid #eb0b0b;
  border-bottom: 3px solid #eb0b0b;
  transform: rotate(45deg);
  z-index: 1;
}
@media all and (max-width: 639px) {
  .form label.checkbox_text:after {
    margin-top: -18px;
  }
}
.form label.checkbox_text input[type=checkbox] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  left: -40px;
  width: 20px;
  height: 20px;
  display: block;
  box-shadow: 41px 0px #fff;
  z-index: 2;
  margin: 0px;
  padding: 0px;
}
.form label.checkbox_text input[type=checkbox]:checked {
  box-shadow: none;
}
.form label.checkbox_text input[type=checkbox]:checked:focus {
  box-shadow: 40px 0px #666;
  opacity: 0.1;
}
.form label.checkbox_text input[type=checkbox]:focus {
  box-shadow: 41px 0px #eee;
}
.form input[type=text],
.form textarea {
  font-size: 16px;
}
@media all and (max-width: 639px) {
  .form input[type=text],
  .form textarea {
    transform: scale(0.9);
    margin-left: -5px;
  }
}

/* etc
----------------------------------*/
.cut {
  overflow: hidden;
  zoom: 1;
}

@media all and (max-width: 639px) {
  .icon_img img {
    width: 40%;
  }
}

.ttl_icon {
  float: left;
}
.ttl_icon img {
  width: 50px;
}

.img_100 {
  overflow: hidden;
}
.img_100 img {
  height: 500px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  filter: brightness(0.7);
  -o-object-position: center 100%;
     object-position: center 100%;
}
@media all and (max-width: 1100px) {
  .img_100 img {
    height: 450px;
  }
}
@media all and (max-width: 896px) {
  .img_100 img {
    height: 400px;
  }
}
@media all and (max-width: 639px) {
  .img_100 img {
    height: 300px;
  }
}

.thanks {
  padding: 40px;
  border: 3px solid #eb0b0b;
  background-color: #fff;
  margin: 0 auto;
  max-width: 700px;
}
.thanks .btn04 {
  position: relative;
  z-index: 1;
}
@media all and (max-width: 639px) {
  .thanks {
    max-width: 100%;
    padding: 30px 20px;
  }
  .thanks p.t-m50 {
    margin-top: 0;
  }
  .thanks p.b-m50 {
    margin-bottom: 20px;
  }
  .thanks p.tcenter.sp-left {
    text-align: left;
  }
}

.al_center {
  align-items: center;
}

.ttl_img {
  margin-bottom: 20px;
}
.ttl_img.center {
  text-align: center;
}
.ttl_img.middle {
  margin-bottom: 40px;
}
@media all and (max-width: 639px) {
  .ttl_img img {
    height: 85px;
  }
  .ttl_img.type2 img {
    height: 80px;
  }
}

.space {
  padding: 0 15px;
}

.img-wk {
  position: relative;
}
.img-wk::before {
  position: absolute;
  content: "";
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid #fff;
  z-index: 2;
}
.img-wk.br20 {
  border-radius: 20px;
}

.shadow {
  box-shadow: 0 0 10px rgba(54, 54, 54, 0.15);
}

.policy {
  padding: 10px;
  background: #ffdeb1;
  max-width: 1200px;
  margin: 20px auto 0;
  font-size: 1.8rem;
  border-radius: 10px;

}

@media all and (max-width: 639px){
  .policy {
    padding: 5px;
    margin: 0 auto 0;
    font-size: 1.3rem;
  }
}

.mtitle_small {
  position: relative;
  font-size: 1.8rem;
  margin-bottom: 20px;
  color: #604c3f;
  font-weight: 600;
  padding: 10px;
  border-bottom: 1px solid #ccc;
}
.mtitle_small:before {
  content: "";
  width: 50px;
  height: 1px;
  background-color: #eb0b0b;
  position: absolute;
  left: 0;
  bottom: -1px;
}
@media all and (max-width: 639px) {
  .mtitle_small {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

.mtitle_small2 {
  position: relative;
  font-size: 1.6rem;
  color: #604c3f;
  font-weight: 600;
  padding: 10px 10px 10px 20px;
}
.mtitle_small2:before {
  content: "";
  background-color: #fff;
  width: 3px;
  height: 40%;
  position: absolute;
  top: 30%;
  left: 0;
}
.mtitle_small2:after {
  content: "";
  background-color: #838383;
  width: 3px;
  height: 40%;
  position: absolute;
  top: 30%;
  left: 2px;
}
@media all and (max-width: 639px) {
  .mtitle_small2 {
    font-size: inherit;
  }
}

.mtitle_small3 {
  position: relative;
  margin-bottom: 30px;
  padding: 10px 20px;
  border-bottom: 1px solid #363636;
  border-top: 1px solid #363636;
  color: #363636;
  font-weight: 600;
  font-family: "YakuHanJP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2.5rem;
}
@media all and (max-width: 639px) {
  .mtitle_small3 {
    font-size: 1.8rem;
  }
}


/* news
----------------------------------*/
.news .news-inner {
  display: flex;
  flex-wrap: wrap;
  padding: 10px 6px;
  border-top: 1px solid #ccc;
}
.news .news-inner:last-of-type {
  border-bottom: 1px solid #ccc;
}
@media all and (max-width: 639px) {
  .news .news-inner {
    padding: 12px 4px;
  }
}
.news dt {
  font-weight: 600;
  width: 10.5em;
  font-size: 1.3rem;
  display: flex;
  align-items: center;
  color: #9b9b9b;
}
@media all and (max-width: 639px) {
  .news dt {
    width: 100%;
    margin-bottom: 5px;
  }
}
.news dd a {
  font-weight: 500;
  letter-spacing: 0.2em;
  color: #604c3f;
}
.news dd a:hover {
  opacity: 0.7;
}
.news .blog-cat {
  display: inline-block;
  padding: 5px;
  line-height: 1.3;
  text-align: center;
  background: #2C3D47;
  color: #fff;
  padding: 6px 10px;
  margin-right: 15px;
  font-family: "YakuHanJP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: 1.3rem;
  min-width: 100px;
}
@media all and (max-width: 639px) {
  .news .blog-cat {
    font-size: 1rem;
  }
}
.news.cat2 .blog-cat {
  background-color: #ececec;
}
.news.cat3 .blog-cat {
  background-color: #1687C7;
}

.news-bl dt {
  float: left;
  width: 8em;
  padding: 5px 5px;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  font-size: 0.9em;
  background: rgba(54, 54, 54, 0.7);
  color: #fefefe;
  border-radius: 20px;
}
.news-bl dd {
  padding: 3px 0 10px 9.5em;
  line-height: 1.6;
  border-bottom: 1px dotted #dddddd;
  margin: 0 0 10px;
}
.news-bl dd a {
  color: #ba0909;
  font-weight: 700;
}
.news-bl dd:last-child {
  margin: 0;
  border-bottom: none;
}
@media all and (max-width: 639px) {
  .news-bl dt {
    float: none;
    width: 100%;
  }
  .news-bl dd {
    padding: 5px;
    text-align: center;
  }
}

.txt-dot {
  border-bottom: 3px dotted #eb0b0b;
  padding-bottom: 5px;
}

.border-line {
  display: block;
  width: 100%;
  margin: 60px auto;
  height: 4px;
  background-image: linear-gradient(to right, #f5adc5, #fff0d2, #b9d6c3);
  border-radius: 8px;
}
.border-line.type-img01 {
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/line-img01.svg);
  height: 12px;
}
@media all and (max-width: 639px) {
  .border-line {
    margin: 40px auto;
  }
}

.img-h300 {
  height: 300px;
}
.img-h300 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.img-h400 {
  height: 400px;
}
.img-h400 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media all and (max-width: 639px) {
  .img-h400 {
    height: 250px;
  }
}

.op-top {
  -o-object-position: top;
     object-position: top;
}

.img-mchouosei {
  margin: 40px 0;
}
@media all and (max-width: 639px) {
  .img-mchouosei {
    margin: 20px 0;
  }
}

/* gallery(photobox)
----------------------------------*/
.gallery_ul {
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
  margin-left: -2%;
  margin-bottom: -4%;
}
@media all and (max-width: 639px) {
  .gallery_ul {
    margin-left: auto;
    margin-right: auto;
  }
}
.gallery_ul > li {
  width: 31.33%;
  margin-left: 2%;
  margin-bottom: 4%;
  font-weight: 600;
}
.gallery_ul > li .photobox-wrap {
  width: 100%;
  height: 220px;
  text-align: center;
  overflow: hidden;
  background: #aaa;
  margin-bottom: 10px;
}
.gallery_ul > li .photobox-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit:contain;";
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
@media all and (max-width: 896px) {
  .gallery_ul > li {
    width: 48%;
  }
}
@media all and (max-width: 639px) {
  .gallery_ul > li {
    width: 85%;
    margin: 0 auto 30px;
  }
  .gallery_ul > li .photobox-wrap {
    height: 180px;
  }
}

.comment {
  font-size: 1.4rem;
  letter-spacing: 0;
  padding: 0 5px;
  color: #604c3f;
}
@media all and (max-width: 639px) {
  .comment {
    font-size: 12px;
  }
}

/*アンカーリンク*/
.anchor-link {
  margin: 100px auto 0;
}
.anchor-link .anchorbox {
  margin: 0 20px;
  width: 380px;
}
@media all and (max-width: 639px) {
  .anchor-link .anchorbox {
    width: 100%;
    margin: 0 auto;
  }
}
.anchor-link .anchorbox a {
  display: block;
}
.anchor-link .anchorbox a:hover {
  opacity: 0.7;
  filter: brightness(0.85) drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.6));
}

/* top box
----------------------------------*/
.top-common {
  margin: 0 auto;
  position: relative;
}
.top-common.type-blue {
  margin-bottom: 0;
}
.top-common .inner {
  padding: 100px 40px 100px;
  max-width: 1500px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.top-common .mincho {
  font-weight: bold;
  font-size: 2rem;
}
.top-common.type-yellow .mtitle4 span.eng {
  color: #cfb45a;
}
.top-common.type-yellow .mtitle5 span.eng {
  color: #cfb45a;
}
@media all and (max-width: 639px) {
  .top-common .inner {
    width: calc(100% - 40px);
    padding: 20px;
  }
  .top-common .mincho {
    font-size: 1.6rem;
  }
  .top-common.type-page .inner {
    width: 100%;
  }
}

.footer_contact {
  padding: 80px 0 0;
  max-width: 95%;
  margin: 0 auto -200px;
  position: relative;
  z-index: 100;
}
.footer_contact .inner {
  padding: 50px 100px 60px 55%;
  box-sizing: border-box;
  background: #fff;
  border-radius: 100px;
  position: relative;
}
.footer_contact .inner .img_area {
  position: absolute;
  width: 50%;
  height: auto;
  left: 0;
  top: -50px;
  bottom: 0;
  margin: auto;
}
.footer_contact .inner .img_area img {
  display: block;
  width: 100%;
  border-radius: 120px;
  box-sizing: border-box;
  border: 14px solid #ffffff;
  -o-object-fit: cover;
     object-fit: cover;
}
.footer_contact .inner .img_area .img1 {
  height: 400px;
}
.footer_contact .inner .img_area .img2 {
  display: block;
  position: absolute;
  right: -50px;
  bottom: -45px;
  z-index: 10;
  border: 10px solid #ffffff;
  border-radius: 60px;
  width: 310px;
}
.footer_contact .inner .txt_area .txtbox .txt-detail {
  margin: 40px auto 20px;
  font-weight: bold;
}
.footer_contact .inner .txt_area .txtbox .txt-tel .main {
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  font-size: 2.5rem;
  border-bottom: none;
}
.footer_contact .inner .txt_area .txtbox .txt-tel .main a {
  color: #fff;
  background: #eb0b0b;
  padding: 15px 30px;
  border-radius: 30px;
  transition: all 0.5s ease;
  position: relative;
  max-width: 80%;
  display: block;
  margin: 0 auto;
}
.footer_contact .inner .txt_area .txtbox .txt-tel .main a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 5px);
  height: calc(100% - 5px);
  border-radius: 70px;
  border: 2px dotted #fff;
  border-radius: 30px;
}
.footer_contact .inner .txt_area .txtbox .txt-tel .main a span {
  font-family: "Hammersmith One", sans-serif;
  font-weight: bold;
}
.footer_contact .inner .txt_area .txtbox .txt-sub .sub {
  font-size: 2rem;
}
.footer_contact .inner .txt_area .txtbox .txt-sub .main {
  margin-left: 0;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  font-size: 3rem;
  pointer-events: none;
}
@media all and (max-width: 1100px) {
  .footer_contact {
    max-width: 90%;
  }
  .footer_contact .inner {
    padding: 0 0 40px;
  }
  .footer_contact .inner .img_area {
    width: 90%;
    left: 50%;
    position: initial;
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
  }
  .footer_contact .inner .img_area .img1 {
    width: 100%;
    height: 350px;
  }
  .footer_contact .inner .img_area .img2 {
    width: 40%;
    height: 200px;
    top: 180px;
    right: 25px;
  }
  .footer_contact .inner .txt_area .txtbox .txt-detail {
    margin: 0px auto 20px;
  }
}
@media all and (max-width: 896px) {
  .footer_contact {
    padding: 0;
  }
  .footer_contact .inner .img_area .img1 {
    height: 300px;
  }
  .footer_contact .inner .img_area .img2 {
    height: 150px;
  }
  .footer_contact .inner .img_area img {
    border-radius: 80px;
  }
}
@media all and (max-width: 639px) {
  .footer_contact .inner {
    border-radius: 60px;
  }
  .footer_contact .inner .img_area .img1 {
    height: 200px;
    border-radius: 60px;
  }
  .footer_contact .inner .img_area .img2 {
    height: 100px;
    width: 45%;
    top: 120px;
    border-radius: 60px;
  }
  .footer_contact .inner .txt_area .txtbox .txt-tel .main {
    font-size: 1.7rem;
  }
}

.footer_bg {
  height: 600px;
  position: relative;
}
.footer_bg::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  bottom: 0;
  right: 0;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/footer.jpg) no-repeat;
  background-size: cover;
  z-index: -2;
  background-position: 50% 85%;
  opacity: 0.8;
}
@media all and (max-width: 1100px) {
  .footer_bg {
    height: 450px;
  }
}
@media all and (max-width: 896px) {
  .footer_bg {
    height: 350px;
  }
}

.top-main-box.t-m200 {
  margin-top: 200px;
}
.top-main-box .inner {
  padding: 0;
  position: relative;
}
.top-main-box .maintxt {
  position: relative;
  padding: 80px 0 60px;
  z-index: 1;
}
.top-main-box .maintxt:before {
  position: absolute;
  content: "";
  width: 70%;
  height: 100%;
  top: 0%;
  left: 0;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/top-bg1.jpg) no-repeat;
  background-size: cover;
  z-index: -1;
}
.top-main-box .maintxt .title {
  position: relative;
  z-index: 1;
  font-size: 2rem;
  font-weight: bold;
  margin: 40px auto 0;
}
.top-main-box .maintxt-inner {
  max-width: 680px;
  margin: 0 50px 0 auto;
  padding: 50px;
  background-color: rgba(255, 255, 255, 0.8);
}
.top-main-box .photo-bg {
  overflow: hidden;
  border-radius: 20px 0 0 20px;
  margin: 0px auto 0px;
}
@media all and (max-width: 1100px) {
  .top-main-box .maintxt {
    position: relative;
    padding: 80px 0 60px;
    z-index: 1;
  }
  .top-main-box .maintxt:before {
    width: 90%;
  }
  .top-main-box .bg-txt {
    right: 7%;
  }
}
@media all and (max-width: 896px) {
  .top-main-box .inner {
    width: 100%;
  }
  .top-main-box .maintxt {
    padding: 80px 20px 80px;
  }
  .top-main-box .maintxt .title {
    font-size: 1.42rem;
  }
  .top-main-box .maintxt .title .type1 {
    width: 80%;
    margin: 0 auto;
  }
}
@media all and (max-width: 639px) {
  .top-main-box .inner {
    width: 100%;
  }
  .top-main-box .maintxt {
    padding: 20px 30px 40px;
  }
  .top-main-box .maintxt .title {
    margin-top: 30px;
    text-align: left;
    font-size: 1.2rem;
  }
  .top-main-box .maintxt:before {
    width: 96%;
  }
  .top-main-box .bg-txt {
    top: 0px;
    right: -2%;
    font-size: 2rem;
  }
  .top-main-box .maintxt-inner {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 20px;
    background-color: rgba(255, 255, 255, 0.8);
  }
}

.top-greet-box {
  display: flex;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  justify-content: space-between;
  position: relative;
  z-index: 0;
}
.top-greet-box .inner {
  padding: 80px 0;
  position: relative;
}
.top-greet-box .child {
  width: 48%;
}
.top-greet-box .child.image {
  height: 580px;
}
.top-greet-box .child.image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-greet-box .child-txt {
  width: 48%;
  margin-left: auto;
}
.top-greet-box .child-txt .detail {
  max-width: 75%;
}
@media all and (max-width: 639px) {
  .top-greet-box .child {
    width: 100%;
  }
  .top-greet-box .child.image {
    height: 220px;
  }
  .top-greet-box .child-txt {
    width: 100%;
    margin: 0 auto;
  }
  .top-greet-box .child-txt .detail {
    max-width: 95%;
    margin: 0 auto;
  }
}

.top-messe-box {
  position: relative;
  margin: 30px auto 0;
}
.top-messe-box.type-contact {
  margin-top: 0px;
}
.top-messe-box.type-contact .mainarea {
  padding: 0 0px;
}
.top-messe-box .inner {
  padding-bottom: 0;
}
.top-messe-box .mainarea {
  padding: 0;
}
@media all and (max-width: 896px) {
  .top-messe-box:before {
    height: 40%;
  }
  .top-messe-box .mainarea {
    padding: 0px;
  }
}
@media all and (max-width: 639px) {
  .top-messe-box .inner {
    width: 100%;
  }
  .top-messe-box:before {
    height: 40%;
  }
  .top-messe-box.type-contact .inner {
    padding: 20px 0;
  }
  .top-messe-box.type-contact .mbox {
    margin-left: auto;
    margin-right: auto;
    max-width: 96%;
  }
}

.top-pear-box {
  position: relative;
}
.top-pear-box:before {
  position: absolute;
  content: "";
  width: 100%;
  left: 0;
  top: 0;
  height: 100%;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/bg-03.jpg);
  opacity: 0.9;
  z-index: -2;
}
.top-pear-box .center-contents {
  position: relative;
  width: 60%;
  margin: 0 auto;
  padding: 80px 20px;
}
@media all and (max-width: 639px) {
  .top-pear-box .center-contents {
    width: 85%;
    padding: 40px 20px;
  }
}
.top-pear-box .center-contents:before {
  position: absolute;
  content: "";
  width: 100%;
  left: 0;
  top: 0;
  height: 100%;
  background: #fefefe;
  opacity: 0.7;
  z-index: -1;
}
.top-pear-box .center-contents .name-box {
  text-align: center;
  margin-bottom: 10px;
}
@media all and (max-width: 639px) {
  .top-pear-box .center-contents .name-box {
    width: 80%;
    margin: 0 auto;
  }
}
.top-pear-box .center-contents .name-box p {
  text-align: center;
}

.top-content-box {
  margin: 0px auto 0;
  padding: 0px 0 0;
  position: relative;
}
.top-content-box .inner-box {
  margin: 0px auto;
  padding: 30px 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1500px;
  position: relative;
  z-index: 3;
  align-items: center;
}
.top-content-box .inner-box .contents-left {
  width: 25%;
  padding-right: 20px;
  border-right: 1px solid rgba(170, 170, 170, 0.5);
  text-align: center;
}
.top-content-box .inner-box .contents-middle {
  padding: 0 15px;
  width: 35%;
  border-right: 1px solid rgba(170, 170, 170, 0.5);
  font-size: 1.4rem;
  text-align: center;
}
.top-content-box .inner-box .contents-right {
  width: 35%;
  padding-left: 20px;
}
.top-content-box .inner-box .contents-right iframe {
  filter: grayscale(0.6);
}
@media all and (max-width: 896px) {
  .top-content-box .inner-box .contents-left {
    width: 48%;
    padding: 0;
    border-right: 0;
    text-align: center;
  }
  .top-content-box .inner-box .contents-middle {
    width: 48%;
    border-right: 0;
  }
  .top-content-box .inner-box .contents-right {
    width: 90%;
    border-top: 0.9px solid #eee;
    padding: 20px 0 0;
    margin: 20px auto 0;
  }
}
@media all and (max-width: 639px) {
  .top-content-box {
    padding-top: 40px;
  }
  .top-content-box .inner-box {
    padding: 10px 15px 30px;
  }
  .top-content-box .inner-box .contents-left,
  .top-content-box .inner-box .contents-middle,
  .top-content-box .inner-box .contents-right {
    width: 100%;
    font-size: 13px;
  }
  .top-content-box .inner-box .contents-middle {
    margin-top: 20px;
  }
}

.top-service-box .inner {
  padding: 100px 40px 80px;
  max-width: 100%;
}
.top-service-box .mtitle4 {
  text-align: center;
}
.top-service-box .mtitle4 .ja {
  color: #eb0b0b;
}
@media all and (max-width: 639px) {
  .top-service-box .inner {
    padding: 50px 0px;
  }
}

.top-point-box {
  position: relative;
}
.top-point-box:before {
  position: absolute;
  content: "";
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/bg-02.jpg) repeat;
  background-size: 1000px 700px;
  top: 0%;
  left: 0;
  width: 100%;
  height: 120%;
}
.top-point-box.type-page:before {
  top: 0%;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-point-box .inner {
  padding: 100px 40px 100px;
}
@media all and (max-width: 639px) {
  .top-point-box.main .inner {
    width: 100%;
  }
  .top-point-box .inner {
    padding: 0 0px 50px;
  }
}

.top-topicbox {
  position: relative;
  padding: 30px 0;
}
.top-topicbox:before {
  position: absolute;
  content: "";
  width: 20%;
  height: 100%;
  top: -20%;
  left: 0;
  background-color: #f6f6f6;
}
.top-topicbox .inner {
  padding: 0px 100px 50px;
  max-width: 1200px;
  margin: 0px auto 0 10%;
  position: relative;
  border-radius: 20px 0 0 20px;
}
.top-topicbox .inner:before {
  position: absolute;
  content: "";
  width: 120%;
  height: 100%;
  background-size: cover;
  right: -120%;
  top: 0;
  z-index: -1;
}
.top-topicbox .titlearea {
  width: 20%;
}
.top-topicbox .titlearea .mtitle2 {
  margin: 20px auto;
}
.top-topicbox .blogbox {
  width: 80%;
  max-width: 1200px;
  padding-left: 40px;
  margin: 30px auto 30px;
}
.top-topicbox .blog-wrap > li {
  padding: 0;
  margin: 0 auto;
  background-color: transparent;
}
.top-topicbox .blog-wrap > li:hover .blog-date {
  color: #2C3D47;
}
.top-topicbox .blog-wrap > li:hover .blog-txt {
  opacity: 0.6;
}
.top-topicbox .blog-detail {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: flex-start;
  padding: 4px 0;
  background-color: transparent;
  justify-content: flex-start;
  border-bottom: 2px solid #ddd;
  padding-bottom: 30px;
  margin-bottom: 10px;
}
.top-topicbox .blog-detail .blog-date {
  border: 1px solid #2C3D47;
  background-color: transparent;
  color: #2C3D47;
  font-size: 1.4rem;
  padding: 4px 10px;
  max-width: 120px;
  width: 20%;
}
.top-topicbox .blog-detail .blog-txt {
  padding: 0 15px;
  color: #363636;
  width: 80%;
}
@media all and (max-width: 1100px) {
  .top-topicbox .blog-wrap > li {
    width: 100%;
  }
  .top-topicbox .blog-wrap > li:hover .blog-date {
    color: #2C3D47;
  }
  .top-topicbox .blog-wrap > li:hover .blog-txt {
    opacity: 0.6;
  }
}
@media all and (max-width: 896px) {
  .top-topicbox .inner {
    padding: 60px 15px;
    max-width: 100%;
    margin: 0px 0 200px auto;
    border-radius: 20px 0 0 0;
  }
  .top-topicbox .inner:before {
    width: 100%;
    height: 200px;
    right: 0%;
    top: 100%;
    z-index: -1;
  }
}
@media all and (max-width: 639px) {
  .top-topicbox {
    padding: 0;
  }
  .top-topicbox .inner {
    max-width: 90%;
    margin: 0 auto 200px;
    padding: 30px 15px 60px;
  }
  .top-topicbox .inner .tcenter {
    text-align: left;
  }
  .top-topicbox .inner:before {
    border-radius: 0 0 0 20px;
    top: 94%;
    right: -10%;
    width: 110%;
  }
  .top-topicbox .blogbox {
    margin: 20px auto;
  }
  .top-topicbox .blog-detail {
    display: block;
    width: 100%;
    padding: 0 0;
  }
  .top-topicbox .blog-detail .blog-date {
    width: 100px;
    font-size: 1.2rem;
    padding: 0;
    margin: 0 auto;
  }
  .top-topicbox .blog-detail .blog-cat {
    font-size: 10px;
  }
  .top-topicbox .blog-detail .blog-txt {
    width: 100%;
    padding: 0px 5px;
  }
}

.top-detail-box {
  position: relative;
  z-index: 1;
}
.top-detail-box.type-blue {
  background-color: #1687C7;
}
.top-detail-box.type-blue .mtitle .eng {
  background: linear-gradient(91.17deg, #042f8b 0.7%, #082138 65.72%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.top-detail-box.type-blue .txtarea:before {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #2665ee 40%, #2665ee 60%, rgba(255, 255, 255, 0) 100%);
}

.top-page-box {
  position: relative;
  margin-top: 200px;
}
.top-page-box.page-top {
  margin-top: 200px;
}
.top-page-box.page-top:before {
  position: absolute;
  content: "";
  top: -90px;
  left: 0;
  width: 80%;
  height: 200px;
  border-radius: 0 40px 40px 0;
  background-color: #fff3ef;
}
.top-page-box .inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 50px 100px;
  position: relative;
}
.top-page-box .photo {
  margin: 20px auto 0;
  height: 400px;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
}
.top-page-box .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media all and (max-width: 639px) {
  .top-page-box.page-top {
    margin-top: 0px;
  }
  .top-page-box.page-top:before {
    top: 30px;
    height: 60px;
    border-radius: 0 20px 20px 0;
  }
  .top-page-box .inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 50px 0px;
    position: relative;
  }
  .top-page-box .photo {
    margin: 0px auto 0;
    height: 140px;
  }
}

.top-about-box {
  margin: 0 auto;
  max-width: 1200px;
  width: 100%;
}
@media all and (max-width: 1367px) {
  .top-about-box {
    max-width: 95%;
  }
}
.top-about-box .box-inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}
@media all and (max-width: 639px) {
  .top-about-box .box-inner {
    flex-direction: column;
  }
}
.top-about-box .box-inner .top-cont01-img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 42%;
}
@media all and (max-width: 639px) {
  .top-about-box .box-inner .top-cont01-img {
    width: 100%;
  }
}
.top-about-box .box-inner .top-cont01-img .img01 img,
.top-about-box .box-inner .top-cont01-img .img02 img {
  border-radius: 50px 5px 20px 10px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-about-box .box-inner .top-cont01-img .img01 {
  width: 49%;
  height: 450px;
}
@media all and (max-width: 639px) {
  .top-about-box .box-inner .top-cont01-img .img01 {
    height: 300px;
  }
}
.top-about-box .box-inner .top-cont01-img .img02 {
  margin-top: 40px;
  width: 49%;
  height: 450px;
}
@media all and (max-width: 639px) {
  .top-about-box .box-inner .top-cont01-img .img02 {
    height: 300px;
  }
}
.top-about-box .box-inner .top-cont01-img .img02 img {
  border-radius: 5px 10px 50px 20px;
}
.top-about-box .box-inner .top-cont01-txt {
  width: 50%;
}
@media all and (max-width: 639px) {
  .top-about-box .box-inner .top-cont01-txt {
    width: 100%;
  }
}
.top-about-box .box-inner .top-cont01-txt.type1 {
  padding: 20px 0;
}
@media all and (max-width: 896px) {
  .top-about-box .box-inner .top-cont01-txt.type1 {
    padding: 0;
  }
}
.top-about-box .box-inner .top-cont01-txt.type1:before {
  content: "";
  display: block;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  z-index: -3;
  max-width: 500px;
  width: 100%;
  height: 100%;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/catch2.png) no-repeat center/contain;
  z-index: -1;
}
.top-about-box .box-inner .top-cont01-txt p + p {
  margin-top: 15px;
}
.top-about-box.type2 .box-inner {
  flex-direction: row-reverse;
}
.top-about-box.type2 .box-inner .top-cont01-txt {
  width: 53%;
}
@media all and (max-width: 639px) {
  .top-about-box.type2 .box-inner {
    flex-direction: column-reverse;
  }
  .top-about-box.type2 .box-inner .top-cont01-txt {
    width: 100%;
    margin-bottom: 20px;
  }
}
@media all and (max-width: 896px) {
  .top-about-box .inner {
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .top-about-box .inner .top-cont01-img {
    width: 100%;
    margin-bottom: 40px;
    order: -1;
  }
  .top-about-box .inner .top-cont01-img .img02 {
    margin-top: -80px;
    max-width: 350px;
  }
  .top-about-box .inner .top-cont01-txt {
    width: 100%;
    margin: auto;
  }
  .top-about-box .inner .top-cont01-txt p + p {
    margin-top: 10px;
  }
  .top-about-box.type1 {
    width: 100%;
  }
  .top-about-box.type1 .inner .top-cont01-img {
    width: 100%;
  }
  .top-about-box.type1 .inner .top-cont01-img .img01,
  .top-about-box.type1 .inner .top-cont01-img .img02 {
    height: 350px;
  }
  .top-about-box.type1 .inner .top-cont01-txt {
    width: 100%;
    padding: 0 5px;
  }
}
@media all and (max-width: 639px) {
  .top-about-box .inner {
    max-width: 100%;
  }
  .top-about-box .inner .top-cont02-img .img02 {
    margin-top: -40px;
    max-width: 300px;
  }
  .top-about-box.type1 .inner .top-cont02-img .img02 {
    margin-top: 20px;
  }
}
.top-about-box .ggmap {
  padding-bottom: 55%;
}

.cont01 {
  background: #fefefe;
  max-width: 95%;
  border-radius: 60px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  padding: 60px;
  margin-top: 80px;
}
.cont01 .cont01_txt {
  width: 55%;
  margin-top: -80px;
  padding-right: 120px;
}
.cont01 .cont01_img {
  width: 45%;
  margin-top: -150px;
}
.cont01 .cont01_img img {
  border-radius: 60px;
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border: 15px solid #fff;
}
.cont01.type2 .cont01_txt {
  padding-right: 0;
  padding-left: 120px;
}
@media all and (max-width: 1100px) {
  .cont01 {
    flex-direction: column-reverse;
  }
  .cont01 .cont01_txt {
    width: 100%;
    padding-top: 100px;
    padding-right: 0;
  }
  .cont01 .cont01_img {
    width: 100%;
  }
  .cont01 .cont01_img img {
    height: 400px;
  }
  .cont01.type2 {
    flex-direction: column;
  }
  .cont01.type2 .cont01_txt {
    padding-left: 0;
  }
}
@media all and (max-width: 896px) {
  .cont01 {
    padding: 30px;
  }
  .cont01 .cont01_img {
    margin-top: -80px;
  }
  .cont01 .cont01_img img {
    height: 300px;
  }
}
@media all and (max-width: 639px) {
  .cont01 {
    padding: 10px;
    border-radius: 30px;
  }
}

.cont02 {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
}
.cont02 .cont02_txt {
  width: 48%;
  line-height: 2em;
  font-weight: bold;
  padding-top: 50px;
  color: #363636;
  letter-spacing: 0;
}
.cont02 .cont02_img {
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  width: 50%;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 200px;
}
.cont02 .cont02_img img {
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
  border: 5px solid #eb0b0b;
}
.cont02 .cont02_img .img1 {
  width: 100%;
  height: 500px;
}
.cont02 .cont02_img .img2 {
  height: 300px;
  width: 65%;
  margin-top: -60px;
  margin-right: -60px;
}
@media all and (max-width: 1100px) {
  .cont02 .cont02_txt {
    width: 85%;
  }
  .cont02 .cont02_img {
    opacity: 0.3;
  }
}
@media all and (max-width: 639px) {
  .cont02 {
    max-width: 95%;
  }
  .cont02 .cont02_txt {
    padding-top: 0;
    width: 100%;
  }
  .cont02 .cont02_img {
    width: 70%;
  }
  .cont02 .cont02_img .img1 {
    height: 350px;
  }
  .cont02 .cont02_img .img2 {
    height: 200px;
    width: 100%;
    margin-bottom: 200px;
  }
  .cont02 .cont02_img img {
    border-radius: 80px;
  }
}

.cont03 {
  background: #fefefe;
  max-width: 95%;
  border-radius: 60px;
  margin: 0 auto;
  padding: 60px;
  position: relative;
}
.cont03::before {
  content: "";
  display: block;
  width: 122px;
  height: 122px;
  position: absolute;
  top: -30px;
  left: -30px;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/frame01.png) no-repeat center/contain;
}
.cont03::after {
  content: "";
  display: block;
  width: 122px;
  height: 122px;
  position: absolute;
  top: -30px;
  right: -30px;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/frame01.png) no-repeat center/contain;
  transform: scale(-1, 1);
}
@media all and (max-width: 896px) {
  .cont03 {
    padding: 60px 30px;
  }
  .cont03 .list2 > li {
    width: 100%;
  }
  .cont03 .list2 .cont3_img {
    margin-bottom: 20px;
  }
  .cont03 .list2 .cont3_img img {
    height: 300px;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media all and (max-width: 639px) {
  .cont03 {
    padding: 30px 10px;
  }
  .cont03::before, .cont03::after {
    width: 80px;
    height: 80px;
  }
}

.cont04 {
  padding: 80px;
  border-radius: 300px;
  margin-top: -200px;
  background: #fefefe;
  position: relative;
  z-index: 100;
}
.cont04 .ume {
  margin-top: -130px;
}
@media all and (max-width: 896px) {
  .cont04 {
    border-radius: 150px;
    padding: 60px;
  }
}
@media all and (max-width: 639px) {
  .cont04 {
    border-radius: 80px;
    padding: 60px 30px;
  }
}

/* top list
----------------------------------*/
.feature_list {
  max-width: 90%;
  margin: 0 auto;
}
.feature_list > li {
  text-align: center;
}
.feature_list > li .txt {
  padding: 0 25px;
}
@media all and (max-width: 896px) {
  .feature_list {
    max-width: 100%;
  }
  .feature_list > li,
  .feature_list .child {
    width: 46%;
  }
  .feature_list > li:nth-child(3n),
  .feature_list .child:nth-child(3n) {
    margin-right: 3.495%;
  }
}
@media all and (max-width: 639px) {
  .feature_list > li,
  .feature_list .child {
    width: 100%;
  }
}

.content-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0 0 100px;
  position: relative;
  z-index: 1;
}
.content-list li {
  width: 33.33%;
  position: relative;
  overflow: hidden;
}
.content-list li:hover .list-photo {
  overflow: hidden;
  background-color: #363636;
}
.content-list li:hover img {
  transition: 0.4s;
  opacity: 0.8;
  transform: scale(1.1);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.content-list li:hover .list-txt {
  transition: 0.4s;
  top: 80px;
  background-color: #12182c;
}
.content-list li:hover .list-txt:before {
  transition: 0.4s;
  bottom: 20px;
}
.content-list li:hover .list-txt.type2 {
  top: 280px;
}
.content-list li:hover .list-txt.type3 {
  top: 480px;
}
.content-list .list-photo {
  height: 100%;
}
.content-list .list-photo img {
  transition: 0.4s;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.content-list .list-txt {
  transition: 0.4s;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  z-index: 1;
  background-color: #2C3D47;
  padding: 50px 20px;
  top: 60px;
  height: 200px;
}
.content-list .list-txt.type2 {
  top: 260px;
}
.content-list .list-txt.type3 {
  top: 460px;
}
.content-list .list-txt:before {
  transition: 0.4s;
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 30px;
  border-top: 14px solid #fff;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  width: 6px;
  height: 14px;
}
.content-list .list-txt .eng {
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  color: #fff;
  font-size: 4rem;
  line-height: 1;
}
.content-list .list-txt .ja {
  color: #fff;
  font-weight: bold;
}

/*rental__list*/
.rental__list {
  display: flex;
  flex-wrap: wrap;
  margin: 50px auto 0;
}
.rental__list li {
  width: 23%;
  margin: 0 1% 3%;
  padding: 40px 20px;
  background-color: #fff;
  border-radius: 40px;
  position: relative;
  transition: 0.4s;
}
.rental__list li:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  border: 2px solid #2C3D47;
  border-radius: 40px;
  transform: rotate(-1deg);
  transition: 0.4s;
  z-index: 0;
}
.rental__list li:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  border: 2px solid #eb0b0b;
  border-radius: 40px;
  transform: rotate(1deg);
  transition: 0.4s;
  z-index: 0;
}
.rental__list li:hover {
  background-color: white;
}
.rental__list li:hover:before {
  transform: rotate(0deg);
  transition: 0.4s;
}
.rental__list li:hover:after {
  transform: rotate(0deg);
  transition: 0.4s;
}
.rental__list .list__icon {
  width: 120px;
  height: 130px;
  max-width: 100%;
  margin: 0 auto 15px;
  text-align: center;
}
.rental__list .list__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.rental__list .list__title {
  font-size: 1.8rem;
  line-height: 1.8;
  color: #2C3D47;
  margin-bottom: 10px;
  text-wrap: balance;
  word-break: auto-phrase;
  border-bottom: 1px solid #eb0b0b;
  font-weight: 600;
}
.rental__list .list_subtxt {
  font-size: 0.9em;
  text-wrap: balance;
  word-break: auto-phrase;
}
@media all and (max-width: 1480px), all and (max-width: 1100px) {
  .rental__list {
    justify-content: center;
  }
  .rental__list li {
    width: 23%;
    padding: 40px 15px;
  }
  .rental__list .list__title {
    font-size: 1.8rem;
  }
}
@media all and (max-width: 896px) {
  .rental__list {
    justify-content: center;
    margin-top: 0;
  }
  .rental__list li {
    width: 48%;
    padding: 40px 15px;
    border-radius: 20px;
  }
  .rental__list:nth-child(2) {
    margin-left: 1%;
  }
  .rental__list .list__icon {
    width: 80%;
    max-width: 120px;
    margin: 0 auto;
  }
  .rental__list .list__title {
    font-size: 2rem;
  }
}
@media all and (max-width: 639px) {
  .rental__list {
    justify-content: center;
    margin-top: 0;
  }
  .rental__list li {
    padding: 20px 10px;
    border-radius: 20px;
    margin: 0 auto 20px;
  }
  .rental__list li:nth-child(2) {
    margin-left: auto;
    margin-right: auto;
  }
  .rental__list li:before, .rental__list li:after {
    border-radius: 20px;
  }
  .rental__list .list__icon {
    width: 80%;
    max-width: 120px;
    margin: 0 auto 10px;
    height: 80px;
  }
  .rental__list .list__title {
    font-size: 14px;
  }
  .rental__list .list__subtxt {
    font-size: 12px;
  }
  .rental__list .btn {
    margin: 20px auto 0;
  }
}

/*flow__list
----------------------------------*/
.flow__list {
  display: flex;
  flex-wrap: wrap;
  margin: 30px auto 0;
}
.flow__list li {
  width: 32%;
  margin: 0 1.5% 3% 0;
  padding: 20px;
  position: relative;
  border-radius: 20px;
  background-color: #eee;
  box-shadow: rgba(0, 0, 0, 0.09) 0px 2px 1px, rgba(0, 0, 0, 0.09) 0px 4px 2px, rgba(0, 0, 0, 0.09) 0px 8px 4px, rgba(0, 0, 0, 0.09) 0px 16px 8px, rgba(0, 0, 0, 0.09) 0px 32px 16px;
}
.flow__list li:last-child {
  margin-right: 0;
}
.flow__list li:last-child:before {
  display: none;
}
.flow__list li:before {
  position: absolute;
  content: "";
  width: 16px;
  height: 20px;
  top: 46%;
  right: -16px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 16px solid #eb0b0b;
}
.flow__list .list__photo {
  text-align: center;
  margin: 0 auto;
}
.flow__list .list__photo img {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  border-radius: 20px;
}
.flow__list .list__icon {
  position: relative;
  z-index: 1;
  text-align: center;
  background-color: #eb0b0b;
  border-radius: 50%;
  width: 80px;
  height: 80px;
  margin: -50px auto 10px;
  padding: 18px 10px;
}
.flow__list .list__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  filter: invert(1);
}
.flow__list .list__title {
  text-align: center;
  margin-bottom: 10px;
  font-weight: 600;
}
.flow__list .list__title span {
  font-size: 2rem;
  color: #2C3D47;
}
.flow__list .btn {
  margin-top: 10px;
}
@media all and (max-width: 896px) {
  .flow__list .list__title span {
    font-size: 1.6rem;
  }
  .flow__list .list__photo img {
    height: 130px;
  }
  .flow__list .list__icon {
    width: 60px;
    height: 60px;
    margin: -30px auto 0;
    padding: 12px 10px;
  }
}
@media all and (max-width: 639px) {
  .flow__list {
    margin: 30px auto 0;
  }
  .flow__list li {
    width: 90%;
    margin: 0 auto 40px;
    padding: 15px;
  }
  .flow__list li:last-child {
    margin: 0 auto 40px;
  }
  .flow__list li:before {
    top: auto;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -20px;
    border-bottom: none;
    border-top: 16px solid #2C3D47;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
  }
  .flow__list .list__title {
    margin-bottom: 5px;
  }
  .flow__list .list__title span {
    font-size: 1.4rem;
  }
  .flow__list .list__txt {
    font-size: 12px;
  }
}

.flow-list {
  display: flex;
  flex-wrap: wrap;
  margin: 50px auto 0;
}
.flow-list li {
  width: 21%;
  margin: 0 2%;
  padding: 50px 30px 40px;
  border-radius: 20px;
  background-color: #fff;
  box-shadow: 0 0 0 10px rgba(54, 54, 54, 0.1);
  position: relative;
}
.flow-list li:before {
  position: absolute;
  content: "";
  width: 10px;
  height: 14px;
  top: 44%;
  right: -20px;
  border-left: 20px solid #363636;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
}
.flow-list li:last-child:before {
  display: none;
}
.flow-list li .num {
  position: relative;
  width: 160px;
  height: 160px;
  margin: -110px auto 0;
}
.flow-list li .num:before {
  position: absolute;
  content: "";
  width: 120px;
  height: 120px;
  left: 0;
  right: 0;
  top: 20px;
  margin: 0 auto;
  background-color: #2C3D47;
}
.flow-list li .num span {
  color: #fff;
  position: absolute;
  z-index: 1;
  font-size: 4rem;
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.flow-list li .title {
  text-align: center;
  font-size: 1.8rem;
  color: #2C3D47;
  font-weight: bold;
  padding-bottom: 10px;
  margin: 20px auto 10px;
  border-bottom: 1px solid #2C3D47;
}
.flow-list li .list-txt {
  display: flex;
  flex-wrap: wrap;
}
.flow-list li .list-txt i {
  width: 10%;
  max-width: 16px;
  padding-top: 5px;
  color: #2C3D47;
}
.flow-list li .list-txt span {
  padding-left: 5px;
  width: 90%;
  line-height: 1.4;
}
@media all and (max-width: 1100px) {
  .flow-list {
    display: block;
    max-width: 700px;
  }
  .flow-list li {
    width: 100%;
    margin: 0 auto 60px 30px;
  }
  .flow-list li:before {
    border-top: 20px solid #eb0b0b;
    border-bottom: none;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: auto;
    bottom: -20px;
  }
  .flow-list li .num {
    position: absolute;
    left: -70px;
    top: 8%;
    margin: 0 auto;
    width: 130px;
    height: 130px;
  }
  .flow-list li .num:before {
    width: 130px;
    height: 130px;
  }
  .flow-list li .main {
    margin-left: 60px;
  }
  .flow-list li .title {
    margin: 0 auto 10px;
  }
}
@media all and (max-width: 896px) {
  .flow-list {
    display: block;
    max-width: 700px;
    margin: 0 20px;
  }
  .flow-list li {
    width: 90%;
    margin: 0 auto 40px 30px;
    padding: 10px 20px 10px;
  }
  .flow-list li:before {
    border-top: 20px solid #eb0b0b;
    border-bottom: none;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: auto;
    bottom: -20px;
  }
  .flow-list li .num {
    left: -50px;
    top: 8%;
    width: 90px;
    height: 90px;
  }
  .flow-list li .num span {
    font-size: 2rem;
  }
  .flow-list li .num:before {
    width: 90px;
    height: 90px;
  }
  .flow-list li .main {
    margin-left: 30px;
  }
  .flow-list li .title {
    margin: 0 auto 10px;
    font-size: 1.4rem;
  }
}

.flow-list2 {
  padding-left: 40px;
  position: relative;
  margin: 40px auto;
  padding-top: 30px;
}
.flow-list2.t-m0 {
  margin-top: 0;
}
.flow-list2:before {
  content: "";
  width: 15px;
  height: 100%;
  background: #cfc2a3;
  margin-left: 22px;
  display: block;
  position: absolute;
  top: 0;
  left: 76px;
}
.flow-list2 li {
  position: relative;
}
.flow-list2 li:not(:last-child) {
  margin-bottom: 40px;
}
.flow-list2 li .icon {
  font-size: 1.3rem;
  color: #fff;
  background: #578f35;
  padding: 8px 8px;
  display: block;
  position: absolute;
  top: 0;
  left: 0px;
  z-index: 100;
  border-radius: 5px;
  width: 130px;
  text-align: center;
}
.flow-list2 li .icon::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #578f35;
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
}
.flow-list2 li .main {
  padding: 5px 0 0 200px;
  position: relative;
}
.flow-list2 li .main:before, .flow-list2 li .main:after {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
}
.flow-list2 li .main:before {
  width: 7px;
  height: 7px;
  margin-top: -2px;
  background: #cfb45a;
  border-radius: 50%;
  left: 144px;
  z-index: 1;
}
.flow-list2 li .main:after {
  width: 30px;
  border-bottom: 2px dashed #578f35;
  position: absolute;
  left: 156px;
}
.flow-list2 li .main .ttl {
  font-size: 2rem;
  color: #363636;
  margin-bottom: 10px;
  font-weight: bold;
}
.flow-list2 li .main .txt {
  font-size: 1.5rem;
  color: #363636;
}
@media all and (max-width: 896px) {
  .flow-list2 {
    padding: 0 10px;
  }
  .flow-list2:before {
    left: 30px;
  }
}
@media all and (max-width: 639px) {
  .flow-list2 {
    padding: 0 10px;
  }
  .flow-list2:before {
    left: 14px;
    width: 8px;
  }
  .flow-list2 li .icon {
    font-size: 10px;
    width: 60px;
    padding: 8px 4px;
  }
  .flow-list2 li .icon:before {
    top: 42%;
  }
  .flow-list2 li .main {
    padding: 5px 0 0 120px;
  }
  .flow-list2 li .main:before {
    left: 74px;
  }
  .flow-list2 li .main:after {
    left: 86px;
    width: 20px;
  }
  .flow-list2 li .txtarea {
    padding-left: 90px;
  }
  .flow-list2 li .txtarea:before, .flow-list2 li .txtarea:after {
    display: none;
  }
  .flow-list2 li .txtarea .ttl {
    font-size: 1.5rem;
    margin-bottom: 0;
  }
  .flow-list2 li .txtarea .txt {
    font-size: 1.2rem;
  }
}

.flow-list3 ul {
  max-width: 1000px;
  margin: 20px auto;
}
.flow-list3 li {
  margin-bottom: 20px;
  align-items: flex-start;
}
.flow-list3 .flow-icon {
  height: 160px;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 92%, 60% 92%, 50% 100%, 40% 92%, 0 92%);
          clip-path: polygon(0% 0%, 100% 0%, 100% 92%, 60% 92%, 50% 100%, 40% 92%, 0 92%);
  background-color: rgb(109, 167, 112);
  position: relative;
}
.flow-list3 .flow-icon.flow-1 {
  background-color: rgb(109, 167, 112);
}
.flow-list3 .flow-icon.flow-5 {
  -webkit-clip-path: none;
          clip-path: none;
}
.flow-list3 .flow-icon .num {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  font-size: 4rem;
  font-weight: 300;
  top: 22%;
  color: #fff;
}
.flow-list3 .flow-txt {
  color: #363636;
  margin-top: 10px;
}
.flow-list3 .flow-type2 {
  display: flex;
  flex-wrap: wrap;
}
.flow-list3 .flow-type2 li {
  width: 18%;
  margin: 0 1%;
}
.flow-list3 .flow-type2 .flow-icon {
  height: 100px;
  height: 100px;
  width: 90%;
  margin: 0 auto;
}
.flow-list3 .flow-type2 .flow-icon .num {
  top: 5%;
  color: #fff;
}
.flow-list3 .flow-type2 .flow-area .txtdeko6 {
  height: 100px;
}
@media all and (max-width: 639px) {
  .flow-list3 {
    padding: 40px 20px;
  }
  .flow-list3 ul {
    margin: 0 auto;
  }
  .flow-list3 .flow-photo {
    height: 120px;
  }
  .flow-list3 .flow-photo.type2 {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 92%, 53% 92%, 50% 100%, 47% 92%, 0 92%);
            clip-path: polygon(0% 0%, 100% 0%, 100% 92%, 53% 92%, 50% 100%, 47% 92%, 0 92%);
    height: 180px;
  }
  .flow-list3 .flow-icon {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 92%, 56% 92%, 50% 100%, 44% 92%, 0 92%);
            clip-path: polygon(0% 0%, 100% 0%, 100% 92%, 56% 92%, 50% 100%, 44% 92%, 0 92%);
    width: 170px;
  }
  .flow-list3 .flow-icon .num {
    top: 22%;
    font-size: 2rem;
  }
  .flow-list3 .flow-txt {
    font-size: 1.1rem;
  }
  .flow-list3 .txtdeko6 {
    margin-top: 0;
  }
  .flow-list3 .flex {
    display: flex;
  }
  .flow-list3 .flex .flex-10 {
    width: 16%;
    height: 100px;
  }
  .flow-list3 .flex .flex-86.l-m4 {
    margin-left: 4%;
    width: 80%;
  }
  .flow-list3 .flow-type2 {
    display: block;
  }
  .flow-list3 .flow-type2 li {
    width: 100%;
    margin: 0 auto 20px;
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .flow-list3 .flow-type2 .flow-icon {
    height: 80px;
    width: 16%;
    margin: 0 auto;
  }
  .flow-list3 .flow-type2 .flow-icon .num {
    top: 5%;
  }
  .flow-list3 .flow-type2 .flow-area {
    width: 80%;
    margin-left: 4%;
  }
  .flow-list3 .flow-type2 .flow-area .txtdeko5 {
    height: 80px;
    text-align: left;
  }
}

.flow-list4 {
  position: relative;
  width: 85%;
  margin: 0 auto;
}
.flow-list4 .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 30px;
  position: relative;
}
.flow-list4 .inner:before {
  position: absolute;
  content: "";
  height: 125%;
  width: 8px;
  top: 25px;
  left: 36px;
  background: #2C3D47;
}
.flow-list4 .inner:last-child:before {
  display: none;
}
@media all and (max-width: 639px) {
  .flow-list4 .inner {
    width: 100%;
    margin: 0 auto 20px;
  }
  .flow-list4 .inner:before {
    width: 8px;
    height: 130%;
    left: 30px;
    top: 15px;
  }
}
.flow-list4 .inner dt {
  position: relative;
  width: 80px;
  height: 80px;
  line-height: 80px;
  background: #2C3D47;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  z-index: 4;
  font-family: "Hammersmith One", sans-serif;
}
.flow-list4 .inner dt .vtxt {
  writing-mode: vertical-rl;
}
.flow-list4 .inner dt.line2 {
  padding-top: 20px;
  line-height: 1;
}
@media all and (max-width: 639px) {
  .flow-list4 .inner dt {
    font-size: 1.2rem;
  }
  .flow-list4 .inner dt.big {
    font-size: 2rem;
  }
}
.flow-list4 .inner dd {
  flex: 1;
  position: relative;
  background: #fff;
  left: -10px;
  margin-top: 10px;
  padding: 15px 30px 15px 25px;
  z-index: 2;
  background: #fbfaf8;
  border-radius: 3px;
}
.flow-list4 .inner dd table th,
.flow-list4 .inner dd table td {
  font-weight: 500;
}
.flow-list4 .inner dd table th {
  padding-right: 1em;
}
@media all and (max-width: 639px) {
  .flow-list4 .inner dd {
    margin-top: 10px;
  }
}
@media all and (max-width: 639px) {
  .flow-list4 {
    width: 100%;
  }
  .flow-list4 .inner:before {
    left: 20px;
  }
  .flow-list4 .inner dd {
    padding: 15px 20px 15px 25px;
  }
  .flow-list4 .inner dt {
    width: 50px;
    height: 50px;
    line-height: 50px;
  }
}

/* list
----------------------------------*/
.catalog_list {
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
  margin-bottom: -1%;
  border: 4px solid rgba(235, 11, 11, 0.5);
  border-radius: 2px;
}
.catalog_list > li {
  flex: 1;
  border-right: 1px solid #f7734d;
}
.catalog_list > li:last-child {
  border-right: none;
}
.catalog_list > li a {
  position: relative;
  display: block;
  background-color: #fff;
  padding: 8px;
  color: #604c3f;
  font-size: 0.89em;
  font-family: "YakuHanJP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: center;
  font-weight: 600;
}
.catalog_list > li a::after {
  position: absolute;
  top: 50%;
  right: 4%;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
}
.catalog_list > li a:hover {
  background-color: rgba(235, 11, 11, 0.5);
  color: #fff;
}
@media all and (max-width: 639px) {
  .catalog_list > li {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #f7734d;
  }
  .catalog_list > li:last-child {
    border-bottom: 1none;
  }
}

.ol-list {
  counter-reset: number;
  list-style: none;
  padding: 5px;
}
.ol-list.sbc > li:before {
  background: #2C3D47;
}
.ol-list.type1 {
  display: flex;
  flex-wrap: wrap;
}
.ol-list.type1 > li {
  width: 48%;
}
.ol-list.type1 > li:not(:nth-child(2n)) {
  margin-right: 4%;
}
@media all and (max-width: 639px) {
  .ol-list.type1 > li {
    width: 100%;
    margin-right: 0 !important;
  }
  .ol-list.type1 > li:not(:last-child) {
    margin-bottom: 5px;
  }
}
.ol-list > li {
  margin-bottom: 5px;
  padding-bottom: 15px;
  position: relative;
  padding-left: 40px;
  border-bottom: 1px dotted #ddd;
}
.ol-list > li .ttl {
  font-size: 1.8rem;
  font-weight: 600;
  color: #604c3f;
}
.ol-list > li:before {
  counter-increment: number;
  content: counter(number);
  background: #eb0b0b;
  display: inline-block;
  width: 1.7em;
  height: 1.7em;
  text-align: center;
  font-size: 1.7rem;
  line-height: 1.7;
  color: #fefefe;
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
@media all and (max-width: 639px) {
  .ol-list > li {
    padding-left: 30px;
  }
  .ol-list > li .ttl {
    font-size: 1.5rem;
  }
  .ol-list > li span {
    font-size: 0.9em;
  }
  .ol-list > li:before {
    font-size: 1.3rem;
    top: 3px;
  }
}

.list_disc li {
  font-size: 1.6rem;
  padding: 5px 0;
}
.list_disc li:not(:last-of-type) {
  margin-bottom: 5px;
  border-bottom: 1px dashed #2C3D47;
}
.list_disc li:before {
  content: "●";
  margin-right: 5px;
  color: #eb0b0b;
  font-size: 0.7em;
}
.list_disc li.hoshi::before {
  content: "★";
  font-size: 1.1em;
  margin-right: 5px;
  color: #eb0b0b;
  margin-left: -0.22em;
}
@media all and (max-width: 639px) {
  .list_disc li {
    font-size: 1.2rem;
  }
}
.list_disc.type1 li {
  position: relative;
  font-size: 1.5rem;
  padding: 5px 0 5px 18px;
}
.list_disc.type1 li::before {
  position: absolute;
  left: 0;
  top: 10px;
}
.list_disc.type_col2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.list_disc.type_col2 li {
  width: 47%;
}
.list_disc.type_col2 li:not(:last-of-type) {
  margin-bottom: 5px;
}

.list_check > li {
  padding: 10px 10px 10px 35px;
  font-weight: 600;
  position: relative;
  margin-bottom: 10px;
  background: rgba(236, 236, 236, 0.2);
  border-radius: 10px;
}
.list_check > li::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  top: 50%;
  top: 2.5rem;
  left: 10px;
  background: #eb0b0b;
  border-radius: 50%;
  margin-top: -7px;
}
.list_check.color2 > li {
  background: rgba(254, 254, 254, 0.8);
}
.list_check.color3 > li {
  background: #f5f1e9;
}

.list-txt-box {
  padding: 0.2em 0.5em;
  margin: 20px 0;
  color: #565656;
  background: #fff3f3;
  box-shadow: 0px 0px 0px 10px #fff3f3;
  border: dashed 2px #ffcccc;
  border-radius: 8px;
}
.list-txt-box p {
  margin: 0;
  padding: 0;
}
.list-txt-box.box-blue {
  background: #ebf3fb;
  box-shadow: 0px 0px 0px 10px #ebf3fb;
  border: dashed 2px #91b5d9;
}

.order-btn-list {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  gap: 40px;
  text-align: center;
}
.order-btn-list .fax-btn a {
  color: #363636;
  font-family: "Hammersmith One", sans-serif;
  font-weight: bold;
}
.order-btn-list .fax-btn a i {
  padding-right: 5px;
}
.order-btn-list .fax-btn a:hover {
  color: #2C3D47;
}
.order-btn-list .btn01 a {
  width: 250px;
  margin: 0 auto;
}
@media all and (max-width: 639px) {
  .order-btn-list {
    flex-direction: column;
    gap: 20px;
  }
}

/* photo
----------------------------------*/
.photo-h img {
  height: 240px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media all and (max-width: 639px) {
  .photo-h {
    margin-bottom: 20px;
  }
  .photo-h img {
    height: 150px;
  }
}

.photo-gallery ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}
.photo-gallery li {
  width: 23.5%;
  margin-right: 2%;
  position: relative;
}
.photo-gallery li:nth-child(4n) {
  margin-right: 0;
}
.photo-gallery li a {
  display: block;
  width: 100%;
  height: 200px;
  line-height: 200px;
  border-radius: 20px;
  overflow: hidden;
}
.photo-gallery li a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: middle;
}
.photo-gallery li a:hover img {
  transform: scale(1.1);
}
.photo-gallery li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.2s all ease-in;
}
@media all and (max-width: 896px) {
  .photo-gallery ul li {
    width: 48%;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .photo-gallery ul li:nth-child(even) {
    margin-left: auto;
  }
}
@media all and (max-width: 639px) {
  .photo ul {
    margin-right: 0;
    margin-bottom: 0;
  }
  .photo li {
    float: left;
    width: 48%;
    margin: 0 1% 10px;
  }
  .photo li a {
    width: 100%;
    height: 150px;
    line-height: 150px;
  }
  .photo li img {
    max-width: 100%;
    max-height: 145px;
  }
  .photo li p {
    width: 100%;
  }
}
/* gallery(lightbox)
----------------------------------*/
.gallery {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.gallery li {
  width: 31%;
  margin: 0 3.495% 25px 0;
}
.gallery li:nth-child(3n) {
  margin-right: 0;
}
.gallery li a {
  background: rgba(0, 0, 0, 0.3);
  display: block;
  text-align: center;
  padding: 0px;
  height: 200px;
}
.gallery li a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
  /*IE対策*/
}
.gallery li p {
  line-height: 1.4;
  margin-top: 5px;
}

@media all and (max-width: 896px) {
  .gallery li {
    width: 48%;
    margin: 0 4% 20px 0;
  }
  .gallery li:nth-child(3n) {
    margin: 0 4% 20px 0;
  }
  .gallery li:nth-child(2n) {
    margin-right: 0;
  }
  .gallery li a {
    height: 120px;
  }
  .gallery li p {
    font-size: 1.1rem;
  }
}
/* slider
----------------------------------*/
.slider {
  /*横幅94%で左右に余白を持たせて中央寄せ*/
  width: 94%;
  margin: 0 auto;
}

.thumb-item a {
  position: relative;
  width: 100%;
  height: 100% !important;
  overflow: hidden;
  display: block;
  background: #2C3D47;
}
.thumb-item a img {
  width: 100%;
  height: 250px;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
  transition: all 0.3s ease;
}
.thumb-item a img:hover {
  opacity: 0.75;
}
@media all and (max-width: 639px) {
  .thumb-item a {
    height: 160px;
  }
}

.thumb-item-nav .items {
  overflow: hidden;
  height: 60px;
  margin: 0 5px;
  width: auto;
}
.thumb-item-nav .items img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
@media all and (max-width: 639px) {
  .thumb-item-nav .items {
    height: 40px;
  }
}

.thumb-item-nav img {
  max-height: 100px !important;
}
.thumb-item-nav.type1 .slick-track {
  left: 50%;
  transform: translateX(-50%) !important;
}

.slick-slide {
  margin: 10px 5px;
  height: 200px;
  position: relative;
}
.slick-slide img {
  box-shadow: 0 0 10px rgba(54, 54, 54, 0.1);
}
.slick-slide p {
  position: absolute;
  background-color: #fff;
  padding: 6px 20px;
  bottom: 30px;
  left: 10px;
  border-left: 2px solid #eb0b0b;
  border-radius: 0 10px 10px 0;
}

.slick-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
}

.slick-prev,
.slick-next {
  z-index: 1;
}

.slick-prev:before,
.slick-next:before {
  color: #363636;
}

.slick-prev:before {
  position: absolute;
  content: "";
  color: #363636;
  border-right: 20px solid #eb0b0b;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  width: 20px;
  height: 10px;
  left: -20px;
  top: 44%;
  z-index: 1;
}
@media all and (max-width: 1100px) {
  .slick-prev:before {
    left: 0px;
  }
}
@media all and (max-width: 639px) {
  .slick-prev:before {
    left: 15px;
  }
}

@media all and (max-width: 639px) {
  .slick-prev {
    left: -30px !important;
  }
}

.slick-next:before {
  position: absolute;
  content: "";
  color: #363636;
  border-left: 20px solid #eb0b0b;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  width: 20px;
  height: 10px;
  right: -20px;
  top: 44%;
  z-index: 1;
}
@media all and (max-width: 1100px) {
  .slick-next:before {
    right: 0px;
  }
}
@media all and (max-width: 639px) {
  .slick-next:before {
    right: 15px;
  }
}

@media all and (max-width: 639px) {
  .slick-next {
    right: -30px !important;
  }
}

.slick-slide {
  transition: all ease-in-out 0.3s;
  opacity: 0.2;
}

.slick-active {
  opacity: 1;
}

.slick-current {
  opacity: 1;
}

.slick-track {
  height: auto;
}

.slide_list {
  position: relative;
  display: none;
  margin-bottom: 20px;
}
.slide_list li {
  text-align: center;
}
.slide_list li img {
  width: 280px;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
  transition: filter 0.2s ease-in;
}
.slide_list li:hover img {
  filter: grayscale(0);
}
@media all and (max-width: 896px) {
  .slide_list li img {
    width: 200px;
    height: 150px;
  }
}


.slider_top {
  position: relative;
  padding: 80px 0;
}
@media all and (max-width: 1100px) {
  .slider_top {
    padding: 68px 0 20px;
  }
  .slider_top:before {
    width: 100px;
    height: 100px;
  }
}
@media all and (max-width: 639px) {
  .slider_top {
    padding: 30px 0 0;
  }
  .slider_top:before {
    width: 80px;
    height: 80px;
    top: 0;
  }
}

.top-gallery {
  position: relative;
  margin-top: 50px;
}
.top-gallery .inner {
  position: relative;
}
.top-gallery .slide_list {
  position: relative;
  display: none;
  margin: 0px auto 30px;
}
.top-gallery .slide_list li {
  margin-right: 1%;
}
.top-gallery .slide_list li a {
  display: block;
  width: 240px;
  height: 200px;
  overflow: hidden;
  border-radius: 20px;
}
.top-gallery .slide_list li img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  font-family: "object-fit: cover;";
  transition: 0.2s all ease-in;
}
.top-gallery .slide_list li:hover img {
  transform: scale(1.1);
  filter: brightness(120%);
}
@media all and (max-width: 639px) {
  .top-gallery .slide_list {
    margin: 0px auto 5px;
  }
  .top-gallery .slide_list li a {
    width: 170px;
    height: 120px;
  }
  .top-gallery .slide_list li img {
    width: auto;
    height: 100%;
  }
}

.top-contents-box .col-3 {
  display: flex;
  flex-wrap: wrap;
  z-index: 2;
  max-width: 95%;
  margin: 0 auto;
  position: relative;
}
@media all and (max-width: 639px) {
  .top-contents-box .col-3 {
    display: block;
  }
}
.top-contents-box .col-3 .col-3-item {
  width: 32%;
  margin-right: 2%;
  position: relative;
  background: #fff;
  border-radius: 10px;
}
@media all and (max-width: 639px) {
  .top-contents-box .col-3 .col-3-item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 40px;
  }
}
.top-contents-box .col-3 .col-3-item:last-child {
  margin-right: 0;
}
.top-contents-box .col-3 .col-3-item .col-3-item_icon {
  display: block;
  position: absolute;
  width: 80px;
  z-index: 2;
  left: 20px;
  top: -20px;
}
.top-contents-box .col-3 .col-3-item a {
  display: block;
  position: relative;
  height: 100%;
}
.top-contents-box .col-3 .col-3-item a .top_3_link {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 0 auto 0;
  height: 250px;
  border-radius: 10px 10px 0 0;
}
@media all and (max-width: 639px) {
  .top-contents-box .col-3 .col-3-item a .top_3_link {
    height: 180px;
  }
}
.top-contents-box .col-3 .col-3-item a .top_3_link:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  opacity: 1;
  -ms-background-size: cover;
  background-size: cover;
  transition: all 0.3s ease-out;
  background-repeat: no-repeat;
}
.top-contents-box .col-3 .col-3-item a .top_3_link.item-1:after {
  background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/top01_2.jpg);
}
.top-contents-box .col-3 .col-3-item a .top_3_link.item-2:after {
  background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/contents02.jpg);
}
.top-contents-box .col-3 .col-3-item a .top_3_link.item-3:after {
  background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/cafe-img.jpg);
}
.top-contents-box .col-3 .col-3-item a .top_3_link:hover:after {
  opacity: 1;
  transform: scale(1.2);
}
.top-contents-box .col-3 .col-3-item a .col-3-item_text {
  display: block;
  padding: 30px;
}
.top-contents-box .col-3 .col-3-item a .col-3-item_text .top_3_item_read {
  font-weight: 500;
  color: #363636;
}
.top-contents-box .col-3 .col-3-item a .col-3-item_text .top_3_item_read span {
  display: block;
  color: #2C3D47;
  font-weight: 500;
  line-height: 1em;
}
.top-contents-box .col-3 .col-3-item a .col-3-item_text .more {
  display: block;
  margin: 30px auto 0;
  text-align: center;
  border-radius: 100px;
  font-weight: 500;
  padding: 0.6em 0;
  transition: 0.4s;
  font-weight: bold;
  background: #363636;
  color: #fff;
}
.top-contents-box .col-3 .col-3-item a:hover .col-3-item_text .more {
  transition: 0.4s;
  border: 1px solid #363636;
  color: #363636;
  background: #fefefe;
}

/* flex
----------------------------------*/
.flex {
  display: flex;
  flex-wrap: wrap;
}
@media all and (max-width: 639px) {
  .flex {
    display: block;
  }
}
.flex.w-100 {
  width: 100%;
}
.flex.j-center {
  justify-content: center;
}
.flex.a-center {
  align-items: center;
}
.flex.a-first {
  flex-wrap: inherit;
  align-items: flex-start;
}
.flex.a-end {
  align-items: flex-end;
}
@media all and (max-width: 1100px) {
  .flex.flex-pro {
    display: block;
  }
}
.flex.flex-pro .flex-30 {
  width: 30%;
}
@media all and (max-width: 1100px) {
  .flex.flex-pro .flex-30 {
    width: 100%;
    margin: 0 auto;
  }
}
.flex.flex-pro .flex-60 {
  width: 60%;
}
@media all and (max-width: 1100px) {
  .flex.flex-pro .flex-60 {
    width: 100%;
    margin: 0 auto;
  }
  .flex.flex-pro .flex-60.l-m2 {
    margin-top: 30px;
    margin-left: auto;
  }
}
@media all and (max-width: 896px) {
  .flex.flex-tablet {
    display: block;
  }
}
@media all and (max-width: 896px) {
  .flex.flex-tablet .flex-40 {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}
@media all and (max-width: 896px) {
  .flex.flex-tablet .flex-48 {
    width: 100%;
    margin: 0 auto;
  }
  .flex.flex-tablet .flex-48.l-m2 {
    margin-left: auto;
  }
  .flex.flex-tablet .flex-48.l-m4 {
    margin-left: auto;
  }
}
.flex.flex-tablet .flex-50 {
  width: 50%;
}
@media all and (max-width: 896px) {
  .flex.flex-tablet .flex-50 {
    width: 100%;
  }
}
@media all and (max-width: 896px) {
  .flex.flex-tablet .flex-56 {
    width: 90%;
    margin: 20px auto 0;
    margin-left: auto;
  }
}
@media all and (max-width: 896px) {
  .flex.flex-tablet .flex-58 {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}
.flex.flex-tablet .flex-60 {
  width: 60%;
}
@media all and (max-width: 896px) {
  .flex.flex-tablet .flex-60 {
    width: 90%;
    margin: 0 auto;
  }
}
.flex.flex-tablet .flex-70 {
  width: 70%;
}
@media all and (max-width: 896px) {
  .flex.flex-tablet .flex-70 {
    width: 100%;
  }
}
.flex .flex-10 {
  width: 10%;
}
@media all and (max-width: 639px) {
  .flex .flex-10 {
    width: 50%;
    margin: 0 auto;
  }
}
.flex .flex-15 {
  width: 15%;
}
@media all and (max-width: 639px) {
  .flex .flex-15 {
    width: 50%;
    margin: 0 auto;
  }
}
.flex .flex-18 {
  width: 18%;
  margin-left: 2%;
}
@media all and (max-width: 639px) {
  .flex .flex-18 {
    width: 90%;
    margin-left: auto;
    margin: 0 auto;
  }
}
.flex .flex-20 {
  width: 20%;
}
@media all and (max-width: 639px) {
  .flex .flex-20 {
    width: 90%;
    margin: 0 auto;
  }
}
.flex .flex-25 {
  width: 25%;
}
@media all and (max-width: 639px) {
  .flex .flex-25 {
    width: 90%;
    margin: 0 auto;
  }
}
.flex .flex-30 {
  width: 30%;
}
@media all and (max-width: 639px) {
  .flex .flex-30 {
    width: 90%;
    margin: 0 auto;
  }
}
.flex .flex-36 {
  width: 36%;
}
@media all and (max-width: 639px) {
  .flex .flex-36 {
    width: 100%;
    margin: 0 auto;
  }
}
.flex .flex-38 {
  width: 38%;
}
@media all and (max-width: 639px) {
  .flex .flex-38 {
    width: 100%;
    margin: 0 auto;
  }
}
.flex .flex-40 {
  width: 40%;
}
@media all and (max-width: 639px) {
  .flex .flex-40 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.flex .flex-48 {
  width: 48%;
}
@media all and (max-width: 639px) {
  .flex .flex-48 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.flex .flex-48.l-m2 {
  margin-left: 2%;
}
@media all and (max-width: 639px) {
  .flex .flex-48.l-m2 {
    width: 100%;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .flex .flex-48.l-m2.sp-m0 {
    margin-top: 0;
  }
  .flex .flex-48.l-m2.sp-m60 {
    margin-top: 60px;
  }
}
.flex .flex-48.l-m4 {
  margin-left: 4%;
}
@media all and (max-width: 639px) {
  .flex .flex-48.l-m4 {
    width: 100%;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
  }
}
.flex .flex-50 {
  width: 50%;
}
@media all and (max-width: 896px) {
  .flex .flex-50 {
    width: 100%;
  }
}
.flex .flex-56 {
  width: 56%;
}
.flex .flex-56.l-m4 {
  margin-left: 4%;
}
@media all and (max-width: 896px) {
  .flex .flex-56.l-m4 {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
  }
}
@media all and (max-width: 639px) {
  .flex .flex-56.l-m4 {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.flex .flex-56.l-m14 {
  margin-left: 14%;
}
@media all and (max-width: 639px) {
  .flex .flex-56.l-m14 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 50px;
  }
}
.flex .flex-58 {
  width: 58%;
}
.flex .flex-58.l-m2 {
  margin-left: 2%;
}
@media all and (max-width: 639px) {
  .flex .flex-58 {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .flex .flex-58.l-m2 {
    margin-left: auto;
  }
}
.flex .flex-60 {
  width: 60%;
}
.flex .flex-60.l-m2 {
  margin-left: 2%;
}
@media all and (max-width: 639px) {
  .flex .flex-60.l-m2 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.flex .flex-60.l-m10 {
  margin-left: 10%;
}
@media all and (max-width: 639px) {
  .flex .flex-60.l-m10 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media all and (max-width: 639px) {
  .flex .flex-60 {
    width: 100%;
  }
}
.flex .flex-66 {
  width: 66%;
}
@media all and (max-width: 639px) {
  .flex .flex-66 {
    margin-left: auto;
    width: 100%;
  }
}
.flex .flex-66.l-m4 {
  margin-left: 4%;
}
@media all and (max-width: 639px) {
  .flex .flex-66.l-m4 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.flex .flex-68 {
  width: 68%;
}
@media all and (max-width: 639px) {
  .flex .flex-68 {
    margin-left: auto;
    width: 100%;
  }
}
.flex .flex-68.l-m2 {
  margin-left: 2%;
}
@media all and (max-width: 639px) {
  .flex .flex-68.l-m2 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.flex .flex-70 {
  width: 70%;
}
@media all and (max-width: 639px) {
  .flex .flex-70 {
    width: 100%;
  }
}
.flex .flex-78 {
  width: 78%;
  margin-left: 2%;
}
@media all and (max-width: 639px) {
  .flex .flex-78 {
    margin-left: auto;
    width: 100%;
  }
}
.flex .flex-86 {
  width: 86%;
}
@media all and (max-width: 639px) {
  .flex .flex-86 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.flex .flex-86.l-m4 {
  margin-left: 4%;
}
@media all and (max-width: 639px) {
  .flex .flex-86.l-m4 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.flex .flex-88 {
  width: 88%;
}
.flex .flex-88.l-m2 {
  margin-left: 2%;
}
@media all and (max-width: 639px) {
  .flex .flex-88 {
    margin-left: auto;
    width: 100%;
  }
}
.flex .flex-80 {
  width: 80%;
  margin-left: 3%;
}
@media all and (max-width: 639px) {
  .flex .flex-80 {
    margin-left: auto;
    width: 100%;
  }
}

/* Q and A
----------------------------------*/
.faq-dl .faq-inner {
  position: relative;
}
.faq-dl .faq-inner:not(:last-of-type) {
  border-bottom: 1px dashed #e7e7e7;
}
.faq-dl .faq-inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-image: linear-gradient(to right, #2C3D47, #C7C316);
  opacity: 0.1;
}
.faq-dl .faq-inner dt,
.faq-dl .faq-inner dd {
  position: relative;
  font-size: 1.6rem;
}
@media all and (max-width: 639px) {
  .faq-dl .faq-inner dt,
  .faq-dl .faq-inner dd {
    font-size: 1em;
  }
}
.faq-dl .faq-inner dt:before,
.faq-dl .faq-inner dd:before {
  position: absolute;
  content: "";
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  left: 0;
  top: 1rem;
}
.faq-dl .faq-inner dt {
  font-weight: 600;
  padding: 20px 10px;
  padding-left: 55px;
  padding-right: 34px;
  margin: 5px auto;
  background-color: #363636;
  color: #fff;
  cursor: pointer;
}
@media all and (max-width: 639px) {
  .faq-dl .faq-inner dt {
    padding-left: 45px;
  }
}
.faq-dl .faq-inner dt:before {
  content: "Q.";
  color: #eb0b0b;
  font-size: 3rem;
}
@media all and (max-width: 639px) {
  .faq-dl .faq-inner dt:before {
    font-size: 2rem;
  }
}
.faq-dl .faq-inner dt:after {
  font-family: "Font Awesome 5 Free";
  content: "\f078";
  font-weight: 900;
  font-size: 1.8rem;
  position: absolute;
  right: 30px;
  color: #fff;
  top: 50%;
  transform: translateY(-50%);
}
@media all and (max-width: 639px) {
  .faq-dl .faq-inner dt:after {
    right: 15px;
  }
}
.faq-dl .faq-inner dt.on:after {
  font-family: "Font Awesome 5 Free";
  content: "\f077";
  font-weight: 900;
}
.faq-dl .faq-inner dd {
  display: none;
  margin-top: 10px;
  padding: 20px 10px 40px;
  padding-left: 55px;
}
.faq-dl .faq-inner dd:before {
  content: "A.";
  color: #aa2e2e;
  font-size: 3rem;
}
@media all and (max-width: 639px) {
  .faq-dl .faq-inner dd:before {
    font-size: 2rem;
  }
}

.qa-list {
  margin-bottom: 20px;
}
.qa-list.type2 {
  margin-bottom: 100px;
}
.qa-list.type2 dl dt {
  padding: 14px 20px;
}
.qa-list.type2 dl dt:before {
  display: none;
}
.qa-list.type2 dl dd {
  padding: 20px 30px 20px 20px;
}
.qa-list.type2 dl dd:before {
  display: none;
}

.qa-list dl {
  position: relative;
  margin: 30px auto 0;
  cursor: pointer;
  max-width: 1000px;
}
.qa-list dl:first-child {
  margin-top: 0;
}
.qa-list dl:after {
  position: absolute;
  top: 30px;
  right: 26px;
  display: block;
  width: 7px;
  height: 7px;
  margin: auto;
  content: "";
  transform: rotate(135deg);
  border-top: 2px solid #363636;
  border-right: 2px solid #363636;
}

.qa-list .open::after {
  transform: rotate(-45deg);
}

.qa-list dl dt {
  position: relative;
  margin: 0;
  padding: 14px 20px 14px 60px;
  border-radius: 10px;
  font-weight: bold;
  background: rgb(35, 128, 47);
  background: linear-gradient(150deg, #f0f0f0 0%, #e7e7e7 100%);
  color: #363636;
}
.qa-list dl dt:before {
  font-size: 22px;
  line-height: 1;
  position: absolute;
  top: 14px;
  left: 20px;
  display: block;
  content: "Q.";
  color: #2C3D47;
}

.qa-list dl dd {
  position: relative;
  margin: 10px auto 0;
  padding: 20px 20px 20px 60px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.qa-list dl dd:before {
  font-size: 22px;
  line-height: 1;
  position: absolute;
  left: 20px;
  display: block;
  content: "A.";
  font-weight: bold;
  color: #aa2e2e;
}

.qa-list dl dd p {
  margin: 10px 0 0;
}
.qa-list dl dd p:first-child {
  margin-top: 0;
}

@media all and (max-width: 896px) {
  .qa-list dl {
    margin: 10px 0 0;
  }
  .qa-list dl:after {
    top: 30px;
    right: 20px;
    width: 7px;
    height: 7px;
  }
  .qa-list dl dt {
    padding: 16px 26px 16px 40px;
    font-size: 12px;
  }
  .qa-list dl dt:before {
    font-size: 14px;
    top: 20px;
    left: 15px;
  }
  .qa-list dl dd {
    margin: 0;
    padding: 16px 16px 16px 40px;
    font-size: 10px;
  }
  .qa-list dl dd:before {
    font-size: 14px;
    left: 15px;
    margin-top: 5px;
  }
  .qa-list dl dd p {
    margin: 30px 0 0;
  }
  .qa-list dl dd p:first-child {
    margin-top: 0;
  }
}
/* --news--
----------------------------------*/
.news-box {
  position: relative;
  z-index: 10;
  display: flex;
  padding: 40px 0;
}
@media all and (max-width: 639px) {
  .news-box {
    flex-direction: column;
    padding: 0;
  }
}

.news-left {
  width: 20%;
}
@media all and (max-width: 639px) {
  .news-left {
    top: 0;
    width: 100%;
    position: relative;
  }
}

.news-title {
  position: relative;
}
.news-title span {
  display: block;
}
.news-title .eng {
  font-family: "Hammersmith One", sans-serif;
  font-weight: 400;
  color: #eb0b0b;
  position: relative;
  font-size: 3rem;
}
.news-title .ja {
  font-size: 1.8rem;
  position: relative;
  font-weight: 600;
}
@media all and (max-width: 639px) {
  .news-title {
    margin-bottom: 30px;
  }
  .news-title .eng {
    font-size: 2.4rem;
  }
  .news-title .ja {
    font-size: 1.4rem;
  }
}

.news-right {
  width: 100%;
  margin-left: auto;
}
@media all and (max-width: 639px) {
  .news-right {
    width: 100%;
    margin: 10px 0 0;
  }
}

.blog_topics {
  width: 100%;
}
.blog_topics li a {
  display: block;
  color: #604c3f;
  padding: 15px;
  transition: 0.3s ease-in all;
}
.blog_topics li a:hover {
  background-color: rgba(44, 61, 71, 0.2);
  background-color: #f4f4f4;
}
.blog_topics li a .topics_detail {
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
  align-items: center;
}
.blog_topics li a .topics_detail .imgbox {
  overflow: hidden;
  width: 25%;
  height: 100px;
}
.blog_topics li a .topics_detail .imgbox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s ease-in all;
}
.blog_topics li a .topics_detail .textbox {
  width: 75%;
  padding-left: 15px;
  line-height: 1.5;
}
.blog_topics li a .topics_detail .textbox p {
  margin-top: 5px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.blog_topics li a .time_date {
  width: 120px;
  font-size: 0.9em;
  background: #C7C316;
  padding: 5px 10px;
  border-radius: 30px;
  color: #fff;
}
.blog_topics li a .time_date:before {
  font-family: "Font Awesome 5 Free";
  content: "\f017";
  font-weight: 900;
  margin-right: 5px;
}
@media all and (max-width: 639px) {
  .blog_topics li a {
    padding: 10px 5px;
  }
  .blog_topics li a .topics_detail .imgbox {
    width: 28%;
    height: 80px;
  }
  .blog_topics li a .topics_detail .textbox {
    width: 72%;
    padding-left: 10px;
    line-height: 1.5;
  }
  .blog_topics li a .time_date {
    width: 120px;
    font-size: 11px;
  }
}

/*----------------------------------
 --oneday--
----------------------------------*/
.onedayArea {
  margin: 50px auto;
}
.onedayArea .oneday__list {
  position: relative;
  z-index: 1;
  width: 95%;
  margin: 0 auto;
}
.onedayArea .oneday__list > li {
  position: relative;
  border-radius: 20px;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 40px;
}
.onedayArea .oneday__list > li .list__num__inner {
  width: 140px;
  height: 140px;
  border: 1px solid #fefefe;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  text-align: center;
}
.onedayArea .oneday__list > li .list__num {
  position: relative;
  width: 20%;
  max-width: 160px;
  height: 160px;
  border-radius: 50%;
  background-color: #f5d750;
}
.onedayArea .oneday__list > li .list__num.bg-none {
  background-color: transparent;
}
.onedayArea .oneday__list > li .list__num.bg-none .list__num__inner {
  border: none;
}
.onedayArea .oneday__list > li .list__num__main {
  display: block;
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  margin-top: 52px;
  color: #363636;
}
.onedayArea .oneday__list > li .list__num__txt {
  display: inline-block;
  text-align: center;
  background-color: #e28763;
  padding: 6px 20px;
  border-radius: 50px;
  line-height: 1;
  font-size: 1.8rem;
  color: #fff;
}
.onedayArea .oneday__list > li .list__photo {
  overflow: hidden;
  width: 300px;
  height: 200px;
}
.onedayArea .oneday__list > li .list__photo img {
  border-radius: 20px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
}
@media all and (max-width: 896px) {
  .onedayArea .oneday__list > li .list__photo.sp-left img {
    -o-object-position: left;
       object-position: left;
  }
}
.onedayArea .oneday__list > li .list__detail {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.onedayArea .oneday__list > li .list__detail .list__photo {
  width: 30%;
}
.onedayArea .oneday__list > li .list__detail .list__txt {
  width: 70%;
  padding: 20px 0 20px 40px;
  font-weight: bold;
}
.onedayArea .oneday__list > li .list__detail .list__txt .txt__main {
  font-size: 1.7rem;
  font-weight: bold;
  display: flex;
  flex-direction: column;
}
.onedayArea .oneday__list > li .list__detail .list__txt .txt__main span {
  background-color: #f5f1e9;
  padding: 5px 20px;
  border-radius: 10px;
}
.onedayArea .oneday__list > li .list__detail .list__txt .txt__main span:not(:last-child) {
  margin-bottom: 5px;
}
.onedayArea .oneday__list > li .list__detail .list__txt .txt__sub {
  padding: 5px 20px;
}
@media all and (max-width: 639px) {
  .onedayArea .oneday__list > li .list__detail .list__txt .txt__sub {
    padding: 5px;
  }
}
.onedayArea .oneday__list > li .list__detail .list__txt .list-txt-box {
  margin: 20px;
}
@media all and (max-width: 639px) {
  .onedayArea .oneday__list > li .list__detail .list__txt .list-txt-box {
    margin: 20px 0;
  }
}
.onedayArea .oneday__list > li .list__detail .list__txt .list-txt-box.b-m30 {
  margin-bottom: 30px;
}
.onedayArea .oneday__list > li .list__detail .list__txt .list-txt-box .mtext1 {
  font-size: 1.8rem;
}
.onedayArea .oneday__bottom__txt {
  text-align: center;
}
@media all and (max-width: 1100px) {
  .onedayArea:before {
    left: 105px;
  }
}
@media all and (max-width: 896px) {
  .onedayArea .oneday__list li {
    justify-content: space-between;
  }
  .onedayArea .oneday__list li .list__detail {
    margin: 0 0 0 2%;
    padding: 0;
  }
  .onedayArea .oneday__list li .list__detail .list__photo {
    width: 30%;
  }
  .onedayArea .oneday__list li .list__detail .list__txt {
    width: 66%;
    margin: 0 0 0 4%;
    padding: 0px 0;
  }
  .onedayArea .oneday__list li .txt__main span {
    font-size: 1.6rem;
    display: inline-block;
  }
}
@media all and (max-width: 639px) {
  .onedayArea .oneday__list li .list__detail {
    margin: 0;
    flex-direction: column;
  }
  .onedayArea .oneday__list li .list__detail .list__photo {
    width: 100%;
    margin-bottom: 10px;
  }
  .onedayArea .oneday__list li .list__detail .list__txt {
    width: 100%;
    margin: 0;
  }
}

/*----------------------------------
pc/sp
----------------------------------*/
@media all and (max-width: 639px) {
  .pconly {
    display: none;
  }
}

.sponly {
  display: none;
}
@media all and (max-width: 639px) {
  .sponly {
    display: block;
  }
}

.spbr {
  display: none;
}

.pc_tcenter {
  text-align: center;
}
@media (max-width: 480px) {
  .pc_tcenter {
    text-align: left;
  }
}

.tcenter_balance {
  text-align: center;
  text-wrap: balance;
  word-break: keep-all;
}

.fukidashi {
  text-align: center;
  margin-bottom: 30px;
  position: relative;
  z-index: 4;
}
.fukidashi.type1 {
  text-align: left;
  margin-bottom: 15px;
}
.fukidashi.mini {
  text-align: left;
}
.fukidashi.mini span {
  font-size: 1.2rem;
}
@media all and (max-width: 639px) {
  .fukidashi.mini {
    margin-bottom: 15px;
  }
  .fukidashi.mini span {
    padding: 5px 12px;
  }
}
.fukidashi span {
  display: inline-block;
  position: relative;
  color: #fff;
  font-size: 1.8rem;
  background: #2C3D47;
  padding: 10px 20px;
  border-radius: 30px;
}
@media all and (max-width: 639px) {
  .fukidashi span {
    font-size: 1.3rem;
  }
}
.fukidashi span:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #2C3D47;
}

.fukidashi-mini {
  margin-bottom: 25px;
  margin-top: -30px;
}
.fukidashi-mini span {
  display: inline-block;
  position: relative;
  background: #eb0b0b;
  padding: 3px 15px;
  min-width: 180px;
  border-radius: 40px;
  text-align: center;
  color: #fff;
}
.fukidashi-mini span:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 30px;
  border: 10px solid transparent;
  border-top: 10px solid #eb0b0b;
}

/* category_tab
----------------------------------*/
.innerB {
  width: 100%;
  margin: auto;
  background: #fff;
  margin-top: 50px;
  box-sizing: border-box;
}
.innerB.innerB_news {
  border-top: none;
}
@media all and (max-width: 639px) {
  .innerB {
    padding: 30px 10px;
  }
}

.category_tab {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 50px auto 0;
  position: relative;
  z-index: 1;
}
.category_tab li {
  width: 13%;
  margin: 0 0.5%;
  cursor: pointer;
}
.category_tab li:last-child {
  margin-right: 20px;
}
.category_tab li.active {
  color: #555;
}
.category_tab li.active .inner {
  transform: scale(1);
  background-color: #e6f3ef;
  border: 1px solid #2C3D47;
  position: relative;
}
.category_tab li.active .inner:after {
  position: absolute;
  content: "";
  width: 10px;
  height: 20px;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: -20px;
  border-top: 20px solid #2C3D47;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
}
.category_tab li .inner {
  background-color: #fff;
  border: 1px solid #fff;
  transform: scale(0.9);
  transition: 0.4s;
  z-index: 1;
  position: relative;
  display: block;
  padding: 20px;
  z-index: 1;
  border-radius: 10px;
}
.category_tab li .inner .category_icon {
  text-align: center;
  margin: 0 auto;
}
.category_tab li .inner .category_icon img {
  width: 100%;
  height: 51px;
  -o-object-fit: contain;
     object-fit: contain;
}
.category_tab li .inner p {
  font-size: 0.9em;
}
@media all and (max-width: 896px) {
  .category_tab li {
    margin-left: 2px;
    width: 31%;
  }
  .category_tab li:nth-child(3n) {
    margin-right: 0px;
  }
}
@media all and (max-width: 639px) {
  .category_tab {
    margin: 0 auto;
  }
  .category_tab li {
    margin-bottom: 10px;
  }
  .category_tab li:last-child {
    margin-right: 2px;
  }
  .category_tab li .inner {
    padding: 10px;
  }
  .category_tab li .inner .category_icon {
    margin: auto;
  }
  .category_tab li .inner .category_icon img {
    width: 100%;
    height: 25px;
  }
  .category_tab li .inner p {
    font-size: 0.8em;
  }
  .category_tab li.active {
    color: #555;
  }
  .category_tab li.active:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 310px;
    top: 0px;
    left: 0%;
  }
  .category_tab li.active .inner {
    transform: scale(1);
    background-color: #e6f3ef;
    border: 1px solid #2C3D47;
    position: relative;
  }
  .category_tab li.active .inner:after {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    left: 50%;
    right: auto;
    margin: 0 auto;
    bottom: -29%;
    transform: translateX(-50%);
    border-right: 10px solid transparent;
    border-top: 10px solid #398da2;
    border-bottom: 10px solid transparent;
  }
  .category_tab li.active .inner .category_icon img {
    width: 100%;
    height: 25px;
  }
}

.top_category {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 50px auto 0;
  position: relative;
  z-index: 1;
}
.top_category li {
  width: 13%;
  margin: 0 0.5%;
  cursor: pointer;
}
.top_category li:last-child {
  margin-right: 20px;
}
.top_category li a .inner {
  background-color: #fff;
  border: 1px solid #fff;
  transform: scale(0.9);
  transition: 0.4s;
  z-index: 1;
  position: relative;
  display: block;
  padding: 20px;
  z-index: 1;
  border-radius: 10px;
}
.top_category li a .inner .category_icon {
  text-align: center;
  margin: 0 auto;
}
.top_category li a .inner .category_icon img {
  width: 100%;
  height: 51px;
  -o-object-fit: contain;
     object-fit: contain;
}
.top_category li a .inner p {
  font-size: 0.9em;
}
@media all and (max-width: 896px) {
  .top_category li {
    margin-left: 2px;
    width: 31%;
  }
  .top_category li:nth-child(3n) {
    margin-right: 0px;
  }
}
@media all and (max-width: 639px) {
  .top_category {
    margin: 0 auto;
  }
  .top_category li {
    margin-bottom: 10px;
  }
  .top_category li:last-child {
    margin-right: 2px;
  }
  .top_category li .inner {
    padding: 10px;
  }
  .top_category li .inner .category_icon {
    margin: auto;
  }
  .top_category li .inner .category_icon img {
    width: 100%;
    height: 25px;
  }
  .top_category li .inner p {
    font-size: 0.8em;
  }
  .top_category li.active {
    color: #555;
  }
  .top_category li.active:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 310px;
    top: 0px;
    left: 0%;
  }
  .top_category li.active .inner {
    transform: scale(1);
    background-color: #e6f3ef;
    border: 1px solid #2C3D47;
    position: relative;
  }
  .top_category li.active .inner:after {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    left: 50%;
    right: auto;
    margin: 0 auto;
    bottom: -29%;
    transform: translateX(-50%);
    border-right: 10px solid transparent;
    border-top: 10px solid #398da2;
    border-bottom: 10px solid transparent;
  }
  .top_category li.active .inner .category_icon img {
    width: 100%;
    height: 25px;
  }
}

.panel {
  display: none;
}

.kiritori {
  height: 1px;
  border-top: 1px dashed rgba(235, 11, 11, 0.4);
  margin: 70px auto;
  width: 80%;
  display: block;
}
@media all and (max-width: 639px) {
  .kiritori {
    margin: 45px auto;
  }
}

/*recruit
-------------------------------------*/
.recruit_2_item {
  border-top: 3px solid #111;
  margin-bottom: 60px;
}
.recruit_2_item .inner {
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  flex-wrap: wrap;
}
@media all and (max-width: 639px) {
  .recruit_2_item .inner {
    display: block;
  }
}
.recruit_2_item .inner .in_left {
  width: 21%;
}
.recruit_2_item .inner .in_left p {
  color: #111;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 32px;
  line-height: 1.6em;
}
.recruit_2_item .inner .in_left p span {
  display: block;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 10px;
}
@media all and (max-width: 639px) {
  .recruit_2_item .inner .in_left {
    width: 100%;
  }
  .recruit_2_item .inner .in_left p {
    font-size: 1.7rem;
  }
  .recruit_2_item .inner .in_left p span {
    font-size: 1.4rem;
  }
}
.recruit_2_item .inner .in_right {
  width: 75%;
  margin-left: auto;
}
@media all and (max-width: 639px) {
  .recruit_2_item .inner .in_right {
    width: 100%;
  }
}
.recruit_2_item .inner .in_right table {
  width: 100%;
}
.recruit_2_item .inner .in_right table th,
.recruit_2_item .inner .in_right table td {
  font-family: "YakuHanJP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background: none;
  border: none;
  border-bottom: 1px dashed #111;
  color: #111;
  font-weight: 500;
  letter-spacing: 0;
  padding: 20px 15px;
}
@media all and (max-width: 639px) {
  .recruit_2_item .inner .in_right table th,
  .recruit_2_item .inner .in_right table td {
    display: block;
  }
}
.recruit_2_item .inner .in_right table th.non,
.recruit_2_item .inner .in_right table td.non {
  border-bottom: none;
}
.recruit_2_item .inner .in_right table th {
  white-space: nowrap;
}
@media all and (max-width: 639px) {
  .recruit_2_item .inner .in_right table th {
    text-align: left;
    background: rgba(238, 238, 238, 0.5);
  }
}

.rec-board {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1200px;
}
.rec-board::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #fefefe;
  border-radius: 10px;
  border: 30px solid rgba(235, 11, 11, 0.3);
  z-index: -1;
}
.rec-board::after {
  position: absolute;
  content: "";
  width: 250px;
  height: 52px;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25585/binder.png) repeat-x center top/contain;
}
.rec-board .inner {
  padding: 110px 60px 70px;
}
@media all and (max-width: 800px) {
  .rec-board::before {
    border-radius: 5px;
    border: 15px solid rgba(245, 142, 126, 0.4);
  }
  .rec-board::after {
    width: 120px;
    height: 25px;
    top: 5px;
  }
  .rec-board .inner {
    padding: 60px 25px 30px;
  }
}
@media all and (max-width: 639px) {
  .rec-board::before {
    border: 5px solid rgba(245, 142, 126, 0.4);
  }
  .rec-board .inner {
    padding: 50px 15px 30px;
  }
}
.announce{
  text-align: center;
}
.announce h2{
  letter-spacing: 0.5em;
  font-size: 2.0em;
}


/* .anchor-adjust {
  position: relative;
}

.anchor-adjust::before {
  content: "";
  display: block;
  margin-top: -150px;
  visibility: hidden;
} */
 .tcenter_pc{
  text-align: center;
 }
 @media all and (max-width: 800px) {
  .tcenter_pc{
    text-align: left;
   }
 }

 #header_nav .dropdown {
  display: none;
  position: absolute;
  left: 0;
  top: 100%; /* 親要素の高さに合わせて下端から表示 */
  z-index: 999;
  padding-top: 10px; /* 見た目の調整とカーソルの移動をスムーズにするための余白 */
}