@charset "UTF-8";
@import url("nvgrid.css"); 
@import url("lightbox.css"); 
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;800;900");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;900");
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
@import url("https://use.fontawesome.com/releases/v5.7.2/css/all.css");
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css');

/*--------------------------------------------------------------------*/
/* nihonvogue.com 202211ver */
/*--------------------------------------------------------------------*/

* { 
  margin: 0;
  padding: 0;
  min-width: 0;
  min-height: 0;
} 
html { 
  font-size: 62.5%; /*10px*/
} 
body { 
  min-width: 320px; 
  background: #fff;
  color: #333; 
  font-size: 16px; 
  font-size: 1.6rem; 
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  letter-spacing: 0.1em; 
  line-height: 1.5;
  box-sizing: border-box;
}
ul,ol,li {
  list-style: none;
}
ul li,
ol li {
  line-height: 1.3;
  margin-bottom: .5em;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 16px; 
  font-size: 1.6rem; 
  font-weight: normal;
  margin: 0;
  padding: 0;
}
p {
  margin-bottom: .75em;
  padding: 0;
}
a,
button {
  color: #333;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
a:hover {
  color: #666;
  text-decoration: none;
  transition: all .2s;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
video {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width:767px){
  body { 
    font-size: 14px; 
    font-size: 1.4rem;
		font-weight: 500;
  }
  h1,h2,h3,h4,h5,h6 {
    font-weight: 700;
  }
}

.ie8 img{
  width: 100%;
}

strong {
  font-weight: bold;
}
em {
	font-style: normal;
}
small,
.small {
  font-size: 85%;
}
figcaption {
  padding-top: .5em;
}



/*Layout
--------------------------------------------------------------------*/
#wrapper {
	max-width: 100%;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.innr {
  margin: 0 10px;
}
.innr-narrow {
  margin: 0 20px;
}

@media print, screen and (min-width: 971px) {
  .innr-narrow {
    width: 950px;
    margin: 0 auto;
  }
}


@media print, screen and (min-width: 1341px) {
  .innr {
    width: 1340px;
    margin: 0 auto;
  }
  .pane-main .container .innr { width: 100%; max-width: 1200px;}
}



@media screen and (min-width:480px){
}
@media screen and (min-width:768px){
}
@media screen and (min-width:980px){
}
@media print, screen and (min-width:1024px){
}


/*Header
--------------------------------------------------------------------*/
#header {
	
}

/*Container
--------------------------------------------------------------------*/
.container {
	
}

.page-title {
  font-family: "Noto Serif JP", serif;
	font-size: 1.75em;
	text-align: center;
	padding: 30px 0;
}




/*Book Store
--------------------------------------------------------------------*/
.to-storepage {
	position: relative;
  max-width: 600px;
	display: block;
	border: 2px solid rgba(106, 0, 0, 1);
	color: rgba(106, 0, 0, 1);
	font-weight: bold;
	text-align: center;
	padding: .75em 0;
  margin: 0 auto;
}
.to-storepage::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(0, -50%);
	content: "\f054";
  font-size: 1.25em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}
.to-storepage:hover {
	background: rgba(106, 0, 0, .8);
  color: #fff;
}


.store-page-nav li {
}
.store-page-nav li a {
	position: relative;
	display: block;
	background: rgba(106, 0, 0, 1);
	color: #fff;
	font-weight: bold;
	text-align: center;
	padding: .75em 0 2em;
}
.store-page-nav li a::after {
  position: absolute;
  left: 50%;
  bottom: 5px;
  transform: translate(-50%, 0);
	content: "\f107";
  font-size: 1.25em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}
.store-page-nav li a:hover {
	background: rgba(106, 0, 0, .8);
}
.store-items-header {
  color: rgba(106, 0, 0, 1);
	font-size: 1.25em;
	font-weight: bold;
  text-align: center;
	margin: 1em 0 .75em;
}

@media screen and (min-width:768px){
  .store-items-header {
    font-size: 1.5em;
  }
}


