/* screen-min:750px */
@media screen and (max-width: 750px) {
  img {
    max-width: 100%;
    height: auto;
  }

  #wrapper,
  header,
  main,
  footer,
  .inner,
  .inner_large {
    width: 100% !important;
    min-width: unset !important
  }

  .pc {
    display: none !important
  }

  body.is_nav {
    overflow: hidden;
  }

  body.mac nav {
    padding-bottom: 160px;
  }

  /* NAV */
  nav {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow: auto;
    z-index: 100;
    display: none;
    background: rgba(46, 118, 41, 0.95);
    padding: 60px 15px 80px;
  }

  nav .inner {
    padding: 0 22px;
  }

  .nav_list {
    flex-direction: column
  }

  .nav_list ul,
  .nav_list li {
    width: 100%
  }

  .nav_list .hook,
  .nav_list a {
    display: block;
    padding: 13px 15px 12px;
    color: #fff;
    font-size: 18px;
  }

  /* .sub{display:none} */
  .sub ul:not(:last-child) {
    margin-bottom: 15px
  }

  .sub a {
    color: #fff;
    border-bottom: none;
    padding-left: 30px;
    background: url(../images/ic-right.png) no-repeat left 15px top 16px / 28px;
    padding: 8px 0 8px 50px;
    font-size: 14px;
  }

  .hamburger {
    position: absolute;
    right: 12px;
    ;
    bottom: 25px;
    font: inherit;
    display: block;
    overflow: visible;
    margin: 0;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: .15s;
    transition-property: opacity, filter;
    text-transform: none;
    color: inherit;
    border: 0;
    z-index: 101;
    padding: 0;
    height: 10px;
  }

  /*=====================================================
                        C U S T O M
  ======================================================*/

  /*============ HEADER ============*/
  h1 {
    display: none;
  }

  .h_box {
    height: 60px
  }

  /*============ Main ============*/
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  input,
  button,
  textarea,
  select,
  p,
  blockquote,
  th,
  td,
  pre,
  address,
  li,
  dt,
  dd {
    font-size: 150%;
  }

  /* MAIN VISUAL */
  .mv_bg,
  .mv_slider_ite,
  .mv_slider_ite .bg {
    height: 420px;
    overflow: unset;
  }

  .mv_txt h2 {
    font-size: min(6.88vw, 25px);
    line-height: 1.4em;
    margin-bottom: 26px;
  }
.mv_txt h2 span.dot_bt::after {
  max-width: 250px;
	border-bottom: 3px dotted var(--mcolor);
	}
.mv_txt h2 span.mv_txt_big {
  font-size: 150%;
}
.mv_txt h2.mv_catch img {
  width: 100%;
}
  /* Header */
  .h_box .logo_bg {
    width: 276px;
    left: -52px;
    bottom: -36px;
    z-index: -1;
  }

  .h_left {
    width: 100%;
    top: 16px;
  }

  .h_left #logo img {
    width: 160px;
  }
.h_right {
  right: 40px;
  top: 3px;
}
	 .is_scroll .h_right {
    right: 50px;
		 top: 0;
  }
	.h_contact_line img {
		width: 40px;
	}
  .nav_list>li:not(:last-child) {
    margin-bottom: 20px;
  }

  .hamburger-inner {
    background: transparent;
    width: 100%;
    height: 100%;
    margin-top: 0;
    top: 0;
  }

  .hamburger.is_active {
    bottom: 14px;
    height: 27px;
  }

  .hamburger-inner::before {
    top: 0px;
    width: 100%;
    background-color: var(--mcolor);
  }

  .hamburger-inner::after {
    bottom: 0px;
    width: 100%;
    background-color: var(--mcolor);
  }

  .hamburger-box {
    width: 38px;
    height: 10px;
  }

  .mv {
    height: 100vh;
    max-height: 800px;
    min-height: 730px;
    padding-top: 90px;
    padding-bottom: 40px;
  }

  .mv::before {
    height: calc(100% - 95px);
  }

  .mv::after {
    width: 750px;
    height: 115px;
    background: url(../images/mv_line_circle_sp.png) center bottom no-repeat;
    background-size: cover;
  }

  .mv_bg {
    position: relative;
    height: min(27vw, 170px);
    display: flex;
    z-index: -1;
    margin: 0 auto 30px;
    width: calc(100% + 20px);
  }

  .mv_txt {
    padding-top: 0;
    display: flex;
    flex-direction: column;
  }

  .mv_txt>* {
    order: 1;
  }

  .mv_txt h2>span {
    /*font-size: 150%;*/
	  font-size: min(5vw, 24px);
  }
