

body{
  padding: 0;
  margin: 0;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  text-align: justify;
  color: hsla(0,0%,23%,1.00);
}


a{
  text-decoration: none;
  color: hsla(0,0%,23%,1.00);
  opacity: 1;
}
a:hover{
  opacity: 0.6;
}






.header_pc{
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background-color: hsla(0,0%,100%,1.00);
  z-index: 999999;
  box-shadow: 0 0 5px gray;
}
.header_nk{
  display: flex;
  justify-content: space-between;
  width: 1100px;
  margin: auto;
}
.header_left{
  display: block;
}
.header_left a{
  display: block;
  font-weight: bold;
  margin-top: 8px;
}
.header_left a span{
  display: block;
  font-size: 1.6em;
  color: hsla(200,100%,38%,1.00);
}
.header_center{
  display: flex;
  justify-content: center;
}
.header_center a{
  display: block;
  padding: 0 15px;
  line-height: 80px;
  font-weight: bold;
  font-size: 16px;
}
.header_right{
  display: block;
}
.header_right a{
  display: block;
  padding: 10px 30px;
  background-color: hsla(17,71%,52%,1.00);
  border-radius: 100px;
  color: #FFFFFF;
  margin-top: 18px;
  font-weight: bold;
}


/*ハンバーガーメニュー*/
.header_sp{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background-color: hsla(0,0%,100%,1.00);
  z-index: 999999;
  box-shadow: 0 0 5px gray;
}
.header_left_sp{
  display: block;
  margin-left: 2%;
  width: 25%;
}
.header_left_sp a{
  display: block;
  font-weight: bold;
  margin-top: 8px;
}
.header_left_sp a span{
  display: block;
  font-size: 1.6em;
  color: hsla(200,100%,38%,1.00);
}
nav {
    position: fixed;
    top: 80px;
    width: 100%;
    z-index: 999999;
  background-color: #E1EAEF;
}
nav ul {
    /*最初はナビゲーションボタンは非表示*/
    display: none;
    list-style:none;
  padding: 0;
}
nav li a{
    padding: 15px 0;
  width: 100%;
    font-size: 16px;
    color: #0082D2;
  font-weight: bold;
    display: block;
    text-align: center;
    text-decoration: none;
}
.hamburger {
    position: absolute;
    top: 32px;
    right:32px;
    cursor: pointer;
    width: 32px;
    height: 24px;
    z-index: 10;
}
.hamburger span {
    /*3本の線を作る*/
    transition: all .3s;
    position: absolute;
    height: 2px;
    background-color: #333;
    width:100%;
    z-index: 10;
}
.hamburger span:nth-of-type(1) {
    /*上の線の位置*/
    top: 4px;
}
.hamburger span:nth-of-type(2) {
    /*真ん中の線の位置*/
    top: 12px;
}
.hamburger span:nth-of-type(3) {
    /*下の線の位置*/
    top: 20px;
}
.hamburger.open span:nth-of-type(1) {
    /*openのとき、上の線を右斜めにする*/
    top: 10px;
    transform: translateY(6px) rotate(-33deg);
}
.hamburger.open span:nth-of-type(2) {
    /*真ん中の線を消す*/
    opacity: 0;
}
.hamburger.open span:nth-of-type(3) {
    /*下の線を左斜めにする*/
    top: 22px;
    transform: translateY(-6px) rotate(33deg);
}
/* 閉じた状態：displayは触らない */
#header-menu{
  display: none;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition: max-height .35s ease, opacity .25s ease, transform .25s ease;
  will-change: max-height, opacity, transform;
}

/* 開いた状態 */
#header-menu.is-open{
  display: block;
  max-height: 500px; /* メニューの最大高さより大きければOK */
  opacity: 1;
  transform: translateY(0);
  z-index: 999990;
}




main{
  display: block;
  width: 100%;
  height: auto;
}

.main_view{
  display: block;
  position: relative;
  width: 100%;
  height: 55vw;
  background-color: hsla(0,0%,95%,1.00);
  background-image: url("../img/top_bg.jpg");
  background-size: cover;
  background-position: center center;
}
.top_img{
  display: block;
  position: absolute;
  width: 80%;
  height: auto;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.onayami_st{
  display: block;
  position: relative;
  padding: 100px 0 50px 0;
  width: 100%;
  height: auto;
  background-color: #E3EBEF;
  z-index: 9999;
}
.onayami_st :after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-width: 5vw 50vw 0 50vw;
  border-style: solid;
  border-color: #E3EBEF transparent transparent transparent;  
}

.onayami{
  display: block;
  width: 1000px;
  margin: auto;
}
.onayami h1{
  display: block;
  text-align: center;
  font-size: 40px;
}
.onayami h1 span{
  color: hsla(201,100%,39%,1.00);
}

.onayami_list{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 1000px;
}
.ol_box{
  display: flex;
  justify-content: center;
  width: 480px;
  height: 60px;
  background-color: #FFFFFF;
  margin: 10px 10px;
  text-align: center;
  line-height: 60px;
  font-weight: bold;
  font-size: 15px;
  box-shadow: 0 0 5px gray;
}
.ol_box span{
  color: hsla(202,100%,40%,1.00);
  font-weight: 900;
  font-size: 30px;
  line-height: 60px;
}
.nayami_hito{
  display: block;
  width: 180px;
  margin: 50px auto 0;
}




