@charset "UTF-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** SPスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
******************************************************************************
** common
*****************************************************************************
----------------------------------------------------------------------------*/
html {
  font-size: calc(1 / 375 * 100vw);
}

body {
  width: 100%;
  overflow: hidden;
}

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

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

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

picture img {
  display: inline-block;
}

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

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

.container_100 {
  width: 100%;
  padding: 0 15rem;
}

.container_100 .container {
  width: 100%;
}

.anker {
  margin-top: -50rem;
  padding-top: 50rem;
  display: block;
}

/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
.hd {
  height: 50rem;
  padding: 10.5rem 150rem 10.5rem 9.5rem;
  background-color: #fff;
  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: 142.5rem;
}

.hd .container .menu {
  width: 150rem;
  position: absolute;
  top: 0;
  right: 0;
}

.hd .container .menu nav {
  width: 100%;
}

.hd .container .menu nav .nav_list {
  width: 260rem;
  height: calc(100vh - 50rem);
  padding: 20rem 20rem 70rem;
  background-color: #fff;
  position: fixed;
  top: 50rem;
  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;
}

.hd .container .menu nav .nav_contact {
  width: 100rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.hd .container .menu nav .nav_contact a {
  width: 50%;
  height: 50rem;
  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: 25.5rem;
  height: 25rem;
  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: 13rem;
  left: 12rem;
}

.hd .container .menu nav .nav_contact a.mail {
  background-color: #cc0000;
}

.hd .container .menu nav .nav_contact a.mail::before {
  content: "";
  width: 21rem;
  height: 16rem;
  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: 17rem;
  left: 14.5rem;
}

.hd .container .menu_trigger {
  width: 50rem;
  height: 50rem;
  background-color: #1e2e52;
  position: absolute;
  top: 0;
  right: 0;
}

.hd .container .menu_trigger span {
  width: 25rem;
  height: 1rem;
  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% - 7.5rem);
}

.hd .container .menu_trigger span:nth-of-type(2) {
  top: 50%;
}

.hd .container .menu_trigger span:nth-of-type(3) {
  top: calc(50% + 7.5rem);
}

.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_sp.jpg) no-repeat center/cover;
}

.mv {
  height: 555rem;
  padding: 30rem 16rem;
  background: -webkit-image-set(url(../images/mv_sp.webp) 1x, url(../images/mv_sp@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/mv_sp.webp) 1x, url(../images/mv_sp@2x.webp) 2x) no-repeat center/cover;
  margin-top: 50rem;
}

.mv .container {
  height: 100%;
  position: relative;
}

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

.mv .container .mv_list01 {
  width: 100%;
  padding-left: 5rem;
  margin-top: 18rem;
}

.mv .container .mv_list01 li {
  height: 18rem;
  margin-top: 14.5rem;
}

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

.mv .container .mv_list01 li picture {
  height: 100%;
}

.mv .container .mv_list01 li picture img {
  width: auto;
  height: 100%;
}

.mv .container .mv_list02 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 10rem;
}

.mv .container .mv_list02 li {
  width: 106rem;
  margin-right: 7.5rem;
}

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

.mv .container .mv_btn01 {
  width: 100%;
  margin-top: 13rem;
}

.mv .container .mv_btn01 a {
  width: 321rem;
  height: 55rem;
  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: 2.5rem;
  margin: 15.5rem auto 0;
}

.mv .container .mv_btn01 a:first-of-type {
  margin-top: 0;
}

.mv .container .mv_btn01 a span {
  font-size: 19rem;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.035em;
  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: 41.5rem;
  position: relative;
}

.mv .container .mv_btn01 a.line span::before {
  content: "";
  width: 32.5rem;
  height: 31.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: 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: 39rem;
  padding-bottom: 2.5rem;
  position: relative;
}

.mv .container .mv_btn01 a.mail span::before {
  content: "";
  width: 27rem;
  height: 20.5rem;
  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: 7rem;
  left: 2rem;
}

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

