@charset "utf-8";
/* CSS Document */

@media screen and (max-width: 1920px) {
  header .global_nav {
    padding: 0 11.46vw 0 18.75vw;
  }

  header .global_nav ul li {
    padding: 0 1.56vw;
  }

}

@media screen and (max-width: 1600px) {
  header {
    height: 300px;
  }

  header .logo {
    width: 268px;
    position: unset;
    margin: 0 auto;
}

  header .global_nav {
    padding: 0;
  }

  header .global_nav ul {
    height: auto;
    justify-content: center;
    align-items: flex-end;
    margin-top: 30px;
  }

  header .global_nav ul li:nth-of-type(3) {
    margin-right: 0;
    border-right: solid 1px white;
}
}

@media screen and (max-width: 1400px) {

  .concept {
    height: 147.43vw;
    background: url(../images/bg_concept2_tab.png) no-repeat center top / 100%;
    padding: 2.29vw 0;
  }

  .concept .office_list_block {
    margin: 0 auto 10vw;
    padding: 0 7.86vw 0 7.14vw;
  }

  .concept .office_list_block .list_item {
    width: 21.21vw;
    height: 35.43vw;
    background: url(../images/icon_leaf.png) no-repeat center top 5.21vw / 4.57vw auto;
    text-align: center;
    padding-top: 11.43vw;
  }

  .concept .office_list_block .list_item:nth-child(2) {
    width: 22.86vw;
    padding-top: 12.86vw;
  }

  .concept .office_list_block .list_item:nth-child(2) dt {
    font-size: 2.86vw;
  }

  .concept .office_list_block .list_item:nth-child(2) dd {
    font-size: 2.71vw;
  }

  .concept .office_list_block .list_item dt {
    font-size: 2.43vw;
    padding-bottom: 1.79vw;
    -webkit-text-stroke-width: clamp(6px, 0.223rem + 0.32vw, 8px);
  }

  .concept .office_list_block .list_item dd {
    font-size: 2.14vw;
    padding-top: 1.79vw;
    -webkit-text-stroke-width: clamp(6px, 0.223rem + 0.32vw, 8px);
  }

  .concept .office_list_block .list_item:nth-child(2) dd {
    padding-top: 3.57vw;
  }

  .concept .office_list_img {
    width: 85vw;
    margin: 0 auto 2.86vw;
  }

  .concept .concept_logo {
    width: 30.5vw;
    margin: 0 auto 3.07vw;
  }

  .concept .concept_main_text {
    font-size: 2.141vw;
    margin-bottom: 2.86vw;
  }

  .concept .concept_img {
    width: 85vw;
    margin: 0 auto 1.43vw;
  }

  .concept .concept_main_text span {
    background-image: linear-gradient(to right, #b9b9b9, #b9b9b9 0.93vw, transparent 0.93vw);
    background-size: 1.43vw clamp(1px, 0.025rem + 0.19vw, 3px);
    padding-bottom: 1.14vw;
  }

  .concept .concept_bottom_text {
    font-size: 1.71vw;
  }

  .concept .concept_bottom_text span {
    font-size: 2.14vw;
    margin: 1.14vw 0;
  }

  .service .service_list {
    padding: 0;
  }

  .service .service_list li {
    margin: 0 auto 136px;
  }

  .service .service_list li:last-child {
    margin-bottom: 0;
  }

  footer {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
  }

  footer .footer_nav {
    margin-bottom: 75px;
  }

  footer .footer_info01 {
    width: 100%;
    order: 2;
    text-align: center;
  }

  footer .footer_info01 h4 img {
    margin: 0 auto;
  }

  footer .footer_info02 {
    width: 100%;
    order: 1;
    margin-bottom: 30px;
    justify-content: center;
  }

  footer .copyright {
    text-align: center;
    order: 4;
  }

}

@media screen and (max-width: 1200px) {

  /* business */
  .business .business_list {
    margin: 0;
    padding: 0 10%;
  }

  .business .business_list > li {
    height: auto;
  }

  .business .business_list li .business_img {
    width: 100%;
    order: 2;
    margin-bottom: 20px;
  }

  .business .business_list li iframe {
    width: 100%;
    aspect-ratio: 100 / 45;
    order: 3;
  }

  .business .business_list li .map_dummy {
    width: 100%;
    aspect-ratio: 100 / 45;
    order: 3;
  }

  .business .business_list li .data_block {
    width: 100%;
    height: auto;
    order: 1;
  }

  /* information */
  .information {
    padding: 0 4.42%;
  }

  /* faq */
  .faq {
    padding: 0 3.9%;
  }

  /* recruit */
  .recruit {
    padding: 0 4.8%;
  }

  .recruit .recruit_inner_block .recruit_box .recruit_data .job_description {
    width: calc(100% - 112px - 2.5vw);
    margin: 0 0 0 2.5vw;
  }

  .recruit .recruit_inner_block .recruit_box .recruit_data .job_detail {
    width: 100%;
    padding-left: calc(112px + 2.5vw);
  }

  .recruit .recruit_inner_block .recruit_box .recruit_data .job_detail li {
    width: 100%;
  }

  .recruit_detail {
    width: 96%;
  }

}

@media screen and (max-width: 960px) {
  body.fixed {
    overflow: hidden;
  }

  .global_nav {
    display: none;
  }

  .hamburger {
    display: block;
  }

  .hamburger {
    display: block;
  }

  .sp_menu_block {
    display: block;
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;
    background: rgba(69, 180, 250, 1);
    transition: 0.3s ease-in-out;
    z-index: 998;
    padding: 20px 0;
    overflow: auto;
  }

  .sp_menu_block.active {
    right: 0;
  }

  .sp_menu_logo {
    width: 268px;
    margin: 0 auto 20px;
  }

  .sp_global_nav {
    height: 100%;
  }

  .sp_global_nav ul {
    height: auto;
    flex-direction: column;
    align-items: center;
  }

  .sp_global_nav ul li {
    width: 94.53%;
    height: 98px;
    border-right: none;
    text-align: center;
    border-top: solid 2px white;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    position: relative;
  }

  .sp_global_nav ul li::after {
    content: '';
    width: 24px;
    height: 24px;
    border-top: solid 4px white;
    border-right: solid 4px white;
    position: absolute;
    right: 68px;
    transform: rotate(45deg);
  }

  .sp_global_nav ul li:nth-of-type(3) {
    border-top: solid 2px white;
  }

  .sp_global_nav ul li:last-child {
    border-bottom: solid 2px white;
  }
  
  .sp_global_nav ul li a {
    display: block;
    width: 100%;
  }

  .sp_global_nav .tel, .sp_global_nav .fax {
    width: 584px;
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    align-self: flex-end;
    color: white;
    background: white;
    color: #45b4fa;
    border: none;
    margin: 70px auto;
    font-size: 58px;
  }

  .sp_global_nav .tel a {
    color: #45b4fa;
  }

  .sp_global_nav p span {
    font-size: 40px;
    margin-right: 20px;
    align-self: flex-end;
    padding-bottom: 22px;
  }

  footer .footer_info02 p.tel {
    pointer-events: auto;
  }
  
  .top_wrapper {
    background-size: 100% auto;
  }

  .common_wrapper {
    background-size: 100% auto;
  }


  .service {
    background-size: 100% auto;
  }

  .business .business_list li .data_block .data_box .tel a {
    pointer-events: auto;
  }

  .contact .form_block {
    padding: 0 2%;
  }

}

@media screen and (max-width: 768px) {

  .sp_text {
    display: block;
  }

  .common_wrapper {
    background: url(../images/bg_common_sp.jpg) no-repeat center top,
    linear-gradient(to bottom, #45b4fa, #45b4fa);
  }

  header {
    height: auto;
    padding: clamp(10px, 0.179rem + 2.23vw, 20px) 0;
  }

  header .logo {
    width: clamp(134px, 2.393rem + 29.91vw, 268px);
    position: unset;
  }

  .page_title {
    font-size: clamp(30px, 0.536rem + 6.7vw, 60px);
    height: clamp(174px, 3.107rem + 38.84vw, 348px);
  }

  .page_title span {
    font-size: clamp(15px, 0.268rem + 3.35vw, 30px);
    margin-top: clamp(15px, 0.268rem + 3.35vw, 30px);
  }

  footer {
    height: clamp(782px, 13.964rem + 174.55vw, 1564px);
    padding-top: clamp(50px, 0.893rem + 11.16vw, 100px);
  }

  footer .footer_inner_block {
    padding: 0;
  }
  
  footer::after {
    height: clamp(15px, 0.268rem + 3.35vw, 30px);
  }
  
  footer .footer_nav {
    margin: 0;
    position: absolute;
    top: clamp(114px, 2.036rem + 25.45vw, 228px);
  }
  
  footer .footer_nav ul {
    font-size: clamp(14px, 0.25rem + 3.13vw, 28px);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    border-top: solid clamp(1px, 0.018rem + 0.22vw, 2px) #3c3c3c;
  }
  
   .footer_nav ul li a {
    width: 100%;
    height: clamp(53px, 0.946rem + 11.83vw, 106px);
    margin: 0 !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: solid clamp(1px, 0.018rem + 0.22vw, 2px) #3c3c3c;
    padding: 0 clamp(32px, 0.571rem + 7.14vw, 64px);
  }

  .footer_nav ul li a::after {
    content: '';
    width: clamp(12px, 0.214rem + 2.68vw, 24px);
    height: clamp(12px, 0.214rem + 2.68vw, 24px);
    border-top: solid clamp(2px, 0.036rem + 0.45vw, 4px) var(--baseColor);
    border-right: solid clamp(2px, 0.036rem + 0.45vw, 4px) var(--baseColor);
    right: clamp(32px, 0.571rem + 7.14vw, 64px);
    transform: rotate(45deg);
  }
  
  footer .footer_info01 {
    width: 100%;
    font-size: clamp(12px, 0.214rem + 2.68vw, 24px);
    padding: 0 clamp(14px, 0.25rem + 3.13vw, 28px);

  }
  
  footer .footer_info01 h4 {
    width: 83.33%;
    margin: 0 auto clamp(585px, 10.446rem + 130.58vw, 1170px);
  }
  
  footer .footer_info01 h4 img {
    width: 100%;
  }
  
  footer .footer_info01 p {
    width: 100%;
    text-align: left;
  }
  
  footer .footer_info01 ul {
    width: 100%;
    height: 58px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
  }
  
  footer .footer_info02 {
    width: 100%;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-content: center;
    position: absolute;
    top: clamp(490px, 8.75rem + 109.38vw, 980px);
  }
  
  footer .footer_info02 p {
    width: clamp(292px, 5.214rem + 65.18vw, 584px);
    height: clamp(48px, 0.857rem + 10.71vw, 96px);
    font-size: clamp(29px, 0.518rem + 6.47vw, 58px);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    align-self: flex-end;
    margin-bottom: clamp(24px, 0.429rem + 5.36vw, 48px);
  }
  
  footer .footer_info02 p span {
    font-size: clamp(20px, 0.357rem + 4.46vw, 40px);
    margin-right: clamp(10px, 0.179rem + 2.23vw, 20px);
    align-self: flex-end;
    padding-bottom: clamp(11px, 0.196rem + 2.46vw, 22px);
  }
  
  
  footer .footer_info02 p.fax {
    margin-left: 0x;
    border: solid 3px #45b4fa;
  }
  
  footer .copyright {
    text-align: left;
    font-size: clamp(10px, 0.179rem + 2.23vw, 20px);
    padding: 0 clamp(14px, 0.25rem + 3.13vw, 28px);
    letter-spacing: -0.04em;
  }

  /* top */
  .concept {
    height: auto;
    background: url(../images/bg_concept2_sp.png) no-repeat center top / 100%;
    aspect-ratio: 768 / 1865;
    margin: 24.22vw auto 0;
    padding: 3.39vw 0;
  }

  .concept .office_list_block {
    margin: 0 auto 14.84vw;
    padding: 0 2.8vw 0 2.3vw;
  }

  .concept .office_list_block .list_item {
    width: 23.69vw;
    height: 39.32vw;
    background: url(../images/icon_leaf.png) no-repeat center top 5.86vw / 5.21vw auto;
    padding-top: 13.02vw;
  }

  .concept .office_list_block .list_item:nth-child(2) {
    width: 25.52vw;
    padding-top: 14.58vw;
  }

  .concept .office_list_block .list_item:nth-child(2) dt {
    font-size: 3.12vw;
  }

  .concept .office_list_block .list_item:nth-child(2) dd {
    font-size: 3vw;
  }

  .concept .office_list_block .list_item dt {
    font-size: 2.86vw;
    padding-bottom: 2.08vw;
    border-bottom-width: clamp(1px, 0.018rem + 0.22vw, 2px);
    -webkit-text-stroke-width: 0.78vw;
  }

  .concept .office_list_block .list_item dd {
    font-size: 2.34vw;
    padding-top: 2.08vw;
    -webkit-text-stroke-width: 0.78vw;
  }

  .concept .office_list_img {
    width: 100%;
    margin: 0 auto 3.73vw;
  }

  .concept .concept_logo {
    width: 50.13vw;
    margin: 0 auto 6.42vw;
  }

  .concept .concept_main_text {
    font-size: 3.9vw;
    margin-bottom: clamp(22px, 0.393rem + 4.91vw, 44px);
  }

  .concept .concept_img {
    width: 100%;
    margin: 0 auto 3.73vw;
  }

  .concept .concept_main_text span {
    padding-bottom: 1.56vw;
  }

  .concept .concept_bottom_text {
    font-size: 3.12vw;
  }

  .concept .concept_bottom_text span {
    font-size: 3.9vw;
    margin: 2.6vw 0;
  }

  .service {
    padding: clamp(70px, 1.25rem + 15.63vw, 140px) 0 clamp(76px, 1.357rem + 16.96vw, 152px);
    background: url(../images/bg_service_sp.jpg) no-repeat center bottom / 100% auto;
  }

  .service .service_list {
    justify-content: center;
    padding: 0;
  }

  .service .service_list li {
    width: clamp(320px, 5.839rem + 72.99vw, 654px);
    height: clamp(274px, 4.893rem + 61.16vw, 548px);
    border: solid clamp(4px, 0.071rem + 0.89vw, 8px) #8edaf9;
    border-radius: clamp(30px, 0.536rem + 6.7vw, 60px);
    margin-bottom: clamp(34px, 0.589rem + 7.37vw, 66px);
    padding: clamp(34px, 0.607rem + 7.59vw, 68px) clamp(15px, 0.268rem + 3.35vw, 30px) clamp(24px, 0.429rem + 5.36vw, 48px);
    font-size: clamp(11px, 0.196rem + 2.46vw, 22px);
    overflow: hidden;
    box-shadow: 1.04vw 1.17vw 0.13vw 0px rgba(0, 0, 0, 0.2);
  }

  .service .service_list li .service_title {
    height: clamp(58px, 1.036rem + 12.95vw, 116px);
    padding: clamp(5px, 0.089rem + 1.12vw, 10px) 0 0 clamp(14px, 0.25rem + 3.13vw, 28px);
    border-bottom: solid clamp(1px, 0.018rem + 0.22vw, 2px) #aaa9a9;
    margin-bottom: clamp(20px, 0.357rem + 4.46vw, 40px);
  }

  .service .service_list li .service_title span {
    font-size: clamp(17px, 0.304rem + 3.79vw, 34px);
  }

  .service .service_list li .service_title::before {
    width: clamp(5px, 0.089rem + 1.12vw, 10px);
    height: clamp(42px, 0.75rem + 9.38vw, 84px);
    border-radius: clamp(0.156rem, 0.045rem + 0.56vw, 5px);
  }

  /* business */
  .business {
    margin-bottom: clamp(105px, 1.875rem + 23.44vw, 210px);
  }

  .business .business_list {
    padding: 0 clamp(15px, 0.268rem + 3.35vw, 30px);
  }

  .business .business_list > li {
    width: 100%;
    height: auto;
    border-radius: 0;
    border: solid clamp(4px, 0.071rem + 0.89vw, 8px) #8edaf9;
    margin-bottom: clamp(40px, 0.714rem + 8.93vw, 80px);
    padding: clamp(12px, -0.054rem + 4.02vw, 30px);
    box-shadow: 1.04vw 1.17vw 0.13vw 0px rgba(0, 0, 0, 0.2);
  }


  .business .business_list li .business_img img {
    margin-bottom: clamp(10px, 0.179rem + 2.23vw, 20px);
  }

  .business .business_list li iframe {
    aspect-ratio: 640 / 406;
  }

  .business .business_list li .map_dummy {
    aspect-ratio: 640 / 406;
  }

  .business .business_list li .data_block .name {
    height: clamp(35px, 0.625rem + 7.81vw, 70px);
    font-size: clamp(12px, 0.08rem + 3.35vw, 27px)
  }

  .business .business_list li .data_block .data_box {
    padding: 3.26vw 2.6vw;
  }

  .business .business_list li .data_block .data_box .tel,
  .business .business_list li .data_block .data_box .tel a,
  .business .business_list li .data_block .data_box .fax {
    font-size: clamp(20px, 0.357rem + 4.46vw, 40px);
    margin-bottom: clamp(5px, 0.089rem + 1.12vw, 10px);
  }

  .business .business_list li .data_block .data_box .data_list {
    margin: clamp(15px, 0.268rem + 3.35vw, 30px) 0 clamp(25px, 0.446rem + 5.58vw, 50px);
  }

  .business .business_list li .data_block .data_box .data_list li {
    font-size: clamp(11px, 0.107rem + 2.9vw, 24px);
  }

  .business .business_list li .data_block .data_box .data_list li.open {
    font-size: clamp(15px, 0.268rem + 3.35vw, 30px);
  }
  
  .business .business_list li .data_block .data_box .data_list li.open span {
    font-size: clamp(11px, 0.107rem + 2.9vw, 24px);
  }

  .business .business_list li .data_block .data_box table {
    font-size: clamp(11px, 0.107rem + 2.9vw, 24px);
  }

  .business .business_list li .data_block .data_box table tr td:nth-child(even) {
    padding-left: clamp(25px, 0.446rem + 5.58vw, 50px);
  }

  .sns_link {
    margin: clamp(10px, 0.179rem + 2.23vw, 20px);
  }
  
  .sns_link .instagram_icon {
    width: clamp(48px, 7.8125vw, 60px);
  }
  
  .sns_link .instagram_qr {
    width: clamp(72px, 11.71875vw, 90px);
  }

  /* information */
  .information {
    margin-bottom: clamp(126px, 2.25rem + 28.13vw, 252px);
  }

  .information .information_list li {
    width: 100%;
    height: clamp(70px, 1.25rem + 15.63vw, 140px);
    padding: 0;
  }

  .information .information_list li time {
    width: 25%;
    font-size: clamp(12px, 0.393rem + 1.79vw, 20px);
  }

  .information .information_list li p {
    width: 75%;
    font-size: clamp(15px, 0.446rem + 2.46vw, 26px);
  }

  .information .info_detail_box .info_title {
    font-size: clamp(22px, 0.571rem + 4.02vw, 40px);
    padding: clamp(10px, 0.179rem + 2.23vw, 20px) clamp(5px, 0.089rem + 1.12vw, 10px);
  }

  .information .info_detail_box .info_text_box {
    padding: clamp(10px, 0.179rem + 2.23vw, 20px) clamp(5px, 0.089rem + 1.12vw, 10px);
    font-size: clamp(12px, 0.393rem + 1.79vw, 20px);
  }

  .information .info_detail_box .info_text_box time {
    margin-bottom: clamp(20px, 0.357rem + 4.46vw, 40px);
  }

  .information .info_detail_box .info_text_box p {
    font-size: clamp(14px, 0.429rem + 2.23vw, 24px);
  }

  .information .info_detail_box .info_text_box .info_img_box img{
    margin: clamp(20px, 0.357rem + 4.46vw, 40px) auto 0;
  }

  .information .info_detail_box .back_btn {
    width: clamp(245px, 4.375rem + 54.69vw, 490px);
    height: clamp(50px, 0.893rem + 11.16vw, 100px);
    margin: clamp(45px, 0.804rem + 10.04vw, 90px) auto;
    font-size: clamp(15px, 0.268rem + 3.35vw, 30px);
    border: solid clamp(1px, 0.018rem + 0.22vw, 2px) white;
    border-radius: clamp(25px, 0.446rem + 5.58vw, 50px);
  }

  .information .info_detail_box .back_btn::after {
    border-top: clamp(6px, 0.107rem + 1.34vw, 12px) solid transparent;
    border-bottom: clamp(6px, 0.107rem + 1.34vw, 12px) solid transparent;
    border-left: clamp(6px, 0.107rem + 1.34vw, 12px) solid white;
    right: 6%;
    top: 50%;
    margin-top: -1.32vw;
  }

  /* faq */
  .faq {
    margin-bottom: clamp(76px, 1.357rem + 16.96vw, 152px);
  }

  .faq .faq_list li {
    min-height: clamp(9.688rem, 2.768rem + 34.6vw, 19.375rem);
    border-radius: clamp(15px, 0.268rem + 3.35vw, 30px);
    border: solid clamp(4px, 0.071rem + 0.89vw, 8px) #8edaf9;
    margin-bottom: clamp(36px, 0.643rem + 8.04vw, 72px);
    padding: 0 clamp(10px, 0.179rem + 2.23vw, 20px);
    font-size: clamp(16px, 0.286rem + 3.57vw, 32px);
    box-shadow: 1.04vw 1.17vw 0.13vw 0px rgba(0, 0, 0, 0.2);
  }

  .faq .faq_list li.coming_soon {
    font-size: clamp(18px, 0.857rem + 1.34vw, 24px);
  }

  .faq .faq_list li dl dt {
    padding: clamp(15px, 0.268rem + 3.35vw, 30px) clamp(0.156rem, 0.045rem + 0.56vw, 5px) clamp(15px, 0.268rem + 3.35vw, 30px) clamp(35px, 0.625rem + 7.81vw, 70px);
    border-bottom: solid clamp(1px, 0.018rem + 0.22vw, 2px) #878787;
  }

  .faq .faq_list li dl dd {
    padding: clamp(15px, 0.268rem + 3.35vw, 30px) clamp(0.156rem, 0.045rem + 0.56vw, 5px) clamp(15px, 0.268rem + 3.35vw, 30px) clamp(35px, 0.625rem + 7.81vw, 70px);
  }

  .faq .faq_list li dl dd .answer {
    margin-bottom: clamp(0.469rem, 0.134rem + 1.67vw, 15px);
  }

  .faq .faq_list li dl dd .answer_detail {
    font-size: clamp(10px, 0.179rem + 2.23vw, 20px);
  }

  .question::before {
    content: "Q";
    width: clamp(25px, 0.402rem + 5.8vw, 51px);
    height: clamp(25px, 0.402rem + 5.8vw, 51px);
    font-size: clamp(18px, 0.321rem + 4.02vw, 36px);
    margin-right: clamp(9px, 0.161rem + 2.01vw, 18px);
    padding-top: clamp(0.156rem, 0.045rem + 0.56vw, 5px);
    top: clamp(10px, 0.179rem + 2.23vw, 20px);
    left: clamp(0.156rem, 0.045rem + 0.56vw, 5px);
  }

  .answer::before {
    content: "A";
    width: clamp(25px, 0.402rem + 5.8vw, 51px);
    height: clamp(25px, 0.402rem + 5.8vw, 51px);
    font-size: clamp(18px, 0.321rem + 4.02vw, 36px);
    margin-right: clamp(9px, 0.161rem + 2.01vw, 18px);
    padding-top: clamp(0.156rem, 0.045rem + 0.56vw, 5px);
    top: clamp(10px, 0.179rem + 2.23vw, 20px);
    left: clamp(0.156rem, 0.045rem + 0.56vw, 5px);
  }

  /* contact */
  .contact {
    margin-bottom: clamp(93px, 1.661rem + 20.76vw, 186px);
  }

  .contact .form_block {
    padding: 0 clamp(25px, 0.446rem + 5.58vw, 50px);
  }

  .contact .form_block dl {
    font-size: clamp(16px, 0.643rem + 1.79vw, 24px);
  }

  .contact .form_block dl dt {
    width: 100%;
    padding-top: 0;
    margin-right: 0;
    margin-bottom: clamp(12px, 0.214rem + 2.68vw, 24px);
    align-items: center;
  }

  .contact .form_block dl dt span {
    width: clamp(31px, 0.554rem + 6.92vw, 62px);
    height: clamp(15px, 0.268rem + 3.35vw, 30px);
    font-size: clamp(10px, 0.179rem + 2.23vw, 20px);
    border-radius: clamp(2px, 0.036rem + 0.45vw, 4px);
  }

  .contact .form_block dl dd {
    width: 100%;
    margin-bottom: clamp(12px, 0.214rem + 2.68vw, 24px);
    padding-bottom: clamp(15px, 0.268rem + 3.35vw, 30px);
    border-bottom: solid clamp(1px, 0.018rem + 0.22vw, 2px) white;
  }

  .contact .form_block dl dd span {
    font-size: clamp(0.625rem, 0.179rem + 2.23vw, 1.25rem);
  }

  .contact .form_block dl dd span.confirm {
    font-size: clamp(16px, 0.643rem + 1.79vw, 24px);
  }

  .contact .form_block dl dd input {
    width: 100%;
    height: clamp(35px, 0.625rem + 7.81vw, 70px);
    background: white;
    border-radius: clamp(6px, 0.107rem + 1.34vw, 12px);
  }

  .contact .form_block dl dd input.min {
    width: 49.2%;
  }

  .contact .form_block dl dd textarea {
    width: 100%;
    height: clamp(210px, 3.75rem + 46.88vw, 420px);
    background: white;
    border-radius: clamp(6px, 0.107rem + 1.34vw, 12px);
  }

  .contact .form_block .send_btn {
    width: clamp(245px, 4.375rem + 54.69vw, 490px);
    height: clamp(50px, 0.893rem + 11.16vw, 100px);
    margin: clamp(45px, 0.804rem + 10.04vw, 90px) auto;
    font-size: clamp(15px, 0.268rem + 3.35vw, 30px);
    border: solid clamp(1px, 0.018rem + 0.22vw, 2px) white;
    border-radius: clamp(25px, 0.446rem + 5.58vw, 50px);
  }

  .contact .form_block .send_btn::after {
    border-top: clamp(6px, 0.107rem + 1.34vw, 12px) solid transparent;
    border-bottom: clamp(6px, 0.107rem + 1.34vw, 12px) solid transparent;
    border-left: clamp(6px, 0.107rem + 1.34vw, 12px) solid white;
    right: 6%;
    top: 50%;
    margin-top: -1.32vw;
  }

  .contact_text{
    width: 100%;
    margin:0 auto clamp(45px, 0.804rem + 10.04vw, 90px) auto;
    color: white;
    text-align: center;
  }

  /* recruit */
  .recruit {
    margin-bottom: clamp(63px, 16.41vw, 126px);
  }

  .recruit .recruit_inner_block .recruit_box {
    border-radius: clamp(12px, 3.125vw, 24px);
    border-width: clamp(4px, 1.042vw, 8px);
    box-shadow: 1.04vw 1.17vw 0.13vw 0px rgba(0, 0, 0, 0.2);
    margin-bottom: clamp(35px, 9.114vw, 70px);
    padding: clamp(30px, 7.8125vw, 60px) clamp(15px, 3.906vw, 30px) clamp(10px, 2.604vw, 20px);
  }

  .recruit .recruit_inner_block .recruit_box .shop_name {
    font-size: clamp(24px, 0.696rem + 4.02vw, 42px);
    margin-bottom: clamp(15px, 3.906vw, 30px);
    border-left-width: clamp(4px, 1.042vw, 8px);;
    padding-left: clamp(10px, 2.604vw, 20px);
  }

  .recruit .recruit_inner_block .recruit_box .recruit_data {
    padding: clamp(20px, 0.804rem + 2.23vw, 30px) clamp(5px, 1.302vw, 10px);
  }

  .recruit .recruit_inner_block .recruit_box .recruit_data .icon {
    width: auto;
    height: auto;
    border-radius: 0;
    font-size: clamp(14px, 2.083vw, 16px);
    padding: 5px 10px;
    margin-bottom: 10px;
  }

  .recruit .recruit_inner_block .recruit_box .recruit_data .icon br.pc {
    display: none;
  }


  .recruit .recruit_inner_block .recruit_box .recruit_data .job_description {
    width: 100%;
    font-size: clamp(20px, 0.804rem + 2.23vw, 30px);
    margin: 0 0 10px;
  }

  .recruit .recruit_inner_block .recruit_box .recruit_data .job_description span {
    font-size: clamp(20px, 2.864vw, 22px);
  }

  .recruit .recruit_inner_block .recruit_box .recruit_data .job_detail {
    width: 100%;
    font-size: clamp(14px, 0.607rem + 1.34vw, 20px);
    padding-left: 0;
  }

  .recruit .recruit_inner_block .recruit_box .recruit_data .job_detail li {
    width: 100%;
  }

  .recruit_detail {
    margin: clamp(30px, 7.8125vw, 60px) auto clamp(63px, 16.41vw, 126px);
    padding: 4.8% 3.6%;
  }

  .recruit_header .overview,
  .recruit_header .mv_block {
    width: 100%;
    margin-right: 0;
  }

  .recruit_header .overview {
    padding: 3.6%;
    order: 2;
  }

  .recruit_header .mv_block {
    order: 1;
  }

  .recruit_requirements .requirements_list,
  .application_info .application_list,
  .application_form .requirements_list {
    border: none;
  }

  .recruit_requirements .requirements_list dt,
  .application_info .application_list dt,
  .application_form .requirements_list dt,
  .recruit_requirements .requirements_list dd,
  .application_info .application_list dd,
  .application_form .requirements_list dd {
    width: 100%;
    border: none;
  }

  .recruit_requirements .requirements_list dd,
  .application_info .application_list dd,
  .application_form .requirements_list dd {
    margin-bottom: 15px;
  }

  .application_form .requirements_list dd select[name="birth_year"],
  .application_form .requirements_list dd select[name="birth_month"],
  .application_form .requirements_list dd select[name="birth_day"] {
    width: 100%;
    margin-bottom: 10px;
  }

  .submit_button {
    padding: 20px;
    font-size: 18px;
  }

  .sp_menu_block {
    padding: clamp(10px, 0.179rem + 2.23vw, 20px) 0;
  }

  .sp_menu_logo {
    width: clamp(134px, 2.393rem + 29.91vw, 268px);
    margin: 0 auto clamp(10px, 0.179rem + 2.23vw, 20px);
  }

  .sp_global_nav ul li {
    height: clamp(49px, 0.875rem + 10.94vw, 98px);
    border-top-width: clamp(1px, 0.018rem + 0.22vw, 2px);
    font-size: clamp(15px, 0.268rem + 3.35vw, 30px);
  }

  .sp_global_nav ul li::after {
    width: clamp(12px, 0.214rem + 2.68vw, 24px);
    height: clamp(12px, 0.214rem + 2.68vw, 24px);
    border-top-width: clamp(2px, 0.036rem + 0.45vw, 4px);
    border-right-width: clamp(2px, 0.036rem + 0.45vw, 4px);
    right: clamp(28px, -0.036rem + 8.93vw, 68px);
  }

  .sp_global_nav ul li:nth-of-type(3) {
    border-top-width: clamp(1px, 0.018rem + 0.22vw, 2px);
  }

  .sp_global_nav ul li:last-child {
    border-bottom-width: clamp(1px, 0.018rem + 0.22vw, 2px);
  }

  .sp_global_nav .tel, .sp_global_nav .fax {
    width: clamp(292px, 5.214rem + 65.18vw, 584px);
    height: clamp(48px, 0.857rem + 10.71vw, 96px);
    font-size: clamp(29px, 0.518rem + 6.47vw, 58px);
    margin: clamp(35px, 0.625rem + 7.81vw, 70px) auto;
  }

  .sp_global_nav p span {
    font-size: clamp(20px, 0.357rem + 4.46vw, 40px);
    margin-right: clamp(10px, 0.179rem + 2.23vw, 20px);
    padding-bottom: clamp(11px, 0.196rem + 2.46vw, 22px);
  }

  /* ハンバーガーメニュー */
  .hamburger {
    top: clamp(10px, 0.179rem + 2.23vw, 20px);
    right: clamp(10px, 0.179rem + 2.23vw, 20px);
    width: clamp(43px, 0.768rem + 9.6vw, 86px);
    height: clamp(43px, 0.768rem + 9.6vw, 86px);
    padding: clamp(3px, 0.054rem + 0.67vw, 6px) clamp(6px, 0.107rem + 1.34vw, 12px);
  }

  .hamburger::before {
    font-size: clamp(10px, 0.179rem + 2.23vw, 20px);
    top: clamp(3px, 0.054rem + 0.67vw, 6px);
  }

  .hamburger span {
    width: clamp(28px, 0.5rem + 6.25vw, 56px);
    height: clamp(3px, 0.054rem + 0.67vw, 6px);
    left: clamp(0.469rem, 0.134rem + 1.67vw, 15px);
  }

  .hamburger span:nth-child(1) {
    top: clamp(16px, 0.286rem + 3.57vw, 32px);
  }

  .hamburger span:nth-child(2) {
    top: clamp(26px, 0.464rem + 5.8vw, 52px);
  }

  .hamburger span:nth-child(3) {
    top: clamp(36px, 0.643rem + 8.04vw, 72px);
  }

  .hamburger.active::before {
    font-size: clamp(10px, 0.179rem + 2.23vw, 20px);
  }

  .hamburger.active span:nth-child(1) {
    top: clamp(26px, 0.464rem + 5.8vw, 52px);
  }

  .hamburger.active span:nth-child(3) {
    top: clamp(26px, 0.464rem + 5.8vw, 52px);
  }
  
}

