@charset "UTF-8";

/****************************
  common
*****************************/

.container_gfs {
  max-width: 1920px;
  margin: 0 auto;
  padding: 0;
}

h1.h1_contents {
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: 20px;
  line-height: 1;
  color: #ccc;
}

h2.h2_contents {
  margin: 0;
  padding: 60px 0 5px;
  text-align: left;
  font-size: 16px;
  line-height: 1;
  color: #fff;
  border-width: 0 0 2px 0;
  border-style: solid;
  border-color: rgba(214, 185, 148, 0.7);
  border-color: #fff;
}
h2.h2_contents.first {
  padding-top: 0;
}
h2.h2_contents.mb {
  margin-bottom: 20px;
}

/****************************
  slider
*****************************/

.colors-f .slider.trout .slick-prev {
  left: 10px;
}
.colors-f .slider.trout .slick-next {
  right: 10px;
}

.colors-f .slider.trout .slick-prev,
.colors-f .slider.trout .slick-next {
  margin: -20px 0 0 0;
  padding: 0;
  width: 40px;
  height: 40px;
  border-radius: 5px;
  background-color: #333;
  background-color: rgba(0, 0, 0, 0.4);
}

.colors-f .slider.trout .slick-prev:before,
.colors-f .slider.trout .slick-next:before {
  color: #fff;
  background-color: transparent;
  text-align: center;
  font-size: 25px;
}
.colors-f .slider.trout .slick-prev:hover,
.colors-f .slider.trout .slick-next:hover {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.6);
}

.slider .slick-dots {
  top: auto;
  bottom: 5px;
  margin: 0;
  padding: 0;
}

.colors-f .slider .slick-dots li button:before {
  color: #fff;
  color: rgba(255, 255, 255, 0.4);
  opacity: 1;
}
.colors-f .slider .slick-dots li.slick-active button:before {
  color: #fff;
  color: rgba(255, 255, 255, 1);
  opacity: 1;
}

.slider.none_btn .slick-prev,
.slider.none_btn .slick-next {
  display: none !important;
}

/****************************
  stay
  restaurant
  shop
*****************************/

h3.h3_stay {
  margin: 0;
  padding: 10px 0 0;
  text-align: left;
  font-size: 14px;
  line-height: 1;
}

p.p_add {
  margin: 0;
  padding: 10px 0 0;
  font-size: 13px;
  line-height: 1;
}

p.p_tel {
  margin: 0;
  padding: 4px 0 0 0;
  font-size: 15px;
  line-height: 1;
}

.fa.icon_hp,
.fa.icon_map {
  display: inline-block;
  width: 29px;
  margin: 0 5px 0 0;
  padding: 2px 0 1px;
  text-align: center;
  font-size: 25px;
  color: #fff;
}
.fa.icon_hp {
  background-color: #2faf4a;
}
.fa.icon_map {
  background-color: #e95121;
}

/* map */

#map_stay,
#map_restaurant,
#map_shop {
  width: 100%;
  height: 600px;
  margin: 20px 0 0;
  padding: 0;
}

.wrapper_info_win {
  clear: both;
}

h4.h4_info_win {
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #000;
}

p.p_info_win {
  margin: 0;
  padding: 5px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: #000;
}

.img_info_win {
  float: right;
  text-align: right;
  padding: 0 0 5px 5px;
}

/****************************
  staff
*****************************/

h3.h3_staff {
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: 15px;
  line-height: 1;
}

h4.h4_staff {
  margin: 0;
  padding: 4px 0 0;
  font-weight: bold;
  font-size: 12px;
  line-height: 1.2;
  color: #666;
}

p.p_staff {
  margin: 0;
  padding: 8px 0 0;
  font-size: 13px;
  line-height: 1.4;
}

/**/

.btn_sns {
  display: inline-block;
  width: 23px;
  height: 23px;
  margin: 0 0 0 2px;
  padding: 4px 0 0;
  text-align: center;
  font-size: 16px;
  line-height: 16px;
}

