/*button*/
.f_button{
  display: flex;
  align-items: center;
  width: 380px;
  height: 76px;
  border-radius: 38px;
  background: #4F85AB;
  color: #fff;
  text-decoration: none;
  padding-left: 35px;
  font-weight: bold;
  font-size: 1.8rem;
}

.f_button>span{
  position: relative;
  padding-left: 44px;
  display: inline-block;
}

.f_button.pdf>span::before{
  content: '';
  position: absolute;
  top:-3px;
  left: 0;
  color: #fff;
  width: 30px;
  height: 32px;
  background: url(../svg/icon_pdf.svg) no-repeat  50% 50% / 100%;
}
@media screen and (max-width: 768px) {
  .f_button{
    width: 100%;
    height: 76px;
    padding-left: 35px;
    font-size: 1.6rem;
  }
}

.f_button2{
  width: 226px;
  height: 60px;
  font-weight: bold;
  font-size: 1.4rem;
  line-height:60px;
  text-align: left;
  color: #fff;
  padding-left: 38px;
  border-radius: 50px;
  background-color: #4F85AB;
  background-image: url(../svg/icon_arrow_under.svg);
  background-position: 90% 50%;
  background-repeat: no-repeat;
  display:block ;
  align-items: center;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .f_button2 {
    width: 145px;
    height: 40px;
    font-size: 1.3rem;
    line-height: 39px;
    padding-left: 15px;
    border-radius: 50px;
    background-position: 93% 50%;
    background-size: 20px;
  }
}

/*pdf*/
.f_pdf_list{
  display: flex;
  gap:30px;
  flex-wrap:wrap;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .f_pdf_list>li{
    width: 100%;
  }
}


/*セクション*/
.f_section {
  font-size: 1.8rem;
  line-height: 2;
}


/*画像*/
.f_one_img img{
  display: block;
  max-width: 100%;
  margin: 0 auto;
  width: auto;
  overflow: hidden;
  border-radius: 33px;
}

.f_one_img figcaption{
  text-align: left;
}


/*メインビジュアル*/
.f_main_visual {
  position: relative;
  padding: 50px 50px 400px;
}

.f_main_visual .block1{
  position: relative;
  max-width: 1680px;
  height:  469px;
  margin: 0 auto;
  border-radius: 82px;
  overflow: hidden;
}

.f_main_visual .block1 picture{
  height: 100%;
}

.f_main_visual .block1 picture img{
  height: 100%;
  object-fit: cover;
}

.f_main_visual .block1::after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0.4 ;
  z-index: 9;
}

.f_main_visual .ttl{
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  transform: translateY(-50%);
  font-weight: bold;
  font-size: 4.9rem;
  color: #4F85AB;
  z-index: 10;
}
@media screen and (max-width: 1100px) {
  .f_main_visual{
    padding: 0px 15px 180px;
  }

  .f_main_visual .block1{
    position: relative;
    aspect-ratio: 400 / 220;
    position: relative;
      height: auto;
    border-radius: 30px;
  }

  .f_main_visual .ttl {
    font-size: 3.0rem;
  }
}

.f_main_head{
  position: relative;
  height: 650px;
  background: #fff;
}

.f_main_head .ttl{
  position: absolute;
  left: 0;
  top:120px;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 4.9rem;
  z-index: 10;
}
@media screen and (max-width: 1100px) {
  .f_main_head {
      position: relative;
      height: 300px;
      background: #fff;
  }

  .f_main_head .ttl {
      top: 50%;
      transform: translateY(-50%);
      font-size: 3.0rem;
      line-height: 1.5;
      padding: 0 10px;
      margin-top: -74px;
  }

}


/*見出し大*/
.f_headline_l {
  position: relative;
  padding-bottom: 34px;
  margin-bottom: 60px;
}

.f_headline_l::after{
  content: '';
  position: absolute;
  bottom:0;
  left:50%;
  margin-left: -40px;
  width: 80px;
  height: 2px;
  background-image: repeating-linear-gradient(
    to right,
    #4B4B4B 0px,
    #4B4B4B 6px,
    transparent 6px,
    transparent 12px
  );
}

.f_headline_l em{
  display: block;
  font-family: var(--sub);
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  color: #FF9900;
  line-height: 1;
  margin-bottom: 0.5em;
}
.f_headline_l strong{
  display: block;
  font-weight: bold;
  font-size: 3.6rem;
  line-height: 1;
  text-align: center;
  color: #4B4B4B;
}
@media screen and (max-width: 1100px) {

  .f_headline_l {
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 50px;
  }

  .f_headline_l em{
    font-size: 1.8rem;
    margin-bottom: 0.8em;
  }

  .f_headline_l strong {
    display: block;
    font-weight: bold;
    font-size: 2.6rem;
    line-height: 1;
    text-align: center;
    color: #4b4b4b;
  }
}

