.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

.mainvisual{
  position: relative;
  display: flex;
  flex-direction: column;
  align-content: center;
  max-width: 1280px;
  margin: auto;
  overflow: hidden;
}

.mainvisual .title{
  position: absolute;
  top: 0;
  left: 0;
  margin: 115px 0 0 140px;
  padding: 0;
  color: #009933;
  font-size: 32px;
  line-height: 1.8;
  z-index: 11;
}

.mainvisual .read{
  position: absolute;
  width: 580px;
  top: 0;
  left: 0;
  margin: 195px 0 0 140px;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 2px;
  z-index: 10;
}
.mainvisual .mainvisual-swiper{
  position: relative;
  width: 100%;
  height: 430px;
}
.mainvisual .swiper-wrapper{}

.mainvisual .swiper-slide{
  width: 100%;
  height: 100%;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
}
.mainvisual .swiper-slide.swiper-slide-bg-01{
  background-image: url(../img/mainvisual_img01.png);
}
.mainvisual .swiper-slide.swiper-slide-bg-02{
  background-image: url(../img/mainvisual_img02.png);
}
.mainvisual .swiper-slide.swiper-slide-bg-03{
  background-image: url(../img/mainvisual_img03.png);
}
.mainvisual .swiper-slide.swiper-slide-bg-04{
  background-image: url(../img/mainvisual_img04.png);
}
.mainvisual .swiper-slide.swiper-slide-bg-05{
  background-image: url(../img/mainvisual_img05.png);
}

.modal_on {
  cursor: pointer;
}
.circle {
  padding: 30px 0 60px;
  border-bottom: 2px solid #eee;
  overflow: hidden;
}
.circle .inner {
  position: relative;
  width: 725px;
  height: 448px;
  margin: 0 auto;
}

.circle_item{
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.circle_item img{
  width: 100%;
  margin: 0 auto;
}

.circle_item:nth-child(2) img{
  visibility: hidden;
  opacity: 0;
  transform:rotate(-15deg);/* 円グラフ初回傾きスクロールフェードで元の位置に */
  transform-origin:center;
}

.circle_item:nth-child(3) img{
  visibility: hidden;
  opacity: 0;
}


/* アニメーション用 */
.is-circle-display .circle_item:nth-child(2) img{
  animation-name: circleFadeInRotate;
  animation-timing-function: ease-in-out;
  animation-duration: 2s;
  animation-fill-mode: forwards;
}
.is-circle-display .circle_item:nth-child(3) img{
  animation-name: circleFadeIn;
  animation-timing-function: ease-in-out;
  animation-duration: 2s;
  animation-delay: 1.3s;
  animation-fill-mode: forwards;
}

@keyframes circleFadeIn {
  0% {
    visibility: hidden;
    opacity: 0;
  }
  50% {
    visibility: visible;
    opacity: 0.5;
  }
  100% {
    visibility: visible;
    opacity: 1;
  }
}

@keyframes circleFadeInRotate {
  0% {
    visibility: hidden;
    opacity: 0;
    transform: rotate(-15deg);
  }
  50% {
    visibility: visible;
    opacity: 0.5;
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: rotate(0deg);
  }
}

.middleheadtit {
  text-align: center;
  padding: 30px 0 0px;
}

.middleheadtit>div {
  position: relative;
  padding: 0 50px;
  display: inline-block;
}

.middleheadtit>div:before {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background: #333;
  position: absolute;
  left: 0;
  top: 50%;
}

.middleheadtit>div:after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background: #333;
  position: absolute;
  right: 0;
  top: 50%;
}

.middleheadtit h2 {
  font-size: 32px !important;
}

.middleheadtit h2 span {
  color: #009933;
}

.middleheader {
  background: #FFFFFF;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);
}

.middleheader.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 200;
}

.middleheader ul {
  display: flex;
  justify-content: center;
}

.middleheader ul li {
  width: 174px;
  text-align: center;
  margin: 0 15px;
}

.middleheader ul li img {
  max-width: 140px;
}

.middleheader ul li a {
  height: 87px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  position: relative;
}

