@charset "UTF-8";
/* ____ foundation ____ */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);
/* 明朝体指定
font-family: 'Sawarabi Mincho', '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', HGS明朝E, メイリオ, Meiryo, serif;
*/
/* ゴシック体指定
font-family: 'Noto Sans JP', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
*/
*, *::before, *::after {
  margin: 0;
  box-sizing: border-box;
}

body {
  font-size: 14px;
  font-family: 'Noto Sans JP', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #404040;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 87.5%;
  }
}

img {
  max-width: 100%;
  vertical-align: middle;
}

a {
  color: #e35390;
}

/* ____ layout ____ */
.l-main {
  text-align: center;
  background: #fff url("../img/body_bg.gif");
}

@media screen and (min-width: 768px) {
  .l-fv {
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px 20px 0 20px;
    overflow: hidden;
  }
}

@media screen and (min-width: 768px) {
  .l-sect {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
  }
}

@media screen and (min-width: 768px) {
  .l-footer {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px 20px 20px;
  }
}

/* ____ component ____ */
.c-txt-caution {
  font-size: 8px;
}
@media screen and (min-width: 768px) {
  .c-txt-caution {
    font-size: 11px;
  }
}

.c-sect-tourinfo {
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-sect-tourinfo {
    padding: 0 70px;
  }
}

.c-list-ttl {
  display: inline-block;
  text-align: center;
  min-height: 23px;
  letter-spacing: 2px;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .c-list-ttl {
    min-height: 32px;
    line-height: 30px;
    font-size: 14px;
    background-size: 100% auto;
  }
}

.c-txt-oneline {
  line-height: 1;
}

.c-pic-ttl {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-pic-ttl {
    width: auto;
    max-width: 100%;
  }
}

.c-btn,
.c-pic-link {
  transition: opacity 0.2s ease;
}
.c-btn:hover,
.c-pic-link:hover {
  opacity: 0.8;
}

/* ____ project ____ */
body {
  font-size: 15px;
  font-family: 'Noto Sans JP', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 18px;
  }
}

.clearfix:after {
  content: " ";
  display: block;
  clear: both;
}

.only-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .only-pc {
    display: block;
  }
}

.only-sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .only-sp {
    display: none;
  }
}

.trans {
  transition: opacity 0.2s ease;
}

.trans:hover {
  opacity: 0.85;
}

a {
  color: #272727;
  text-decoration: none;
}

/*.main-wrapper {
	@media screen and (min-width: 768px) {
        max-width: 850px;
		width: 100%;
        margin: 0 auto;
		background: #fff;
    }
}*/
/*.l-fv {
	background: #fff;
}*/
header {
  position: relative;
  width: 100%;
  background-image: url("../img/sp/MV_bg_sp.jpg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100%;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  header {
    max-width: 850px;
    margin: 0 auto;
    background-image: url("../img/MV_bg.jpg");
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  }
}

