/* リセットcss */
/*要素のフォントサイズやマージン・パディングをリセットしています*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	font-weight:normal;
	vertical-align:baseline;
	background:transparent;
	font-style:normal;
}
/*画像を縦に並べたときに余白が出てしまわないよう*/
img {
	vertical-align: top;
	/* font-size:0; */
	line-height: 0;
}
 video {
	display:block;
}
ol, ul {
  list-style: none;
}
/* brand_common */
img, video { max-width:100%; }
a {
  color: #000000;
  text-decoration: none;
}
@font-face {
  font-family: "ryuminLight";
  src: url(font/A-OTF-RyuminPro-Light.woff) format("woff");
}
@font-face {
  font-family: "ryuminRegular";
  src: url(font/A-OTF-RyuminPro-Regular.woff) format("woff");
}
@font-face {
  font-family: "ryuminBold";
  src: url(font/A-OTF-RyuminPro-Bold.woff) format("woff");
}
@font-face {
  font-family: "beautiful";
  src: url(font/beautiful.woff) format("woff");
}
:root {
	--textColor:#333333;/* テキスト基本色 */
	--textColorSub:#d0ab28;/* サブテキスト色 */
}
.contents2411 {
	position:relative;
	font-size:15px;
	line-height:1.6;
	width:100%;
	max-width:560px;
	margin-left:auto;
	margin-right:auto;
	text-align:left;
	color: #000000;
	z-index:1;
	overflow-x:hidden;
}
@media only screen and (max-width:560px) {
	.contents2411 {
		font-size:2.7vw;
	}
}

/* brand_style */

body {
	background:#ffffff;
	background-size:100% auto;
	color:#333333;
	font-family:'ShinGoPro';
	font-weight:normal;
	color:var(--textColor);
	z-index:0;
}
a {
  color: var(--textColor);
}


