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

  Button
  
----------------------------------------------------------------------------------------------------*/
.p-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  vertical-align: middle;
  border: none;
  margin: 0;
  outline: none;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  line-height: 1.2;
  position: relative;
  overflow: hidden;
  padding: 1.2em 1.25em;
}
.ua-pc .p-btn {
  transition: border 0.15s ease-out, background 0.15s ease-out, color 0.1s ease-out;
}
.p-btn[btn-size="S"] {
  padding-top: 1em;
  padding-bottom: 1em;
}
.p-btn[btn-size="L"] {
  padding-top: 1.4em;
  padding-bottom: 1.4em;
}

/*--------------------------------------------------------------------------------
  Color
--------------------------------------------------------------------------------*/
.p-btn,
.p-btn:visited,
.p-btn:hover,
.p-btn a,
.p-btn a:visited,
.p-btn a:hover {
  color: #FFF;
  text-decoration: none;
  background-color: rgba(var(--color-blue),1);
}
.p-btn[btn-color="green"],
.p-btn[btn-color="green"] a {
  background-color: rgba(var(--color-green),1);
}
.p-btn[btn-color="dblue"],
.p-btn[btn-color="dblue"] a {
  background-color: rgba(var(--color-dblue),1);
}
.p-btn[btn-color="gray"],
.p-btn[btn-color="gray"] a {
  background-color: #96A5AF;
}
@media print, screen and (min-width:641px) {
  .ua-pc .p-btn:hover,
  .ua-pc .p-btn a:hover {
    color: #FFF;
    background-color: rgba(var(--color-lblue),1);
  }
  .ua-pc .p-btn[btn-color="green"]:hover,
  .ua-pc .p-btn[btn-color="green"] a:hover {
    background-color: rgba(var(--color-lgreen),1);
  }
  .ua-pc .p-btn[btn-color="dblue"]:hover,
  .ua-pc .p-btn[btn-color="dblue"] a:hover {
    background-color: rgba(var(--color-ldblue),1);
  }
  .ua-pc .p-btn[btn-color="gray"]:hover,
  .ua-pc .p-btn[btn-color="gray"] a:hover {
    background-color: #A5B4BE;
  }
}

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

  矢印
  
----------------------------------------------------------------------------------------------------*/
.p-arrow {
  line-height: 0;
  vertical-align: middle;
  display: inline-block;
  margin-bottom: 0.2em;
  width: 3rem;
  height: 3rem;
  position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: -webkit-inline-flex;
	display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-arrow[size="S"] { width: 2.5rem; height: 2.5rem; }
.p-arrow[size="L"] { width: 4rem; height: 4rem; }
.p-arrow:after {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  border: 1px solid rgba(var(--color-blue),0.6);
}
.p-arrow:before {
  content: "";
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  border-top: 1px solid rgba(var(--color-blue),1);
  border-left: 1px solid rgba(var(--color-blue),1);
  margin-left: -2px;
  transform: rotate(135deg);
}
.p-arrow[size="S"]:before { width: 0.5rem; height: 0.5rem; }
.p-arrow[size="L"]:before { width: 0.8rem; height: 0.8rem; }

.p-arrow--mgR { margin-right:1.25rem; }
.p-arrow--mgL { margin-left:1.25rem; }
.p-arrow--mgR-s { margin-right:0.75rem; }
.p-arrow--mgL-s { margin-left:0.75rem; }
.p-btn .p-arrow { margin-bottom: 0; }

/* 左向き */
.p-arrow[arrow="prev"]:before {
  margin-left: 4px;
  transform: rotate(-45deg);
}
@media print, screen and (min-width:641px) {
  .ua-pc .p-arrow:after {
    transition: transform 0.6s var(--cubic-bezier);
  }
  .ua-pc a.p-arrow:hover:after,
  .ua-pc a:hover .p-arrow:after {
    transform: scale(1.2)
  }
}

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

  More Button
  
----------------------------------------------------------------------------------------------------*/
.p-moreBtn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  vertical-align: middle;
  border: none;
  margin: 0;
  outline: none;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  line-height: 1;
  position: relative;
  width: 4.5rem;
  height: 4.5rem;
}
.p-moreBtn:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  width: 80%;
  height: 80%;
  border: 1px solid rgba(var(--color-blue),0.6);
  transform-origin: 0 0;
}
.p-moreBtn__dot,
.p-moreBtn__dot:before,
.p-moreBtn__dot:after {
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background-color: rgba(var(--color-blue),1);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.p-moreBtn__dot:before,
.p-moreBtn__dot:after {
  content: "";
}
.p-moreBtn__dot:before {
  margin-left: -5px;
}
.p-moreBtn__dot:after {
  margin-left: 5px;
}
@media print, screen and (min-width:641px) {
  .p-moreBtn:before {
    transition: transform 0.6s var(--cubic-bezier);
  }
  .ua-pc .p-moreBtn:hover:before {
    transform: scale(1.2) translate(-50%,-50%);
  }
}

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

  点と矢印
  
----------------------------------------------------------------------------------------------------*/
.p-dotArrow {
  width: 5.5rem;
  line-height: 0;
  vertical-align: middle;
  display: inline-block;
  position: relative;
  text-align: right;
  margin-bottom: 0.2em;
}
.p-btn .p-dotArrow { margin-bottom: 0; }
.p-dotArrow__dot {
  display: inline-block;
  width: 3.5rem;
  height: 3.5rem;
  position: relative;
}
.p-dotArrow__dot:after {
  content: "";
  width: 70%;
  height: 70%;
  position: absolute;
  left: 65%;
  top: 50%;
  transform: translate(-50%,-50%);
  border: 1px solid rgba(var(--color-blue),0.3);
  border-radius: 50%;
  transform-origin: 0 0;
}
.p-dotArrow__dot:before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: rgba(var(--color-blue),1);
  position: absolute;
  left: 65%;
  top: 50%;
  transform: translate(-50%,-50%);
}
.p-dotArrow:before,
.p-dotArrow:after {
  content: "";
  width: 4rem;
  height: 1px;
  position: absolute;
  right: 0.75em;
  top: 50%;
  background-color: rgba(var(--color-blue),1);
}
.p-dotArrow:before {
  transform-origin: left top;
  transform: translateY(-50%) scale(1,1);
}
.p-dotArrow:after {
  transform-origin: right top;
  transform: translateY(-50%) scale(0,1);
}

