html {
  /* scroll-behavior: smooth; */
}

body {

  margin: 0;
  font-family: "Noto Sans JP", Hiragino Kaku Gothic ProN, ヒラギノ角ゴ Pro W3, Meiryo, メイリオ, sans-serif;
  font-size: 16px;
  color: #4D4D4D;
}

ul{
	margin:0;
	padding: 0;
	list-style: none;
}

section {
  scroll-margin-top: 70px; /* ナビの高さに合わせる */
}

/* グローバルナビ */
.navi {
  position: fixed; 
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  z-index: 999;  

  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 70px;
}

.navi_SkiP_logo img {
  width: 7vw;
  margin: 2vw;
}

.contents {
  height: 100%;
}

.contents ul {
  list-style: none;
  display: flex;
  font-weight: bold;
  margin: 0;
  padding: 0;
  height: 100%;
}

.contents ul li {
  display: flex;
  align-items: center; 
}

.contents ul li a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 0.8vw;
  text-decoration: none;
  color: inherit;
  transition: color 0.3s ease;
}

.contents ul li:hover a {
  color: #7A7A7A;
}


.gray_button {
  background-color: #2F3A45;
  color: #ffffff;
  align-self: stretch;
  display: flex;
  align-items: center;
}

.gray_button:hover {
  background-color: #4A5561;
}


.sp_gnavi{
  display: none;
}


/* ファーストビュー */
.first_view{
  position: relative;
  overflow: hidden;  /* はみ出し防止 */
  padding: 2% 5%;
  display: flex;
  justify-content: space-around;
  padding-top: 80px;
  height: 100vh;
}

.first_view::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/wallpaper5.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: blur(2px);
  transform: scale(1.1); 
  z-index: -1; 
}


.first_left .first_view_logo{
  padding: 2%;
  width: 25vw;
  margin-top: 2.5rem;
}

.first_left a{
  text-decoration: none;
}

.main_copy{
  font-weight: bold;
  font-size: 3.25vw;
  color:#000000;
  margin-top: 2rem;
}

.main_copy span{
  color: #F78E04;
}

.sub_copy{
  font-weight: bold;
  font-size: 2vw;
  color:#000000;
  margin-top: 3%;
  margin-bottom: 5%;
  /* background-color: #fff; */
  padding: 2%;
}

.sub_copy span{
  color: #F78E04;
}

/* CTAボタン（使い回し） */
.cta_botton{
  background-color: #F78E04;
  color: #ffffff;
  width: 23vw;
  height: auto;
  display: flex;
  justify-content: space-around;
  align-items: center;
  border-radius: 10px;
  padding-top:0.25rem;
  padding-right:1%;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: left;
}

.cta_botton:hover {
  background-color: #F5B817;
  opacity: 0.9; 
}

.cta_botton .text{
  text-align: center;
  padding-left: 2rem;
}

.cta_botton .text p{
  font-size: 1.3vw;
}

.cta_botton .text p span{
  font-size: 1.7vw;
  font-weight: bold;
}


.cta_botton .icon img{
  width: 2rem;
  margin: auto 0;
}

.cta_botton .text .cta_sp {
  display: none;
}


/* フォーム部分 */
.first_right .form_container{
  width: 30vw;
  border: #F78E04 solid 2px;
  border-top-left-radius: 10px;   
  border-top-right-radius: 10px; 
}

.first_right .form_container .form_title{
  background-color: #F78E04;
  color:#ffffff;
  font-size: 0.8rem;
  text-align: center;
  padding: 0.6rem;
  border-top-left-radius: 8px;   
  border-top-right-radius: 8px; 
}

.first_right .form_container .form_title span{
  font-size: 1rem;
  font-weight: bold;
}

.label_area{
  padding: 5% 10%;
  background-color: #ffffff;
}

.form_group {
  display: flex;
  flex-direction: column; 
}

.form_group label {
  font-weight: bold;
  font-size: 0.75rem;
  color: #333;
}

.form_group label img{
  width: 0.8rem;
  margin-left: 0.1rem;
}

.form_group input,
.form_group textarea {
  padding: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 1rem;
  box-sizing: border-box;
  margin-bottom: 0.5rem;
}

.hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}


.privacypolicy{
  font-size: 0.8rem;
}

.privacypolicy a{
  text-decoration: none; 
  color: #0078d7; 
}

