/* ------------------------------------------------------------------------------------------------------------------------------------------------------
//  PAGE
------------------------------------------------------------------------------------------------------------------------------------------------------ */
.block {
  margin: auto;
  max-width: 128rem;
  color: #606060;
}

.block.center {
  align-items: center;
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 767px) {
  .block {
    padding: 0 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  スペーサー
--------------------------------------------------------------------------- */
.space_big {
  height: 8rem;
}

.space_middle {
  height: 5rem;
}

.space_small {
  height: 2rem;
}

@media screen and (max-width: 767px) {
  .space_big {
    height: 5rem;
  }

  .space_middle {
    height: 3rem;
  }

  .space_small {
    height: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  fv
--------------------------------------------------------------------------- */
.FV {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.FV_wrap {
  align-items: center;
  display: flex;
  height: 41.5rem;
  justify-content: center;
  padding-top: 10rem;
}

.FV_ttl {
  color: #fff;
  font-size: 6.2rem;
  font-weight: 900;
  letter-spacing: .2em;
  text-shadow: 0 0 .6rem #000, 0 0 1rem #000;
}

@media screen and (max-width: 767px) {
  .FV_wrap {
    aspect-ratio: 2/1;
    height: auto;
    padding: 4rem 2rem 0;
  }

  .FV_ttl {
    font-size: 2rem;
    letter-spacing: .1em;
  }
}

/* ---------------------------------------------------------------------------
//  パンくずリスト
--------------------------------------------------------------------------- */
.breadcrumb_list {
  display: flex;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: .2em;
  margin: 4rem 0;
}

.breadcrumb_list li + li::before {
  content: '/';
  margin: 0 1rem;
}

.breadcrumb_list li a {
  transition: .2s;
}

.breadcrumb_list li a:hover {
  opacity: .7;
}

.breadcrumb_list li:last-of-type {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.breadcrumb_list li:last-of-type a {
  cursor: default;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .breadcrumb_list {
    font-size: 1.2rem;
    letter-spacing: .05em;
    margin: 2rem 0;
  }

  .breadcrumb_list li + li::before {
    margin: 0 .5rem;
  }
}

/* ---------------------------------------------------------------------------
//  目次
--------------------------------------------------------------------------- */
.toc {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  margin: 8rem 0;
}

.toc_head {
  align-items: flex-end;
  display: flex;
}

.toc_head .eng {
  width: 23.25rem;
}

.toc_head .ttl {
  color: #808080;
  font-size: 3.3rem;
  font-weight: 900;
  line-height: 1;
  margin-left: 4rem;
}

.toc_list {
  margin-top: 3rem;
}

.toc_list li {
  border-bottom: dashed 2px;
  font-size: 1.8rem;
  font-weight: 400;
  padding: 1rem 0;
}

.toc_list li a {
  transition: .2s;
}

.toc_list li a:hover {
  opacity: .7;
}

@media screen and (max-width: 767px) {
  .toc {
    margin: 6rem 0;
  }

  .toc_head .eng {
    width: calc(23.23rem * .7);
  }

  .toc_head .ttl {
    font-size: 2rem;
    margin-left: 2rem;
  }

  .toc_list {
    margin-top: 1rem;
  }

  .toc_list li {
    font-size: 1.6rem;
  }
}

/* ---------------------------------------------------------------------------
//  見出し
--------------------------------------------------------------------------- */
.h1 {
  color: #fff;
  font-size: 5.2rem;
  font-weight: 900;
  letter-spacing: .2em;
  /* margin: 6rem 0; */
  text-shadow: 0 0 .6rem rgba(0, 0, 0, .5), 0 0 1rem rgba(0, 0, 0, .5), 0 0 1rem rgba(0, 0, 0, .5);
}

.h2 {
  color: #2c5638;
  font-size: 4.7rem;
  font-weight: 900;
  letter-spacing: .2em;
  /* margin: 6rem 0 4rem; */
}

.h2_border {
  border-bottom: 4px solid;
  border-top: 4px solid;
  color: #2c5638;
  font-size: 4.7rem;
  font-weight: 900;
  letter-spacing: .2em;
  /* margin: 6rem 0 4rem; */
  min-width: 128rem;
  padding: 1rem 2rem;
  text-align: center;
}

.h3 {
  border-left: 4px solid;
  color: #2c5638;
  font-size: 3.8rem;
  font-weight: bold;
  letter-spacing: .1em;
  /* margin: 4rem 0 2rem; */
  padding-left: 1rem;
}

.h4 {
  font-size: 2.7rem;
  font-weight: bold;
  letter-spacing: .2em;
  /* margin: 4rem 0 2rem; */
  color: #606060;
}

@media screen and (max-width: 767px) {
  .h1 {
    font-size: 2rem;
    letter-spacing: .05em;
    /* margin: 4rem 0; */
  }

  .h2 {
    font-size: 1.8rem;
    letter-spacing: .05em;
    /* margin: 4rem 0 2rem; */
  }

  .h2_border {
    border-bottom: 2px solid;
    border-top: 2px solid;
    font-size: 1.8rem;
    letter-spacing: .05em;
    /* margin: 4rem 0 2rem; */
    min-width: auto;
    padding: 1rem;
  }

  .h3 {
    border-left: 2px solid;
    font-size: 1.6rem;
    letter-spacing: .05em;
    /* margin: 2rem 0 1rem; */
    padding-left: .5rem;
  }

  .h4 {
    font-size: 1.5rem;
    letter-spacing: .05em;
    /* margin: 2rem 0 1rem; */
  }
}

/* ---------------------------------------------------------------------------
//  段落
--------------------------------------------------------------------------- */
.p {
  font-size: 1.8rem;
  /* margin: 2rem 0; */
}

@media screen and (max-width: 767px) {
  .p {
    font-size: 1.4rem;
    /* margin: 1rem 0; */
  }
}

/* ---------------------------------------------------------------------------
//  悩み
--------------------------------------------------------------------------- */
.check {
  align-items: center;
  border: solid 4px #2c5638;
  color: #2c5638;
  display: flex;
  flex-direction: column;
  /* margin: 6rem 0; */
  padding: 5rem 2rem 7rem;
}

.check .ttl {
  font-size: 3.9rem;
  font-weight: 900;
  letter-spacing: .1em;
  margin-bottom: 2rem;
}

.check ul li {
  font-size: 2.6rem;
  margin-top: 3rem;
  padding-left: 5rem;
  position: relative;
}

.check ul li::before {
  background-image: url(../img/page/icon_check.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 3rem;
  left: 0;
  position: absolute;
  top: .5rem;
  width: 3rem;
}

@media screen and (max-width: 767px) {
  .check {
    border: solid 2px #2c5638;
    /* margin: 4rem 0; */
    padding: 2rem 1rem;
  }

  .check .ttl {
    font-size: 1.8rem;
    letter-spacing: .05em;
    margin-bottom: 0;
  }

  .check ul li {
    font-size: 1.4rem;
    margin-top: 2rem;
    padding-left: 3rem;
  }

  .check ul li::before {
    height: 2rem;
    top: 0;
    width: 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  コメント
--------------------------------------------------------------------------- */
.comment1 {
  border: solid 2px;
  color: #2c5638;
  font-size: 3.4rem;
  font-weight: bold;
  /* margin: 6rem 0; */
  padding: 2rem 4rem;
  text-align: center;
}

.comment2 {
  border: solid 2px #ff800a;
  border-radius: 2rem;
  color: #ff800a;
  font-size: 3.4rem;
  font-weight: bold;
  /* margin: 6rem 0; */
  padding: .5rem;
  position: relative;
  text-align: center;
}

.comment2 span {
  border: solid 2px #ff800a;
  border-radius: 1.5rem;
  display: block;
  padding: 2rem 4rem;
}

.comment2::before {
  background: #fff;
  border: solid 2px transparent;
  border-bottom: solid 2px #ff800a;
  border-right: solid 2px #ff800a;
  bottom: -.8rem;
  content: '';
  height: 3rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  transform: rotate(45deg);
  width: 3rem;
}

@media screen and (max-width: 767px) {
  .comment1 {
    font-size: 1.6rem;
    /* margin: 3rem 0; */
    padding: 2rem 1rem;
  }

  .comment2 {
    border-radius: 1rem;
    font-size: 1.6rem;
    /* margin: 3rem 0; */
    padding: .2rem;
  }
 ?.comment2 .table_price {
	width: 100% !important;
	}
 ?.comment2 span {
    border-radius: .8rem;
    padding: 2rem 1rem;
  }

  .comment2::before {
    bottom: -1.15rem;
  }
}

/* ---------------------------------------------------------------------------
//  カラム
--------------------------------------------------------------------------- */
.flex {
  display: flex;
  justify-content: center;
  /* margin: 6rem 0; */
}

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

.flex .item .img {
  aspect-ratio: 438 / 318;
}

.flex .item .img img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.flex .item .ttl {
  color: #ff800a;
  font-size: 2.5rem;
  font-weight: bold;
  margin-top: 2rem;
}

.flex .item .desc {
  font-size: 1.8rem;
  margin-bottom: auto;
  margin-top: 2rem;
}

.flex .item .btn {
  margin-left: auto;
  margin-top: 2rem;
  transition: .2s;
  width: 13.6rem;
}

.flex .item:hover .btn {
  transform: translateX(2rem);
}

.flex.col2 {
  gap: 0 15rem;
}

.flex.col2 .item {
  width: 48rem;
}

.flex.col2 .item .ttl {
  font-size: 2.4rem;
}

.flex.col3 {
  gap: 0 5rem;
}

.flex.col3 .item {
  width: calc((100% - 10rem) / 3);
}

.flex.col3 .item .ttl {
  align-items: center;
  display: flex;
  min-height: 7rem;
}

.flex.col4 {
  gap: 0 4rem;
}

.flex.col4 .item {
  width: calc((100% - 12rem) / 4);
}

.flex.col4 .item .ttl {
  align-items: center;
  display: flex;
  font-size: 2.4rem;
  min-height: 7rem;
}

@media screen and (max-width: 767px) {
  .flex {
    display: block;
    /* margin: 4rem 0; */
  }

  .flex .item {
    width: 100% !important;
  }

  .flex .item + .item {
    margin-top: 3rem;
  }

  .flex .item .ttl {
    display: block !important;
    font-size: 1.6rem !important;
    margin-top: 1rem;
    min-height: auto !important;
  }

  .flex .item .desc {
    font-size: 1.4rem;
    margin-top: .5rem;
  }
}

/* ---------------------------------------------------------------------------
//  画像と文字
--------------------------------------------------------------------------- */
.text_img {
  display: flex;
  justify-content: space-between;
  /* margin: 6rem 0; */
}

.text_img .desc {
  width: 63rem;
}

.text_img .img {
  width: 63rem;
}

@media screen and (max-width: 767px) {
  .text_img {
    display: block;
  }

  .text_img .desc {
    font-size: 1.4rem;
    width: 100%;
  }

  .text_img .img {
    margin-top: 2rem;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  ボタン1
--------------------------------------------------------------------------- */
.btn1 {
  display: flex;
}

.btn1 a {
  align-items: center;
  border: solid 4px #ff800a;
  border-radius: 10rem;
  color: #ff800a;
  display: flex;
  font-size: 3.2rem;
  font-weight: bold;
  height: 10.8rem;
  justify-content: center;
  letter-spacing: .1em;
  min-width: 60rem;
  padding: 0 2rem;
  text-align: center;
  transition: .2s;
}

.btn1 a:hover {
  background: #ff800a;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .btn1 {
    display: flex;
  }

  .btn1 a {
    border: solid 2px #ff800a;
    font-size: 2rem;
    height: 6rem;
    letter-spacing: .05em;
    min-width: 100%;
    padding: 0 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  ボタン2
--------------------------------------------------------------------------- */
.btn2 {
  display: flex;
}

.btn2 a {
    align-items: center;
    border: solid 4px #006043;
    box-shadow: 0.4rem 0.4rem 0.3rem rgba(91, 91, 91, .75);
    color: #2c5638;
    display: flex;
    font-size: 3.2rem;
    font-weight: bold;
    height: 23rem;
    justify-content: center;
    letter-spacing: .1em;
    padding: 2rem;
    text-align: center;
    transition: .2s;
    width: 23rem;
}

.btn2 a:hover {
  background: #006043;
  box-shadow: 0rem .1rem .2rem rgba(91, 91, 91, .75);
  color: #fff;
  transform: translateX(.4rem);
}

@media screen and (max-width: 767px) {
  .btn2 {
    display: flex;
  }

  .btn2 a {
    border: solid 2px #006043;
    font-size: 2rem;
    height: 20rem;
    letter-spacing: .05em;
    margin: auto;
    min-width: 20rem;
    padding: 1rem;
    width: 20rem;
  }
}

/* ---------------------------------------------------------------------------
//  ボタン2
--------------------------------------------------------------------------- */
.btn3 {
  display: flex;
}

.btn3 a {
    align-items: center;
    border: solid 4px #006043;
    box-shadow: 0.4rem 0.4rem 0.3rem rgba(91, 91, 91, .75);
    color: #2c5638;
    display: flex;
    font-size: 3.2rem;
    font-weight: bold;
    height: 11rem;
    justify-content: center;
    letter-spacing: .1em;
    padding: 0 2rem;
    text-align: center;
    transition: .2s;
    width: 28rem;
}

.btn3 a:hover {
  background: #006043;
  box-shadow: 0rem .1rem .2rem rgba(91, 91, 91, .75);
  color: #fff;
  transform: translateX(.4rem);
}

@media screen and (max-width: 767px) {
  .btn3 {
    display: flex;
  }

  .btn3 a {
    border: solid 2px #006043;
    font-size: 2rem;
    height: 10rem;
    letter-spacing: .05em;
    margin: auto;
    min-width: 20rem;
    padding: 0 1rem;
    width: 20rem;
  }
}

/* ---------------------------------------------------------------------------
//  表1
--------------------------------------------------------------------------- */
.table1 table {
  color: #606060;
  font-size: 2.2rem;
  width: 100%;
}

.table1 table th, .table1 table td {
  border: solid 1px;
  padding: 1rem .5rem;
  text-align: center;
  vertical-align: middle;
}

.table1 table th {
  background: #ebede2;
}

@media screen and (max-width: 767px) {
  .table1 {
    overflow-x: scroll;
    padding-right: 2rem;
    width: calc(100% + 2rem);
  }

  .table1 table {
    font-size: 1.2rem;
    white-space: nowrap;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  表1
--------------------------------------------------------------------------- */
.table2 table {
  color: #606060;
  font-size: 2.2rem;
  width: 100%;
}

.table2 table th, .table2 table td {
  border: solid 1px;
  padding: 1rem .5rem;
  text-align: center;
  vertical-align: middle;
}

.table2 table th {
  background: #f9e0ca;
}

@media screen and (max-width: 767px) {
  .table2 {
    overflow-x: scroll;
    padding-right: 2rem;
    width: calc(100% + 2rem);
  }

  .table2 table {
    font-size: 1.2rem;
    white-space: nowrap;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  スタッフ
--------------------------------------------------------------------------- */
.staff {
  display: flex;
  flex-wrap: wrap;
  gap: 8rem 18rem;
  justify-content: center;
  letter-spacing: .05em;
}

.staff .item {
  align-items: center;
  display: flex;
  flex-direction: column;
  width: 55rem;
}

.staff .item .pic {
  height: 44.5rem;
  width: 44.5rem;
}

.staff .item .pic img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.staff .item .status {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 3rem;
  font-weight: 400;
  justify-content: center;
  margin-top: 2rem;
  min-height: 9rem;
  text-align: center;
}

.staff .item .name {
  font-size: 6rem;
  font-weight: 400;
  margin-top: 1rem;
  text-align: center;
}

.staff .item .name small {
  display: block;
  font-size: 2.5rem;
}

.staff .item .info {
  border-top: solid 1px;
  margin-top: 2rem;
  width: 100%;
}

.staff .item .info dl {
  display: flex;
  font-size: 2.5rem;
  margin-top: 2rem;
}

.staff .item .info dl dt {
  font-weight: 500;
  width: 15rem;
}

.staff .item .info dl dt span {
  display: inline-block;
  width: 5.2rem;
}

.staff .item .info dl dd {
  width: calc(100% - 15rem);
}

.staff .item .info dl dd.small {
  font-size: 1.8rem;
  min-height: 13rem;
}

.staff .item .message {
  border-top: solid 1px;
  margin-top: 2rem;
  width: 100%;
}

.staff .item .message dl {
  display: flex;
  margin-top: 2rem;
}

.staff .item .message dt {
  font-size: 2.8rem;
  font-weight: 500;
  width: 14rem;
}

.staff .item .message dd {
  border-left: 1px solid;
  font-size: 1.8rem;
  min-height: 18rem;
  padding-left: 1rem;
  width: calc(100% - 15rem);
}

@media screen and (max-width: 767px) {
  .staff {
    display: block;
    letter-spacing: .05em;
  }

  .staff .item {
    width: 100%;
  }

  .staff .item + .item {
    margin-top: 5rem;
  }

  .staff .item .pic {
    aspect-ratio: 1/1;
    height: auto;
    width: 60%;
  }

  .staff .item .status {
    font-size: 1.6rem;
    margin-top: 1rem;
    min-height: auto;
  }

  .staff .item .name {
    font-size: 2.5rem;
  }

  .staff .item .name small {
    display: block;
    font-size: 1.4rem;
  }

  .staff .item .info {
    border-top: solid 1px;
    margin-top: 2rem;
    width: 100%;
  }

  .staff .item .info dl {
    font-size: 1.4rem;
    margin-top: 1rem;
  }

  .staff .item .info dl dt {
    width: 7.5rem;
  }

  .staff .item .info dl dt span {
    width: 2.9rem;
  }

  .staff .item .info dl dd {
    width: calc(100% - 7.5rem);
  }

  .staff .item .info dl dd.small {
    font-size: 1.4rem;
    min-height: auto;
  }

  .staff .item .message {
    margin-top: 1rem;
  }

  .staff .item .message dl {
    margin-top: 1rem;
  }

  .staff .item .message dt {
    font-size: 1.3rem;
    width: 6.5rem;
  }

  .staff .item .message dd {
    font-size: 1.4rem;
    min-height: auto;
    width: calc(100% - 6.5rem);
  }
}

/* ---------------------------------------------------------------------------
//  コラム
--------------------------------------------------------------------------- */
.column {
    display: flex;
    gap: 0 5rem;
    flex-direction: row-reverse;
}

.column a {
  display: block;
  letter-spacing: .05em;
  transition: .2s;
  width: calc((100% - 10rem) / 3);
}

.column a:hover {
  opacity: .7;
}

.column a .date {
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 2rem;
  text-align: center;
}

.column a .ttl {
  color: #2c5638;
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 1rem;
}

.column a .desc {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-size: 1.8rem;
  -webkit-line-clamp: 5;
  margin-top: 1rem;
  overflow: hidden;
}

.column a .btn {
  margin-left: auto;
  margin-top: 2rem;
  transition: .2s;
  width: 13.6rem;
}

.column a:hover .btn {
  transform: translateX(2rem);
}

.column_btn {
  align-items: center;
  border: solid 1px;
  border-radius: 10rem;
  display: flex;
  font-size: 2.1rem;
  font-weight: bold;
  height: 5rem;
  justify-content: center;
  letter-spacing: .2em;
  margin-left: auto;
  margin-top: 4rem;
  transition: .2s;
  width: 18.6rem;
}

.column_btn:hover {
  background: #000;
  color: #fff;
}

.column_btn::after {
  background-image: url(../img/common/arrow03.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 2.34rem;
  margin-left: .5em;
  transition: .2s;
  width: 3.4rem;
}

.column_btn:hover:after {
  margin: 0;
  width: 0;
}

@media screen and (max-width: 767px) {
  .column {
    display: block;
  }

  .column a {
    width: 100%;
  }

  .column a + a {
    margin-top: 4rem;
  }

  .column a .date {
    font-size: 1.2rem;
    margin-top: 1rem;
  }

  .column a .ttl {
    font-size: 1.6rem;
  }

  .column a .desc {
    font-size: 1.4rem;
    -webkit-line-clamp: 3;
    margin-top: 1rem;
  }

  .column a .btn {
    margin-top: 1rem;
    width: 10rem;
  }

  .column a:hover .btn {
    transform: translateX(1rem);
  }

  .column_btn {
    border: solid 2px;
    font-size: 2rem;
    height: 6rem;
    margin-top: 4rem;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  お問い合わせはこちら
--------------------------------------------------------------------------- */
.contact .ttl {
  color: #666;
  font-size: 3.3rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-align: center;
}

.contact .btn {
  align-items: center;
  background: #ff800a;
  border: solid 4px #ff800a;
  border-radius: 2rem;
  color: #fff;
  display: flex;
  font-size: 4.9rem;
  font-weight: 900;
  height: 12.8rem;
  justify-content: center;
  letter-spacing: .1em;
  margin-top: 2rem;
  transition: .2s;
  width: 87rem;
  margin-left: auto;
  margin-right: auto;
}

.contact .btn:hover {
  background: #fff;
  color: #ff800a;
}

@media screen and (max-width: 767px) {
  .contact .ttl {
    font-size: 1.6rem;
  }

  .contact .btn {
    border: solid 2px #ff800a;
    border-radius: 1rem;
    font-size: 2rem;
    height: 8rem;
    margin-top: 1rem;
	  width: 100%;
  }

  .contact .btn:hover {
    background: #fff;
    color: #ff800a;
  }
}

/* ---------------------------------------------------------------------------
//  流れ
--------------------------------------------------------------------------- */
.flow li + li {
  border-top: 2px solid;
  padding-top: 6rem;
}

.flow li {
  display: flex;
  padding-bottom: 1rem;
  position: relative;
}

.flow li + li::before {
  background: #fff;
  border: solid 2px transparent;
  border-bottom: solid 2px;
  border-right: solid 2px;
  content: '';
  height: 3rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: -1.7rem;
  transform: rotate(45deg);
  width: 3rem;
}

.flow li .left {
  color: #2c5638;
  font-size: 12rem;
  font-weight: bold;
  text-align: center;
  width: 18rem;
}

.flow li .right {
  border-left: 2px solid;
  display: flex;
  justify-content: space-between;
  padding-left: 3rem;
  width: calc(100% - 18rem);
}

.flow li .right .txt {
  width: 65rem;
}

.flow li .right .txt .ttl {
  color: #2c5638;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: .05em;
}

.flow li .right .txt .desc {
  font-size: 1.8rem;
  margin-top: 2rem;
}

.flow li .right .pic {
  width: 33.5rem;
}


ol.flow-s {
    margin: 0 15% 0 15%;
}
.flow-s li + li {
  border-top: 2px solid;
  padding-top: 6rem;
}

.flow-s li {
  display: flex;
  padding-bottom: 1rem;
  position: relative;
}

.flow-s li + li::before {
  background: #fff;
  border: solid 2px transparent;
  border-bottom: solid 2px;
  border-right: solid 2px;
  content: '';
  height: 3rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: -1.7rem;
  transform: rotate(45deg);
  width: 3rem;
}

.flow li .left {
  color: #2c5638;
  font-size: 12rem;
  font-weight: bold;
  text-align: center;
  width: 18rem;
}

.flow-s li .right {
    display: flex;
    justify-content: space-around;
    width: 100%;
}

.flow-s li .right .txt {
  width: 80rem;
}

.flow-s li .right .txt .ttl {
  color: #2c5638;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: .05em;
}

.flow-s li .right .txt .desc {
  font-size: 1.8rem;
  margin-top: 2rem;
}

.flow-s li .right .pic {
  width: 33.5rem;
}


ol.flow-m {
    margin: 0 15% 0 15%;
}

.flow-m li + li {
  border-top: 2px solid;
  padding-top: 6rem;
}

.flow-m li {
  display: flex;
  padding-bottom: 1rem;
  position: relative;
}

.flow-m li + li::before {
  background: #fff;
  border: solid 2px transparent;
  border-bottom: solid 2px;
  border-right: solid 2px;
  content: '';
  height: 3rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: -1.7rem;
  transform: rotate(45deg);
  width: 3rem;
}

.flow-m li .left {
  color: #2c5638;
  font-size: 12rem;
  font-weight: bold;
  text-align: center;
  width: 18rem;
}

.flow-m li .right {
    display: flex;
    justify-content: space-around;
    width: 100%;
}

.flow-m li .right .txt {
  width: 80rem;
}

.flow-m li .right .txt .ttl {
  color: #2c5638;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: .05em;
}

.flow-m li .right .txt .desc {
  font-size: 1.8rem;
  margin-top: 2rem;
}

.flow-m li .right .pic {
  width: 33.5rem;
}


@media screen and (max-width: 767px) {
	ol.flow-m, ol.flow-s {
    margin: 0;
}
	.flow-m li .right .txt .desc,
	.flow-s li .right .txt .desc {
    font-size: 1.4rem;
}
  .flow li + li {
    border-top: 2px solid;
    padding-top: 3rem;
  }

  .flow li {
    display: block;
    padding-bottom: 2rem;
    position: relative;
  }

  .flow li + li::before {
    background: #fff;
    border: solid 2px transparent;
    border-bottom: solid 2px;
    border-right: solid 2px;
    content: '';
    height: 3rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: -1.7rem;
    transform: rotate(45deg);
    width: 3rem;
  }

  .flow li .left {
    font-size: 4rem;
    width: 100%;
  }

  .flow li .right {
    border-left: none;
    flex-direction: column;
    padding-left: 0;
    width: 100%;
  }

  .flow li .right .txt {
    width: 100%;
  }

  .flow li .right .txt .ttl {
    font-size: 2rem;
  }

  .flow li .right .txt .desc {
    font-size: 1.4rem;
    margin-top: 1rem;
  }

  .flow li .right .pic {
    margin: 1rem 0 .5rem;
    order: -1;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  NEWS
--------------------------------------------------------------------------- */
.NEWS {
  background: #fffce9;
}

.NEWS .section_inner {
  padding: 6rem 0 12rem;
}

.NEWS_list_link {
  align-items: center;
  background: #fff;
  border-radius: 2rem;
  box-shadow: .4rem .4rem .3rem rgba(91, 91, 91, .75);
  color: #2c5638;
  display: flex;
  justify-content: space-between;
  transition: .2s;
}

.NEWS_list_link:hover {
  box-shadow: 0rem .1rem .2rem rgba(91, 91, 91, .75);
  transform: translateX(.4rem);
}

.NEWS_list_link {
  align-items: center;
  display: flex;
  margin-top: 4rem;
  padding: 3rem;
  width: 100%;
}

.NEWS_list_link_date {
  flex-shrink: 0;
  font-size: 1.8rem;
}

.NEWS_list_link_label {
  background: #2c5638;
  border-radius: .4rem;
  color: #fff;
  flex-shrink: 0;
  margin-left: 2rem;
  padding: 0 2rem .1rem;
}

.NEWS_list_link_ttl {
  font-size: 2.4rem;
  font-weight: bold;
  margin-left: 2rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .NEWS .section_inner {
    padding: 1rem 2rem 4rem;
  }

  .NEWS_list {
    display: block;
  }

  .NEWS_list_link {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 3rem;
    padding: 3rem 2rem 3rem;
  }

  .NEWS_list_link_date {
    flex-shrink: 0;
    font-size: 1.4rem;
    width: 12rem;
  }

  .NEWS_list_link_label {
    margin-left: 0;
    padding: 0 1rem .1rem;
  }

  .NEWS_list_link_ttl {
    font-size: 1.6rem;
    margin-left: 0;
    margin-top: 2rem;
    overflow: visible;
    text-overflow: inherit;
    white-space: inherit;
  }
}

/* ---------------------------------------------------------------------------
// COLUMN
--------------------------------------------------------------------------- */
.COLUMN .section_inner {
  padding: 6rem 0 12rem;
}

@media screen and (max-width: 767px) {
  .COLUMN .section_inner {
    padding: 1rem 2rem 4rem;
  }
}

/* ---------------------------------------------------------------------------
//  pagination
--------------------------------------------------------------------------- */
.pagination {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 8rem;
}

.pagination .item .link {
  align-items: center;
  border-radius: 100%;
  display: flex;
  font-size: 3rem;
  font-weight: bold;
  height: 6rem;
  justify-content: center;
  margin: 0 .5rem;
  transition: .2s;
  width: 6rem;
}

.pagination .item .link:hover {
  opacity: .7;
}

.pagination .item.active .link {
  background: #2c5638;
  color: #fff;
  cursor: default;
  pointer-events: none;
}

.pagination .item.prev .link, .pagination .item.next .link {
  width: auto;
}

.pagination .item.prev .link::before, .pagination .item.next .link::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.1rem;
  width: .7rem;
}

.pagination .item.prev .link::before {
  background-image: url(../img/page/icon-prev.svg);
  margin-right: .7rem;
}

.pagination .item.next .link::after {
  background-image: url(../img/page/icon-next.svg);
  margin-left: .7rem;
}

@media screen and (max-width: 767px) {
  .pagination {
    margin-top: 4rem;
  }

  .pagination .item .link {
    font-size: 1.6rem;
    height: 3rem;
    width: 3rem;
  }
}

/* ---------------------------------------------------------------------------
//  article
--------------------------------------------------------------------------- */
.article {
    padding: 1rem 0 12rem;
    margin: 10px auto 50px auto;
    max-width: 128rem;
}

.article .date {
  font-size: 2rem;
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .article {
    padding: 2rem 0 4rem;
  }

  .article .date {
    font-size: 1.2rem;
    margin-top: 1rem;
  }
}
