* { 
    margin: 0; 
    font-feature-settings: "palt";
    scrollbar-gutter: stable;
}
html { 
    overflow-x: hidden;
    font-size: calc(100vw / 200 );  /* remの基準値：1rem=10px */
} 
body {
    font-family: "ryo-gothic-plusn", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #050000 ;
    line-height: 1;
}

/* タイトル */
h1 {
    color: #fff;
    font-size: 7.4rem;
    font-weight: 700;
}
h2 { 
    color: #050000;
    font-size: 5.4rem;
    font-weight: 500;
}
/* セクションタイトル */
h3 { 
    margin-top: -2rem;
    color: #272727;
    font-size: 5.0rem;
    font-weight: 700;
    letter-spacing: 0.2rem;
    text-align: center;
}
h5.sec-label {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: #fff;
    font-size: 10rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 0.8;
}
h5.sec-label .number {
    /* 数値はりょうゴシック */
    font-family: "ryo-gothic-plusn", sans-serif;
    font-weight: 700;
    font-style: normal;
}
p {
    font-size: 1.8rem;
    font-weight: normal;
}
li { list-style: none; }
a { text-decoration: none; }
a:hover { opacity: 0.7; }
section { 
    max-width: 100%;
    width: 100%; 
    display: flex;
    flex-direction: column;
    justify-content: start;
    scrollbar-gutter: stable both-edges; 
}
img { 
    max-width: 100%; 
    display: block;
}
/* PCのみ表示 */
.pc { display: block; } /* PC表示用 */
span.pc { display: inline; }    /* span要素のときはinline */
.sp { display: none; }  /* sp表示用 */
br.pc-only { display: inline; }
br.sp-only { display: none; }
/* pcのみ表示 ここまで */
.wrapper { margin: 0 auto; }
.flex-wrapper { display: flex; }
.grid-wrapper { display: grid; }
.highlight { background-color: rgba(252, 236, 116, 0.5); }  /* ハッチング */
.dot {  /* 文字の上にドット */  
    background-image: radial-gradient(circle at center, #050000 15%, transparent 15%); /* 点の色とサイズ調整 */
    background-position: top left; /* 点の位置 */
    background-repeat: repeat-x; /* 横方向に繰り返し */
    background-size: 1em 1em; /* 点のサイズ */
    padding-top: 0.7em; /* 縦方向の位置調整 */
    letter-spacing: 0em;
}
.bold { font-weight: 700; } /* 太字 */
/**************************************************/
/***** ヘッダー ************************************/
/**************************************************/
#header {
    position: static;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 15.5rem;
    box-sizing: border-box; /* paddingも大きさに含める */
    padding: 5.1rem 24.1rem 6.5rem 25.5rem;
    background-color: #fff;
}
/* スクロール開始後-->透過＆ドロップシャドウ */
#header.scrolled {
    position: fixed;
    background-color: rgba(255, 255, 255, 0.75);
    box-shadow: 4px 7px 16px 4px rgba(213, 210, 210, 0.41);
    color: rgba(43, 168, 43, 0.75);
    letter-spacing: 0.05em;
    line-height: 2.25;
}
#header.scrolled .menu .openbtn span {
    background-color: rgba(43, 168, 43, 0.75);
}
/*** タイトル ***/
#header .header-title {
    font-size: 4.0rem;
    font-weight: bold;
    color: #2ba82b;
    letter-spacing: 0.05em;
    line-height: 1.71;
}
/* グローバルナビゲーション用 */
#header .nav {
    position: fixed;
    top: -200%; /* 上の画面外へ */
    right: 18.2rem;
    max-height: 100vh;
    display: flex;
    align-items: top;
    padding: 28.2rem 10.8rem 16rem 7.2rem;
    overflow: scroll;
    scrollbar-width: none;
    transition: 0.5s ease-out;
    background-color: #2ba82b;
    background-image: url(../img/00_navi_fox.png);
    background-position: right 98.8%;
    background-repeat: no-repeat;
    background-size: 62.6rem 83.4rem;
}
/* グローバルナビゲーションが画面内におさまらなかったら
                        スクロール可でスクロールバーなし */
#header .nav::-webkit-scrollbar { display: none; }  
#header .nav ul { 
    margin: 0 auto; 
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    gap: 5rem;
}
#header .nav li { 
    list-style: none; 
}
#header .nav a {
    font-size: 5rem;
    color: #fff;
    line-height: 1.2;
    text-decoration: none;
}
/***** バーガーメニューボタン *****/
/*** 全般 ***/
#header .menu { display: flex; }
#header .menu .openbtn {
    position: relative;
    width: 10rem;
    height: 7.2rem;
    cursor: pointer;
}
/*** ボタンの形状 ***/
#header .menu .openbtn span {
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 0.4rem;
	background: #2ba82b;
    transition: all .4s;/*アニメーションの設定*/
    z-index: 100;
}
#header .menu .openbtn span:nth-of-type(1) { top:0px; } /* 一番上の線 */
#header .menu .openbtn span:nth-of-type(2) {            /* 真ん中の線 */
    top:50%; 
    transform: translateY(-50%);
} 
#header .menu .openbtn span:nth-of-type(3) { bottom:0px; } /* 一番下の線 */
/*** バーガーメニューボタンが押されたら✕に ***/
#header .menu #chk_menu:checked ~ .btn-wrapper .openbtn span { background-color: #fff; }  /* 線の色を白色に */
#header .menu #chk_menu:checked ~ .btn-wrapper .openbtn span:nth-of-type(1) {
    top: 50%;
    width: 123%;
    transform: rotate(-35deg);
}
#header .menu #chk_menu:checked ~ .btn-wrapper .openbtn span:nth-of-type(2) {
    opacity: 0;
}
#header .menu #chk_menu:checked ~ .btn-wrapper .openbtn span:nth-of-type(3) {
    top:50%;
    width: 123%;
    transform: rotate(35deg);
}
/* バーガーメニューボタンが押されたらメニューを表示 */
#header #chk_menu:checked ~ .nav {   
    top: 0;
    z-index: 99;
    transition: 0.5s ease-out;
}
/**************************************************/
/***** メインコンテンツ ****************************/
/*************************************************/
main {
    width: 100vw;
}