/* 左向き */
.p-dotArrow[arrow="prev"] {
  text-align: left;
}
.p-dotArrow[arrow="prev"] .p-dotArrow__dot {
  margin-left: -1rem;
}
.p-dotArrow[arrow="prev"]:before,
.p-dotArrow[arrow="prev"]:after {
  right: inherit;
  left: 0.75em;
}
.p-dotArrow[arrow="prev"]:before {
  transform-origin: right top;
  transform: translateY(-50%) scale(1,1);
}
.p-dotArrow[arrow="prev"]:after {
  transform-origin: left top;
  transform: translateY(-50%) scale(0,1);
}

.p-btn .p-dotArrow__dot:after { border-color: rgba(255,255,255,0.3); }
.p-btn .p-dotArrow__dot:before { background-color: rgba(255,255,255,1); }
.p-btn .p-dotArrow:before,
.p-btn .p-dotArrow:after { background-color: rgba(255,255,255,1); }
@media print, screen and (min-width:641px) {
  .p-dotArrow__dot:after {
    transition: border 0.8s var(--cubic-bezier), transform 1.2s var(--cubic-bezier);
  }
  .ua-pc .p-dotArrow-link:hover .p-dotArrow__dot:after,
  .ua-pc .p-dotArrow-link.p-dotArrow:hover .p-dotArrow__dot:after {
    border-color: transparent;
    transform: scale(1.2) translate(-50%,-50%);
  }
  .p-dotArrow:before,
  .p-dotArrow:after {
    transition: transform 0.6s var(--cubic-bezier);
  }
  .ua-pc .p-dotArrow:hover:before,
  .ua-pc .p-dotArrow-link:hover .p-dotArrow:before {
    transform-origin: right top;
    transform: translateY(-50%) scale(0,1);
  }
  .ua-pc .p-dotArrow:hover:after,
  .ua-pc .p-dotArrow-link:hover .p-dotArrow:after {
    transform-origin: left top;
    transform: translateY(-50%) scale(1,1);
  }
  .ua-pc .p-dotArrow-link:not(:hover) .p-dotArrow:not(:hover):before,
  .ua-pc .p-dotArrow-link:not(:hover).p-dotArrow:before {
    transition-delay: 0.3s;
  }
  .ua-pc .p-dotArrow-link:hover .p-dotArrow:after,
  .ua-pc .p-dotArrow-link:hover.p-dotArrow:after {
    transition-delay: 0.3s;
  }
  
  /* 左向き */
  .ua-pc .p-dotArrow[arrow="prev"]:hover:before,
  .ua-pc .p-dotArrow-link:hover .p-dotArrow[arrow="prev"]:before {
    transform-origin: left top;
    transform: translateY(-50%) scale(0,1);
  }
  .ua-pc .p-dotArrow[arrow="prev"]:hover:after,
  .ua-pc .p-dotArrow-link:hover .p-dotArrow[arrow="prev"]:after {
    transform-origin: right top;
    transform: translateY(-50%) scale(1,1);
  }
}

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

  Icon
  
