﻿/*----------------------------------------------------------------------------------------------------

  見出し
  
----------------------------------------------------------------------------------------------------*/
.p-hdline {
  border-top: 1px solid rgba(var(--color-lblue),1);
  border-bottom: 1px solid rgba(25,25,25,0.12);
  line-height: var(--line-height-m);
  margin-bottom: var(--block-space-m);
}
.p-hdline .ttl {
  font-weight: 500;
  color: rgba(var(--color-lblue-d),1);
}
.p-hdline .ttl--m {
  font-size: var(--fs-2l);
}
.p-hdline .ttl--s {
  font-size: var(--fs-lm);
}
@media print, screen and (min-width:641px) {
  .p-hdline {
    width: 100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
  }
  .p-hdline .inner {
    width: 100%;
    min-height: 100px;
    padding: 1.5rem 0;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .p-hdline .ttl:not(.ttl--m):not(.ttl--s) {
    font-size: var(--fs-3l);
  }
}
@media screen and (max-width:640px) {
  .p-hdline {
    padding: 0.75em 0;
  }
  .p-hdline .ttl:not(.ttl--m):not(.ttl--s) {
    font-size: var(--fs-2l);
  }
}

.p-hdline-bg {
  line-height: var(--line-height-m);
  background-color: rgba(var(--color-lblue-l),1);
  color: #FFF;
  font-weight: 500;
  margin-bottom: var(--block-space-s);
}
.p-hdline-bline {
  line-height: var(--line-height-m);
  border-bottom: 1px solid rgba(25,25,25,0.12);
  font-weight: 500;
  margin-bottom: var(--block-space-s);
}
.p-hdline-lline {
  line-height: var(--line-height-m);
  font-weight: 500;
  font-size: var(--fs-l);
  padding-left: 1.5rem;
  position: relative;
}
.p-hdline-lline:before {
  content: "";
  width: 3px;
  height: 80%;
  background-color: rgba(var(--color-lblue-d),1);
  position: absolute;
  left: 0;
  top: 10%;
}
@media print, screen and (min-width:641px) {
  .p-hdline-bg {
    padding: 1rem;
    font-size: var(--fs-l);
  }
  .p-hdline-bline {
    padding-bottom: 1rem;
    font-size: var(--fs-lm);
  }
  .p-hdline-lline {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width:640px) {
  .p-hdline-bg {
    padding: 0.5em;
    font-size: var(--fs-m);
  }
  .p-hdline-bline {
    padding-bottom: 0.5em;
    font-size: var(--fs-l);
  }
  .p-hdline-lline {
    margin-bottom: 1em;
  }
}

/*--------------------------------------------------------------------------------
  タイトル
--------------------------------------------------------------------------------*/
.p-ttl,
.p-ttl-mk {
  font-weight: 500;
  line-height: var(--line-height-m);
  margin-bottom: 1rem;
}
.p-ttl {
  color: rgba(var(--color-lblue-d),1);
  font-size: var(--fs-l);
}
.p-ttl--s {
  font-size: var(--fs-m);
}
.p-ttl[color="none"] {
  color: var(--font-color);
}
b.p-ttl,
span.p-ttl,
small.p-ttl,
b.p-ttl-mk,
span.p-ttl-mk,
small.p-ttl-mk { display: inline-block; }
.p-ttl-mk {
  color: inherit;
  padding-left: 1.2em;
  font-size: var(--fs-m);
}
.p-ttl-mk[mk="square"]:before {
  content: "■";
  font-size: 0.8em;
  margin-left: -1.4em;
  margin-right: 0.4em;
}

/*----------------------------------------------------------------------------------------------------

  矢印
  
----------------------------------------------------------------------------------------------------*/
.p-arrow {
  line-height: 0;
  vertical-align: middle;
  display: inline-block;
  position: relative;
}
.p-arrow:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 5px solid rgba(var(--color-lblue-d),1);
  border-bottom: 2px solid transparent;
  border-top: 2px solid transparent;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-55%,-50%);
  transform-origin: 0 0;
  margin-left: 1px;
}
.p-btn .p-arrow { margin-bottom: 0; }
.p-arrow[size="M"]:before { transform: scale(1.25) translate(-55%,-50%); }
.p-arrow[size="L"]:before { transform: scale(1.5) translate(-55%,-50%); }