/**************************************************/
/***** CTA ****************************************/
/**************************************************/
.cta {
    flex-direction: row;
    gap: 5.1rem;
    justify-content: center;
    align-items: center;
    height: 14.8rem;
    background-color: #322603;
}
.cta .btn {
    display: flex;
    align-items: center;
    border-radius: 2.0rem;
    font-size: 4.0rem;
    font-weight: 400;
}
.cta .btn .text {
    display: flex;
    align-items: baseline;
}
.cta .small { font-size: 3.2rem; }
.cta .mail {    
    width: 64.4rem;
    height: 11.2rem;
    padding-left: 5.0rem;
    background-color: #fa7c01;
    color: #fff;
    line-height: 1.57;
    letter-spacing: 0.01em;
}
.cta .mail::before {
    content: '';
    width: 8.2rem;
    height: 5.9rem;
    margin-right:3.1rem ;
    background-image: url(../img/02_icon_mail.png);
    background-repeat: no-repeat;
    background-size: contain;
}
.cta .line {    
    width: 45.2rem;
    height: 10.9rem;
    padding-left: 9.7rem;
    background-color: #fff;
    border: #00b900 0.3rem solid;
    color: #029802;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0em;
}

/**************************************************/
/***** CTA：追従用 ********************************/
/*************************************************/
#cta_follow {
    display: none;
    position: fixed;
    bottom: 0;
    z-index: 9;
    width: 100vw;
    /* はじめは非表示 */
    opacity: 0;
    transition: 0.3s ease-out;
 }
/* 表示：お悩みセクションからコンタクトの上 */
#cta_follow.show {
    display: flex;
    position: fixed;
    bottom: 0;
    opacity: 1;
    transition: 0.1s ease-out;
    overflow: auto;
}

/**************************************************/
/***** ページトップへボタン *************************/
/**************************************************/
.btn-pagetop {
    position: fixed;
    right: 4.4rem;
    bottom: 17.3rem;
    width: 3.8rem;
    z-index: 10;
    opacity: 0; /* 最初は消えている */
    visibility: hidden;
    transition: opacity 0.7s ease-out, visibility 0.7s ease;
}
.btn-pagetop.show {
    visibility: visible;
    opacity: 1;
}
/**************************************************/
/***** ファーストビュー ****************************/
/*************************************************/
#firstView {
    position: relative;
    width: 100vw;
    background-image: url(../img/01_FV_back.png);
    background-color: #fff;
    background-position: top;
    background-size: contain;
    background-repeat: no-repeat;
    padding-bottom: 1.8rem;
}
/* ５人で生産性を・・・ */
#firstView .Copy {
    margin-top: -1rem;
    margin-left: 23.7rem;
    width: 68.6rem;
}
/* AI×MEOを活用した・・・ */
#firstView .subCopy {
    margin-top: -5.5rem;
    margin-left: 26rem;
    width: 84.5rem;
}
/* リニューエステートプログラム */
#firstView .title {
    width: fit-content;
    margin-left: 29.1rem;
    padding: 2.2rem 3.0rem 2.2rem 1.8rem;
    background-color: #2ba82b;
    font-size: 7.4rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1;
}
#firstView #fv_title1 { margin-top: 1.7rem; }
#firstView #fv_title2 { margin-top: 2.2rem; }
/* 本研修は・・・ */
#firstView .performance {
    position: absolute;
    top: 45.6rem;
    left: 76.5rem;
    width: 91.1rem;
}
/* ４つのバッジ */
#firstView #fv_badge {
    display: flex;
    justify-content: center;
    gap: 3.8rem;
    width: 100%;
    margin-top: 6.0rem;
}
/* 個々のバッジ */
.badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 26.0rem;
    height: 26.0rem;
    background-color: #faf3e4;
    border: #f4a423 3px solid;
    box-shadow: 0.2rem 0.5rem 0.5rem 0.2rem rgba(176, 172, 155, 0.3) ;
}
.badge .icon {
    width: 9.7rem;
    margin-top: -1.1rem;
}
/*** 見出し ***/
.badge .head {
    margin-top: 2rem;
    font-size: 3.0rem;
    color: #272727;
}
/*** コンテンツ ***/
.badge .contents {
    width: 18.9rem;
    margin-top: 0.6rem;
}
.badge#merit_badge3 .contents { width: 20.5rem; } /* 3つ目のバッジは広い */
/* 補足 */
.badge .additional {
    margin-top: 2.0rem;
    font-size: 2.4rem;
}

/**************************************************/
/***** sec02 CTA **********************************/
/**************************************************/
/* ファーストビューの上にまとめて定義 */

/**************************************************/
/***** sec03 こんなお悩みありませんか？ *************/
/*************************************************/
#problem {
    padding-top: 8.9rem;
    background-color: #4DB24D;
}
/* セクションタイトル */
#problem .wrapper {
    position: relative;
}
#problem .sec-title {
    margin-top: 3.5rem;
    margin-right: 1.9rem;
    font-size: 5.8rem;
    color: #fff;
    letter-spacing: 0;
    line-height: 1.2;
}
#problem .wrapper .image {
    position: absolute;
    top: -0.5rem; 
    right: -7.0rem;
    width: 6.8rem;
}
/* 具体的な悩み */
#problem .detail {
    display: flex;
    flex-direction: column;
    gap: 4.5rem;
    width: 92rem;
    height: 54rem;
    box-sizing: border-box;
    padding: 8.0rem 0 8.6rem 13rem;
    background-color: #fff;
    border-radius: 5.0rem;
    margin: 0 auto;
    margin-top: 8.6rem;
}
#problem .detail li {
    display: flex;
    align-items: center;
    list-style: none;
    font-size: 2.6rem;
    color: #050000;
    letter-spacing: 0;
    line-height: 1.14;
}
/* 文の前のチェックマーク */
#problem .detail li::before {
    content: '';
    width: 4.2rem;
    height: 4.1rem;
    margin-right: 1.6rem;
    background-image: url(../img/03_check_icon1.png);
    background-repeat: no-repeat;
    background-size: contain;
}
/* 下の三角形 */
#problem .triangle-wrapper { 
    margin-top: 10.5rem;
    height: 11.1rem;
    background-color: #fff; 
}
#problem .triangle {
    margin-top: 0;
    width: 100%;
    aspect-ratio: 2000 / 111;
    background-image: url(../img/03_triangle.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}

