@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/*----------------------------------------
　　　　　　　　　　  ALL
----------------------------------------*/
/*.top #content{padding: 0;}*/
#breadcrumb {display: none;}
.l-header__bar{display: none;}
.page-id-15 h1, .page-id-19 h1{display: none;}

/*----------------------------------------
　　　　　　　　　　共通項目
----------------------------------------*/
.c_white{color: #fff;}
.c_theme{color: #cc007b;}
.c_text{color: #333;}
.bg_white {background-color: #fff;}
.bg_theme{background-color: #cc007b;}
.bg_gray{background-color: #333;}
.pink-underline {
  text-decoration: underline;
  text-decoration-color: #cc007b;
  text-underline-offset: 3px;
}
.textBox{max-width: 600px;}
.text_bold{font-weight: bold;}
.mincho-font{
  font-family: 'Shippori Mincho', serif !important;
  font-weight: 700;
  font-style: normal;
}
.mobile-only {display: none;}
/*----------------------------------------
　　　　　　　　　　 HEADER
----------------------------------------*/
.page-id-12 .l-header{background-color: #f7e4f1 !important;}
.l-header{background-color: #fff !important;}
.ttl{font-size: 18px !important;}
.c-gnav li{color: #2e001c;}
.c-gnav li:nth-child(6) a{color: #fff !important;padding: 0 30px;background-color: #cc007b;font-size: 18px !important;height: 80%;top: 20%;}
.c-smallNavTitle{font-size: 12px;}
.c-gnav li a:hover{color: #cc007b;}
.c-gnav li:nth-child(6) a:hover{background-color: #c3ac80;color: #fff !important;}
h2, .ttl, .l-footer__nav li a{
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
  font-style: normal;
}
/*----------------------------------------
　　　　　　　circle_animation
----------------------------------------*/
.circle {
  position: absolute;
  left: 0;
  top: -25%;
  translate: -50% 0%;
}
/*----------------------------------------
　　　　　　　　メインビジュアル
----------------------------------------*/
.mv-container{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 550px;
  overflow: hidden;
}
.left-wrapper h2{
  font-family: "shippori-mincho", sans-serif !important;
  font-weight: 700;
  font-style: normal;
  font-size: 60px;
  position: relative;
  z-index: 99;
}
.catch-text01{
  color: #cc007b;
}
.catch-text02{
  color: #fff;
}

.mv-container .circle {
  position: absolute;
  left: calc(50% + 110px);
  top: -25%;
  translate: -50% 0%;
}

.circle1 {
  path {scale: 3.1;}
}

.circle2 {
  /* display: none; */
  left: calc(50% + 105px);
  top: -20%;
  path {
    scale: 3.1;
  }
}
.circle3{
  /* display: none; */
  left: calc(50% + 100px);
  top: -20%;
  path {
    scale: 3.0;
  }
}
.circle4{
  /* display: none; */
  left: calc(50% + 100px);
  top: -20%;
  path {
    scale: 2.9;
  }
}
/*----------------------------------------
　　　　　　　　　 OUR POLICY
----------------------------------------*/
.policy_container{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 550px;
  overflow: hidden;
}
.right_text_wrapper{
  position: relative;
  z-index: 99;
}
.policy_text_Box{
  font-family: "shippori-mincho", sans-serif !important;
  font-weight: 700;
  font-style: normal;
  font-size: 20px;
}
.policy_text_Box p{
  margin-bottom: 20px;
}
.left_circle {
  width: 500px;
  height: 500px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 20%;
  top: 0;
  translate: -20% 0%;
}
.circle5 {
  right: 0;
  top: 20%;
  opacity: .5;
    path {
    scale: 2.4;
  }
}
.circle6 {
  /* display: none; */
  right: 0;
  top: 25%;
  path {
    scale: 2.4;
  }
  opacity: .4;
}
.circle7{
  /* display: none; */
  right: 0;
  top: 20%;
  path {
    scale: 2.6;
  }
  opacity: .6;
}
/*----------------------------------------
　　　　　　　　  BRAND SLOGAN
----------------------------------------*/
.slogan_container{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 450px;
  overflow: hidden;
  position: relative;
}
.slogan_ttl{
  font-size: 40px;
  margin-bottom: 10px;
}
.slogan_sub_ttl{
  font-size: 24px;
  margin-bottom: 10px;
}
.circle8{
  /* display: none; */
  left: 10%;
  top: 0;
  path {
    scale: 2.5;
  }
}
.circle9{
  /* display: none; */
  left: 8%;
  top: 0;
  path {
    scale: 2.6;
  }
}
.circle10{
  /* display: none; */
  left: 9%;
  top: 10;
  path {
    scale: 2.4;
  }
}
.slogan_h2{
  line-height: 1 !important;
}
/*----------------------------------------
　　　　　　　　    BUSINESS
----------------------------------------*/
.panels {
  box-shadow: 0 0 35px 0 #0000001a;
  padding: 30px 50px;
  height: 200px;
  background-color: #fff;
  max-width: 900px;
  margin: 40px auto;
  border-left: 10px solid #cc007b;
}
.panels:hover {
  box-shadow: 0 7px 35px 0 #00000026;
  padding: 30px 50px;
}
/*----------------------------------------
　　　　　　　　   INNOVATION
----------------------------------------*/
.inn_panel_wrapper{
  padding-top: 20px !important;
  padding-bottom: 40px;
}
.inn_panel{
  position: absolute;
  margin-left: -3%;
  margin-top: 10px;
  z-index: 99;
  background-color: #fff;
  padding: 30px 20px;
  box-shadow: 10px 10px #cc007b;
}
/*----------------------------------------
　　　　　　　　PHOTO_SCROLL
----------------------------------------*/
ul{padding: 0 !important;}
@keyframes img-wrap {
  100% {
    transform: translateX(-100%);
  }
}
@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 4);
  padding-left: 80px;
}
}
.scroll-infinity__item>img {
  width: 100%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.p-mainVisual{
  position: relative;
}
.p-mainVisual__slideTitle{
  font-size: 60px;
  position: absolute;
  top: 400px;
  left: -50px;
  font-weight: bold;
  background-color: #fff;
  color: #222;
}
.scroll-infinity__list li:nth-child(2), .scroll-infinity__list li:nth-child(4), .scroll-infinity__list li:nth-child(6){
  padding-top: 40px;
}
/*----------------------------------------
　　　　　　　  　　COMPANY
----------------------------------------*/
.company_wrapper{
  max-width: 700px;
  margin: 0 auto;
}
.company_dt{
  border-left: solid 8px #cc007b;
  padding-left: 20px;
}
/*----------------------------------------
　　　　　　　　    FOOTER
----------------------------------------*/
.w-beforeFooter{margin: 0;}
.fmenu ul {list-style: none;margin: 0;padding: 0;display: flex;justify-content: space-between;gap: 20px;}
.fmenu li {text-align: center;align-items: start;}
.fmenu .menu-title{font-family: "futura-pt", sans-serif;font-weight: bold;color: #fff;}
.fmenu .menu-subtitle{font-weight: 700;color: #CC007B;margin-top: 4px;font-size: 12px;}
.footer01 img{margin-top: 35px;}
.footer01 p{margin-top: 20px;}
@media screen and (max-width: 768px) {
  .pc-link {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .sp-link {
    display: none;
  }
}
/*----------------------------------------
　　　　　　　　    CONTACT
----------------------------------------*/
.policy_wrapper{margin: 0 auto;text-align: center;margin-bottom: 30px;}
.cf7__list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 60px;
}
.cf7__list dt:nth-of-type(n + 2),
.cf7__list dd:nth-of-type(n + 2) {
  margin-top: 30px;
}
.cf7__list dt {
  width: 35%;
  padding-top: 15px;
}
.cf7__list dd {
  width: 65%;
}
/* 必須・任意 */
.cf7__required,
.cf7__optional {
  margin-right: 15px;
  padding: 6px 14px;
  color: #fff;
  font-size: 12px;
  vertical-align: 1px;
}
.cf7__required {
  background: #cc007b;
}
.cf7__optional {
  background: #878D8E;
}
/* input・textarea */
.cf7__list dd input[type="text"],
.cf7__list dd input[type="tel"],
.cf7__list dd input[type="email"],
.cf7__list dd textarea {
  width: 100%;
  padding: 15px 20px;
  background: #F4F4F4;
}
/* プレースホルダー */
/* Google Chrome / Safari / Mozilla Firefox / Opera */
.cf7__list dd input[type="text"]::placeholder,
.cf7__list dd input[type="tel"]::placeholder,
.cf7__list dd input[type="email"]::placeholder,
.cf7__list dd textarea::placeholder {
  color: #a5a5a5;
}
/* Microsoft Edge */
.cf7__list dd input[type="text"]::-ms-input-placeholder,
.cf7__list dd input[type="tel"]::-ms-input-placeholder,
.cf7__list dd input[type="email"]::-ms-input-placeholder,
.cf7__list dd textarea::-ms-input-placeholder {
  color: #a5a5a5;
}
/* Internet Explorer */
.cf7__list dd input[type="text"]:-ms-input-placeholder,
.cf7__list dd input[type="tel"]:-ms-input-placeholder,
.cf7__list dd input[type="email"]:-ms-input-placeholder,
.cf7__list dd textarea:-ms-input-placeholder {
  color: #a5a5a5;
}
/* 送信ボタン */
.cf7__button {
  padding-left: 72px;
  text-align: center;
  box-shadow: ;
}
.wpcf7-submit{
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2), 4px 4px 12px rgba(0, 0, 0, 0.1);
}
.wpcf7-submit:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  transition: box-shadow 0.3s ease;
  }
input[type="submit"] {
  width: 260px;
  height: 60px;
  background: #cc007b;
  color: #fff;
  transition: opacity .6s;
}
input[type="submit"]:hover {
  opacity: .6;
}
/* ajax-loader */
.wpcf7-spinner {
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .cf7__list dt {
    width: 100%;
    margin-bottom: 15px;
    padding-top: 0;
  }
  .cf7__list dd {
    width: 100%;
  }
  .cf7__list dd:nth-of-type(n + 2) {
    margin-top: 0;
  }
  /* 送信ボタン */
  input[type="submit"] {
    width: 180px;
    height: 56px;
  }
}
/*----------------------------------------
　　　　　　　　　レスポンシブ
----------------------------------------*/
@media (max-width: 1024px) {
  .section_title .swl-fz{font-size: 60px !important;}
  .inn_panel{margin-right: 20px;
    box-shadow: 5px 5px #cc007b;
    margin-left: -5%;
  }
  .cap_box {
    box-shadow: 0 0 35px 0 #0000001a;
  }
  .panels:hover {
    box-shadow: 0 7px 35px 0 #00000026;
  } 
  .cap_box_content {
    border: 2px solid #cc007b;
  }
}
@media screen and (max-width: 768px) {
  .mobile-only {
    display: inline;
  }
  .section_title .swl-fz{font-size: 48px !important;}
  .scroll-infinity__item {
    padding-left: 20px;
  }
  .pc_display{display: none;}
  .mobile-only{display: block;}
}







@media (max-width: 768px) {
  .fmenu ul{flex-wrap: wrap;}
  .top #content{padding: 0;}
  .left-wrapper_sp{margin-top: 48px;}
  /* その他のコンテンツスタイル */
  .content_sp {
    position: relative;
    display: block;
    z-index: 1; /* 背景より前に表示 */
    text-align: left;
    margin: 20px;
  }
  .content_sp h2{
    font-size: 48px;
    font-family: "shippori-mincho", sans-serif !important;
    font-weight: 700;
    font-style: normal;
  }


/* Container for the full section */
.mv-container_sp {
  position: relative;
  height: 40vh; /* Full viewport height */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  margin-top: 20px;
}
.policy-container_sp{
  position: relative;
  height: auto; /* Full viewport height */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  margin-top: 20px;
}

/* Background SVG animation */
.mv-container_sp_background {
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: -1; /* Make sure background is behind text */
}
.policy-container_sp_background{
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: -1; /* Make sure background is behind text */
}
.circle-wrapper_sp {
  position: relative;
  width: 100vw; /* 親要素が全画面幅を占めるように */
  height: 100vh; /* 親要素が全画面高さを占めるように */
}
.policy-container_sp_background .circle_sp {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 中央に配置 */
  width: 300px; /* 円の幅を450pxに指定 */
  height: 300px; /* 高さも450pxに指定 */
  opacity: 0.7; /* 透過度を少し下げて重なり感を強調 */
}
.mv-container_sp_background .circle_sp {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 中央に配置 */
  width: 450px; /* 円の幅を450pxに指定 */
  height: 450px; /* 高さも450pxに指定 */
  opacity: 0.7; /* 透過度を少し下げて重なり感を強調 */
}

.mv-container_sp_background .circle1_sp_1 {
  animation-delay: 0s;
  transform: translate(-50%, -50%) scale(2) translateX(16%) translateY(24%); /* 左にズラす */
}

.mv-container_sp_background .circle1_sp_2 {
  animation-delay: 2s;
  transform: translate(-50%, -50%) scale(2) translateX(22%) translateY(26%); /* 右にズラす */
}

.mv-container_sp_background .circle1_sp_3 {
  animation-delay: 4s;
  transform: translate(-50%, -50%) scale(2) translateX(19%) translateY(29%); /* 下にズラす */
}

@keyframes circle1 {
  0% {
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, -50%) scale(2); /* 拡大するアニメーション */
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
  }
}
.policy-container_sp_background .circle1_sp_1 {
  animation-delay: 0s;
  transform: translate(-50%, -50%) scale(1) translateX(8%) translateY(10%); /* 左にズラす */
}

.policy-container_sp_background .circle1_sp_2 {
  animation-delay: 2s;
  transform: translate(-50%, -50%) scale(1) translateX(2%) translateY(28%); /* 右にズラす */
}

.policy-container_sp_background .circle1_sp_3 {
  animation-delay: 4s;
  transform: translate(-50%, -50%) scale(1) translateX(19%) translateY(35%); /* 下にズラす */
}

@keyframes circle1 {
  0% {
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.5); /* 拡大するアニメーション */
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
  }
}
.catch-text01 {
  text-align: left;
  position: relative;
  z-index: 1;
}
    .l-header {
        position: relative !important; /* positionをrelativeに変更 */
        top: 0 !important; /* 上に行き過ぎないようにtop位置を0に */
    }
    .l-header__bar.pc_ {
        position: relative !important; /* positionをrelativeに変更 */
        top: 0 !important; /* 上に行き過ぎないようにtop位置を0に */
        margin-top: 0 !important;
        display: none; /* 不要な上マージンを削除 */
        
    }
    .c-infoBar{ display: none; }
}





@media (min-width: 1200px) {
  .wp-block-image.alignfull img {
    width: 100%;
    max-width: 2800px !important;
    height: auto;
  }
}

.page-id-527 p {
  line-height: 2;
}
.catch-text {
  font-size: 20px;
  font-weight: bold;
}
.page-id-527 .l-header, .page-id-527 .c-pageTitle, .page-id-527 .w-beforeFooter {
  display: none;
}
.page-id-527 .l-mainContent__inner>.post_content {
  margin: 0;
}

.page-id-527 .l-content {
  padding-top: 0;
  margin: 0 auto;
}
.page-id-527 .sp527-top-fullwrap {
  padding-top: 0 !important;
}
.voice-card-head-wrap{
  display: flex;
  gap: 0;
}
.voice-card-head,
.voice-card-head-02 {
  color: #fff;
  padding: 12px 32px;
  display: inline-block;
  margin: 0;
}
.voice-card-head {
  font-size: 24px;
}

.diagonal-wrapper {
  position: relative;
  overflow: visible;
}

.diagonal-banner {
  background: #fff;
  transform: skewY(-5deg);
  padding: 10px 16px;
  position: absolute;
  top: -70px;
  left: 0;
  width: 100%;
  z-index: 2;
}

.diagonal-content {
  text-align: center;
}

.diagonal-content p {
  font-size: 64px;
  font-weight: bold;
  margin: 0;
}

.diagonal-content .highlight {
  color: #d1007d;
}

.white-box {
  background: #fff;
  display: inline;
  padding: 6px 16px;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 8px;
}
.list-box li {
  margin: 1.5em 0;
}
.swell-block-fullWide__inner .bottom-img {
  margin-bottom: 0;
}
.skew-text-wrap {
  text-align: left !important;
}
.skew-text-wrap img {
  max-width: 500px;
}
.round-wrap {
  border-radius: 20px;
}
.round-wrap .swell-block-column p {
  margin: 0 auto;
}
.round-wrap p {
  max-width: 600px;
}
@media (max-width: 768px) {
  .diagonal-content p {
    font-size: 40px;
  }
  .skew-text-wrap img {
    width: 100%;
    height: auto;
  }
}




.fixed-button {
  display: none;
}

.page-id-527 .fixed-button {
  display: block;
  position: fixed;
  z-index: 999;
  right: 20px;
  bottom: 20px;
}

@media (max-width: 768px) {
  .page-id-527 .fixed-button {
    right: 50%;
    bottom: 20px;
    transform: translateX(50%);
    width: 90%;
}
.page-id-527 .fixed-button {
  position: fixed;
}

.page-id-527 .fixed-button-wrap {
  height: 0 !important;
  overflow: hidden;
}