.submit_btn {
  background-color: #F78E04;
  color: #fff;
  border: none;
  padding: 0.25rem 1rem;
  font-size: 1.7vw;
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  margin: 0 auto;
  transition: all 0.3s ease;
  font-weight: bold;
}

.submit_btn:hover {
  background-color: #F5B817;
  opacity: 0.9; 
}

.submit_btn p{
  margin: 1rem;
}

.submit_btn img{
  width: 2rem;
}


/* こんなお悩みありませんか？ */
.problems {
  padding: 5% 10%;
}

.problems .sp_br{
  display: none;
}

.problems h2{
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.7;
  margin: 2rem;
}

.problems h2 span{
  background-color: #2F3A45;
  color:#ffffff;
  padding: 0.5% 1%;
  font-size: 1.5rem;
  margin-right: 0.3rem;
}


.problems .cards{
  display:flex;
  justify-content: space-between;
  gap: 3vw; 
}

.problems .cards .card {
  border: 1px solid #DBDBDB;
  vertical-align: top;
  width: 30vw;
}

.upper_box {
  background-color: #F6F6F6;
  position: relative;  
  text-align: center;
  font-weight: bold;
}

.upper_box:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 50%;
  border: 15px solid transparent;
  border-top: 15px solid #F6F6F6;
  width: 0;
  height: 0;
  margin-left: -15px;
}

.upper_box p{
  font-size: 1.5vw;
  margin: 0; 
  padding-top: 10%;
}

.upper_box p span{
  font-size: 2vw;
}

.upper_box img{
  width: 13.5vw;
  margin-top: 7%;
  margin-bottom: 7%;
}

.upper_box img.annoyed_lady,
.upper_box img.annoyed_man{
  width: 15vw;
}

.upper_box .card2{
  letter-spacing: -0.15vw;
}

.lower_box {
  background-color: white;
  text-align: center;
  font-weight: bold;
}

.lower_box p{
  font-size: 1.5vw;
  margin-top: 10%;
}

.lower_box p span{
  color: #F78E04;
  font-size: 2.4vw;
}

.lower_box p .trouble1{
  letter-spacing: -0.25vw;
  font-size: 2.1vw;
}

.lower_box img{
  width: 16vw;
}

.lower_box .smile_man1,
.lower_box .smile_lady1{
  width: 18vw;
}



/* SkiPの特徴 */
.feature{
  /* background-color: orange; */
}

.section_title{
  text-align: center;
  padding-bottom: 2.7vw;
}

.section_title h1{
  position: relative;
  display: inline-block; /* 見た目は文字幅、下線は疑似要素で制御 */
  font-size: 1.5rem;
  font-weight: 700;
  margin: 40px 0;
}


.section_title h1::after{
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%); /* 中央寄せ */
    bottom: -20px;               /* タイトルから下線までの距離 */
    width: 80px;                /* ← 下線の固定幅をここで指定 */
    height: 6px;                 /* 下線の太さ */
    border-radius: 3px;
    background-color: #F78E04;   /* 下線の色 */
}

.feature_area{
  padding: 0;
}

.feature_area,
.feature1,
.feature3{
  background-color: #F5F5F5;
}

.feature1,
.feature2{
  display: flex;
  justify-content: center;
  gap: 5rem;
  padding: 5%;
}

.feature1 img,
.feature2 .wrap2 img,
.feature3 img{
  width: 40vw;
  height: auto;       /* ←これが必須 */
  max-width: 499px;   /* 任意：元サイズ以上にしない */
}

.feature1 .wrap h3,
.feature2 .wrap h3,
.feature3 .wrap h3{
  color: #F78E04;
  font-size: 3rem;
  margin: 0.5rem 0;
}

.feature1 .wrap h2,
.feature2 .wrap h2,
.feature3 .wrap h2{
  font-size: 3vw;
}

.feature1 .wrap h2 span,
.feature2 .wrap h2 span,
.feature3 .wrap h2 span{
  color: #F78E04;
}

.feature2 .wrap p span{
  color: #F78E04;
}

.feature1 p,
.feature2 p,
.feature p{
  font-size: 1.2rem;
}


.feature2 .wrap2 p{
  color: #F78E04;
  transform: rotate(-20deg);
  font-size: 1.2rem;
}

.feature3 .container{
  display: flex;
  justify-content: center;
  gap: 5rem;
  padding: 5%;
}

.feature3 .container img{
  position: relative;
  top: -1.5rem;
}