/**************************************************/
/***** sec04 これら全て解決します！ *****************/
/**************************************************/
#solution {
    padding: 9.4rem 0 15.6rem 0;
}
/* セクションタイトル */
#solution .sec-title {
    align-items: center;
    margin: 0 auto;
}
#solution .sec-title img {  /* キツネのイラスト */
    width: 21.8rem;
}
#solution .sec-title h3 {
    color: #fa7c01;
    font-weight: 500;
    line-height: 5.3;
    letter-spacing: 0rem;
    font-feature-settings: initial;
}
/* コンテンツ */
#solution .solution-detail {
    gap: 9rem;
    margin: 0 auto;
    margin-top: 1.0rem;
}
#solution .solution-detail .detail-wrapper {
    display: flex;
    align-items: center;
    width: 63.3rem;
    height: 41.1rem;
    padding-left: 12.2rem;
    background-image: url(../img/04_frame.png);
    background-size: cover;
    background-repeat: no-repeat;
}
#solution .solution-detail p {
    font-size: 2.6rem;
    font-weight: 500;
    color: #272727;
    letter-spacing: 0.075em;
    line-height: 2.1;
}
#solution .solution-detail p .highlight {
    display: inline-block;
    background-color: #fff;
    background-image: url(../img/yellow_line.png);
    background-position: bottom 0.8rem left ;
    background-repeat: repeat-x;
    background-size: auto 3.4rem ;
}

/**************************************************/
/***** sec05 リニューエステートプログラムとは？ ******/
/**************************************************/
#about {
    align-items: center;
    padding: 8.5rem 0 9.5rem 0;
    background-color: #eef7e3;
}
#about h3 {
    margin-top: -3rem;
    color: #2ba82b;
    font-weight: 500;
}
/* 説明 */
#about .contets {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 134.0rem;
    margin-top: 9.0rem;
    padding: 8.6rem 0 6.4rem 0;
    background-color: #fff;
}
#about .contets .flex-wrapper {
    flex-direction: column;
    align-items: start;
}
#about .contets p {
    font-size: 2.6rem;
    font-weight: 400;
    line-height: 2.3;
    letter-spacing: 0.01rem;
}
/* 写真 */
#about .contets .image {
    width: 80.4rem;
    margin-top: 5.5rem;
}
/* ２段落目 */
#about .contets p.second { 
    margin-top: 5.0rem;
    margin-left: 0rem;
}
/* メリット */
#about .contets ul {
    display: flex;
    gap: 2.5rem;
    justify-content: start;
    margin-top: 0rem;
    margin-bottom: 1rem;
    margin-left: 1rem;
}
#about .contets ul li {
    padding: 0rem 1.2rem;
    background-color: #2ba82b;
    list-style: none;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 2.3;
    letter-spacing: 0.01rem;
    white-space: nowrap;
    color: #fff;
}

/* リスのイラスト */
#about .illust {
    position: absolute;
    bottom: 20.1rem;
    right: 10.5rem;
    width: 18.7rem;
}

/**************************************************/
/***** 06 不動産会社の課題 *************************/
/*************************************************/
#trouble {
    align-items: center;
    padding: 3.6rem 0  13.6rem;
    color: #272727;
}
/* 吹き出し(昨今の) */
#trouble .fukidashi {
    display: flex;
    justify-content: center;
    align-items: start;
    width: 18.2rem;
    height: 9.2rem;
    background-image: url(../img/06_fukidashi.png);
    background-repeat: no-repeat;
    background-size: contain;
}
#trouble .fukidashi p {
    font-size: 3.0rem;
    font-weight: 500;
    margin-top: 2.3rem;    
}
/* 不動産会社の課題 */
#trouble .sec-title {
    display: flex;
    align-items: center;
    margin-top: 0.3rem;
    margin-left: -5rem;
    font-size: 5.0rem;
    font-weight: 700;
    letter-spacing: 0.075rem;
    line-height: 1;
}
#trouble .sec-title .decoration {   /* 装飾部分 */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 7.0rem;
    height: 7.0rem;
    margin-right: 0.6rem;
    background-color: #777777;
    color: #fff;
    font-weight: 500;
}
#trouble .sec-title .decoration:first-child { /* 課の左側を空ける */
    margin-left: 0.075em;
}
#trouble .trouble-image{
    width: 27.8rem;
    margin-top: 3.1rem;
    margin-bottom: 4.0rem;
}
/* 具体的な困りごと */
#trouble .detail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2.7rem;
    align-items: center;
    width: 92.4rem;
}
#trouble .detail dl {
    width: 92.4rem;
    border: #777777 2px solid;
    border-radius: 3.0rem;
}
#trouble .detail dt {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 12.0rem;
    background-color: #777777;
    border-radius: 2.5rem 2.5rem 0 0;
    font-size: 4.0rem;
    font-weight: 700;
    color: #fff;
}
#trouble .detail dl dt::before {
    content: '';
    display: inline-block;
    margin-left: -10rem;
    background-repeat: no-repeat;
    background-size: cover;
}
#trouble .detail dl.recruit dt::before {    /* 採用難 */
    width: 8.9rem;
    height: 9.0rem;
    background-image: url(../img/06_icon_trouble1.png);
}
#trouble .detail dl.ad dt::before {         /* 広告費高騰 */
    width: 8.0rem;
    height: 7.6rem;
    margin-left: -9rem;
    margin-right: 0.5rem;
    background-image: url(../img/06_icon_trouble2.png);
}
#trouble .detail dl.overtime dt::before {   /* 長時間労働 */
    width: 7.9rem;
    height: 9.3rem;
    margin-right: 3.0rem;
    background-image: url(../img/06_icon_trouble3.png);
}
/* 内容 */
#trouble .detail dd {
    display: flex;
    flex-direction: column;
    font-size: 2.6rem;
    font-weight: 400;
    letter-spacing: 0.05em;
}
#trouble .detail dl.recruit dd {    /* 採用難 */
    padding: 5.5rem 0 6.5rem 8rem;
    line-height: 1.9;
}
#trouble .detail dl.ad dd {         /* 広告費高騰 */
    align-items: center;
    padding: 2rem 0 5.0rem;
    line-height: 2.7;
}
#trouble .detail dl.overtime dd {   /* 長時間労働 */
    padding: 5.0rem 0rem 8.0rem 7.5rem;
    line-height: 2.3;
}
/*** 解消へ ***/
/* 下向き三角形 */
#trouble .triangle {
    margin-top: 7rem;
}
#trouble .triangle img {
    width: 61.5rem;
}
/* この３重苦を・・・ */
#trouble h3.solution-title {
    display: flex;
    gap: 1.5rem;
    margin-top: -13rem;
    font-weight: 500;
    letter-spacing: 0.05em;
}
#trouble h3.solution-title .strong {
    font-weight: 500;
}
#trouble h3.solution-title .number {
    font-size: 8.0rem;
    font-weight: 500;
}
/* 解決方法の詳細 */
#trouble .solution-detail {
    position: relative;     /* リスの表示用 */
    gap: 3.5rem;
    margin-top: 14.5rem;
}
/* グラデーションの枠線 */
#trouble .solution-detail .dl-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44.0rem;
    height: 44.0rem;
    background-image: linear-gradient(#fad126, #ffa64f);
    border-radius: 3.0rem;
}
/* 内側 */
#trouble .solution-detail .dl-wrapper dl {
    width: 39.9rem;
    height: 39.4rem;
    background-color: #fff;
    border-radius: 3.0rem;
}
/* タイトル */
#trouble .solution-detail .dl-wrapper dl dt {
    font-size: 7.3rem;
    font-weight: 700;
    line-height: 0.9;
    text-align: right;
    /* 文字をグラデーション */
    background: linear-gradient(#fad126, #ffa64f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* 内容 */
#trouble .solution-detail .dl-wrapper dl dd {
    font-size: 2.6rem;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.9;
}
#trouble .solution-detail .dl-wrapper dl dd .strong {   /* 強調部分 */
    font-weight: bold;
    color: #fa7c01;
    letter-spacing: 0.05em;
}
#trouble .solution-detail .dl-wrapper dl.defense dd {
    margin-top: 4.5rem;
}
#trouble .solution-detail .dl-wrapper dl.offense dd {
    margin-top: 1.5rem;
}
#trouble .solution-detail img {
    position: absolute;
    bottom: -9.1rem;
    left: 2.3rem;
    width: 17.7rem;
}