.middleheader ul li.on a:before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: transparent;
  left: 0;
  bottom: 0;
  position: absolute;
}
/* コンテンツナビゲーションのアクティブ時の色 */
.middleheader ul li.middleheader-item-lunaluna.on a:before {
  background: #000031;
}

.middleheader ul li.middleheader-item-boshimo.on a:before {
  background: #e4007f;
}

.middleheader ul li.middleheader-item-carada.on a:before {
  background: #fdf251;
}

.middleheader ul li.middleheader-item-lunaonline.on a:before {
  background: #333333;
}

.middleheader ul li.middleheader-item-caradasola.on a:before {
  background: #57abdb;
}

.area {
  margin: 50px 0;
}

.area.luna {}

.cinner {
  width: 800px;
  margin: 0 auto;
}

.cinner.anc {
  margin-top: -120px;
  padding-top: 120px;
}

.clogo {
  text-align: center;
}

.boshimo .clogo {
  padding-bottom: 15px;
}

.lunaonline .clogo {
  width: auto;
  font-weight: bold;
}

.ctit {
  font-weight: bold;
  font-size: 20px;
  line-height: 170%;
  text-align: center;
  letter-spacing: 1.3px;
  padding: 0;
  border: none;
  margin: 30px 0 24px;
  color: #333333;
}

.carada .ctit {
  margin-top: 40px;
}
.carada .device-img{
  max-width: 180px;
}

.cread {
  text-align: center;
}

.img1 {
  text-align: center;
  margin: 30px 0;
}

.phones {
  display: flex;
  text-align: center;
  justify-content: center;
  padding: 8px 0 40px;
}

.phones li {
  width: 170px;
  margin: 0 20px;
}

.phones li .img {
  padding: 10px 0;
}

.phones p {
  font-size: 12px;
}

.ftit {
  text-align: center;
  background: #FADBDF;
  font-size: 20px;
  border: none;
  font-weight: 700;
  padding: 7px 0;
  margin-bottom: 20px;
  color: #000031;
}

.lunaonlinebtm .ftit {
  background: #DCE3F2;
}

.bo .ftit {
  background: #E4007F;
  color: #fff;
}

.colrim {
  display: flex;
  padding: 10px 0 50px;
}

.colrim .r {
  flex: 1;
  margin-left: 30px;
}

.read2 {
  margin-bottom: 30px;
}

.sml {
  font-size: 10px;
  color: #7A7A7A;
}

.sml.mb2 {
  margin: 10px 0 50px;
}

.fem {
  margin-bottom: 42px;
}

.fem p {
  font-size: 13px;
}

.gray {
  color: #7a7a7a;
}

.f13 {
  font-size: 13px;
}

.imgtb {
  padding: 18px 0 25px;
}

.fem .img {
  max-width: 665px;
  margin: 0 auto;
  padding: 40px 0 48px;
}

.fem .bt {
  display: flex;
  justify-content: center;
  width: 105%;
  margin-left: -2.5%;
}

.fem .bt li {
  width: 390px;
  height: 243px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  color: #fff;
  align-items: center;
  margin: 0 10px;
}

.fem .bt li p {
  text-align: center;
  width: 100%;
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 20px;
  min-height: 50px;
}

.fem .bt li:nth-child(1) {
  background: url(../img/abg1.png) center no-repeat;
}

.fem .bt li:nth-child(2) {
  background: url(../img/abg2.png) center no-repeat;
}

.linkstyle {
  font-size: 16px;
  height: 50px;
  display: inline-block;
  line-height: 49px;
  color: #00A73C !important;
  border: 1px solid #00A73C;
  position: relative;
  padding: 0 40px;
}

.linkstyle:before {
  content: "";
  display: block;
  width: 35px;
  height: 1px;
  background: #00A73C;
  position: absolute;
  right: -17px;
  top: 50%;
}

.linkstyle:after {
  content: "";
  display: block;
  width: 8px;
  height: 1px;
  background: #00A73C;
  position: absolute;
  transform: rotate(45deg);
  right: -17px;
  top: 50%;
  margin-top: -3px;
}

.white .linkstyle {
  color: #fff !important;
  border: 2px solid #fff;
  padding: 0 80px;
}