----------------------------------------------------------------------------------------------------*/
.p-icon {
  display: inline-block;
  margin-bottom: -0.2em;
}
.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;
  margin-bottom: 0.18em;
}
.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="file"]:before {
  background-image: url(../image/icon/file.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;
}
.p-gLink[link-color="white"] a[target="_blank"]:after,
.p-gLink-icon[link-color="white"]:after,
a.p-gLink[link-color="white"][target="_blank"]:after {
  background-image: url(../image/icon/gLink_white.svg);
}

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

  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-list[line="M"] li:not(:first-child),
ol.p-list[line="M"] li:not(:first-child),
ul.p-list[line="M"] li:not(:first-child) {
  padding-top: 0.5em;
}

ul.p-listMk {
  list-style: none;
}
:not(ul).p-listMk {
  display: block;
}
ul.p-listMk[listmk="dot"] li:before,
:not(ul).p-listMk[listmk="dot"]:before {
  content: "・";
  font-size: 0.8em;
  padding-bottom: 0.2em;
}
ul.p-listMk[listmk="maru"] li:before,
:not(ul).p-listMk[listmk="maru"]:before {
  content: "●";
  font-size: 0.8em;
  padding-bottom: 0.2em;
  color: rgba(var(--color-lblue),1);
}
ul.p-listMk[listmk="annot"] li:before,
:not(ul).p-listMk[listmk="annot"]:before {
  content: "※";
}
ul.p-listMk:not([listmk="annot"]) li { padding-left: 1.2em; }
ul.p-listMk[listmk="annot"] li,
:not(ul).p-listMk[listmk="annot"] { padding-left: 1.2em; }
:not(ul) li.p-listMk[listmk="annot"] { padding-left: 0; }
ul.p-listMk li:before {
  display: inline-block;
  vertical-align: middle;
}
ul.p-listMk[listmk="annot"] li:before,
:not(ul).p-listMk[listmk="annot"]:before {
  margin-left: -1.2em;
  margin-right: 0.2em;
}
ul.p-listMk:not([listmk="annot"]) li:before {
  margin-left: -1.4em;
  margin-right: 0.4em;
}

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

  Fade block
  
----------------------------------------------------------------------------------------------------*/
.p-fadeBlock {
  opacity: 0;
  visibility: visible !important;
}
.p-fadeBlock:not([data-fade="notslide"]).is-scroll {
  animation: fadeBlock_slideIn 0.6s forwards;
}
.p-fadeBlock[data-fade="notslide"].is-scroll {
  animation: fadeBlock_fadeIn 0.6s forwards;
}
@keyframes fadeBlock_slideIn {
  0% { opacity: 0; transform: translateY(25%); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeBlock_fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.p-textEffect {
  display: block;
  overflow: hidden;
}
.p-textEffect__txt {
  display: inline-block;
  opacity: 0;
  transform: translateY(25%);
}
.p-textEffect.is-scroll .p-textEffect__txt {
  animation: textEffect 0.6s forwards;
}
@keyframes textEffect {
  0% { opacity: 0; transform: translateY(25%); }
  100% { opacity: 1; transform: translateY(0); }
}

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

  ブログパターン
  
----------------------------------------------------------------------------------------------------*/
.p-glog {
  text-align: left;
  padding-top: var(--block-space-m);
}
.p-glog:first-of-type .js__rpsTable {
  margin-top: 0.5em;
}
.p-glog:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.p-glog__hdline {
  margin-bottom: 0.75em;
  line-height: var(--line-height-m);
  font-weight: 500;
}
.p-glog:not(:first-of-type) .p-glog__hdline {
  margin-top: 1em;
}
.p-glog ul,
.p-glog ol {
  margin-left: 1.25em;
}
.p-glog strong,
.p-glog b {
  font-weight: 500;
}
.p-glog a[href^="tel:"] {
  color: inherit;
}
.p-glog__txt {
  word-break: break-all;
}
.p-glog__txt--column,
.p-glog__img--center,
.p-glog__datafile {
  width: 100%;
}
.p-glog__img--center {
  text-align: center;
}
.p-glog__img--left,
.p-glog__img--right {
  display: inline-block;
}
.p-glog__img--left:not([data-mg="0"]),
.p-glog__img--right:not([data-mg="0"]),
.img--center__item[data-ps="top"]:not([data-mg="0"]) {
  margin-bottom: 2em;
}
.img--center__item[data-ps="bottom"]:not([data-mg="0"]) {
  margin-top: 2em;
}
.p-glog__img--center img,
.p-glog__img--left img,
.p-glog__img--right img {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.img--center__item {
  display: inline-block;
}
.p-glog__datafile {
  padding: 0.5em 0;
}
.p-glog__datafile + .p-glog__txt {
  padding-top: 1em;
}
.p-glog__txt + .p-glog__datafile {
  padding-top: 1em;
}
.p-glog__img__cp {
  display: block;
  text-align: center;
  line-height: var(--line-height-s);
  padding-top: 0.5em;
  font-size: var(--fs-2s);
  color: rgba(var(--color-gray),1);
}
.p-glog__back {
  padding-top: var(--block-space-l);
  margin-bottom: calc(-1* var(--block-space-min));
}
.p-glog__back a,
.p-glog__back a:visited,
.p-glog__back a:hover {
  color: var(--fc-link);
  text-decoration: none;
}
@media print, screen and (min-width:641px) {
  .p-glog__hdline {
    font-size: var(--fs-2l);
  }
  .p-glog__img--left {
    float: left;
    margin-right: 4%;
  }
  .p-glog__img--right {
    float: right;
    margin-left: 4%;
  }
  .p-glog__img--left img,
  .p-glog__img--right img,
  .img--center__item img {
    max-width: 100% !important;
  }
  .ua-pc .p-glog__back a:hover {
    color: var(--fc-link-hover);
  }
}
@media screen and (max-width:640px) {
  .p-glog__hdline {
    font-size: var(--fs-l);
  }
  .p-glog__img--left,
  .p-glog__img--right,
  .p-glog__img--left + .p-glog__txt,
  .p-glog__img--right + .p-glog__txt {
    width: 100% !important;
  }
  .p-glog__img--left,
  .p-glog__img--right {
    max-width: 100% !important;
    text-align: center;
  }
  .p-glog__img--left img,
  .p-glog__img--right img,
  .img--center__item img {
    width: 100% !important;
  }
}

/*--------------------------------------------------------------------------------
  非公開
--------------------------------------------------------------------------------*/
.private-alert p {
  margin-bottom: var(--block-space-m);
  text-align: left;
  border: 1px solid rgba(var(--color-red),0.6);
  line-height: var(--line-height-s);
  color: rgba(var(--color-red),1);
  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: rgba(var(--color-red),1);
  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 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: var(--block-space-m);
}
.p-pagination__list {
  list-style: none;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: -0.5em;
  margin-right: -0.5em;
}
.p-pagination__list a,
.p-pagination__list a:visited,
.p-pagination__list a:hover {
  color: rgba(var(--color-gray),1);
  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 { margin-bottom: 0; }
.p-pagination .more-prev { padding-right: 2.5rem; }
.p-pagination .more-next { padding-left: 2.5rem; }
.ua-pc .p-pagination__list li a:hover {
  color: var(--fc-link);
}
@media screen and (max-width:480px) {
  .p-pagination {
    padding-top: var(--block-space-m);
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .p-pagination__list {
    width: 100%;
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .p-pagination .more {
    padding-top: var(--block-space-m);
  }
  .p-pagination .more-prev {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    padding-right: 1.5rem;
    margin-right: auto;
  }
  .p-pagination .more-next {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    padding-left: 1.5rem;
    margin-left: auto;
  }
  .p-pagination .more-prev:after {
    content: "前のページ";
    margin-left: 1.25rem;
    color: var(--fc-link);
  }
  .p-pagination .more-next:before {
    content: "次のページ";
    margin-right: 1.25rem;
    color: var(--fc-link);
  }
}