.kaiketsu_st{
  display: block;
  width: 100%;
  height: auto;
  padding: 150px 0 100px 0;
}
.kaiketsu{
  display: block;
  width: 1000px;
  margin: auto;
}
.kaiketsu h1{
  display: block;
  text-align: center;
  font-size: 40px;
}
.kaiketsu h1 span{
  color: hsla(202,100%,40%,1.00);
}
.kaiketsu p{
  text-align: center;
}
.kaiketsu img{
  display: block;
  margin: 60px auto 0;
  width: 900px;
}




.tokucho_st{
  display: block;
  position: relative;
  padding: 100px 0 100px 0;
  width: 100%;
  height: auto;
  background-color: #E3EBEF;
  z-index: 9999;
}
.tokucho{
  display: block;
  width: 1000px;
  margin: auto;
}
.tokucho h1{
  display: block;
  text-align: center;
  font-size: 40px;
  line-height: 50px;
  z-index: 10000;
}
.tokucho h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 30px;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}
.tokucho_flex{
  display: flex;
  justify-content: space-between;
  margin: 50px auto 0;
}
.tokucho_flex_box{
  display: block;
  width: 320px;
  height: auto;
  background-color: #FFFFFF;
  padding: 20px 0;
}
.tokucho h2{
  text-align: center;
  font-size: 16px;
  color: hsla(201,100%,39%,1.00);
}
.tokucho h2 span{
  font-size: 30px;
  margin-left: 5px;
}
.tokucho_hr{
  width: 50px;
  border-top: solid 2px hsla(202,100%,40%,1.00);
}
.tokucho p{
  text-align: center;
}
.tokucho p span{
  color: hsla(201,100%,39%,1.00);
}
.tokucho_flex_box_phot{
  display: block;
  width: 280px;
  height: 150px;
  background-color: #F1F0E7;
  margin: 0 auto 0px;
}
.ira1{
  display: block;
  width: 280px;
  height: 150px;
  background-image: url("../img/ira1.png");
  background-repeat: no-repeat;
  background-size: 40%;
  background-position: center center;
}
.ira2{
  display: block;
  width: 280px;
  height: 150px;
  background-image: url("../img/ira2.png");
  background-repeat: no-repeat;
  background-size: 70%;
  background-position: center center;
}
.ira3{
  display: block;
  width: 280px;
  height: 150px;
  background-image: url("../img/ira3.png");
  background-repeat: no-repeat;
  background-size: 70%;
  background-position: center center;
}





.gyoumu_st{
  display: block;
  position: relative;
  padding: 100px 0 100px 0;
  width: 100%;
  height: auto;
  background-color: #FFFFFF;
  z-index: 9999;
}
.gyoumu{
  display: block;
  width: 1000px;
  margin: auto;
}
.gyoumu h1{
  display: block;
  text-align: center;
  font-size: 40px;
  line-height: 50px;
  z-index: 10000;
}
.gyoumu h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 30px;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}
.gyoumu_flex{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 50px auto 0;
}
.gyoumu_flex_box{
  display: block;
  width: 300px;
  height: auto;
  background-color: #FFFFFF;
  box-shadow: 0 0 5px gray;
  margin: 20px 10px;
  border-radius: 20px;
  overflow: hidden;
}
.gyoumu_flex_box h2{
  display: block;
  width: 100%;
  height: 50px;
  background-color: hsla(201,100%,39%,1.00);
  margin: auto;
  text-align: center;
  line-height: 50px;
  color: #FFFFFF;
  font-size: 18px;
}
.gyoumu_flex_box ul{
  display: flex;
  flex-wrap: wrap;
  list-style: disc;
}
.gyoumu_flex_box ul li{
  width: 100%;
  font-family: 14px;
  list-style: disc;
}








.plan_st{
  display: block;
  position: relative;
  padding: 100px 0 100px 0;
  width: 100%;
  height: auto;
  background-color: #E1EAEF;
  z-index: 9999;
}
.plan_nk{
  display: block;
  width: 1000px;
  margin: auto;
}
.plan_nk h1{
  display: block;
  text-align: center;
  font-size: 40px;
  line-height: 50px;
  z-index: 10000;
}
.plan_nk h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 30px;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}
.plan_flex{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 50px auto 0;
}

/* ---- Pricing Section ---- */
.pricing{
  padding: 34px 16px 64px 16px;
  background: #f7f8fb;
  font-family: system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;
  margin-top: 70px;
}

.pricing__inner{
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

.plan{
  min-width: 0;           /* ←重要：中身の長い文字で横に広がるのを防ぐ */
  max-width: 100%;
  overflow: hidden;       /* はみ出しをカード内に収める */
}

.pricing__head{
  text-align: center;
  margin-bottom: 28px;
}

.pricing__title{
  font-size: clamp(24px, 2.4vw, 34px);
  letter-spacing: .02em;
  margin: 0 0 6px;
}

.pricing__lead{
  margin: 0;
  color: #556;
  font-size: 14px;
}

/* 3 columns */
.pricing__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  align-items: stretch;
}