.white .linkstyle:before {
  background: #fff;
  width: 65px;
}

.white .linkstyle:after {
  background: #fff;
}

.fem .cap {
  color: #7A7A7A;
  font-size: 10px;
  margin: 15px 0 0 10px;
}

.doc_img {
  padding: 33px 0;
}

.doc_img ul {
  display: flex;
  justify-content: center;
  align-items: center;
}

.doc_img li {
  margin: 0 22px;
}

.clist {
  margin-bottom: 50px;
}

.clist.mb3 {
  margin-bottom: 20px;
  padding-top: 20px;
}

.clist.sola {
  margin: 40px 0;
}

.clist.sola li {
  width: 460px;
}

.clist ul {
  display: flex;
  justify-content: center;
  text-align: center;
}

.clist ul li {
  box-sizing: border-box;
  padding: 0 15px;
  width: 31%;
}

.clist ul li img {
  width: 160px;
}

.clist ul li p {
  font-size: 14px;
  font-weight: 700;
  margin: 7px 0;
}

.clist ul li span {
  font-size: 12px;
}

.cases {
  background: #f8f8f8;
  padding: 35px 50px;
  margin-bottom: 45px;
}

.casetit {
  text-align: center;
  margin-bottom: 27px;
}

.casetit h3 {
  border: none;
  font-size: 20px;
}

.casetit>div {
  position: relative;
  padding: 0 50px;
  display: inline-block;
}

.casetit>div:before {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background: #333;
  position: absolute;
  left: 0;
  top: 50%;
}

.casetit>div:after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background: #333;
  position: absolute;
  right: 0;
  top: 50%;
}

.cases .box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.cases .box h4 {
  width: 100%;
  font-size: 20px;
  color: #009933;
  margin-bottom: 20px;
}

.cases .box .img {
  width: 340px;
  margin-right: 20px;
}

.cases .box .r {
  flex: 1;
}

.buttons ul {
  display: flex;
  justify-content: center;
}

.buttons li {
  margin: 0 35px;
}

.area {
  border-bottom: 1px solid #ccc;
  padding-bottom: 75px;
}

.area.caradasola {
  margin-bottom: 0;
  border: none;
  padding-bottom: 110px;
}

.boshilist {
  padding: 32px 0 43px;
  display: flex;
  justify-content: center;
}

.boshilist li {
  width: 180px;
  margin: 0 14px;
}

.boshilist li:nth-child(1) {
  margin-left: 0;
  margin-right: 20px;
}

.boshilist li:last-child(1) {
  margin-right: 0;
}

.boshilist li img{
  width: 180px;
}

.boshilist h4 {
  text-align: center;
  margin: 4px 0 5px;
  color: #E4007F;
}

.boshilist p {
  font-size: 12px;
  line-height: 2;
}

.cols3b {
  display: flex;
  justify-content: space-between;
  padding: 10px 0 0;
  margin-bottom: 50px;
}

.cols3b li {
  width: 240px;
}

.cols3b li h4 {
  margin: 15px 0 10px;
  letter-spacing: -.1px;
}

.cols3b li p {
  font-size: 12px;
}

.carada_col {
  display: flex;
  justify-content: center;
  width: 600px;
  margin: 0 auto;
  padding: 10px 0 32px;
}

.carada_col .r {
  flex: 1;
  margin-left: 24px;
}

.carada_col .r p {
  line-height: 1.9;
}

.carabox {
  margin-bottom: 50px;
}

.carabox .ftit {
  background: #FFF000;
  padding: 11px 0;
  line-height: 1.4;
}

.tcols {
  display: flex;
  justify-content: space-between;
  padding: 4px 0 0;
}

.tcols .l {
  flex: 1;
  padding: 5px 0 0;
}

.tcols .img {
  margin-right: -10px;
  margin-left: 20px;
}

.tcols .l p {
  line-height: 2;
  font-size: 13px;
}

.tcols .l span {
  line-height: 2;
  font-size: 10px;
  color: #7A7A7A;
  margin-top: 5px;
  display: block;
}

p.mb {
  margin: -25px 0 40px;
}

