@charset "UTF-8";
/* ----------------------------------------

	- content
	- page title
	- contents
		- section_01 ~ 04

----------------------------------------- */
/* ----------------------------------------
	content
----------------------------------------- */
#content {
  color: #1a1a1a;
  font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', 'ヒラギノ角ゴ', Arial, sans-serif !important;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  font-weight: 500;
  overflow: hidden;
}

.kv-box figure {
  height: 430px;
}

.kv-box img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .kv-box figure {
    height: 61.33vw;
  }
}

/* ----------------------------------------
	page title
----------------------------------------- */
.page_ttl_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 100px auto 0;
  max-width: 1200px;
  padding: 0 20px;
}

.page_ttl_area .page_ttl {
  font-size: 3.2rem;
  letter-spacing: .04em;
  line-height: 2.25;
  text-align: center;
}

.page_ttl_area p:last-of-type {
  font-size: 1.8rem;
  letter-spacing: .05em;
  line-height: 2;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .page_ttl_area {
    gap: 6.1vw;
    margin-top: 13.6vw;
    padding: 0 5.33vw;
  }
  .page_ttl_area .page_ttl {
    font-size: 6.4vw;
    line-height: 1.8;
    text-align: left;
  }
  .page_ttl_area .page_ttl span {
    display: block;
  }
  .page_ttl_area p:last-of-type {
    font-size: 4vw;
  }
}

/* ----------------------------------------
	contents
----------------------------------------- */
#contents {
  margin: auto;
  max-width: 1200px;
  padding: 0 20px;
}

@media screen and (max-width: 768px) {
  #contents {
    padding: 0 5.33vw;
  }
}

/* ----------------------------------------
	section 共通
----------------------------------------- */
section p {
  font-size: 1.6rem;
  letter-spacing: .05em;
  line-height: 2;
}

.section_ttl {
  font-weight: 500;
}

.section_ttl span:first-of-type {
  font-size: 2.8rem;
  letter-spacing: .03em;
}

.section_ttl span:nth-of-type(2) {
  margin-left: 10px;
}

.section_ttl span:not(:first-of-type) {
  font-size: 2rem;
  letter-spacing: .05em;
}

.section_desc {
  font-size: 1.6rem;
  margin-top: 51px;
}

.box_ttl {
  font-size: 2.4rem;
  letter-spacing: .03em;
  padding-bottom: 12px;
  position: relative;
}

.box_ttl:before {
  background: #a6a9aa;
  content: '';
  height: 1px;
  position: absolute;
  top: 100%;
  width: 300px;
}

.item_ttl {
  font-size: 2rem;
}

.text_notes {
  font-size: 1.2rem;
  letter-spacing: .025em;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  section p {
    font-size: 3.73vw;
    line-height: 1.8;
  }
  .section_ttl span:first-of-type {
    font-size: 5.33vw;
  }
  .section_ttl span:nth-of-type(2) {
    margin-left: 0;
    margin-top: 1.86vw;
  }
  .section_ttl span:not(:first-of-type) {
    display: block;
    font-size: 4.26vw;
    line-height: 1.8;
  }
  .section_desc {
    font-size: 3.73vw;
    line-height: 1.8;
    margin-top: 6.73vw;
  }
  .box_ttl {
    font-size: 4.8vw;
    letter-spacing: .05em;
    padding-bottom: 3.7vw;
  }
  .box_ttl span {
    display: block;
  }
  .box_ttl:before {
    width: 37.4vw;
  }
  .item_ttl {
    font-size: 4.8vw;
  }
  .text_notes {
    font-size: 2.93vw;
    letter-spacing: unset;
    line-height: 1.8;
  }
}

/* ----------------------------------------
	section_01
----------------------------------------- */
.section_01 {
  margin-top: 90px;
  padding: 80px 0 120px;
  position: relative;
}

.section_01:before {
  background: #f3f5f5;
  content: '';
  height: 100%;
  left: 15.5vw;
  position: absolute;
  right: auto;
  top: 0;
  width: calc(100vw - var(--scrollbar));
  z-index: -2;
}

.section_01 .box_01 {
  margin-top: 78px;
}

.section_01 .box_01 .box_item {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 50px;
}

.section_01 .box_01 .box_item figure {
  background: #ffffff;
  padding: 33px 20px;
}

.section_01 .box_01 .text_notes {
  margin-top: 14px;
  padding-left: 1em;
  text-indent: -1em;
}

