@charset "UTF-8";


/* 共通 */

body {
    font-family: "Noto Sans JP", sans-serif;
    color: #ffffff;
    font-weight: 500;
    background-image: url(../img/bg-img.png);
	background-size: contain;
	background-repeat:  repeat;
    background-color: #000000;
    line-height: 1.8;
    letter-spacing: 0.1em;
}

.padding-nav {
    padding: 20px 0 60px 0;
}

.margin-120 {
    margin: 120px 0;
}

.padding-120 {
    padding: 120px 0;
}

.paddind-20-0 {
    padding-top: 20px;
}

.common-1200 {
    max-width: 1200px;
    margin: 0 auto;
    width: calc(100% - 40px);
}

.common-768 {
    max-width: 768px;
    margin: 0 auto;
    width: calc(100% - 40px);
}

.title-common span {
    font-size: 18px;
    font-weight: bold;
    background: linear-gradient(180deg, #e73253, #eb6100 49%, #f49e00 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: flex;
    justify-content: center;
    padding-bottom: 16px;
}

.title-common h4 {
    font-size: 32px;
    text-align: center;
}

.build-subtxt p {
    font-size: 18px;
    margin: 60px 0;
}

.title-common-left h4 {
    text-align: left;
    font-size: 24px;
}

.title-common-left span {
    justify-content: flex-start;
    padding-bottom: 0;
}

.title-common-white {
    color: #ffffff;
}

.title-common-white span {
    background: #ffffff;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

#second, #build, #deta, #price, #qa, #fb, #scale {
    padding-top: 100px;
    margin-top: -100px;
}


/* ヘッダー */

header {
    position: fixed;
    width: 100%;
    z-index: 1000;
    -webkit-transition: all 1s ease-out;
	transition: all 1s ease-out;
}

.nav-content {
    position: absolute;
    top: 0;
    width: 100%;
    background-color: #101010;
}

.nav-item {
    display: flex;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
    max-width: 100%;
}

.nav-content{
    animation-name: fade;
    animation-duration: 1s;
}

@keyframes fade{
    0%{
        opacity: 0;
    }
    20%{
        opacity: 0.2;
    }
    40%{
        opacity: 0.4;
    }
    60%{
        opacity: 0.6;
    }
    80%{
        opacity: 0.8;
    }
    100%{
    opacity: 1;
    }
}

.menu-group {
    display: flex;
    position: relative;
    justify-content: space-between;
    gap: 48px;
    align-items: center;
}

.menu-group .nav-cta {
    padding: 19px 0;
}

.menu-item a {
    display: flex;
    flex-direction: column;
}

.menu-item span {
    color: #ffffff;
}


.menu-item {
    text-align: center;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}

.menu-item a:hover{
    color: #F08725;
}

.menu-en {
    font-size: 12px;
}

.menu-ja {
    font-size: 14px;
}

.nav-item img {
    width: 256px;
    height: auto;
    padding-left: 20px;
}

.fade {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1s;
}.fade.active {
	opacity: 1;
	transform: translateY(0px);
}

.nav-item img:hover {
    opacity: 0.5;
    transition: 0.5s;
}

/* ハンバーガーメニュー */

.menu {
    list-style: none;
    position: absolute;
    width: 100%;
    height: 100vh;
    top: 0;
    margin-top: 52px;
    padding-top: 40px;
    clear: both;
    background: var(--background-navbar);
    transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
    transform: scale(1, 0);
    transform-origin: top;
}

  /* Hamburger menu button */
.menu-btn:checked ~ .menu {
    background-color: #101010;
	background-size: cover;
	background-repeat:  no-repeat;
    transform: scale(1, 1);
    transform-origin: top;
    transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
    color: #ffffff;
}



  /* Hamburger menbu text */
.menu a {
    text-decoration: none;
    font-weight: 500;
    letter-spacing: 2px;
    font-size: 16px;
    text-transform: capitalize;
    color: #101010;
    opacity: 0;
    transition: 0.5s;
}

.menu li {
    padding: 20px 0;
    margin: 0 54px;
    opacity: 0;
    transition: 0.5s;
}

.menu-btn:checked ~ .menu a,
.menu-btn:checked ~ .menu li {
    opacity: 1;
    transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}

.menu-btn {
    display: none;
}

.menu-icon {
    display: flex;
    justify-content: flex-end;
    position: absolute;
    cursor: pointer;
    padding: 24px 14px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    right: 0;
}

.navicon {
    background: #ffffff;
    display: block;
    height: 1px;
    width: 26px;
    position: relative;
    transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

.navicon:before,
.navicon:after {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    background: #ddd;
    transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

.navicon:before {
    top: 9px;
}

.navicon:after {
    bottom: 9px;
}

  /* Hamburger Menu Animation Start */
.menu-btn:checked ~ .menu-icon .navicon:before {
    transform: rotate(-45deg);
}

.menu-btn:checked ~ .menu-icon .navicon:after {
    transform: rotate(45deg);
}

.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
    top: 0;
}

.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
    bottom: 0;
}

.menu-btn:checked ~ .menu-icon .navicon {
    background: rgba(0, 0, 0, 0);
    transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
  /* Hamburger Menu Animation End */

  /* Navbar Container */
.navtext img {
    width: 120px;
    height: auto;
}

.navtext-container {
    background-color: #101010;
    width: 100%;
    height: 52px;
    position: absolute;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: 20px;
}

.nav-cta {
    background-image: linear-gradient(90deg, #e73253, #eb6100 49%, #f49e00 100%);
}

.nav-cta a{
    padding: 0px 20px;
}

.nav-cta a:hover {
    color: #191919;
}


/* ------- ファーストビュー -------*/

.fv-content {
    padding: 160px 0 90px 0;
}

.fv-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.fv-item-txt {
    width: 48%;
}

.fv-item-txt img{
    max-width: 280px;
    height: auto;
}

.fv-item-img {
    width: 48%;
}

.fv-item-img img {
    width: 100%;
    height: auto;
}

.fv-item-txt h1 {
    font-size: 74px;
    line-height: 1.5;
    margin-bottom: 32px;
}

.fv-item-txt h2 {
    font-size: 24px;
    margin-bottom: 32px;
}


.fv-item-txt span {
    color: #ffffff;
    font-size: 80px;
    background-image: linear-gradient(90deg, #e73253, #eb6100 49%, #f49e00 100%);
    padding: 0 20px;
}

.fv-slider-txt {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 32px;
    font-size: 20px;
}

.fv-slider-txt::before,.fv-slider-txt::after {
    content: "";
    background-color: #ffffff;
    height: 3px;
    width: 30px;
}
.fv-slider-txt::before {
    margin-right: 5px;
    transform: rotate(60deg); 
}
.fv-slider-txt::after {
    margin-left: 5px;
    transform: rotate(-60deg); 
}



/* スライダー */

.slick-slide {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 100px; /* ロゴの縦揃え基準 */
  width: auto !important;
  padding: 0 40px;
}

/* ロゴの個別アイテム設定 */
.slider-item {
  box-sizing: border-box;
}

/* ロゴ画像の整列 */
.slider-item img {
  max-width: 400px;
  max-height: 80px;
  object-fit: contain;
  display: block;
}


/* セカンドビュー */

.second-content {
    background-image: url(../img/sub-bg.png);
    background-size: cover;
	background-repeat:  no-repeat;
}

.second-title {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 60px;
}

.second-txt {
    font-size: 24px;
}

.second-title img {
    width: 320px;
    height: auto;
}

.build-main-item {
    padding: 50px 40px;
    border: #ffffff 1px solid;
}

.build-main-item span {
    font-size: 20px;
    font-weight: bold;
    background: linear-gradient(90deg, #e73253, #eb6100 49%, #f49e00 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.build-main-item-txt {
    padding: 26px 0;
}

.build-sub-item {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    gap: 20px;
}

.build-sub-item-1 p {
    width: 100%;
    border: #ffffff 1px solid;
    padding: 15px;
    text-align: center;
}

.triangle {
    margin: 40px 0;
    text-align: center;
}

.triangle img {
    width: 80px;
    height: auto;
}

.build-sub-item-2 {
    flex-wrap: wrap;
    justify-content: flex-start;
}

.build-sub-item-2 p {
    width: 23%;
    border: #ffffff 1px solid;
    padding: 15px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.build-sub-item-2:after {
    content: "";
    width: 23%;
}

.build-sub-item-3 img {
    width: 100%;
    height: auto;
}

.build-item-soc {
    background-image: url(../img/gold-bg.png);
	background-size: cover;
	background-repeat:  no-repeat;
    padding: 50px 0 80px 0;
    margin-top: 60px;
    margin-bottom: 120px;
}

.build-item-soc-title {
    text-align: center;
}

.build-item-soc-title img {
    width: 310px;
    height: auto;
    padding-bottom: 40px;
}

.build-soc-txt {
    max-width: 900px;
    width: 100%;
    display: flex;
    flex-direction: column;
    color: #101010;
    margin: 0 auto;
    padding: 0 20px;
}

.build-soc-txt h5 {
    font-size: 24px;
    padding-bottom: 10px;
}

.build-soc-txt p {
    font-size: 18px;
    padding-bottom: 32px;
    border-bottom: 1px #101010 solid;
}

.build-soc-txt article {
    padding-top: 40px;
}


/* Consolidate */

.deta-main-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
}

.deta-item-box {
    width: 23%;
    border: solid 1px #ffffff;
    padding: 40px 20px;
    margin-bottom: 32px;
}

.deta-item-box-title img {
    width: 32px;
    height: auto;
}

.deta-item-box p {
    font-size: 14px;
}

.deta-item-box-title {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    padding-bottom: 16px;
}



.deta-why-title {
    width:100%;
    position:relative;
    padding:20px;
    color:#fff;
    text-align:center;
    background:linear-gradient(
        90deg,
        #e73253 0%,
        #eb6100 49%,
        #f49e00 100%
    );
    font-size:28px;
}

/* ▼下向きの矢印 ────────────────────────── */
.deta-why-title::after {
    content:'';
    position:absolute;
    left:50%;
    top:100%;
    width:64px;        
    height:26px;        
    background:linear-gradient(
        90deg,
        #e73253 0%,
        #eb6100 49%,
        #f49e00 100%
    );
    transform:translateX(-50%);
    clip-path:polygon(0 0,100% 0,50% 100%);
}


.deta-why-box {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 40px;
    align-items: center;
    gap: 32px;
}

.deta-why-box img {
    max-width: 340px;
    height: auto;
}

.deta-why-txt article {
    display: flex;
    flex-direction: row;
    gap: 10px;
    padding-bottom: 32px;
    align-items: center;
}

.deta-why-txt div {
    font-size: 32px;
    font-weight: 900;
    background: linear-gradient(90deg, #e73253, #eb6100 49%, #f49e00 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.deta-why-txt p {
    font-size: 20px;
}

/* cvエリア */

.cv-content {
    background-image: url(../img/sub-bg.png);
    background-size: cover;
	background-repeat:  no-repeat;
}

.cv-title {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 60px;
}

.cv-txt {
    font-size: 24px;
}

.cv-title img{
    width:220px;       
    height:auto;
    margin: 0 auto;
}

.cv-txt span {
  display: block;
  font-size: clamp(26px, 5vw, 48px); /* ★より大きめに調整 */
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
  text-align: center;
}

.cv-txt p {
  font-size: clamp(18px, 2.5vw, 24px);
  font-weight: 600;
  letter-spacing: 0.12em;
  margin-bottom: 48px;
  color: #fff;
    text-align: center;
}

/* CTAボタン共通 */
.cv-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.cv-btn article {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 14px;
}

.cv-btn article small {
  margin-bottom: 10px;
  color: #fff;
  font-weight: 500;
}

.cv-btn{
  display:flex;                 /* 横並び */
  gap: 80px;                    /* ２ボタン間の間隔 */
  justify-content:center;
  flex-wrap:wrap;               /* SP 用に折返し可 */
}
.cv-btn article{
  position:relative;            /* →アイコンを絶対配置するための基準 */
  text-align:center;
}

.cv-4 {

}



/* 上の補助コピー「＼ 〜 ／」---------------------------------- */
.cv-btn article p{
  color:#fff;
  font-size:20px;
  font-weight:700;
  margin-bottom:28px;
  letter-spacing:.05em;
}
.cv-btn article p::before,
.cv-btn article p::after{
  content:"";
  display:inline-block;
  width:40px;
  height:2px;
  background:#fff;
  margin:0 14px;
  transform:skewX(-30deg);      /* 斜め線の角度を調整（デザインと同等） */
}

/* ============================== */
/* ② 共通ボタン本体 <span>        */
/* ============================== */
.cv-btn article span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:420px;                  /* 横長＆２ボタンで統一 */
  height:110px;
  padding:0 46px;
  border-radius:9999px;
  font-size:20px;
  font-weight:700;
  letter-spacing:.06em;
  box-shadow:0 10px 25px rgba(0,0,0,.15);
  user-select:none;
  cursor:pointer;
  transition:.25s;
}
.cv-btn article span:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 30px rgba(0,0,0,.2);
}

/* ============================== */
/* ③ ボタン別デザイン+アイコン   */
/* ============================== */
/* ──① 無料で始める（グラデ＋白丸矢印） */
.cv-1 span{
  color:#fff;
  background:linear-gradient(90deg,#e73253 0%,#eb6100 49%,#f49e00 100%);
}
.cv-1 img{                         /* 矢印アイコンの白丸 */
  position:absolute;
  right:20px;                    /* ボタンの右端からはみ出す量 */
  top:65%;
  width:60px; height:60px;      /* ＝デザインの白丸直径 */
  transform:translateY(-50%);
  border-radius:50%;
  object-fit:contain;
  background:#fff;
}

/* ──② お問い合わせはこちら（白+オレンジ枠＋封筒丸） */
.cv-2 span{
  background:#fff;
  color:#eb6100;
  border:4px solid #eb6100;
}

.cv-2 img{                         /* 封筒アイコンのオレンジ丸 */
  position:absolute;
  right:20px;
  top:65%;
  width:60px; height:60px;
  transform:translateY(-50%);
  border-radius:50%;
  object-fit:contain;
  background:#eb6100;
}


/* ホバー効果 */
.cv-btn article span:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 16px rgba(0,0,0,0.2);
}

.cv-btn article p{
  position: relative;
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color:#fff;
  margin: 0 0 16px;               /* 少し下げ気味に */
  letter-spacing: .05em;
}

.cv-btn article p::before,
.cv-btn article p::after{
  content: '';
  position: absolute;
  top: 50%;
  width: 20px;                    /* デザインに合わせ線をやや長めに */
  height: 2px;
  background: rgba(255,255,255,.85);
  transform-origin: center;
}

/* ＼   （左側は右上に向けて上げ気味＝約 30°上がり）*/
.cv-btn article p::before{
  left: -40px;                    /* 文字からの距離も広げる */
  transform: translateY(-50%) rotate(46deg);
}

/* ／   （右側は左上に向けて上げ気味＝約 150° ≒ -30°）*/
.cv-btn article p::after{
  right: -40px;
  transform: translateY(-50%) rotate(-46deg);
}


/* 特徴 */

.scale-main-item {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.scale-item-box {
    display: flex;
    flex-direction: column;
    width: 48%;
    gap: 40px;
    border: solid 1px #ffffff;
}

.scale-item-box img {
    width: 100%;
    height: auto;
    padding: 0 20px;
}

.scale-item-box span {
    font-size: 24px;
    text-align-last: center;
    width:100%;
    position:relative;
    padding:20px;
    color:#fff;
    text-align:center;
    background:linear-gradient(
        90deg,
        #e73253 0%,
        #eb6100 49%,
        #f49e00 100%
    );
}

.scale-item-box p {
    padding: 0 20px;
    font-size: 16px;
    margin-bottom: 32px;
}

/* 料金 */

.price-normal {
    border: solid 1px #ffffff;
    margin-top: 60px;
}

.price-normal-title {
    font-size: 24px;
    padding: 15px 0;
    text-align: center;
    background:linear-gradient(
        90deg,
        #e73253 0%,
        #eb6100 49%,
        #f49e00 100%
    );
    margin-bottom: 20px;
}

.price-normal article {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.price-normal img {
    width: 16px;
    height: auto;
}

/* ―― UL をフレックス化し、行折返しを許可 ――――――― */
.price-normal ul{
  display:flex;            /* 横に並べる */
  flex-wrap:wrap;          /* はみ出したら次の行へ */
  margin:0;                /* デフォルト UL 余白をリセット */
  padding:0 40px 40px;     /* 左右・下に少し余白 */
  list-style:none;         /* 行頭の黒丸を消す（li が入っていても） */
  row-gap:16px;            /* 行間 */
}

/* ―― １つの項目（article）を 3 分割幅に設定 ――――― */
.price-normal article {
    width:33.333%;           /* ★３列レイアウトのキモ */
    box-sizing:border-box;
    display:flex;
    gap:12px;                /* チェックアイコンとテキストの間 */
    font-size:16px;
    line-height:1.6;
}

/* チェックアイコン画像サイズを少し調整（任意） */
.price-normal article img {
    width:18px;
    height:auto;
    flex-shrink:0;
}

/* li の行頭黒丸消し（念のため上書き） */
.price-normal article li {
    list-style:none;
}


.price-main-box {
    display: flex;
    flex-direction: row;
    margin-top: 60px;
    justify-content: space-between;
    flex-direction: column-reverse;
    align-items: center;
}

.price-main-box article {
    display: flex;
    flex-direction: row;
    align-items: center;
        justify-content: center;

}

.price-main-box article img {
    width:36px;
    height:auto;
    flex-shrink:0;
}

.price-main-box li {
    list-style: none;
}

.price-main-box-item-1 {
    width: 60%;
    border: solid 1px #ffffff;
    border-radius: 10px;
    margin-top: 40px;
}

.price-main-box-item-2 {
    width: 60%;
    border: solid 1px #ffffff;
    border-radius: 10px;
}

/* ======================================================
   料金プランカード 仕上げ
   ====================================================== */

/* ---------- 共通レイアウト ---------- */
.price-main-box-item-1,
.price-main-box-item-2{
  position:relative;
  overflow:hidden;          /* 角丸に合わせてはみ出しカット */
  background:#0d0d0d;       /* 本体ベースはブラック */
  color:#fff;
  box-sizing:border-box;
  border:1px solid #fff;
  border-radius:10px;
}

/* ---------- タイトル帯 ---------- */
.price-main-box-title{
  font-size:26px;
  font-weight:700;
  text-align:center;
  padding:22px 0;
  margin:0 -32px;           /* padding 相殺して帯を端まで */
  line-height:1;
}
/* チーム：グラデーション */
.price-main-title-bg-pink{
  background:linear-gradient(135deg,#e73253 0%,#eb6100 49%,#f49e00 100%);
}

.price-main-box-txt-min {
    font-size: 12px;
}

.price-main-title-bg {
    padding: 20px 0 40px 0;
    text-align: center;
    border-bottom: 1px solid #ffffff;
    background:linear-gradient(135deg,#e73253 0%,#eb6100 49%,#f49e00 100%);
}

.price-main-box span {
    font-size: 30px;
}

.price-main-box p {
    font-size: 14px;
}

/* 企業：ブラック */

/* ---------- 説明文 ---------- */
.price-main-box-item-1 > p,
.price-main-box-item-2 > p{
  text-align:center;
  line-height:1.6;
  margin:8px 0;
}
.price-main-box-item-1 > p span,
.price-main-box-item-2 > p span{
  font-size:34px;
  font-weight:700;
  letter-spacing:.06em;
}

/* ---------- CTA ボタン ---------- */
.price-main-box .cv-btn{
  display:flex;
  justify-content:center;
  margin-top:20px;
}
.cv-btncv-1{
  display:inline-flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  user-select:none;
  border-radius:9999px;
  font-weight:700;
  transition:.3s;
}
/* ─ ボタン内部 span ─ */
.cv-btncv-1 span{
  padding:14px 56px;
  font-size:16px;
  line-height:1;
  display:inline-block;
}
/* チーム側ボタン : グラデ背景＋白文字 */
.price-main-box-item-1 .cv-btncv-1{
  background:linear-gradient(135deg,#e73253 0%,#eb6100 49%,#f49e00 100%);
}
.price-main-box-item-1 .cv-btncv-1 span{color:#fff;}
/* 企業側ボタン : 白背景＋オレンジ文字＋オレンジアウトライン */
.price-main-box-item-2 .cv-btncv-1{
  background:#fff;
  border:2px solid #eb6100;
}
.price-main-box-item-2 .cv-btncv-1 span{color:#eb6100;}

/* 矢印アイコン画像サイズ統一（丸アイコンなら 20〜24px 程度）*/
.cv-btncv-1 img{
  width:24px;
  height:auto;
}

.price-main-box-txt {
    padding: 32px 32px;
}

.price-txt-sub {
    padding-bottom: 20px;
    font-size: 18px;
    border-bottom: 1px solid #ffffff;
    margin-bottom: 32px;
}

.price-txt-sub-1 {
    text-align: center;
}


/* リスト横線調整（記事は 3 列→1 列の可変） */
.price-main-box .price-main-box-txt article{
  width:100%;
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:15px;
  line-height:1.6;
  margin-bottom:20px;
      justify-content: flex-start;

}
.price-main-box .price-main-box-txt img{
  width:14px;
  height:auto;
  margin-top:4px;           /* テキストとの縦揃え */
}

/* ---------- カード間セパレータ ---------- */
.price-main-box{
  gap:4%;                   /* カード間の余白を可視的に */
}

/* ---------- レスポンシブ ---------- */
@media (max-width:1024px){
  .price-main-box{gap:60px;}
  .price-main-box-item-1,
  .price-main-box-item-2{width:100%;}
}


.cv-btn-price-1 article span {
    height: 60px;
    font-size: 16px;
    color: #e73253;
}

.cv-btn-price-1 article span {
    background: #ffffff;
}

.cv-3 img {
    top: 50%;
}

.cv-btn-price-2 article span {
    background: none;
    border: 1px solid #ffffff;
}

.cv-btn-price-2 article span {
    height: 60px;
    font-size: 16px;
    color: #F08725;
    background: #ffff;
}

.price-codepod-item {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 20px;
    margin-top: 60px;
}

.price-codepod-box {
    width: 40%;
    /* border: solid 1px #ffffff; */
    border-radius: 10px;
    padding: 32px 20px;
}

.price-codepod-box div {
    font-size: 20px;
    text-align: center;
}

.price-codepod-box p {
    text-align: center;
}

.price-codepod-box span {
    font-size: 30px;
}

.price-codepod-box article {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
}

.price-codepod-box article img {
    width: 14px;
    height: 14px;
}

/* よくある質問 */

.qa-content {
    background-image: url(../img/sub-bg.png);
    background-size: cover;
	background-repeat:  no-repeat;
    padding: 120px 0;
}

.cp_actab {
    background-color: #ffffff;
    border-radius: 10px;
    margin-top: 32px;
}

.cp_qa01 {
    margin-top: 60px;
}

.cp_qa01 .cp_actab input {
    display: none;
    }

    /*質問テキスト*/
.cp_qa01 .cp_actab {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 1px;
    color: #101010;
    }
.cp_qa01 .cp_actab label {
    font-weight: bold;
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 0 0 0;
    padding: 32px;
    cursor: pointer;
    font-size: 16px;
    }

.cp_qa01 .cp_actab .cp_actab-content p {
    margin: 32px;
    }
.cp_qa01 .cp_actab label:hover {
    color: #e73253;
    }
.cp_qa01 .cp_actab input:checked ~ label {
    color: #e73253;
    }
/*答えテキスト*/
.cp_qa01 .cp_actab .cp_actab-content {
    overflow: hidden;
    max-height: 0;
    color: #101010;
    background: rgba(231, 231, 231, 0.5);
    transition: max-height 0.5s ease;
    }
.cp_qa01 .cp_actab input:checked ~ .cp_actab-content {
    max-height: 40em;
    }
/*▼アイコン*/
.cp_qa01 .cp_actab label::after {
    position: absolute;
    content: '';
    right: 24px;
    width: 15px;
    height: 10px;
    background: #1b2538;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    transition: all 0.5s ease;
    }
.cp_qa01 .cp_actab label:hover::after {
    background: #e73253;
    }
.cp_qa01 .cp_actab input[type=checkbox]:checked + label::after {
    transform: rotateX(180deg);
    background: #e73253;
    }


/* 利用者の声 */

.fb-item-box {
    display: flex;
    flex-direction: column;
    margin-top: 60px;
}

.fb-item-box article {
    display: flex;
    flex-direction: row;
    border-radius: 10px;
    background-color: #fff;
    margin-bottom: 32px;
    color: #101010;
    align-items: center;
    font-size: 20px;
    padding: 32px;
}

.fb-item-box img {
    width: 172px;
    height: auto;
    margin-right: 24px;
}


/* フッター */
.footer05 {
 color: #ffffff;
 background: #101010;
 padding: 100px 30px 20px 30px;
}
.footer05 a {
 color: #ffffff;
 text-decoration: none;
}
.footer05 li a:hover {
 text-decoration: underline;
}
.footer05 .wrap {
 margin: 0 auto;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.footer05 .wrap h3 {
 margin: 0 0 10px 0;
 padding: 0;
}
.footer05 .wrap p {
 margin: 0;
 padding: 0 0 20px 0;
}
.box {
 width: 17%;
}
.footer05 .wrap .box ul {
 margin: 0;
 padding: 0 0 20px 0;
 list-style: none;
}
.footer05 .wrap .copyright {
 width: 100%;
 padding: 20px 0 0 0;
 font-size: 12px;
 text-align: center;
}

.box li {
    margin-bottom: 16px;
    font-size: 14px;
}

.footer-logo {
    width: 200px;
    height: auto;
    margin-bottom: 20px;
}

.box article img {
    width: 44px;
    height: auto;
    margin-right: 10px;
}

.footer-box-1 {
    width: 26%;
}

@media only screen and (max-width: 599px) {
.footer05 .wrap {
 width: 100%;
 padding: 0 20px;
 box-sizing: border-box;
}
.footer05 .wrap h3 {
 border: none;
}
.footer05 .wrap .box {
 width: 100%;
}
.footer05 .wrap .box ul {
 border-top: 1px #c4c4c4 solid;
}
.footer05 .wrap .box ul li a {
 display: block;
 padding: 5px 15px;
}
}

/* アニメーションスタイル */
/* ---------------------------- */

/* アニメーション前 */
.u-fade-type-up{
    transform: translateY(50px);
    opacity: 0;
}

/* トリガー発火でis-activeを付与 */
.u-fade-type-up.is-active{
    transition: 1.2s;
    transform: translateY(0);
    opacity: 1;
}

/* コンタクト */

.ctf-item {
    padding: 120px 0;
}

.wpcf7-form {
    margin-top: 60px;
}

.wpcf7-form-control-wrap input {
    background-color: #F4F4F4;
    padding: 8px 12px;
    color: #101010;
}

input.pp-check {
    width: 20px;
    margin-right: 16px;
}

.form-item {
    padding-bottom: 40px;
}

.wpcf7-form-control-wrap select {
    margin-bottom: 40px;
    padding: 8px 12px;
    color: #101010;
}

input[type="radio"] {
    width: 20px;
    height: 20px;
}

span.wpcf7-list-item {
    margin-bottom: 40px;
    margin-top: 8px;
    width: 100%;
    margin-left: 0;
}


label {
    width: 100%;
}

input {
    width: 100%;
}

textarea {
    width: 100%;
    background-color: #F4F4F4;
    color: #101010;
    padding: 8px 12px;
}

select {
    width: 100%;
    background-color: #F4F4F4;
}
	
.wpcf7-submit {
    padding: 20px 40px;
    background-color: #F08725;
    text-align: center;
    margin: 0 auto;
    display: flex;
    width: 180px;
    justify-content: center;
}

.form-explanation {
    background-color: #ffffff;
    color: #F08725;
    padding: 20px 32px;
    margin-bottom: 32px;
}

.privacy-check {
    width: 100%;
    text-align: center;
}

.last input {
    width: 20px;
    height: 20px;
}

.wpcf7-submit:hover {
    border: solid 2px #F08725;
    background-color: #101010;
    transition: 0.5s;
}

.wpcf7-form-control {
    margin-bottom: 40px;
    margin-top: 8px;
}

.wpcf7-not-valid-tip {
    margin-top: -34px;
    margin-bottom: 34px;
}

.time-2 {
    margin-top: -30px;
}

.wpcf7-list-item label {
    display: flex;
    align-items: center;
    justify-content: center;
}

.wpcf7-list-item-label a {
    border-bottom: solid 1px #ffffff;
}


/* プラポリ */

.pp-area {
    margin-top: 40px;
}


/* フッター固定ボタン */

.pc-fixed-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
}

.pc-fixed-item {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 140px;/*幅*/
	height: 140px;/*高さ*/
	border-radius: 50%;/*角丸*/
    background:linear-gradient(135deg,#e73253 0%,#eb6100 49%,#f49e00 100%);
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 15px;
    padding-top: 4px;
}

.pc-fixed-item :hover {
    opacity: 0.7;
    transition: 0.5s;
}

.sp-fixed-btn {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 30;
}

.sp-fixed-btn a {
    padding: 15px 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.sp-fixed-item {
    display: flex;
}

.sp-fixed-left {
    background:linear-gradient(135deg,#e73253 0%,#eb6100 49%,#f49e00 100%);
    border: solid 1px #ffffff;
}

.sp-fixed-left a {
    font-size: 14px;
    text-align: center;
}

.sp-fixed-left article {
    display: flex;
    gap: 8px;
    align-items: center;
}

.sp-fixed-left img {
    width: 20px;
    height: 17px;
}


@media screen and (max-width: 500px){
    .sp-fixed-btn a{
    font-size: 12px;
    padding: 8px 0;
    }

    .sp-fixed-right img {
        padding-bottom: 0;
    }

    .sp-fixed-left span {
        padding-bottom: 2px;
    }
    .sp-fixed-right img {
        width: 80px;
    }
    .sp-fixed-right .calendar {
        width: 16px;
        padding-top: 0px;
    }
    .sp-fixed-right .square {
        padding-top: 0px;
    }
}




/* ------- レスポンシブ -------*/


@media (max-width:1400px){

    .nav-item img {
        width: 160px;
    }

    .menu-group {
        gap: 20px;
    }

    .fv-item-txt h1 {
        font-size: 62px;
    }

    .fv-item-txt h2 {
        font-size: 20px;
    }

    .fv-item-txt span{
        font-size: 68px;
    }

}


@media (max-width:1024px){
  .price-normal article{width:50%;} 

  .sp-none {
        display: none;
    }

    .fv-item-txt h1 {
        font-size: 40px;
    }

    .fv-item-txt h2 {
        font-size: 14px;
    }

    .fv-item-txt span{
        font-size: 50px;
    }

    .fv-content {
        padding: 100px 0 60px 0;
    }

    .fv-item-txt {
    width: 62%;
}
.fv-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    max-width: 768px;
    margin: 0 auto;
}

.fv-item-img {
    width: 60%;
}

.second-title img {
    width: 160px;
}

.second-txt h3 {
    font-size: 16px;
}

.margin-120 {
    margin: 80px 0;
}

.title-common h4 {
    font-size: 20px;
}

.build-subtxt p {
    font-size: 14px;
}

.build-main-item {
    padding: 30px 20px;
}

.build-main-item span {
    font-size: 18px;
}

.build-main-item-txt {
    font-size: 14px;
}

.build-sub-item-1 p {
    font-size: 12px;
}

    .build-sub-item-1 p {
        font-size: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .build-subtxt p {
        margin: 32px 0;
    }

    .build-sub-item-2 p {
        width: 48%;
    }

    .box {
        font-size: 13px;
    }

    .footer-logo {
        width: 160px;
    }
}

@media screen and (min-width: 1025px){
    .pc-none {
        display: none;
    }
}

@media (max-width:768px){

    .fv-item-txt h1 {
        font-size: 40px;
        margin-bottom: 16px;
    }

    .fv-content {
        padding: 80px 0 60px 0;
    }

    .fv-item-txt span {
        font-size: 42px;
    }

    .fv-item-txt h2 {
        font-size: 12px;
        margin-bottom: 16px;
    }

    .fv-item-txt h2 br {
        display: none;
    }

    .fv-item-txt img {
    max-width: 140px;
    }

    .fv-slider-txt {
        font-size: 14px;
    }

    .slider-item img {
        max-width: 180px;
        max-height: 30px;
    }

    .slick-slide {
        padding: 0 16px;
    }

    .deta-item-box {
        width: 48%;
    }

    .deta-why-title {
    padding: 10px;
    font-size: 20px;
}

.deta-why-box img {
    width: 30%;
}

.deta-why-txt p {
    font-size: 16px;
}

.deta-why-title::after {
    width: 42px;
    height: 12px;
}

.padding-120 {
    padding: 80px 0;
}

.cv-txt span {
    font-size: 22px;
}

.cv-btn article span {
    height: 80px;
}

.cv-btn {
    gap: 32px;
}

.cv-title {
    margin-bottom: 40px;
}
.scale-item-box span {
    font-size: 18px;
}

.scale-item-box {
    width: 100%;
}

.scale-main-item {
    flex-direction: column;
    gap: 32px;
}

.scale-item-box p {
    font-size: 14px;
}

.price-normal-title {
    font-size: 18px;
    padding: 10px;
}

.price-normal article {
    font-size: 14px;
}

.price-main-box .price-main-box-txt article {
    font-size: 14px;
}

.cv-btn article span {
    width: 370px;
    font-size: 16px;
}

.price-codepod-item {
    flex-direction: column;
    align-items: center;
}

.price-codepod-box {
    width: 80%;
}

.qa-content {
    padding: 80px 0;
}

.fb-item-box img {
    width: 80px;
}

.fb-item-box article {
    font-size: 16px;
}

    .build-sub-item-2 p {
        font-size: 12px;
    }

    .footer05 .wrap {
        flex-direction: column;
        gap: 32px;
    }

    .box {
        width: 100%;
    }

    .footer05 .wrap .box ul li a {
        font-size: 12px;
    }

    .box li {
        margin-bottom: 0;
    }

    .box ul {
        margin-top: 16px;
    }

    .build-soc-txt h5 {
        font-size: 18px;
    }

    .build-soc-txt p {
        font-size: 14px;
    }

    .fv-item-txt span {
        padding: 0 10px;
    }

}


@media (max-width:630px){

  .fv-item-txt h1 {
        font-size: 24px;
        margin-bottom: 16px;
    }

    .fv-item-txt span {
        font-size: 26px;
    }
}

@media (max-width:600px){
  .price-normal article{width:100%;} /* １列 */

  .slider-item img {
        max-width: 172px;
        max-height: 20px;
    }

    .build-sub-item {
        flex-wrap: wrap;
    }

    .triangle {
        margin: 20px 0;
    }

     .build-sub-item-2 p {
        width: 100%;
    }

    .build-sub-item-2 p br {
        display: none;
    }

    .build-item-soc-title img {
        padding-bottom: 0;
    }

    .build-item-soc {
        padding: 32px 0;
    }

    .build-item-soc {
        margin-bottom: 80px;
    }

    .scale-item-box span {
        padding: 10px;
    }

    .menu {
        margin-top: 46px;
        padding-top: 20px;
    }

    .menu li {
        padding: 10px 0;
    }

    

}


@media (max-width:425px){

    .deta-item-box {
        width: 100%;
    }

    .deta-why-box {
        flex-direction: column;
    }

    .cv-btn article span {
        width: 300px;
        font-size: 16px;
        height: 60px;
    }
    
    .cv-1 img {
    right: 14px;
    top: 70%;
    width: 40px;
    height: 40px;
}

.cv-2 img {
    right: 14px;
    top: 70%;
    width: 40px;
    height: 40px;
}

.price-main-title-bg {
    padding: 20px 10px 30px 10px;
}

.cv-3 img {
    top: 50%;
}

.price-txt-sub {
    font-size: 16px;
}

.price-main-box p {
    font-size: 12px;
    padding-top: 10px;
}

.cp_qa01 .cp_actab label {
    padding: 20px 46px 20px 20px;
}

.fb-item-box article {
    font-size: 14px;
}

.footer-logo {
    width: 200px;
}

.footer05 {
    padding: 40px 20px 20px 20px;
}

.footer05 .wrap {
    padding: 0;
}

.footer05 .wrap {
    gap: 20px;
}

.footer05 .wrap .copyright {
    font-size: 10px;
}

.build-item-soc-title img {
    width: 200px;
}

.fv-slider-txt {
    font-size: 12px;
}

.fv-slider-txt::before, .fv-slider-txt::after {
    height: 1px;
    width: 22px;
}

.fv-item-txt h1 {
        font-size: 16px;
        margin-bottom: 16px;
    }
        .fv-item-txt span {
        font-size: 25px;
    }


}


/* 7/16 追加 */

.price-codepod-box {
    width: 80%;
    border-radius: 10px;
    padding: 0px 20px 40px 20px;
    margin: 0 auto;
}