.store-items {
	
}
.store-items .update {
	font-size: .75em;
}
.store-items .title {
	font-weight: bold;
}
.store-items .btnarea {
	text-align: center;
}
.store-items .btnarea .btn-download {
	height: 36px;
	line-height: 32px;
	border-radius: 18px;
	font-size: .9em;
}

/* ギャラリー表示 */
.store-items-gallery {
  display: flex;
  flex-wrap: wrap;
	margin: 0 -5px;
}
.store-items-gallery li {
  position: relative;
  width: calc(100% / 1 - 10px);
	background: #f0f0f0;
	padding: 15px;
	margin: 0 5px 10px;
}
.store-items-gallery li .thumb {
	position: relative;
	aspect-ratio: 1 / 1;
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}
.store-items-gallery li .thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.store-items-gallery li .update {
	margin-bottom: .5em;
}
.store-items-gallery li .title {
	margin-bottom: 1em;
}

@media screen and (min-width:480px){
	.store-items-gallery li {
		width: calc(100% / 2 - 10px);
	}
}
@media screen and (min-width:768px){
	.store-items-gallery li {
		width: calc(100% / 3 - 10px);
	}
}
@media screen and (min-width:980px){
	.store-items-gallery li {
		width: calc(100% / 4 - 10px);
	}
}
@media print, screen and (min-width:1024px){
	.store-items-gallery li {
		width: calc(100% / 5 - 10px);
	}
}


/* リスト表示 */
.store-item-list {
}
.store-item-list li {
	display: flex;
	flex-wrap: wrap;
	padding: 1em;
	background: #f0f0f0;
	margin-bottom: 10px;
}
.store-item-list li a {
	display: block;
}
.store-item-list li .update {
	width: 8em;
	line-height: 32px;
}
.store-item-list li .title {
	width: calc(100% - 8em);
	line-height: 32px;
}
.store-item-list li .btnarea {
	width: 100%;
	text-align: center;
}

@media screen and (min-width:768px){
	.store-item-list li .update {
		width: 8em;
		line-height: 32px;
	}
	.store-item-list li .title {
		width: calc(100% - 24em);
		line-height: 32px;
	}
	.store-item-list li .btnarea {
		width: 16em;
		text-align: center;
	}
	.store-item-list li {
		justify-content: space-between;
	}
}



/*Download
--------------------------------------------------------------------*/
.download {
	background: #f0f0f0;
	padding: 0 20px 20px;
	text-align: center;
}
.download form {
	margin-top: 1.5em;
}
.download input[type=text] {
	width: 400px;
	border: 0;
	font-size: 1.25em;
	text-align: center;
	padding: .5em;
	margin: 0 auto 10px;
}
.download button {
	position: relative;
  display: block;
  width: 100%;
	max-width: 400px;
	height: 40px;
	line-height: 36px;
	background: #fff;
	border-radius: 20px;
	border: 2px solid #6A0000;
	color: #6A0000;
	font-size: 1.125em;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	margin: 10px auto;
}
.download button:hover {
	background: #6A0000;
	color: #fff;
}
.download .btn-submit {
	
}
.download .btn-open {
	
}
.download .btn-open::before {
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translate(0, -50%);
  content:'\e2c4';
	font-size: 1.25em;
  font-family: "Material Icons";
}
.download .btn-open:hover::before {
  text-decoration: none !important;
}
.download .caution {
	text-align: left;
}
.download .caution p {
	font-weight: bold;
	margin-bottom: .5em;
}
.download .caution p span {
	display: inline-block;
	padding: .5em 1em;
	background: #6A0000;
	color: #fff;
	font-weight: bold;
}
.download .caution ul {
	padding: 10px 20px 50px;
}
.download .caution li {
	
}
.download .caution li::before {
	content: "＊";
}
.download .txt-enter {
	color: #6A0000;
	font-weight: bold;
}

.download .error {
	color: #6A0000;
	margin-top: 1em;
}
.download .success-box {
	padding-top: 20px;
}
.download .success-box p {
	margin: 0 0 1em;
}