.carabox2 {
  margin: 75px 0 0;
}

.carabox2 .img {
  text-align: center;
}

.carabox2 p {
  padding: 10px 0 30px;
}

.carada.img {
  text-align: center;
  padding: 12px 0;
}

.lunaonimg1 {
  width: 640px;
  margin: 0 auto;
  padding: 30px 0 50px;
}

.lunaonimg1 p {
  font-size: 13px;
  margin: 30px 0 5px;
}

.lunaonimg1 span {
  font-size: 10px;
  color: #7A7A7A;
}

.lunaonlinebtm {
  margin-bottom: 40px;
}
.modal {
  background: rgba(0,0,0,.2);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  display: none;
}
.modal .inner {
  max-width: 1024px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  padding: 60px 127px 70px;
  box-sizing: border-box;
  width: 100%;
}
.modal .inner h2 {
  text-align: center;
  margin-bottom: 30px;
}
.modal .inner h3 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 16px;
  border: none;
  line-height: 1.5;
}
.modal .inner h4 {
  font-size: 20px;
  margin-top: 24px;
}
.modal .sec {
  display: none;
}
.modal .close {
  cursor: pointer;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 27px;
  top: 30px;
}
.modal .close:before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #333;
  transform: rotate(45deg);
  top: 14px;
  position: absolute;
}
.modal .close:after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #333;
  transform: rotate(-45deg);
  top: 14px;
  position: absolute;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  p {
    font-size: 13px;
  }

  .mainvisual{
    max-width: 100%;
  }

  .mainvisual .title{
    top: 50%;
    margin: 0;
    font-size: 16px;
    margin: 0;
    padding: 0 30px;
    transform: translate(0,-50%);
    text-align: left;
    text-shadow:0 0 1em #fff;
  }

  .mainvisual .read{
    position: relative;
    width: 100%;
    left: 0;
    padding: 0 20px;
    margin: 0;
    font-size: 13px;
    text-align: left;
    transform: translate(0);
    box-sizing: border-box;
  }
  .mainvisual .mainvisual-swiper{
    height: 232px;
    min-height: 232px;
    margin: 0 0 15px;
  }

  .mainvisual .swiper-wrapper{
    min-height: 232px;
  }

  .mainvisual .swiper-slide{
  }
  .mainvisual .swiper-slide.swiper-slide-bg-01{
    background-image: url(../img/sp/mainvisual_img01.png);
  }
  .mainvisual .swiper-slide.swiper-slide-bg-02{
    background-image: url(../img/sp/mainvisual_img02.png);
  }
  .mainvisual .swiper-slide.swiper-slide-bg-03{
    background-image: url(../img/sp/mainvisual_img03.png);
  }
  .mainvisual .swiper-slide.swiper-slide-bg-04{
    background-image: url(../img/sp/mainvisual_img04.png);
  }
  .mainvisual .swiper-slide.swiper-slide-bg-05{
    background-image: url(../img/sp/mainvisual_img05.png);
  }

  .circle {
    min-height: 312px;
    padding: 40px 20px;
    border-bottom: 2px solid #eee;
  }
  .circle .inner {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 312px;
    margin: 0 auto;
  }
  .circle_item{
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }
  .circle_item img{
    margin: 0 auto;
  }
  .middleheadtit {
    text-align: center;
    padding: 14px 0 7px;
  }
  .middleheadtit>div {
    position: relative;
    padding: 0 50px;
    display: inline-block;
  }
  .middleheadtit>div:before {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #333;
    position: absolute;
    left: 0;
    top: 50%;
  }
  .middleheadtit>div:after {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #333;
    position: absolute;
    right: 0;
    top: 50%;
  }
  .middleheadtit h2 {
    font-size: 18px !important;
  }
  .middleheadtit h2 span {
    color: #009933;
  }
  .middleheader {
    background: #FFFFFF;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
  }
  .middleheader.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 200;
  }
  .middleheader.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 200;
  }
  /* ハンバーガーメニューopen時に追従コンテンツナビゲーションがかぶらないように */
  .is--menuOpen .middleheader.fixed {
    z-index: 99;
  }
  .middleheader ul li {
    width: 130px;
    text-align: center;
    margin: 0;
  }
  .middleheader ul li img {
    width: 100%;
    max-width: 80%;
    height: auto;
  }
  .middleheader ul li a {
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    position: relative;
  }
  .middleheader ul li.on a:before {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background: #000031;
    left: 0;
    bottom: 0;
    position: absolute;
  }
  .area {
    margin: 50px 0;
  }
  .area.luna {}
  .cinner {
    width: auto;
    margin: 0 20px;
  }
  .cinner.anc {
    margin-top: -80px;
    padding-top: 80px;
  }
  .clogo {
    text-align: center;
    width: 180px;
    margin: 0 auto 20px;
  }
  .boshimo .clogo {
    padding-bottom: 0;
  }
  .lunaonline .clogo {
    font-size: 18px;
  }
  .ctit {
    font-size: 14px;
    margin: 6px 0 26px;
    line-height: 1.5;
  }
  .carada .ctit {
    margin-top: 10px;
  }
  .carada .device-img{
    max-width: 170px;
    margin: 0 auto;
  }
  .cread {
    text-align: left;
  }
  .img1 {
    text-align: center;
    margin: 30px 0;
  }
  .phones {
    display: block;
    justify-content: center;
    padding: 8px 0 40px;
  }
  .phones li {
    width: 100%;
    margin: 0 0 10px;;
    flex-wrap: wrap;
    display: flex;
    position: relative;
  }
  .phones li .img {
    padding: 0;
    order: 1;
    width: 170px;
  }
  .phones h4 {
    order: 2;
    flex: 1;
    position: absolute;
    display: block;
    width: calc(100% - 170px);
    top: 120px;
    right:0;
    transform: translateX(5px);
  }
  .phones p {
    font-size: 12px;
    order: 3;
    flex: 1;
    position: absolute;
    display: block;
    width: calc(100% - 170px);
    top: 150px;
    right:0;
    transform: translateX(5px);
  }

  .phones li:nth-child(2) .img {
    order: 3;
    margin-left: auto;
  }
  .phones li:nth-child(2) .img img {
  }
  .phones li:nth-child(1) h4,
  .phones li:nth-child(1) p ,
  .phones li:nth-child(3) h4,
  .phones li:nth-child(3) p {
    text-align: left;
  }
  .phones li:nth-child(2) h4 {
    order: 1;
    left: 0;
    text-align: right;
    transform: translateX(-5px);
  }
  .phones li:nth-child(2) p {
    order: 2;
    left: 0;
    text-align: right;
    transform: translateX(-5px);
  }
  .ftit {
    font-size: 14px;
    padding: 10px 10px;
    line-height: 1.5;
  }
  .colrim {
    display: block;
    padding: 10px 0 0px;
  }
  .colrim .r {
    flex: 1;
    margin-left: 0px;
    margin-top: 20px;
  }
  .colrim .img{
    text-align: center;
  }
  .read2 {
    margin-bottom: 30px;
  }
  .sml {
    font-size: 13px;
  }
  .sml.mb2 {
    margin: 10px 0 30px;
  }
  .fem {
    margin-bottom: 42px;
  }
  .fem p {
    font-size: 13px;
  }
  .gray {
    color: #7a7a7a;
  }
  .f13 {
    font-size: 13px;
  }
  .imgtb {
    padding: 0px 0 5px;
  }
  .fem .img {
    max-width: 100%;
    padding: 25px 0 30px;
  }
  .fem .bt {
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    margin-left: 0;
  }
  .fem .bt li {
    width: 100%;
    height: 55vw;
    margin: 0 0 20px;
  }
  .fem .bt li p {
    text-align: center;
    width: 100%;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 16px;
    min-height: 0px;
  }
  .fem .bt li:nth-child(1) {
    order: 2;
    background: url(../img/abg1.png) center no-repeat;
    background-size: cover;
  }
  .fem .bt li:nth-child(2) {
    order: 1;
    background: url(../img/abg2.png) center no-repeat;
    background-size: cover;
  }
  .linkstyle {
    font-size: 12px;
    height: 35px;
    line-height: 30px;
    position: relative;
    padding: 0 20px;
    box-sizing: border-box;
  }
  .linkstyle:before {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #00A73C;
    position: absolute;
    right: -17px;
    top: 50%;
  }
  .linkstyle:after {
    content: "";
    display: block;
    width: 8px;
    height: 1px;
    background: #00A73C;
    position: absolute;
    transform: rotate(45deg);
    right: -17px;
    top: 50%;
    margin-top: -3px;
  }
  .white .linkstyle {
    color: #fff !important;
    border: 2px solid #fff;
    padding: 0 60px;
  }
  .white .linkstyle:before {
    width: 48px;
  }
  .fem .cap {
    font-size: 13px;
    margin: 0;
  }
  .doc_img {
    padding: 30px 0 20px;
  }
  .doc_img ul {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .doc_img li {
    margin: 0 5px;
  }
  .clist {
    margin-bottom: 30px;
  }
  .clist.mb3 {
    margin-bottom: 10px;
    padding-top: 0px;
  }
  .clist.sola {
    margin: 40px 0;
  }
  .clist.sola li {
    width: 100%;
  }
  .clist ul {
    display: block;
  }
  .clist ul.notblock {
    display: flex;
    justify-content: space-between;
  }
  .clist ul.notblock li {
    width: 32%;
    margin-bottom: 0;
  }
  .clist ul.notblock li * {
    width: 100% !important;
    text-align: center;
  }
  .clist ul.notblock li .tits {
    line-height: 1.5;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .clist ul li {
    box-sizing: border-box;
    padding: 0;
    width: 100%;
    text-align: left;
    display: block;
    position: relative;
    margin-bottom: 22px;
  }
  .clist ul li:after {
    content: "";
    clear: both;
    display: block;
}
  .clist ul li .img {
    width: 120px;
    float: left;
  }
  .clist ul li img {
    width: 100%;
  }
  .clist ul li p {
    width: calc(100% - 140px);
    float: right;
    margin-top: 0;
  }
  .clist ul li span {
    width: calc(100% - 140px);
    float: right;
    display: block;
  }
  .cases {
    padding: 30px 20px;
    margin-bottom: 30px;
  }
  .casetit {
    text-align: center;
    margin-bottom: 10px;
  }
  .casetit h3 {
    border: none;
    font-size: 18px;
  }
  .casetit>div {
    position: relative;
    padding: 0 50px;
    display: inline-block;
  }
  .casetit>div:before {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #333;
    position: absolute;
    left: 0;
    top: 50%;
  }
  .casetit>div:after {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #333;
    position: absolute;
    right: 0;
    top: 50%;
  }
  .cases .box {
  }
  .cases .box h4 {
    order: 2;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 10px;
  }
  .cases .box .img {
    order: 1;
    width: 100%;
    margin: 0 auto 20px;
    text-align: center;
    aspect-ratio: 590/413;
    overflow: hidden;
  }
  .cases .box .img img{
    transform: translateY(-14%); /* 画像位置調整する場合は個別指定が必要 */
  }
  .cases .box .r {
    flex: 1;
    order: 3;
  }
  .buttons ul {
    display: block;
    text-align: center;
  }
  .buttons li {
    margin: 0 auto 10px;
  }
  .area {
    border-bottom: 1px solid #ccc;
    padding-bottom: 30px;
  }
  .area.caradasola {
    margin-bottom: 0;
    border: none;
    padding-bottom: 40px;
  }
  .boshilist {
    padding: 0 0 10px;
    display: block;
  }
  .boshilist li {
    width: 100%;
    margin: 0 auto 20px;
  }

  .boshilist li img{
    max-width: 170px;
  }

  .boshilist li:after {
    content: "";
    display: block;
    clear: both;
  }
  .boshilist li:nth-child(1) {
    margin: 0 auto 20px;
    text-align: center;
  }
  .boshilist li:nth-child(2) img,
  .boshilist li:nth-child(3) img,
  .boshilist li:nth-child(4) img {
    float: left;
    width: 120px;
    margin-right: 20px;
  }
  .boshilist h4 {
    text-align: left;
    margin: 0 0 5px;
    float: left;
    width: calc(100% - 140px);
  }
  .boshilist p {
    font-size: 13px;
    line-height: 1.7;
    float: left;
    width: calc(100% - 140px);
  }
  .cols3b {
    display: block;
    padding: 0;
    margin-bottom: 30px;
  }
  .cols3b img {
    width: 100%;
  }
  .cols3b li {
    width: 100%;
    margin-bottom: 25px;
  }
  .cols3b li h4 {
    margin: 15px 0 10px;
    letter-spacing: -.1px;
  }
  .cols3b li p {
    font-size: 12px;
  }
  .carada_col {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 0 0 32px;
    text-align: center;
  }
  .carada_col .r {
    flex: 1;
    margin-top: 20px;
    margin-left: 0;
    text-align: left;
  }
  .carada_col .r p {
    line-height: 1.9;
  }
  .carabox {
    margin-bottom: 30px;
  }
  .carabox .ftit {
    background: #FFF000;
    padding: 11px 10px;
    line-height: 1.4;
  }
  .tcols {
    display: flex;
    justify-content: space-between;
    padding: 4px 0 0;
  }
  .tcols .l {
    flex: 1;
    padding: 5px 0 0;
  }
  .tcols .img {
    margin-right: -10px;
    margin-left: 20px;
  }
  .tcols .l p {
    line-height: 2;
    font-size: 13px;
  }
  .tcols .l span {
    line-height: 2;
    font-size: 10px;
    color: #7A7A7A;
    margin-top: 5px;
    display: block;
  }
  p.mb {
    margin: -25px 0 40px;
  }
  .carabox2 {
    margin: 75px 0 0;
  }
  .carabox2 .img {
    text-align: center;
  }
  .carabox2 p {
    padding: 10px 0 30px;
  }
  .carada.img {
    text-align: center;
    padding: 0 0 15px;
  }
  .lunaonimg1 {
    width: 100%;
    margin: 0 auto;
    padding: 30px 0 30px;
  }
  .lunaonimg1 p {
    font-size: 13px;
    margin: 30px 0 5px;
  }
  .lunaonimg1 span {
    font-size: 10px;
    color: #7A7A7A;
  }
  .lunaonlinebtm {
    margin-bottom: 40px;
  }


  .modal .inner {
    padding: 40px 10px 30px 20px;
    box-sizing: border-box;
    width: 90%;
    height: 90%;
  }
  .modal .inner h2 {
    text-align: center;
    max-width: 70%;
    margin: 20px auto 20px;
  }
  .modal .inner h3 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 12px;
    border: none;
    line-height: 1.5;
  }
  .modal .inner h4 {
    font-size: 14px;
    margin-top: 14px;
  }
  .modal .sec {
    display: none;
    overflow-y: auto;
    height: 100%;
    padding-right: 10px;
  }
  .modal .close {
    right: 14px;
    top: 14px;
  }
}

.fadeinup {
  opacity: 0;
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
  -webkit-transition: all 500ms ease-out;
  transition: all 500ms ease-out;
}

.fadeinup.scrollin {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

/* PCレイアウトのみの画像サイズ調整 */
.img-adjust {
  text-align: center;
}
.img-adjust img {
  max-width: 580px;
}

.middleheader ul li a img.pc{
  max-width: 168px!important;
}

/* 2023-02-17 */
@media only screen and (min-width: 1090px){
  .global__header__nav__search {
      width: 10%!important;
  }
  .global__header__nav__lang {
      width: 23%!important;
  }
}


@media screen and (min-width: 767px){
  .--br-del{
      display:none;
  }
  .mainvisual .title{
      margin: 40px 0 0 140px!important;
  }
  .mainvisual .read{
      margin: 120px 0 0 140px!important;
  }
}

@media screen and (max-width: 767px){
  .phones .content{
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
  }
  .phones li:nth-child(1) .img,
  .phones li:nth-child(3) .img{
      order:0;
  }
  .phones .content h4{
      margin-bottom: 8px;
  }
  .phones .content h4,
  .phones .content p{
      flex: 0;
      position: inherit;
      width: 100%;
  }
}
