/**********************************
 セクション
**********************************/
.service-section{
  margin:0;
  padding:60px 20px;
}
.contact-section{
  margin:0;
  padding:60px 20px;	
}

/* 背景交互 */
.service-section:nth-of-type(odd){
  background:#ffffff;
}
.service-section:nth-of-type(even){
  background:#fffef8;
}
	.contact-section h3{
		margin-top : 0px!important;
		text-align : center;
		margin-bottom : 30px;
		font-size : 26px;
	}

@media(max-width:640px){
.service-section,
.contact-section{
  margin:0;
  padding:25px 20px;
}
	.contact-section h3{
		margin-top : 60px!important;
		text-align : center;
		margin-bottom : 20px;
	}
}

/**********************************
 見出し
**********************************/
.service-section h3{
  font-family:"Zen Maru Gothic",sans-serif!important;
  font-size:26px;
  font-weight:700;
  text-align:center;
  margin:0 0 30px;
}
.service-section h3 span{
  font-size : 18px;
}

/**********************************
 中身
**********************************/
.service-section-inner{
  max-width:980px;
  margin:0 auto;
  padding:0;
}
.flow-section-inner{
  max-width:700px;
  margin:0 auto;
  padding:0;
}

.price-section-inner{
  max-width:1080px;
  margin:0 auto;
  padding:0;
}

.fullpoint-section-inner{
  max-width:800px;
  margin:0 auto;
  padding:0;
}


/************************************
 * こんな状態になっていませんか
 * *********************************/
.problem-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
	margin-top : 35px;
}

.problem-item{
  display:flex;
  align-items:center;
  gap:12px;
}

.problem-item img{
  width:60px;
  height:60px;
  border-radius : 50%;
}

.problem-item p{
  margin:0;
  font-size:16px;
	font-weight : 500;
  line-height:1.6;
}

/* スマホ */
@media(max-width:640px){
.service-section h3{
  font-size:24px;
}
  .problem-list{
    grid-template-columns:1fr;
  }
}

/**********************************
 * このような方におすすめ
 * *******************************/
.osusume-section-inner ul{
  max-width : 800px;
  list-style:none;
  padding:0;
  margin:0 auto;
}

.osusume-section-inner li{
  position:relative;
  padding:15px 0 15px 40px;
  border-bottom:1px dashed #cfd8dc;
  font-size:16px;
  line-height:1.8;
}

/* アイコン（チェック） */
.osusume-section-inner li::before{
  content:"";
  position:absolute;
  left:0;
  top:15px;
  width:30px;
  height:30px;
  background:url('/wp-content/themes/ystandard-child/image/insta-nayami-checkmark.png') no-repeat center/contain;
}

/**********************************
 * サポート後の変化
 *********************************/
.future-list{
  position:relative;
  padding:0px;
  border-radius:12px;
  z-index:0;
  max-width : 800px;
  margin : 0 auto;
}

/* ぼかし背景（色だけ） */
.future-list::before{
  content:"";
  position:absolute;
  inset:-20px;
  background:radial-gradient(circle, #ffeaea 0%, transparent 70%);
  filter:blur(20px);
  z-index:-1;
}

/**********************************
 * 中身
 *********************************/
.future-list ul{
  list-style:none;
  padding:0;
  margin:0;
}

.future-list li{
  position:relative;
  padding:15px 0 15px 40px;
  font-size:16px;
  line-height:1.8;
}

/* アイコン */
.future-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:15px;
  width:30px;
  height:30px;
  background:url('/wp-content/themes/ystandard-child/image/insta-henka-checkmark.png') no-repeat center/contain;
}

/**********************************
 * 比較ボックス
 *********************************/
.compare-box{
  display:flex;
  gap:20px;
	width : 100%;
}

/* 共通 */
.compare-item{
  width:50%;
  padding:25px;
  border-radius:12px;
}

/* 他社 */
.compare-other{
  background:#e8f8f8;
}

/* 自分 */
.compare-you{
  background:#fff3f3;
}

/**********************************
 * 見出し
 *********************************/
.compare-item h4{
  font-size:22px;
  margin-bottom:25px;
  font-weight:700;
  margin-top : 0;
  text-align : center;
  border-bottom : 1px dotted #333;
	padding-bottom : 4px;
}