/* ---- Plan Card ---- */
.plan{
  background: #fff;
  border: 1px solid #e8eaf1;
  border-radius: 16px;
  padding: 22px 20px;
  box-shadow: 0 10px 24px rgba(10, 20, 40, .06);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.plan__top{
  padding-bottom: 14px;
  border-bottom: 1px dashed #e7e9f2;
  margin-bottom: 14px;
}

.plan__badge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef2ff;
  color: #2b4bff;
  margin: 0 0 10px;
}

.plan__badge--hot{
  background: #fff3e6;
  color: #d86000;
}

.plan__name{
  margin: 0 0 10px;
  font-size: 18px;
}

.plan__price{
  margin: 0 0 6px;
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.plan__yen{
  font-weight: 700;
  color: #223;
}

.plan__amount{
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #111827;
}

.plan__unit{
  color: #667;
  font-size: 14px;
}

.plan__desc{
  margin: 0;
  color: #667;
  font-size: 13px;
}

/* Feature list */
.plan__list{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  color: #334;
  flex: 1; /* ボタンを下に固定 */
}

.plan__list li{
  position: relative;
  padding-left: 22px;
  line-height: 1.5;
  font-size: 14px;
}

.plan__list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .45em;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #22c55e; /* チェック風の丸 */
  box-shadow: 0 0 0 3px rgba(34, 197, 94, .14);
}

/* Button */
.plan__btn{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 46px;
  margin-top: 16px;
  border-radius: 12px;
  border: 1px solid #d7dbe8;
  text-decoration: none;
  color: #111827;
  font-weight: 700;
  background: #fff;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.plan__btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(10, 20, 40, .10);
  border-color: #c8cde0;
}

.plan__btn--primary{
  background: #2b4bff;
  border-color: #2b4bff;
  color: #fff;
}

/* Recommended plan accent */
.plan--recommended{
  border-color: rgba(43, 75, 255, .35);
  box-shadow: 0 16px 34px rgba(43, 75, 255, .14);
  transform: translateY(-6px);
}

/* ---- Responsive ---- */
@media (max-width: 900px){
  .pricing__grid{
    grid-template-columns: 1fr;
  }
  .plan--recommended{
    transform: none;
  }
}

.plan_under{
  display: block;
  position: relative;
  top: 110px;
  text-align: center;
  font-size: 14px;
}





.flow{
  display: block;
  padding: 100px 0 0 0;
}
.flow h1{
  margin-bottom: 70px;
}
.flow_box{
  display: flex;
  justify-content: space-between;
  width: 900px;
  background-color: #FFFFFF;
  padding: 30px 50px 10px 50px;
  border-radius: 10px;
}
.flow_box_left{
  display: flex;
  width: 250px;
}
.flow_box_left span{
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 100px;
  border: solid 2px hsla(201,100%,39%,1.00);
  text-align: center;
  line-height: 40px;
  color: hsla(201,100%,39%,1.00);
  font-weight: bold;
  margin-right: 20px;
  background-color: #FFFFFF;
  box-shadow: 3px 3px 5px gray;
}
.flow_box_left p{
  display: inline-block;
  color: hsla(201,100%,39%,1.00);
  font-weight: bold;
  line-height: 25px;
  font-size: 20px;
  margin-top: 0px;
}
.fb_nigyo{
  display: block;
  line-height: 25px!important;
  margin-top: 0!important;
}
.flow_box_right{
  display: inline-block;
  width: 650px;
  margin-top: -10px;
}
.flow_box_right strong{
  display: block;
}




.dli-chevron-down {/*Flowの下矢印*/
  display: block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 1em;
  height: 1em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  margin: 20px auto;
}






.voice_st{
  display: block;
  position: relative;
  padding: 100px 0 100px 0;
  width: 100%;
  height: auto;
  background-color: #FFFFFF;
  z-index: 9999;
}
.voice{
  display: block;
  width: 1000px;
  margin: auto;
}
.voice h1{
  display: block;
  text-align: center;
  font-size: 40px;
  line-height: 50px;
  z-index: 10000;
}
.voice h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 30px;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}
.voice_flex{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 50px auto 0;
}
.voice_box{
  display: block;
  width: 270px;
  height: auto;
  margin: 10px;
  box-shadow: 0 0 5px gray;
  border-radius: 10px;
  padding: 20px;
}
.voice_box_phot{
  display: block;
  width: 180px;
  height: 180px;
  background-color: #DFEAF0;
  border-radius: 120px;
  margin: 20px auto;
}
.vb_one{
  background-image: url("../img/hito3.png");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center center;
}
.vb_two{
  background-image: url("../img/hito2.png");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center center;
}
.vb_three{
  background-image: url("../img/hito1.png");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center center;
}
.voice_box p{
  font-size: 14px;
}
.voice_box h2{
  display: block;
  padding-left: 20px;
  border-left: solid 3px hsla(202,100%,40%,1.00);
  font-size: 15px;
}
.voice_box h2 span{
  display: inline-block;
  font-size: 18px;
  margin-left: 20px;
}






.contact_st{
  display: block;
  position: relative;
  padding: 60px 0 60px 0;
  width: 100%;
  height: auto;
  background-color: #E1EAEF;
  z-index: 9999;
}
.contact{
  display: block;
  width: 1000px;
  margin: auto;
}
.contact h1{
  display: block;
  text-align: center;
  font-size: 40px;
  line-height: 50px;
  z-index: 10000;
}
.contact h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 30px;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}