/**************************************************/
/***** 07 提供する解決式****************************/
/**************************************************/
#service {
    align-items: center;
    padding: 11.8rem 0 27.8rem 0;
    background-color: #eef7e3;
}
#service .sec-title {
    margin-top: -1rem;
    letter-spacing: 0.075em;
}
/* STEP */
#service .step{
    flex-direction: row;
    gap: 1.9rem;
    margin-top: 13rem;
}
#service .step ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 44.4rem;
    height: 46.0rem;
    background-color: #fff;
    border-radius: 3.0rem;
    list-style: none;
}
/* STEP01 STEP02 STEP03 */
#service .step ul .step-number {
    margin-top: -5rem;
    font-weight: 700;
    font-size: 2.4rem;
    color: #2ba82b;
    letter-spacing: 0.07em;
}
#service .step ul .step-number .number  {   /* 数字部分 */
    font-family: "din-2014", sans-serif;
    font-size: 5.5rem;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.05em;
}
/* 画像 */
#service .step ul .image {
    height: 24.8rem;
}
#service .step ul .image img {
    width: 13.8rem;
    margin: 0  auto;
    margin-top: 3.0rem;
}
/* 見出し */
#service .step ul .head {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 89%;
    height: 7.0rem;
    background-color: #2ba82b;
    font-size: 2.2rem;
    font-weight: 500;
    color: #fff;
    line-height: 1.2;
    letter-spacing: 0.05rem;
}
/* 内容 */
#service .step ul .contents {
    margin-top: 2.0rem;
    font-size: 2.2rem;
    font-weight: 400;
    letter-spacing: 0.025em;
    line-height: 1.8;
}
#service .step ul .contents .bold {
    font-weight: 500;
}

/**************************************************/
/***** 08 受講するメリット *************************/
/*************************************************/
#merit {
    align-items: center;
    padding: 19.0rem 0 16.1rem 0;
}
/***** コピー *****/
#merit .Copy  img{
    width: 100.1rem;
}
/***** Merit *****/
#merit .sec-label {
    margin-top: 13.5rem;
    color: #f2f2f1;
}
/***** バッジ *****/
/* 形状等はファーストビューで設定 */
#merit #merit_badge {
    flex-direction: row;
    gap: 4.0rem;
    margin-top: 8.5rem;
}

/**************************************************/
/***** 09 受講後の変化  ****************************/
/**************************************************/
#Before-After {
    align-items: center;
    padding: 15.5rem 0 26.9rem 0;
}
/* タイトル */
#Before-After .sec-label {
    font-family: "ryo-gothic-plusn", sans-serif;
    font-weight: 900;
    font-style: normal;
    color: #f2f2f1;
}
#Before-After .sec-label .triangle {
    visibility: visible;    /* spは非表示 */
    font-family: "Times New Roman", sans-serif;
    font-size: 6.0rem;
}
#Before-After .sec-title {
    margin-top: -2.5rem; 
    font-size: 6.0rem; 
}
/***** 表 *****/
#Before-After .tabel-wrapper {
    position: relative;     /* キツネのイラスト配置用 */
    display: flex;
    align-items: start;
    gap: 1.8rem;
    margin-top: 21.0rem;
}
#Before-After .tabel-wrapper table {
    text-align: center;
    vertical-align: middle;
    border-spacing: 0;
}
#Before-After .tabel-wrapper table.before {     /* テーブル全般(before) */
    width: 40.0rem;
    margin-top: 3.4rem;
}
#Before-After .tabel-wrapper table.after {      /* テーブル全般(after) */
    width: 45.5rem;
    border: #2ba82b 3.1rem solid;
}
/* ヘッダー */
#Before-After .tabel-wrapper table th {
    font-size: 4.5rem;
    font-weight: 500;
    letter-spacing: 0.2rem;
}
#Before-After .tabel-wrapper table.before th {  /* before */
    height: 24.7rem;
    background-color: #c8c5c5;
    border-bottom: #fff 0.5rem solid;
    color: #272727; 
}    
#Before-After .tabel-wrapper table.after th {   /* after */
    height: 25.2rem;
    padding-top: 3.5rem;
    background-color: #2ba82b; 
    color: #fff; 
}
#Before-After .tabel-wrapper table th div {     /* 注釈 */
    margin-top: 3.0rem;
    margin-left: -2.5rem;
    font-size: 3.0rem; 
    letter-spacing: -0.3rem;
}
#Before-After .tabel-wrapper table td {
    height: 25.2rem;
    font-size: 2.6rem;
    color: #272727;
    line-height: 2.0;
}
#Before-After .tabel-wrapper table td .highlight {
    display: inline-block;
    background-color: #fff;
    background-image: url(../img/yellow_line.png);
    background-position: bottom 0.8rem left ;
    background-repeat: repeat-x;
    background-size: auto 4.4rem ;
}
#Before-After .tabel-wrapper table.before td {  /* before */
    background-color: #ebeae9;
    border-bottom: #fff 0.5rem solid;
}
#Before-After .tabel-wrapper table.after td {   /* after */
    background-color: #fff;
    border-bottom: #2ba82b 0.5rem solid;
}
#Before-After .tabel-wrapper table tr:last-child td {    /* 最後の要素は線なし */
        border-bottom: none;    
}
/* キツネのイラスト */
#Before-After .tabel-wrapper img {
    position: absolute;
    top: -16.1rem;
    right: 0.5rem;
    width: 17.8rem;
    height: 25.6rem;
}