.p-pic-tfmlogo {
  text-align: right;
  padding: 2% 17px 0 0;
}
@media screen and (min-width: 768px) {
  .p-pic-tfmlogo {
    width: 170px;
  }
}
.p-pic-tfmlogo img {
  width: 23%;
}
@media screen and (min-width: 768px) {
  .p-pic-tfmlogo img {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-pic-tfmlogo {
    position: absolute;
    top: 0;
    right: 0;
    padding: 20px;
  }
}

.p-pic-logo {
  padding-top: 4.2%;
  padding-bottom: 46%;
}
@media screen and (min-width: 768px) {
  .p-pic-logo {
    padding-top: 3%;
    padding-bottom: 7.8%;
  }
}
.p-pic-logo img {
  width: 85.94%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-pic-logo img {
    width: 67.29%;
  }
}

/*ツアー詳細*/
section.c-sect1 {
  background: #fff;
  width: 100%;
  background-image: url("../img/sp/sec1_bg_sp.jpg");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100%;
}
@media screen and (min-width: 768px) {
  section.c-sect1 {
    max-width: 850px;
    margin: 0 auto;
    padding-bottom: 7%;
    background-image: url("../img/sec1_bg.jpg");
  }
}

section.c-sect1 {
  position: relative;
}
section.c-sect1 h2 img {
  width: 100%;
  margin: 0 auto;
  padding: 5.8% 0 0;
}
@media screen and (min-width: 768px) {
  section.c-sect1 h2 img {
    width: 93.88%;
    padding: 5.8% 0 0;
  }
}

.sect1-txt {
  padding-top: 9.0%;
  padding-bottom: 7%;
}
@media screen and (min-width: 768px) {
  .sect1-txt {
    padding-top: 5%;
    padding-bottom: 5%;
  }
}
.sect1-txt img {
  margin: 0 auto;
  width: 65%;
}
@media screen and (min-width: 768px) {
  .sect1-txt img {
    width: 55.05%;
  }
}

dl.sec1_outline {
  text-align: center;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 65%;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  dl.sec1_outline {
    text-align: left;
    width: 536px;
    padding-bottom: 36%;
  }
}
dl.sec1_outline dt {
  text-align: center;
  color: #fff;
  width: 163px;
  background: #80c269;
  border-radius: 10px;
  vertical-align: top;
  margin: 0 auto 8px;
  padding: 2px 0px 4px;
}
@media screen and (min-width: 768px) {
  dl.sec1_outline dt {
    font-size: 16px;
    float: left;
    width: 155px;
    margin-right: 28px;
    padding: 2px 0px 5px;
  }
}
dl.sec1_outline dd {
  padding-bottom: 5%;
}
@media screen and (min-width: 768px) {
  dl.sec1_outline dd {
    margin-left: 22%;
    min-height: 44px;
    padding-bottom: 3px;
  }
}

.sec1_guest_wrapper {
  width: 74%;
  margin: 0 auto 9%;
}
@media screen and (min-width: 768px) {
  .sec1_guest_wrapper {
    width: auto;
    margin: 0 auto;
  }
}
.sec1_guest_wrapper .sec1_manbo {
  width: 45%;
  float: left;
}
@media screen and (min-width: 768px) {
  .sec1_guest_wrapper .sec1_manbo {
    position: absolute;
    top: 35%;
    right: 13%;
    width: 16.23%;
  }
}
.sec1_guest_wrapper .sec1_manbo img {
  width: 100%;
}
.sec1_guest_wrapper .sec1_horiguchi {
  width: 45%;
  float: right;
}
@media screen and (min-width: 768px) {
  .sec1_guest_wrapper .sec1_horiguchi {
    position: absolute;
    top: 52%;
    right: 28%;
    width: 16.23%;
  }
}
.sec1_guest_wrapper .sec1_horiguchi img {
  width: 100%;
}

/*一日目*/
section.c-sect2 {
  background: #fff;
  width: 100%;
  background-image: url("../img/sp/sec2_bg_sp.jpg");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100%;
}
@media screen and (min-width: 768px) {
  section.c-sect2 {
    max-width: 850px;
    margin: 0 auto;
    padding-bottom: 7%;
    background-image: url("../img/sec2_bg.jpg");
  }
}

section.c-sect2 {
  position: relative;
}
section.c-sect2 h2 img {
  width: 100%;
  margin: 0 auto;
  padding: 9.8% 0 0;
}
@media screen and (min-width: 768px) {
  section.c-sect2 h2 img {
    width: 93.88%;
    padding: 6.2% 0 0;
  }
}

.sec2_pic1 {
  width: 86.56%;
  margin: 5% 0 6% 7%;
}
@media screen and (min-width: 768px) {
  .sec2_pic1 {
    width: 76.94%;
    margin: 4% 0 6% 14.58%;
  }
}

.sec2_pic2 {
  width: 87.18%;
  margin: 2% 0 0% 6.7%;
  padding-bottom: 63%;
}
@media screen and (min-width: 768px) {
  .sec2_pic2 {
    width: 84.7%;
    margin: 4% 0 43% 8.7%;
    padding: 0;
  }
}

dl.sec2_outline {
  text-align: center;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 0%;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  dl.sec2_outline {
    text-align: left;
    width: 714px;
    padding-bottom: 0;
  }
}
dl.sec2_outline dt {
  text-align: center;
  color: #fff;
  width: 163px;
  background: #80c269;
  border-radius: 10px;
  vertical-align: top;
  margin: 0 auto 8px;
  padding: 2px 0px 4px 12px;
  letter-spacing: 13px;
}
@media screen and (min-width: 768px) {
  dl.sec2_outline dt {
    font-size: 16px;
    float: left;
    width: 135px;
    margin-right: 25px;
    padding: 2px 0px 4px 12px;
    letter-spacing: 13px;
  }
}
dl.sec2_outline dd {
  padding-bottom: 5%;
}
@media screen and (min-width: 768px) {
  dl.sec2_outline dd {
    margin-left: 22%;
    min-height: 50px;
    padding-bottom: 3px;
  }
}
dl.sec2_outline dd a {
  color: #004cff;
  text-decoration: underline;
}
dl.sec2_outline dd a:hover {
  text-decoration: none;
}

/*2日目*/
section.c-sect3 {
  background: #fff;
  width: 100%;
  background-image: url("../img/sp/sec3_bg_sp.jpg");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100%;
}
@media screen and (min-width: 768px) {
  section.c-sect3 {
    max-width: 850px;
    margin: 0 auto;
    padding-bottom: 7%;
    background-image: url("../img/sec3_bg.jpg");
  }
}

section.c-sect3 {
  position: relative;
}
section.c-sect3 h2 img {
  width: 100%;
  margin: 0 auto;
  padding: 9.8% 0 4%;
}
@media screen and (min-width: 768px) {
  section.c-sect3 h2 img {
    width: 93.88%;
    padding: 6.2% 0 0;
  }
}

.sec3_pic {
  width: 87.18%;
  margin: 2% 0 0% 6.7%;
  padding-bottom: 59%;
}
@media screen and (min-width: 768px) {
  .sec3_pic {
    width: 84.7%;
    margin: -10% 0 43% 8.7%;
    padding: 0;
  }
}

dl.sec3_outline {
  text-align: center;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 0%;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  dl.sec3_outline {
    text-align: left;
    width: 631px;
    padding-bottom: 6%;
    margin-top: 4.5%;
  }
}
dl.sec3_outline dt {
  text-align: center;
  color: #fff;
  width: 163px;
  background: #80c269;
  border-radius: 10px;
  vertical-align: top;
  margin: 0 auto 8px;
  padding: 2px 0px 4px 12px;
  letter-spacing: 13px;
}
@media screen and (min-width: 768px) {
  dl.sec3_outline dt {
    font-size: 16px;
    float: left;
    width: 135px;
    margin-right: 25px;
    padding: 2px 0px 4px 12px;
    letter-spacing: 13px;
  }
}
dl.sec3_outline dt.narrow {
  padding: 2px 0px 4px 0;
  letter-spacing: 0 !important;
}
@media screen and (min-width: 768px) {
  dl.sec3_outline dt.narrow {
    padding: 2px 0px 4px 0;
    letter-spacing: 0;
  }
}
dl.sec3_outline dd {
  padding-bottom: 5%;
}
@media screen and (min-width: 768px) {
  dl.sec3_outline dd {
    margin-left: 160px;
    min-height: 50px;
    padding-bottom: 22px;
  }
}
dl.sec3_outline dd a {
  color: #004cff;
  text-decoration: underline;
}
dl.sec3_outline dd a:hover {
  text-decoration: none;
}

.sec3_attention {
  text-align: left;
  font-size: 83%;
  width: 90%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .sec3_attention {
    width: 631px;
  }
}

/*注意事項*/
section.c-sect4 {
  background: #fff;
  width: 100%;
  background-image: url("../img/sp/sec4_bg2_sp.png"), url("../img/sec4_bg.png");
  background-position: bottom center, bottom center;
  background-size: 100%, auto;
  background-repeat: no-repeat, repeat;
}
@media screen and (min-width: 768px) {
  section.c-sect4 {
    max-width: 850px;
    margin: 0 auto;
    padding-bottom: 7%;
    background-image: url("../img/sec4_bg2.png"), url("../img/sec4_bg.png");
  }
}

.entry_attention {
  font-weight: bold;
  width: 90%;
  margin: 0 auto 7%;
}
@media screen and (min-width: 768px) {
  .entry_attention {
    margin-bottom: 46px;
    width: auto;
    margin: 0 auto 47px;
  }
}
.entry_attention .ttl {
  padding: 6% 0 4%;
  margin: 0 auto;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  .entry_attention .ttl {
    padding: 34px 0 20px;
    width: 630px;
  }
}
.entry_attention ul {
  list-style-type: disc !important;
  text-align: left !important;
  padding: 4% 3% 0.5% 7%;
  margin: 0 auto;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .entry_attention ul {
    width: 589px;
    line-height: 1.8;
    padding: 20px 0% 0% 5px;
  }
}
.entry_attention ul li {
  font-size: 88%;
  padding: 0 0 2% 0;
}
@media screen and (min-width: 768px) {
  .entry_attention ul li {
    font-size: 14px;
    padding: 0 0 7px 0;
  }
}
.entry_attention ul li span {
  color: #004cff;
}

.entry_btn {
  display: block;
  margin: 0 auto;
  width: 90%;
  padding-bottom: 6%;
}
@media screen and (min-width: 768px) {
  .entry_btn {
    width: 604px;
    margin: 0 auto;
    padding-bottom: 20px;
  }
}
.entry_btn img {
  width: 100%;
}
.entry_btn img:hover {
  opacity: 0.8;
}

.link_inquiry {
  color: #004cff;
  width: 90%;
  display: block;
  text-align: center;
  text-decoration: underline;
  margin: 0 auto;
  padding-bottom: 1%;
}
@media screen and (min-width: 768px) {
  .link_inquiry {
    font-size: 14px;
    margin: 0 auto;
    padding-bottom: 3px;
  }
}

.link_inquiry:hover {
  text-decoration: none;
}

.pdf_size {
  text-align: center;
  margin: 0 auto;
  padding-bottom: 13%;
}
@media screen and (min-width: 768px) {
  .pdf_size {
    font-size: 14px;
    margin: 0 auto;
    padding-bottom: 20px;
  }
}

/*リンク*/
section.c-sect5 {
  background: #fff;
  width: 100%;
  background-image: url("../img/sp/sec5_bg_sp.jpg");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100%;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}
@media screen and (min-width: 768px) {
  section.c-sect5 {
    max-width: 850px;
    margin: 0 auto;
    padding-bottom: 7%;
    background-image: url("../img/sec5_bg.jpg");
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }
}

section.c-sect5 h2 img {
  width: 100%;
  margin: 0 auto;
  padding: 9.8% 0 4%;
}
@media screen and (min-width: 768px) {
  section.c-sect5 h2 img {
    width: 93.88%;
    padding: 6.2% 0 0;
  }
}

.link_box {
  padding: 6% 0% 50%;
}
@media screen and (min-width: 768px) {
  .link_box {
    padding: 6% 0% 20%;
  }
}
.link_box .bnr1 {
  width: 78%;
}
@media screen and (min-width: 768px) {
  .link_box .bnr1 {
    width: 56%;
  }
}
.link_box .bnr2 {
  width: 90%;
}
@media screen and (min-width: 768px) {
  .link_box .bnr2 {
    width: 88%;
  }
}
.link_box a {
  display: block;
  padding: 0 0 7%;
  max-width: 90%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .link_box a {
    padding: 0 0 3.5%;
  }
}

.p-box-link {
  padding: 15% 0 15%;
  width: 80%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-box-link {
    padding: 40px 0 10%;
    margin: 0 auto;
    width: 475px;
  }
}
.p-box-link img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-box-link img {
    width: 475px;
  }
}

.p-footer {
  padding-bottom: 85px;
  background: none;
}
@media screen and (min-width: 768px) {
  .p-footer {
    padding-bottom: 135px;
  }
}

.p-footer-ttl {
  padding-top: 65px;
}
.p-footer-ttl .p-pic-site {
  width: 63%;
}
@media screen and (min-width: 768px) {
  .p-footer-ttl .p-pic-site {
    width: auto;
  }
}
.p-footer-ttl .p-pic-event {
  width: 71%;
}
@media screen and (min-width: 768px) {
  .p-footer-ttl .p-pic-event {
    width: auto;
  }
}
.p-footer-ttl + .p-box-fair {
  padding-top: 40px;
}
@media screen and (min-width: 768px) {
  .p-footer-ttl + .p-box-fair {
    padding-top: 45px;
  }
}

/* ____ utility ____ */
/* .u-none {
    display: none;
} */