.contact_flex{
  display: flex;
  justify-content: center;
  margin: 60px auto 0;
}
.contact_flex img{
  display: block;
  width: 400px;
  margin: 0 30px;
}
.contact p{
  text-align: center;
  font-size: 12px;
  margin: 40px auto 0;
}





footer{
  display: block;
  width: 100%;
  height: auto;
}
.footer_up{
  display: flex;
  justify-content: center;
  width: 1000px;
  margin: auto;
  padding: 50px 0;
}
.footer_up a{
  display: block;
  margin: 0 15px;
  font-weight: bold;
}
.footer_down_st{
  display: block;
  width: 100%;
  height: auto;
  padding: 60px 0;
  background-color: hsla(201,100%,39%,1.00);
}
.footer_down{
  display: flex;
  justify-content: space-between;
  width: 1000px;
  margin: 0px auto 0;
}
.footer_down_left{
  display: block;
  width: 600px;
  height: auto;
}
.footer_down_left_up{
  display: flex;
  font-size: 12px;
  color: #FFFFFF;
}
.footer_down_left_up a{
  color: #FFFFFF;
  margin: 0 10px;
}
.footer_down_left_down{
  display: block; 
}
.footer_down_left_down p{
  display: block;
  color: #FFFFFF;
  font-weight: bold;
}
.footer_down_left_down p span{
  display: block;
  font-size: 30px;
  opacity: 0.6;
}
.footer_down_right{
  font-family: "Pacifico", cursive;
  font-weight: 400;
  font-style: normal;
  font-size: 70px;
  color: #FFFFFF;
}
.footer_under{
  display: block;
  width: 100%;
  height: auto;
  background-color: hsla(203,100%,6%,1.00);
  text-align: center;
  color: #FFFFFF;
  font-size: 12px;
  padding: 10px 0;
}







.main_view_sub{
  display: block;
  width: 100%;
  height: 300px;
  background-color: hsla(0,0%,76%,1.00);
  background-image: url("../img/top_bg.jpg");
  background-size: cover;
  background-position: center center;
}
.main_view_sub h1{
  display: block;
  text-align: center;
  line-height: 350px;
  color: hsla(201,100%,39%,1.00);
  text-shadow: 0 0 5px white;
}





.company_st{
  display: block;
  position: relative;
  padding: 100px 0 100px 0;
  width: 100%;
  height: auto;
  background-color: #FFFFFF;
  z-index: 9999;
}
.company{
  display: block;
  width: 1000px;
  margin: auto;
}
.company h1{
  display: block;
  text-align: center;
  font-size: 40px;
  line-height: 50px;
  z-index: 10000;
}
.company h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 30px;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}


.company_table{
  display: block;
  width: 1000px;
  margin: 60px auto 0;
}
.company_table tr{
  display: flex;
  width: 100%;
  height: auto;
}
.company_table tr th{
  display: block;
  width: 170px;
  padding: 40px 0 40px 30px;
  border-bottom: solid 2px hsla(201,100%,39%,1.00);
}
.company_table tr td{
  display: block;
  width: 770px;
  padding: 40px 0 40px 30px;
  border-bottom: solid 2px hsla(0,0%,77%,1.00);
}





.privacy_st{
  display: block;
  position: relative;
  padding: 100px 0 100px 0;
  width: 100%;
  height: auto;
  background-color: #FFFFFF;
  z-index: 9999;
}
.privacy{
  display: block;
  width: 1000px;
  margin: auto;
}
.privacy h1{
  display: block;
  text-align: center;
  font-size: 40px;
  line-height: 50px;
  z-index: 10000;
}
.privacy h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 30px;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}


.privacy_nk{
  display: block;
  width: 800px;
  margin: 80px auto 0;
}

.privacy_nk h2{
  font-size:18px; margin:28px 0 8px;
}
.privacy_nk p,.privacy_nk li{
  font-size:15px;
}
.privacy_nk .note{
  background:#f6f7f8;
  padding:14px 16px;
  border-radius:10px;
  font-size:14px;
}
.privacy_nk .meta{
  color:#555;
  font-size:13px;
  margin-top:6px;
}
.privacy_nk ul{
  padding-left:1.2em;
}
.privacy_nk a{
  color:inherit;
}



.br{
  display: block;
}













/* ============================
   Responsive (<= 600px)
   ============================ */