/* Footer
--------------------------------------------------------------------*/
#footer {
  text-align: center;
  padding: 30px 10px;
}
.footer-logo {
	width: 180px;
  margin: 0 auto 10px;

}
.footer-link {
  max-width: 600px;
  margin: 0 auto;
}
.footer-link ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.footer-link li {
  padding: 0 .5em;
}
.footer-link li small {
  font-size: .875em;
  margin-right: .5em;
}
.footer-link li a {
  font-weight: bold;
  text-decoration: none;
}
.footer-link li a:hover {
  color: #6A0000;
  text-decoration: none;
}
.footer-link-l li {
  width: 100%;
}
.footer-link-s li {
  font-size: .9em
}
.footer-link-s {
}

@media screen and (min-width: 768px){
  #footer {
    text-align: center;
    padding: 50px 10px;
  }
  .footer-link-l li a small {
    font-weight: normal;
  }
}

#page-top a {
  position: relative;
  display: flex;
  justify-content:center;
  align-items:center;
  background: rgba(106, 0, 0, 1);
  border-radius: 30px;
  width: 60px;
  height: 60px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition:all 0.3s;
}
#page-top a:hover{
  background: rgba(106, 0, 0, .8);
}
#page-top a::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(-45deg);
  margin-top: 10px;
}
#page-top {
  position: fixed;
  right: 15px;
  bottom: 15px;
  z-index: 2;
    /*はじめは非表示*/
  opacity: 0;
  transform: translateX(100px);
}

/*　左の動き　*/

#page-top.LeftMove{
  animation: LeftAnime 0.5s forwards;
}

@keyframes LeftAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }
  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/*　右の動き　*/

#page-top.RightMove{
  animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime{
  from {
    opacity: 1;
  transform: translateX(0);
  }
  to {
    opacity: 1;
  transform: translateX(100px);
  }
}


@media screen and (max-width: 767px){
  #page-top a {
    border-radius: 30px;
    width: 60px;
    height: 60px;
  }
}


/* Common
--------------------------------------------------------------------*/

/* Pagetop */
#footer_pagetop,
.block-page-top {
  z-index: 9999;
}

/* Background */
.bg-gray {
  background: #f3f3f3;
}
.bg-ivory {
  background: #f6f5f3;
}
.bg-yellow {
  background: rgba(255, 255, 0, .2);
}
.bg-pink {
  background: rgba(214, 99, 114, .1)
}

/* Header */
.h_bg_gold {
  background: rgba(168, 126, 22, .3);
  padding: 1em .5em;
  border-left: none !important;
}
.h_underline1 {
  border-left: none !important;
  border-bottom: 1px solid #444;
  margin: 0 0 1em 0;
  padding-bottom: .25em;
}
.h_underline3 {
  border-left: none !important;
  border-bottom: 3px solid #444;
  margin: 0 0 1em 0;
  padding-bottom: .25em;
}
.h_leftborder_gray {
  font-weight: bold;
  font-weight: 700;
  border-left: 10px solid #dcd6d2;
  margin-bottom: 1em;
  margin-top: 2em;
  padding-left: 0.5em;
  width: 100%;
  line-height: 1.4;
  text-align: left;
}
.h_pagetitle_center {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  margin: 0 auto .5em;
}
.h_diagonalcube-black {
  font-size: 1.5em;
  text-align: center;
  margin: 2em 0;
}
.h_diagonalcube-black span {
  position: relative;
  display: inline-block;
  margin: 0 auto 1em;
}
.h_diagonalcube-black span::after {
  content: '';
  position: absolute;
  bottom: -1.5em;
  display: inline-block;
  background: rgba(0, 0, 0, 1);
  width: 20px;
  height: 20px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}
.h_diagonalcube-gray {
  font-size: 1.5em;
  text-align: center;
  margin: 2em 0;
}
.h_diagonalcube-gray span {
  position: relative;
  display: inline-block;
  margin: 0 auto 1em;
}
.h_diagonalcube-gray span::after {
  content: '';
  position: absolute;
  bottom: -1.5em;
  display: inline-block;
  background: #999;
  width: 20px;
  height: 20px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}