/**************************************************/
/*****　10 コンタクト ******************************/
/**************************************************/
/* ファーストビューの上にまとめて定義 */

/**************************************************/
/*****　11 こんな会社におすすめ *********************/
/**************************************************/
#recommended {
    position: relative;
    align-items: center;
    height: 96.9rem;
    padding-top: 11.4rem;
    background-color: #e8e8e7;
}
#recommended .sec-title {
    margin: 0;
    letter-spacing: 0.075em;
}
/* 吹き出しの全般設定 */
#recommended .fukidashi {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: start;
    background-repeat: no-repeat;
    background-size: cover;
}
/* 各吹き出し */
#recommended #fukidashi1 {  /* 一番上 */
    top: 22.4rem;
    left: 72.5rem;
    width: 50.9rem;
    height: 20.0rem;
    padding-top: 3.0rem;
    background-image: url(../img/11_fukidashi1.png);
}
#recommended #fukidashi2 {  /* ２段目左 */
    top: 36.4rem;
    left: 30.4rem;
    width: 49.1rem;
    height: 20.3rem;
    padding-top: 3.8rem;
    background-image: url(../img/11_fukidashi2.png);
}
#recommended #fukidashi3 {  /* ２段目右 */
    top: 35.7rem    ;
    right: 31.3rem;
    width: 49.1rem;
    height: 20.3rem;
    padding-top: 4.8rem;
    background-image: url(../img/11_fukidashi3.png);
}
#recommended #fukidashi4 {  /* ３段目左 */
    bottom: 19.5rem;
    left: 39.2rem;
    width: 43.5rem;
    height: 17.9rem;
    padding-top: 3.8rem;
    background-image: url(../img/11_fukidashi4.png);
}
#recommended #fukidashi5 {  /* ３段目右 */
    bottom: 14.8rem    ;
    right: 25.0rem;
    width: 57.5rem;
    height: 23.2rem;
    padding-top: 5.8rem;
    background-image: url(../img/11_fukidashi5.png);
}
#recommended #fukidashi5 p {    /* ３段目右：文字位置調整 */
    margin-left: -4.0rem;
    text-align: right;
}
/* 吹き出しの中の文字 */
#recommended .fukidashi p {
    font-size: 2.6rem;
    font-weight: 500;
    color: #040000;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.8;
}
#recommended .fukidashi p .green {
    color: #26a826;
}
/* 男性のイラスト */
#recommended .image {
    position: absolute;
    bottom: 9.4rem;
    left: 50%;
    transform: translate(-50%);
}
#recommended .image img {
    width: 49.5rem;
    height: 40.3rem;
}

/**************************************************/
/***** 12 講師紹介 *********************************/
/**************************************************/
#instructor {
    align-items: center;
    margin: 11.2rem 0 7.4rem 0;
}
#instructor  .sec-label { color: #f2f2f1; }
#instructor .sec-title { 
    font-size: 6.0rem; 
    letter-spacing: 0.075em;
}
#instructor .flex-wrapper {
    flex-wrap: wrap;
    align-content: start;
    gap: 7.0rem 4.2rem;
    width: 123.9rem;
    height: 78.2rem;
    padding: 6.3rem 0rem 0 7.2rem;
    margin-top: 28.5rem;
    background-color: #eef7e3;
    color: #040000;
}
#instructor .flex-wrapper#instructor2 {
    gap: 7.0rem 6.8rem;
}
/* 下の紹介は順序が変わる */
#instructor .flex-wrapper#instructor2 .pic { order: 2; }
#instructor .flex-wrapper#instructor2 .postion-name { order: 1; }
#instructor .flex-wrapper#instructor2 .comment { order: 3; }
#instructor .flex-wrapper .pic {
    width: 43.4rem;
    margin-top: -20.0rem;
}
/* 写真位置 */
#instructor .flex-wrapper#instructor1 .pic { 
    margin-left: -1.5rem;
    width: 43.3rem; 
    height: 43.5rem;
}
#instructor .flex-wrapper#instructor2 .pic { 
    margin-left: 0rem; 
    width: 43.4rem;
    height: 42.8rem;
}
/* 肩書と名前 */
#instructor .flex-wrapper .postion-name {
    height: 19.1rem;
}
#instructor .flex-wrapper .postion-name div {
    width: 62.3rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 52.2rem;
    text-align: center;
    padding-bottom: 1.5rem;
    border-bottom: #2ba82b 2px solid;   
}
/* ローマ字 */
#instructor .flex-wrapper#instructor1 .postion-name div {    
    background-image: url(../img/12_instructor1_name.png);
}
#instructor .flex-wrapper#instructor2 .postion-name div {    
    background-image: url(../img/12_instructor2_name.png);
}
#instructor .flex-wrapper .postion-name .position {
    font-size: 3.0rem;
    color: #2ba82b;
    letter-spacing: 0.05em;
}
#instructor .flex-wrapper .postion-name .name {
    margin-top: 4.5rem;
    font-size: 3.9rem;
    font-weight: 700;
    letter-spacing: 0.05em;
}
#instructor .flex-wrapper .postion-name p {
    margin-top: 1.5rem;
    font-size: 2.8rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.05em;
}
/* 紹介文 */
#instructor .flex-wrapper .comment {
    margin-left: 2.5rem;
    font-size: 2.6rem;
    line-height: 2.3;
    letter-spacing: 0.01em;
}