@media (max-width: 600px){
  
  

.header_pc{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background-color: hsla(0,0%,100%,1.00);
  z-index: 999999;
  box-shadow: 0 0 5px gray;
}
.header_nk{
  display: flex;
  justify-content: space-between;
  width: 1100px;
  margin: auto;
}
.header_left{
  display: block;
}
.header_left a{
  display: block;
  font-weight: bold;
  margin-top: 8px;
}
.header_left a span{
  display: block;
  font-size: 1.6em;
  color: hsla(200,100%,38%,1.00);
}
.header_center{
  display: flex;
  justify-content: center;
}
.header_center a{
  display: block;
  padding: 0 15px;
  line-height: 80px;
  font-weight: bold;
  font-size: 16px;
}
.header_right{
  display: block;
}
.header_right a{
  display: block;
  padding: 10px 30px;
  background-color: hsla(17,71%,52%,1.00);
  border-radius: 100px;
  color: #FFFFFF;
  margin-top: 18px;
  font-weight: bold;
}


/*ハンバーガーメニュー*/
.header_sp{
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 10vw;
  background-color: hsla(0,0%,100%,1.00);
  z-index: 999999;
  box-shadow: 0 0 5px gray;
}
.header_left_sp{
  display: block;
  margin-left: 2%;
  width: 35%;
}
.header_left_sp a{
  display: block;
  font-weight: bold;
  margin-top: 1vw;
  font-size: 2vw;
}
.header_left_sp a span{
  display: block;
  font-size: 1.6em;
  color: hsla(200,100%,38%,1.00);
}
nav {
    position: fixed;
    top: 10vw;
    width: 100%;
    z-index: 999999;
  background-color: #E1EAEF;
}
nav ul {
    /*最初はナビゲーションボタンは非表示*/
    display: none;
    list-style:none;
  padding: 0;
}
nav li a{
    padding: 3vw 0;
  width: 100%;
    font-size: 3vw;
    color: #0082D2;
  font-weight: bold;
    display: block;
    text-align: center;
    text-decoration: none;
}
.hamburger {
    position: absolute;
    top: 2.5vw;
    right: 4vw;
    cursor: pointer;
    width: 6vw;
    height: 6vw;
    z-index: 10;
}
.hamburger span {
    /*3本の線を作る*/
    transition: all .3s;
    position: absolute;
    height: 0.5vw;
    background-color: #333;
    width:100%;
    z-index: 10;
}
.hamburger span:nth-of-type(1) {
    /*上の線の位置*/
    top: 0vw;
}
.hamburger span:nth-of-type(2) {
    /*真ん中の線の位置*/
    top: 2vw;
}
.hamburger span:nth-of-type(3) {
    /*下の線の位置*/
    top: 4vw;
}
.hamburger.open span:nth-of-type(1) {
    /*openのとき、上の線を右斜めにする*/
    top: 1vw;
    transform: translateY(6px) rotate(-33deg);
}
.hamburger.open span:nth-of-type(2) {
    /*真ん中の線を消す*/
    opacity: 0;
}
.hamburger.open span:nth-of-type(3) {
    /*下の線を左斜めにする*/
    top: 3.2vw;
    transform: translateY(-6px) rotate(33deg);
}
/* 閉じた状態：displayは触らない */
#header-menu{
  display: none;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition: max-height .35s ease, opacity .25s ease, transform .25s ease;
  will-change: max-height, opacity, transform;
}

/* 開いた状態 */
#header-menu.is-open{
  display: block;
  max-height: 500px; /* メニューの最大高さより大きければOK */
  opacity: 1;
  transform: translateY(0);
  z-index: 999990;
}




main{
  display: block;
  width: 100%;
  height: auto;
}

.main_view{
  display: block;
  position: relative;
  width: 100%;
  height: 55vw;
  background-color: hsla(0,0%,95%,1.00);
  background-image: url("../img/top_bg.jpg");
  background-size: cover;
  background-position: center center;
}
.top_img{
  display: block;
  position: absolute;
  width: 80%;
  height: auto;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.onayami_st{
  display: block;
  position: relative;
  padding: 5vw 0 10vw 0;
  width: 100%;
  height: auto;
  background-color: #E3EBEF;
  z-index: 9999;
}
.onayami_st :after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-width: 5vw 50vw 0 50vw;
  border-style: solid;
  border-color: #E3EBEF transparent transparent transparent;  
}

.onayami{
  display: block;
  width: 95%;
  margin: auto;
}
.onayami h1{
  display: block;
  text-align: center;
  font-size: 6vw;
}
.onayami h1 span{
  color: hsla(201,100%,39%,1.00);
}

.onayami_list{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
}
.ol_box{
  display: flex;
  justify-content: flex-start;
  width: 97%;
  padding-left: 3%;
  height: 10vw;
  background-color: #FFFFFF;
  margin: 1vw 1vw;
  text-align: justify;
  line-height: 10vw;
  font-weight: bold;
  font-size: 2.8vw;
  box-shadow: 0 0 5px gray;
}
.ol_box span{
  color: hsla(202,100%,40%,1.00);
  font-weight: 900;
  font-size: 5vw;
  line-height: 10vw;
}
.nayami_hito{
  display: block;
  width: 30%;
  margin: 5vw auto 0;
}




.kaiketsu_st{
  display: block;
  width: 100%;
  height: auto;
  padding: 15vw 0 10vw 0;
}
.kaiketsu{
  display: block;
  width: 95%;
  margin: auto;
}
.kaiketsu h1{
  display: block;
  text-align: center;
  font-size: 4.2vw;
}
.kaiketsu h1 span{
  color: hsla(202,100%,40%,1.00);
}
.kaiketsu p{
  text-align: justify;
  font-size: 3.5vw;
  width: 90%;
  margin: auto;
}
.kaiketsu img{
  display: block;
  margin: 5vw auto 0;
  width: 90%;
}
.br{
  display: none;
}