.mv_txt h2 span.dot_bt {
  margin-bottom: 20px;
}
  .mv_bg_left {
    left: -15px;
    top: max(-7.81vw, -52px);
  }

  .mv_bg_left::before {
    width: 100%;
    height: 117.65%;
    right: unset;
    left: -98px;
    top: 35px;
  }

  .mv_bg_left img {
    width: min(48vw, 330px);
  }

  .mv_bg_right {
    right: -15px;
    top: max(-6vw, -55px);
  }

  .mv_bg_right::before {
    width: 108.81%;
    height: 137.71%;
    left: unset;
    right: -128px;
    top: -50px;
  }

  .mv_bg_right img {
    width: min(51.5vw, 330px);
  }

	.mv_box_bnr_item a {
		font-size: min(4vw, 16px);
	}
  .mv_box {
    order: 2;
    gap: 0.8em;
    margin-bottom: 0;
  }
.mv_box_bnr {
  gap: 1em;
}
  .mv_box_item {
    font-size: min(2.67vw, 12px);
    padding: 0 0 18px;
    width: 8em;
    max-width: 100%;
    height: 8em;
  }

  .mv_box_item span {
    padding-top: 3em;
    position: relative;
    z-index: 1;
    line-height: 1.3em;
  }

  .mv_box_item span::before {
    width: 20px;
    height: 16px;
    top: 1.1em;
    left: 0;
  }

  .mv_desc {
    margin-bottom: 11px !important;
    font-size: min(4.38vw, 15px);
    line-height: 1.45em;
  }

  .is_scroll .h_left {
    top: 0;
  }

  .hamburger--3dxy.is_active .hamburger-inner::before {
    transform: translate3d(0, -2px, 0) rotate(45deg);
  }

  .is_scroll .h_box {
    padding: 0;
  }

  .is_scroll .hamburger-inner::before,
  .is_scroll .hamburger-inner::after {
    background-color: #fff;
  }

  .is_nav .hamburger-inner::before,
  .is_nav .hamburger-inner::after {
    background-color: #fff;
  }

  .is_nav .to_top {
    z-index: 0;
  }

  nav .nav_list {
    margin-bottom: 40px;
  }

  nav .h_contact_mail {
    padding: 0 15px;
  }

  nav .h_contact_mail a {
    margin: 0 auto;
    width: 100%;
    max-width: 300px;
    height: 55px !important;
    background-size: 30px;
    padding-bottom: 1px;
  }

  nav .h_contact_mail a span {
    padding-left: 30px;
    font-size: 18px !important;
  }

  nav .h_contact_mail a span::before {
    width: 21px;
    height: 15px;
    top: 2px !important;
  }

  .ttl_h3 {
    margin-bottom: 18px !important;
    line-height: 3em;
  }

  .ttl_h3 .ja {
    font-size: min(8.13vw, 32px) !important;
    background: url(../images/line_dot.png) left bottom / 5px 3px repeat-x;
    padding-bottom: 4px;
  }

  .ttl_h3 .ja span.line_dot span::before {
    width: 6px;
    height: 6px;
    bottom: 90%;
    left: -5px;
  }

  .sec_desc {
    text-align: left;
    margin-bottom: 30px;
  }

  .sec_desc p {
    line-height: 1.55em;
    font-size: 15px;
  }

  .btn_box {
    width: 100%;
  }

  .btn {
    width: 100%;
    max-width: 300px;
  }

  .btn a {
    width: 100%;
    height: 55px;
    font-size: 16px;
    background-size: 30px;
    padding: 0 40px 3px;
  }

  .nav_list>li.parent>.hook {
    color: #fff;
    font-size: 18px;
  }

  .nav_list>li.parent>.hook .hook_en {
    color: #fff;
    display: none;
  }

  /* sec01 */
  .sec01 {
    padding: 0 0 60px;
  }

  .sec01 .sec_desc p {
    line-height: 1.55em;
  }

  .sec01_cnt {
    gap: 10px;
    max-width: 530px;
    margin: 0 auto;
  }

  .sec01_img {
    position: absolute;
    left: -15px;
    width: min(21.88vw, 142px);
    height: fit-content;
    top: 0;
    bottom: 0;
    margin: auto;
  }

  .sec01_img::before {
    width: min(100vw, 416px);
    height: min(115.31vw, 460px);
    left: min(10vw, 40px);
    top: 50%;
  }

  .sec01_list {
    width: calc(100% - 24.88vw);
  }

  .sec01_list dl {
    padding: 10px;
    gap: 10px;
    border-radius: 10px;
  }

  .sec01_list dl dt {
    width: min(10.94vw, 60px);
    height: min(10.94vw, 60px);
    flex-shrink: 0;
  }

  .sec01_list dl dd {
    font-size: min(3.75vw, 15px);
    line-height: 1.5em;
  }

  .sec_group {
    --space-top: 12.5vw;
    padding: 15.63vw 0 0;
  }

  .sec_group::before {
    top: calc(var(--space-top) - 1px);
  }

  .sec_group::after {
    background: url(../images/sec02_line_circle.png) center top no-repeat;
    background-size: cover;
  }

  .sec01_list dl dd span {
    letter-spacing: 0;
  }

  /* sec02 */
  .sec02_bg {
    padding: min(15.63vw, 80px) 0 0;
    flex-direction: column;
    margin-bottom: 118px;
  }

  .sec02_bg::before {
    width: 100%;
    height: min(7.81vw, 55px);
  }

  .sec02_ttl {
    font-size: min(5vw, 26px);
    text-align: center;
    margin-bottom: 30px;
  }

  .sec02_cnt {
    display: flex;
    flex-direction: column;
  }

  .sec02_cnt>* {
    order: 1;
  }

  .sec02_cnt::before {
    display: block;
    order: 2;
    width: 261px;
    height: 230px;
    bottom: 205px;
    left: calc(50% - 300px);
    right: unset;
  }

  .sec02_cnt .btn_box {
    order: 3;
    justify-content: center;
  }

  .sec02_cnt .desc {
    margin-bottom: min(65.31vw, 400px);
  }

  .sec02_img {
    width: min(56.56vw, 348px);
    margin-top: 0;
    position: absolute;
    bottom: 23px;
    right: -20px;
    z-index: -1;
    box-shadow: 28px 28px 35px rgba(50, 51, 6, 0.14);
  }

  .sec02_img img {
    max-width: 100%;
  }

  /* sec03 */
  .sec03 {
    margin-top: 0;
  }

  .sec03_bg {
    padding: 42px 15px 200px;
    border-radius: 18px;
  }

  .sec03_bg .ttl_h3 {
    margin-bottom: 23px !important;
  }

  .sec03_bg .ttl_h3 .ja {
    font-size: min(5.63vw, 20px) !important;
    line-height: 1.45em;
  }

  .sec03_bg .btn_box .btn {
    margin: 0;
  }

  .sec03_cnt {
    width: 78%;
  }

  .sec03_cnt .desc::before {
    display: none;
  }

  .sec03_cnt .desc dl {
    padding: 12px 0 15px 28px;
  }

  .sec03_cnt .desc dd {
    line-height: 1.58em;
  }

  .sec03_cnt .desc dl:first-child::before {
    width: 100%;
  }

  .sec03_cnt .desc dl::after {
    width: 19px;
    height: 14px;
    top: 22px;
    left: 0;
  }

  .sec03_img {
    right: calc(100% + 31px);
    height: fit-content;
    width: 270px;
    top: 20px;
    bottom: 0;
  }

  .sec03_cnt .desc {
    margin-bottom: 30px;
  }

  .sec03_cnt .desc dt {
    font-size: 18px;
    letter-spacing: 0;
    line-height: 1.5em;
  }

  .sec03_img img {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    object-position: 0;
  }

  .sec03_bg {
    position: relative;
    z-index: 1;
  }

  .sec03_bg::before {
    content: "";
    position: absolute;
    background: url(../images/sec03_dc.png) center no-repeat;
    background-size: cover;
    width: 134px;
    height: 107px;
    z-index: -1;
    right: 20px;
    top: -85px;
  }

  .sec03_bg::after {
    border-radius: 20px 20px 0 0;
  }

  /* sec04 */
  .sec04 {
    --space-top: 50px;
    padding: 64px 0 100px;
    margin-top: -150px;
    background: url(../images/sec04_line_circle_sp.png) center top/100% var(--space-top) no-repeat;
  }

  .sec04_ttl .ttl_h3 {
    margin-bottom: 20px !important;
  }

  .sec04 .sec_desc {
    margin-bottom: 24px;
  }

  .sec04_box {
    flex-direction: column;
    gap: 0;
  }

  .sec04_box:not(:last-child) {
    margin-bottom: 27px;
  }

  .sec04_box.sec04_box_full {
    width: calc(100% + 23px);
    right: 12px;
    margin-bottom: 18px !important;
  }

  .sec04_item {
    width: 94%;
    padding: 0 28px 20px;
  }

  .sec04_item:not(:last-child) {
    margin-bottom: 30px;
  }

  .sec04_cnt {
    margin-bottom: 25px;
  }

  .sec04_ttl .ttl_h3 .ja {
    padding-bottom: 6px;
  }

  .sec04_item .img {
    margin-bottom: 15px;
  }

  .sec04_item .img img {
    border-radius: 15px;
  }

  .sec04_item::before {
    top: 51px;
    height: calc(100% - 51px);
    border-radius: 15px;
  }

  .sec04_item:nth-child(2n+2) {
    margin-top: 0;
    margin-left: auto;
  }

  .sec04_item h4 {
    font-size: 18px;
    margin-bottom: 5px;
  }

  .sec04_item .desc p {
    line-height: 1.55em;
  }

  /* sec05 */
  .sec05 {
    --space-top: 50px;
    padding: 70px 0 80px;
    background: url(../images/sec05_line_circle_sp.png) center top/100% var(--space-top) no-repeat;
  }

  .sec05_ttl .ttl_h3 .ja {
    letter-spacing: 0;
  }

  .sec05::before {
    height: calc(100% - var(--space-top) - 170px);
    top: calc(var(--space-top) - 1px);
  }

  .sec05 .sec_desc {
    z-index: 8;
  }

  .sec05_ttl .ttl_h3 {
    margin-bottom: 23px !important;
  }

  .sec05_cnt {
    padding-top: 75px;
    grid-template-columns: repeat(1, 1fr);
    gap: 85px;
  }

  .sec05_box {
    padding: 0 15px;
  }

  .sec05_box h4 {
    font-size: 22px;
    margin-bottom: 16px;
  }

  .sec05_box_frame::before {
    width: 180px;
    height: 170px;
    left: 50%;
    top: -45px;
  }

  .sec05_box:nth-child(1) .sec05_box_dc {
    width: 210px;
    left: -120px;
    top: -126px;
  }

  .sec05_box:nth-child(1) h4::before {
    width: 32px;
    height: 39px;
    top: -43px;
  }

  .sec05_box:nth-child(1)::after {
    width: 90px;
    height: 115px;
    top: -80px;
    right: -5px;
  }

  .sec05_box:nth-child(2) .sec05_box_dc {
    width: 210px;
    right: -110px;
    bottom: -66px;
    top: unset;
  }

  .sec05_box:nth-child(2) h4::before {
    width: 42px;
    height: 42px;
    top: -50px;
  }

  .sec05_box:nth-child(2)::after {
    width: 90px;
    height: 110px;
    top: -90px;
    right: -10px;
  }

  .sec05_box_frame {
    padding: 21px 10px 20px;
    border-radius: 10px;
  }

  .sec05_list {
    margin-bottom: 20px;
  }

  .sec05_list li {
    font-size: min(4.8vw, 20px);
    line-height: 1.3em;
    display: flex;
    align-items: center;
    padding: 5px 9px 5px min(18.75vw, 90px);
    min-height: 65px;
    border-radius: 5px;
  }

  .sec05_list li::before {
    width: min(11.5vw, 57px);
    height: min(11.5vw, 57px);
    left: 10px;
    font-size: min(5vw, 24px);
    font-weight: 500;
  }

  .sec05_list li:not(:last-child) {
    margin-bottom: 10px;
  }

  .sec05_list li br {
    display: none;
  }

  /* sec06 */
  .sec06 {
    padding: 0 0 145px;
  }

  .sec06::after {
    display: none;
  }

  .sec06_bg::before,
  .sec06_bg::after {
    display: none;
  }

  .sec06_bg .ttl_h3 {
    text-align: center;
    margin-bottom: 22px !important;
  }

  .sec06_bg .sec_desc {
    margin-bottom: 24px;
  }

  .sec06_cnt {
    flex-direction: column;
    gap: 30px;
    width: calc(100% + 4px);
    margin-left: -2px;
  }

  .sec06_item {
    flex-direction: column;
    width: 100%;
    max-width: 445px;
    margin: 0 auto;
  }

  .sec06_item .img {
    width: 93%;
    max-width: 100%;
  }

  .sec06_item .img img {
    width: auto;
    max-width: 100%;
    border-radius: 15px;
  }

  .sec06_item_desc {
    width: 93%;
    max-width: 100%;
    min-height: auto;
    margin: -119px 0 0 auto;
    padding: 34px 24px 25px;
    border-width: 3px;
    border-radius: 15px;
  }

  .sec06_item_desc h4 {
    font-size: 20px;
    letter-spacing: .06em;
    margin-bottom: 12px;
    line-height: 1.6em;
  }

  .sec06_item_desc h4 .en {
    font-size: 54px;
    letter-spacing: 0;
    top: -10px;
  }

  .sec06_item_desc h4 span:not(.en) {
    font-size: 140%;
    letter-spacing: .13em;
  }

  .sec06_item_desc .desc {
    padding: 0 7px;
    ;
    min-height: auto;
    margin-bottom: 21px;
  }

  .sec06_item_desc .desc p {
    line-height: 1.4em;
  }

  .sec06_item_desc .btn_box a {
    width: 300px;
    max-width: 100%;
  }

  .sec06_item_desc .desc p {
    letter-spacing: 0;
  }

  /* sec07 */
  .sec07::before {
    display: none;
  }

  .sec07_bg {
    flex-direction: column-reverse;
  }

  .sec07_bg .ttl_h3 .ja {
    font-size: min(7.5vw, 32px) !important;
    padding-bottom: 0;
  }

  .sec07_bg .ttl_h3 .ja span {
    font-weight: 600;
  }

  .sec07_box {
    width: calc(100% + 15px);
    max-width: unset !important;
    padding: 60px 15px 72px !important;
  }

  .sec07_box::before {
    width: 100%;
  }

  .sec07_box .ttl_h3 {
    text-align: center;
    margin-bottom: 3px !important;
  }

  .sec07_box .ttl_h3 .ja {
    font-size: min(7.5vw, 32px) !important;
    padding-bottom: 0;
    background: none;
    letter-spacing: 0;
    display: inline-block;
    text-align: right;
  }

  .sec07_box:nth-child(2) .ttl_h3 {
    margin-bottom: 9px !important;
  }

  text {
    display: block;
    text-align: center;
  }

  .sec07_box .ttl_h3 .ja .bg_line {
    text-align: right;
    --t: 78%;
    --b: 100%;
  }

  .sec07_box:nth-child(1) {
    margin-top: -15px;
    margin-left: -15px;
    padding: 49px 15px 71px !important;
  }

  .sec07_box:nth-child(1)::before {
    border-radius: 0 15px 15px 0;
    left: 0;
    right: unset;
  }

  .sec07_box:nth-child(1)::after {
    width: 138px;
    height: 136px;
    top: -38px;
    left: calc(50% - 145px);
  }

  .sec07_box:nth-child(2) {
    margin-right: -15px;
    margin-left: auto;
  }

  .sec07_box:nth-child(2)::before {
    border-radius: 15px 0 0 15px;
    left: unset;
    right: 0;
  }

  .sec07_box:nth-child(2)::after {
    width: 116px;
    height: 113px;
    right: 17px;
    bottom: unset;
    top: -70px;
  }

  .sec07_box:nth-child(1) .ttl_h3 .ja {
    text-align: right;
  }

  .sec07_box .desc {
    margin-bottom: 20px !important;
  }

  .sec07_box:nth-child(2) .desc {
    margin-bottom: 23px !important;
  }

  .sec07_box .desc p {
    line-height: 1.7em;
    font-size: 13px;
  }

  .sec07_box:nth-child(2) .desc p {
    line-height: 1.5em;
  }

  .sec07_box .btn_box {
    justify-content: center;
  }

  .sec07_box .btn_box .btn {
    max-width: 258px;
  }

  /* sec08 */
  .sec08 {
    --space-top: 122px;
  }

  .sec08_bg {
    flex-direction: column;
  }

  .sec08_box {
    width: calc(100% + 30px);
    min-height: auto;
    margin-left: -15px;
  }

  .sec08_box .ttl_h3 {
    margin-bottom: 20px !important;
    text-align: center;
  }

  .sec08_box .ttl_h3 .ja {
    width: 100%;
    padding: 6px 50px 8px 0 !important;
    font-size: min(9vw, 40px) !important;
  }

  .sec08_box::before {
    width: 100% !important;
  }

  .sec08_box .sec08_box_frame::before {
    bottom: unset;
    z-index: 2;
  }

  .sec08_box:nth-child(1) {
    padding: calc(var(--space-top) + 43px) 15px 62px;
    margin-bottom: -1px;
  }

  .sec08_box:nth-child(1) .ttl_h3 .ja {
    padding: 5px 40px 9px 30px !important;
  }

  .sec08_box:nth-child(1)::before {
    background: url("../images/sec08_img1_sp.jpg") center/cover no-repeat;
  }

  .sec08_box:nth-child(1) .sec08_box_frame::before {
    width: 45px;
    height: 129px;
    left: 0;
    top: -55px;
  }

  .sec08_box:nth-child(2) {
    padding: calc(var(--space-top) - 28px) 15px 115px;
  }

  .sec08_box:nth-child(2) .ttl_h3 .ja {
    padding-left: 20px !important;
    padding-right: 0;
  }

  .sec08_box:nth-child(2) .ttl_h3 .ja::before {
    left: 0;
  }

  .sec08_box:nth-child(2)::before {
    background: url("../images/sec08_img2_sp.jpg") center/cover no-repeat;
  }

  .sec08_box:nth-child(2) .sec08_box_frame::before {
    width: 38px;
    height: 127px;
    right: 0;
    top: -58px;
  }

  .sec08_box_frame {
    width: 100%;
    padding: 0 !important;
  }

  .sec08_box .desc {
    margin-bottom: 20px;
  }

  .sec08_box .desc p {
    line-height: 1.4em;
  }

  .sec08_box .btn_box {
    justify-content: center;
  }

  .sec08_box .btn_box .btn {
    width: calc(100% - 40px);
  }

  .sec09 {
    --space-top: 50px;
    margin-top: -55px;
    padding: 61px 0 46px;
    background: url("../images/sec09_line_bg_sp.png") center top/100% var(--space-top) no-repeat;
  }

  .sec09::before {
    background: url("../images/sec09_bg_sp.jpg") center top/cover no-repeat;
    height: calc(100% - 275px);
    top: calc(var(--space-top) - 1px);
  }

  .sec09_bg .ttl_h3 {
    line-height: 3.6em;
    margin-bottom: 17px !important;
  }

  .sec09_bg .ttl_h3 .ja {
    letter-spacing: 0.02em;
    padding-bottom: 4px;
  }

  .sec09_bg .sec_desc {
    margin-bottom: 35px;
  }

  .sec09_bg .sec_desc p {
    line-height: 1.55em;
  }

  .sec09_cnt {
    flex-direction: column;
    align-items: center;
    gap: 41px;
  }

  .sec09_box {
    font-size: min(3.75vw, 14px);
    width: 21.429em;
    height: 21.429em;
    padding: 0 2em;
  }

  .sec09_box::before {
    width: calc(100% - 10px);
    height: calc(100% - 10px);
  }

  .sec09_box h4 {
    font-size: 1.286em;
    margin-bottom: 0.55em;
  }

  .sec09_box .img {
    margin-top: -0.714em;
    margin-bottom: 0.857em;
    width: 13.214em;
  }

  .sec09_box .desc p {
    line-height: 1.5em;
  }

  .sec10 {
    padding: 0 0 60px;
    margin-top: 40px;
  }

  .sec10_ttl .ttl_h3 {
    line-height: 3.8em;
    margin-bottom: 25px !important;
  }

  .sec10_cnt {
    flex-direction: column;
    gap: 32px;
  }

  .sec10_box {
    width: 100%;
    padding: 20px;
  }

  .sec10_box h4 {
    font-size: 26px;
    margin-bottom: 16px;
  }

  .sec10_box h4 span {
    padding: 0 15px;
  }

  .sec10_box_list {
    margin-bottom: 19px;
  }

  .sec10_ttl .ttl_h3 .ja {
    padding-bottom: 6px;
  }

  .sec10_box_list li {
    flex-direction: column;
    gap: 5px;
    padding: 20px 0;
    background-size: 6px 2px;
  }

  .sec10_box_list li .date {
    font-size: 14px;
  }

  .sec10_box_list li .ttl {
    font-size: 16px;
    line-height: 1.5em;
  }

  .sec10_box .btn_box .btn {
    max-width: 257px;
  }

  .sec11 {
    padding: 0 15px;
  }

  .sec11_bg {
    padding: 54px 0 0;
    margin-bottom: 40px;
  }

  .sec11_bg::before {
    width: 100%;
    border-radius: 15px;
  }

  .sec11_bg::after {
    width: min(47.81vw, 263px);
    height: min(64.06vw, 355px);
    top: unset;
    left: calc(50% - 310px);
    bottom: min(30vw, 110px);
  }

  .sec11_cnt .ttl_h3 {
    text-align: center;
    margin-bottom: 22px !important;
    line-height: 1.5em;
  }

  .sec11_cnt .desc {
    margin-bottom: 50px;
  }

  .sec11_cnt .desc p {
    line-height: 1.56em;
  }

  .sec11_cnt .desc p:not(:last-child) {
    margin-bottom: 24px;
  }

  .sec11_cnt .desc .name {
    font-size: 18px;
    margin-top: -3px;
  }

  .sec11_img {
    position: relative;
    width: 55%;
    margin-left: auto;
    right: calc(50% - 280px);
    max-width: 350px;
  }

  .sec11 .btn_box .btn {
    width: calc(100% - 40px);
    max-width: 300px;
    margin: 0;
  }

  main {
    margin-bottom: 60px;
  }

  .sec11_cnt .ttl_h3 .ja {
    font-size: min(9.8vw, 36px) !important;
    padding-bottom: 6px;
    line-height: 1.7em;
  }

  /*============ FOOTER ============*/
  footer {
    margin-bottom: 50px;
  }

  .ft_cnt {
    padding: 50px 0;
  }

  .ft_cnt_frame {
    flex-direction: column;
  }

  .ft_cnt_frame .address {
    text-align: center;
  }

  .ft_cnt_frame .flogo {
    margin-bottom: 2px;
    text-align: center;
  }

  .ft_cnt_frame .flogo img {
    max-width: 290px;
  }

  .ft_info {
    margin-bottom: 40px;
  }

  .ft_info>*:not(:last-child) {
    margin-bottom: 14px;
  }
