@charset "UTF-8";
/******************************************************************
Theme Name: 高知の空旅キャンペーン
Author: Y.Yokoyama
Author URI: http://fromdime.com
******************************************************************/
/******************************************************************

共通

******************************************************************/
:root {
  /* font-size */
  --font-size-28px: 1.75rem;
  --font-size-26px: 1.625rem;
  --font-size-24px: 1.5rem;
  --font-size-22px: 1.375rem;
  --font-size-20px: 1.25rem;
  --font-size-18px: 1.125rem;
  --font-size-16px: 1rem;

  /* font-weight */
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
}

/* 電話リンクなし
-------------------------------------------------------*/
.notel a[href^="tel:"] {
  color: inherit;
  pointer-events: none;
  text-decoration: none;
}

/* 電話リンク
-------------------------------------------------------*/
a.tel {
  color: inherit;
}
a.tel:hover {
  text-decoration: underline !important;
}

/******************************************************************

構造調整タグ

******************************************************************/
br.br-pc {
  display: block;
}
br.br-sp {
  display: none;
}

/******************************************************************

汎用パーツ

******************************************************************/
a {
  transition-property: all;
  transition-timing-function: var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1));
  transition-duration: var(--default-transition-duration, 150ms);
}

/* 文字折り返し用
-------------------------------------------*/
.span-wrap {
  display: inline-block;
}

/* ボタン
-------------------------------------------*/
.button_wrapper {
  text-align: center;
}

.button {
  color: #515151;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  width: 100%;
  max-width: 320px;
  height: 64px;
  border: 1px solid #515151;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: color 0.25s ease;
  cursor: pointer;
}
.button .fas {
  color: #f0e800;
  margin-left: 0.5rem;
}
.button:hover, .button:focus, .button:active {
  color: #ffffff;
  background-color: #f0e800;
}
.button:hover .fas, .button:focus .fas, .button:active .fas {
  color: #ffffff;
}

.link-button-wrapper {
  text-align: center;
}

.link-button {
  position: relative;
  display: inline-block;
  background-color: #ffffff;
  width: 100%;
  max-width: 240px;
  height: 56px;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: color 0.25s ease;
  cursor: pointer;
}
.link-button::after, .link-button::before {
  position: absolute;
  content: "";
  display: block;
}
.link-button::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotateY(90deg);
  transform-origin: right;
  transition: transform 0.25s ease;
}
.link-button::after {
  top: 50%;
  right: -20px;
  width: 60px;
  height: 1px;
  transition: all 0.25s ease 0.05s;
}
.link-button:hover {
  color: #ffffff !important;
}
.link-button:hover::before {
  transform: rotateY(0deg);
  transform-origin: left;
}
.link-button:hover::after {
  width: 20px;
  background-color: #ffffff;
  transform: translate(-40px);
}
.link-button .link-button__text {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 4px 0 0;
  z-index: 1;
}

.link-button--large {
  width: 100%;
  max-width: 410px;
}

/*-------------------------------------------
テーブルの基本レイアウト
-------------------------------------------*/
table.base_table tr th {
  width: 20%;
  text-align: left;
  padding: 0.5rem 0.5rem 0.5rem 0;
  border-bottom: 1px solid #dbdbdb;
}

table.base_table tr td {
  width: 80%;
  background-color: #ffffff;
  padding: 0.5rem 1rem 0.5rem 1rem;
  border-bottom: 1px solid #dbdbdb;
}

/*-------------------------------------------
ページナビ
-------------------------------------------*/
.wrap_pagination {
  text-align: center;
  margin: 4.7rem 0;
}

.wp-pagenavi a,
.wp-pagenavi span {
  color: #f0e800;
  font-weight: 400 !important;
  text-decoration: none;
  border: 1px solid #f0e800;
  padding: 10px 20px;
  margin: 10px;
  background-color: #ffffff;
  border-radius: 0;
  font-size: 1rem;
  display: inline-block;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current,
.wp-pagenavi span.pages {
  color: white;
  border: 1px solid #f0e800;
  background-color: #f0e800;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  color: #f0e800;
  border: 1px solid #f0e800;
}

/*-------------------------------------------
パンくずリスト
-------------------------------------------*/
#after-header {
  position: relative;
}