.tokucho_st{
  display: block;
  position: relative;
  padding: 5vw 0 10vw 0;
  width: 100%;
  height: auto;
  background-color: #E3EBEF;
  z-index: 9999;
}
.tokucho{
  display: block;
  width: 95%;
  margin: auto;
}
.tokucho h1{
  display: block;
  text-align: center;
  font-size: 8vw;
  line-height: 8vw;
  z-index: 10000;
}
.tokucho h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 6vw;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}
.tokucho_flex{
  display: block;
  justify-content: space-between;
  margin: 5vw auto 0;
}
.tokucho_flex_box{
  display: block;
  width: 100%;
  height: auto;
  background-color: #FFFFFF;
  padding: 5vw 0;
  margin: 3vw auto;
}
.tokucho h2{
  text-align: center;
  font-size: 5vw;
  color: hsla(201,100%,39%,1.00);
}
.tokucho h2 span{
  font-size: 8vw;
  margin-left: 2vw;
}
.tokucho_hr{
  width: 15vw;
  border-top: solid 2px hsla(202,100%,40%,1.00);
}
.tokucho p{
  text-align: center;
  font-size: 4.5vw;
}
.tokucho p span{
  color: hsla(201,100%,39%,1.00);
}
.tokucho_flex_box_phot{
  display: block;
  width: 90%!important;
  height: 30vw;
  background-color: #F1F0E7;
  margin: 0 auto 0px;
}
.ira1{
  display: block;
  width: 100%;
  height: 40vw;
  background-image: url("../img/ira1.png");
  background-repeat: no-repeat;
  background-size: 40%;
  background-position: center center;
}
.ira2{
  display: block;
  width: 100%;
  height: 40vw;
  background-image: url("../img/ira2.png");
  background-repeat: no-repeat;
  background-size: 70%;
  background-position: center center;
}
.ira3{
  display: block;
  width: 100%;
  height: 40vw;
  background-image: url("../img/ira3.png");
  background-repeat: no-repeat;
  background-size: 70%;
  background-position: center center;
}





.gyoumu_st{
  display: block;
  position: relative;
  padding: 5vw 0 10vw 0;
  width: 100%;
  height: auto;
  background-color: #FFFFFF;
  z-index: 9999;
}
.gyoumu{
  display: block;
  width: 95%;
  margin: auto;
}
.gyoumu h1{
  display: block;
  text-align: center;
  font-size: 8vw;
  line-height: 8vw;
  z-index: 10000;
}
.gyoumu h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 6vw;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}
.gyoumu_flex{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 5vw auto 0;
}
.gyoumu_flex_box{
  display: block;
  width: 100%;
  height: auto;
  background-color: #FFFFFF;
  box-shadow: 0 0 5px gray;
  margin: 2vw 0px;
  border-radius: 20px;
  overflow: hidden;
}
.gyoumu_flex_box h2{
  display: block;
  width: 100%;
  height: 10vw;
  background-color: hsla(201,100%,39%,1.00);
  margin: auto;
  text-align: center;
  line-height: 10vw;
  color: #FFFFFF;
  font-size: 5vw;
}
.gyoumu_flex_box ul{
  display: flex;
  flex-wrap: wrap;
  list-style: disc;
}
.gyoumu_flex_box ul li{
  width: 100%;
  font-size: 4vw;
  list-style: disc;
}








.plan_st{
  display: block;
  position: relative;
  padding: 5vw 0 10vw 0;
  width: 100%;
  height: auto;
  background-color: #E1EAEF;
  z-index: 9999;
}
.plan_nk{
  display: block;
  width: 95%;
  margin: auto;
}
.plan_nk h1{
  display: block;
  text-align: center;
  font-size: 8vw;
  line-height: 8vw;
  z-index: 10000;
}
.plan_nk h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 6vw;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}
.plan_flex{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0vw auto 0;
}

/* ---- Pricing Section ---- */
.pricing{
  padding: 3vw 2vw 5vw 2vw;
  background: #f7f8fb;
  font-family: system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;
  margin-top: 10vw;
}

.pricing__inner{
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

.plan{
  min-width: 0;           /* ←重要：中身の長い文字で横に広がるのを防ぐ */
  max-width: 100%;
  overflow: hidden;       /* はみ出しをカード内に収める */
}

.pricing__head{
  text-align: center;
  margin-bottom: 28vw;
}

.pricing__title{
  font-size: clamp(24px, 2.4vw, 34px);
  letter-spacing: .02em;
  margin: 0 0 6px;
}

.pricing__lead{
  margin: 0;
  color: #556;
  font-size: 3vw;
}

/* 3 columns */
.pricing__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15vw;
  align-items: stretch;
}