.ft_info_ct {
  justify-content: center;
	gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
  .ft_info_tel {
    /*margin-bottom: 19px !important;*/
  }

  .ft_info_tel .num {
    text-align: center;
  }

  .ft_info_tel .num a {
    padding-left: 30px;
    font-size: 32px;
    background: url(../images/ic_h_phone.png) left top 15px/24px 24px no-repeat;
    letter-spacing: 0.085em;
  }

  .ft_info_tel .time {
    letter-spacing: 0.05em;
    text-align: center;
  }

  .ft_info_mail a {
    font-size: 18px;
    max-width: 300px;
    padding: 14px 16px 16px;
    margin: 0 auto;
  }

  .ft_info_mail a span {
    padding-left: 34px;
    background: url(../images/ic_h_mail.png) left top 7px/22px 15px no-repeat;
  }

  .ft_menu_sub a {
    font-size: min(3.75vw, 14px);
  }

  .ft_menu {
    max-width: 340px;
    margin: 0 auto;
  }

  .ft_menu>a,
  .ft_menu .ttl {
    font-size: min(5vw, 16px);
  }

  .ft_menu>ul {
    display: block;
  }

  .ft_menu>ul>li:not(:last-child) {
    margin-bottom: 20px;
  }

  .ft_menu>ul>li:not(:last-child) a {
    margin-bottom: 13px;
  }

  .ft_map .ttl_h3 {
    margin-bottom: 30px !important;
  }

  .ft_iframe iframe {
    height: 300px;
  }

  address {
    letter-spacing: 0;
    padding: 14px 10px 20px;
  }

  .sp_contact_tel a {
    font-size: 20px !important;
    font-weight: 500;
  }

  /* SP CONTACT */
  .sp_contact {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 50px;
    position: fixed;
    left: 0;
    z-index: 99;
    bottom: -55px;
    transition: all 0.3s;
  }

  .sp_contact.show {
    bottom: 0;
  }

  .sp_contact li {
    width: 50%;
    height: 100%;
  }

  .sp_contact li a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 16px;
  }

  .sp_contact li a span {
    position: relative;
    padding-left: 25px;
    padding-bottom: 2px;
    line-height: 1.2em;
  }

  .sp_contact li a span::before {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    left: -5px;
    top: calc(50% - 10px)
  }

  .sp_contact_tel {
    background-color: var(--mcolor)
  }

  .sp_contact_tel a span::before {
    background: url(../images/ic_h_phone.png) no-repeat center / cover;
    width: 18px !important;
    height: 19px !important;
    filter: brightness(0) invert(1);
    left: 0 !important;
    top: 5px !important;
  }

  .sp_contact_mail {
    background-color: var(--scolor)
  }

  .sp_contact_mail a span::before {
    background: url(../images/ic_h_mail.png) no-repeat center /20px;
  }

  .ft_cnt_frame .address {
    letter-spacing: 0;
    font-size: 16px;
  }

  /* TO TOP */
  .to_top {
    width: 50px;
    height: 50px;
    right: 10px;
    bottom: 90px;
  }

  .ft_menu .nav_bnr {
    text-align: center;
  }

  /*============ END 750 ============ */
  address {
    font-size: 12px;
  }

  .is_scroll nav {
    min-width: unset;
  }

  .is_scroll .h_contact_line {
    margin-left: 0 !important;
    text-align: center;
  }

  .is_nav .h_contact_line {
    display: inline-block;
    text-align: center;
    /*border: 1px solid #fff;
    padding: 3px 10px;
    border-radius: 10px;*/
  }

  .contact_sp_wrapper {
    text-align: center;
    margin-bottom: 22px;
  }

  .btn_mail_outlook .free-assessment-warning-link {
    height: 40px;
    padding: 5px 15px 7px;
  }
}