.btn_sns.btn-facebook {
  color: #fff;
  background-color: #4863ae;
}
.btn_sns.btn-facebook:hover {
  background-color: #445fa4;
}

.btn_sns.btn-twitter {
  color: #fff;
  background-color: #46c0fb;
}
.btn_sns.btn-twitter:hover {
  background-color: #33bafb;
}

.btn_sns.btn-google-plus {
  color: #fff;
  background: #d64937;
}
.btn_sns.btn-google-plus:hover {
  background: #d1412c;
}

.btn_sns.btn-youtube {
  color: #fff;
  background: #ff0000;
}
.btn_sns.btn-youtube:hover {
  background: #e80000;
}

/****************************
  trout
*****************************/

.slider.trout .wrapper_slider {
  position: relative;
}
.slider.trout .wrapper_slider .wrapper_slider_contents {
  position: absolute;
  top: 15%;
  left: 12%;
  max-width: 600px;
}

h2.h2_trout {
  margin: 0;
  padding: 0;
  text-align: left;
  font-family: 'HG明朝E', serif;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.4;
}

h5.h5_trout {
  margin: 15px 0 0;
  padding: 0;
  font-weight: normal;
  font-size: 12px;
  line-height: 1.5;
}

.wrapper_trout_lead {
  display: none;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  /* under 767px */
  .wrapper_slider_contents {
    display: none;
  }
  .wrapper_trout_lead {
    display: block;
  }
}

h3.h3_trout {
  margin: 0;
  padding: 10px 0 0;
  text-align: left;
  font-weight: bold;
  font-size: 16px;
  line-height: 1;
}
h3.h3_trout span {
  padding: 0 0 0 3px;
  font-size: 18px;
}

h4.h4_trout {
  margin: 0;
  padding: 10px 0 0;
  text-align: left;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
}

p.p_trout {
  margin: 0;
  padding: 8px 0 0;
  font-size: 14px;
  line-height: 1.5;
}

/****************************
  nature
*****************************/

h2.h2_nature {
  margin: 0;
  padding: 0;
  text-align: left;
  font-family: 'HG明朝E', serif;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.4;
}

p.p_nature {
  margin: 0;
  padding: 8px 0 0;
  font-size: 14px;
  line-height: 1.5;
}

@media screen and (max-width: 991px) {
  /* under 991px */
  p.p_nature {
    padding-bottom: 15px;
  }
}

/****************************
  photogallery
*****************************/

.wrapper_photogallery_nav {
  margin: 0;
  padding: 0 0 20px;
}

.wrapper_photogallery_nav span,
.wrapper_photogallery_nav a {
  display: inline-block;
  margin: 0 7px 9px 0;
  padding: 6px 20px;
  font-weight: normal;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  border: 1px solid #666;
}
.wrapper_photogallery_nav a,
.wrapper_photogallery_nav a:link,
.wrapper_photogallery_nav a:visited {
  color: #d6b994;
  background-color: transparent;
}
.wrapper_photogallery_nav span,
.wrapper_photogallery_nav a:hover,
.wrapper_photogallery_nav a:active {
  color: #ccb08e;
  background-color: #5c5853;
}

.wrapper_photogallery {
  display: block;
  background-color: #222;
}

.wrapper_photogallery_thumb {
  position: relative;
}
.wrapper_photogallery_thumb .icon_zoom {
  position: absolute;
  right: 7px;
  bottom: 7px;
  font-weight: normal;
  font-size: 18px;
  color: #000;
}
.wrapper_photogallery_thumb img {
  vertical-align: bottom;
}

h3.h3_photogallery {
  margin: 0;
  padding: 10px 0 0 10px;
  font-weight: normal;
  font-size: 14px;
  line-height: 1;
  color: #ccc;
}

p.p_photogallery {
  margin: 0;
  padding: 5px 0 10px 10px;
  font-size: 13px;
  line-height: 1;
  color: #d6b994;
}

.scrollfade {
  opacity: 0;
}

/****************************
  faq
*****************************/

