/* _setting CSS */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body {
  background: #fff;
  font-size: 62.5%;
}

ul {
  list-style-type: none;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

/* ___________________Link */
a {
  color: #333333;
  text-decoration: none;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
a:hover {
  color: #96a5bf !important;
}
a img {
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
a img:hover {
  opacity: 0.8;
}

/* ___________________Font */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  margin: 0;
  padding: 0;
  letter-spacing: 0.05em;
  line-height: 1.4;
}

.fade_left,
.fade_right,
.fade_btm,
.fade_scale {
  opacity: 0;
}

#kv h2,
#kv .main_img,
#kv .sub_img_wrap img[class],
#kv .kv_text {
  opacity: 0;
}
#kv .sub_img_wrap .img02 {
  --kv-opacity: 0.5;
}
#kv .sub_img_wrap .img03,
#kv .sub_img_wrap .img04 {
  --kv-opacity: 0.8;
}
#kv .sub_img_wrap .img05 {
  --kv-opacity: 0.2;
}

@media (prefers-reduced-motion: reduce) {
  #kv h2,
  #kv .main_img,
  #kv .kv_text {
    opacity: 1;
  }
  #kv .sub_img_wrap img[class] {
    opacity: var(--kv-opacity, 1);
  }
}
/* ___________________PC layout */
@media print, screen and (min-width: 781px) {
  body {
    min-width: 1240px;
    padding-top: 120px;
  }

  .sp {
    display: none !important;
  }

  .common_inner {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
  }

  .f_head_52 {
    font-family: "Shippori Mincho", serif;
    font-size: 5.2rem;
    font-weight: 400;
    line-height: 1.1;
  }

  .f_head_40 {
    font-family: "Shippori Mincho", serif;
    font-size: 4rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }

  .f_head_30 {
    font-family: "Shippori Mincho", serif;
    font-size: 3rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.1em;
    color: #3a5785;
  }

  .f_head_24 {
    font-family: "Shippori Mincho", serif;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.1em;
  }

  .f_head_22 {
    font-family: "Shippori Mincho", serif;
    font-size: 2.2rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #3a5785;
  }

  .f_text_l {
    font-size: 1.8rem;
    line-height: 2.8;
    font-weight: 400;
    letter-spacing: 0.05em;
  }

  .f_text {
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 0.05em;
  }

  .f_note {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }

  .f_caption {
    font-family: "Shippori Mincho", serif;
    font-size: 1.3rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.6;
    color: #555555;
  }

  .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    background: #3a5785;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    border: 1px solid #3a5785;
    border-radius: 6px;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    position: relative;
    z-index: 0;
    text-align: center;
    line-height: 1;
    cursor: pointer;
  }
  .btn span {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .btn span::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-image: url(../images/common/arrow_white.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 10px;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
    vertical-align: middle;
  }
  .btn:hover {
    background: #fff;
    color: #3a5785;
  }
  .btn:hover span {
    color: #3a5785;
  }
  .btn:hover span::after {
    background-image: url(../images/common/arrow_blue.svg);
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }

  .btn_s {
    min-width: 244px;
    min-height: 50px;
  }

  .btn_m {
    min-width: 355px;
    min-height: 66px;
  }

  .btn_l {
    min-width: 398px;
    min-height: 94px;
    background: #fff;
    color: #3a5785;
    font-size: 2.2rem;
  }
  .btn_l span {
    color: #3a5785;
    font-size: 2.2rem;
  }
  .btn_l span::after {
    background-image: url(../images/common/arrow_blue.svg);
  }
  .btn_l:hover {
    background: #3a5785;
    color: #fff;
  }
  .btn_l:hover span {
    color: #fff;
  }
  .btn_l:hover span::after {
    background-image: url(../images/common/arrow_white.svg);
  }

  .mini_link {
    display: block;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  .mini_link span {
    font-size: 1.6rem;
    color: #3a5785;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .mini_link span::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(../images/wooden/arrow_circ.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 10px;
  }
  .mini_link:hover {
    opacity: 0.6;
  }

  .btn_center {
    margin: 0 auto;
  }

  #header {
    position: fixed;
    width: 100%;
    height: 120px;
    z-index: 99;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    left: 50%;
    top: 0;
    background-color: #fff;
  }
  #header .header_inner {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10px 40px 20px;
  }
  #header .logo {
    display: block;
    width: 392px;
  }
  #header .gnav_wrap .nav_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    gap: 30px;
    margin-bottom: 14px;
  }
  #header .gnav_wrap .nav_top .tel_box a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 6px;
    font-size: 2.8rem;
    font-family: "Lato", sans-serif;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
    color: #3a5785;
  }
  #header .gnav_wrap .nav_top .tel_box a i {
    display: block;
    width: 21px;
    height: 23px;
  }
  #header .gnav_wrap .nav_top .tel_box p {
    font-size: 1.2rem;
    line-height: 1.6;
    text-align: right;
  }
  #header #gnav .menu_list {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
  }
  #header #gnav .menu_list .menu_item a {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.6;
    cursor: pointer;
  }
  #header #gnav .menu_list .menu_item a:hover {
    color: #96a5bf;
  }

  #footer {
    background-color: #314159;
    padding: 60px 0 20px;
  }
  #footer .footer_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #footer .left_box .footer_logo {
    display: block;
    width: 106px;
  }
  #footer .left_box .company {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.05em;
    margin-top: 20px;
    color: #fff;
  }
  #footer .left_box .address {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.05em;
    color: #fff;
    margin-top: 8px;
  }
  #footer .right_box {
    width: 565px;
  }
  #footer .right_box .footer_links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
  }
  #footer .right_box .footer_links .item a {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #fff;
  }
  #footer .btm_box {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 30px;
  }
  #footer .btm_box .privacy {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #fff;
  }
  #footer .btm_box .copyright {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.05em;
    color: #fff;
  }

  #kv {
    background-image: url(../images/wooden/kv_bg.jpg);
    background-size: 100% auto;
  }
  #kv .kv_inner {
    position: relative;
    max-width: 1440px;
    margin: 0 auto;
    padding-top: 119px;
    padding-bottom: 103px;
  }
  #kv h2 {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    line-height: 1.6;
    position: absolute;
    top: 91px;
    left: 278px;
  }
  #kv .sub_img_wrap {
    width: 507px;
    height: 788px;
    position: absolute;
    top: 595px;
    left: -26px;
    z-index: 0;
  }
  #kv .sub_img_wrap .img02 {
    width: 188px;
    position: absolute;
    opacity: 0.5;
    top: 0;
    left: 55px;
  }
  #kv .sub_img_wrap .img03 {
    width: 267px;
    position: absolute;
    opacity: 0.8;
    top: 168px;
    left: 170px;
  }
  #kv .sub_img_wrap .img04 {
    width: 266px;
    position: absolute;
    opacity: 0.8;
    top: 441px;
    left: 0;
  }
  #kv .sub_img_wrap .img05 {
    width: 188px;
    position: absolute;
    opacity: 0.2;
    bottom: 0;
    right: 0;
  }
  #kv .main_img {
    width: 887px;
    margin-left: auto;
    margin-bottom: 80px;
  }
  #kv .kv_text {
    width: 887px;
    margin-left: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }

  #merit {
    background-image: url(../images/wooden/kv_bg.jpg);
    background-size: 100% auto;
    padding-bottom: 20px;
    position: relative;
    z-index: 1;
  }
  #merit .merit_box {
    background-color: #fff;
    border: 1px solid #eaeaea;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
            box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
    width: 97.22%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 100px 0;
  }
  #merit h2 {
    text-align: center;
  }
  #merit .lead {
    text-align: center;
    margin-top: 10px;
    line-height: 2.3;
  }
  #merit .merit_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 60px;
  }
  #merit .merit_list .item {
    padding: 18px 26px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  #merit .merit_list .item h3 {
    text-align: center;
    margin-bottom: 10px;
  }
  #merit .merit_list .item h3 i {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 40px;
    margin-bottom: 10px;
  }
  #merit .merit_list .item h3 i img {
    height: 100%;
    width: auto;
  }
  #merit .merit_list .item:nth-child(1) {
    padding-left: 0;
  }
  #merit .merit_list .item:nth-child(2) {
    border: 1px dashed #90a7cd;
    border-top: none;
    border-bottom: none;
  }
  #merit .merit_list .item:nth-child(3) {
    padding-right: 0;
  }
  #merit .column_cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px 20px 20px 60px;
    gap: 60px;
    background-color: #f2f1f0;
    margin-top: 60px;
  }
  #merit .column_cont .left_side h3 {
    margin-bottom: 10px;
    color: #3a5785;
  }
  #merit .column_cont .left_side p {
    background-image: url(../images/wooden/noteline.png);
    background-position: 0 35px;
    background-repeat: no-repeat;
    line-height: 2.4;
  }
  #merit .column_cont .left_side .mini_link {
    margin-left: auto;
    margin-top: 30px;
  }
  #merit .column_cont .right_side {
    width: 374px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }

  #effort {
    background-color: #3a5785;
    padding: 120px 0;
  }
  #effort h2 {
    text-align: center;
    color: #fff;
  }
  #effort .lead {
    text-align: center;
    color: #fff;
    line-height: 1.8;
    margin-top: 20px;
  }
  #effort .effort_links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 15px;
    margin-top: 54px;
  }
  #effort .effort_links .item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  #effort .effort_links .item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fff;
    border: 1px solid #3a5785;
    min-height: 70px;
    padding: 18px 20px;
    border-radius: 6px;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  #effort .effort_links .item a i {
    font-family: "Shippori Mincho", serif;
    font-size: 2.2rem;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1.6;
    color: #96a5bf;
    font-style: normal;
    margin-right: 10px;
  }
  #effort .effort_links .item a span {
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 700;
    color: #3a5785;
    letter-spacing: 0.06em;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  #effort .effort_links .item a::after {
    content: "";
    display: block;
    width: 10px;
    height: 12px;
    background-image: url(../images/wooden/arrow_btm.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: auto;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
  }
  #effort .effort_links .item a:hover {
    border: 1px solid #fff;
    background-color: #3a5785;
  }
  #effort .effort_links .item a:hover span {
    color: #fff;
  }
  #effort .effort_links .item a:hover::after {
    -webkit-filter: brightness(100);
            filter: brightness(100);
  }
  #effort .effort_cont {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding-top: 80px;
  }
  #effort .effort_cont .cover_img {
    width: 1320px;
    position: relative;
  }
  #effort .effort_cont .cover_img .num {
    height: 80px;
    width: auto;
    position: absolute;
  }
  #effort .effort_cont .cover_img.right {
    margin-left: auto;
  }
  #effort .effort_cont .cover_img.right .num {
    left: 10px;
    bottom: -20px;
  }
  #effort .effort_cont .cover_img.left {
    margin-right: auto;
  }
  #effort .effort_cont .cover_img.left .num {
    left: 130px;
    bottom: -27px;
  }
  #effort .effort_cont .head_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 50px;
    margin-top: 40px;
  }
  #effort .effort_cont .head_wrap h3 {
    display: block;
    color: #fff;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  #effort .effort_cont .head_wrap p {
    color: #fff;
  }
  #effort .effort_cont .effort_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
    margin-top: 60px;
  }
  #effort .effort_cont .effort_list .item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    background-color: #fff;
    padding: 20px;
    position: relative;
  }
  #effort .effort_cont .effort_list .item::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-color: #3a5785;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
            clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
    position: absolute;
    top: 0;
    left: 0;
  }
  #effort .effort_cont .effort_list .item h4 {
    text-align: center;
    line-height: 1.3;
    padding: 10px 0 20px;
  }
  #effort .effort_cont .effort_list .item p {
    margin-top: 20px;
    line-height: 1.6;
  }
  #effort .effort_cont .effort_list .item p strong {
    font-weight: 700;
  }

  #achieve {
    background-color: #fff;
    padding: 120px 0;
  }
  #achieve h2 {
    text-align: center;
  }
  #achieve .lead {
    text-align: center;
    margin-top: 20px;
  }
  #achieve .achieve_cont {
    margin-top: 83px;
    padding: 80px 0;
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #achieve .achieve_cont.left_bg::before {
    content: "";
    width: 93%;
    height: 100%;
    min-width: 1340px;
    position: absolute;
    background-color: #f2f1f0;
    z-index: -1;
    top: 0;
    left: 0;
  }
  #achieve .achieve_cont.right_bg::before {
    content: "";
    width: 93%;
    height: 100%;
    min-width: 1340px;
    position: absolute;
    background-color: #f2f1f0;
    z-index: -1;
    top: 0;
    right: 0;
  }
  #achieve .achieve_cont .badge {
    display: block;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    background-color: #3a5785;
    color: #fff;
    padding: 0 10px;
    margin-bottom: 12px;
  }
  #achieve .achieve_cont h3 {
    margin-bottom: 20px;
  }
  #achieve .achieve_cont .head_btm {
    margin-bottom: 40px;
  }
  #achieve .achieve_cont .slide_wrap {
    width: calc(50% + 500px);
    margin-left: calc(50% - 500px);
    overflow-x: hidden;
    overflow-y: hidden;
    padding-bottom: 40px;
    -webkit-scroll-snap-type: x proximity;
        -ms-scroll-snap-type: x proximity;
            scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #3a5785 #96a5bf;
  }
  #achieve .achieve_cont .slide_wrap.is-scrollable {
    overflow-x: auto;
  }
  #achieve .achieve_cont .slide_wrap::-webkit-scrollbar {
    height: 8px;
  }
  #achieve .achieve_cont .slide_wrap::-webkit-scrollbar-track {
    background-color: #96a5bf;
    border-radius: 4px;
  }
  #achieve .achieve_cont .slide_wrap::-webkit-scrollbar-thumb {
    background-color: #3a5785;
    border-radius: 4px;
  }
  #achieve .achieve_cont .achieve_scroll {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_item {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    height: auto;
    margin: 0 30px 0 0;
    scroll-snap-align: start;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_card {
    width: 490px;
    height: 100%;
    background-color: #fff;
    padding: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_card img {
    margin-bottom: 20px;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_card h4 {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    color: #333333;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin-bottom: 10px;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_card .f_text {
    margin-bottom: 20px;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_card .mini_link {
    margin-left: auto;
    margin-top: auto;
  }
  #achieve .achieve_cont .slide_wrap.is-scrollable .achieve_scroll {
    padding-right: 500px;
  }
  #achieve > .btn {
    margin-top: 80px;
  }

  #support {
    background-color: #f3f5f9;
    padding: 60px 0;
    overflow: hidden;
    position: relative;
  }
  #support .support_inner {
    width: 580px;
  }
  #support .support_inner h2 {
    margin-bottom: 10px;
  }
  #support .support_inner .lead {
    line-height: 2;
  }
  #support .support_inner .support_cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-top: 1px solid #3a5785;
    border-bottom: 1px solid #3a5785;
    padding: 20px 43px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 30px;
    gap: 40px;
  }
  #support .support_inner .support_cont h3 {
    display: block;
    color: #3a5785;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  #support .support_inner .support_cont .support_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
  #support .support_inner .support_cont .support_list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1.8rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #3a5785;
    gap: 10px;
  }
  #support .support_inner .support_cont .support_list li::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background-image: url(../images/wooden/icon_check.svg);
    background-repeat: no-repeat;
    background-size: contain;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  #support .main_img {
    width: 1004px;
    position: absolute;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 50%;
    left: calc(50% + 170px);
  }

  #cta {
    background-image: url(../images/wooden/cta_bg.jpg);
    background-size: cover;
    padding: 100px 0;
  }
  #cta .text01 {
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: center;
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    color: #fff;
    margin-bottom: 20px;
  }
  #cta .text02 {
    font-size: 3.4rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-align: center;
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    color: #fff;
    margin-bottom: 40px;
  }
  #cta .text02 span {
    font-weight: 400;
    font-size: 4.4rem;
  }
  #cta .text03 {
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: 0.05em;
    text-align: center;
    color: #fff;
    margin-bottom: 40px;
  }
  #cta .btn_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 24px;
  }
  #cta .btn_wrap .btn.tel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #cta .btn_wrap .btn.tel .num {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 1.6;
    gap: 14px;
  }
  #cta .btn_wrap .btn.tel .num::after {
    display: none;
  }
  #cta .btn_wrap .btn.tel .num i {
    display: block;
    width: 19px;
    height: 19px;
  }
  #cta .btn_wrap .btn.tel .num i img {
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
  }
  #cta .btn_wrap .btn.tel .time {
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
  #cta .btn_wrap .btn.tel .time::after {
    display: none;
  }
  #cta .btn_wrap .btn.tel:hover .num i img {
    -webkit-filter: brightness(100);
            filter: brightness(100);
  }
  #cta .btn_wrap .btn:hover {
    border-color: #fff;
  }
}
@media screen and (min-width: 781px) and (max-width: 1320px) {
  #header #gnav .menu_list .menu_item a {
    font-size: 1.1rem;
  }

  #kv h2 {
    left: 9%;
  }
  #kv .sub_img_wrap {
    left: -10%;
  }

  #effort .effort_cont .cover_img {
    width: 100%;
  }
}
/* ___________________SP layout */
@media screen and (max-width: 780px) {
  body {
    width: 100%;
  }

  .pc {
    display: none !important;
  }

  .common_inner {
    width: 100%;
    padding: 0 5.12821vw;
  }

  .f_head_52 {
    font-family: "Shippori Mincho", serif;
    font-size: 7.69231vw;
    font-weight: 500;
    line-height: 1.5;
  }

  .f_head_40 {
    font-family: "Shippori Mincho", serif;
    font-size: 7.17949vw;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.1em;
  }

  .f_head_30 {
    font-family: "Shippori Mincho", serif;
    font-size: 6.15385vw;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.1em;
    color: #3a5785;
  }

  .f_head_24 {
    font-family: "Shippori Mincho", serif;
    font-size: 5.12821vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .f_head_22 {
    font-family: "Shippori Mincho", serif;
    font-size: 4.61538vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #3a5785;
  }

  .f_text_l {
    font-size: 4.10256vw;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 0.05em;
  }

  .f_text {
    font-size: 3.84615vw;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: 0.05em;
  }

  .f_note {
    font-size: 3.84615vw;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .f_caption {
    font-family: "Shippori Mincho", serif;
    font-size: 3.07692vw;
    font-weight: 400;
    line-height: 1.6;
    color: #555555;
  }

  .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    background: #3a5785;
    color: #fff;
    font-size: 4.10256vw;
    font-weight: 700;
    border: 1px solid #3a5785;
    border-radius: 1.53846vw;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    position: relative;
    z-index: 0;
    text-align: center;
    line-height: 1;
    cursor: pointer;
  }
  .btn span {
    color: #fff;
    font-size: 4.10256vw;
    font-weight: 700;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .btn span::after {
    content: "";
    display: inline-block;
    width: 2.5641vw;
    height: 2.5641vw;
    background-image: url(../images/common/arrow_white.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 2.5641vw;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
    vertical-align: middle;
  }

  .btn_s {
    min-height: 17.4359vw;
  }

  .btn_m {
    max-width: 74.35897vw;
    min-height: 14.87179vw;
  }

  .btn_l {
    min-height: 20vw;
    background: #fff;
    color: #3a5785;
    font-size: 4.61538vw;
  }
  .btn_l span {
    font-size: 4.61538vw;
    color: #3a5785;
  }
  .btn_l span::after {
    background-image: url(../images/common/arrow_blue.svg);
  }

  .mini_link {
    display: block;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  .mini_link span {
    font-size: 3.84615vw;
    color: #3a5785;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: right;
  }
  .mini_link span::after {
    content: "";
    display: block;
    width: 5.12821vw;
    height: 5.12821vw;
    background-image: url(../images/wooden/arrow_circ.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 2.5641vw;
  }
  .mini_link:hover {
    opacity: 0.6;
  }

  .btn_center {
    margin: 0 auto;
  }

  #header {
    width: 100%;
    height: 17.94872vw;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
    visibility: inherit;
  }
  #header .header_inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 100%;
    padding-left: 3.58974vw;
    background-color: #fff;
  }
  #header h1 {
    position: relative;
    z-index: 102;
  }
  #header .logo {
    display: block;
    width: 68.71795vw;
  }
  #header input#button_menu {
    display: none;
  }
  #header .header_btn {
    width: 7.69231vw;
    height: 5.12821vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    right: 6.41026vw;
    top: 6.41026vw;
    z-index: 102;
  }
  #header .header_btn .line {
    display: block;
    background: #3a5785;
    width: 100%;
    height: 0.51282vw;
    border-radius: 999px;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  #header .gnav_wrap {
    width: 100vw;
    height: calc(100dvh - 17.94872vw);
    background: #fff;
    position: absolute;
    z-index: 101;
    top: 0;
    right: -100vw;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
    margin: 17.94872vw 0 0;
    padding: 5.12821vw 0;
  }
  #header .gnav_wrap .gnav_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    max-height: 100%;
    overflow: scroll;
    padding: 0 7.69231vw 7.69231vw;
  }
  #header .gnav_wrap .gnav_inner::-webkit-scrollbar {
    display: none;
  }
  #header .gnav_wrap .nav_top {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5641vw;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-top: 6.15385vw;
  }
  #header .gnav_wrap .nav_top .tel_box {
    width: 100%;
    height: 17.4359vw;
    border-radius: 1.53846vw;
    background-color: #4c6ea4;
    position: relative;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #header .gnav_wrap .nav_top .tel_box a {
    position: absolute;
    width: 100%;
    height: 100%;
    padding-top: 2.5641vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.5641vw;
    font-size: 5.64103vw;
    font-family: "Lato", sans-serif;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
    color: #fff;
    text-align: center;
  }
  #header .gnav_wrap .nav_top .tel_box a i {
    display: block;
    width: 4.87179vw;
    height: 4.87179vw;
    -webkit-filter: brightness(100);
            filter: brightness(100);
  }
  #header .gnav_wrap .nav_top .tel_box p {
    width: 100%;
    position: absolute;
    font-size: 3.58974vw;
    line-height: 1.6;
    color: #fff;
    letter-spacing: 0.05em;
    text-align: right;
    text-align: center;
    bottom: 2.5641vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #header .gnav_wrap .nav_top .btn {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  #header .gnav_wrap .nav_btm {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  #header #gnav {
    width: 100%;
  }
  #header #gnav .menu_list {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #header #gnav .menu_list .menu_item {
    border: 1px solid #f2f1f0;
    border-left: none;
    border-right: none;
  }
  #header #gnav .menu_list .menu_item a {
    display: block;
    padding: 3.58974vw 0;
    font-size: 3.84615vw;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.6;
    cursor: pointer;
  }
  #header #gnav .menu_list .menu_item a:hover {
    color: #96a5bf;
  }
  #header:has(input#button_menu:checked) .header_btn .line:nth-child(1) {
    -webkit-transform: rotate(180deg) translateY(-2.5641vw) rotate(45deg);
            transform: rotate(180deg) translateY(-2.5641vw) rotate(45deg);
  }
  #header:has(input#button_menu:checked) .header_btn .line:nth-child(2) {
    opacity: 0;
  }
  #header:has(input#button_menu:checked) .header_btn .line:nth-child(3) {
    -webkit-transform: rotate(180deg) translateY(2.05128vw) rotate(-45deg);
            transform: rotate(180deg) translateY(2.05128vw) rotate(-45deg);
  }
  #header:has(input#button_menu:checked) .gnav_wrap {
    -webkit-transform: translateX(-100vw);
            transform: translateX(-100vw);
  }

  #footer {
    background-color: #314159;
    padding: 12.82051vw 5.12821vw 5.12821vw;
  }
  #footer .footer_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 7.69231vw;
  }
  #footer .left_box .footer_logo {
    display: block;
    width: 22.82051vw;
  }
  #footer .left_box .company {
    font-size: 4.10256vw;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
    margin-top: 5.12821vw;
    color: #fff;
  }
  #footer .left_box .address {
    font-size: 3.58974vw;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.05em;
    color: #fff;
    margin-top: 2.05128vw;
  }
  #footer .right_box .footer_links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5641vw;
  }
  #footer .right_box .footer_links .item a {
    font-size: 3.84615vw;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #fff;
  }
  #footer .btm_box .privacy {
    font-size: 3.07692vw;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #fff;
  }
  #footer .btm_box .copyright {
    font-size: 2.5641vw;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.05em;
    color: #fff;
    margin-top: 2.5641vw;
  }

  #kv {
    background-image: url(../images/wooden/kv_bg.jpg);
    background-size: 100% auto;
  }
  #kv .kv_inner {
    position: relative;
    width: 100%;
    padding-top: 28.20513vw;
    padding-bottom: 2.5641vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #kv h2 {
    line-height: 1.6;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding-left: 5.12821vw;
    margin-bottom: 5.12821vw;
  }
  #kv .sub_img_wrap {
    width: 100%;
    height: 39.48718vw;
    overflow: hidden;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    position: relative;
    margin-top: 3.84615vw;
  }
  #kv .sub_img_wrap .img02 {
    position: absolute;
    width: 24.87179vw;
    opacity: 0.5;
    top: 0;
    left: -6.66667vw;
  }
  #kv .sub_img_wrap .img03 {
    position: absolute;
    width: 34.87179vw;
    opacity: 0.8;
    top: 11.79487vw;
    left: 11.79487vw;
  }
  #kv .sub_img_wrap .img04 {
    position: absolute;
    width: 34.87179vw;
    opacity: 0.8;
    top: 4.61538vw;
    left: 51.28205vw;
  }
  #kv .sub_img_wrap .img05 {
    position: absolute;
    width: 24.61538vw;
    opacity: 0.2;
    bottom: 0;
    left: 80.76923vw;
  }
  #kv .main_img {
    width: 94.87179vw;
    margin-left: auto;
    margin-bottom: 7.69231vw;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #kv .kv_text {
    width: 100%;
    padding-left: 12.82051vw;
    padding-right: 5.12821vw;
    margin-left: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.12821vw;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  #kv .kv_text .f_head_24 {
    line-height: 1.8;
  }

  #merit {
    background-image: url(../images/wooden/kv_bg.jpg);
    background-size: 100% auto;
    padding-bottom: 2.5641vw;
    position: relative;
    z-index: 1;
  }
  #merit .merit_box {
    background-color: #fff;
    border: 1px solid #eaeaea;
    -webkit-box-shadow: 0px 0px 2.5641vw 0px rgba(0, 0, 0, 0.05);
            box-shadow: 0px 0px 2.5641vw 0px rgba(0, 0, 0, 0.05);
    width: 94.87179vw;
    margin: 0 auto;
    padding: 7.69231vw 0;
  }
  #merit h2 {
    text-align: center;
  }
  #merit .lead {
    margin-top: 5.12821vw;
    line-height: 1.6;
  }
  #merit .merit_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 7.69231vw;
    border: 1px dashed #90a7cd;
    border-left: none;
    border-right: none;
    padding: 7.69231vw 2.5641vw;
    gap: 5.12821vw;
  }
  #merit .merit_list .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  #merit .merit_list .item h3 {
    margin-bottom: 1.53846vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.5641vw;
  }
  #merit .merit_list .item h3 i {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 8.97436vw;
    height: 7.69231vw;
  }
  #merit .merit_list .item h3 i img {
    height: 100%;
    width: auto;
  }
  #merit .column_cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 5.12821vw;
    background-color: #f2f1f0;
    margin-top: 7.69231vw;
  }
  #merit .column_cont .left_side {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #merit .column_cont .left_side h3 {
    margin-bottom: 2.5641vw;
    color: #3a5785;
  }
  #merit .column_cont .left_side p {
    font-size: 15px !important;
    background-image: url(../images/wooden/noteline_sp.png);
    background-position: 0 8.20513vw;
    background-repeat: no-repeat;
    line-height: 2.2;
    padding-bottom: 3px;
  }
  #merit .column_cont .left_side .mini_link {
    margin-left: auto;
    margin-top: 5.12821vw;
  }
  #merit .column_cont .right_side {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    margin-bottom: 5.12821vw;
  }

  #effort {
    background-color: #3a5785;
    padding: 12.82051vw 0;
  }
  #effort h2 {
    text-align: center;
    color: #fff;
  }
  #effort .lead {
    text-align: center;
    color: #fff;
    line-height: 1.8;
    margin-top: 5.12821vw;
  }
  #effort .effort_links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.5641vw;
    margin-top: 7.69231vw;
  }
  #effort .effort_links .item {
    width: 100%;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  #effort .effort_links .item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fff;
    border: 1px solid #3a5785;
    min-height: 14.35897vw;
    padding: 3.33333vw 5.12821vw;
    border-radius: 1.53846vw;
  }
  #effort .effort_links .item a i {
    font-family: "Shippori Mincho", serif;
    font-size: 4.61538vw;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.6;
    color: #96a5bf;
    font-style: normal;
    margin-right: 2.5641vw;
  }
  #effort .effort_links .item a span {
    font-size: 3.84615vw;
    line-height: 1.6;
    font-weight: 700;
    color: #3a5785;
    letter-spacing: 0.06em;
  }
  #effort .effort_links .item a::after {
    content: "";
    display: block;
    width: 2.5641vw;
    height: 3.07692vw;
    background-image: url(../images/wooden/arrow_btm.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: auto;
  }
  #effort .effort_cont {
    width: 100%;
    margin: 0 auto;
    padding-top: 17.94872vw;
  }
  #effort .effort_cont .cover_img {
    width: 100%;
    position: relative;
  }
  #effort .effort_cont .cover_img .num {
    height: 13.58974vw;
    width: auto;
    position: absolute;
    top: -7.69231vw;
    left: 3.84615vw;
  }
  #effort .effort_cont .head_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5641vw;
    margin-top: 5.12821vw;
  }
  #effort .effort_cont .head_wrap h3 {
    display: block;
    color: #fff;
    letter-spacing: 0.04em;
  }
  #effort .effort_cont .head_wrap p {
    color: #fff;
  }
  #effort .effort_cont .effort_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.12821vw;
    margin-top: 7.69231vw;
  }
  #effort .effort_cont .effort_list .item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    background-color: #fff;
    padding: 5.12821vw;
    position: relative;
  }
  #effort .effort_cont .effort_list .item::before {
    content: "";
    display: block;
    width: 5.12821vw;
    height: 5.12821vw;
    background-color: #3a5785;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
            clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
    position: absolute;
    top: 0;
    left: 0;
  }
  #effort .effort_cont .effort_list .item h4 {
    text-align: center;
    line-height: 1.3;
    padding: 2.5641vw 0 5.12821vw;
  }
  #effort .effort_cont .effort_list .item p {
    margin-top: 5.12821vw;
    line-height: 1.6;
  }
  #effort .effort_cont .effort_list .item p strong {
    font-weight: 700;
  }

  #achieve {
    background-color: #fff;
    padding: 12.82051vw 0;
  }
  #achieve h2 {
    text-align: center;
  }
  #achieve .lead {
    text-align: center;
    margin-top: 5.12821vw;
  }
  #achieve .achieve_cont {
    margin-top: 7.69231vw;
    padding: 10.25641vw 0 7.69231vw;
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #achieve .achieve_cont.left_bg::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #f2f1f0;
    z-index: -1;
    top: 0;
    left: 0;
  }
  #achieve .achieve_cont.right_bg::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #f2f1f0;
    z-index: -1;
    top: 0;
    right: 0;
  }
  #achieve .achieve_cont .badge {
    display: block;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    font-size: 3.84615vw;
    line-height: 1.6;
    letter-spacing: 0.05em;
    background-color: #3a5785;
    color: #fff;
    padding: 0 2.5641vw;
    margin-bottom: 2.5641vw;
  }
  #achieve .achieve_cont h3 {
    margin-bottom: 2.5641vw;
  }
  #achieve .achieve_cont .head_btm {
    margin-bottom: 7.69231vw;
  }
  #achieve .achieve_cont .slide_wrap {
    width: calc(100% - 5.12821vw);
    margin-left: 5.12821vw;
    padding-bottom: 7.69231vw;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-scroll-snap-type: x proximity;
        -ms-scroll-snap-type: x proximity;
            scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #3a5785 #96a5bf;
  }
  #achieve .achieve_cont .slide_wrap::-webkit-scrollbar {
    height: 1.53846vw;
  }
  #achieve .achieve_cont .slide_wrap::-webkit-scrollbar-track {
    background-color: #96a5bf;
    border-radius: 0.76923vw;
  }
  #achieve .achieve_cont .slide_wrap::-webkit-scrollbar-thumb {
    background-color: #3a5785;
    border-radius: 0.76923vw;
  }
  #achieve .achieve_cont .achieve_scroll {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_item {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    height: auto;
    margin: 0 2.5641vw;
    scroll-snap-align: start;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_card {
    width: 84.10256vw;
    height: 100%;
    background-color: #fff;
    padding: 5.12821vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_card img {
    margin-bottom: 5.12821vw;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_card h4 {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    color: #333333;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin-bottom: 2.5641vw;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_card .f_text {
    margin-bottom: 5.12821vw;
  }
  #achieve .achieve_cont .achieve_scroll .achieve_card .mini_link {
    margin-left: auto;
    margin-top: auto;
  }
  #achieve > .btn {
    margin-top: 7.69231vw;
  }

  #support {
    background-color: #f3f5f9;
    padding: 7.69231vw 0;
    overflow: hidden;
  }
  #support .support_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #support .support_inner h2 {
    margin-bottom: 5.12821vw;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    text-align: center;
    letter-spacing: 0.04em;
  }
  #support .support_inner .lead {
    line-height: 2;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  #support .support_inner .support_cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-top: 1px solid #3a5785;
    border-bottom: 1px solid #3a5785;
    padding: 5.12821vw;
    margin-top: 5.12821vw;
    gap: 3.84615vw;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  #support .support_inner .support_cont h3 {
    display: block;
    color: #3a5785;
  }
  #support .support_inner .support_cont .support_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5641vw;
  }
  #support .support_inner .support_cont .support_list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 4.10256vw;
    line-height: 1.3;
    letter-spacing: 0.05em;
    color: #3a5785;
    gap: 2.5641vw;
  }
  #support .support_inner .support_cont .support_list li::before {
    content: "";
    display: block;
    width: 4.61538vw;
    height: 4.61538vw;
    background-image: url(../images/wooden/icon_check.svg);
    background-repeat: no-repeat;
    background-size: contain;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  #support picture:has(.main_img) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #support .main_img {
    margin-bottom: 5.12821vw;
  }

  #cta {
    background-image: url(../images/wooden/cta_bg_sp.jpg);
    background-size: cover;
    padding: 7.69231vw 0;
  }
  #cta .text01 {
    font-size: 4.10256vw;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-align: center;
    font-family: "Shippori Mincho", serif;
    font-weight: 500;
    color: #fff;
    margin-bottom: 2.5641vw;
  }
  #cta .text02 {
    font-size: 5.12821vw;
    line-height: 1.3;
    letter-spacing: 0.05em;
    text-align: center;
    font-family: "Shippori Mincho", serif;
    font-weight: 500;
    color: #fff;
    margin-bottom: 5.12821vw;
  }
  #cta .text02 span {
    font-weight: 500;
    font-size: 7.17949vw;
  }
  #cta .text03 {
    font-size: 4.10256vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #fff;
    margin-bottom: 7.69231vw;
  }
  #cta .btn_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.58974vw;
  }
  #cta .btn_wrap .btn.tel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #cta .btn_wrap .btn.tel .num {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 1.6;
    font-size: 5.64103vw;
    gap: 3.58974vw;
  }
  #cta .btn_wrap .btn.tel .num::after {
    display: none;
  }
  #cta .btn_wrap .btn.tel .num i {
    display: block;
    width: 4.87179vw;
    height: 4.87179vw;
  }
  #cta .btn_wrap .btn.tel .time {
    font-size: 3.84615vw;
    line-height: 1.6;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
  #cta .btn_wrap .btn.tel .time::after {
    display: none;
  }
}