/**********************************
 * リスト
 *********************************/
.compare-item ul{
  list-style:none;
  padding:0;
  margin:0;
}

.compare-item li{
  position:relative;
  padding-left:28px;
  margin-bottom:10px;
  line-height:1.7;
}

/* アイコン */
.compare-other li::before{
  content:"・";
  position:absolute;
  left:0;
  top:0;
  color:#999;
  font-weight:700;
}

.compare-you li::before{
  content:"✔";
  position:absolute;
  left:0;
  top:0;
  color:#ff7a7a;
  font-weight:700;
}

/**********************************
 * スマホ
 *********************************/
@media(max-width:640px){
  .compare-box{
    display:block;
  }

  .compare-item{
    width:100%;
    margin-bottom:15px;
  }

  .compare-item:last-child{
    margin-bottom:0;
  }
}

/**********************************
 * サポート内容
 *********************************/
.support-card{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:30px;
margin-bottom:40px;
padding:30px;
background:#ffffff;
border-radius:18px;
border:1px solid #e6eef2;
box-shadow:0 12px 30px rgba(0,0,0,0.06);
}

/* テキスト */
.support-text{
  width:55%;
}

.support-text h4{
  font-size:24px;
  font-weight:900;
  margin:0 0 20px;
  line-height:1.5;
color:#6bb7c9;
}

.support-text p{
  margin:0;
  line-height:1.8;
}

/* 画像 */
.support-img{
  width:40%;
}

.support-img img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
}

/**********************************
 スマホ
**********************************/
@media(max-width:640px){
  .support-card{
    display:block;
    padding:20px;
  }

  .support-text{
    width:100%;
  }

  .support-text h4{
    text-align:center;
    font-size:20px;
    margin-bottom:20px;
    margin-top : 10px;
  }

  .support-img{
    width:100%;
    margin:15px 0;
  }

  .support-text p{
    font-size:15px;
    margin-top : 20px;
  }
}

/**********************************
 * 料金
 *********************************/
.service-price{
  max-width:700px;
  margin:0 auto;
  text-align : center;
}

.service-price-item{
  margin-bottom:18px;
}
.service-price-icon img{
width : 60px;
	margin-top : 30px;
}
.price-lead{
	text-align : left;
}
.price-lead-center{
	text-align : center;
}

.service-price-label{
  font-size:22px;
  color:#e8778f;
  margin-bottom:4px;
  font-weight : 700;
  line-height : 26px;
}
.service-price-label span{
  font-size : 15px;
	line-height : 25px;
}

.service-price-value{
  font-size:28px;
  font-weight:400;
  color:#111;
  margin-bottom : 15px;
}
.service-price-value span{
  font-size : 20px;
}

.service-price-note{
  margin-top:10px;
  font-size:13px;
  color:#666;
}

.price-detail-list{
  margin:15px auto;
  padding:0;
  list-style:none;
	max-width : 560px;
	border : 1px solid #666;
	padding : 20px;
	border-radius : 15px;
	text-align : left;
}

.price-detail-list li{
  font-size:15px;
  line-height:2;
  display:flex;
  align-items:flex-start;
  gap:12px;
}

.price-detail-list li::before{
  content:"●";
  color:#e8778f;
  font-size:14px;
  flex-shrink:0;
  margin-top:2px;
}

/***********************************
よくある質問
**********************************/
.faq-en{
  display:block;
  font-family:'Times New Roman', serif;
  font-size:30px;
  color:#e85b5b;
  margin-bottom:5px;
  text-align:center;
}

.faq-title{
  font-weight:700;
  font-size:34px;
  line-height:1.4;
  font-family:"Zen Maru Gothic", sans-serif !important;
  margin:10px 0 20px;
  text-align:center;
}

.faq-sub{
  font-size:24px;
  line-height:1.6;
  color:#6bb7c9;
  margin-bottom:40px;
  font-weight:700;
  text-align:center;
}

.faq-list{
  display:flex;
  flex-direction:column;
  gap:20px;
	padding : 0 5%;
}

.faq-item{
  border:1px solid #ddd;
  border-radius:16px;
  overflow:hidden;
}

/* 質問 */
.faq-q{
  background:#fff;
  padding:20px 25px;
  font-size:18px;
  font-weight:700;
  line-height:1.6;
  position:relative;
}