.p-arrow--mgB { margin-bottom: 0.2em; }
.p-arrow--mgB[type="bg"] { margin-bottom: 0.1em; }
.p-arrow--mgR { margin-right:1rem; }
.p-arrow--mgL { margin-left:1rem; }
.p-arrow--mgR-s { margin-right:0.5rem; }
.p-arrow--mgL-s { margin-left:0.5rem; }

/* 左向き */
.p-arrow[arrow="prev"]:before {
  border-left: 0;
  border-right: 5px solid rgba(var(--color-lblue-d),1);
  border-bottom: 2px solid transparent;
  border-top: 2px solid transparent;
  margin-left: -1px;
  transform: translate(-45%,-50%);
}
.p-arrow[arrow="prev"][size="M"]:before { transform: scale(1.25) translate(-45%,-50%); }
.p-arrow[arrow="prev"][size="L"]:before { transform: scale(1.5) translate(-45%,-50%); }

.p-arrow[hover="on"] { cursor: pointer; }
.ua-pc .p-arrow[hover="on"] {
  transition: background 0.15s ease-out, border 0.15s ease-out;
}

.p-arrow[type="line"],
.p-arrow[type="bg"] {
  border-radius: 50%;
}
.p-arrow[type="line"] {
  width: 2rem;
  height: 2rem;
}
.p-arrow[type="bg"] {
  width: 1.8rem;
  height: 1.8rem;
}
.p-arrow[size="M"][type="line"],
.p-arrow[size="M"][type="bg"]{ width: 3rem; height: 3rem; }
.p-arrow[size="L"][type="line"],
.p-arrow[size="L"][type="bg"]{ width: 4rem; height: 4rem; }

/*--------------------------------------------------------------------------------
  線有
--------------------------------------------------------------------------------*/
.p-arrow[type="line"] {
  color: rgba(var(--color-lblue),1);
  border: 1px solid rgba(var(--color-lblue),1);
  background-color: transparent;
}
@media print, screen and (min-width:641px) {
  .ua-pc .p-arrow[type="line"][hover="on"]:hover,
  .ua-pc .p-arrow-link:hover .p-arrow[type="line"][hover="on"] {
    color: rgba(var(--color-lblue),1);
    background-color: rgba(var(--color-lblue),1);
  }
  .ua-pc .p-arrow[type="line"][hover="on"]:hover:before,
  .ua-pc .p-arrow-link:hover .p-arrow[type="line"][hover="on"]:before {
    border-left-color: #FFF;
  }
  .ua-pc .p-arrow[arrow="prev"][type="line"][hover="on"]:hover:before,
  .ua-pc .p-arrow-link:hover .p-arrow[arrow="prev"][type="line"][hover="on"]:before {
    border-right-color: #FFF;
  }
}

/*--------------------------------------------------------------------------------
  背景有
--------------------------------------------------------------------------------*/
.p-arrow[type="bg"] {
  background-color: rgba(var(--color-lblue),1);
}
.p-arrow[type="bg"]:before {
  border-left-color: #FFF;
}
.p-arrow[arrow="prev"][type="bg"]:before {
  border-right-color: #FFF;
}

