@media only screen and (max-width: 1200px) {
  .l_header h1 img {
    width: 200px;
    height: auto;
  }
  .c_nav_type01 ul li {
    margin-right: 15px;
  }
  .c_btn_type01.is_header {
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 10px;
  }
  .c_btn_type01.is_header::after {
    content: "";
    width: 25px;
    height: 25px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .c_footer_text {
    line-height: 3.2rem;
    font-size: 1.6rem;
  }
  .c_btn_type01.is_footer {
    padding: 20px 115px 23px 50px;
    font-size: 2.4rem;
  }
  .c_btn_type01.is_footer::after {
    background-size: 65%;
    top: 23px;
    right: 35px;
  }
  .u_pc {
    display: none !important;
  }
  .u_pc-1200 {
    display: block !important;
  }
}
@media only screen and (max-width: 929px) {
  .l_header h1 img {
    width: 250px;
    height: auto;
  }
  .c_btn_type01.is_header {
    margin: 1.5vw 55px 1.5vw 0
  }
  .c_nav_type01 {
    padding-top: 10vw !important;
  }
  .c_nav_type01 li a, .c_nav_type01 li span {
    padding: 15px 30px 15px;
    font-size: unset;
  }
  .c_nav_type01 ul {
    display: block;
  }
  .c_nav_type01 ul li {
    margin-right: 0;
  }
  .c_nav_type01 li a {
    display: block;
    color: #333;
  }
  .drawer-nav {
    width: 325px !important;
  }
  .l_poster_theme {
    margin-bottom: 30px;
  }
  .c_btn_type01.is_poster {
    padding: 18px 80px 18px 50px;
    border-radius: 60px;
    font-size: 2.0rem;
    width: 100%;
  }
  .c_btn_type01.is_poster::after {
    content: "";
    position: absolute;
    background: url(../images/icon_mail.png) no-repeat;
    background-size: 100%;
    width: 30px;
    height: 30px;
    top: 18px;
    right: 50px;
  }
  .c_footer_title {
    text-align: center;
    font-size: 4.8rem;
    margin: 100px 0 40px 0;
  }
  .l_footer .u_flex {
    display: block;
    text-align: center;
  }
  .c_footer_text {
    margin-bottom: 40px;
    line-height: 3.4rem;
    font-size: 2.0rem;
  }
  .u_pc-1200 {
    display: none !important;
  }
  .u_pc-929 {
    display: block !important;
  }
}
@media only screen and (max-width: 767px) {
  body {
    min-width: 100%;
    max-width: 750px;
    font-size: calc(30px + 30 * ((100vw - 750px) / 750));
    background-size: auto;
  }
  .l_wrap {
    width: 90%;
    max-width: 100%;
    margin: 0 auto;
  }
  section {
    padding: 60px 0;
  }
  /*----------------------------------------------
  .l_form
  ---------------------------------------------*/
  .l_form {
    height: 100vh;
  }
  /*----------------------------------------------
  .l_poster_area
  ---------------------------------------------*/
  .l_poster_area {
    background: url("../images/img_top_sp.png") center / cover no-repeat;
  }
  .l_poster_item {
    left: 0;
    right: 0;
    bottom: 10vw;
    width: 90vw;
    margin: 0 5vw;
  }
  .l_poster_theme {
    margin-bottom: 6vw;
  }
  .l_poster_text {
    margin-bottom: 10vw;
  }
  /*----------------------------------------------
  .l_header_area
  ---------------------------------------------*/
  .l_header_area {
    height: auto;
    align-items: center;
  }
  .l_header_menu {
    display: flex;
    flex-direction: row-reverse;
  }
  .l_header {
    padding: 0 15px;
    align-items: center;
  }
  /*----------------------------------------------
  .l_container
  ---------------------------------------------*/
  .l_container {
    padding-top: 0;
  }
  /*----------------------------------------------
  .l_main_contents
  ---------------------------------------------*/
  .l_main_contents {
    width: 100%;
    position: relative;
    float: none;
    padding: 80px 0 0;
  }
  .l_content {
    margin: 0 2.6vw;
    padding: 8vw 3.6vw;
    min-height: 65vw;
    font-size: calc(29px + 29 * ((100vw - 750px) / 750));
    ;
  }
  /*----------------------------------------------
  .l_header_title
  ---------------------------------------------*/
  .l_header_title {
    height: 37px;
    display: block;
    vertical-align: middle;
  }
  .l_header h1 {}
  .l_header h1 img {
    width: auto;
    height: 8vw;
    vertical-align: middle;
    align-items: center;
  }
  /*----------------------------------------------
  .l_contact_area
  ---------------------------------------------*/
  .l_contact_area {
    background: url("../images/bg_footer.png") top;
  }
  /*----------------------------------------------
  .l_copyright
  ---------------------------------------------*/
  .l_copyright {
    font-size: calc(24px + 24 * ((100vw - 750px) / 750));
  }
  /*----------------------------------------------
  .l_pagetop
  ---------------------------------------------*/
  .l_pagetop img {
    width: 12.5vw;
  }
  .l_pagetop {
    position: fixed;
    right: 2.6vw;
    z-index: 99;
    bottom: 13vw;
  }
  /*
  .l_pagetop.attached {
    position: absolute;
    bottom: 0;
    right: 2.6vw;
  }
*/
  /*----------------------------------------------
  .c_nav_type01
  ---------------------------------------------*/
  .c_nav_type01 {
    padding-top: 15vw !important;
  }
  .c_nav_type01 li a, .c_nav_type01 li span {
    padding: 3vw 5vw !important;
  }
  .c_nav_type01 ul {
    display: block;
  }
  /*----------------------------------------------
  .c_nav_type02
  ---------------------------------------------*/
  .c_nav_type02 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0;
  }
  .c_nav_type02 li {
    width: 50%;
    text-align: left;
  }
  .c_nav_type02 li a {
    display: block;
    padding: 0 0 15px 0;
    text-align: left;
    font-size: calc(26px + 26 * ((100vw - 750px) / 750));
  }
  /*----------------------------------------------
  .c_ttl
  ---------------------------------------------*/
  .c_ttl_type01 {
    font-size: calc(5rem + 50 * ((100vw - 750px) / 750));
    padding: 2vw 2.5vw;
    margin: 0 2.6vw;
  }
  .c_ttl_type02 {
    font-size: calc(3.8rem + 38 * ((100vw - 750px) / 750));
    margin-bottom: 5vw;
  }
  .c_ttl_type02::before, .c_ttl_type02::after {
    width: 5vw;
    height: 1px;
  }
  .c_ttl_type02::before {
    margin-right: 5vw;
  }
  .c_ttl_type02::after {
    margin-left: 5vw;
  }
  .c_ttl_type02_02 {
    margin-bottom: 60px;
    font-size: calc(3.8rem + 38 * ((100vw - 750px) / 750));
    display: inline-block; /* 追加：テキスト幅に要素幅を合わせる */
    left: 50%; /* 追加：親の中央に */
    transform: translateX(-50%);
  }
  .c_ttl_type02_02::after {
    top: 10vw;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
  }
  .c_ttl_type03 {
    font-size: calc(3.3rem + 33 * ((100vw - 750px) / 750));
    padding: 3.5px 1.6vw;
    border-left: 2px solid #D60000;
    margin-bottom: 5vw;
  }
	
	/*----------------------------------------------
	.c_box_type02
---------------------------------------------*/
.c_box_type02 {
        padding: 2.25vw;
    }
	
	/*----------------------------------------------
	.c_box_type03
---------------------------------------------*/
	.c_box_type03 {
        padding: 2.25vw;
    }
	
	
  /*----------------------------------------------
  .c_btn
  ---------------------------------------------*/
  .c_btn_type01.is_header {
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 10px;
    margin-right: 18vw;
  }
  .c_btn_type01.is_header::after {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .c_btn_type01.is_header {
    margin: 1.5vw 12vw 1.5vw 0;
  }
  .c_btn_type01.is_poster {
    padding: 17px 46px 18px 4px;
    border-radius: 40px;
    font-size: calc(38px + 38 * ((100vw - 750px) / 750));
    width: 64vw;
  }
  .c_btn_type01.is_poster::after {
    width: 30px;
    height: 30px;
    top: 20px;
    right: 24px;
  }
  .c_btn_type01.is_footer {
    padding: 17px 46px 18px 4px;
    border-radius: 40px;
    font-size: calc(34px + 34 * ((100vw - 750px) / 750));
    width: 64vw;
  }
  .c_btn_type01.is_footer::after {
    width: 40px;
    height: 40px;
    top: 20px;
    right: 15px;
  }
  /*----------------------------------------------
  .c_box_type01
  ---------------------------------------------*/
  .c_box_type01 {
    padding: 10.25vw 3.25vw;
  }
  .c_box_type01_header {
    font-size: calc(35px + 35 * ((100vw - 750px) / 750));
    flex-wrap: wrap;
    text-align: center;
    align-items: center;
    position: relative;
  }
  .c_box_type01_header span {
    font-size: calc(50px + 50 * ((100vw - 750px) / 750));
  }
  .c_box_type01_header::before, .c_box_type01_header::after {
    display: none;
    /*
    position: absolute;
    width: 13vw;
*/
  }
  /*
  .c_box_type01_header::before {
    left: -2vw;
    transform: rotate(70deg);
  }
  .c_box_type01_header::after {
    right: -2vw;
    transform: rotate(-70deg);
  }
*/
  .c_box_type01_text {
    font-size: calc(26px + 26 * ((100vw - 750px) / 750));
    line-height: 2;
  }
  /*----------------------------------------------
  u_mab
  ---------------------------------------------*/
  .u_mab10, .u_sp_mab10 {
    margin-bottom: 1.32vh;
  }
  .u_mab15, .u_sp_mab15 {
    margin-bottom: 1.98vh;
  }
  .u_mab20, .u_sp_mab20 {
    margin-bottom: 2.65vh;
  }
  .u_mab25, .u_sp_mab25 {
    margin-bottom: 3.31vh;
  }
  .u_mab30, .u_sp_mab30 {
    margin-bottom: 3.97vh;
  }
  .u_mab40, .u_sp_mab40 {
    margin-bottom: 5.30vh;
  }
  .u_mab50, .u_sp_mab50 {
    margin-bottom: 7.95vh;
  }
  .u_mab100, .u_sp_mab100 {
    margin-bottom: 10vw;
  }
  .u_mab60 {
    margin-bottom: 6.30vh;
  }
  /*----------------------------------------------
  u_sp_mar
  ---------------------------------------------*/
  .u_sp_mar0 {
    margin-right: 0;
  }
  /*----------------------------------------------
  miscellaneous
  ---------------------------------------------*/
  .u_pc-929 {
    display: none !important;
  }
  .u_sp {
    display: block !important;
  }
  .u_sp_ALcenter {
    text-align: center !important;
  }
  .u_sp_ALright {
    text-align: right !important;
  }
  .u_sp_ALleft {
    text-align: left !important;
  }
  .u_fs11 {
    font-size: calc(25px + 25 * ((100vw - 750px) / 750));
  }
  .u_fs12 {
    font-size: calc(26px + 26 * ((100vw - 750px) / 750));
  }
  .u_fs13 {
    font-size: calc(27px + 27 * ((100vw - 750px) / 750));
  }
  .u_fs14 {
    font-size: calc(28px + 28 * ((100vw - 750px) / 750));
  }
  .u_fs15 {
    font-size: calc(29px + 29 * ((100vw - 750px) / 750));
  }
  .u_fs16 {
    font-size: calc(30px + 30 * ((100vw - 750px) / 750));
  }
  .u_fs17 {
    font-size: calc(31px + 31 * ((100vw - 750px) / 750));
  }
  .u_fs18 {
    font-size: calc(32px + 32 * ((100vw - 750px) / 750));
  }
  .u_fs19 {
    font-size: calc(33px + 33 * ((100vw - 750px) / 750));
  }
  .u_fs20 {
    font-size: calc(34px + 34 * ((100vw - 750px) / 750));
  }
  .u_fs21 {
    font-size: calc(35px + 35 * ((100vw - 750px) / 750));
  }
  .u_fs22 {
    font-size: calc(36px + 36 * ((100vw - 750px) / 750));
  }
  .u_fs23 {
    font-size: calc(37px + 37 * ((100vw - 750px) / 750));
  }
  .u_fs24 {
    font-size: calc(38px + 38 * ((100vw - 750px) / 750));
  }
  a {
    line-break: anywhere;
  }
  /*----------------------------------------------
  u_flex
  ---------------------------------------------*/
  .u_flex.is_sp_column {
    flex-direction: column;
  }
  .c_text {
    font-size: calc(22px + 22 * ((100vw - 750px) / 750));
  }
  /*----------------------------------------------
  .c_card_area
  ---------------------------------------------*/
  .c_card_area {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
  .c_card {
    width: 100%;
  }
  .c_card_body {
    padding: 25px 15px;
  }
  .c_card_title {
    font-size: calc(25px + 25 * ((100vw - 750px) / 750));
  }
  .c_card_text {
    font-size: calc(23px + 23 * ((100vw - 750px) / 750));
  }
  /*----------------------------------------------
  .l_about_area
  ---------------------------------------------*/
  .c_about_item_01 {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 40px;
  }
  .c_about_text {
    font-size: calc(28px + 28 * ((100vw - 750px) / 750));
    margin-bottom: 42vw;
  }
  .c_about_item_02 img {
    width: 100%;
  }
  /*----------------------------------------------
  .l_policy_area
  ---------------------------------------------*/
  .l_policy_area {
    padding: 10vw 0;
  }
  .c_concerns_area {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  /*----------------------------------------------
  .l_data_area
  ---------------------------------------------*/
  .l_data_area .u_flex {
    margin-bottom: 0;
  }
  .l_data_area .u_flex img {
    width: 65%;
    height: auto;
    margin: 0 auto 40px;
  }
  /*----------------------------------------------
  .c_flow-container
  ---------------------------------------------*/
  .c_step-number {
    width: 7vw;
    height: 7vw;
    font-size: calc(28px + 28 * ((100vw - 750px) / 750));
    margin-left: 6vw;
    top: 13vw;
  }
  .c_step-title {
    font-size: calc(34px + 34 * ((100vw - 750px) / 750));
    margin: 6vw 0 3vw 0;
  }
  .c_step-card {
    padding: 0 5vw 5vw 18vw;
  }
  .c_flow-item {
    margin-bottom: 1vw;
  }
  .c_flow-container::before {
    left: 5px;
    top: 19vw;
    bottom: calc(45vw + 3.5vw);
    height: auto;
  }
  /*----------------------------------------------
  .l_interview_area
  ---------------------------------------------*/
  /*
  .l_interview_area {
    margin: 10vw auto;
    width: 95vw;
  }
*/
  .c_interview_container {
    width: 70vw;
  }
  .c_interview_card {
    width: 70vw;
    height: 128vw;
  }
  .c_interview_item {
    bottom: 0;
  }
  .c_interview_track {
    gap: 0;
    transition: transform 0.4s ease;
  }
  .c_interview_track a {
    min-width: 100%;
  }
  .c_interview_card {
    width: 90%;
    margin: 0 auto;
  }
  .c_interview_item p.is_company {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
  .c_interview_item p.is_name {
    font-size: 1.2rem;
    margin-bottom: 15px;
  }
  .c_interview_item p.is_name span {
    font-size: 2.0rem;
  }
  .c_interview_item p.is_text {
    font-size: 1.4rem;
  }
  /* ボタン */
  .c_carousel_btn {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    background: #C00000;
    color: #fff;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    z-index: 10;
  }
  .c_carousel_btn.prev {
    left: 5px;
  }
  .c_carousel_btn.next {
    right: 5px;
  }
  .c_interview_wrap {
    position: relative;
  }
  /*----------------------------------------------
  .l_fqa_area 
  ---------------------------------------------*/
  .l_fqa_area {
    padding: 10vw 0;
    width: 100vw;
  }
  .c_accordion {
    margin-bottom: 4vw;
    padding: 4vw;
  }
  .c_accordion-title {
    padding: 1vw 11vw 1vw 10vw;
  }
  .c_accordion-content {
    padding: 20px 3vw 0 40px;
  }
  .c_footer_title {
    margin: 10vw auto 5vw auto;
    font-size: calc(41px + 41 * ((100vw - 750px) / 750));
  }
  .c_footer_text {
    font-size: calc(25px + 25 * ((100vw - 750px) / 750));
    line-height: 2.2;
    margin-bottom: 5vw;
  }
  /*----------------------------------------------
.c_interview　社長インタビューカローセル
---------------------------------------------*/
  .carousel_outer {
    display: none;
    position: relative;
    overflow: hidden;
  }
  .carousel_track {
    display: flex;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .carousel_track > a {
    flex: 0 0 100%;
    min-width: 0;
    padding: 0 16px;
    text-decoration: none;
  }
  .carousel_track > a .c_interview_card {
    max-width: 386px;
    margin: 0 auto;
  }
  .carousel_btn {
    position: absolute;
    top: 50%;
    width: 12vw;
    height: 12vw;
    background: #754904;
    color: #fff;
    border: none;
    border-radius: 50%;
    font-size: 25px;
    padding-bottom: 3px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: background 0.2s;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  }
  .carousel_btn:hover {
    background: #5a3700;
  }
  .carousel_btn:disabled {
    opacity: 0.3;
    cursor: default;
  }
  .carousel_btn.prev {
    left: 4px;
  }
  .carousel_btn.next {
    right: 4px;
  }
  /*----------------------------------------------
PCページ内リンク調整
---------------------------------------------*/
  h2[id], h3[id], section[id] {
    scroll-margin-top: 61px; /* SP: ヘッダー高さ */
  }
  /*----------------------------------------------
社長・幹部インタビューページ
---------------------------------------------*/
  /*----------------------------------------------
.l_inner_top
---------------------------------------------*/
  .l_inner_top {
    background-size: cover;
    background-position: center;
    height: 30vw;
  }
  .l_inner_top h1 {
    font-size: calc(5.0rem + 50 * ((100vw - 750px) / 750));
  }
  /*----------------------------------------------
.c_ttl_type02_inner
---------------------------------------------*/
  .c_ttl_type02_inner {
    margin: 0 auto 10vw;
    font-size: calc(4.3rem + 43 * ((100vw - 750px) / 750))
  }
  /*----------------------------------------------
.c_profile_box
---------------------------------------------*/
  .c_profile_box {
    grid-template-columns: 1fr;
    gap: 20px;
    text-align: center;
    margin-bottom: -60px;
  }
  .c_profile_box.-reverse img {
    order: 1;
  }
  .c_profile_box.-reverse div {
    order: 2;
  }
  .c_profile_box img {
    width: 100%;
  }
  .c_profile_box.is_02 {
    display: flex;
  }
  .c_profile_box.is_02 .c_profile_text {
    order: 2;
  }
  .c_profile_box.is_02 img {
    order: 1;
    align-items: center;
    margin: auto;
  }
  .c_profile_text {
    text-align: center;
    width: 100%;
    margin: auto;
  }
  .c_profile_text .is_company {
    font-size: calc(3.5rem + 35 * ((100vw - 750px) / 750));
    margin: 5vw auto 2vw;
  }
  .c_profile_text .is_name {
    font-size: calc(2.8rem + 28 * ((100vw - 750px) / 750));
    margin-bottom: 5vw;
  }
  .c_profile_text .is_name span {
    font-size: calc(4.5rem + 45 * ((100vw - 750px) / 750));
  }
  .c_profile_text .is_text {
    font-size: calc(2.6rem + 26 * ((100vw - 750px) / 750));
    text-align: left;
  }
  /*----------------------------------------------
.c_interview_box
---------------------------------------------*/
  .c_interview_box:not(:last-child) {
    margin-bottom: 10vw;
  }
  .c_interview_box .c_interview_title {
    font-size: calc(3.3rem + 33 * ((100vw - 750px) / 750));
  }
  .c_interview_title {
    padding-left: 13vw;
    margin-bottom: 5vw;
  }
  .c_interview_title::before {
    width: 8vw;
    height: 8vw;
  }
  .c_interview_title.is_q1::before, .c_interview_title.is_q2::before, .c_interview_title.is_q3::before, .c_interview_title.is_q4::before, .c_interview_title.is_q5::before, .c_interview_title.is_q6::before {
    background-size: 100%;
    background-repeat: no-repeat;
  }
  .c_interview_text, .c_interview_text_02 {
    margin-top: 5vw;
    padding-top: 5vw;
    font-size: calc(30px + 30 * ((100vw - 750px) / 750));
  }
  .c_interview_text.is_02, .c_interview_text.is_03 {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }
  .c_interview_text.is_03 img {
    order: 2;
  }
  .c_interview_text.is_03 div {
    order: 1;
  }
  .c_interview_text p:not(:last-child) {
    margin-bottom: 2vw;
  }
  /*----------------------------------------------
.c_table_profile
---------------------------------------------*/
  .c_table_profile {
    width: 100%;
    align-items: center;
    text-align: left;
    margin: 0 auto 5vw;
  }
  .c_table_profile th {
    font-size: calc(2.8rem + 28 * ((100vw - 750px) / 750));
    text-align: center;
    padding: 0;
  }
  .c_table_profile td {
    font-size: calc(4.5rem + 45 * ((100vw - 750px) / 750));
    width: 50%;
  }
  /*----------------------------------------------
.c_table_interview
---------------------------------------------*/
  .c_table_interview:not(:last-child) {
    margin-bottom: 5vw
  }
}
/* ===== 切り替え ===== */
@media (max-width: 767px) {
  .interview_container {
    display: none;
  }
  .carousel_outer {
    display: block;
  }
}