/* Qマーク */
.faq-q::before{
  content:"Q";
  color:#e85b5b;
  font-weight:700;
  margin-right:10px;
}

/* 回答 */
.faq-a{
  background:#f2fafc;
  padding:20px 25px;
  font-size:15px;
  line-height:1.8;
  border-top:1px solid #eee;
}

/**********************************
 * 1200px以下
 *********************************/
@media(max-width:1200px){
.faq-list{
  display:flex;
  flex-direction:column;
  gap:20px;
	padding : 0 5%;
}
  .faq-section{
    padding:40px 20px;
  }

  .faq-title{
    font-size:28px;
  }

  .faq-sub{
    font-size:20px;
  }
}

/**********************************
 * 640px以下
 *********************************/
@media(max-width:640px){
  .faq-section{
    padding:30px 15px;
  }
.faq-list{
  display:flex;
  flex-direction:column;
  gap:20px;
	padding : 0 0.5%;
}
  .faq-q{
    font-size:16px;
  }

  .faq-a{
    font-size:14px;
  }
}

/*********************************
 * ご依頼の流れ
 *********************************/
.service-flow ol{
  list-style:none;
  padding:0;
  margin:0 auto;
  width:640px;
}

.service-flow li{
  padding:20px 0;
  text-align:center;
}

.service-flow li:last-child{
  border-bottom:none;
}

.flow-title{
  font-size:22px;
  font-weight:700;
  margin-bottom:5px;
  color:#6bb7c9;
  line-height:1.6;
	text-align : left;
}

.flow-title span{
  font-size:15px;
}

.flow-text{
  font-size:16px;
  color:#555;
  margin:0;
	text-align : left;
}

.flow-btn{
  display:inline-block;
  margin-top:10px;
  padding:8px 16px;
  background:#13a5aa;
  color:#fff;
  text-decoration:none;
  border-radius:6px;
  font-size:13px;
}

.flow-optional{
  background:#fafafa;
}

@media(max-width:640px){

  .service-flow ol{
    width:100%;
  }
.flow-title{
	font-size:18px;
  font-weight:700;
  margin-bottom:5px;
  color:#6bb7c9;
  line-height:1.6;
	text-align : left;
}

.flow-title span{
  font-size:15px;
}

.flow-text{
  font-size:15px;
  color:#555;
  margin:0;
	text-align : left;
}
}

/***************************
お客様の声
****************************/
.voice-inner{
  width:min(1080px,100%);
  margin:0 auto;
}

/***************************************
 * CTA（インスタ集客）ページ内
 *************************************/
.service-cta{
  text-align:center;
  padding:0;
}

.cta-text{
  font-size:16px;
  font-weight:600;
  margin-bottom:6px;
}

.cta-sub{
  font-size:13px;
  color:#666;
  margin-bottom:25px;
}

/* ボタン並び */
.cta-buttons{
  display:flex;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
}

/* 画像ボタン共通 */
.cta-img-btn{
  position:relative;
  display:block;
  width:460px;
  height:150px;
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
}
@media(max-width:640px){
.cta-img-btn{
  position:relative;
  display:block;
  width:320px;
  height:100px;
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
}
}
/* 背景画像 */
.cta-mail{
  background:url('/wp-content/themes/ystandard-child/image/mail-btn-bg.png') center / cover no-repeat;
}

.cta-line{
  background:url('/wp-content/themes/ystandard-child/image/line-btn-bg.png') center / cover no-repeat;
}

/* マスク */
.cta-img-btn::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.35);
}

/* 文字＋アイコン（完全統一） */
.cta-img-btn span{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#fff;
  font-size:18px;
  font-weight:700;
  text-align:center;
  width:90%;
}

/* アイコン */
.icon-mail,
.icon-line{
  width:26px;
  height:26px;
  display:inline-block;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  flex-shrink:0;
}

.icon-mail{
  background-image:url('/wp-content/themes/ystandard-child/image/mail-icon.png');
}

.icon-line{
  background-image:url('/wp-content/themes/ystandard-child/image/line-icon.png');
}

/* hover */
.cta-img-btn:hover{
  transform:translateY(-3px);
  transition:0.3s;
}

/**********************************
 * ホームページ制作料金プラン
 *********************************/