dl.dl_faq {
  clear: both;
  margin: 15px 0;
  padding: 10px;
  border: 1px solid #666;
}
dl.dl_faq dt,
dl.dl_faq dd {
  padding: 0 0 0 27px;
  line-height: 20px;
}
dl.dl_faq dt {
  margin: 0;
  background: url(../images/icon_faq_question.png) no-repeat;
}
dl.dl_faq dd {
  margin: 15px 0 0;
  background: url(../images/icon_faq_answer.png) no-repeat;
}

/****************************
  report
*****************************/

.wrapper_report {
  padding-bottom: 80px;
}

.wrapper_report h2 {
  margin: 0 0 20px;
  padding: 4px 0 5px 10px;
  text-align: left;
  font-size: 1.2em;
  line-height: 1;
  color: #fff;
  border-bottom: 1px dotted #fff;
  border-left: 6px solid #fc0;
  border-left: 6px solid #d6b994;
}

.wrapper_report h3 {
  margin: 0 0 20px;
  padding: 0;
  text-align: left;
  font-size: 1.2em;
  color: #fc0;
  color: #d6b994;
}

.wrapper_report .wrapper_image {
  text-align: right;
}

.wrapper_report .image {
  display: inline-block;
  margin: 10px 0 5px 0;
  padding: 4px;
  border: 1px solid #777;
  text-align: center;
}

.wrapper_report p.cap {
  margin: 0;
  padding: 3px 0 0 0;
  font-size: 10px;
  text-align: center;
  color: #fff;
}

.wrapper_report .underline {
  margin: 0 10px 0 0;
  line-height: 1.1;
  color: #fff;
  border-bottom: 1px solid #fff;
}

.wrapper_report .pointmap a {
  white-space: nowrap;
}

.wrapper_report .pointmap a:link,
.wrapper_report .pointmap a:visited {
  margin: 0;
  padding: 0.4em;
  text-align: center;
  font-size: 10px;
  text-decoration: none;
  color: #fff;
  background-color: #555;
  border: 1px solid #ccc;
}
.wrapper_report .pointmap a:hover,
.wrapper_report .pointmap a:active {
  background-color: #888;
  text-decoration: none;
}

.wrapper_report p.movie {
  margin: 0;
  padding: 1em 0 0 15px;
  text-align: left;
  color: #fff;
}

.wrapper_report p {
  font-size: 14px;
}

.wrapper_report p.weather {
  color: #fff;
}

.wrapper_report p.link,
.wrapper_report p.weather {
  padding: 0;
  text-align: left;
  font-size: 13px;
}

.wrapper_report p.link {
  display: flex;
  flex-wrap: wrap;
  row-gap: 10px;
}

.wrapper_report p.weather {
  margin: 40px 0 0;
}

.report_row {
  --imgArea: 204px;
  --colGap: 15px;
  display: grid;
  grid-template-columns: 1fr var(--imgArea); /* 2列のレイアウト */
  grid-template-rows: auto; /* 各行の高さは内容に応じて自動調整 */
  align-items: start;
  column-gap: var(--colGap);
}

.report_row .wrapper_reportContent {
  grid-column: 1 / 2; /* 1列目に配置 */
  width: calc(100% - (var(--imgArea) + var(--colGap)));
}

.report_row .wrapper_image {
  grid-column: 2 / 3; /* 2列目に配置 */
  grid-row: 1 / 3; /* 2行分の高さに伸ばす */
  min-width: var(--imgArea);
}

.report_row .wrapper_reportInfo {
  grid-column: 1 / 2; /* 1列目に配置 */
  grid-row: 2 / 3; /* 2行目に配置 */
  width: calc(100% - (var(--imgArea) + var(--colGap)));
}
.report_row .wrapper_reportContent p,
.report_row .wrapper_reportInfo p {
  word-wrap: break-word;
}

@media screen and (max-width: 640px) {
  .report_row {
    grid-template-columns: auto;
    row-gap: 10px;
  }
  .report_row .wrapper_reportContent {
    grid-column: auto;
    width: 100%;
  }

  .report_row .wrapper_image {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
  }

  .report_row .wrapper_reportInfo {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
  }
}