.f_headline_m{
  position: relative;
  font-size: 3rem;
  padding-left: 30px;
  font-weight: bold;
  color: #4B4B4B;
  line-height: 1.5;
}

.f_headline_m::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 47px;
  width: 10px;
  background: #FF9900;
}

.f_headline_m.center{
  padding-left: 0;
  margin-bottom: 60px;
  text-align: center;
}

.f_headline_m.center::before{
  display: none;
}
@media screen and (max-width: 1100px) {
  .f_headline_m{
    position: relative;
    font-size: 2.4rem;
    padding-left: 20px;
  }

  .f_headline_m::before {
    top: 0;
    left: 0;
    height: 37px;
    width: 8px;
  }

}

.f_mark{
  position: relative;
  padding-left: 23px;
}

.f_mark::before {
  content: '';
  position: absolute;
  top: 9px;
  left: 0;
  width: 20px;
  height: 20px;
  background: url(../svg/icon_mark.svg) no-repeat 50% 50% / 100%;
}

/*
テーブル
*/
.f_table1_wrap{
  position: relative;
}

.f_table1 {
  width: 100%;
  border-collapse: collapse;
}

.f_table1 tr th {
  border: 5px solid #EAF8F4;
  font-size: 1.8rem;
  line-height: 1.5;
  background-color: #D8F1E9;
  vertical-align: top;
  font-weight: bold;
  vertical-align: middle;
  padding: 17px 30px;
}
.f_table1 tr th.va_top{
  vertical-align: top;
  padding-top: 25px;
}

.f_table1 tr td {
  font-size: 1.8rem;
  line-height: 1.5;
  padding: 17px 30px;
  border: 5px solid #EAF8F4;
  vertical-align: top;
  background: #fff;
  /*font-weight: bold;*/
}

.f_table1 tr td small {
  display: block;
  font-size: 1.8rem;
  line-height: 1;
  margin-top: 5px;
  font-weight: normal;
}

@media screen and (max-width: 768px) {
  .f_table1_wrap{
    overflow-x: auto;
  }

  .f_table1{
    min-width: 100%;
  }

  .f_table1 tr th,
  .f_table1 tr td {
    font-size: 1.6rem;
    padding: 10px 15px;
    white-space: nowrap;
  }

  .f_table1 tr td small {
    display: block;
    font-size: 1.4rem;
    line-height: 1.3;
  }

}


.f_map{
  aspect-ratio: 1200 / 769;
  width: 100%;
  overflow: hidden;
  position: relative;
  border-radius: 47px;
  margin-bottom: 44px;
  background: #fff;
}

.f_map iframe{
  width: 100%;
  height: 100%;
}

/*2列*/
.f_row{
  overflow: hidden;
}

.f_row.left figure {
  width: 38%;
  margin-right: 50px;
  margin-bottom: 10px;
  float: left;
  text-align: center;
}

.f_row.right figure {
  width: 38%;
  margin-left: 50px;
  margin-bottom: 10px;
  float: right;
  text-align: center;
  border-radius: 32px;
  overflow: hidden;
}

.f_row.left figure img,
.f_row.right figure img {
  width: auto;
  max-width: 100%;
}

.f_row.clear {
  display: flex;
  width: 100%;
}

.f_row.right.clear {
  flex-direction: row-reverse;
}

.f_row.right.clear figure,
.f_row.left figure {
  float: none;
}

.f_row.right.clear figure img,
.f_row.left.clear figure img {
  width: auto;
}

.f_row.left.clear figure,
.f_row.right.clear figure {
  max-width: 400px;
  align-self: flex-start;
  overflow: hidden;
  border-radius: 33px;
}

.f_row.left.clear >.col,
.f_row.right.clear >.col {
  width: 75%;
}


@media screen and (max-width: 768px) {

  .f_row.left.clear,
  .f_row.right.clear{
    display: block;
  }

  .f_row.left.clear figure,
  .f_row.right.clear figure {
    width: 100%;
    text-align: center;
    margin: 0 auto 20px;
  }

  .f_row.left.clear >.col,
  .f_row.right.clear >.col {
    width: 100%;
  }
}

/*1カラム*/
.f_box_one ,
.f_box_two,
.f_box_three{
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap:wrap;
}


.f_box_two .item,
.f_box_one .item,
.f_box_three .item{
  padding: 35px;
  border-radius: 32px;
  background: #fff;
}

.f_box_two .item{
  padding-top: 25px;
}

.f_box_one .item *:last-child,
.f_box_two .item *:last-child,
.f_box_three .item *:last-child{
  margin-bottom: 0;
}

.f_box_two .item{
  width: calc((100% - 30px) / 2 );
  padding: 27px;
}