@media print, screen and (min-width: 768px){
  .h_leftborder_gray {
    font-weight: 500;
  }
  .h_pagetitle_center {
    font-size: 36px;
    letter-spacing: .15em;
    margin: .75em auto;
  }
  .h_diagonalcube-black {
    font-size: 2em;
  }
  .h_diagonalcube-gray {
    font-size: 2em;
  }
}



/* Btn */
.btn-download {
	position: relative;
  display: block;
  width: 100%;
	background: #fff;
	border: 2px solid #6A0000;
	color: #6A0000;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
.btn-download:hover {
	background: #6A0000;
	color: #fff;
}
.btn-download::before {
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translate(0, -50%);
  content:'\e2c4';
	font-size: 1.5em;
  font-family: "Material Icons";
}
.btn-download:hover::before {
  text-decoration: none !important;
}





.nvbtn-group {
  text-align: center;
  padding: 10px;
}
.nvbtn-group li {
  padding: 5px 0;
}
.nvbtn-group-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.nvbtn-group-flex li {
  margin: 0 5px;
}

.nvbtn {
  display: block;
  width: 100%;
  max-width: 800px;
  border: 1px solid transparent;
  border-radius: 5px;
  line-height: 1.5;
  text-align: center;
  text-decoration: none !important;
  padding: .5em 1em;
  margin: 0 auto;
  
  color: rgba(0, 0, 0, 1);
  background: #fff;
  border-color: rgba(0, 0, 0, 1);
}
.nvbtn:hover,
.nvbtn:active {
  text-decoration: none !important;

  color: #fff;
  background: rgba(214, 99, 114, 1);
  border-color: rgba(214, 99, 114, 1);
}
.nvbtn-group-flex li .nvbtn {
  width: auto;
}
.btn-inlineblock {
  display: inline-block;
  padding: .5em 1.5em;
}
.btn-lg {
  font-size: 1.25em;
}
.btn-sm {
  font-size: .875rem;
}

.btn-pink {
  color: #fff;
  background: rgba(214, 99, 114, 1);
  border-color: rgba(214, 99, 114, 1);
}
.btn-pink:hover {
  background: rgba(214, 99, 114, .8);
  border-color: rgba(214, 99, 114, 1);
}
.btn-gold {
  color: #fff;
  background: rgba(168, 126, 22, 1);
  border-color: rgba(168, 126, 22, 1);
}
.btn-gold:hover {
  color: #fff;
  background: rgba(168, 126, 22, .8);
  border-color: rgba(168, 126, 22, 1);
}
.btn-black {
  color: #fff;
  background: rgba(0, 0, 0, 1);
}
.btn-black:hover {
  color: #fff;
  background: rgba(214, 99, 114, 1);
}
.btn-gray {
  color: #fff;
  background: rgba(120, 120, 120, 1);
}
.btn-gray:hover {
  color: #fff;
  background: rgba(214, 99, 114, .8);
}
.btn-outline-pink {
  color: rgba(214, 99, 114, 1);
  background: #fff;
  border-color: rgba(214, 99, 114, 1);
}
.btn-outline-pink:hover {
  color: #fff;
  background: rgba(214, 99, 114, .8);
}
.btn-outline-gold {
  color: rgba(168, 126, 22, 1);
  background: #fff;
  border-color: rgba(168, 126, 22, 1);
}
.btn-outline-gold:hover {
  color: #fff;
  background: rgba(168, 126, 22, .8);
}
.btn-outline-black {
  color: rgba(0, 0, 0, 1);
  background: #fff;
  border-color: rgba(0, 0, 0, 1);
}
[data-browse-mode="P"] .btn-outline-black:hover {
  color: #fff;
  background: rgba(214, 99, 114, 1);
  border-color: rgba(214, 99, 114, 1);
}
.btn-outline-gray {
  color: rgba(120, 120, 120, 1);
  background: #fff;
  border-color: rgba(120, 120, 120, 1);
}
.btn-outline-gray:hover {
  color: #fff;
  background: rgba(120, 120, 120, .8);
}

.btn-arrow-before {
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
}
.btn-arrow-before:hover {
  text-decoration: none;
}
.btn-arrow-before::before {
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translate(0, -50%);
	content: "\f0da";
  font-size: 1.25em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: .5em;
}
.btn-arrow-before:hover::before {
  text-decoration: none !important;
}

.btn-arrow-after {
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
}
.btn-arrow-after:hover {
  text-decoration: none;
}
.btn-arrow-after::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
	content: "\f0da";
  font-size: 1.25em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: .5em;
}
.btn-arrow-after:hover::after {
  text-decoration: none !important;
}