/****************************
  access
*****************************/

#map_access {
  width: 100%;
  height: 600px;
  margin: 0 0 30px;
  padding: 0;
}

/****************************
  regulation
  howto
  access
  privacypolicy
  bank
*****************************/

h2.h2_regulation {
  margin: 0;
  padding: 0;
  text-align: left;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.2;
}

h2.h2_regulation .fa {
  margin-right: 4px;
  color: #666;
}

h2.h2_regulation.pt30 {
  padding-top: 30px;
}

h3.h3_regulation {
  margin: 0;
  padding: 15px 0 0;
  text-align: left;
  font-weight: normal;
  font-size: 14px;
  line-height: 2;
}

h3.h3_regulation.text_underline {
  text-decoration: underline;
}

p.p_regulation {
  margin: 0;
  padding: 15px 0 0;
  font-size: 14px;
  line-height: 1.5;
}
p.p_regulation.text_right {
  padding-top: 30px;
  text-align: right;
}

ol.ol_regulation {
  margin: 0;
  padding: 7px 0 0 18px;
  list-style-type: decimal;
}
ol.ol_regulation li {
  margin: 0;
  padding: 8px 0 0;
  font-size: 14px;
  line-height: 1.5;
}

ul.ul_regulation {
  margin: 0;
  padding: 7px 0 0 18px;
  list-style-type: disc;
}
ul.ul_regulation li {
  margin: 0;
  padding: 8px 0 0;
  font-size: 14px;
  line-height: 1.5;
}

ul.ul_regulation li strong {
  font-weight: bold;
}

p.p_yellow {
  margin: 0;
  padding: 15px 0 0;
  color: #d5b896;
  font-size: 14px;
  line-height: 2;
}
@media (max-width: 767px) {
  /* under 767px */
  p.p_yellow {
    padding-bottom: 15px;
  }
}

@media screen and (max-width: 991px) {
  /* under 991px */
  ol.ol_regulation {
    padding-bottom: 15px;
  }
}

/****************************
  event
*****************************/

.fa.icon_event {
  display: inline-block;
  width: 29px;
  margin: 0 5px 0 0;
  padding: 2px 0 1px;
  text-align: center;
  font-size: 25px;
  color: #fff;
  background-color: #bc444c;
}

.unit_event {
  float: left;
  width: 100%;
  margin: 0 auto;
  padding: 30px 15px 0;
}
@media (min-width: 768px) {
  /* 768px <= */
  .unit_event {
    width: 20%;
  }
}

.wrapper_event {
  margin: 0 0 20px;
  padding: 10px;
  border: 1px solid #d5b896;
  color: #d5b896;
  text-decoration: none;
}

h2.h2_event {
  margin: 0;
  padding: 0;
  text-align: left;
  color: #d5b896;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.2;
}

h3.h3_event {
  margin: 0;
  padding: 0;
  text-align: left;
  color: #d5b896;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.2;
}

h4.h4_event {
  margin: 0;
  padding: 0;
  text-align: left;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
}

p.p_event {
  margin: 0;
  padding: 15px 0 0;
  text-align: left;
  color: #d5b896;
  font-size: 14px;
  line-height: 1.8;
}

p.p_event_big {
  margin: 0;
  padding: 15px 0 0;
  font-size: 15px;
  line-height: 1.8;
}