.breadcrumb {
}

.breadcrumb span {
  color: #515151;
}

.breadcrumb {
  padding: 1rem 0;
  margin-bottom: 3rem;
}
.breadcrumb a:hover {
  text-decoration: underline;
}

/*-------------------------------------------
ホバーでスケール
-------------------------------------------*/
.scale-img {
  position: relative;
  overflow: hidden;
}

.scale-img a:hover {
  opacity: 1;
}

.scale-img a,
.scale-img .thumb,
.scale-img .of_hide {
  position: relative;
  overflow: hidden;
  display: block;
}

.scale-img img {
  width: 100%;
  transition: all 0.3s cubic-bezier(0.045, 0.495, 0.685, 0.97);
}

.scale-img:hover img {
  transform: scale(1.1);
}

/*-------------------------------------------
横並びレイアウト
-------------------------------------------*/
.flexbox {
  display: flex;
  flex-flow: row;
  align-content: flex-start;
}

.flexbox-wrap {
  flex-flow: row wrap;
}

.flexbox-center {
  align-items: center;
}

/*-------------------------------------------
YouTube枠レスポンシブ
-------------------------------------------*/
.video-frame {
  position: relative;
  width: 100%;
}

.video-frame:before {
  content: "";
  display: block;
  padding-top: 56.3%;
  position: relative;
}

.video-frame-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*-------------------------------------------
固有スタイル
-------------------------------------------*/
/******************************************************************

プラグイン

******************************************************************/
.slick-slider {
  margin-bottom: 0rem;
}

.slick-track {
  overflow: hidden;
}

.slick-dots li button:before {
  color: #f0e800;
}

.slick-dots li.slick-active button:before {
  color: #f0e800;
}

/******************************************************************

ヘッダー

******************************************************************/
.overlay {
  display: none;
}

#header {
  margin-bottom: 4rem;
}
.page #header {
  margin-bottom: 0;
}

#inner-header .main-image img {
  width: 100%;
}

/* head-bar
-------------------------------------------------------*/
#head-bar {
  padding: 0rem 1rem;
  margin: 0 auto;
  background-color: #ffffff;
}
#head-bar .head-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0 1rem;
}
#head-bar .head-bar-inner .head-bar-left {
  width: 100%;
  max-width: 285px;
}
#head-bar .head-bar-inner .head-bar-left .link:hover {
  opacity: 0.5;
}
#head-bar .head-bar-inner .head-bar-left img {
  width: 100%;
}
#head-bar .head-bar-inner .head-bar-center {
  flex: 1;
  display: block;
  height: 100px;
}
#head-bar .head-bar-inner .head-bar-center .globalnavi-ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
#head-bar .head-bar-inner .head-bar-center .globalnavi-ul > .menu-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0;
}
#head-bar .head-bar-inner .head-bar-center .globalnavi-ul > .menu-item > a {
  color: #515151;
  font-weight: 600;
  padding: 0 1rem;
  white-space: nowrap;
}
#head-bar .head-bar-inner .head-bar-center .globalnavi-ul > .menu-item.current-page-ancestor > a, #head-bar .head-bar-inner .head-bar-center .globalnavi-ul > .menu-item.active > a, #head-bar .head-bar-inner .head-bar-center .globalnavi-ul > .menu-item:hover > a {
  color: #f0e800;
}
#head-bar .head-bar-inner .head-bar-right {
  display: none;
}

/******************************************************************

サイドバー

******************************************************************/
/******************************************************************

ユーティリティナビゲーション

******************************************************************/
/******************************************************************

フッター

******************************************************************/
#footer {
  padding: 3rem 0;
}
.footer-main__title,
.footer-main__text > p {
  font-size: var(--font-size-18px);
  font-weight: var(--font-weight-medium);
  text-align: center;
}