/**************************************************/
/***** sec13 カリキュラム **************************/
/**************************************************/
#curriculum {
    align-items: center;
    padding: 10.5rem 0 15.6rem 0;
}
#curriculum .sec-label {
    color: #f3f3f2;
}
#curriculum .sec-title {
    font-size: 6.0rem;
}
/* 研修カリキュラム３日間・・・ */
#curriculum h4 {
    margin-top: 10.0rem;
    font-size: 3.8rem;
    font-weight: 500;
    color: #fa7c01;
    letter-spacing: -0.2rem;
}
#curriculum h4 .bold { font-weight: 900; }
/* 研修の内容 Day01～03 */
#curriculum .flex-wrapper {
    gap: 2.0rem;
    margin-top: 9.4rem;
}
/* 個々の設定 */
#curriculum .flex-wrapper .contents {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    width: 50.2rem;
    height: 52.5rem;
    border: #2ba82b 0.4rem solid;
    border-radius: 2.7rem;
    background-repeat: no-repeat;
}
/* Day01とDay03は同じ */
#curriculum .flex-wrapper .contents#day01,
#curriculum .flex-wrapper .contents#day03 {
    background-image: url(../img/13_nogami.png);
    background-position: left 0 bottom 1.9rem;
    background-size: 7.4rem 32.9rem;
}
#curriculum .flex-wrapper .contents#day02 {
    background-image: url(../img/13_takano.png);
    background-repeat: no-repeat;
    background-position: left 0 bottom 1.3rem;
    background-size: 7.4rem 33.7rem;
}
/* Day */
#curriculum .flex-wrapper .contents .day {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30.5rem;
    height: 5.5rem;
    background-color: #2ba82b;
    border-radius: 0 0 4.0rem 4.0rem;
}
#curriculum .flex-wrapper .contents#day01 .day img { width: 10.3rem; }
#curriculum .flex-wrapper .contents#day02 .day img { width: 10.8rem; }
#curriculum .flex-wrapper .contents#day03 .day img { width: 10.9rem; }
/** 研修内容 **/
/* 文字 */
#curriculum .flex-wrapper .contents .theme-title,
#curriculum .flex-wrapper .contents .output-title {
    font-size: 2.6rem;
    font-weight: 700;
    color: #2ba82b;
}
#curriculum .flex-wrapper .contents .theme-contents,
#curriculum .flex-wrapper .contents .output-contents {
    font-size: 2.6rem;
    font-weight: 500;
    color: #272727;
    line-height: 1.6;
    text-align: center;
    letter-spacing: -0.2rem;
}
/* 位置 */
#curriculum .flex-wrapper .contents .theme-title { margin-top: 3.2rem; }    /* メインテーマ:タイトル */
#curriculum .flex-wrapper .contents .output-title { margin-top: 4.7rem; }   /* アウトプット:タイトル */
#curriculum .flex-wrapper .contents .theme-contents { margin-top: 0.7rem; } /* メインテーマ：中身 */
#curriculum .flex-wrapper .contents .output-contents { margin-top: 1.0rem; } /* アウトプット：中身 */

/**************************************************/
/***** sec14 選ばれる理由 **************************/
/**************************************************/
#reason {
    align-items: center;
    padding: 13.0rem 0 10.4rem 0;
    background-color: #fcf1e0;
}
#reason .sec-label {
    color: #fce8c3;
}
#reason .sec-title {
    margin-top: -0.5rem;
    font-size: 6.0rem;
    letter-spacing: 0;
}
/* 選ばれる理由３つ */
#reason .flex-wrapper {
    flex-direction: column;
    align-items: center;
    gap: 8.2rem;
    margin-top: 9.0rem;
}
#reason .flex-wrapper .reason {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8.0rem;
    width: 134.0rem;
    height: 92.9rem;
    padding-top: 9.9rem;
    background-color: #fff;
    background-position: 15.0rem 5.0rem;
    background-repeat: no-repeat;
    border-radius: 3.0rem;
}
/* 01～03の数字 */
#reason .flex-wrapper .reason#reason01 {
    background-image: url(../img/14_01.png);
    background-size: 14.5rem 11.6rem;
}
#reason .flex-wrapper .reason#reason02 {
    background-image: url(../img/14_02.png);
    background-size: 16.5rem 11.2rem;
}
#reason .flex-wrapper .reason#reason03 {
    gap: 6.5rem;
    padding-top: 6.0rem;
    background-image: url(../img/14_03.png);
    background-size: 15.7rem 11.4rem;
}
/* タイトル */
#reason .flex-wrapper .reason .title {
    font-weight: 500;
    color: #fa7c01;
    text-align: center;
    letter-spacing: 0.05em;
}
#reason .flex-wrapper .reason#reason01 .title {
    font-size: 4.2rem;
    line-height: 1.4;
}
#reason .flex-wrapper .reason#reason02 .title {
    margin-left: 5rem;
    font-size: 3.8rem;
    line-height: 1.6;
}
#reason .flex-wrapper .reason#reason03 .title {
    margin-left: 3rem;
    font-size: 3.8rem;
    line-height: 1.6;
}
/* 文字の上にドット */
#reason .flex-wrapper .reason .title .dot {   
    background-image: radial-gradient(circle at center, #fa7c01 15%, transparent 15%); /* 点の色とサイズ調整 */
    background-position: top left 0rem; /* 点の位置 */
    background-repeat: repeat-x; /* 横方向に繰り返し */
    padding-top: 0.7em; /* 縦方向の位置調整 */
    font-weight: 700;
}
#reason .flex-wrapper .reason#reason01 .title .dot { background-size: 1.0em 1.0em; /* 間隔 */ }
#reason .flex-wrapper .reason#reason02 .title .dot { background-size: 0.95em 0.95em; /* 間隔 */ }
#reason .flex-wrapper .reason#reason03 .title .dot { background-size: 0.95em 0.95em; /* 間隔 */ }
/* 写真サイズ */
#reason .flex-wrapper .reason#reason01 img { width: 72.3rem; }  /* 理由01の写真 */
#reason .flex-wrapper .reason#reason02 img { width: 72.1rem; }  /* 理由02の写真 */
#reason .flex-wrapper .reason#reason03 img { width: 74.1rem; }  /* 理由03の写真 */
/* 理由 */
#reason .flex-wrapper .reason p {
    font-size: 2.6rem;
    font-weight: 500;
    color: #040000;
    line-height: 2.3;
}

/**************************************************/
/***** sec16 よくある質問 **************************/
/**************************************************/
#faq {
    align-items: center;
   /* padding: 12.7rem 0 25.0rem 0; */
padding: 12.7rem 0 21.0rem 0;
}
#faq .title-wrapper {
    position: relative;
}
#faq .title-wrapper img {
    position: absolute;
    top: -5.3rem;
    left: -23.7rem;
    width: 23.6rem;
}
#faq .sec-label {
    color: #f3f3f2;
}
#faq .sec-label .small { 
    font-size: 8.0rem;
    font-family: "ryo-gothic-plusn", sans-serif;
}
#faq .sec-title {
    font-size: 6.0rem;
}
/* FAQ */
#faq .accordion-area {
    margin-top: 23.1rem;
}
#faq .accordion-area li {
    margin-bottom: 4.7rem;
}
#faq .accordion-area li:last-child {
    margin-bottom: 0;   /* 最後のliは下余白無し */
}
#faq .accordion-area .flex-wrapper {
    align-items: center;
}
/* 質問と答え共通 */
#faq .accordion-area .icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 8.0rem;
    height: 8.0rem;
    border-radius: 50%;
    background-color: #2ba82b;
    font-size: 4.0rem;
    color: #fff;
}
#faq .accordion-area p {
    width: 102.0rem;
    margin-left: 4.0rem;
    margin-right: 4.5rem;
    font-size: 2.6rem;
    font-weight: 500;
    color: #272727;
    line-height: 2.3;
    letter-spacing: 0.05em;
}
/*** 質問 ***/
#faq .accordion-area .question .icon {
    background-color: #2ba82b;
}
/* +-ボタン */
#faq .accordion-area .question .btn {
	position: relative;
	width: 4.0rem;
	height: 4.0rem;
    cursor: pointer;
}
#faq .accordion-area .question .btn:before,
#faq .accordion-area .question .btn:after {
	content: '';
	position: absolute;
	top: 45%;
    width: 100%;
	height: 0.4rem;
    background-color: #059b05;
    border-radius: 2px;
}
/* 閉じたとき */
#faq .accordion-area .question .btn:after {
	transform: translateX(0) rotate(90deg);
    opacity: 1;
    transition: transform 0.5s ease, opacity 0.3s 0.5s;
}
/* 開いたとき */
 #faq .accordion-area .question .btn.close:after {
	transform: translateX(0) rotate(180deg);
    opacity: 1; /* 目立たなくする */
    transition: transform 0.5s 0.3 ease, opacity 0.3s;
}
/*** 答え ***/
#faq .accordion-area .answer {
    display: none;
    margin-top: 6.1rem;
}
#faq .accordion-area .answer .flex-wrapper {
    align-items: start;
}
#faq .accordion-area .answer .icon {
    background-color: #fa7c01;
}