.section_01 .box_01 .text_notes:before {
  content: '※';
  margin-right: .25em;
}

.section_01 .box_02 {
  margin-top: 81px;
}

.section_01 .box_02 > p:nth-of-type(2) {
  margin-top: 44px;
}

.section_01 .box_02 .box_item p:nth-of-type(2) {
  margin-top: 22px;
}

.section_01 .box_02 .box_item:first-of-type {
  margin-top: 62px;
}

.section_01 .box_02 .box_item:nth-of-type(2) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
  margin-top: 62px;
}

.section_01 .box_02 .box_item figure {
  margin-top: 10px;
  min-width: 404px;
}

@media screen and (max-width: 1000px) {
  .section_01 .box_02 .box_item:nth-of-type(2) {
    gap: 40px;
  }
  .section_01 .box_02 .box_item figure {
    min-width: 48%;
  }
}

@media screen and (max-width: 768px) {
  .section_01 {
    margin-top: 13.76vw;
    padding: 13.86vw 0 21.33vw;
  }
  .section_01:before {
    left: 9.33vw;
  }
  .section_01 .box_01 {
    margin-top: 10vw;
  }
  .section_01 .box_01 .box_item {
    gap: 9.6vw;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 8.3vw;
  }
  .section_01 .box_01 .box_item figure {
    border-image-outset: 0 100vw;
    border-image-slice: 0 fill;
    border-image-source: linear-gradient(#ffffff, #ffffff);
    padding: 6.4vw 0;
  }
  .section_01 .box_01 .text_notes {
    margin-top: 3vw;
  }
  .section_01 .box_02 {
    margin-top: 12.1vw;
  }
  .section_01 .box_02 > p:nth-of-type(2) {
    margin-top: 6.1vw;
  }
  .section_01 .box_02 .box_item:first-of-type {
    margin-top: 10vw;
  }
  .section_01 .box_02 .box_item:nth-of-type(2) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5vw;
    margin-top: 10vw;
  }
  .section_01 .box_02 .box_item p:nth-of-type(2) {
    margin-top: 4.8vw;
  }
  .section_01 .box_02 .box_item p:nth-of-type(2) span {
    display: block;
  }
  .section_01 .box_02 .box_item figure {
    margin-top: 3vw;
    min-width: unset;
  }
}

/* ----------------------------------------
	section_02
----------------------------------------- */
.section_02 {
  margin-top: 160px;
}

.section_02 .box_01 {
  margin-top: 76px;
}

.section_02 .box_01 .box_item:first-of-type {
  margin-top: 42px;
}

.section_02 .box_01 .box_item .item_ttl {
  font-weight: 700;
}

.section_02 .box_01 .box_item figure {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f8f9f9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 9px;
  padding: 29px 20px 23px;
}

.section_02 .box_01 .box_item:nth-of-type(2) {
  margin-top: 73px;
}

.section_02 .box_01 .box_item .text_notes {
  padding-left: 1.75em;
  text-indent: -1.75em;
}

.section_02 .box_01 .box_item .text_notes:nth-last-child(2):before {
  content: '※1';
  margin-right: .25em;
}

.section_02 .box_01 .box_item .text_notes:last-of-type:before {
  content: '※2';
  margin-right: .25em;
}

.section_02 .box_01 .box_item .text_notes:nth-last-child(2) {
  margin-top: 13px;
}

@media screen and (max-width: 768px) {
  .section_02 {
    margin-top: 22.23vw;
  }
  .section_02 .box_01 {
    margin-top: 10.13vw;
  }
  .section_02 .box_01 .box_item:first-of-type {
    margin-top: 6.2vw;
  }
  .section_02 .box_01 .box_item .item_ttl {
    font-size: 4.26vw;
  }
  .section_02 .box_01 .box_item figure picture {
    width: 100%;
  }
  .section_02 .box_01 .box_item figure {
    border-image-outset: 0 100vw;
    border-image-slice: 0 fill;
    border-image-source: linear-gradient(#f8f9f9, #f8f9f9);
    margin-left: -1.33vw;
    margin-top: 2.9vw;
    padding: 6.4vw 0 1.06vw;
    width: 92vw;
  }
  .section_02 .box_01 .box_item:nth-of-type(2) {
    margin-top: 11.5vw;
  }
  .section_02 .box_01 .box_item .text_notes:nth-last-child(2) {
    margin-top: 3vw;
  }
}

/* ----------------------------------------
	section_03
----------------------------------------- */
.section_03 {
  margin-top: 153px;
  padding: 80px 0 120px;
  position: relative;
}

.section_03:before {
  background: #f3f5f5;
  content: '';
  height: 100%;
  left: auto;
  position: absolute;
  right: 15.5vw;
  top: 0;
  width: calc(100vw - var(--scrollbar));
  z-index: -2;
}

.section_03 .box_01 {
  display: grid;
  gap: 80px;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 77px;
}

.section_03 .box_01 .box_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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.section_03 .box_01 .box_item > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 44px;
}