/******************************************************************

トップページ(toppage)

******************************************************************/
.home {
  /* color */
  --home-color-01: #808080;
  --home-color-02: #fdd35c;
  --home-color-03: #ffff00;
  --home-color-04: #231815;
  --home-color-05: #ff0000;
  --home-color-06: #d9e021;
  --home-color-07: #39b54a;
  --home-color-08: #0071bc;
}

/* home utilities */
.home .u-mb-m {
  margin-bottom: 4rem;
}
.home .u-mb-l {
  margin-bottom: 8rem;
}
.home .u-relative {
  position: relative;
}
.home .u-absolute {
  position: absolute;
}

/* home icon（汎用Block） */
.home .icon {
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.home .icon__img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.home .icon--suitcase {
  --icon-w: 139px;
  --icon-left-pref: calc(50% + 510px);
}
.home .icon--suitcase .icon__img {
  right: clamp(0px, var(--icon-left-pref), calc(100% - var(--icon-w)));
  bottom: -6rem;
  width: var(--icon-w);
}
.home .icon--family {
  --icon-w: 300px;
  --icon-left-pref: calc(50% + 300px);
}
.home .icon--family .icon__img {
  right: clamp(0px, var(--icon-left-pref), calc(100% - var(--icon-w)));
  bottom: 3rem;
  width: var(--icon-w);
}
.home .icon--friends {
  --icon-w: 300px;
  --icon-left-pref: calc(50% + 300px);
}
.home .icon--friends .icon__img {
  left: clamp(0px, var(--icon-left-pref), calc(100% - var(--icon-w)));
  bottom: 15rem;
  width: var(--icon-w);
}
.home .icon--map {
  --icon-w: 100px;
  --icon-left-pref: calc(50% + 365px);
}
.home .icon--map .icon__img {
  left: clamp(0px, var(--icon-left-pref), calc(100% - var(--icon-w)));
  bottom: 0rem;
  width: var(--icon-w);
}

/* main-point-list */
.home .main-point-list-wrapper {
  margin-bottom: 8rem;
}
.home .main-point-list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.home .main-point-list .main-point-list__item {
  text-align: center;
}
.home .main-point-list .main-point-list__item img {
  width: 100%;
}
.home .main-point-list .main-point-list__item img.quo {
  max-width: 800px;
}

/* calendar */
.home .calendar__header {
  margin-bottom: 2rem;
}
.home .calendar__title {
  font-size: var(--font-size-24px);
  text-align: center;
}
.home .calendar__flex {
  display: flex;
  gap: 1rem 2rem;
  margin-bottom: 2rem;
}
.home .calendar__flex-item {
  text-align: center;
}
.home .calendar__flex-item img {
  width: 100%;
  max-width: 484px;
}
.home .calendar__note {
  font-size: var(--font-size-18px);
  max-width: 505px;
  margin: 0 auto;
}
.home .calendar__mark {
  color: var(--home-color-01);
  /* font-size: var(--font-size-24px); */
  font-weight: var(--font-weight-bold);
}

/* application */
.home .application__header {
  background: linear-gradient(to bottom, transparent 0%, transparent 50%, var(--home-color-02) 50%, var(--home-color-02) 100%);
}
.home .application__title {
  text-align: center;
}
.home .application__title > img {
  width: 100%;
  max-width: 250px;
}
.home .application__main {
  padding: 2rem 0;
  background-color: var(--home-color-02);
}
.home .application__panel {
  padding: 1.5rem;
  background-color: var(--home-color-03);
  margin-bottom: 1rem;
}
.home .application__panel-title {
  text-align: center;
  font-size: var(--font-size-22px);
  margin-bottom: 1rem;
}
.home .application__subpanel {
  padding: 1rem;
  background-color: white;
  border: 3px solid var(--home-color-04);
  display: flex;
  align-items: center;
  gap: 0.5rem 1rem;
}
.home .application__subpanel-title {
  color: var(--home-color-05);
  font-size: var(--font-size-24px);
  width: 100%;
  max-width: 245px;
}
.home .application__subpanel-body > p,
.home .application__note > p  {
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-18px);
}
.home .application__note {
  margin-bottom: 1rem;
}
.home .application__submit {
  text-align: center;
}
.home .application__submit img {
  width: 100%;
  max-width: 250px;
}
.home .application__click-here,
.home .application__form-link {
  text-align: center;
}
.home .application__main {
  margin-bottom: 4rem;
}
.home .application__click-here {
  margin-bottom: 1rem;
}
.home .application__click-here img {
  width: 100%;
  max-width: 550px;
}
.home .application__form-link {
  margin-bottom: 1rem;
}
.home .application__link.deactivate {
  pointer-events: none;
}
.home .application__link.deactivate img {
  filter: grayscale(100%);
}
.home .application__link:hover {
  opacity: 0.5;
}
.home .application__link img {
  width: 100%;
  max-width: 500px;
}
.home .application__form-note {
  text-align: center;
}
.home .application__form-note--large {
  font-size: var(--font-size-28px);
  font-weight: var(--font-weight-semibold);
}
.home .application__form-note--small {
  font-size: var(--font-size-18px);
  font-weight: var(--font-weight-semibold);
}