/**************************************************/
/***** sec17 受講料 *******************************/
/*************************************************/
#plan {
    align-items: center;
    padding: 11.4rem 0 19.2rem 0;
    background-color: #F3F9EB;
}
#plan .sec-label { color: #e2f5c9; }
#plan .sec-title { font-size: 6.0rem; }
/* プラン  */
#plan .flex-wrapper {
    justify-content: space-between;
    width: 123.3rem;
    height: 64.4rem;
    margin-top: 8.1rem;
    padding: 4.6rem 6.5rem 6.6rem 6.3rem;
    border-radius: 3.0rem;
    background-color: #fff;
    color: #272727;
}
#plan .flex-wrapper .left-wrapper, 
#plan .flex-wrapper .right-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#plan .flex-wrapper .left-wrapper {
    gap: 2.4rem;
    width: 49.9rem;
}
#plan .flex-wrapper .right-wrapper {
    width: 54.7rem;
}
/* 下向き三角形 */
#plan .flex-wrapper .triangle {
    width: 3.2rem;
    height: 2.3rem;
}
/* 1名あたりの枠(上下共通) */
#plan .flex-wrapper .waku {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 15.0rem;
    height: 4.5rem;
    box-sizing: border-box;
    border: #fa7c01 2px solid;
    font-size: 2.8rem;
    letter-spacing: 0.01em;
}
#plan .flex-wrapper dl {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}
/* 値段(上) */
#plan .flex-wrapper .payment {
    font-size: 3.1rem;
    letter-spacing: 0.01em;
}
#plan .flex-wrapper .payment .number {
    font-size: 4.3rem;
}
/* 2名以上からお申込みを受付 */
#plan .flex-wrapper .limit {    
    font-size: 2.8rem;
    font-weight: 400;
    letter-spacing: 0.025em;
}
/* 助成金チケット */
#plan .flex-wrapper .ticket {
    display: flex;
    justify-content: end;
    align-items: center;
    width: 49.9rem;
    height: 16.8rem;
    padding-right: 0.7rem;
    background-image: url(../img/17_back_joseikin.png);
    background-position: right;
    background-repeat: no-repeat;
    background-size: cover;
}
#plan .flex-wrapper .ticket .name {
    width: 51%;
    margin: auto;
    font-size: 3.3rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
    text-align: center;
}
#plan .flex-wrapper .ticket .hojo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 49%;
    height: 93%;
    background-color: #fff;
}
#plan .flex-wrapper .ticket .hojo p {
     /* 文字をグラデーション */
    background: linear-gradient(#fad126, #ffa64f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 3.3rem;
    font-weight: 700;
}
#plan .flex-wrapper .ticket .hojo p .number {
    margin-right: 2rem;
    font-size: 8.7rem;
    letter-spacing: -3.5rem;
}
/* 1時間あたり・・・コスパ！ */
#plan .flex-wrapper .costper {
    display: flex;
    align-items: center;
    font-size: 2.8rem;
    font-weight: 500;
    letter-spacing: 0.025em;
}
/* ＼ ／ */
#plan .flex-wrapper .costper::before,
#plan .flex-wrapper .costper::after {
    content: '';
    width: 0.2rem;
    height: 4.3rem;
    background-color: #272727;
    border-radius: 25%;
}
#plan .flex-wrapper .costper::before {
    transform: rotate(-20deg);
    margin-right: 4.0rem;
}
#plan .flex-wrapper .costper::after {
    transform: rotate(20deg);
    margin-left: 4.0rem;
}
/* 100,000円 */
#plan .flex-wrapper .real dd {
    display: flex;
    align-items: center;
    font-size: 4.9rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #fd5c5c;
}
#plan .flex-wrapper .real dd .number {
    font-size: 6.8rem;
}
/*** 価格&オファー ***/
#plan .flex-wrapper .right-wrapper {
    width: 55.5rem;
    height: 51.3rem;
    margin: auto 0;
    border-radius: 3.0rem;
    background-image: linear-gradient(#ffa64f 27%, #fad126);
}
/* 内側 */
#plan .flex-wrapper .right-wrapper .content-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 54.7rem;
    height: 50.0rem;
    margin: auto;
    padding-top: 3.6rem ;
    background-color: #fff;
    border-radius: 3.0rem;
}
#plan .flex-wrapper .right-wrapper .content-wrapper .title {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 39.1rem;
    height: 9.1rem;
    background-image: url(../img/17_back_offer.png);
    background-repeat: no-repeat;
    background-size: contain;
    font-size: 3.1rem;
    font-weight: 700;
    color: #fd5c5c;
}
#plan .flex-wrapper .right-wrapper .content-wrapper .plan-name {
    margin-top: 3.2rem;
    font-size: 2.8rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.01em;
    line-height: 1.7;
}
/* 受講料 */
#plan .flex-wrapper .right-wrapper .content-wrapper table {
    margin-top: 1.2rem;
    line-height: 1.56;
    letter-spacing: 0.01em;
}
#plan .flex-wrapper .right-wrapper .content-wrapper table th {
    padding-right: 2rem;
    font-size: 2.8rem;
    font-weight: 500;
    text-align: right;
}
#plan .flex-wrapper .right-wrapper .content-wrapper table td.contents {
    font-size: 2.8rem;
}
#plan .flex-wrapper .right-wrapper .content-wrapper table td .description {
    font-size: 2.4rem;
}   