.common_cv_btn01 {
  width: 100%;
  height: 329rem;
  padding: 24rem 25rem 0 25rem;
  background: -webkit-image-set(url(../images/cv01_bg01_sp.webp) 1x, url(../images/cv01_bg01_sp@2x.webp) 2x) no-repeat center/contain;
  background: image-set(url(../images/cv01_bg01_sp.webp) 1x, url(../images/cv01_bg01_sp@2x.webp) 2x) no-repeat center/contain;
  position: relative;
}

.common_cv_btn01::before {
  content: "";
  width: calc(100% - 10rem);
  height: calc(100% - 10rem);
  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%;
  padding: 20.5rem 19rem 21rem 19rem;
  background-color: rgba(255, 255, 255, 0.85);
  position: relative;
  z-index: 2;
}

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

.common_cv_btn01 .btn01_box01 .box01_inner01 .inner01_txt01 {
  width: 256rem;
  margin-top: 10rem;
  margin-left: 1rem;
}

.common_cv_btn01 .btn01_box01 .box01_btn01 {
  width: 100%;
  margin-top: 17rem;
}

.common_cv_btn01 .btn01_box01 .box01_btn01 a {
  width: 100%;
  height: 100%;
  border: solid 1rem #59d459;
  border-radius: 5rem;
  padding: 16rem 16rem 20rem;
  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;
}

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

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

.common_ttl01 {
  width: 100%;
  font-size: 24rem;
  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: 18rem;
  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: 40rem;
  padding-bottom: 40rem;
  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: 320rem;
  right: -350rem;
  z-index: 1;
}

.index01::after {
  content: "";
  width: 100%;
  height: 320rem;
  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: 50rem;
}

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

.index01 .container .index01_list01 {
  width: 100%;
  padding-bottom: 30rem;
  margin-top: 30rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}

.index01 .container .index01_list01::before {
  content: "";
  width: 180rem;
  height: 33rem;
  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: 170rem;
  text-align: center;
  padding: 20rem 10rem;
  background-color: #ffffff;
  border: solid 2rem #dddddd;
  margin-top: 5rem;
}

.index01 .container .index01_list01 li:nth-of-type(-n + 2) {
  margin-top: 0;
}

.index01 .container .index01_list01 li .list01_img01 {
  width: 90rem;
  margin: 0 auto;
}

.index01 .container .index01_list01 li .list01_txt01 {
  width: 100%;
  min-height: 90rem;
  font-family: YakuHanMP, "Noto Serif JP";
  font-size: 16rem;
  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: 5rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.index02 .container .index02_list01 li .num::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 26rem 12rem 26rem;
  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: 10rem 0 0 6rem;
  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: 100%;
  margin-top: 20rem;
}

.index02 .container .index02_list01 li .list01_img01 {
  width: 240rem;
  margin: 20rem auto 0;
}

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

.index02 .container .index02_list02 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 30rem;
}

.index02 .container .index02_list02 li {
  width: 165rem;
  margin-top: 30rem;
}

.index02 .container .index02_list02 li:nth-of-type(-n + 2) {
  margin-top: 0;
}

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

.index02 .container .index02_list02 li .list02_ttl01 {
  width: 100%;
  min-height: 77rem;
  font-size: 18rem;
  color: #ebd38c;
  font-weight: 600;
  line-height: 1.41666667;
  letter-spacing: 0.05em;
  text-align: center;
  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;
  margin-top: 10rem;
}

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

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

.common_ttl02 span {
  font-size: 22rem;
  color: #ebd38c;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-decoration: underline;
  text-decoration-thickness: 1rem;
  text-underline-offset: 8rem;
  display: inline-block;
  position: relative;
}

.common_txt02 {
  width: 100%;
  font-family: YakuHanJP, 'Noto Sans JP';
  font-size: 16rem;
  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_sp.jpg) no-repeat center/cover;
}

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

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