.ryu-light {
  font-family: "ryuminLight";
}
.ryu-regu {
  font-family: "ryuminRegular";
}
.ryu-bold {
  font-family: "ryuminBold";
}
.beautiful {
  font-family: "beautiful";
}
/* アニメーション */
.scroll-blur,
.fast-blur,
.late-blur {
  opacity: 0;
}
.blur_in_anime_normal {
  animation: blur_in 0.8s linear 0s 1 normal forwards running;
}
.blur_in_anime_fast {
  animation: blur_in 0.8s linear 0s 1 normal forwards running;
}
.blur_in_anime_late {
  animation: blur_in 0.8s linear 0.3s 1 normal forwards running;
}
@keyframes blur_in {
  0% {
    filter: blur(20px);
    opacity: 0;
  }
  100% {
    filter: blur(0);
    opacity: 1;
  }
}
.mark {
  background: linear-gradient(transparent 50%, rgba(219, 217, 204, 0.5) 50%);
  display: inline;
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: background-size 1.5s linear 0.5s;
}
.blur_in_anime_normal .mark {
  background-size: 100% 100%;
}
.line {
  opacity: 0;
  display: block;
}
.line.show {
  opacity: 1;
}
.shape {
  opacity: 0;
  transition: opacity 0.3s ease-out, transform 0.5s ease-out;
}
.shape.show {
  opacity: 1;
  transition-delay: 2s;
}
.txtInner {
  animation-name: show;
  animation-duration: 0.2s;
  animation-fill-mode: backwards;
}
@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* concept */
.gohoubi-fv {
  position: relative;
  background-size: 100% auto;
  box-sizing: border-box;
  aspect-ratio: 750 / 1323;
  width: 100%;
  overflow: hidden;
  z-index: 10;
}
.gohoubi-fv video {
  transform: scale(1.01);
  width: 100%;
}
.fv-contents {
  position: absolute;
  left: 0;
  bottom: 8%;
  z-index: 1;
  width: 100%;
}
.fv-contents .fv-logo {
  opacity: 0;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
.gohoubi-contents .concept-movie-wrap,
.gohoubi-play .movie-wrap {
  padding: 2em 0;
  background-color: #dddacd;
}
.gohoubi-contents .movie-pack,
.gohoubi-play .movie-pack {
  position: relative;
}
.movie-pack .playbtn {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 20%;
}
.movie-pack.active .playbtn {
  display: none;
}
.concept-explain .ttl {
  padding: 5em 0;
}
.explain-msg-pack {
  position: relative;
}
.explain-msg-pack .msg {
  position: absolute;
  /* left: 3em;
  top: 4em;
  font-size: 1.2em; */
  left: 1.5em;
  top: 1.5em;
  font-size: 1.4em;
}
.explain-msg-pack .msg > div {
  line-height: 1.8;
}
.explain-msg-pack .msg .msg-box {
  margin-bottom: 1.2em;
}
.explain-msg-pack .msg .point-box {
  position: relative;
  z-index: 1;
}
.explain-msg-pack .msg .point-box p {
  position: relative;
  background-color: #fff;
  display: inline-block;
  padding: 0.5em 1em;
  border-radius: 200em;
  margin-bottom: 0.8em;
}
.explain-msg-pack .msg .point-box p::before {
  content: "";
  display: block;
  background: url("../../../img/shop_lp/gohoubi/icon_point.png") no-repeat left center / 100% auto;
  height: 2em;
  width: 2em;
  position: absolute;
  left: -1.2em;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
}
.explain-btn {
  margin: 3em auto;
  width: 50%;
}
.explain-btn a {
  font-size: 1.2em;
  display: block;
  background: url("../../../img/shop_lp/gohoubi/bg-btn.png") no-repeat left center / 100% auto;
  padding: 1.4em 2em;
  text-align: center;
}
.bottom-contents {
  margin-bottom: 10em;
}
.bottom-contents .top-txt {
  transform: translateY(1em);
}
.bottom-contents .bottom-txt {
  transform: translateY(-1em);
}
.link-banner {
  position: relative;
  z-index: 1;
}
/* play */
.gohoubi-play .kv-wrap {
  position: relative;
}
.gohoubi-play .catch {
  position: absolute;
  right: 14%;
  top: 11%;
  width: 18%;
  z-index: 1;
  opacity: 0;
}
.gohoubi-play .top-msg {
  /* font-size: 1em; */
  font-size: 1.2em;
  padding: 1.5em 0;
  text-align: center;
}
.gohoubi-play .flow-wrap {
  background: url("../../../img/shop_lp/gohoubi/bg-flow.png") no-repeat left 13% / 100% auto;
  padding: 4em 0 0 0;
}
.gohoubi-play .flow-wrap .ttl {
  margin-bottom: 3em;
}
.play-lists {
  padding: 0 4%;
}
.play-lists .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.play-lists .heading {
  width: 7%;
}
.play-lists .movie-box {
  width: 88%;
}
.play-lists .movie-pack {
  border-radius: 5em;
  overflow: hidden;
}
.play-lists .movie-pack {
  margin-bottom: 1em;
}
.play-lists .movie-box .msg {
  /* font-size: 1.1em; */
  font-size: 1.3em;
}
.flow-wrap .play-lists:not(:last-of-type) {
  margin-bottom: 4em;
}
.flow-wrap .play-lists:nth-of-type(2) .flex {
  flex-direction: row-reverse;
}
.flow-wrap .play-lists .float span:first-of-type {
  float: right;
  width: 8em;
}
.flow-wrap .play-lists .float::after {
  content: "";
  display: block;
  clear: both;
}
.flow-wrap .play-lists .float {
  margin-bottom: 3em;
}
.movie-lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.movie-lists li {
  width: 48%;
}
.movie-lists .movie-msg {
  background-color: rgba(95, 76, 58, 0.63);
  color: #fff;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1em 0;
  min-height: 3.25em;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.movie-lists .playbtn {
  width: 40%;
}
.movie-lists li {
  margin-bottom: 1.4em;
}
.movie-lists .movie-pack {
  margin-bottom: 0;
}
.play-finish {
  margin-bottom: 3em;
}
.play-finish .inner {
  padding: 0 6%;
}
.play-finish .heading {
  margin-bottom: 3em;
}
.play-finish .movie-pack {
  border-radius: 5em;
  overflow: hidden;
  margin-bottom: 3em;
}
.play-finish .msg-ttl {
  margin-bottom: 2.4em;
}
.play-finish .float span:first-of-type {
  float: right;
  width: 8em;
}
.play-finish .float::after {
  content: "";
  display: block;
  clear: both;
}
.play-finish .float span:last-of-type {
  /* font-size: 1.12em; */
  font-size: 1.3em;
}
.latter-pack {
  position: relative;
  margin-bottom: 2em;
}
.latter-pack .type-msg {
  position: absolute;
  left: 13%;
  top: 21%;
  font-size: 1.8em;
  line-height: 1.2;
  letter-spacing: -0.1em;
}
.latter-pack .type-msg .rotate {
  display: inline-block;
  transform: rotate(-22deg);
  position: relative;
}
.latter-pack .type-msg .shape {
  display: inline-block;
  width: 0.6em;
  transform: rotate(22deg);
  padding-left: 0.2em;
  padding-top: 0.1em;
  position: absolute;
  right: 10%;
  bottom: -2%;
}
.play-link-wrap {
  background: url("../../../img/shop_lp/gohoubi/bg_gohoubi_txt.png") no-repeat center 62% / 100% auto;
  margin-bottom: 6em;
}
.play-link-wrap .links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 3%;
}
.play-link-wrap .links li {
  width: 30%;
}
.tool-wrap {
  margin-bottom: 5em;
  padding: 0 4%;
}
.tool-wrap .inner {
  background: url("../../../img/shop_lp/gohoubi/bg-tool.png") no-repeat left top / 100% auto;
  background-color: #f3f3f3;
  border-radius: 6em;
  padding: 5em 3%;
}
.tool-wrap h2 {
  margin: 0 auto 4em;
  width: 62%;
}
.tool-wrap h3 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  /* width: 85%; */
  width: 90%;
  margin: 0 0 0 auto;
}
.tool-wrap h3 .num {
  font-size: 4.6em;
  font-style: italic;
  width: 10%;
}
.tool-wrap h3 .ttl {
  /* font-size: 1.4em; */
  font-size: 1.6em;
  width: 83%;
}
.tool-wrap .detail {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.tool-wrap .detail .pic {
  border-radius: 50%;
  overflow: hidden;
  width: 32%;
}
.tool-wrap .detail .txt {
  /* font-size: 1.13em; */
  font-size: 1.3em;
  text-align: center;
  width: 68%;
}
.tool-lists li:not(:last-of-type) {
  margin-bottom: 2em;
}
/* ごほうびLADY */
.gohoubi-lady .kv-wrap {
  position: relative;
}
.gohoubi-lady .catch {
  position: absolute;
  left: 6%;
  top: 5%;
  z-index: 1;
  width: 30%;
  height: 100%;
  opacity: 0;
}
.gohoubi-lady .catch span {
  color: #fff;
  writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
  text-orientation: upright;
  letter-spacing: 0.1em;
  font-style: italic;
  text-shadow: 0px 0px 10px rgba(71, 32, 12, 0.4);
}
.gohoubi-lady .catch .txt01 {
  font-size: 2em;
  position: absolute;
  right: 0;
}
.gohoubi-lady .catch .txt01 .rotate {
  transform: rotate(10deg);
}
.gohoubi-lady .catch .txt02 {
  font-size: 1.4em;
  padding-top: 2.2em;
  line-height: 1.8em;
}
.gohoubi-lady .catch .txt02 span {
  display: block;
}
.gohoubi-lady .catch .txt02 .block-line:nth-of-type(2) {
  margin-top: 1em;
  margin-bottom: 2em;
}
.gohoubi-lady .catch .txt02 .block-line:last-of-type {
  text-align: right;
}
.lady-wrap {
  background: url("../../../img/shop_lp/gohoubi/bg_contents.png") no-repeat left 8% / 100% auto;
}
.lady-sec {
  padding: 3em 0;
}
.lady-sec h2 {
  margin-bottom: 2em;
}
.lady-contents .msg-box {
  padding: 0 8%;
  /* font-size: 1.1em; */
  font-size: 1.3em;
  line-height: 2em;
}
.lady-contents .msg-box .txt-line {
  display: block;
  margin-bottom: 1.3em;
}
.lady-contents02 .bg-msg-box {
  position: relative;
}
.lady-contents02 .bg-msg-box .bg {
  position: absolute;
  left: 0;
  top: 0;
}
.lady-contents02 .bg-msg-box .in-txt {
  position: relative;
  z-index: 1;
  color: rgba(255, 255, 255, 1);
  /* padding: 3em; */
  padding: 1.7em;
  text-shadow: 0px 0px 7px rgba(71, 32, 12, 0.7), 0px 0px 8px rgba(71, 32, 12, 0.7), 0px 0px 9px rgba(71, 32, 12, 0.7);
}
.lady-contents02 .in-txt span {
  display: block;
  /* font-size: 1em; */
  font-size: 1.2em;
}
.lady-contents02 .in-txt span:not(:last-of-type) {
  /* margin-bottom: 2em; */
  margin-bottom: 1em;
}
.lady-contents02 .in-txt span.ryu-bold {
  /* font-size: 1.4em; */
  font-size: 1.6em;
}
.contents02-end-msg {
  padding: 3em 0;
  margin: 0 auto;
  /* width: 70%; */
  width: 80%;
  line-height: 2.4em;
  /* font-size: 1.1em; */
  font-size: 1.3em;
}
.contents02-end-msg span.mark {
  display: inline-block;
}
.contents02-end-msg span.ryu-bold {
  display: block;
  /* font-size: 1.2em; */
  font-size: 1.4em;
}
/* tabコンテンツ */
.tabs {
  display: flex;
  flex-wrap: wrap;
  padding: 0 3%;
  gap: 1%;
}
.tab_label {
  color: #000;
  background-color: #f2f0e7;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
  border-top-left-radius: 1.4em;
  border-top-right-radius: 1.4em;
  font-size: 0.8em;
  text-align: center;
  padding: 0.4em 0;
}
.tab_content {
  flex: 100%;
  display: none;
  overflow: hidden;
}
input[name="tab_switch"] {
  display: none;
}
.tabs input:checked + .tab_label {
  color: #000;
  background-color: #dbd9cc;
}
#tab01:checked ~ #tab01_content,
#tab02:checked ~ #tab02_content,
#tab03:checked ~ #tab03_content {
  display: block;
}
.tab_content {
  position: relative;
  animation: blur_in 0.5s ease;
  border: 1px solid #dbd9cc;
  border-bottom-left-radius: 1em;
  border-bottom-right-radius: 1em;
  padding: 2em 1.5em;
  font-size: 1.2em;
}
.tab_content#tab01_content {
  background: url("../../../img/shop_lp/gohoubi/bg_lady_tab01.jpg") no-repeat left top / cover;
}
.tab_content#tab02_content {
  background: url("../../../img/shop_lp/gohoubi/bg_lady_tab02.jpg") no-repeat left top / cover;
}
.tab_content#tab03_content {
  background: url("../../../img/shop_lp/gohoubi/bg_lady_tab03.jpg") no-repeat left top / cover;
}
.tab_content div.ryu-regu .txt-line {
  display: block;
  /* margin-bottom: 1.8em; */
  margin-bottom: 1em;
  line-height: 1.8;
}
.tab_content .ryu-bold {
  /* font-size: 1.1em; */
  font-size: 1.3em;
  line-height: 1.6;
}
.no-fake-contents .space-sec {
  padding: 0 3%;
  position: relative;
  z-index: 1;
}
.no-fake-contents .msg-box {
  background: url("../../../img/shop_lp/gohoubi/bg_lady02.png") no-repeat left top / 100% auto;
  padding: 2.5em 3%;
  color: rgba(255, 255, 255, 1);
  font-size: 1.2em;
}
.no-fake-contents .txt-line {
  display: block;
  /* margin-bottom: 2em; */
  margin-bottom: 1em;
  text-shadow: 0px 0px 7px rgba(71, 32, 12, 0.7), 0px 0px 8px rgba(71, 32, 12, 0.7), 0px 0px 9px rgba(71, 32, 12, 0.7);
  line-height: 1.8;
}
.no-fake-contents .txt-line .mark {
  font-size: 1.3em;
}
.gohoubi-contents .concept-movie-wrap {
  position: relative;
  z-index: 10;
  transform: translateY(-2px);
}
.brackets {
  font-feature-settings: "palt";
}
.lady-fv {
  aspect-ratio: 750 / 747;
}
.fs1_2 {
  font-size: 1.2em;
}
.tabs input:checked + .tab_label {
  background: linear-gradient(180deg, #f7f380 0%, #d9b946 55%, #efce2b 100%);
}
@media only screen and (max-width: 560px) {
  body.fromHvn main {
    font-size: 2.7vw;
  }
}

/* コンセプト動画用 */

.pageTitle {
	padding:3em 0.5em;
	text-align:center;
	/*font-family: 'Noto Sans JP', sans-serif;*/
}
	.pageTitle p {
		font-size:1.3em;
		line-height:1.2;
	}

.expVideoContents{
	padding-bottom:8em;
}
@media only screen and (max-width:560px) {
	.expVideoContents{
		font-size:2.7vw;
	}
}
.expVideoContents .concept_pv {
	position:relative;
	aspect-ratio:750/800;
	background:url(../../../img/shop_lp/gohoubi/exp_video_bg.webp) center center no-repeat;
	background-size:100% auto;
	display:flex;
	jusify-content:space-between;
	align-items:center;
	padding:0 4%;
}

.expVideoContents .concept_pv .videoFlame {
	border:solid 1px #ceaa57;
	border-radius:1em;
	overflow:hidden;
	margin-top:10%;
}
.expVideoContents .concept_pv .videoFlame video {
  width: 100%;
}

/* ヘッダー・フッターに影響が及ばないよう、調整 */

header .header-row {
  background: #fff;
}

footer a {
  color: #fff;
}

/* ページ内遷移のスクロール位置調整(ヘッダーと被らないよう) */
html {
  scroll-padding-top: calc((172 / var(--base-font-pixel)) * 1rem);
}