/**************************************************/
/***** sec18 特典 *********************************/
/*************************************************/
#present {
    align-items: center;
    padding: 11.4rem 0 10.3rem 0;
    color: #272727;
}
#present .sec-label { color: #f3f3f2; }
#present .sec-title { font-size: 6.0rem; }
#present p {
    margin-top: 4.8rem;
    font-size: 3.2rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.025em;
    line-height: 1.6;
}
/* 特典内容 */
#present ul {
    display: flex;
    gap: 3.2rem;
    margin-top: 13rem;
    margin-left: 10rem;
}
/* 個々の特典 */
#present ul li {
    width: 40.6rem;
    height: 37.4rem;
    background-image: url(../img/18_waku.png);
    background-repeat: no-repeat;
    background-size: contain;
}
#present ul li .number {
    display: flex;
    justify-content: center;
    align-items: end;
    height: 8.7rem;
    margin-top: 4.0rem;
    background-image: url(../img/18_crown.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
    font-size: 4.4rem;
}
#present ul li p {
    margin-top: 3.5rem;
    font-size: 3.2rem;
    line-height: 1.9;
    letter-spacing: 0.025em;
}
/* リスのイラスト */
#present .chipmunk {
    margin-top: -1.1rem;
    margin-left: auto;
    margin-right: 44.9rem;
    width: 56.3rem; 
}

/**************************************************/
/***** sec19 さいごに   ***************************/
/*************************************************/
#last-message {
    align-items: center;
    padding: 10.3rem 0 7.3rem 0 ;
}
#last-message .sec-label { color: #f3f3f2; }
#last-message .sec-title { font-size: 6.0rem; }
/*** さいごに ***/
#last-message .message {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    width: 128.2rem;
    margin-left: -3.1rem;
}
#last-message .message#nogami {
    margin-top: 6.0rem;
}
#last-message .message#takano {
    margin-top: 23.5rem;
}
/* タイトル */
#last-message .message .title {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 6.5rem;
    width: 100%;
    height: 24.7rem;
    background-color: #f3f9eb;
    font-size: 4.0rem;
    font-weight: 700;
    color: #2ba82b;
    line-height: 1.25;
}
#last-message .message#nogami { letter-spacing: 0.075em; }
/* 写真 */
#last-message .message#nogami .title img {
    width: 28.7rem;
    margin-left: 5.9rem;
}
#last-message .message#takano .title img {
    width: 21.9rem;
    margin-left: 9.3rem;
}
/* メッセージ本文 */
#last-message .message  p{
    width: 98%;
    padding: 0 3.1rem 0 7.5rem;
    margin-top: 8.0rem;
    font-size: 2.6rem;
    font-weight: 500;
    color: #272727;
    line-height: 1.8;
    letter-spacing: 0.01em;
}

/**************************************************/
/***** sec20 CTAと特典 *****************************/
/**************************************************/
#offer {
    align-items: center;
    padding:0 0 17.8rem 0;
}
#offer .cta {
    position: relative;     /* イラスト配置用 */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 100%;
    height: 41.6rem;
    padding: 6.6rem 0 5.7rem 0;
    background-color: #f4a423;
    color: #fff;
}
#offer .cta .sec-subtitle {
    display: flex;
    align-items: center;
    font-size: 3.2rem;
    letter-spacing: 0.025em;
}
/* ＼ ／ */
#offer .cta .sec-subtitle::before,
#offer .cta .sec-subtitle::after {
    content: '';
    width: 0.3rem;
    height: 4.1rem;
    background-color: #fff;
}
#offer .cta .sec-subtitle::before {
    transform: rotate(-20deg);
    margin-right: 3.0rem;
}
#offer .cta .sec-subtitle::after {
    transform: rotate(20deg);
    margin-left: 3.0rem;
}
#offer .cta .sec-title {
    margin-top: 5.0rem;
    font-size: 6.0rem;
    color: #fff;
    letter-spacing: 0.025em;
}
#offer .cta .cta-message {
    margin-top: 3.3rem;
    font-size: 2.6rem;
    font-weight: 500;
    text-align: center;
    line-height: 2.1;
    letter-spacing: 0.025em;
}
/* 吹き出しのイラスト */
#offer .cta .fukidashi {
    position: absolute;
    top: 2.6rem;
    left: 58.9rem;
    width: 25.8rem;
}
/* キツネのイラスト */
#offer .cta .fox {
    position: absolute;
    top: 3.9rem;
    right: 67.8rem;
    width: 13.3rem;
}
/* 参加特典 */
#offer .offer-title {
    margin-top: 13.8rem;
     /* 文字をグラデーション */
    background: linear-gradient(#d8b22c,#fcd862 50%, #d5a229);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 6.0rem;
    font-weight: 700;
}
#offer .offer-message {
    margin-top: 6.0rem;
    font-size: 2.6rem;
    font-weight: 500;
    color: #272727;
    letter-spacing: 0.025em;
}
/* 特典内容 */
#offer ul {
    display: flex;
    gap: 3.2rem;
    margin-top: 9.7rem;
}
/* 個々の特典 */
#offer ul li {
    width: 40.6rem;
    height: 37.4rem;
    background-image: url(../img/18_waku.png);
    background-repeat: no-repeat;
    background-size: contain;
}
#offer ul li .number {
    display: flex;
    justify-content: center;
    align-items: end;
    height: 8.7rem;
    margin-top: 4.0rem;
    background-image: url(../img/18_crown.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
    font-size: 4.4rem;
}
#offer ul li p {
    margin-top: 2.6rem;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 2.3;
    letter-spacing: 0.025em;
    text-align: center;
}
/**************************************************/
/*****　21 CTA ************************************/
/**************************************************/
/* ファーストビューの上にまとめて定義 */

/**************************************************/
/***** コンタクト **********************************/
/**************************************************/
#contact {
    padding: 11.8rem 0 0rem 0;
}
/* contact */
#contact .sec-label {
    color: #f2f2f1;
}
#contact iframe {
    width: 112.1rem;
    height: 215.1rem;
    margin: 0 auto;
    margin-top: 11.8rem;
    overflow: hidden;
}

/**************************************************/
/***** フッター ************************************/
/**************************************************/
#footter {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2.6rem;
    width: 100%;
    height: 28.8rem;
    background-color: #2ba82b;
}
#footter p {
    font-size: 2.4rem;
    font-weight: 400;
    color: #fff;
    text-align: center;
    line-height: 2.0;
}
#footter p a {
    color: #fff;   
    text-decoration: underline 2%; 
    text-underline-offset: 0.2em;
}
#footter p a:hover {
    opacity: 0.7;
}