/****************************
  fishinglesson
*****************************/
.fl_visualArea {
  position: relative;
  margin: 0;
  /* overflow-x: hidden; */
}
.fl_visualArea_imgWrap {
  display: block;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  aspect-ratio: 2000/1022;
}
.fl_visualArea_imgWrap img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.fl_visualArea_catchWrap {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.fl_visualArea_catch {
  font-size: clamp(1.25rem, -0.534rem + 3.71vw, 2.25rem);
  font-weight: 600;
  line-height: calc(48 / 36);
  margin-top: 0;
  margin-bottom: 0;
  text-align: left;
  /* ドロップシャドウを追加 */
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}

.fl_visualArea_catch_en {
  display: block;
  font-size: clamp(1.063rem, -0.055rem + 2.33vw, 1.688rem);
  font-weight: bold;
  line-height: calc(35 / 24);
  text-align: left;
  /* ドロップシャドウを追加 */
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}

.fl_contentArea {
  margin-top: 145px;
}
.fl_contentArea p {
  font-size: 16px;
  line-height: calc(30 / 16);
}
.fl_contentArea_read {
  width: min(815px, 90%);
  margin-inline: auto;
  font-size: 25px;
  line-height: calc(40 / 25);
  font-weight: 600;
  text-align: left;
}
.fl_contentArea_enRead {
  display: block;
  font-size: 20px;
  font-weight: normal;
  line-height: calc(31 / 20);
  margin-top: 24px;
}

.fl_contentCont {
  margin-top: 150px;
  padding-left: 0;
  list-style: none;
}

.fl_contentUnit + .fl_contentUnit,
.fl_lecturerProfileWrap {
  margin-top: 100px;
}

.fl_lecturerProfile {
  padding: 40px 0;
  border-bottom: 1px solid #eee;
}

.fl_contentUnit,
.fl_lecturerProfile {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  column-gap: 4%;
  row-gap: 50px;
}
.fl_contentUnit {
  list-style: none;
}
.fl_lecturerProfile,
.fl_contentUnit.fl_contentUnit__re {
  flex-direction: row-reverse;
}
.fl_contentUnit.fl_contentUnit__columnRe {
  flex-direction: column-reverse;
  padding-bottom: 40px;
  border-bottom: 1px solid #eee;
}

.fl_contentUnit_imgArea,
.fl_lecturerProfile_imgArea {
  display: block;
  flex: 0 1 46%;
}
.fl_contentUnit_imgArea {
  padding-top: 29.5px;
}

.fl_contentUnit.fl_contentUnit__columnRe .fl_contentUnit_imgArea {
  padding-top: 0;
}
.fl_contentUnit_imgArea figcaption,
.fl_lecturerProfile_imgArea figcaption {
  font-size: 15px;
  text-shadow: 1px 1px 0 #000;
  color: #eeeeee;
  text-align: right;
  translate: -4px -23px;
}
.fl_contentUnit_imgArea img,
.fl_lecturerProfile_imgArea img {
  display: block;
  width: 100%;
  object-fit: cover;
}
.fl_contentUnit_imgArea video,
.fl_lecturerProfile_imgArea video {
  width: 100%;
}
.fl_contentUnit_txtArea,
.fl_lecturerProfile_txtArea {
  flex: 1;
  height: fit-content;
}
.fl_contentUnit_txtArea {
  border-bottom: 1px solid #eeeeee;
  padding-bottom: 40px;
}
.fl_contentUnit.fl_contentUnit__columnRe .fl_contentUnit_txtArea {
  padding-bottom: 0;
  border-bottom: 1px solid transparent;
}
.fl_contentUnit_txtArea p {
  font-size: 18px;
  line-height: calc(35 / 18);
  font-weight: 300;
  margin: 24px 0 0;
}
.fl_contentUnit_txtArea .fl_contentUnit_itemName,
.fl_lecturerProfile_ttl {
  font-size: 17px;
  font-weight: bold;
  line-height: calc(20 / 17);
  padding-bottom: 10.5px;
  border-bottom: 1px solid #eeeeee;
  margin-top: 0;
}
.fl_contentUnit_txtArea .fl_contentUnit_ttl {
  font-size: 20px;
  font-weight: 600;
  margin: 40px 0 0;
  line-height: calc(35 / 20);
  text-align: left;
}
.fl_contentUnit_txtArea .fl_contentUnit_enTtl,
.fl_infoListEnHeading {
  font-size: 20px;
  line-height: calc(46 / 20);
  font-weight: normal;
  margin: 24px 0 0;
}

.fl_contentUnit_txtArea .fl_contentUnit_enTxt {
  font-size: 15px;
  line-height: calc(23 / 15);
  font-weight: normal;
  margin: 20px 0 0;
}

.fl_lecturerProfile_txtArea p,
.fl_lecturerProfile_txtArea a {
  font-size: 16px;
  line-height: calc(30 / 16);
}

.fl_lecturerProfile_txtArea p:not(:first-of-type) {
  margin-top: 45px;
}

.fl_lecturerProfile_txtArea a {
  display: inline-block;
  margin-top: 16px;
}
.fl_contentArea .fl_infoTtl {
  font-size: 20px;
  font-weight: 600;
  line-height: calc(46 / 20);
  color: #d5b896;
  text-align: left;
}
.fl_infoWrap {
  border: 2px solid #d5b896;
  padding: min(22px, 4%);
}
.fl_infoWrap * {
  color: #d5b896;
}
.fl_info:not(:first-of-type) {
  margin-top: 47px;
}
.fl_info .fl_infoListHeading {
  font-size: 20px;
  font-weight: 600;
  text-align: left;
  color: #d5b896;
  margin-top: 0px;
}
.fl_infoList {
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 16px;
  row-gap: 0.5em;
  margin-top: 20px;
}
.fl_infoList dt,
.fl_infoList dd {
  font-size: 18px;
  font-weight: 300;
}

.fl_infoList.fl_infoList__en dt,
.fl_infoList.fl_infoList__en dd {
  font-size: 15px;
  line-height: calc(23 / 15);
  font-weight: normal;
}
.fl_attention {
  margin-top: 71px;
  margin-bottom: 0;
}
.fl_attention:not(:first-of-type) {
  margin-top: 48px;
}
.fl_btnWrap .btn {
  width: min(310px, 100%);
  text-align: center;
  padding: 18px 16px;
}
.hp_wbr {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 769px) {
  .fl_contentUnit_txtArea p {
    font-size: 16px;
    line-height: 1.7;
  }
}
@media screen and (max-width: 768px) {
  .fl_visualArea_imgWrap {
    aspect-ratio: 768/392;
  }

  .fl_contentArea {
    margin-top: 67px;
  }
  .fl_contentArea_read {
    width: min(530px, 100%);
    font-size: 18px;
  }
  .fl_contentArea_enRead {
    font-size: 13px;
  }
  .fl_contentCont {
    margin-top: 68px;
  }
  .fl_contentUnit + .fl_contentUnit,
  .fl_lecturerProfileWrap {
    margin-top: 52px;
  }
  .fl_contentUnit {
    flex-direction: column-reverse;
  }
  .fl_lecturerProfile,
  .fl_contentUnit.fl_contentUnit__re {
    flex-direction: column-reverse;
  }
  .fl_contentUnit_imgArea,
  .fl_lecturerProfile_imgArea,
  .fl_contentUnit_txtArea,
  .fl_lecturerProfile_txtArea {
    flex: auto;
  }
  .fl_contentUnit.fl_contentUnit__columnRe {
    border-bottom: 1px solid transparent;
  }
  .fl_contentUnit.fl_contentUnit__columnRe .fl_contentUnit_txtArea {
    padding-bottom: 30px;
    border-bottom: 1px solid #eee;
  }
  .fl_contentUnit_imgArea {
    padding-top: 0;
  }
  .fl_contentUnit_txtArea p,
  .fl_contentArea .fl_infoTtl,
  .fl_info .fl_infoListHeading,
  .fl_infoList dt,
  .fl_infoList dd,
  .fl_attention {
    font-size: 15px;
  }
}
@media screen and (max-width: 640px) {
  .fl_visualArea_imgWrap {
    aspect-ratio: 375/232;
  }
  .fl_visualArea_catch {
    font-size: 18px;
  }
  .fl_contentArea {
    margin-top: 47px;
  }
  .fl_contentArea_read,
  .fl_contentArea_enRead {
    font-size: 15px;
  }
  .fl_lecturerProfile,
  .fl_contentUnit,
  .fl_contentUnit.fl_contentUnit__re,
  .fl_contentUnit.fl_contentUnit__columnRe {
    flex-direction: column;
    row-gap: 16px;
  }
  .fl_contentUnit.fl_contentUnit__columnRe {
    padding-bottom: 0;
  }
  .fl_infoList {
    grid-template-columns: auto;
    row-gap: 0.5em;
    margin-top: 20px;
  }
  .fl_infoList dt {
    margin-top: 0.5em;
  }
  .fl_attention {
    margin-top: 50px;
  }
  .fl_attention:not(:first-of-type) {
    margin-top: 35px;
  }
  .fl_btnWrap .btn {
    width: 100%;
  }
}

/* スマートフォン用のメディアクエリ */
@media screen and (max-width: 600px) {
  .pair-info {
    display: block;
    margin-top: 5px;
  }
}


/****************************
  meeting-documents
  背景カラーボックス
*****************************/
.color-box {
  background-color: #c7c761;
  padding: 20px;
  border-radius: 5px;
  display: inline-block;
}

/****************************
meeting-documents
付箋風カラーボックス
*****************************/
.box8 {
  padding: 0.5em 1em;
  margin: 2em 0;
  color: #000000; /* テキストカラーをブラックに設定 */
  background: #fff8e8;
  border-left: solid 10px #ffc06e;
  width: 80%; /* 横幅の調整 */
  max-width: 430px; /* 最大幅の設定（任意） */
}
.box8 p {
  margin: 0; 
  padding: 0;
  color: #000000; /* pタグ内のテキストもブラックに設定 */
}
.box8 a {
  color: #000000; /* リンクテキストもブラックに設定 */
  text-decoration: none; /* リンクの下線を消す（任意） */
}
.box8 a:hover {
  color: #808080; /* ホバー時にテキストカラーをグレーに設定 */
}

/****************************
  ふるさと納税ページ 付箋風カラーボックス
*****************************/
.custom-box {
	display: inline-block; /* コンテンツに合わせて幅を調整 */
	background-color: #783d3d; /* 背景色 */
	color: white; /* テキストカラー */
	padding: 10px 20px; /* 内側の余白（上下左右） */
	border-radius: 0px; /* 角を丸める（オプション） */
	margin-bottom: 20px;
	margin-top: 20px;
	font-family: Arial, sans-serif; /* フォントスタイル（オプション） */
	font-size: 16px; /* フォントサイズ（調整可能） */
  }
  .custom-box2 {
	padding: 0.5em;/*文字周りの余白*/
	color: white;/*文字色*/
	background: #9e716d;/*背景色*/
	border-left: solid 10px #783d3d;/*左線（実線 太さ 色）*/
	margin-bottom: 20px;
	margin-top: 20px;
	font-family: Arial, sans-serif; /* フォントスタイル（オプション） */
	font-size: 16px; /* フォントサイズ（調整可能） */
  text-decoration: none; /* リンクの装飾を削除するスタイル */
  }

/****************************
  fishinglesson3
*****************************/
.fl_visualArea3 {
  position: relative;
  margin: 0;
  /* overflow-x: hidden; */
}
.fl_visualArea3_imgWrap {
  display: block;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  aspect-ratio: 2000/1022;
}
.fl_visualArea3_imgWrap img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.fl_visualArea3_catchWrap {
  position: absolute;
  top: 50%;
  /* 元の translateY(-50% - 20px) に、さらに 50px 上に移動を加える */
  transform: translateY(calc(-50% - 30px));
}

.fl_visualArea3_catch {
  font-size: clamp(1.25rem, -0.534rem + 3.71vw, 2.25rem);
  font-weight: 600;
  line-height: calc(60 / 40);
  margin-top: 0;
  margin-bottom: 0;
  text-align: left;
  /* ドロップシャドウを追加 */
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}

.fl_visualArea3_catch_en {
  display: block;
  font-size: clamp(1.063rem, -0.055rem + 2.33vw, 1.688rem);
  font-weight: bold;
  line-height: calc(35 / 24);
  text-align: left;
  /* 同様にドロップシャドウを追加 */
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}
/****************************
  fishinglesson2 タイトル
*****************************/