/* screen-max:630px */
@media screen and (max-width: 640px) {
  .sec02_cnt::before {
    width: 41.43vw;
    height: 36.51vw;
    bottom: 32.54vw;
    left: -5px;
  }

  .director_box {
    padding: 20px 20px 25px
  }
}

/* screen-max:560px */
@media screen and (max-width: 560px) {
  .sec05_list li br {
    display: block;
  }

  .sec11_bg::after {
    left: -25px;
  }

  .sec11_img {
    right: -5px;
  }

  .sec03_img img {
    object-position: 30px;
  }

  .director_box .inn {
    justify-content: center
  }

  .director_box .cont {
    width: 100%;
  }

  .director_box .name,
  .director_box .image {
    margin-bottom: 15px;
  }

  .director_box .title {
    font-size: 26px;
  }

  .director_box .name {
    font-size: 20px;
  }
	.mv_box_bnr {
  max-width: max(min(45.0520833333vw, 865px), 625px);
  margin: 50px auto 0;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1em;
}
}

/* screen-max:440px */
@media screen and (max-width: 440px) {
  .sp440 {
    display: block !important;
  }

  .pc440 {
    display: none !important
  }

  .sec01_list {
    width: calc(100% - 20.88vw);
  }

  .sec02_img {
    right: -30px;
  }

  .mv {
    height: 100vh !important;
  }

  .mv_bg_right {
    top: max(-1.88vw, -15px);
  }

  .mv_bg {
    height: min(30vw, 150px);
  }

}