/* qa */
.home .qa__header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 3rem;
}
.home .qa__title-bar {
  flex: 1;
  height: 80px;
  background-image: url('assets/images/img-qa-title-bar.webp');
  background-repeat: repeat-x;
  background-size: contain;
}
.home .qa__title-bar.right-bar {
  transform: scale(-1)
}
.home .qa__title {
  width: 100%;
  max-width: 250px;
}
.home .qa__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.home .qa__item-header,
.home .qa__item-body {
  padding: 1rem;
}
.home .qa__item-header {
  border-radius: 15px;
  background-color: var(--home-color-06);
}
.home .qa__item-header-box,
.home .qa__item-body-box {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 1rem 2rem;
}
.home .qa__item-header-box {
  border-radius: 15px;
  border: 3px solid white;
}
.home .qa__icon,
.home .qa__icon img {
  width: 100%;
  max-width: 75px;
}
.home .qa__item-title,
.home .qa__item-text {
  flex: 1;
  font-size: var(--font-size-20px);
  font-weight: var(--font-weight-semibold);
}
.home .qa__toggle {
  position: relative;          /* 疑似要素の基準 */
  width: 55px;
  height: 55px;
  background-color: #fff;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.4s ease-out;
}
.home .qa__toggle::before,
.home .qa__toggle::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 30px;
  height: 3px;
  border-bottom: 3px solid var(--home-color-07);
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}
.home .qa__toggle::after {
  transform: rotate(90deg);
}
.home .qa__item.is-open .qa__toggle {
  transform: rotate(180deg);
}
.home .qa__item.is-open .qa__toggle::after {
  opacity: 0;
}

/* card */
.home .card__header {
  margin-bottom: 1rem;
}
.home .card__header.blue {
  background-color: var(--home-color-08);
}
.home .card__header.red {
  background-color: var(--home-color-05);
}
.home .card__title {
  color: white;
  font-size: var(--font-size-26px);
  padding: 0.5rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.home .card__title--small {
  font-size: var(--font-size-18px);
  font-weight: var(--font-weight-medium);
}
.home .card__text {
  font-size: var(--font-size-20px);
  font-weight: var(--font-weight-semibold);
}
.home .card__caution,
.home .card__list-item {
  font-size: var(--font-size-18px);
  text-indent: calc(-1 * var(--font-size-18px));
  padding-left: var(--font-size-18px);
}

/* cta */
.home .cta__list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem 4rem;
}
.home .cta__list-item {
  width: 100%;
  max-width: 300px;
}
.home .cta__list-link {
  color: white;
  font-size: var(--font-size-22px);
  font-weight: var(--font-weight-semibold);
  border-radius: 30px;
  padding: 0.5rem 1rem;
  background-color: var(--home-color-07);
  display: flex;
  align-items: center;
}
.home .cta__list-link:hover {
  opacity: 0.5;
}
.home .cta__rabel {
  flex: 1;
  text-align: center;
  line-height: 2;
}


/******************************************************************

投稿（お知らせ）

******************************************************************/
.category-news #category-news {
  margin-bottom: 0;
}

