@charset "UTF-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** PCスタイル
*****
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
******************************************************************************
** common
*****************************************************************************
----------------------------------------------------------------------------*/
html {
  font-size: 1px;
}

@media screen and (max-width: 1200px) {
  html {
    font-size: 0.9px;
  }
}

body {
  width: 100%;
  overflow: hidden;
  min-width: 1240rem;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  color: #000;
}

picture {
  display: inline-block;
  line-height: 1;
}

picture img {
  display: inline-block;
}

/*----------------------------------------------------------------------------
******************************************************************************
** common class
******************************************************************************
----------------------------------------------------------------------------*/
.sp {
  display: none !important;
}

a[href*="tel:"] {
  pointer-events: none;
}

.clearfix::after {
  content: "";
  clear: both;
  display: block;
}

.container_100 {
  width: 100%;
}

.container_100 .container {
  width: 100%;
  max-width: 1200rem;
  margin: 0 auto;
}

/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
@media screen and (min-width: 1350px) {
  .hd {
    height: 70rem;
    padding: 17rem 0 0 60rem;
    background-color: #fff;
    position: relative;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
  }
  .hd .container {
    max-width: initial;
    max-width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .hd .container .hd_logo {
    width: 206rem;
  }
  .hd .container .menu {
    width: 1030rem;
    padding-right: 500rem;
  }
  .hd .container .menu nav {
    width: 100%;
  }
  .hd .container .menu nav .nav_list {
    width: 100%;
    padding-top: 6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .hd .container .menu nav .nav_list li {
    margin-right: 40rem;
  }
  .hd .container .menu nav .nav_list li:last-of-type {
    margin-right: 0;
  }
  .hd .container .menu nav .nav_list li a {
    font-size: 16rem;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.05em;
    display: block;
    -webkit-transition: .2s;
    transition: .2s;
  }
  .hd .container .menu nav .nav_list li a:hover {
    opacity: .7;
    -webkit-transition: .2s;
    transition: .2s;
  }
  .hd .container .menu nav .nav_contact {
    width: 440rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
  }
  .hd .container .menu nav .nav_contact a {
    width: 50%;
    height: 70rem;
    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-transition: .2s;
    transition: .2s;
  }
  .hd .container .menu nav .nav_contact a:hover {
    opacity: .7;
    -webkit-transition: .2s;
    transition: .2s;
  }
  .hd .container .menu nav .nav_contact a span {
    font-size: 16rem;
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.05em;
    display: inline-block;
  }
  .hd .container .menu nav .nav_contact a.line {
    background-color: #00b900;
  }
  .hd .container .menu nav .nav_contact a.line span {
    padding-left: 37rem;
    position: relative;
  }
  .hd .container .menu nav .nav_contact a.line span::before {
    content: "";
    width: 30rem;
    height: 29rem;
    background: -webkit-image-set(url(../images/line_icon.png) 1x, url(../images/line_icon@2x.png) 2x) no-repeat center/contain;
    background: image-set(url(../images/line_icon.png) 1x, url(../images/line_icon@2x.png) 2x) no-repeat center/contain;
    position: absolute;
    top: 0;
    left: 1rem;
  }
  .hd .container .menu nav .nav_contact a.mail {
    background-color: #cc0000;
  }
  .hd .container .menu nav .nav_contact a.mail span {
    padding-left: 33rem;
    position: relative;
  }
  .hd .container .menu nav .nav_contact a.mail span::before {
    content: "";
    width: 25rem;
    height: 19rem;
    background: -webkit-image-set(url(../images/mail_icon.png) 1x, url(../images/mail_icon@2x.png) 2x) no-repeat center/contain;
    background: image-set(url(../images/mail_icon.png) 1x, url(../images/mail_icon@2x.png) 2x) no-repeat center/contain;
    position: absolute;
    top: 4rem;
    left: 2rem;
  }
  .hd .container .menu_trigger {
    display: none;
  }
}

@media screen and (max-width: 1349.9px) {
  .hd {
    height: 70rem;
    padding: 10rem 20rem;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
  }
  .hd .container {
    height: 100%;
    max-width: initial;
    max-width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .hd .container .hd_logo {
    width: 250rem;
  }
  .hd .container .menu {
    width: 210rem;
    position: absolute;
    top: 0;
    right: 0;
  }
  .hd .container .menu nav {
    width: 100%;
  }
  .hd .container .menu nav .nav_list {
    width: 300rem;
    height: calc(100vh - 70rem);
    padding: 20rem 20rem 70rem;
    background-color: #fff;
    position: fixed;
    top: 70rem;
    right: -100%;
    z-index: 1000;
    -webkit-transition: .4s;
    transition: .4s;
  }
  .hd .container .menu nav .nav_list.open {
    right: 0;
    -webkit-transition: .4s;
    transition: .4s;
  }
  .hd .container .menu nav .nav_list li {
    width: 100%;
    border-bottom: solid 1rem #1e2e52;
    margin-top: 15rem;
  }
  .hd .container .menu nav .nav_list li:first-of-type {
    margin-top: 0;
  }
  .hd .container .menu nav .nav_list li a {
    font-size: 16rem;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.05em;
    display: block;
    -webkit-transition: .2s;
    transition: .2s;
  }
  .hd .container .menu nav .nav_list li a:hover {
    opacity: .7;
    -webkit-transition: .2s;
    transition: .2s;
  }
  .hd .container .menu nav .nav_contact {
    width: 140rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .hd .container .menu nav .nav_contact a {
    width: 50%;
    height: 70rem;
    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;
    position: relative;
  }
  .hd .container .menu nav .nav_contact a span {
    display: none;
  }
  .hd .container .menu nav .nav_contact a.line {
    background-color: #00b900;
  }
  .hd .container .menu nav .nav_contact a.line::before {
    content: "";
    width: 37.75rem;
    height: 37.5rem;
    background: -webkit-image-set(url(../images/line_icon.png) 1x, url(../images/line_icon@2x.png) 2x) no-repeat center/contain;
    background: image-set(url(../images/line_icon.png) 1x, url(../images/line_icon@2x.png) 2x) no-repeat center/contain;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .hd .container .menu nav .nav_contact a.mail {
    background-color: #cc0000;
  }
  .hd .container .menu nav .nav_contact a.mail::before {
    content: "";
    width: 31.5rem;
    height: 24rem;
    background: -webkit-image-set(url(../images/mail_icon.png) 1x, url(../images/mail_icon@2x.png) 2x) no-repeat center/contain;
    background: image-set(url(../images/mail_icon.png) 1x, url(../images/mail_icon@2x.png) 2x) no-repeat center/contain;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .hd .container .menu_trigger {
    width: 70rem;
    height: 70rem;
    background-color: #1e2e52;
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
  }
  .hd .container .menu_trigger span {
    width: 37rem;
    height: 2rem;
    background-color: #ffffff;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
  }
  .hd .container .menu_trigger span:nth-of-type(1) {
    top: calc(50% - 10rem);
  }
  .hd .container .menu_trigger span:nth-of-type(2) {
    top: 50%;
  }
  .hd .container .menu_trigger span:nth-of-type(3) {
    top: calc(50% + 10rem);
  }
  .hd .container .menu_trigger.active span {
    top: 50%;
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
  }
  .hd .container .menu_trigger.active span:nth-of-type(1) {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
  }
  .hd .container .menu_trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .hd .container .menu_trigger.active span:nth-of-type(3) {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
  }
}

/*----------------------------------------------------------------------------
******************************************************************************
** main
******************************************************************************
----------------------------------------------------------------------------*/
.no-webp .mv {
  background: url(../images/mv.jpg) no-repeat center/cover;
}

.mv {
  height: 700rem;
  background: -webkit-image-set(url(../images/mv.webp) 1x, url(../images/mv@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/mv.webp) 1x, url(../images/mv@2x.webp) 2x) no-repeat center/cover;
  margin-top: 70rem;
}

.mv .container {
  max-width: 1290rem;
  padding-top: 106rem;
  position: relative;
  padding-left: 45rem;
}

.mv .container .mv_ttl01 {
  width: 637rem;
}

.mv .container .mv_list01 {
  width: 100%;
  margin-top: 45rem;
}

.mv .container .mv_list01 li {
  margin-top: 25rem;
}

.mv .container .mv_list01 li:first-of-type {
  margin-top: 0;
}

.mv .container .mv_list02 {
  position: absolute;
  top: 399rem;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mv .container .mv_list02 li {
  width: 212rem;
  margin-right: -14rem;
}

.mv .container .mv_list02 li:last-of-type {
  margin-right: 0;
}

.mv .container .mv_btn01 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 53rem;
}

.mv .container .mv_btn01 a {
  width: 280rem;
  height: 70rem;
  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;
  border-radius: 5rem;
  margin-right: 30rem;
  -webkit-transition: .2s;
  transition: .2s;
}

.mv .container .mv_btn01 a:hover {
  opacity: .7;
  -webkit-transition: .2s;
  transition: .2s;
}

.mv .container .mv_btn01 a:last-of-type {
  margin-right: 0;
}

.mv .container .mv_btn01 a span {
  font-size: 18rem;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.05em;
  display: inline-block;
}

.mv .container .mv_btn01 a.line {
  background-color: #00b900;
  border: solid 1rem #008500;
}

.mv .container .mv_btn01 a.line span {
  padding-left: 38rem;
  position: relative;
}

.mv .container .mv_btn01 a.line span::before {
  content: "";
  width: 30rem;
  height: 29rem;
  background: -webkit-image-set(url(../images/line_icon.png) 1x, url(../images/line_icon@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/line_icon.png) 1x, url(../images/line_icon@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  top: 1rem;
  left: 2rem;
}

.mv .container .mv_btn01 a.mail {
  background-color: #cc0000;
  border: solid 1rem #8b0101;
}

.mv .container .mv_btn01 a.mail span {
  padding-left: 35rem;
  position: relative;
}

.mv .container .mv_btn01 a.mail span::before {
  content: "";
  width: 25rem;
  height: 19rem;
  background: -webkit-image-set(url(../images/mail_icon.png) 1x, url(../images/mail_icon@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/mail_icon.png) 1x, url(../images/mail_icon@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  top: 6rem;
  left: 2rem;
}

.no-webp .common_cv_btn01 {
  background: url(../images/cv01_bg01.jpg) no-repeat center/contain;
}

.common_cv_btn01 {
  width: 100%;
  height: 270rem;
  padding: 30rem 37rem 30rem 440rem;
  background: -webkit-image-set(url(../images/cv01_bg01.webp) 1x, url(../images/cv01_bg01@2x.webp) 2x) no-repeat center/contain;
  background: image-set(url(../images/cv01_bg01.webp) 1x, url(../images/cv01_bg01@2x.webp) 2x) no-repeat center/contain;
  position: relative;
}

.common_cv_btn01::before {
  content: "";
  width: calc(100% - 20rem);
  height: calc(100% - 20rem);
  border: solid 1rem rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.common_cv_btn01 .btn01_box01 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 19rem 20rem 21rem 27rem;
  background-color: rgba(255, 255, 255, 0.85);
  position: relative;
  z-index: 2;
}

.common_cv_btn01 .btn01_box01 .box01_inner01 {
  padding-top: 1rem;
}

.common_cv_btn01 .btn01_box01 .box01_inner01 .inner01_ttl01 {
  width: 346rem;
}

.common_cv_btn01 .btn01_box01 .box01_inner01 .inner01_txt01 {
  width: 342rem;
  margin-top: 13rem;
  margin-left: 2rem;
}

.common_cv_btn01 .btn01_box01 .box01_btn01 a {
  width: 300rem;
  height: 100%;
  border: solid 2rem #59d459;
  border-radius: 5rem;
  padding: 10rem 10rem 16rem 16rem;
  background-color: #00b900;
  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;
  position: relative;
  -webkit-transition: .2s;
  transition: .2s;
}

.common_cv_btn01 .btn01_box01 .box01_btn01 a:hover {
  opacity: .7;
  -webkit-transition: .2s;
  transition: .2s;
}

.common_cv_btn01 .btn01_box01 .box01_btn01 a::before {
  content: "";
  width: 19rem;
  height: 19rem;
  background: linear-gradient(135deg, transparent 50%, rgba(255, 255, 255, 0.5) 50%);
  position: absolute;
  bottom: 8rem;
  right: 8rem;
}

.common_cv_btn01 .btn01_box01 .box01_btn01 a picture {
  width: 240rem;
}

.common_ttl01 {
  width: 100%;
  font-size: 50rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.062em;
  text-align: center;
}

.common_ttl01.color {
  color: #fff;
}

.common_txt01 {
  width: 100%;
  font-size: 20rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}

.common_txt01.color {
  color: #fff;
}

.no-webp .index01::before {
  background: url(../images/index01_bg01.png) no-repeat center/contain;
}

.index01 {
  padding-top: 50rem;
  padding-bottom: 63rem;
  background-color: #f3f3f3;
  position: relative;
}

.index01::before {
  content: "";
  width: 1920rem;
  height: 722rem;
  background: -webkit-image-set(url(../images/index01_bg01.webp) 1x, url(../images/index01_bg01@2x.webp) 2x) no-repeat center/contain;
  background: image-set(url(../images/index01_bg01.webp) 1x, url(../images/index01_bg01@2x.webp) 2x) no-repeat center/contain;
  position: absolute;
  top: 260rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}

.index01::after {
  content: "";
  width: 100%;
  height: 260rem;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.index01 .container {
  position: relative;
  z-index: 3;
}

.index01 .container .index01_ttl01 {
  margin-top: 86rem;
}

.index01 .container .index01_txt01 {
  margin-top: 21rem;
}

.index01 .container .index01_list01 {
  width: 100%;
  padding-bottom: 82rem;
  margin-top: 56rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

.index01 .container .index01_list01::before {
  content: "";
  width: 361rem;
  height: 67rem;
  background: -webkit-image-set(url(../images/arrow01.png) 1x, url(../images/arrow01@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/arrow01.png) 1x, url(../images/arrow01@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
}

.index01 .container .index01_list01 li {
  width: 276rem;
  text-align: center;
  padding: 35rem 10rem 38rem;
  background-color: #ffffff;
  border: solid 2rem #dddddd;
  margin-right: 32rem;
}

.index01 .container .index01_list01 li:last-of-type {
  margin-right: 0;
}

.index01 .container .index01_list01 li .list01_txt01 {
  width: 100%;
  min-height: 90rem;
  font-family: YakuHanMP, "Noto Serif JP";
  font-size: 20rem;
  color: #1e2e52;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
  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;
  text-align: center;
  margin-top: 8rem;
}

.index01 .container .index01_txt02 {
  width: 100%;
  font-size: 36rem;
  font-weight: 600;
  line-height: 1.375;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 115rem;
}

.index01 .container .index01_txt02 .size01 {
  font-size: 1em;
  letter-spacing: 0.05em;
}

.index01 .container .index01_txt02 .size02 {
  font-size: 1.63055555em;
  letter-spacing: 0.05em;
  margin-right: -8rem;
}

.index01 .container .index01_txt02 .size03 {
  font-size: 1.95666666em;
  letter-spacing: 0.05em;
  margin-right: -10rem;
}

.index01 .container .index01_txt02 .color01 {
  color: #ab9238;
}

.index02 {
  padding-top: 106rem;
  padding-bottom: 139rem;
  background-color: #1c304b;
}

.index02 .container .index02_txt01 {
  margin-top: 30rem;
}

.index02 .container .index02_img01 {
  width: 100%;
  margin-top: 52rem;
}

.index02 .container .index02_ttl02 {
  margin-top: 81rem;
}

.index02 .container .index02_list01 {
  width: 100%;
  margin-top: 60rem;
}

.index02 .container .index02_list01 li {
  width: 100%;
  min-height: 380rem;
  padding: 32rem 50rem;
  background-color: #fff;
  position: relative;
  margin-top: 50rem;
}

.index02 .container .index02_list01 li:first-of-type {
  margin-top: 0;
}

.index02 .container .index02_list01 li .list01_ttl01 {
  width: 100%;
  font-size: 36rem;
  color: #ab9238;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 94rem;
}

.index02 .container .index02_list01 li .num {
  width: 71rem;
  height: 115rem;
  font-size: 40rem;
  color: #fff;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  padding: 42rem 10rem 10rem;
  background-color: #ab9238;
  position: absolute;
  top: -10rem;
  left: 50rem;
  z-index: 1;
}

.index02 .container .index02_list01 li .num::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 36rem 15rem 36rem;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  bottom: -1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.index02 .container .index02_list01 li .num::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 0 9px;
  border-color: transparent transparent transparent #68581f;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.index02 .container .index02_list01 li .list01_txt01 {
  width: 830rem;
  margin-top: 47rem;
}

.index02 .container .index02_list01 li .list01_img01 {
  width: 214rem;
  position: absolute;
  top: 40rem;
  right: 50rem;
}

.index02 .container .index02_ttl03 {
  margin-top: 90rem;
}

.index02 .container .index02_list02 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 60rem;
}

.index02 .container .index02_list02 li {
  width: 276rem;
  margin-right: 32rem;
}

.index02 .container .index02_list02 li:last-of-type {
  margin-right: 0;
}

.index02 .container .index02_list02 li .list02_img01 {
  width: 100%;
}

.index02 .container .index02_list02 li .list02_ttl01 {
  width: 100%;
  font-size: 24rem;
  color: #ebd38c;
  font-weight: 600;
  line-height: 1.41666667;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 13rem;
}

.index02 .container .index02_list02 li .list02_txt01 {
  width: 100%;
  line-height: 1.666666;
  margin-top: 21rem;
}

.common_ttl02 {
  width: 100%;
  text-align: center;
}

.common_ttl02 span {
  font-size: 40rem;
  color: #ebd38c;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-decoration: underline;
  text-decoration-thickness: 1rem;
  text-underline-offset: 16rem;
  padding-bottom: 7rem;
  display: inline-block;
  position: relative;
}

.common_txt02 {
  width: 100%;
  font-family: YakuHanJP, 'Noto Sans JP';
  font-size: 18rem;
  font-weight: 400;
  line-height: 1.88888888;
  letter-spacing: 0.055em;
}

.common_txt02.color {
  color: #fff;
}

.no-webp .common_cv_section01 {
  background: url(../images/cv_section01_bg01.jpg) no-repeat center/cover;
}

.no-webp .common_cv_section01 .container .cv_block01 {
  background: url(../images/cv_section01_bg02.png) no-repeat center/cover;
}

.common_cv_section01 {
  background: -webkit-image-set(url(../images/cv_section01_bg01.webp) 1x, url(../images/cv_section01_bg01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/cv_section01_bg01.webp) 1x, url(../images/cv_section01_bg01@2x.webp) 2x) no-repeat center/cover;
}

.common_cv_section01 .container {
  height: 462rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.common_cv_section01 .container .cv_block01 {
  width: 100%;
  height: 262rem;
  padding: 10rem;
  background: -webkit-image-set(url(../images/cv_section01_bg02.webp) 1x, url(../images/cv_section01_bg02@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/cv_section01_bg02.webp) 1x, url(../images/cv_section01_bg02@2x.webp) 2x) no-repeat center/cover;
  -webkit-box-shadow: 0 0 16rem rgba(0, 0, 0, 0.17);
          box-shadow: 0 0 16rem rgba(0, 0, 0, 0.17);
}

.common_cv_section01 .container .cv_block01 .block01_box01 {
  width: 100%;
  height: 100%;
  padding: 29rem 0 0;
  background-color: #fff;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_ttl01 {
  width: 100%;
  font-size: 46rem;
  color: #1c304b;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 28rem;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a {
  width: 400rem;
  height: 80rem;
  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;
  border-radius: 5rem;
  margin-right: 30rem;
  -webkit-transition: .2s;
  transition: .2s;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a:hover {
  opacity: .7;
  -webkit-transition: .2s;
  transition: .2s;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a:last-of-type {
  margin-right: 0;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a span {
  font-size: 26rem;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.04em;
  display: inline-block;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a.line {
  background-color: #00b900;
  border: solid 1rem #008500;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a.line span {
  padding-left: 53rem;
  position: relative;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a.line span::before {
  content: "";
  width: 42rem;
  height: 41rem;
  background: -webkit-image-set(url(../images/line_icon.png) 1x, url(../images/line_icon@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/line_icon.png) 1x, url(../images/line_icon@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  top: 2rem;
  left: 2rem;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a.mail {
  background-color: #cc0000;
  border: solid 1rem #8b0101;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a.mail span {
  padding-left: 48rem;
  position: relative;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a.mail span::before {
  content: "";
  width: 34rem;
  height: 25rem;
  background: -webkit-image-set(url(../images/mail_icon.png) 1x, url(../images/mail_icon@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/mail_icon.png) 1x, url(../images/mail_icon@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  top: 10rem;
  left: 4rem;
}

.index03 {
  padding-top: 105rem;
  padding-bottom: 120rem;
  background-color: #f3f3f3;
}

.index03 .container .index03_txt01 {
  margin-top: 21rem;
}

.index03 .container .index03_list01 {
  width: 100%;
  margin-top: 57rem;
}

.index03 .container .index03_list01 li {
  width: 100%;
  min-height: 292rem;
  padding: 60rem 36rem 20rem 296rem;
  border: solid 2rem #dddddd;
  background-color: #fff;
  position: relative;
  margin-top: 41rem;
}

.index03 .container .index03_list01 li:first-of-type {
  margin-top: 0;
}

.index03 .container .index03_list01 li .list01_img01 {
  width: 200rem;
  position: absolute;
  top: 48rem;
  left: 48rem;
}

.index03 .container .index03_list01 li .list01_ttl01 {
  width: 100%;
  font-size: 28rem;
  color: #1c304b;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 18rem;
  position: relative;
}

.index03 .container .index03_list01 li .list01_ttl01::before {
  content: "";
  width: 4rem;
  height: calc(100% + 8rem);
  background-color: #ab9238;
  position: absolute;
  top: 0;
  left: 0;
}

.index03 .container .index03_list01 li .list01_txt01 {
  margin-top: 27rem;
  margin-left: -2rem;
}

.index03 .container .index03_list01 li .list01_txt02 {
  text-align: right;
  margin-top: 13rem;
}

.index04 {
  padding-top: 80rem;
  padding-bottom: 120rem;
}

.index04 .container .index04_ttl01 {
  margin-top: 105rem;
}

.index04 .container .index04_txt01 {
  margin-top: 21rem;
}

.index04 .container .index04_list01 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 57rem;
}

.index04 .container .index04_list01 dt {
  width: 418rem;
  height: 120rem;
  border: solid 1rem #1c304b;
  padding-left: 120rem;
  border-right: none;
  position: relative;
  margin-top: 100rem;
}

.index04 .container .index04_list01 dt:first-of-type {
  margin-top: 0;
}

.index04 .container .index04_list01 dt .list01_icon {
  width: 120rem;
  position: absolute;
  top: 0;
  left: 0;
}

.index04 .container .index04_list01 dt .list01_ttl01 {
  width: 100%;
  height: 100%;
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.41666;
  letter-spacing: 0.05em;
  padding: 10rem 10rem 10rem 47rem;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

.index04 .container .index04_list01 dt .list01_ttl01::before {
  content: "";
  width: 1rem;
  height: 55rem;
  background-color: #cccccc;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.index04 .container .index04_list01 dd {
  width: calc(100% - 418rem);
  height: 120rem;
  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;
  padding: 10rem 40rem;
  border: solid 1rem #1c304b;
  border-left: none;
  margin-top: 100rem;
  position: relative;
}

.index04 .container .index04_list01 dd::before {
  content: "";
  width: 161rem;
  height: 42rem;
  background: -webkit-image-set(url(../images/arrow02.png) 1x, url(../images/arrow02@2x.png) 2x) no-repeat center/contain;
  background: image-set(url(../images/arrow02.png) 1x, url(../images/arrow02@2x.png) 2x) no-repeat center/contain;
  position: absolute;
  bottom: -33rem;
  left: 102rem;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.index04 .container .index04_list01 dd:first-of-type {
  margin-top: 0;
}

.index04 .container .index04_list01 dd:last-of-type::before {
  display: none;
}

.index04 .container .index04_list01 dd .list01_txt01 {
  width: 100%;
}

.index05 {
  padding-top: 104rem;
  padding-bottom: 118rem;
  background-color: #f3f3f3;
}

.index05 .container .index05_txt01 {
  margin-top: 22rem;
}

.index05 .container .index05_block01 {
  width: 800rem;
  margin: 58rem auto 0;
}

.no-webp .common_cv_section02 {
  background: url(../images/cv_section02_bg01.jpg) no-repeat center/cover;
}

.no-webp .common_cv_section02 .container .cv_block01 {
  background: url(../images/cv_section02_bg02.png) no-repeat center/cover;
}

.common_cv_section02 {
  background: -webkit-image-set(url(../images/cv_section02_bg01.webp) 1x, url(../images/cv_section02_bg01@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/cv_section02_bg01.webp) 1x, url(../images/cv_section02_bg01@2x.webp) 2x) no-repeat center/cover;
}

.common_cv_section02 .container {
  height: 566rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.common_cv_section02 .container .cv_block01 {
  width: 100%;
  height: 366rem;
  padding: 10rem;
  background: -webkit-image-set(url(../images/cv_section02_bg02.webp) 1x, url(../images/cv_section02_bg02@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/cv_section02_bg02.webp) 1x, url(../images/cv_section02_bg02@2x.webp) 2x) no-repeat center/cover;
  -webkit-box-shadow: 0 0 16rem rgba(0, 0, 0, 0.17);
          box-shadow: 0 0 16rem rgba(0, 0, 0, 0.17);
}

.common_cv_section02 .container .cv_block01 .block01_box01 {
  width: 100%;
  height: 100%;
  padding: 30rem;
  background-color: #fff;
}

.common_cv_section02 .container .cv_block01 .block01_box01 .box01_ttl01 {
  width: 100%;
  text-align: center;
}

.common_cv_section02 .container .cv_block01 .block01_box01 .box01_txt01 {
  width: 100%;
  text-align: center;
  margin-top: 17rem;
}

.common_cv_section02 .container .cv_block01 .block01_box01 .box01_btn01 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 15rem;
}

.common_cv_section02 .container .cv_block01 .block01_box01 .box01_btn01 a {
  width: 800rem;
  height: 100rem;
  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;
  background-color: #00b900;
  border: solid 1rem #008500;
  border-radius: 5rem;
  position: relative;
  -webkit-transition: .2s;
  transition: .2s;
}

.common_cv_section02 .container .cv_block01 .block01_box01 .box01_btn01 a:hover {
  opacity: .7;
  -webkit-transition: .2s;
  transition: .2s;
}

.common_cv_section02 .container .cv_block01 .block01_box01 .box01_btn01 a::before {
  content: "";
  width: 18rem;
  height: 18rem;
  background: linear-gradient(135deg, transparent 50%, rgba(255, 255, 255, 0.5) 50%);
  position: absolute;
  bottom: 6rem;
  right: 6rem;
}

.common_cv_section02 .container .cv_block01 .block01_box01 .box01_btn01 a picture {
  width: 550rem;
}

.index06 {
  padding-top: 81rem;
  padding-bottom: 40rem;
}

.index06 .container .index06_block01 {
  width: 600rem;
  height: 200rem;
  background-color: #bbb;
  margin: 0 auto;
}

/*----------------------------------------------------------------------------
******************************************************************************
** thanks
******************************************************************************
----------------------------------------------------------------------------*/
.thanks01 {
  padding-top: 200rem;
  padding-bottom: 50rem;
}

.thanks01 .container .thanks01_btn01 {
  width: 100%;
  margin-top: 50rem;
}

.thanks01 .container .thanks01_btn01 a {
  width: 280rem;
  height: 70rem;
  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;
  border-radius: 5rem;
  background-color: #1c304b;
  -webkit-transition: .2s;
  transition: .2s;
  margin: 0 auto;
}

.thanks01 .container .thanks01_btn01 a:hover {
  opacity: .7;
  -webkit-transition: .2s;
  transition: .2s;
}

.thanks01 .container .thanks01_btn01 a span {
  font-size: 18rem;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.05em;
  display: inline-block;
}

/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.ft {
  padding-top: 30rem;
  padding-bottom: 30rem;
}

.ft .container .copyright {
  font-family: YakuHanJP, 'Noto Sans JP';
  font-size: 16rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0 0.5em;
  text-align: center;
}

/**webp非対応デバイス用class
.no-webp {
  
}
**/
/**background webp
background: image-set(url(../webp) 1x, url(../@2x.webp) 2x) no-repeat center / cover;
**/
/**IE用css
@media all and (-ms-high-contrast: none) {
  
}
**/
/*# sourceMappingURL=pc.css.map */