/* ---- Plan Card ---- */
.plan{
  background: #fff;
  border: 1px solid #e8eaf1;
  border-radius: 3vw;
  padding: 5vw 5vw;
  box-shadow: 0 10px 24px rgba(10, 20, 40, .06);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.plan__top{
  padding-bottom: 6vw;
  border-bottom: 1px dashed #e7e9f2;
  margin-bottom: 6vw;
}

.plan__badge{
  display: inline-flex;
  align-items: center;
  gap: 3vw;
  font-size: 4vw;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef2ff;
  color: #2b4bff;
  margin: 0 0 2vw;
}

.plan__badge--hot{
  background: #fff3e6;
  color: #d86000;
}

.plan__name{
  margin: 0 0 10px;
  font-size: 5vw;
}

.plan__price{
  margin: 0 0 6px;
  display: flex;
  align-items: baseline;
  gap: 2vw;
}

.plan__yen{
  font-weight: 700;
  color: #223;
}

.plan__amount{
  font-size: 10vw;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #111827;
}

.plan__unit{
  color: #667;
  font-size: 4vw;
}

.plan__desc{
  margin: 0;
  color: #667;
  font-size: 4vw;
}

/* Feature list */
.plan__list{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 4vw;
  color: #334;
  flex: 1; /* ボタンを下に固定 */
}

.plan__list li{
  position: relative;
  padding-left: 6vw;
  line-height: 6.5vw;
  font-size: 3.5vw;
}

.plan__list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .45em;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #22c55e; /* チェック風の丸 */
  box-shadow: 0 0 0 3px rgba(34, 197, 94, .14);
}

/* Button */
.plan__btn{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 10vw;
  margin-top: 4vw;
  border-radius: 12px;
  border: 1px solid #d7dbe8;
  text-decoration: none;
  color: #111827;
  font-weight: 700;
  background: #fff;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.plan__btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(10, 20, 40, .10);
  border-color: #c8cde0;
}

.plan__btn--primary{
  background: #2b4bff;
  border-color: #2b4bff;
  color: #fff;
}

/* Recommended plan accent */
.plan--recommended{
  border-color: rgba(43, 75, 255, .35);
  box-shadow: 0 16px 34px rgba(43, 75, 255, .14);
  transform: translateY(-6px);
}

/* ---- Responsive ---- */
@media (max-width: 900px){
  .pricing__grid{
    grid-template-columns: 1fr;
  }
  .plan--recommended{
    transform: none;
  }
}

.plan_under{
  display: block;
  position: relative;
  top: 20vw;
  text-align: justify;
  font-size: 3.5vw;
}





.flow{
  display: block;
  padding: 20vw 0 0vw 0;
}
.flow h1{
  margin-bottom: 8vw;
}
.flow_box{
  display: block;
  justify-content: space-between;
  width: 90%;
  background-color: #FFFFFF;
  padding: 5%;
  border-radius: 10px;
}
.flow_box_left{
  display: flex;
  width: 100%;
}
.flow_box_left span{
  display: block;
  width: 10vw;
  height: 10vw;
  border-radius: 10vw;
  border: solid 2px hsla(201,100%,39%,1.00);
  text-align: center;
  line-height: 10vw;
  color: hsla(201,100%,39%,1.00);
  font-weight: bold;
  margin-right: 4vw;
  background-color: #FFFFFF;
  box-shadow: 3px 3px 5px gray;
}
.flow_box_left p{
  display: inline-block;
  color: hsla(201,100%,39%,1.00);
  font-weight: bold;
  line-height: 11vw;
  font-size: 5vw;
  margin-top: 0px;
}
.fb_nigyo{
  display: block;
  line-height: 11vw!important;
  margin-top: 0!important;
}
.flow_box_right{
  display: inline-block;
  width: 100%;
  margin-top: 0;
  font-size: 4vw;
}
.flow_box_right strong{
  display: block;
  font-size: 4vw;
}




.dli-chevron-down {/*Flowの下矢印*/
  display: block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 1em;
  height: 1em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  margin: 2vw auto;
}






.voice_st{
  display: block;
  position: relative;
  padding: 5vw 0 10vw 0;
  width: 100%;
  height: auto;
  background-color: #FFFFFF;
  z-index: 9999;
}
.voice{
  display: block;
  width: 95%;
  margin: auto;
}
.voice h1{
  display: block;
  text-align: center;
  font-size: 8vw;
  line-height: 8vw;
  z-index: 10000;
}
.voice h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 6vw;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}
.voice_flex{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 5vw auto 0;
}
.voice_box{
  display: block;
  width: 100%;
  height: auto;
  margin: 2vw;
  box-shadow: 0 0 5px gray;
  border-radius: 10px;
  padding: 5vw;
}
.voice_box_phot{
  display: block;
  width: 50vw;
  height: 50vw;
  background-color: #DFEAF0;
  border-radius: 50vw;
  margin: 5vw auto;
}
.vb_one{
  background-image: url("../img/hito3.png");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center center;
}
.vb_two{
  background-image: url("../img/hito2.png");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center center;
}
.vb_three{
  background-image: url("../img/hito1.png");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center center;
}
.voice_box p{
  font-size: 3.5vw;
}
.voice_box h2{
  display: block;
  padding-left: 5vw;
  border-left: solid 3px hsla(202,100%,40%,1.00);
  font-size: 4vw;
}
.voice_box h2 span{
  display: inline-block;
  font-size: 6vw;
  margin-left: 5vw;
}






.contact_st{
  display: block;
  position: relative;
  padding: 5vw 0 5vw 0;
  width: 100%;
  height: auto;
  background-color: #E1EAEF;
  z-index: 9999;
}
.contact{
  display: block;
  width: 95%;
  margin: auto;
}
.contact h1{
  display: block;
  text-align: center;
  font-size: 8vw;
  line-height: 8vw;
  z-index: 10000;
}
.contact h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 6vw;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}