.postlist .postlist-ul li {
  border-bottom: none;
}
.postlist .postlist-ul li .hover_ul {
  display: block;
  padding: 1.5rem 2rem;
}
.postlist .postlist-ul li .hover_ul:hover, .postlist .postlist-ul li .hover_ul:focus, .postlist .postlist-ul li .hover_ul:active {
  color: #515151;
}
.postlist .postlist-ul li .hover_ul .text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.postlist .postlist-ul li .hover_ul .text .list-title {
  font-size: 1rem;
  font-weight: 500;
}
.postlist .postlist-ul li .hover_ul .text .list-title .fas {
  color: #f0e800;
  margin-right: 0.5rem;
}
.postlist .postlist-ul li .hover_ul .text .date {
  font-size: 0.875rem;
  line-height: 1;
}
.postlist .postlist-ul li .hover_ul .text .date .publication {
  margin-right: 0.5rem;
}

/* single
-------------------------------------------------------*/
.single-post .single_inner_width {
  width: 80% !important;
  margin: 0 auto !important;
}
.single-post .post-category {
  width: 100%;
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}
.single-post .post-category .taxonomy {
  color: #ffffff;
  display: inline-block;
  padding: 0.1rem 0.5rem;
}

h1.page-title,
h1.single-title {
  font-weight: bold;
  background: none;
  margin-bottom: 1rem;
  padding: 0;
  font-size: 1.6rem;
}

.single-post .article-header .single-title_wrapper {
  margin-bottom: 2rem;
  border: 1px solid #dddddd;
  padding: 1.5rem;
  border-radius: 3px;
}

.single-post .article-header .single-title_wrapper .date {
  /*    text-align: right;*/
  color: #666666;
  font-size: 0.9rem;
}

/* 文章 */
.single-post .entry-content {
  padding: 0;
  margin-bottom: 0;
}

.single-post .entry-content img {
  width: auto;
}

.single-post .entry-content p {
  margin-bottom: 0.5rem;
}

.single-post .entry-content a {
  color: #01a93b;
}

.single-post .entry-content h1,
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4,
.single-post .entry-content h5,
.single-post .entry-content h6 {
  margin-bottom: 1rem;
}

.single-post .article-footer {
  margin-bottom: 4.7rem;
}

.single-post .article-footer .post_link {
  border-top: 1px solid #eeeeee;
  border-bottom: 1px solid #eeeeee;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-top: 2rem;
  margin-bottom: 3rem;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

.single-post .article-footer .post_link a:hover {
  text-decoration: underline !important;
}

/******************************************************************

固定ページ(page)

******************************************************************/
/************************************
 * 個人情報保護方針
 * 利用方針
 ************************************/
 .page-privacy-policy #wrap-content,
 .page-usage-policy #wrap-content {
  margin-bottom: 2rem;
 }
.page-privacy-policy .article-header,
.page-usage-policy .article-header {
  text-align: center;
  margin-bottom: 2rem;
}
.page-privacy-policy .article-header .title,
.page-usage-policy .article-header .title {
  font-size: var(--font-size-28px);
  display: inline-block;
  border-bottom: 1px solid #231815;
}
.page-privacy-policy .point-list__item,
.page-usage-policy .point-list__item {
  text-indent: calc(-1 * var(--font-size-16px));
  padding-left: var(--font-size-16px);
}
.page-privacy-policy section + section,
.page-usage-policy section + section {
  margin-top: 1.5rem;
}

/* 個人情報保護方針 */
.page-privacy-policy .page-intro {
  margin-bottom: 1.5rem;
}
.page-privacy-policy .point-list {
  margin-bottom: 1rem;
}

/* 利用方針 */
.page-usage-policy .point-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/******************************************************************

カスタム投稿

******************************************************************/
/******************************************************************

404 Page Not Found

******************************************************************/
/******************************************************************
*******************************************************************

メディアクエリー

*******************************************************************
******************************************************************/
/* style-sp.cssにコーディング *//*# sourceMappingURL=style.css.map */