.f_box_three .item{
  padding: 27px;
  width: calc((100% - 60px) / 3 );
}

.box.edit ul.dot>li {
  padding-left: 1em;
  position: relative;
  font-size: 1.8rem;
}

.f_box_one ul.dot>li,
.f_box_two ul.dot>li,
.f_box_three ul.dot>li{
  font-size: 1.6rem;
}

.f_box_one p,
.f_box_two p,
.f_box_three p{
  font-size: 1.6rem;
}


@media screen and (max-width: 1100px) {

  .f_box_two .item,
  .f_box_three .item{
    width: 100%;
  }

  .f_box_one .item,
  .f_box_two .item,
  .f_box_three .item{
    padding: 20px;
    border-radius: 32px;
    background: #fff;
  }
}

.f_radius_block{
  border-radius: 37px;
  background: #fff;
  padding: 50px 70px;
}
@media screen and (max-width: 1100px) {
  .f_radius_block{
    border-radius: 20px;
    background: #fff;
    padding: 30px 20px;
  }
}

.f_back{
  margin-top: 50px;
  font-size:2rem;
  font-weight: bold;
}



/*
TinyMEC
*/

/*見出し中*/
 .box.edit{
  font-size: 1.8rem;
  line-height: 2;
 }

/*見出し大*/
.box.edit h3{
  font-size: 3rem;
  margin-bottom: 1.5em;
  line-height: 1.8;
  font-weight: bold;
  text-align: center;
  color: #4B4B4B;
}
@media screen and (max-width: 1100px) {
 .box.edit h3{
    font-size: 2.4rem;
  }
}
/*見出し中*/
.box.edit h4{
  font-size: 2.6rem;
  margin-bottom: 1em;
  line-height: 1.8;
  font-weight: bold;
  text-align: center;
  color: #4B4B4B;
}

@media screen and (max-width: 1100px) {
 .box.edit h4{
    font-size: 2.2rem;
  }
}

/*見出し小*/
.box.edit h5{
  font-size: 2rem;
  margin-bottom: 5px;
  line-height: 1.8;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 1100px) {
 .box.edit h5{
    font-size: 1.8rem;
  }
}

.box.edit p{
  margin-bottom: 2em;
}

.box.edit  img{
  display: block;
  max-width: 100%;
  margin: 0 auto;
  width: auto;
  border-radius: 33px;
  overflow: hidden;
}

.box.edit small{
  font-size: 1.6rem;
}

.box.edit ul.rds_check>li,
.box.edit ul.ast>li,
.box.edit ul.check>li,
.box.edit ul.dot>li{
  position: relative;
  line-height: 1.5;
  margin-bottom: 0.5em;
  padding-left: 1.2em;
}

.box.edit ul.ast>li::before{
  content: "＊";
  position: absolute;
  left:0;
  top:1px;
  display: inline-block;
  width: 1em;
  height: 1em;
}

.box.edit ul.check>li::before{
  content: "";
  position: absolute;
  left:0;
  top:4px;
  display: inline-block;
  width: 19px;
  height: 19px;
  background: url(../svg/icon_circle_check.svg) no-repeat center / contain;
}

.box.edit ul.dot>li{
  padding-left: 1em;
  position: relative;
}

.box.edit ul.dot>li::before {
  content: "";
  position: absolute;
  width: 1em;
  height: 1em;
  left:0;
  top:5px;
  display: inline-block;
  background: #FF9900;
  border-radius: 50%;
  transform: scale(0.5);
}

.box.edit ul.rds_check>li{
  position: relative;
  margin-bottom: 10px;
  overflow: hidden;
  background: #fff;
  border-radius: 11px;
  padding: 10px 22px;
  padding-left: 50px;
}

.box.edit ul.rds_check>li::before{
  content: "";
  position: absolute;
  left:25px;
  top:15px;
  display: inline-block;
  width: 19px;
  height: 19px;
  background: url(../svg/icon_circle_check.svg) no-repeat center / contain;
}

/*オーダーリスト*/
.box.edit ol {
  counter-reset: item; /* カウンターをリセット */
}

.box.edit ol > li {
  counter-increment: item; /* 各 li に対してカウンターを増やす */
  position: relative;
  padding-left: 40px;
  margin-bottom: 25px;
}

.box.edit ol > li h5{
  text-align: left;
  margin-top: -1px;
}

.box.edit ol > li::before {
  content: counter(item) ; /* カウンターの値を表示 */
  position: absolute;
  left: 0;
  top:0;
  width:32px;
  height: 32px;
  line-height: 30px;
  font-size: 2rem;
  font-weight: bold;
  border-radius: 50%;
  background: #FF9900;
  text-align: center;
  color: #fff;
}

.box.edit .quote{
  background: #D8F1E9;
  padding: 10px 20px;
}