.feature3 .wrap .smaller_description{
  font-size: 1.3rem;
  color: #2F3A45;
}

.sp_feature_images{
  display: none;
}

/* 中央CTAボタン配置（使い回す） */

.cta_box1{
  background-color:#F5F5F5;
  padding-bottom: 3rem;
}

.center_cta_botton{
  display: flex;
  background-color: #F78E04;
  color: #ffffff;
  width: 20rem;
  height: 5rem;
  justify-content: center;
  gap: 1.5rem;
  align-items: center; 
  border-radius: 10px;
  margin: 0 auto;
  padding-left: 0.8rem;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}

.center_cta_botton .icon img{
  width: 2rem;
  margin: auto 0;
  position: absolute;
  top: 1.5rem;
}

.center_cta_botton .text p{
  font-size: 1rem;
  text-align: center;
}

.center_cta_botton .text p span{
  font-size: 1.5rem;
  font-weight: bold;
}

.center_cta_botton:hover {
  background-color: #F5B817;
  opacity: 0.9; 
}



/* 広告配置（使い回す予定） */
.ad_demo{
  display: flex;
  justify-content: center;
  background-color: #ffffff;
  margin: 5% 20%;
  padding: 0.8% 2% 1.5% 5%;
  align-items: center;
  gap: 2.5rem;
  border-radius: 10px;
  border: none;
  box-shadow: 0 0 8px rgba(77, 77, 77, 0.15);
}

.ad_demo .left_area{
  display: flex;
  flex-direction: column; 
  align-items: center; 
}

.ad_demo .left_area p{
  font-size: 0.8rem;
  font-weight: 900;
}

.ad_demo .left_area span{
  font-size: 1.2rem;
  color: #F78E04;
  font-weight: 900;
}