/* screen-max:375px */
@media screen and (max-width: 375px) {
  .pc375 {
    display: block !important;
  }

  .sp375 {
    display: block !important;
  }

  .mv_box_item span::before {
    width: 17px;
    height: 13px;
  }

  .sec11_bg {
    padding: 48px 0 0;
  }

  .mv_txt h2 {
    font-size: min(6.88vw, 25px);
  }

  nav .h_contact_mail a span {
    font-size: 16px !important;
  }

  .mv {
    padding-top: 90px;
  }

  .sec02_img {
    width: 181px;
    right: -15px;
  }

  .sec02_cnt::before {
    width: 163px;
    height: 143px;
    left: 0;
    bottom: 94px;
  }

  .sec02_cnt .desc {
    margin-bottom: 205px;
  }

  .sec07_box:nth-child(1)::after {
    left: 10px;
  }

}

/* screen-max: 360px */
@media screen and (max-width: 360px) {
  .sp360 {
    display: block !important;
  }

  .sec02_cnt::before {
    width: 36.39vw;
    height: 31.94vw;
    left: 0;
    bottom: 120px;
  }

  .sec03_cnt .desc dt {
    font-size: 16px;
  }

  .sec03_cnt .desc dl {
    padding: 12px 0 15px 25px;
  }

  .sec06_item_desc h4 span:not(.en) {
    font-size: 120%;
  }

  .sec03_img img {
    object-position: 60px;
  }
}