.homepage-price-wrap{
  display:flex;
  justify-content:center;
  align-items:stretch; /* ←これ追加 */
  gap:30px;
  margin-top:40px;
}

.homepage-price-box{
  position:relative;
  width:30%;
  background:#fff;
  border:1px solid #ddd;
  border-radius:12px;
  padding:40px 20px 30px; /* ←上だけ増やす */
  box-sizing:border-box;
  text-align:center;
  box-shadow:0 8px 20px rgba(0,0,0,0.05);
}

/* おすすめ */
.homepage-recommend{
  border:2px solid #f17734;
  transform:translateY(-10px);
}

.homepage-badge{
  position:absolute;
  top:-12px;
  left:0;           /* ←変更 */
  width:100%;       /* ←追加 */
  transform:none;   /* ←削除 */
  background:#f17734;
  color:#fff;
  font-size:12px;
  padding:6px 0;    /* ←中央寄せ用に変更 */
  border-radius:8px 8px 0 0; /* ←上だけ丸めると綺麗 */
  text-align:center;
}

/* タイトル */
.homepage-plan-title{
  font-size:20px;
  font-weight:700;
  margin-bottom:10px;
  min-height:48px; /* ←これ追加（ズレ防止） */
  display:flex;
  align-items:center;
  justify-content:center;
	margin-top : 0;
}

/* 価格 */
.homepage-price{
  font-size:32px;
  font-weight:900;
  color:#f17734;
  margin-bottom:20px;
	margin-top : 0;
}
.homepage-price span{
	font-size : 14px;
}
/* リスト */
.homepage-list{
  text-align:left;
  padding:0;
  margin:0;
  list-style:none;
}
.homepage-list li{
  margin-bottom:10px;
  padding-left:18px;
  position:relative;
  font-size:15px;
	border-bottom : 1px dotted #4eb9ab;
	padding-bottom : 4px;
}

.homepage-list li::before{
  content:"▶";
  position:absolute;
  left:0;
  color:#4eb9ab!important;
  font-size:14px;
}

.price-coment{
	max-width : 800px;
	margin : 50px auto 0;
}
.homepage-option-note,
.homepage-option-link{
	line-height : 1.6;
}
/* コース名背景 */
.homepage-plan-title{
  background:#4eb9ab;
	color : #fff;
  padding:10px;
  border-radius:6px;
	margin-top : 10px;
}

/* キャッチ */
.homepage-catch{
  font-size:14px;
  font-weight:600;
  color:#118879;
  margin:10px 0 5px;
}

/* 説明 */
.homepage-desc{
  font-size:13px;
  color:#555;
  line-height:1.6;
  margin-bottom:15px;
	text-align : left;
	margin-top : 25px;
}
/**********************************
 * デザインサンプル
 *********************************/
.homepage-sample-wrap{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-top:30px;
}

.homepage-sample-item{
  width:31%;
  overflow:hidden;
  border-radius:10px;
  box-shadow:0 6px 16px rgba(0,0,0,0.08);
}

.homepage-sample-item img{
  width:100%;
  height:auto;
  display:block;
  transition:0.3s;
}

/* hover（軽くでOK） */
.homepage-sample-item:hover img{
  transform:scale(1.05);
}

/**********************************
 * スマホは2列
 *********************************/
@media (max-width: 640px){

  .homepage-sample-wrap{
    gap:10px !important;
    justify-content:space-between;
  }

  .homepage-sample-item{
    width:calc(50% - 5px) !important;
    flex:0 0 calc(50% - 5px) !important;
    margin:0 !important;
  }

}

/**********************************
 * チケット（完全修正）
 * ********************************/
#price .homepage-price-wrap + .homepage-price-box {
  width: 100%;
  max-width: 640px;
  margin: 40px auto 0;
  padding: 30px 30px;
  text-align: center;
}

/* タイトル */
#price .homepage-price-wrap + .homepage-price-box .homepage-plan-title {
  font-size: 22px;
  margin-bottom: 10px;
	margin-top : 30px;
}