.contact_flex{
  display: block;
  justify-content: center;
  margin: 5vw auto 0;
}
.contact_flex img{
  display: block;
  width: 100%;
  margin: 2vw auto;
}
.contact p{
  text-align: center;
  font-size: 2.5vw;
  margin: 2vw auto 0;
}





footer{
  display: block;
  width: 100%;
  height: auto;
}
.footer_up{
  display: block;
  justify-content: center;
  width: 90%;
  margin: auto;
  padding: 5vw 0;
}
.footer_up a{
  display: block;
  margin: 0 0;
  font-weight: bold;
}
.footer_down_st{
  display: block;
  width: 100%;
  height: auto;
  padding: 5vw 0;
  background-color: hsla(201,100%,39%,1.00);
}
.footer_down{
  display: block;
  justify-content: space-between;
  width: 90%;
  margin: 0px auto 0;
}
.footer_down_left{
  display: block;
  width: 100%;
  height: auto;
}
.footer_down_left_up{
  display: flex;
  font-size: 3vw;
  color: #FFFFFF;
}
.footer_down_left_up a{
  color: #FFFFFF;
  margin: 0 2vw;
}
.footer_down_left_down{
  display: block; 
}
.footer_down_left_down p{
  display: block;
  color: #FFFFFF;
  font-weight: bold;
  font-size: 1.0em;
}
.footer_down_left_down p span{
  display: block;
  font-size: 8vw;
  opacity: 0.6;
}
.footer_down_right{
  font-family: "Pacifico", cursive;
  font-weight: 400;
  font-style: normal;
  font-size: 15vw;
  color: #FFFFFF;
}
.footer_under{
  display: block;
  width: 100%;
  height: auto;
  background-color: hsla(203,100%,6%,1.00);
  text-align: center;
  color: #FFFFFF;
  font-size: 2.5vw;
  padding: 10px 0;
}







.main_view_sub{
  display: block;
  width: 100%;
  height: 40vw;
  background-color: hsla(0,0%,76%,1.00);
  background-image: url("../img/top_bg.jpg");
  background-size: cover;
  background-position: center center;
}
.main_view_sub h1{
  display: block;
  text-align: center;
  line-height: 43vw;
  color: hsla(201,100%,39%,1.00);
  text-shadow: 0 0 5px white;
  font-size: 7vw;
}





.company_st{
  display: block;
  position: relative;
  padding: 5vw 0 10vw 0;
  width: 100%;
  height: auto;
  background-color: #FFFFFF;
  z-index: 9999;
}
.company{
  display: block;
  width: 95%;
  margin: auto;
}
.company h1{
  display: block;
  text-align: center;
  font-size: 8vw;
  line-height: 8vw;
  z-index: 10000;
}
.company h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 6vw;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}


.company_table{
  display: block;
  width: 95%;
  margin: 5vw auto 0;
}
.company_table tr{
  display: block;
  width: 100%;
  height: auto;
  font-size: 4vw;
}
.company_table tr th{
  display: block;
  width: 90%;
  padding: 5vw 5% 5vw 5%;
  border-bottom: solid 2px hsla(201,100%,39%,1.00);
}
.company_table tr td{
  display: block;
  width: 90%;
  padding: 5vw 5% 5vw 5%;
  border-bottom: solid 6px hsla(0,0%,77%,1.00);
}





.privacy_st{
  display: block;
  position: relative;
  padding: 5vw 0 10vw 0;
  width: 100%;
  height: auto;
  background-color: #FFFFFF;
  z-index: 9999;
}
.privacy{
  display: block;
  width: 95%;
  margin: auto;
}
.privacy h1{
  display: block;
  text-align: center;
  font-size: 8vw;
  line-height: 8vw;
  z-index: 10000;
}
.privacy h1 span{
  display: block;
  color: hsla(201,100%,39%,1.00);
  font-size: 6vw;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  opacity: 0.3;
  z-index: 1000;
}


.privacy_nk{
  display: block;
  width: 90%;
  margin: 5vw auto 0;
}

.privacy_nk h2{
  font-size: 4.5vw;
  margin:28px 0 8px;
}
.privacy_nk p,.privacy_nk li{
  font-size: 3.5vw;
}
.privacy_nk .note{
  background:#f6f7f8;
  padding: 5vw 5vw;
  border-radius:10px;
  font-size:3vw;
}
.privacy_nk .meta{
  color:#555;
  font-size: 3vw;
  margin-top:6px;
}
.privacy_nk ul{
  padding-left:1.2em;
}
.privacy_nk a{
  color:inherit;
}

  
  
  /* ==========================
   iPhone対策：タップ=hover でプランの見た目が崩れるのを無効化
   ========================== */
@media (hover: none) {

  /* プランカード自体のhover演出を止める（影・拡大など） */
  .plan:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  /* リスト側（中身）が広がる/ズレる系のhover影響を止める */
  .plan:hover .plan__list,
  .plan:focus-within .plan__list {
    transform: none !important;
    width: auto !important;
    max-width: 100% !important;
  }

  /* ボタンhoverも止める（すでに入れてるなら重複OK） */
  .plan__btn:hover,
  .plan__btn:active,
  .plan__btn:focus {
    transform: none !important;
    box-shadow: none !important;
  }
}
  
  
  
  
}










