.ad_demo .left_area .demo_button{
  background-color: #F78E04;
  text-decoration: none;
  height: 3rem;
  width: 12rem;
  border-radius: 10px;
  font-weight: 900;
  font-size: 0.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.ad_demo .left_area .demo_button a{
  color: #ffffff;             
  text-decoration: none;  
}

.ad_demo .left_area .demo_button:hover{
  background-color: #F5B817;
}

.ad_demo .right_area img{
  width: 20vw;
  position: relative;
  top: 20px; /* 下方向に10px移動 */
}

/* お客様の声 */
.voice {
  background: linear-gradient(to right, #EDEDED, #FFF9E6);
  padding-bottom: 3rem;
  overflow-x: hidden; /* 横方向のはみ出しを隠す */
  position: relative;
}

/*==================================================
機能編 6-1-7 複数画像を中央に注目させて見せる
===================================*/
.slider{
    position: relative;
    z-index: 1;
    padding-bottom: 20px; /* 好きな値に調整 */
}

.slider li {
    width:50vw;/*スライダー内の画像を50vwにしてレスポンシブ化*/
    height:auto;
    border-radius: 10px;
    background-color: #fff;
    display: flex!important;
    justify-content: center;
    gap: 2rem;
    padding: 2rem;
}

.slider li .left_area{
  display: flex;
  flex-direction: column; 
  align-items: center; 
}

.slider li .left_area img{
  width: 6rem;
}

.slider li .left_area p{
  font-size: 0.7rem;
  font-weight: 900;
}

.slider li .right_area{
  font-family: "Klee One", cursive;
  font-weight: 600;
  font-style: normal;
}

.slider li .right_area h4{
  margin-top: 0;
  margin-bottom: 0.5rem;
  color: #F78E04;
  font-size: 1.5rem;
}

.slider li .right_area p{
  font-size: 1.2rem;
}



.slider .slick-slide {
	transform: scale(0.85);/*左右の画像のサイズを85%に*/
	transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
}

.slider .slick-slide.slick-center{
	transform: scale(1);/*中央の画像のサイズだけ等倍に*/
	opacity: 1;/*透過なし*/
}

/*ドットナビゲーションの設定*/

.slick-dots {
  display: flex !important;  
  text-align:center;
  justify-content: center; 
}

.slick-dots li {
    display:inline-block;
	margin:0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#4D4D4D;/*ドットボタンの色*/
}

.slick-dots .slick-active button{
    background:#F5B817;/*ドットボタンの現在地表示の色*/
}

/* SP用お客様の声は非表示 */
.voice2{
  display: none;
}


/* 費用対効果 */
.roi .section_title{
  position: relative;
  text-align: center;
}

.roi .section_title img{
  width: 5vw;
  margin-right: 1vw;
}

.title_center{
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateX(-3.75vw);
}


/* 吹き出し本体 */
/* .balloon{
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translate(1vw, -50%);

  padding: clamp(12px, 0.8vw, 18px);
  background: #fff0c6;
  border-radius: clamp(20px, 1.6vw, 32px);
  white-space: nowrap;
}

.balloon::before{
  content: "";
  position: absolute;
  left: -20px;
  bottom: 6px;
  width: 12px;
  height: 12px;
  background: #fff0c6;
  border-radius: 50%;
}

.balloon::after{
  content: "";
  position: absolute;
  left: -10px;
  bottom: 0;
  width: 18px;
  height: 18px;
  background: #fff0c6;
  border-radius: 50%;
}

.balloon p{
  margin: 0;
  font-family: "Klee One", cursive;
  font-weight: 600;
  line-height: 1.4;
} */

.roi_wrapper{
  display: flex;
  justify-content: center;
  gap: 5%;
  padding: 0 10%;
}

.roi_wrapper .case{
  display: flex;
  gap: 1rem;
  background-color: #F5F5F5;
  border-radius: 10px;
  padding: 2%;
}

.roi_wrapper .case img{
  width: 7rem;
}

.case_study{
  font-weight: 900;
  font-size: 1rem;
}

.case_study .description{
  margin: 1rem 0;
}

.case_study .description span{
  color: #F78E04;
  margin: 0 0.25rem; /* 左右に少し余白 */
}

.case_study .description .large{
  font-size: 1.5rem;
}

.case_study .description .note{
  color: #B3B3B3;
}

.case_notes_wrapper{
  margin: 1rem 0 1rem 10%;
  font-size: 1rem;
  color: #B3B3B3;
  font-weight: 900;
  padding-left: 7%;
  padding-right: 7%;
}

.after_roi_cta{
  background-color: #fff;
  margin-top: 5rem;
}


/* 伴走支援の導入 */
.introduction{
  background: linear-gradient(to right, #F78E04, #F5B817);
  color: #ffffff;
  font-size: 1.1rem;
  font-weight: 900;
  text-align: center;
  padding: 0.6rem 0;
}

.introduction span{
  font-size: 1.7rem;
}

/* SkiP伴走支援が選ばれる理由 */
.reason{
}

.reason_wrapper{
  display: flex;
}


.reason_wrapper > div {
  flex: 1;                         /* 横幅を均等に */
  text-align: center;               /* カード内の要素を中央に */
  padding: 1rem;                    /* 内側の余白 */
  box-sizing: border-box;
}

.reason1,
.reason2,
.reason3{
  text-align: center;
}

.reason1,
.reason3{
  background-color: #F5F5F5;
}

.reason .num{
  font-size: 3rem;
  color: #F78E04;
  font-weight: 900;
}

.reason img{
  width: 20vw;
}

.reason .reason_title{
  font-weight: 900;
}

.reason .reason_title span{
  color: #F78E04;
  font-size: 1.5rem;
}

/* 料金 */
.price_option_suboptional_container{
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

.option p{
  font-size: 1.1rem;
}

/* 吹き出し */
.recommendation {
  position: absolute;
  top: -5.5rem;
  left: 50%;
  transform: translateX(-50%);
  padding: 1rem;
  border-radius: 30px;
  background-color: #F78E04;
  color: white;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.05rem;
  width: fit-content;
  white-space: nowrap; /* 吹き出しが折れないように */
}

.recommendation:before {
  position: absolute;
  top: 100%;
  left: 50%; /* option_title の中央に合わせる */
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-top-color: #F78E04; 
  border-width: 8px;
  content: "";
}


/* ───────────────────────────
   コンテナ（左右の箱＋中央のアイコン）
─────────────────────────── */
.price_option_container {
  display: flex;
  justify-content: center;
  align-items: stretch; /* 高さそろえる */
  /* gap: 2rem; */
  max-width: 1000px;
  width: 100%;
  /* margin: 0 auto; */
}

/* 左右の箱（基本・オプション）は均等幅 */
.price_wrapper,
.option_wrapper {
  flex: 1;
  background: #fff;
  border: 1px solid #909090;
  padding: 2rem;
  border-radius: 12px;
  box-sizing: border-box;
}

.option_wrapper {
  position: relative;
}

/* ───────────────────────────
   中央の＋
─────────────────────────── */
.plus_icon_wrapper {
  display: flex;
  align-items: center;   /* 上下中央 */
  justify-content: center; /* 左右中央 */
}

.plus_icon {
  width: 7vw;
  height: auto;
}

/* ───────────────────────────
   左側（基本料金）
─────────────────────────── */
.breakdown {
  color: #2F3A45;
  font-weight: 900;
  font-size: 3vw;
  text-align: center;
  margin-bottom: 0.5rem;
}

.yen {
  color: #F78E04;
  text-align: center;
  font-size: 2vw;
  white-space: nowrap; /* ← 改行禁止！ */
}

.yen span {
  font-weight: 900;
  font-size: 4vw;
  margin: 0 0.25rem;
}

.yen_space {
  margin-bottom: 1.5rem;
}

.basic_note {
  text-align: left;
  font-size: 0.8rem;
  margin-top: 1.5rem;
  line-height: 1.5;
  font-weight: 900;
  color: #7A7777;
}

/* ───────────────────────────
   右側（オプション）
─────────────────────────── */
.option_title {
  border-radius: 11px 11px 0 0;
  background-color: #909090;
  color: #fff;
  text-align: center;
  font-weight: 900;
  padding: 0.5rem 0;
  margin: -2rem -2rem 1rem -2rem; 
}

.option {
  padding: 1rem 0;
}

.option p {
  text-align: center;
  margin: 1rem 0;
  font-weight: 900;
  color: #7A7777;
  font-size: 1.2rem;
}

.option_yen{
  margin-bottom: 1.5rem;
}

/* チェック項目 */
.value {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.value1,
.value2 {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}

.value1 img,
.value2 img {
  width: 5vw;
  position: relative;
}

.value_name {
  font-size: 1.3rem;
  font-weight: 900;
  color: #7A7777;
}

.value_description {
  font-size: 0.8rem;
  line-height: 1.5;
  color: #7A7777;
  font-weight: 900;
}

.sub_optional_container{
  border-radius: 12px;
}

.sub_optional_container h3{
  font-size: 2.5vw;
  color: #F78E04;
  text-align: center;
  margin-bottom: 3rem;
}

.sub_optional_container .sp_br{
  display: none;
}

.sub_optional_container .menu{
  display: flex;
  justify-content: center;
  color: #2F3A45;
  font-weight: 900;
}

.left_box {
  border-right: 5px dashed #E0E0E0; 
  padding-right: 1rem; 
}


.menu .left_box .menu_name_note{
  font-size: 0.8rem;
  color: #7A7777;
  margin-top: -1rem;
}

.sub_optional_container .menu span{
  font-size: 0.8rem;
}


.menu_name{
  font-size: 1.2rem;
  line-height: 1rem;
  margin-bottom: 1rem;
}

.sub_optional_container .menu .menu_name_yen span {
  font-size: 1.5rem;
}

.menu_name_note2{
  font-size: 0.8rem;
}

.right_box {
  padding-left: 2rem; /* 必要なら中身との余白調整 */
}



/* ご利用までの流れ */
.flow_chart{
  padding: 0 10%;
}

.flow_design {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow {
  width: 100%;
  padding-left: 0;
  border-bottom: solid 1px #E1E8ED;
}

.flow > li {
  list-style-type: none;
  display: flex;
  padding: 20px 0;
  border-top: solid 1px #E1E8ED;
}

.flow > li dl dt {
  font-size: 1.3rem;
  line-height: 2;
  font-weight: bold;
  margin-bottom: 10px;
  color: #F78E04;
}

.flow > li .icon {
  line-height: 1;
  font-size: 2em;
  font-weight: bold;
  color: #4D4D4D;
  text-align: center;
  width: 70px;
  position: relative;
  margin-top: 0;
}

.flow > li .icon::before {
  content: 'STEP';
  font-size: 0.3em;
  display: block;
  margin-bottom: 3px;
  letter-spacing: 1px;
}

.flow > li .icon::after {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 40px);
  background-color: #858585;
  position: absolute;
  left: 0;
  right: 0;
  top: 60px;
  margin: auto;
}

.flow > li dl dd {
  margin: 0;
  font-size: 1.2rem;
}

.flow > li dl {
  width: calc(100% - 70px);
  margin-top: 0.8em;
}

.flow li img{
  width: 17vw;
}

.flow_chart .merit{
  font-weight: 900;
  font-size: 1.1rem;
  text-align: center;
  margin: 1rem 0;
}

.flow_chart .merit span{
  color: #ed551b;
  font-size: 2rem;
  padding-left:0.25rem;
  padding-right:0.35rem;
  position: relative;
  top: 0.2rem;
}

/* よくあるご質問 */
.faq{
  background-color: #F5F5F5;
  padding-bottom: 5rem;
}

/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    margin:0 auto;
    padding: 5% 10%;
    font-size: 1.2rem;
}

.accordion-area li{
    margin: 10px 0;
    background-color: #fff;
}

.accordion-area section {
	border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-weight: normal;
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
    font-size: 1.2rem;
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    
}
.title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    
}
.title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);

}

/*　closeというクラスがついたら形状変化　*/

.title.close::before{
	transform: rotate(45deg);
}

.title.close::after{
	transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
    background: #f3f3f3;
	margin:0 3% 3% 3%;
    padding: 3%;
}

/* SkiPお問い合わせ */
.contact_title{
  padding-bottom: 0;
}

/* フォーム部分 */
.first_right .form_container2{
  width: 26rem;
  border: #F78E04 solid 2px;
  border-top-left-radius: 10px;   
  border-top-right-radius: 10px; 
}

.form_title2{
  color:#F78E04;
  font-size: 1rem;
  text-align: center;
  font-weight: 900;
}

.first_right .form_container2 .form_title2 span{
  font-size: 1rem;
  font-weight: bold;
}

.label_area2{
  padding: 5% 30%;
  margin: 0 auto;
  background-color: #ffffff;
}

.error_msg{
  font-size: 1vw;
  color: red;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

.contact-form {
  max-width: 400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem; 
}

.form_group2 {
  display: flex;
  flex-direction: column; 
  margin-bottom: 1rem;
}

.form_group2 label {
  font-weight: bold;
  font-size: 1.2rem;
  color: #333;
}

.form_group2 label img{
  width: 0.8rem;
  margin-left: 0.1rem;
}

.form_group2 input,
.form_group2 textarea {
  padding: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 1.2rem;
  box-sizing: border-box;
  margin-bottom: 0.5rem;
}

.privacypolicy2{
  font-size: 1rem;
}

.privacypolicy2 a{
  text-decoration: none; 
  color: #0078d7; 
}

.submit_btn {
  background-color: #F78E04;
  color: #fff;
  border: none;
  padding: 0.25rem 1rem;
  font-size: 1rem;
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  margin: 0 auto;
  transition: all 0.3s ease;
  font-weight: bold;
}

.submit_btn:hover {
  background-color: #F5B817;
  opacity: 0.9; 
}

.submit_btn p{
  margin: 1rem;
}

.submit_btn img{
  width: 2rem;
}

/* 企業情報 */
.company_info{
  position: relative;
  background-image: url("../img/nomura_bldg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 5% 10%;
  margin-top: 2%;
  overflow: hidden;
}

/* オーバーレイ */
.company_info::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.35);
  z-index: 1;
}

.company_info_container{
  position: relative; 
  z-index: 2;
  padding: 5%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  gap: 3rem;
}



.left_side {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.alj_headoffice{
  width: 15rem;
}

.alj_logo_wrap{
  display: flex;
}

.alj_logo{
  width: 5rem;
}

.alj_logo_txt{
  color: #283558;
  font-size: 0.9rem;
  margin-left: 0.5rem;
  margin-bottom: 0;
}

.right_side{
  font-size: 1rem;
  font-weight: 900;
}

.right_side td:first-child {
  vertical-align: top;
}

/* フッター */
.footer{
  background-color: #F78E04;
  padding: 2%;
  display: flex;
  justify-content: space-around;
}

.footer a{
  text-decoration: none;
}

.footer .left{
  display: flex;
}

.footer .left img{
  width: 6rem;
}

.footer .left p{
  color: #fff;
  position: relative;
  margin-left: 0.5rem;
  top: 0.25rem;
}

.footer .right p{
  color: #fff;
  font-weight: 900;
}


/* --------------------------
レスポンシブ
-------------------------- */
@media (max-width:430px){

  section {
    scroll-margin-top: 0; /* ← ヘッダーの高さに合わせて調整 */
  }
  /* グローバルナビ */
  .navi{
    display: none;
  }

  /* ファーストビュー */
  .first_view{
    display: block;
    height: auto;
    padding-top: 0;
  }

  .first_left .first_view_logo{
    width: 60vw;
  }


  .main_copy {
    font-size: 1.3rem;
  }
  
  .sub_copy{
    font-size: 0.9rem;
  }

  .cta_botton{
    width: 15rem;
    height: 4rem;
    padding: 1% 3% 0;
    margin: 0 auto 3%;
  }

  .cta_botton .text p{
    font-size: 0.8rem;
  }

  .cta_botton .text p span{
    font-size: 1.1rem;
  }

  .cta_botton .text .cta_pc {
    display: none;
  }
  .cta_botton .text .cta_sp {
    display: block;
  }

  /* フォーム部分 */
  .first_right .form_container{
    width: 100%;
    display: none;
  }
  
  /* こんなお悩みありませんか？ */
  .problems{
    padding: 5%;
  }

  .problems h2{
    font-size: 1.2rem;
  }

  .problems .sp_br{
    display: block;
  }


  .problems .cards{
    display: block;
  }

  .problems .cards .card {
    width: 100%;
    margin-bottom: 2rem;
  }

  .upper_box p{
    font-size: 3vw;
  }

  .upper_box p span{
    font-size: 4.5vw;
  }

  .upper_box img{
    width: 30vw;
  }

  .upper_box img.annoyed_lady,
  .upper_box img.annoyed_man{
    width: 32vw;
  }
  
  .lower_box p{
    font-size: 3vw;
  }

  .lower_box p span{
    font-size: 5vw;
  }

  .lower_box p .trouble1{
    font-size: 5vw;
  }

  .lower_box .smile_man1,.lower_box img, .lower_box .smile_lady1 {
    width: 35vw;
  }

  /* 共通 */
  .section_title h1{
  font-size: 1.3rem;
}

  /* 特徴 */
  .feature{
    gap: 0;
  }

  .feature1,
  .feature3 .container{
    display: block;
    padding: 5%;
  }

  .feature1 img,
  .feature2 .wrap2 img,
  .feature3 img{
    display: none;
  }

  .feature1 .wrap h2,
  .feature2 .wrap h2,
  .feature3 .wrap h2{
    font-size: 5vw;
  }

  .feature1 .wrap p,
  .feature2 .wrap p,
  .feature3 .wrap p{
    font-size: 4vw;
  }

  .feature2 .wrap2 p{
    display: none;
  }

  .feature1 .wrap .sp_feature_images{
    display: block;
    width: 60vw;
    margin: auto; 
  }

  .feature2 {
    display: block;
    padding: 5%;
  }

  .feature2 .wrap .sp_feature_images{
    display: block;
    width: 60vw;
    margin: auto; 
  }

  .feature3 .wrap .smaller_description{
    font-size: 4vw;
  }

  .feature3 .wrap .sp_feature_images{
    display: block;
    width: 80vw;
    margin: auto; 
  }

  /* CTAボタン「3分でわかる資料をダウンロード」 */
  .center_cta_botton{
  width: 15rem;
  height: 4rem;
  padding: 0 3%;
  }



.center_cta_botton .text p{
  font-size: 0.7rem;
}

.center_cta_botton .text p span{
  font-size: 1.1rem;
}

.center_cta_botton .icon img{
  top: 1rem;
}

/* 広告「デモを体験する」 */
.ad_demo .right_area img{
  width: 50vw;
}

  /*  */
  /* お客様の声 */
.voice{
  display: none;/* PC用非表示 */
}

.voice2{
  display: block;
  background: linear-gradient(to right, #EDEDED, #FFF9E6);
  padding-bottom: 3rem;
  overflow-x: hidden; 
  position: relative;
}

.slider2{
    position: relative;
    z-index: 1;
    padding-bottom: 20px;
    padding: 5%;
}

.slider2 li {
    height:auto;
    border-radius: 10px;
    background-color: #fff;
    display: flex!important;
    justify-content: center;
    gap: 2rem;
    padding: 5%;
    margin-bottom: 1rem;
}

.slider2 li .left_area{
  display: flex;
  flex-direction: column; 
  align-items: center; 
}

.slider2 li .left_area img{
  width: 6rem;
}

.slider2 li .left_area p{
  font-size: 0.7rem;
  font-weight: 900;
}

.slider2 li .right_area{
  font-family: "Klee One", cursive;
  font-weight: 600;
  font-style: normal;
}

.slider2 li .right_area h4{
  margin-top: 0;
  margin-bottom: 0.5rem;
  color: #F78E04;
  font-size: 1.2rem;
}

.slider2 li .right_area p{
  font-size: 4vw;
}

  /* 費用対効果 */
  .roi{
    padding: 2% 5%;
  }

  .roi_wrapper{
    display: block;
    padding: 0;
  }

  .roi .section_title img{
    width: 10vw;
  }

  .roi_wrapper .case{
    padding: 4% 0 4% 4%;
    margin-bottom: 1rem; 
  }

  .roi_wrapper .case:last-child {
    margin-bottom: 0;
  }

  .roi_wrapper .case img{
    width: 20vw;
  }

  .case .case_study .sp_large{
    font-size: 4vw;
    letter-spacing: -0.5vw;
  }

  .case_notes_wrapper{
    margin: 0;
    padding: 0.5rem 0 0 0;
  }


  /* SkiP伴走支援が選ばれる理由 */
  .introduction{
    font-size: 3.5vw;
    padding: 2%;
  }

  .introduction span{
    font-size: 1.2rem;
  }

  .reason_wrapper{
    display: block;
  }

  .reason img{
    width: 45vw;
  }

  /* 料金 */

  .price_option_suboptional_container{
    width: 90%;
  }

  .price_option_container{
    flex-direction: column;
    padding: 0;
    gap: 3vw;
  }

  .breakdown{
    font-size: 5vw;
  }

  .yen{
    font-size: 4vw;
  }

  .yen span{
    font-size: 8vw;
  }

  .basic_note{
    font-size: 3vw;
  }

  .option p{
    font-size: 4vw;
  }

  .value1 img, .value2 img{
    width: 8vw;
  }

  .value_description{
    font-size: 3vw;
    letter-spacing: -0.15vw;
  }

  .sub_optional_container{
    flex-direction: column;
    padding: 5%;
    gap: 2vw;
  }

  .sub_optional_container h3{
    font-size: 5vw;
    margin-bottom: 1rem;
  }

   .sub_optional_container .sp_br{
    display: inline;
  } 

  .sub_optional_container .menu{
    display: block;
  }

  .left_box {
    border-right: none; 
    padding-right:0; 
    border-bottom: 5px dashed #E0E0E0; 
  }

  .right_box{
    padding-left: 0;
    margin-top: 1rem;
  }

  .menu_name{
    font-size: 4.5vw;
  }


  .recommendation{
    display: none;
  }

  /* ご利用までの流れ */
  .flow_chart{
    padding: 2% 5%;
  }

  .flow_design{
    width: 100%;
  }

  .flow li img{
    width: 20%;
    display: none;
  }

  .flow > li dl dt {
    font-size: 5.5vw;
  }

  .flow > li dl dd {
    font-size: 4.5vw;
  }

  .merit{
    font-size: 1rem;
  }

  /* 広告 */
  .ad_demo{
    flex-direction: column;
    margin: 2% 5%;
    padding: 5%;
    gap: 0;
  }


  /* よくある質問 */
  .accordion-area{
    padding: 5%;
    font-size: 5vw;
  }

  .title{
    font-size: 5vw;
  }

  /* 問い合わせ */
  .label_area2{
    padding: 5%;
  }

  .form_group2 label{
    font-size: 4vw;
  }

  .error_msg{
    font-size: 3vw;
  }



  /* 企業情報 */
  .company_info{
    padding: 5%;
  }
  
  .company_info_container{
    display: block;
  }

  .alj_headoffice{
    width: 100%;
  }
  
  .right_side{
    font-size: 3vw;
  }



  /* フッター */
  .footer{
    display:block;
    padding: 5%;
  }

  .footer .right{
    font-size: 0.7rem;
    text-align: center;
  }

  /* スマホ用ハンバーガーメニュー */
/*========= ナビゲーションのためのCSS ===============*/
.sp_gnavi{
  display: inline;
}

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:0;
    right: -120%;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background:#999;
    /*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
    text-align: center;
}

#g-nav li a{
	color: #333;
	text-decoration: none;
	padding:10px;
	display: block;
	letter-spacing: 0.1em;
	font-weight: bold;
}

/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #666;
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
  
}