.btn-arrowdown-after {
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
}
.btn-arrowdown-after:hover {
  text-decoration: none;
}
.btn-arrowdown-after::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
	content: "\f0d7";
  font-size: 1.25em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: .5em;
}
.btn-arrowdown-after:hover::after {
  text-decoration: none !important;
}

.btn-cart-before {
  position: relative;
}
.btn-cart-before::before {
  content:'\e8cc'; 
  font-family: "Material Icons"; 
  font-size: 1.25em;
	font-weight: 900;
	margin-right: .5em;
  vertical-align: middle;
}
.btn-cart-before:hover::before {
  text-decoration: none !important;
}

.nvbtn.btn-arrow-before::before,
.btn-black.btn-arrow-before::before,
.btn-gray.btn-arrow-before::before,
.btn-outline-black.btn-arrow-before::before,
.nvbtn.btn-arrow-after::after,
.btn-black.btn-arrow-after::after,
.btn-gray.btn-arrow-after::after,
.btn-outline-black.btn-arrow-after::after,
.nvbtn.btn-arrowdown-after::after,
.btn-black.btn-arrowdown-after::after,
.btn-gray.btn-arrowdown-after::after,
.btn-outline-black.btn-arrowdown-after::after{
  color: rgba(214, 99, 114, 1);
}
.nvbtn:hover.btn-arrow-before::before,
.btn-black:hover.btn-arrow-before::before,
.btn-gray:hover.btn-arrow-before::before,
.btn-outline-black:hover.btn-arrow-before::before,
.nvbtn:hover.btn-arrow-after::after,
.btn-black:hover.btn-arrow-after::after,
.btn-gray:hover.btn-arrow-after::after,
.btn-outline-black:hover.btn-arrow-after:after,
.nvbtn:hover.btn-arrowdown-after::after,
.btn-black:hover.btn-arrowdown-after::after,
.btn-gray:hover.btn-arrowdown-after::after,
.btn-outline-black:hover.btn-arrowdown-after:after{
  color: #fff;
}

.btn-pink.btn-arrow-before::before,
.btn-gold.btn-arrow-before::before,
.btn-pink.btn-arrow-after::after,
.btn-gold.btn-arrow-after::after,
.btn-pink:hover.btn-arrow-before::before,
.btn-gold:hover.btn-arrow-before::before,
.btn-pink:hover.btn-arrow-after::after,
.btn-gold:hover.btn-arrow-after::after,
.btn-pink:hover.btn-arrowdown-after::after,
.btn-gold:hover.btn-arrowdown-after::after {
  color: #fff;
}

.btn-invalid {
  pointer-events: none;
  background: #999;
  border-color: #999;
  color: #fff;
}
.btn-invalid.btn-black.btn-arrow-before::before,
.btn-invalid.btn-outline-black.btn-arrow-before::before {
  color: #fff;
}


/* badge */
.badge-outline-gold {
  display: inline-block;
  color: rgba(168, 126, 22, 1);
  background: #fff;
  border: 1px solid rgba(168, 126, 22, 1);
  padding: .25em 1em;
  margin-right: .5em;
}


/* label */
.sp-slide a,
.article-list li a {
  position: relative;
}
.sp-slide a img,
.article-list li a img {
  z-index: 1;
}
.label {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 30px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  z-index: 2;
}
.label-gray {
  background: #333;
  color: #fff;
}