/* キャッチ */
#price .homepage-price-wrap + .homepage-price-box .homepage-catch {
  font-size: 15px;
  margin-bottom: 10px;
}
/* 説明 */
#price .homepage-price-wrap + .homepage-price-box .homepage-desc {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 15px;
	margin-top : 0;
	text-align : center;
	font-weight : 600;
	font-size : 18px;
}
/* チケット専用（小さい説明） */
#price .homepage-price-wrap + .homepage-price-box .ticket-desc {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 15px;
  margin-top: 0;
  text-align: center;
  font-weight: normal; /* ←太字なし */
}
/* 価格 */
#price .homepage-price-wrap + .homepage-price-box .homepage-price {
  font-size: 28px;
  margin: 20px 0 5px;
}

/* 価格説明（お得） */
#price .homepage-price-wrap + .homepage-price-box .homepage-desc + .homepage-price {
  margin-top: 25px;
}

/* リスト */
#price .homepage-price-wrap + .homepage-price-box .homepage-list {
  text-align: left; /* ←ここだけ左（読みやすさ） */
  margin-top: 20px;
  font-size: 15px;
}

/* リスト間隔 */
#price .homepage-price-wrap + .homepage-price-box .homepage-list li {
  margin-bottom: 8px;
}

/**********************************
 * 1080px以下
 *********************************/
@media(max-width:1080px){

  .homepage-sample-item{
    width:100%;
  }

}

/**********************************
 * 1080px以下（スマホ）
 *********************************/
@media(max-width:1080px){

  .homepage-price-wrap{
    flex-direction:column;
    gap:20px;
  }

  .homepage-price-box{
    width:100%;
    transform:none;
  }

}

/*********************************
 * 集客トータルサポート
 * ****************************/
.service-lead{
  text-align:center;
  margin-bottom:30px;
}

.service-grid{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
}

.service-card{
  width:calc(50% - 10px);
  background:#fff;
  padding:20px;
  border-radius:12px;
  box-shadow:0 6px 16px rgba(0,0,0,0.05);
}

.service-card h4{
  margin-bottom:10px;
  font-size:18px;
	margin-top : 10px;
	color : #22a7b3;
}

@media(max-width:640px){
  .service-card{
    width:100%;
  }
}

.price-box{
  text-align:center;
  background:#fff;
  padding:30px 20px;
  border-radius:16px;
  box-shadow:0 10px 25px rgba(0,0,0,0.05);
  margin-bottom:30px;
}

.price-normal{
  font-size:18px;
  color:#555151;
  text-decoration:line-through;
  margin-bottom:10px;
	font-weight : 600;
}

.price-arrow{
  font-size:24px;
  margin:10px 0;
}

.price-main{
  font-size:28px;
  font-weight:700;
  color:#ff6b6b;
  margin-bottom:15px;
	margin-top : 0;
}
.price-main span{
	font-size : 15px;
}

.price-note{
  font-size:15px;
  color:#555;
	font-weight : 600;
	margin-top : 30px;
}

.price-text{
  text-align:center;
}

@media(max-width:640px){
.price-note{
  text-align : left;
}
.price-text{
  text-align:left;
}
}

.office-info-wrap{
  width:100%;
  margin-top:30px;
}

/*******************************
 * オフィス案内
 * ******************************/
.office-page{
  width:100%;
  margin-top:30px;
}

/**********************************
 * オフィス画像
 *********************************/
.office-photo{
  margin-bottom:40px;
}

.office-photo img{
  width:100%;
  height:auto;
  display:block;
  border-radius:16px;
}

/**********************************
 * 表
 *********************************/
.office-table{
  width:100%;
  border-top:1px solid #ddd;
}

.office-row{
  display:flex;
  border-bottom:1px solid #ddd;
}

.office-label{
  width:220px;
  background:#f7fbfc;
  padding:22px 20px;
  box-sizing:border-box;
  font-size:16px;
  font-weight:700;
  color:#6b4a3a;
}

.office-text{
  flex:1;
  padding:22px 20px;
  box-sizing:border-box;
  font-size:16px;
  line-height:1.9;
  color:#333;
}

/**********************************
 * スマホ
 *********************************/
@media(max-width:768px){

  .office-photo{
    margin-bottom:25px;
  }

  .office-photo img{
    border-radius:10px;
  }

  .office-row{
    flex-direction:column;
  }

  .office-label{
    width:100%;
    padding:14px 16px;
    font-size:15px;
  }

  .office-text{
    padding:16px;
    font-size:15px;
    line-height:1.8;
  }

}