/*----------------------------------------------------------------------------------------------------

  Icon
  
----------------------------------------------------------------------------------------------------*/
.p-icon {
  display: inline-block;
}
.p-icon:before {
  content: "";
  width: 2rem;
  height: 2rem;
  display: inline-block;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.p-icon[icon-ps="right"]:before {
  display: none;
}
.p-icon--mgR:before,
.p-icon--mgR:after { margin-right:1rem; }
.p-icon--mgL:before,
.p-icon--mgL:after { margin-left:1rem; }
.p-icon--mgR-s:before,
.p-icon--mgR-s:after { margin-right:0.5rem; }
.p-icon--mgL-s:before,
.p-icon--mgL-s:after { margin-left:0.5rem; }

/* ダウンロード */
.p-icon[icon="dl"]:before {
  background-image: url(../image/icon/dl.svg);
}
/* ファイル */
.p-icon[icon="file"]:before {
  width: 1.7rem;
  height: 1.7rem;
  background-image: url(../image/icon/file.svg);
}
/* youtube */
.p-icon[icon="youtube"]:before {
  background-image: url(../image/icon/youtube.svg);
}
.p-icon[icon="youtube"][color="white"]:before {
  background-image: url(../image/icon/youtube_white.svg);
}
/* facebook */
.p-icon[icon="fb"]:before {
  background-image: url(../image/icon/fb.svg);
}
.p-icon[icon="fb"][color="white"]:before {
  background-image: url(../image/icon/fb_white.svg);
}
/* twitter */
.p-icon[icon="tw"]:before {
  background-image: url(../image/icon/tw.svg);
}
.p-icon[icon="tw"][color="white"]:before {
  background-image: url(../image/icon/tw_white.svg);
}
/* instagram */
.p-icon[icon="insta"]:before {
  background-image: url(../image/icon/insta.svg);
}
.p-icon[icon="insta"][color="white"]:before {
  background-image: url(../image/icon/insta_white.svg);
}
/* 外部リンク */
.p-gLink a[target="_blank"]:after,
.p-gLink-icon:after,
a.p-gLink[target="_blank"]:after {
  content: "";
  width: 1.7rem;
  height: 1.7rem;
  background: url(../image/icon/gLink.svg) no-repeat center center;
  background-size: auto 1rem;
  display: inline-block;
  vertical-align: top;
  margin-top: 0.2em;
  margin-left: 0.2rem;
  margin-right: 0.2rem;
}

/*----------------------------------------------------------------------------------------------------

  List
  
----------------------------------------------------------------------------------------------------*/
ul.p-list,
ol.p-list { margin-left: 1.25em; }
ul.p-list li,
ol.p-list li,
ul.p-listMk li {
  line-height: var(--line-height-m);
}
ul.p-list li:not(:first-child),
ol.p-list li:not(:first-child),
ul.p-listMk li:not(:first-child) {
  padding-top: 0.25em;
}
ul.p-listMk {
  list-style: none;
}
:not(ul).p-listMk {
  display: block;
}
ul.p-listMk[mk="dot"] li:before,
:not(ul).p-listMk[mk="dot"]:before {
  content: "・";
  font-size: 0.8em;
  margin-bottom: 0.2em;
}
ul.p-listMk[mk="annot"] li:before,
:not(ul).p-listMk[mk="annot"]:before {
  content: "※";
}
ul.p-listMk[mk="circle"] li:before,
:not(ul).p-listMk[mk="circle"]:before {
  content: "●";
  font-size: 0.8em;
  margin-bottom: 0.2em;
  color: rgba(var(--color-lblue-l),1);
}
ul.p-listMk li,
:not(ul).p-listMk { padding-left: 1.2em; }

ul.p-listMk li:before {
  display: inline-block;
  vertical-align: middle;
}
ul.p-listMk[mk="annot"] li:before,
:not(ul).p-listMk[mk="annot"]:before {
  margin-left: -1.2em;
  margin-right: 0.2em;
}
ul.p-listMk:not([mk="annot"]) li:before,
:not(ul).p-listMk:not([mk="annot"]):before {
  margin-left: -1.4em;
  margin-right: 0.4em;
}

.p-list-kNo {
  list-style: none;
  counter-reset: count 0;
}
.p-list-kNo li {
  padding-left: 1.75em;
}
.p-list-kNo li:before {
  content: "("counter(count)")";
  counter-increment: count 1;
  display: inline-block;
  margin-left: -1.75em;
  margin-right: 0.5em;
}

.p-flexlist {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.p-flexlist[inline="on"] {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: -webkit-inline-flex;
	display: inline-flex;
}
.p-flexlist[listmk="on"] {
  position: relative;
  padding-left: 1.25em;
}
.p-flexlist[listmk="on"]:before {
  content: "";
  display: list-item;
  list-style-type: disc;
  margin-left: 1.25em;
  position: absolute;
  left: 0;
  top: 0;
}
.p-flexlist li:not(:last-child):after {
  content: "、";
}
.p-flexlist[mk="dot"] li:not(:last-child):after {
  content: "・";
}

/*----------------------------------------------------------------------------------------------------

  Photo 
  
----------------------------------------------------------------------------------------------------*/
.p-img--right,
.p-img--left {
  width: 40%;
  display: inline-block;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  position: relative;
}
.p-img--right {
  float: right;
  margin-left: 4%;
}
.p-img--left {
  float: left;
  margin-right: 4%;
}
@media screen and (max-width:640px) {
  .p-img--right,
  .p-img--left {
    width: 100%;
    display: block;
    text-align: center;
    padding-bottom: var(--block-space-s);
  }
  .p-img--right img,
  .p-img--left img {
    width: 62.5%;
    max-width: 400px;
    min-width: 240px;
  }
}

/* キャプション */
.p-img_cp {
  display: block;
  margin-top: 1rem;
  text-align: center;
  font-size: var(--fs-3s);
  font-weight: 300;
  line-height: var(--line-height-m);
}

/*--------------------------------------------------------------------------------
  複数
--------------------------------------------------------------------------------*/
.p-img--cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.p-img--cols .col {
  position: relative;
}
.p-img--cols.cols--2 {
  margin-left: -2rem;
}
.p-img--cols.cols--2 .col {
  width: 50%;
  padding-left: 2rem;
}
.p-img--cols.cols--2 .col:nth-of-type(n+3) {
  margin-top: 2rem;
}
.p-img--cols.cols--3 {
  margin-left: -1rem;
}
.p-img--cols.cols--3 .col {
  width: 33.333333%;
  padding-left: 1rem;
}
.p-img--cols.cols--3 .col:nth-of-type(n+4) {
  margin-top: 1rem;
}
.p-img_cp {
  display: block;
  margin-top: 1rem;
  text-align: center;
  font-size: var(--fs-3s);
  font-weight: 300;
  line-height: var(--line-height-m);
}

/*--------------------------------------------------------------------------------
  Sample
--------------------------------------------------------------------------------*/
.p-img_sample {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: var(--fs-2s);
  padding: 0 2rem;
  text-align: center;
}

/*--------------------------------------------------------------------------------
  Hover
--------------------------------------------------------------------------------*/
.p-hvPhoto {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.p-hvPhoto__img {
  transition: transform 0.8s var(--cubic-bezier);
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit:cover;"
}
@media print, screen and (min-width:641px) {
  .ua-pc .p-hvPhoto:hover .p-hvPhoto__img,
  .ua-pc .p-hvPhoto-link:hover .p-hvPhoto__img,
  .ua-pc .js__linkBox:hover .p-hvPhoto__img {
    transform: scale(1.07) rotate(0.001deg);
  }
}

/*----------------------------------------------------------------------------------------------------

  ブログパターン
  
----------------------------------------------------------------------------------------------------*/
.p-glog-wrap .p-glog:not(:first-of-type) {
  padding-top: var(--block-space-l);
}
.p-glog:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.p-glog ul:not(.p-listMk),
.p-glog ol:not(.p-listMk) {
  list-style: inherit;
  margin-left: 1.25em;
}
.p-glog ol {
  list-style: decimal;
}
.p-glog a[target="_blank"]:after {
  content: "";
  width: 1.7rem;
  height: 1.7rem;
  background: url(../image/icon/gLink.svg) no-repeat center center;
  background-size: auto 1rem;
  display: inline-block;
  vertical-align: top;
  margin-top: 0.2em;
  margin-left: 0.2rem;
  margin-right: 0.2rem;
}
.p-glog-img a[target="_blank"]:after {
  display: none;
}
.p-glog-image-left .p-glog-img,
.p-glog-image-right .p-glog-img {
  display: inline-block;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.p-glog-image-left .p-glog-img {
  float: left;
  margin-right: 4%;
}
.p-glog-image-right .p-glog-img {
  float: right;
  margin-left: 4%;
}
.p-glog-image-center .p-glog-img {
  display: block;
  text-align: center;
  margin-bottom: var(--block-space-s);
}
.p-glog-img_cp {
  display: block;
  margin-top: 1rem;
  text-align: center;
  font-size: var(--fs-3s);
  font-weight: 300;
  line-height: var(--line-height-m);
}
.p-glog-wrap .datafile {
  padding-top:1.7rem;
}
.p-glog-wrap .datafile .p-icon[icon="file"] {
  padding-left: 2.5rem;
}
.p-glog-wrap .datafile .p-icon[icon="file"]:before {
  margin-left: -2.3rem;
}
@media screen and (max-width:640px) {
  .p-glog-image-left .p-glog-img,
  .p-glog-image-right .p-glog-img {
    width: 100% !important;
    max-width: 100% !important;
    display: block;
    text-align: center;
    padding-top: 0;
    padding-bottom: var(--block-space-s);
  }
  .p-glog-image-left .p-glog-img img,
  .p-glog-image-right .p-glog-img img {
    width: 62.5%;
    max-width: 400px;
    min-width: 240px;
  }
  .p-glog-image-center .p-glog-img img {
    max-width: 100% !important;
  }
}

/*--------------------------------------------------------------------------------
  pager
--------------------------------------------------------------------------------*/
.p-glog-pager {
  padding-top: var(--block-space-l);
}
.p-glog-pager a,
.p-glog-pager a:visited,
.p-glog-pager a:hover {
  text-decoration: none;
}

/*--------------------------------------------------------------------------------
  非公開
--------------------------------------------------------------------------------*/
.private-alert {
  padding-bottom: var(--block-space-m);
}
.private-alert p {
  text-align: left;
  background-color: #fff0f5;
  line-height: var(--line-height-s);
  color: #eb2d32;
  padding: 0.75em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.private-alert b {
  font-size: var(--fs-3s);
  font-weight: 500;
  background-color: #eb2d32;
  color: #fff;
  padding: 0.4em 0.4em 0.5em 0.4em;
  vertical-align: middle;
  margin-right: 1em;
  white-space: nowrap;
}
.private-alert small {
  font-size: var(--fs-s);
  -webkit-flex: 1;
  flex: 1;
}

/*----------------------------------------------------------------------------------------------------

  ページネーション
  
----------------------------------------------------------------------------------------------------*/
.p-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: var(--block-space-l);
}
.p-pagination__list {
  list-style: none;
  text-align: center;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: -webkit-inline-flex;
  display: inline-flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: -1rem;
  margin-right: -1rem;
}
.p-pagination__list a,
.p-pagination__list a:visited,
.p-pagination__list a:hover {
  color: inherit;
  text-decoration: none;
}
.p-pagination__list li {
  line-height: 1;
}
.p-pagination a {
  display: block;
}
.p-pagination__list li,
.p-pagination__list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-pagination__list li a {
  padding: 1rem;
}
.p-pagination__list li span.is-active {
  color: var(--fc-link);
  padding: 1rem;
  font-weight: 500;
}
.p-pagination__list li.first:after,
.p-pagination__list li.last:before {
  content: "...";
  font-size: var(--fs-min);
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 1rem;
  margin-right: 1rem;
}
.p-pagination .more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1;
}
.p-pagination .more a {
  text-decoration: none;
}
.p-pagination .more .p-arrow { font-size: var(--fs-3l); margin-bottom: 0; }
.p-pagination .more-prev { padding-right: 3rem; }
.p-pagination .more-next { padding-left: 3rem; }
@media print,screen and (min-width:641px) {
  .ua-pc .p-pagination__list li a:hover {
    color: var(--fc-link);
  }
}
