@media (max-width: 768px) {

  img {
    width: 100%;
    max-width: none;
  }


  /*-----header------*/
  .sp_header {
    display: flex;
  }

  .sp_header h1 {
    width: 21.7%;
    z-index: 10;
    position: relative;
  }

  .sp_header h1 a {
    position: absolute;
    display: block;
    left: 0;
    top: 0;
  }

  .sp_header_inner {
    width: 78.3%;
    background-color: #f8f8d8;
    padding: calc(35 / 750 * 100vw) calc(30 / 750 * 100vw) calc(35 / 750 * 100vw) 0;
  }

  .sp_header_inner nav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .sp_header_inner_btn_01 a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(4 / 750 * 100vw);
    ;
    /* アイコンと文字の間隔 */
    text-align: center;
    width: calc(225 / 750 * 100vw);
    background-color: #2e9a40;
    color: #fff;
    font-size: calc(20 / 750 * 100vw);
    font-weight: bold;
    border-radius: 3px;
    padding: calc(15 / 750 * 100vw) 0;
  }

  .sp_header_inner_btn_01 a::before {
    content: "";
    display: block;
    width: calc(19 / 750 * 100vw);
    height: calc(23 / 750 * 100vw);
    background-image: url(../img/sp/nyukai_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
  }

  .sp_header_inner_btn_02 a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(10 / 750 * 100vw);
    /* アイコンと文字の間隔 */
    text-align: center;
    width: calc(225 / 750 * 100vw);
    background-color: #ec4f40;
    color: #fff;
    font-size: calc(20 / 750 * 100vw);
    font-weight: bold;
    border-radius: 3px;
    padding: calc(15 / 750 * 100vw) 0;
  }

  .sp_header_inner_btn_02 a::before {
    content: "";
    display: block;
    width: calc(23 / 750 * 100vw);
    height: calc(23 / 750 * 100vw);
    background-image: url("../img/sp/toiawase_icon.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
  }

  /* スクロール後にfixedに切り替え */
  .sp_header {
    position: relative;
    transition: padding 0.3s ease;
    z-index: 1000;
  }

  header.is-scrolled .sp_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: #f8f8d8;
  }

  header.is-scrolled .sp_header h1 {
    transition: width 0.3s ease;
  }

  header.is-scrolled .sp_header h1 a {
    display: inline-block;
    padding-left: calc(30 / 750 * 100vw);
  }

  header.is-scrolled .sp_header h1 img {
    width: 43%;
    display: none;
  }

  header.is-scrolled .sp_header .sp_header_inner {
    transition: padding 0.3s ease;
  }

  /*
header.is-scrolled .sp_header ~ * {
  margin-top: calc(120 / 750 * 100vw);
}
*/
  .kv.is-scrolled {
    margin-top: 0;
  }

  .fixed_logo {
    display: none;
  }

  header.is-scrolled .fixed_logo {
    display: inline-block;
    width: 20.7%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001;
    margin-top: 0;
  }

  body.is-menu-open header.is-scrolled .sp_header {
    top: 0 !important;
    position: fixed !important;
  }

  .sp_header.menu-open {
    position: fixed !important;
    top: 0 !important;
    width: 100% !important;
    z-index: 1000;
  }


  /* ハンバーガーボタン */
  .sp_menu_btn {
    background: none;
    border: none;
    cursor: pointer;
    width: calc(60 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: calc(8 / 750 * 100vw);
    padding: 0;
    font-size: calc(16 / 750 * 100vw);
    color: #4a2f21;
    position: relative;
    z-index: 1001;
  }

  .sp_menu_btn span {
    display: block;
    width: calc(50 / 750 * 100vw);
    height: 1.5px;
    background-color: #4a2f21;
    transition: all 0.3s ease;
    transform-origin: center;
  }

  .sp_menu_btn .open {
    display: none;
  }

  /* バツに変わる */
  .sp_menu_btn.is-open span:nth-child(1) {
    transform: translateY(calc(5 / 750 * 100vw)) rotate(20deg);
  }

  .sp_menu_btn.is-open span:nth-child(2) {
    transform: translateY(calc(-5 / 750 * 100vw)) rotate(-20deg);
  }

  body.is-menu-open .sp_menu_btn {
    z-index: 1001;
    background-color: transparent;
  }

  .sp_menu_btn.is-open .en {
    display: none;
  }

  .sp_menu_btn.is-open .open {
    display: block;
  }

  /* オーバーレイメニュー */
  .sp_nav_overlay {
    position: fixed;
    top: 0;
    right: -100%;
    width: 70%;
    height: auto;
    /* ← 100%からautoに変更 */
    background: #f8f8d8;
    z-index: 999;
    transition: right 0.3s ease;
    padding: calc(15 / 750 * 100vw) calc(40 / 750 * 100vw) calc(50 / 750 * 100vw);
    box-sizing: border-box;
    border-radius: 0 0 0 10px;
  }

  .sp_nav_overlay.is-open {
    right: 0;
  }

  .sp_nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .sp_nav ul li {
    border-bottom: 1px solid #d3cdb1;
  }

  .sp_nav ul li a {
    display: block;
    padding: calc(40 / 750 * 100vw) 0;
    color: #4a2f21;
    text-decoration: none;
    font-size: calc(31.68 / 750 * 100vw);
    font-weight: bold;
    position: relative;
  }

  .sp_nav ul li a::after {
    content: "";
    display: block;
    width: calc(28 / 750 * 100vw);
    height: calc(28 / 750 * 100vw);
    background-image: url(../img/sp/news_list_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  /* オーバーレイの暗幕 */
  .sp_nav_bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 998;
    display: none;
  }

  .sp_nav_bg.is-open {
    display: block;
  }

  /* メニューボタンをメニューより上に */
  .sp_menu_btn {
    position: relative;
    z-index: 10000000;
    /* overlayの999より上 */
  }

  /* body固定 */
  body.is-menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }



  /*-----kv------*/
  .kv {
    margin-top: -12%;
  }

  .sp_kv_text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(690 / 750 * 100vw);
    display: inline-block;
  }

  .sp_kv_text_01 {
    color: #2e9a40;
    display: inline-block;
    font-weight: 400;
    font-size: calc(27.72 / 750 * 100vw);
    letter-spacing: 0.1em;
    background-color: #fff;
    padding: calc(10 / 750 * 100vw) calc(25 / 750 * 100vw) calc(10 / 750 * 100vw) calc(25 / 750 * 100vw);
  }

  .sp_kv_text_01::before {
    position: absolute;
    content: "";
    background-image: url(../img/pc/kv_icon_tri.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: calc(10 / 750 * 100vw);
    height: calc(10 / 750 * 100vw);
    top: calc(5 / 750 * 100vw);
    left: calc(5 / 750 * 100vw);
  }

  .sp_kv_text_02 {
    color: #6e381b;
    display: inline-block;
    font-size: calc(67.84 / 750 * 100vw);
    letter-spacing: 0.1em;
    font-weight: 900;
    background-color: #fff;
    padding: calc(10 / 750 * 100vw) 0 calc(10 / 750 * 100vw) calc(25 / 750 * 100vw);
  }

  .sp_kv_text_03 {
    color: #6e381b;
    display: inline-block;
    font-size: calc(97.51 / 750 * 100vw);
    letter-spacing: 0.05em;
    font-weight: 900;
    background-color: #fff;
    padding: calc(10 / 750 * 100vw) 0 calc(20 / 750 * 100vw) calc(25 / 750 * 100vw);
  }


  .kv_02 {
    margin-top: -22%;
  }

  .kv_02_gif {
    width: calc(200 / 750 * 100vw);
    position: absolute;
    top: calc(10 / 750 * 100vw);
    left: calc(300 / 750 * 100vw);
  }

  .kv_02_text {
    left: calc(30 / 750 * 100vw);
    top: calc(250 / 750 * 100vw);
    ;
  }

  .kv_02_text_01 {
    font-size: calc(45.67 / 750 * 100vw);
    margin-bottom: calc(30 / 750 * 100vw);
  }

  .kv_02_text_02 {
    font-size: calc(69.66 / 750 * 100vw);
    margin-bottom: calc(30 / 750 * 100vw);
  }

  .kv_02_text_03 {
    font-size: calc(69.66 / 750 * 100vw);
    z-index: 10;
  }

  .kv_02_text_03::after {
    content: "";
    width: 95%;
    height: calc(25 / 750 * 100vw);
    background-color: #f4f4c1;
    position: absolute;
    bottom: calc(-12 / 750 * 100vw);
    left: 0;
    z-index: -1;
  }

  .kv_02_text_04 {
    font-size: calc(29.7 / 750 * 100vw);
    font-weight: bold;
    line-height: 2.1;
    color: #6e381b;
    margin-top: calc(80 / 750 * 100vw);
  }



  /*-----our_activities-------*/
  .our_activities_inner {
    width: calc(685 / 750 * 100vw);
    margin: 0 auto;
    padding: calc(100 / 750 * 100vw) 0 calc(150 / 750 * 100vw);
  }

  .our_activities_sp_top {
    position: absolute;
    width: 100%;
    top: calc(-32 / 750 * 100vw);
    left: 0;
  }

  .our_activities_sp_top img {
    width: 100%;
  }

  .our_activities_inner h2 {
    margin-bottom: calc(50 / 750 * 100vw);
  }

  .our_activities_inner h2::before {
    content: "";
    position: absolute;
    background-image: url(../img/sp/title_illust_02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: calc(80 / 750 * 100vw);
    height: calc(40 / 750 * 100vw);
    top: auto;
    bottom: 0;
    transform: none;
    left: calc(10 / 750 * 100vw);
  }

  .our_activities_inner h2::after {
    content: "";
    position: absolute;
    background-image: url(../img/sp/title_illust_01.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: calc(76 / 750 * 100vw);
    height: calc(39 / 750 * 100vw);
    top: auto;
    bottom: 0;
    transform: none;
    right: calc(25 / 750 * 100vw);
    ;
  }

  .our_activities_inner_title01 {
    font-size: calc(27.72 / 750 * 100vw);
    color: #2e9a40;
    letter-spacing: 0.1em;
    margin-bottom: calc(20 / 750 * 100vw);
  }

  .our_activities_inner_title02 {
    font-size: calc(51.48 / 750 * 100vw);
    color: #6e381b;
    letter-spacing: 0.1em;
  }

  .our_activities_inner_list ul {
    display: block;
  }

  .our_activities_inner_list ul li {
    width: 100%;
    margin-bottom: calc(75 / 750 * 100vw);
  }

  .our_activities_inner_list ul li:last-child {
    margin-bottom: 0;
  }

  .our_activities_inner_list ul li h3 {
    font-size: calc(41.45 / 750 * 100vw);
    margin: calc(35 / 750 * 100vw) 0;
  }

  .our_activities_inner_list ul li p {
    font-size: calc(27.27 / 750 * 100vw);
    line-height: 1.8;
  }

  .our_activities .btn a {
    display: block;
    width: calc(530 / 750 * 100vw);
    background-color: #2e9a40;
    color: #fff;
    font-size: calc(29.7 / 750 * 100vw);
    font-weight: bold;
    border-radius: 5px;
    padding: calc(35 / 750 * 100vw) 0;
    text-align: center;
    text-decoration: none;
    position: relative;
    margin: calc(70 / 750 * 100vw) auto 0;
  }

  .our_activities .btn a::after {
    content: "";
    display: block;
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
    background-image: url("../img/sp/btn01_icon.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: calc(45 / 750 * 100vw);
    top: 50%;
    transform: translateY(-50%);
  }


  /*-----news-------*/
  .news_inner {
    width: calc(685 / 750 * 100vw);
    margin: 0 auto;
    padding: calc(100 / 750 * 100vw) 0 calc(150 / 750 * 100vw);
  }

  .sp_ctn03_top {
    position: absolute;
    width: 100%;
    left: 0;
    top: calc(-33 / 750 * 100vw);
  }

  .cnt03_illust01 {
    position: absolute;
    width: calc(173 / 750 * 100vw);
    right: 0;
    top: calc(-85 / 750 * 100vw);
  }

  .cnt03_illust02 {
    position: absolute;
    width: calc(64 / 750 * 100vw);
    left: calc(53 / 750 * 100vw);
    top: calc(50 / 750 * 100vw);
  }

  .news_inner_flex {
    display: block;
  }

  .news_inner_title01 {
    font-size: calc(27.72 / 750 * 100vw);
    text-align: center;
    margin-bottom: calc(20 / 750 * 100vw);
  }

  .news_inner_title02 {
    font-size: calc(51.48 / 750 * 100vw);
    text-align: center;
    margin-bottom: calc(80 / 750 * 100vw);
  }

  .news_inner_list {
    width: 100%;
  }

  .news_inner_list ul li {
    padding: calc(45/ 750 * 100vw) 0;
    border-bottom: 1px solid #d5ebd9;
    position: relative;
  }

  .news_inner_list ul li:first-child {
    padding-top: 0;
  }

  .news_inner_list ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }

  .news_inner_list ul li::after {
    content: "";
    display: block;
    width: calc(28/ 750 * 100vw);
    height: calc(28/ 750 * 100vw);
    background-image: url("../img/sp/news_list_icon.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 0;
    top: calc(100 / 750 * 100vw);
    transform: none;
  }

  .news_inner_list ul li:first-child::after {
    top: calc(51 / 750 * 100vw);
    transform: none;
  }

  .news_inner_list ul li:last-child::after {
    bottom: auto;
    top: calc(96 / 750 * 100vw);
    transform: none;
  }

  .news_inner_list_inner {
    display: block;
  }

  .news_inner_list_inner p {
    font-size: calc(23.76 / 750 * 100vw);
    color: #2e9a40;
    font-weight: bold;
    margin-right: 0;
    margin-bottom: calc(30 / 750 * 100vw);
  }

  .news_inner_list_inner h3 {
    font-size: calc(27.72/ 750 * 100vw);
    color: #6e381b;
    font-weight: bold;
  }

  .news_inner_flex .btn a {
    display: block;
    width: calc(530 / 750 * 100vw);
    background-color: #2e9a40;
    color: #fff;
    font-size: calc(29.7 / 750 * 100vw);
    font-weight: bold;
    border-radius: 5px;
    padding: calc(35 / 750 * 100vw) 0;
    text-align: center;
    text-decoration: none;
    position: relative;
    margin: calc(75 / 750 * 100vw) auto 0;
  }

  .news_inner_flex .btn a::after {
    content: "";
    display: block;
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
    background-image: url("../img/sp/btn01_icon.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: calc(45 / 750 * 100vw);
    top: 50%;
    transform: translateY(-50%);
  }




  .page_kv .sp_kv_text_01 {
    color: #2e9a40;
    display: inline-block;
    font-weight: 400;
    font-size: calc(24.54 / 750 * 100vw);
    letter-spacing: 0.1em;
    background-color: #fff;
    padding: calc(10 / 750 * 100vw) calc(15 / 750 * 100vw) 0 calc(17 / 750 * 100vw);
  }

  .page_kv .sp_kv_text_02 {
    color: #6e381b;
    display: inline-block;
    font-weight: 900;
    font-size: calc(62.5 / 750 * 100vw);
    letter-spacing: 0.1em;
    font-weight: bold;
    background-color: #fff;
    padding: calc(10 / 750 * 100vw) calc(10 / 750 * 100vw) calc(15 / 750 * 100vw) calc(25 / 750 * 100vw);
  }

  .page_kv .sp_kv_text_02 .en {}


  .about_cnt01 {
    padding-top: calc(80 / 750 * 100vw);
  }

  .about_ctn01_top {
    position: absolute;
    left: 0;
    top: calc(-105 / 750 * 100vw);
  }

  .sp_dpb .about_cnt01_text {
    width: calc(685 / 750 * 100vw);
    margin: 0 auto;
    padding: calc(90 / 750 * 100vw) calc(40 / 750 * 100vw);
    background-color: #fff;
    position: static;
    box-sizing: border-box;
    border-radius: 20px;
  }

  .about_cnt01_text_01 p {
    font-size: calc(47.04 / 750 * 100vw);
    color: #6e381b;
    font-weight: bold;
    margin-bottom: calc(25 / 750 * 100vw);
  }

  .about_cnt01_text_01 p.p_re {
    margin-bottom: calc(75 / 750 * 100vw);
    z-index: 1;
  }

  .about_cnt01_text_01 p.p_re span {
    color: #2e9a40;
  }

  .about_cnt01_text_01 p.p_re::after {
    content: "";
    width: 90%;
    height: calc(15 / 750 * 100vw);
    background-color: #f4f4c1;
    position: absolute;
    bottom: calc(-7 / 750 * 100vw);
    left: 0;
    z-index: -1;
  }

  .about_cnt01_text_02 {
    width: 100%;
  }

  .about_cnt01_text_02 p {
    font-size: calc(28 / 750 * 100vw);
    color: #6e381b;
    text-align: justify;
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: calc(65 / 750 * 100vw);
  }

  .about_cnt01_photo {
    width: calc(650 / 750 * 100vw);
    margin: 0 auto;
    margin-top: calc(-15 / 750 * 100vw);
  }

  .about_cnt01_text_03 {
    padding: calc(125 / 750 * 100vw) 0 calc(100 / 750 * 100vw);
    text-align: center;
  }

  .about_cnt01_text_03_01 {
    font-size: calc(34 / 750 * 100vw);
    color: #6e381b;
    text-align: center;
    font-weight: bold;
    margin-bottom: calc(35 / 750 * 100vw);
    line-height: 1.8;
  }

  .about_cnt01_text_03_02 {
    font-size: calc(42 / 750 * 100vw);
    display: inline-block;
    color: #6e381b;
    text-align: center;
    font-weight: bold;
    border-bottom: calc(6 / 750 * 100vw) dotted #6e381b;
    padding-bottom: calc(12 / 750 * 100vw);
    margin-bottom: calc(35 / 750 * 100vw);
  }

  .about_cnt01_text_03_03 {
    display: inline-block;
    padding: calc(10 / 750 * 100vw) calc(10 / 750 * 100vw);
    color: #fff;
    background: #6d4c3a;
    font-size: calc(37.2 / 750 * 100vw);
    font-weight: bold;
    position: absolute;
    left: calc(62 / 750 * 100vw);
    top: calc(45 / 750 * 100vw);
    transform: rotate(-18deg);
  }

  .about_cnt01_text_03_03 p {
    position: relative;
    z-index: 1;
  }

  .about_cnt01_text_03_03 p::after {
    content: "";
    position: absolute;
    background-image: url(../img/shikashi.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: calc(17 / 750 * 100vw);
    height: calc(25 / 750 * 100vw);
    bottom: calc(-24 / 750 * 100vw);
    left: calc(47 / 750 * 100vw);
    transform: rotate(22deg);
    z-index: -1;
  }

  .about_ctn02_top {
    position: absolute;
    top: calc(-37 / 750 * 100vw);
  }

  .about_cnt02_inner {
    width: calc(685 / 750 * 100vw);
  }

  .about_cnt02_inner_text01 {
    display: inline-block;
    font-size: calc(40.9 / 750 * 100vw);
    line-height: 1.2;
    font-weight: bold;
    color: #fff;
    position: absolute;
    top: calc(95 / 750 * 100vw);
    left: calc(235 / 750 * 100vw);
    transform: none;
  }

  .about_cnt02_inner_text02 {
    position: absolute;
    top: calc(297 / 750 * 100vw);
    left: calc(96 / 750 * 100vw);
  }

  .about_cnt02_inner_text02 .kv_02_text_01 {
    font-size: calc(39.96 / 750 * 100vw);
    color: #6e381b;
    letter-spacing: 0.05em;
    font-weight: bold;
    margin-bottom: calc(30 / 750 * 100vw);
  }

  .about_cnt02_inner_text02 .kv_02_text_02 {
    font-size: calc(61.99 / 750 * 100vw);
    color: #6e381b;
    letter-spacing: 0.05em;
    font-weight: bold;
    margin-bottom: calc(30 / 750 * 100vw);
  }

  .about_cnt02_inner_text02 .kv_02_text_03 {
    font-size: calc(61.99 / 750 * 100vw);
    color: #6e381b;
    letter-spacing: 0.05em;
    font-weight: bold;
    display: inline-block;
    position: relative;
    z-index: 10;
  }

  .about_cnt02_inner_text02 .kv_02_text_03::after {
    content: "";
    width: 95%;
    height: calc(15 / 750 * 100vw);
    background-color: #f4f4c1;
    position: absolute;
    bottom: calc(-7 / 750 * 100vw);
    left: 0;
    z-index: -1;
  }

  .about_cnt02_inner_text03 {
    padding: calc(75 / 750 * 100vw) 0 calc(150 / 750 * 100vw);
  }

  .about_cnt02_inner_text03_01 {
    font-size: calc(42 / 750 * 100vw);
    color: #6e381b;
    font-weight: bold;
    text-align: justify;
    line-height: 1.8;
    margin-bottom: calc(55 / 750 * 100vw);
    letter-spacing: 0.1em;
  }

  .about_cnt02_inner_text03_02 {
    font-size: calc(28 / 750 * 100vw);
    color: #6e381b;
    text-align: justify;
    font-weight: bold;
    line-height: 1.8;
  }

  .about_rep {
    margin-top: calc(95 / 750 * 100vw);
  }

  .our_activities_inner h2.about_rep::before {
    left: 20%;
  }

  .our_activities_inner h2.about_rep::after {
    right: 20%;
  }

  .about_rep_block {
    background-color: #fff;
    padding: calc(60 / 750 * 100vw) calc(45 / 750 * 100vw);
    border-radius: 20px;
  }

  .about_rep_block_inner {
    display: block;
  }

  .about_rep_block_inner_l {
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: calc(55 / 750 * 100vw);
    ;
  }

  .about_rep_block_inner_l img {
    width: calc(235 / 750 * 100vw);
  }

  .about_rep_block_inner_l p {
    width: calc(280 / 750 * 100vw);
    margin-top: 0;
    line-height: 1.8;
    color: #6e381b;
    font-weight: bold;
    font-size: calc(42 / 750 * 100vw);
  }

  .about_rep_block_inner_l p span {
    color: #2e9a40;
    font-weight: bold;
    font-size: calc(36 / 750 * 100vw);
  }

  .about_rep_block_inner_r {
    width: 100%;
    color: #6e381b;
    font-weight: bold;
    font-size: calc(28 / 750 * 100vw);
    line-height: 1.8;
    text-align: justify;
  }




  /*----contact.html-----*/
  .contact_cnt01 {
    padding-top: 0;
  }

  .contact_ctn01_top {
    position: absolute;
    left: 0;
    top: calc(-38 / 750 * 100vw);
  }

  .contact_form {
    padding: calc(60 / 750 * 100vw) 0 calc(150 / 750 * 100vw);
  }

  .contact_cnt01_inner {
    width: calc(685 / 750 * 100vw);
  }

  .contact_form_table,
  .contact_form_table tbody,
  .contact_form_table tr,
  .contact_form_table th,
  .contact_form_table td {
    display: block;
    width: 100%;
  }

  .contact_form_table tr {
    padding: calc(35 / 750 * 100vw) 0;
  }

  .contact_form_table th {
    width: 100%;
    padding: 0 0 calc(30 / 750 * 100vw) 0;
    font-size: calc(32 / 750 * 100vw);
  }

  .contact_form_table td {
    padding: 0;
  }

  .contact_badge {
    font-size: calc(24 / 750 * 100vw);
    padding: calc(3 / 750 * 100vw) calc(10 / 750 * 100vw);
  }

  .contact_label_wrap {
    gap: calc(20 / 750 * 100vw);
  }

  .contact_form_table input[type="text"],
  .contact_form_table input[type="tel"],
  .contact_form_table input[type="email"],
  .contact_form_table textarea {
    font-size: calc(30 / 750 * 100vw);
    padding: calc(20 / 750 * 100vw) calc(18 / 750 * 100vw);
    border-radius: 4px;
  }

  .contact_form_table textarea {
    height: calc(280 / 750 * 100vw);
  }

  .contact_radio_group {
    display: block;
  }

  .contact_radio_group label {
    font-size: calc(30 / 750 * 100vw);
    gap: calc(10 / 750 * 100vw);
    margin-bottom: calc(20 / 750 * 100vw);
  }

  .contact_radio_group label:last-child {
    margin-bottom: 0;
  }

  .contact_radio_group input[type="radio"] {
    width: calc(28 / 750 * 100vw);
    height: calc(28 / 750 * 100vw);
  }

  .contact_submit_wrap {
    margin-top: 0;
  }

  .contact_submit_btn {
    font-size: calc(29.7 / 750 * 100vw);
    padding: calc(35 / 750 * 100vw) calc(80 / 750 * 100vw);
    gap: calc(10 / 750 * 100vw);
    width: calc(530 / 750 * 100vw);
    justify-content: center;
    margin-top: calc(35 / 750 * 100vw);
  }

  .contact_submit_btn::after {
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
  }




  /*----contact-confirm.html-----*/
  .contact_form_table td .confirm_value {
    font-size: calc(30 / 750 * 100vw);
    padding: calc(12 / 750 * 100vw) 0;
  }

  .confirm_btn_wrap {
    gap: calc(25 / 750 * 100vw);
    margin-top: calc(35 / 750 * 100vw);
    flex-direction: row;
  }

  .confirm_btn_back,
  .confirm_btn_submit {
    width: calc(325 / 750 * 100vw);
    font-size: calc(29.7 / 750 * 100vw);
    padding: calc(35 / 750 * 100vw) 0;
  }

  .confirm_btn_back::before {
    width: calc(28 / 750 * 100vw);
    height: calc(28 / 750 * 100vw);
    right: calc(18 / 750 * 100vw);
  }

  .confirm_btn_submit::after {
    width: calc(28 / 750 * 100vw);
    height: calc(28 / 750 * 100vw);
    right: calc(18 / 750 * 100vw);
  }



  /*----contact-thanks.html-----*/
  .contact_thanks_title {
    text-align: center;
    margin-bottom: calc(80 / 750 * 100vw);
    padding-top: calc(80 / 750 * 100vw);
  }

  .contact_thanks_title_01 {
    font-size: calc(36 / 750 * 100vw);
    font-weight: 500;
    margin-bottom: calc(10 / 750 * 100vw);
  }

  .contact_thanks_title_02 {
    font-size: calc(53 / 750 * 100vw);
    display: inline-block;
    color: #6d4c3a;
    line-height: 1.5;
    font-weight: bold;
    position: relative;
  }

  .contact_thanks_title_02::before {
    content: "";
    background-image: url(../img/sp/contact_thank_illust01.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: calc(83 / 750 * 100vw);
    height: calc(112 / 750 * 100vw);
    position: absolute;
    bottom: calc(91 / 750 * 100vw);
    left: calc(-3 / 750 * 100vw);
  }

  .contact_thanks_title_02::after {
    content: "";
    background-image: url(../img/sp/contact_thank_illust02.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: calc(78 / 750 * 100vw);
    height: calc(123 / 750 * 100vw);
    position: absolute;
    bottom: calc(91 / 750 * 100vw);
    right: calc(-3 / 750 * 100vw);
  }

  .contact_thanks_text {
    text-align: left;
    font-size: calc(28 / 750 * 100vw);
    color: #6d4c3a;
    font-weight: bold;
    line-height: 1.8;
    padding-bottom: calc(170 / 750 * 100vw);
  }



  /*----enrollment.html-----*/
  .enrollment_inner {
    width: calc(685 / 750 * 100vw);
    margin: 0 auto;
    padding: calc(100 / 750 * 100vw) 0 calc(150 / 750 * 100vw);
  }

  .enrollment_inner h3 {
    font-size: calc(52 / 750 * 100vw);
    margin-bottom: calc(60 / 750 * 100vw);
  }

  .info-row dt {
    background: #eeeeee;
    padding: calc(60 / 750 * 100vw) 0;
    width: calc(310 / 750 * 100vw);
    color: #4a2f21;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    letter-spacing: 0.05em;
    font-size: calc(28 / 750 * 100vw);
  }

  .info-row dd {
    padding: calc(60 / 750 * 100vw) calc(35 / 750 * 100vw);
    margin: 0;
    width: calc(375 / 750 * 100vw);
    display: flex;
    align-items: center;
    background-color: #fff;
    font-weight: bold;
    letter-spacing: 0.05em;
    font-size: calc(28 / 750 * 100vw);
    color: #4a2f21;
    line-height: 1.3;
  }

  .info-row dd ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .info-row dd ul li {
    margin-bottom: calc(15 / 750 * 100vw);
    padding-left: calc(25 / 750 * 100vw);
    position: relative;
  }

  .info-row dd ul li:last-child {
    margin-bottom: 0;
  }

  dd ul li::before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0;
  }

  .enrollment_list ul {
    width: calc(690 / 750 * 100vw);
    display: block;
  }

  .enrollment_list ul li {
    width: 100%;
    position: relative;
    margin-bottom: calc(85 / 750 * 100vw);
  }

  .enrollment_list ul li:last-child {
    margin-bottom: 0;
  }

  .enrollment_list ul li::after {
    background-image: url(../img/sp/enrollment_sankaku.png);
    width: calc(55 / 750 * 100vw);
    height: calc(30 / 750 * 100vw);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    right: auto;
    top: auto;
    bottom: calc(-60 / 750 * 100vw);
  }

  .enrollment_list_inner {
    display: flex;
  }

  .enrollment_list_img {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    width: calc(250 / 750 * 100vw);
    height: calc(200 / 750 * 100vw);
    border-radius: 10px 10px 0 0;
    position: relative;
  }

  .enrollment_list ul li:first-child .enrollment_list_img img {
    width: calc(170 / 750 * 100vw);
  }

  .enrollment_list ul li:nth-child(2) .enrollment_list_img img {
    width: calc(170 / 750 * 100vw);
  }

  .enrollment_list ul li:last-child .enrollment_list_img img {
    width: calc(127 / 750 * 100vw);
  }

  .enrollment_list_img p {
    font-size: calc(30.86 / 750 * 100vw);
    width: calc(50 / 750 * 100vw);
    padding: calc(10 / 750 * 100vw) 0;
  }

  .enrollment_list_text {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f0f0aa;
    width: calc(440 / 750 * 100vw);
    height: calc(200 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw);
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #4a2f21;
    border-radius: 0 0 10px 10px;
  }

  .enrollment_inner .btn a {
    display: block;
    width: calc(530 / 750 * 100vw);
    background-color: #2e9a40;
    color: #fff;
    font-size: calc(29.7 / 750 * 100vw);
    font-weight: bold;
    border-radius: 5px;
    padding: calc(35 / 750 * 100vw) 0;
    text-align: center;
    text-decoration: none;
    position: relative;
    margin: calc(75 / 750 * 100vw) auto 0;
  }

  .enrollment_inner .btn a::after {
    content: "";
    display: block;
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
    background-image: url(../img/sp/btn01_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: calc(45 / 750 * 100vw);
    top: 50%;
    transform: translateY(-50%);
  }




  .member_inner {
    width: calc(685 / 750 * 100vw);
    margin: 0 auto;
    padding: calc(100 / 750 * 100vw) 0 calc(150 / 750 * 100vw);
  }

  .member_inner h3 {
    font-size: calc(52 / 750 * 100vw);
    margin-bottom: 0;
    line-height: 1.3;
    margin-bottom: calc(25 / 750 * 100vw);
  }

  .member_inner_title02 {
    font-size: calc(36 / 750 * 100vw);
    margin-bottom: calc(75 / 750 * 100vw);
  }



  .member_sp_block {
    margin-bottom: calc(60 / 750 * 100vw);
    letter-spacing: 0.05em;
  }

  .member_sp_block_title {
    background-color: #f0f0aa;
    text-align: center;
    font-size: calc(30 / 750 * 100vw);
    font-weight: bold;
    color: #6d4c3a;
    padding: calc(30 / 750 * 100vw) 0;
    border-radius: 10px 10px 0 0;
  }

  .member_sp table {
    width: 100%;
    border-collapse: collapse;
    border-top: none;
  }

  .member_sp table th {
    background-color: #f2f2f2;
    padding: calc(20 / 750 * 100vw) 0;
    font-size: calc(26 / 750 * 100vw);
    font-weight: bold;
    color: #908b8b;
    text-align: center;
  }

  .member_sp table td {
    padding: calc(30 / 750 * 100vw) calc(5 / 750 * 100vw) calc(30 / 750 * 100vw) calc(35 / 750 * 100vw);
    font-size: calc(22 / 750 * 100vw);
    background-color: #fff;
    font-weight: bold;
    color: #6d4c3a;
    border-bottom: 1px solid #d6d6c1;
    vertical-align: middle;
    line-height: 1.3;
    border-right: 1px solid #ebebd3;
  }

  .member_sp table tr:last-child td {
    border-bottom: none;
  }

  .member_sp_block_flex div {
    display: flex;
  }

  .member_role {
    display: inline-block;
    width: 43%;
    font-size: calc(22 / 750 * 100vw);
    font-weight: bold;
    color: #2e9a40;
    white-space: nowrap;
  }






  /*-----news_list.html------*/
  .news_list_block {
    width: calc(685 / 750 * 100vw);
    margin: 0 auto;
    padding-top: calc(65 / 750 * 100vw);
    padding-bottom: calc(120 / 750 * 100vw);
  }

  .news_list_block .news_inner_list {
    width: 100%;
    margin-bottom: calc(150 / 750 * 100vw);
  }

  .news_list_block h3 {
    font-size: calc(52 / 750 * 100vw);
    margin-bottom: calc(65 / 750 * 100vw);
  }

  .news_list_block .news_inner_list_inner h4 {
    font-size: calc(28 / 750 * 100vw);
    padding-right: calc(36 / 750 * 100vw);
  }

  .news_list_block .pager_link ul li {
    padding: 0 calc(20 / 750 * 100vw);
    width: calc(7 / 750 * 100vw);
    font-size: calc(26 / 750 * 100vw);
  }

  .news_list_block .pager_link ul li:first-child {
    margin-right: calc(70 / 750 * 100vw);
    padding: 0;
  }

  .news_list_block .pager_link ul li:last-child {
    margin-left: calc(70 / 750 * 100vw);
    padding: 0;
  }

  /*-----news-article.html------*/
  .news_article_inner p.date {
    font-size: calc(24 / 750 * 100vw);
    margin-bottom: calc(25 / 750 * 100vw);
  }

  .news_article_inner h3 {
    font-size: calc(43 / 750 * 100vw);
    margin-bottom: calc(70 / 750 * 100vw);
  }
  .news_article_inner .news_article_inner_text {
    font-size: calc(28 / 750 * 100vw);
    font-weight: 500;
    margin-bottom: calc(100 / 750 * 100vw);
  }
  .news_article_peger {
    width: calc(390 / 750 * 100vw);
    margin: 0 auto calc(60 / 750 * 100vw);
  }
  .news_article_peger ul li a {
    font-size: calc(26 / 750 * 100vw);
  }
  .news_article_peger ul li:first-child a::before {
    width: calc(7 / 750 * 100vw);
    height: calc(13 / 750 * 100vw);
    left: calc(-20 / 750 * 100vw);
  }
  .news_article_peger ul li:last-child a::after {
    width: calc(7 / 750 * 100vw);
    height: calc(13 / 750 * 100vw);
    right: calc(-20 / 750 * 100vw);
  }
  .news_list_block .btn a {
    display: block;
    width: calc(530 / 750 * 100vw);
    background-color: #2e9a40;
    color: #fff;
    font-size: calc(29.7 / 750 * 100vw);
    font-weight: bold;
    border-radius: 5px;
    padding: calc(35 / 750 * 100vw) 0;
    text-align: center;
    text-decoration: none;
    position: relative;
    margin: calc(75 / 750 * 100vw) auto 0;
  }
  .news_list_block .btn a::after {
    content: "";
    display: block;
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
    background-image: url(../img/sp/btn01_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: calc(45 / 750 * 100vw);
    top: 50%;
    transform: translateY(-50%);
  }





  /*-----footer-------*/
  .sp_footer_top {
    position: absolute;
    width: 100%;
    left: 0;
    top: calc(-37 / 750 * 100vw);
  }

  .footer_btn_block {
    position: absolute;
    width: calc(685 / 750 * 100vw);
    top: calc(100 / 750 * 100vw);
    left: 50%;
    transform: translateX(-50%);
    display: block;
  }

  .footer_btn_block_01 {
    width: 100%;
    text-align: center;
    background-color: #2e9a40;
    padding: calc(55 / 750 * 100vw) 0;
    border-radius: 19px;
    color: #fff;
    letter-spacing: 0.1em;
    margin-bottom: calc(50 / 750 * 100vw);
  }

  .footer_btn_block_01_title {
    font-size: calc(41.58 / 750 * 100vw);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(5 / 750 * 100vw);
    margin-bottom: calc(50 / 750 * 100vw);
  }

  .footer_btn_block_01_title::before {
    content: "";
    display: block;
    width: calc(36 / 750 * 100vw);
    height: calc(45 / 750 * 100vw);
    background-image: url(../img/sp/footer_nyukai_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
  }

  .footer_btn_block_01_text {
    font-size: calc(27.72 / 750 * 100vw);
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: calc(50 / 750 * 100vw);
  }

  .footer_btn_block .footer_btn_block_01 .btn a {
    display: block;
    width: calc(535 / 750 * 100vw);
    background-color: #fff;
    color: #2e9a40;
    font-size: calc(29.7 / 750 * 100vw);
    font-weight: bold;
    border-radius: 5px;
    padding: calc(35 / 750 * 100vw) 0;
    text-align: center;
    text-decoration: none;
    position: relative;
    margin: 0 auto;
  }

  .footer_btn_block .footer_btn_block_01 .btn a::after {
    content: "";
    display: block;
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
    background-image: url(../img/sp/footer_btn_01.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: calc(45 / 750 * 100vw);
    top: 50%;
    transform: translateY(-50%);
  }

  .footer_nyukai_illust {
    position: absolute;
    width: calc(120 / 750 * 100vw);
    left: calc(25 / 750 * 100vw);
    top: calc(-45 / 750 * 100vw);
    ;
  }

  .footer_btn_block_02 {
    width: 100%;
    text-align: center;
    background-color: #ec4f40;
    padding: calc(55 / 750 * 100vw) 0;
    border-radius: 19px;
    color: #fff;
    letter-spacing: 0.1em;
  }

  .footer_btn_block_02_title {
    font-size: calc(41.58 / 750 * 100vw);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(10 / 750 * 100vw);
    margin-bottom: calc(50 / 750 * 100vw);
  }

  .footer_btn_block_02_title::before {
    content: "";
    display: block;
    width: calc(53 / 750 * 100vw);
    height: calc(36 / 750 * 100vw);
    background-image: url(../img/sp/footer_toiawase_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
  }

  .footer_btn_block_02_text {
    font-size: calc(27.72 / 750 * 100vw);
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: calc(50 / 750 * 100vw);
  }

  .footer_btn_block .footer_btn_block_02 .btn a {
    display: block;
    width: calc(535 / 750 * 100vw);
    background-color: #fff;
    color: #ec4f40;
    font-size: calc(29.7 / 750 * 100vw);
    font-weight: bold;
    border-radius: 5px;
    padding: calc(35 / 750 * 100vw) 0;
    text-align: center;
    text-decoration: none;
    position: relative;
    margin: 0 auto;
  }

  .footer_btn_block .footer_btn_block_02 .btn a::after {
    content: "";
    display: block;
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
    background-image: url(../img/sp/footer_btn_02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: calc(45 / 750 * 100vw);
    top: 50%;
    transform: translateY(-50%);
  }

  .footer_toiawase_illust {
    position: absolute;
    width: calc(135 / 750 * 100vw);
    right: calc(-10 / 750 * 100vw);
    bottom: auto;
    top: calc(-40 / 750 * 100vw);
  }

  .copyright {
    position: absolute;
    font-size: calc(25.74 / 750 * 100vw);
    color: #fff;
    text-align: center;
    width: 100%;
    left: 0;
    bottom: calc(85 / 750 * 100vw);
    text-shadow: 0px 0px 18px rgba(45, 91, 30, 0.73);
  }
}