/* Text */
.txt-12 {
  font-size: .75em;
}
.txt-14 {
  font-size: .875em;
}
.txt-18 {
  font-size: 1.125em;
}
.txt-20 {
  font-size: 1.25em;
}
.txt-24 {
  font-size: 1.5em;
}
.txt-bold {
  font-weight: bold
}
.txt-red,
.text-red {
  color: #b81c22;
}
.txt-pink,
.text-pink {
  color: var(--common-pink-color);
}
.txt-gold,
.text-gold {
  color: #a87e16;
}
.txt-marker-yellow {
  background:linear-gradient(transparent 60%, #ffff00 60%);
}
.txt-marker-pink {
  background:linear-gradient(transparent 60%, #FFE2F1 60%);
}
.txt-torikeshi {
  text-decoration: line-through;
}
.txt-serif {
  font-family: "Noto Serif JP", serif;
}
.txt-center {
  text-align: center;
}

@media screen and (max-width: 767px){
  .txt-marker-yellow,
  .txt-marker-pink {
    font-weight: bold;
  }
}

/* Link */
.link-arrow,
.link-arrow a {
	color: #444;
  text-decoration: none !important;
}
.link-arrow:hover,
.link-arrow a:hover {
  color: #d66372;
  text-decoration: none !important;
}
.btn-correctionlink::before,
.link-arrow::before,
.link-arrow a::before {
	content: "\f138";
	color: #d66372;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 0.3em;
}
.btn-correctionlink:hover::before,
.link-arrow:hover::before,
.link-arrow a:hover::before{
  text-decoration: none !important;
}
.link-arrow-down,
.link-arrow-down a {
	color: #444;
  text-decoration: none !important;
}
.link-arrow-down:hover,
.link-arrow-down a:hover {
  color: #d66372;
  text-decoration: none !important;
}
.link-arrow-down::before ,
.link-arrow-down a::before {
	content: "\f13a";
	color: #d66372;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 0.3em;
}
.link-arrow-down:hover::before,
.link-arrow-down a:hover::before{
  text-decoration: none !important;
}

/* Icon */
.icon-instagram::before {
	content: "\f16d";
	font-family: "Font Awesome 5 Brands";
	font-weight: 400;
	margin-right: .3em;
}
.icon-twitter::before {
	content: "\f099";
	font-family: "Font Awesome 5 Brands";
	font-weight: 400;
	margin-right: .3em;
}
.icon-x::before {
	content: "\e61b";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	margin-right: .3em;
}
.icon-facebook::before {
	content: "\f09a";
	font-family: "Font Awesome 5 Brands";
	font-weight: 400;
	margin-right: .3em;
}
.icon-website::before {
	content: "\f0ac";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	margin-right: .3em;
}


/* List */
ul.list-dot-black > li {
  position: relative;
  line-height: 1.5;
  margin: .5em 0;
  padding-left: 1.5em;
}
ul.list-dot-black > li:before {
  position: absolute;
  top: .6em;
  left: .5em;
  content: "";
  width: .4em;
  height: .4em;
  display: inline-block;
  background-color: #666;
  border-radius: 50%;
}

ul.list-dot-gray > li {
  position: relative;
  line-height: 1.5;
  margin: .5em 0;
  padding-left: 1.5em;
}
ul.list-dot-gray > li:before {
  position: absolute;
  top: .4em;
  left: .2em;
  content: "";
  width: .8em;
  height: .8em;
  display: inline-block;
  background-color: #999;
  border-radius: 50%;
}

ul.list-dot-pink > li {
  position: relative;
  line-height: 1.5;
  margin: .5em 0;
  padding-left: 1.5em;
}
ul.list-dot-pink > li:before {
  position: absolute;
  top: .4em;
  left: .2em;
  content: "";
  width: .8em;
  height: .8em;
  display: inline-block;
  background-color: #d66372;
  border-radius: 50%;
}

ul.list-kome > li {
  position: relative;
  line-height: 1.5;
  margin: .5em 0;
  padding-left: 1.5em;
}
ul.list-kome > li:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}

ul.list-link-arrow > li {
  line-height: 1.5;
  margin: .5em 0;
}
ul.list-link-arrow > li:before {
	content: "\f138";
	color: #d66372;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 0.3em;
}

ol.list-count-period > li {
 counter-increment: list-count-period; 
 position: relative;
 padding-left: 2.5rem;
}
ol.list-count-period > li:before {
 content:  "" counter(list-count-period) ".";
 position: absolute;
 top: 0;
 left: .5em;
}

ol.list-count-kakko > li {
 counter-increment: list-count-kakko; 
 position: relative;
 padding-left: 2.5rem;
}
ol.list-count-kakko > li:before {
 content:  "（" counter(list-count-kakko) "）";
 position: absolute;
 top: 0;
 left: 0;
}

dl.dl-default {
  
}
dl.dl-default dt {
  font-weight: bold;
  margin: 0 0 .25em;
}
dl.dl-default dd {
  margin: 0 0 1em .5em;
}

dl.dl-black-border {
  
}
dl.dl-black-border dt {
	display: inline-block;
	border: 2px solid #000;
	background: #fff;
	font-weight: bold;
	margin: 0 0 .5em 0;
	padding: .5em .75em;
}
dl.dl-black-border dd {
  margin: 0 0 2em 2em;
}

dl.dl-black-box {
  
}
dl.dl-black-box dt {
	display: inline-block;
	background: #333;
  color: #fff;
	font-weight: bold;
	margin: 0 0 .5em 0;
	padding: .5em .75em;
}
dl.dl-black-box dd {
  margin: 0 0 2em 2em;
}


/* Display */
.display-mb {
  display: inherit;
}
.display-pc {
  display: none;
}

@media print, screen and (min-width: 576px){
  .display-mb {
    display: none;
  }
  .display-pc {
    display: inherit;
  }
}


/* Align */
.center-mb {
  text-align: center;
}
.center-pc {
  text-align: left;
}

@media print, screen and (min-width: 576px){
  .center-mb {
    text-align: left;
  }
  .center-pc {
    text-align: center;
  }
}

/* Br */
.br-mb {
  display: inherit;
}
.br-pc {
  display: none;
	margin-right: .5em;
}

@media print, screen and (min-width: 576px){
  .br-mb {
    display: none;
		margin-right: .5em;
  }
  .br-pc {
    display: inherit;
		margin-right: 0;
  }
}

/* Tel */
@media print, screen and (min-width: 576px){
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* Nvgrid */
.nvgrid-row figcaption {
  padding-top: .5em;
  line-height: 1.3;
}

/* Box */
.section-p10,
.section-10 {
  padding: 5px 0;
}
.section-p20,
.section-20 {
  padding: 10px 0;
}
.section-p30,
.section-30 {
  padding: 15px 0;
}
.section-p40,
.section-40 {
  padding: 20px 0;
}
.section-w900 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.box_bg_yellow {
  background: rgba(248, 246, 179, .7);
}
.section-border-black1 {
  border: 1px solid #333;
}
.section-border-gray10 {
  border: 10px solid #ccc;
}


@media print, screen and (min-width: 768px){
  .section-p10,
  .section-10 {
    padding: 10px 0;
  }
  .section-p20,
  .section-20 {
    padding: 20px 0;
  }
  .section-p30,
  .section-30 {
    padding: 30px 0;
  }
  .section-p40,
  .section-40 {
    padding: 40px 0;
  }
}

@media print, screen and (min-width: 992px){
  .section-w900 {
    width: 900px;
  }
}

/* Number */
.num-gray-circle {
  display: inline-block;
  width: 24px;
  height: 24px;
  line-height: 24px;
  font-size: 18px;
  letter-spacing: 0;
  text-align: center;
  background: #666;
  border-radius: 12px;
  color: #fff;
  margin-right: .5em;
}
.num-pink-circle {
  display: inline-block;
  width: 24px;
  height: 24px;
  line-height: 24px;
  font-size: 18px;
  letter-spacing: 0;
  text-align: center;
  background: #d66372;
  border-radius: 12px;
  color: #fff;
  margin-right: .5em;
}
.num-blackborder-circle {
  display: inline-block;
  width: 24px;
  height: 24px;
  line-height: 24px;
  font-size: 18px;
  letter-spacing: 0;
  text-align: center;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #000;
  margin-right: .5em;
}


/* Margin / Padding */
.m-0 {
  margin: 0 !important;
}
.mt-0,
.my-0 {
  margin-top: 0 !important;
}
.mr-0,
.mx-0 {
  margin-right: 0 !important;
}
.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}
.ml-0,
.mx-0 {
  margin-left: 0 !important;
}
.m-10 {
  margin: 10px !important;
}
.mt-10,
.my-10 {
  margin-top: 10px !important;
}
.mr-10,
.mx-10 {
  margin-right: 10px !important;
}
.mb-10,
.my-10 {
  margin-bottom: 10px !important;
}
.ml-10,
.mx-10 {
  margin-left: 10px !important;
}
.m-20 {
  margin: 20px !important;
}
.mt-20,
.my-20 {
  margin-top: 20px !important;
}
.mr-20,
.mx-20 {
  margin-right: 20px !important;
}
.mb-20,
.my-20 {
  margin-bottom: 20px !important;
}
.ml-20,
.mx-20 {
  margin-left: 20px !important;
}
.m-30 {
  margin: 30px !important;
}
.mt-30,
.my-30 {
  margin-top: 30px !important;
}
.mr-30,
.mx-30 {
  margin-right: 30px !important;
}
.mb-30,
.my-30 {
  margin-bottom: 30px !important;
}
.ml-30,
.mx-30 {
  margin-left: 30px !important;
}
.m-40 {
  margin: 40px !important;
}
.mt-40,
.my-40 {
  margin-top: 40px !important;
}
.mr-40,
.mx-40 {
  margin-right: 40px !important;
}
.mb-40,
.my-40 {
  margin-bottom: 40px !important;
}
.ml-40,
.mx-40 {
  margin-left: 40px !important;
}
.m-50 {
  margin: 50px !important;
}
.mt-50,
.my-50 {
  margin-top: 50px !important;
}
.mr-50,
.mx-50 {
  margin-right: 50px !important;
}
.mb-50,
.my-50 {
  margin-bottom: 50px !important;
}
.ml-50,
.mx-50 {
  margin-left: 50px !important;
}
.p-0 {
  padding: 0 !important;
}
.pt-0,
.py-0 {
  padding-top: 0 !important;
}
.pr-0,
.px-0 {
  padding-right: 0 !important;
}
.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}
.pl-0,
.px-0 {
  padding-left: 0 !important;
}
.p-10 {
  padding: 10px !important;
}
.pt-10,
.py-10 {
  padding-top: 10px !important;
}
.pr-10,
.px-10 {
  padding-right: 10px !important;
}
.pb-10,
.py-10 {
  padding-bottom: 10px !important;
}
.pl-10,
.px-10 {
  padding-left: 10px !important;
}
.p-20 {
  padding: 20px !important;
}
.pt-20,
.py-20 {
  padding-top: 20px !important;
}
.pr-20,
.px-20 {
  padding-right: 20px !important;
}
.pb-20,
.py-20 {
  padding-bottom: 20px !important;
}
.pl-20,
.px-20 {
  padding-left: 20px !important;
}
.p-30 {
  padding: 30px !important;
}
.pt-30,
.py-30 {
  padding-top: 30px !important;
}
.pr-30,
.px-30 {
  padding-right: 30px !important;
}
.pb-30,
.py-30 {
  padding-bottom: 30px !important;
}
.pl-30,
.px-30 {
  padding-left: 30px !important;
}
.p-40 {
  padding: 40px !important;
}
.pt-40,
.py-40 {
  padding-top: 40px !important;
}
.pr-40,
.px-40 {
  padding-right: 40px !important;
}
.pb-40,
.py-40 {
  padding-bottom: 40px !important;
}
.pl-40,
.px-40 {
  padding-left: 40px !important;
}
.p-50 {
  padding: 50px !important;
}
.pt-50,
.py-50 {
  padding-top: 50px !important;
}
.pr-50,
.px-50 {
  padding-right: 50px !important;
}
.pb-50,
.py-50 {
  padding-bottom: 50px !important;
}
.pl-50,
.px-50 {
  padding-left: 50px !important;
}


/* movie
--------------------------------------------------------------------*/
.movie_nv,
.youtube {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.movie_nv iframe,
.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