.section_03 .box_01 .box_item figure {
  background: #ffffff;
  margin-top: 52px;
  padding: 34px 20px;
}

@media screen and (max-width: 1000px) {
  .section_03 .box_01 {
    gap: 40px;
  }
}

@media screen and (max-width: 768px) {
  .section_03 {
    margin-top: 21vw;
    padding: 13.33vw 0 21.33vw;
  }
  .section_03:before {
    right: 9.33vw;
  }
  .section_03 .box_01 {
    gap: 11.6vw;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 10vw;
  }
  .section_03 .box_01 .box_item > div {
    margin-top: 7vw;
  }
  .section_03 .box_01 .box_item figure {
    border-image-outset: 0 100vw;
    border-image-slice: 0 fill;
    border-image-source: linear-gradient(#ffffff, #ffffff);
    margin-top: 7.5vw;
    padding: 6.4vw 0;
  }
}

/* ----------------------------------------
	section_04
----------------------------------------- */
.section_04 {
  margin-top: 160px;
}

.section_04 .box_01 {
  display: grid;
  gap: 80px;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 77px;
}

.section_04 .box_01 .box_item:first-of-type ul {
  font-size: 1.8rem;
  letter-spacing: .05em;
  line-height: 2;
}

.section_04 .box_01 .box_item ul li br {
  display: none;
}

.section_04 .box_01 .box_item:first-of-type ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.section_04 .box_01 .box_item:first-of-type ul li:before {
  content: '・';
}

.section_04 .box_01 .box_item:first-of-type > :nth-child(2) {
  margin-top: 43px;
}

.section_04 .box_01 .box_item:last-of-type > :nth-child(2) {
  margin-top: 50px;
}

.section_04 .box_01 .box_item:nth-of-type(2) .text_notes {
  margin-top: 16px;
  padding-left: 1em;
  text-indent: -1em;
}

.section_04 .box_01 .box_item:nth-of-type(2) .text_notes:before {
  content: '※';
  margin-right: .25em;
}

@media screen and (max-width: 1000px) {
  .section_04 .box_01 {
    gap: 40px;
  }
}

@media screen and (max-width: 768px) {
  .section_04 {
    margin-top: 22.4vw;
  }
  .section_04 .box_01 {
    gap: 8.8vw;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 10.13vw;
  }
  .section_04 .box_01 .box_item:first-of-type ul {
    font-size: 4.26vw;
    line-height: 1.8;
  }
  .section_04 .box_01 .box_item ul li br {
    display: block;
  }
  .section_04 .box_01 .box_item:first-of-type ul li:before {
    margin-right: .6vw;
  }
  .section_04 .box_01 .box_item:first-of-type > :nth-child(2) {
    margin-top: 7vw;
  }
  .section_04 .box_01 .box_item:last-of-type > :nth-child(2) {
    margin-top: 8.6vw;
  }
  .section_04 .box_01 .box_item:nth-of-type(2) .text_notes {
    margin-top: 2.6vw;
  }
}

/* ----------------------------------------
	※※※ 埋め込み部分調整用 ※※※
----------------------------------------- */
.l-banner-area.is-haseko {
  display: block;
}

.l-banner-area__container {
  margin-top: 172px;
  max-width: 1200px;
}

.l-banner-area__list-img figcaption {
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.5;
}

.l-banner-area__list-img:after {
  height: 7px;
  right: 16px;
  width: 7px;
}

@media screen and (max-width: 1000px) {
  .l-banner-area__list-img:after {
    right: 1.4vw;
  }
}

@media screen and (max-width: 768px) {
  .l-banner-area__container {
    margin-top: 14.5vw;
  }
  .l-banner-area__list-img figcaption {
    line-height: 2;
  }
  .l-banner-area__list-img:after {
    right: 14px;
  }
}