.common_cv_section01 .container {
  height: 398.5rem;
  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: 298.5rem;
  padding: 5rem;
  background: -webkit-image-set(url(../images/cv_section01_bg02_sp.webp) 1x, url(../images/cv_section01_bg02_sp@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/cv_section01_bg02_sp.webp) 1x, url(../images/cv_section01_bg02_sp@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: 23rem 22rem 0;
  background-color: #fff;
}

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

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 {
  width: 100%;
  margin-top: 28rem;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a {
  width: 100%;
  height: 55rem;
  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: 2.5rem;
  margin-top: 15rem;
}

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

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a span {
  font-size: 19rem;
  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: 43rem;
  position: relative;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a.line span::before {
  content: "";
  width: 32.5rem;
  height: 31.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: 1rem;
  left: 3rem;
}

.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: 40rem;
  padding-bottom: 2rem;
  position: relative;
}

.common_cv_section01 .container .cv_block01 .block01_box01 .box01_btn01 a.mail span::before {
  content: "";
  width: 27rem;
  height: 20.5rem;
  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: 7rem;
  left: 3rem;
}

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

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

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

.index03 .container .index03_list01 li {
  width: 100%;
  padding: 30rem 15rem 20rem;
  border: solid 2rem #dddddd;
  background-color: #fff;
  position: relative;
  margin-top: 20rem;
}

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

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

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

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

.index03 .container .index03_list01 li .list01_txt01 {
  margin-top: 20rem;
}

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

.index04 {
  padding-top: 40rem;
  padding-bottom: 40rem;
}

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

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

.index04 .container .index04_list01 {
  width: 100%;
  margin-top: 30rem;
}

.index04 .container .index04_list01 dt {
  width: 100%;
  height: 60rem;
  border: solid 1rem #1c304b;
  border-bottom: none;
  padding-left: 60rem;
  position: relative;
  margin-top: 50rem;
}

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

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

.index04 .container .index04_list01 dt .list01_ttl01 {
  width: 100%;
  height: 100%;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.41666;
  letter-spacing: 0.05em;
  padding: 10rem;
  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: 100%;
  height: 1rem;
  background-color: #cccccc;
  position: absolute;
  bottom: 0;
  left: 0;
}

.index04 .container .index04_list01 dd {
  width: 100%;
  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 15rem 20rem;
  border: solid 1rem #1c304b;
  border-top: none;
  position: relative;
}

.index04 .container .index04_list01 dd::before {
  content: "";
  width: 80rem;
  height: 21rem;
  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: -15rem;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
}

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

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

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

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

.index05 .container .index05_block01 {
  width: 100%;
  margin-top: 30rem;
}

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

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

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

.common_cv_section02 .container {
  height: 424rem;
  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: 324rem;
  padding: 5rem;
  background: -webkit-image-set(url(../images/cv_section01_bg02_sp.webp) 1x, url(../images/cv_section01_bg02_sp@2x.webp) 2x) no-repeat center/cover;
  background: image-set(url(../images/cv_section01_bg02_sp.webp) 1x, url(../images/cv_section01_bg02_sp@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: 31rem 22rem 0;
  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: 284.5rem;
  margin: 8rem auto 0;
}

.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: 18rem;
}

.common_cv_section02 .container .cv_block01 .block01_box01 .box01_btn01 a {
  width: 100%;
  height: 95rem;
  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-bottom: 6rem;
  background-color: #00b900;
  border: solid 1rem #008500;
  border-radius: 2.5rem;
  position: relative;
}

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

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

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

.index06 .container .index06_block01 {
  width: 100%;
  height: 200rem;
  background-color: #bbb;
}

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

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

.thanks01 .container .thanks01_btn01 a {
  width: 220rem;
  height: 50rem;
  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: 16rem;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.05em;
  display: inline-block;
}

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

.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;
}
/*# sourceMappingURL=sp.css.map */