@charset "UTF-8";


/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
  min-width: 320px
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}



/* # =================================================================
   # 共通カラー / font-size
   # ================================================================= */

:root {
	--color-bk: #000000;
    --color-white: #ffffff;
    --color-gray1: #333333;
    --color-gray2: #91999E;
	--color-gray3: #D9D9D9;
	--color-gray4: #E6E6E6;
	--color-gray5: #f7f7f7;
	--color-gray6: #FBFBFB;
	--color-base: #333333;
	--color-gold: #e5c73c;
	--color-green: #61ab9a;
	--color-brown: #be9a61;
	--color-red: #ce4538;
	--color-pink: #ff3eb5;
	--color-blue: #0870c3;
	--color-orange: #f8b62c;
	--color-insta: #c60594;
	--color-fb: #0866ff;
	--color-yb: #ee3123;
	--color-line: #59b53d;
	--color-tictok: #000000;
	--cta-easing: cubic-bezier(.2, 1, .2, 1);
	--cta-transition: .8s var(--cta-easing);
}





/* # =================================================================
   # 共通設定
   # ================================================================= */
body {
	font-family: 'Barlow','Noto Sans JP',system-ui;
	font-optical-sizing: auto;
	font-display: swap;
	font-size: 16px;
	letter-spacing: 1px;
	-webkit-font-feature-settings: "palt" 1;
	font-feature-settings: "palt" 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility
	-webkit-overflow-scrolling: touch;
}

img, svg {
  vertical-align: middle
}

ol, ul {
  list-style: none
}

body>img {
  display: block;
  height: 0!important;
  font-size: 0
}


main {
	text-align:center;
	width:100%;
	margin-left:auto;
	margin-right:auto;
}


/*-----セクション幅----*/
.sec-content{width:100%;margin-left:auto;margin-right:auto;vertical-align: middle;}
.sec-content1{width:80%;margin-left:auto;margin-right:auto;vertical-align: middle;max-width:1200px;}


.page-block-top{padding-top:120px;}
.page-block-btm{padding-bottom:120px;}

.space-block-top30{margin-top:30px;}
.space-block-btm30{margin-bottom:30px;}

.space-block-top50{margin-top:50px;}
.space-block-btm50{margin-bottom:50px;}

.space-block-top80{margin-top:80px;}
.space-block-btm80{margin-bottom:80px;}


.copy-l{text-align:left;}
.copy-r{text-align:right;}
.copy-c{text-align:center;}

.line200{line-height:200%;}
.line150{line-height:150%;}


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

/*-----ルビ----*/
ruby{
    ruby-position:under;
}

/*-----インデント----*/
p.indent-br {
	padding-left:1em;
	text-indent:-1em;
}

/*-----ページ内リンク----*/
a.anchor{
    display: block;
    padding-top: 180px;
    margin-top: -180px;
}

@media screen and (max-width:599px){
	a.anchor{
		display: block;
		padding-top: 150px;
		margin-top: -150px;
	}
}

/*-----ピカソ コピーライト----*/
.copy-right{padding-top:5px;padding-right:10px;font-size:12px;text-align:right;}

/*-----------スマホ設定-----------------*/

@media screen and (max-width:1200px){
	main {border:none;}
}

@media screen and (max-width:768px){
	.sec-content1{width:90%;}
	.br-pc-sp{display:none;}
	.br-sp{display:block;}
	.page-block-top{padding-top:80px;}
	.page-block-btm{padding-bottom:80px;}
}

@media screen and (max-width:599px){
	.br-pc-mb{display:none;}
	.br-mb{display:block;}
}

/* # =================================================================
   # reCAPTCHA v3 表示位置
   # ================================================================= */
.grecaptcha-badge{
    margin-bottom: 100px;
}

/* # =================================================================
   # loading
   # ================================================================= */
.loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}

.loading.is-active {
  opacity: 0;
  visibility: hidden;
}

.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #fff;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}

.loading-animation img{width:250px;}

.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width:599px){
.loading-animation img{width:200px;}
}



   
/* # =================================================================
   # gsap
   # ================================================================= */
   
.trigger-area-load{opacity: 0;}
.trigger-area-feed{opacity: 0;}
.trigger-area-txt{opacity: 0;}


/* # =================================================================
   # gsap 画像
   # ================================================================= */
.curtain {
  overflow: hidden;
  width: 100%;
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.curtain::after {
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 0;
  z-index: 2;
  -webkit-transition: left 0.4s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.4s, width 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: left 0.4s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.4s, width 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.curtain.is-active::after {
  left: 100%;
  width: 100%;
}

.curtain img {
  opacity: 0;
  -webkit-transition: opacity 0s 0.4s;
  transition: opacity 0s 0.4s;
}

.curtain.is-active img {
  opacity: 1;
}


/* fv */
.curtain-fv {
  overflow: hidden;
  width: 100%;
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.curtain-fv::after {
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 0;
  z-index: 2;
  -webkit-transition: left 0.4s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.4s, width 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: left 0.4s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.4s, width 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.curtain-fv.is-active::after {
  left: 100%;
  width: 100%;
}

.curtain-fv img {
  opacity: 0;
  -webkit-transition: opacity 0s 0.4s;
  transition: opacity 0s 0.4s;
}

.curtain-fv.is-active img {
  opacity: 1;
}


/* box */
.curtain-box {
  overflow: hidden;
  width: 100%;
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.curtain-box::after {
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 0;
  z-index: 2;
  -webkit-transition: left 0.4s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.4s, width 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: left 0.4s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.4s, width 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.curtain-green::after{background-color: var(--color-green);}
.curtain-gold::after{background-color: var(--color-gold);}
.curtain-red::after{background-color: var(--color-red);}
.curtain-bk::after{background-color: var(--color-gray1);}
.curtain-wh::after{background-color: var(--color-white);}

.curtain-box.is-active::after {
  left: 100%;
  width: 100%;
}

.curtain-box .box {
  opacity: 0;
  -webkit-transition: opacity 0s 0.4s;
  transition: opacity 0s 0.4s;
}

.curtain-box.is-active .box {
  opacity: 1;
}


/* # =================================================================
   # 画像loop
   # ================================================================= */

/* CSS: 無限ループアニメーション */
.loop_wrap {
  display: flex;
  width: 100%;
  height: 15vw;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.loop {
  display: flex;
  width: auto; /* クローン後の幅を自動調整 */
}

.loop img {
  width: auto;
  height: 100%;
}

@keyframes loop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%); /* 画像の半分を移動 */
  }
}


@media screen and (max-width: 768px) {
.loop_wrap{height: 20vw;}
}


/* # =================================================================
   # 共通ボタン
   # ================================================================= */

.btn-L{
	margin-left:0;
	margin-right:auto;
}

.btn-R{
	margin-left:auto;
	margin-right:0;
}

.btn-c{
	margin-left:auto;
	margin-right:auto;
}


.btn-w-change{text-align:left;width:150px;}

.main-btn{
	display:block;
	background-image: url(../img/yaji_wh.svg);
	background-repeat: no-repeat;
	background-size: 12px;
	background-position: right 15px center;
	font-size:14px;
	font-weight:Bold;
	text-align:left;
	padding:10px 30px 10px 15px;
	background-color: var(--color-gray1);
	color: var(--color-white);
	transition: all .5s;
	text-decoration:none;
	line-height:150%;
	width:150px;
	border-radius:20px;
	box-shadow: 5px 5px 5px rgba(0,0,0, 0.3);
}


.main-btn:hover{
	background-image: url(../img/yaji_wh.svg);
	background-position: right 10px center;
	color: var(--color-white) !important;
	text-decoration:none;
}

.contact-btn{
	display:block;
	background-image: url(../img/yaji_wh.svg);
	background-repeat: no-repeat;
	background-size: 12px;
	background-position: right 15px center;
	font-size:14px;
	font-weight:Bold;
	text-align:center !important;
	padding:10px 30px 10px 15px;
	background-color: var(--color-red);
	color: var(--color-white);
	transition: all .5s;
	text-decoration:none;
	line-height:150%;
	width:200px;
	border-radius:20px;
	box-shadow: 5px 5px 5px var(--color-gray3);
}


.contact-btn:hover{
	background-image: url(../img/yaji_wh.svg);
	background-position: right 10px center;
	color: var(--color-white) !important;
	text-decoration:none;
}


@media screen and (max-width:768px){
	.btn-w-change{text-align:center;width:50%;}
}

/* # =================================================================
   # SNS
   # ================================================================= */

.sns-btn{
	display:block;
	width:35px;
	height:35px;
	background-size: 10px;
	text-decoration:none;
	border-radius:50px;
	opacity:1;
	transition: all .3s;
}

.sns-btn:hover{opacity:.8;}

.sns-btn-x{
	background:var(--color-bk);
	background-image: url(../img/icon_x.svg);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position: center;
}

.sns-btn-insta{
	background:var(--color-insta);
	background-image: url(../img/icon_insta.svg);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position: center;
}

.sns-btn-fb{
	background:var(--color-fb);
	background-image: url(../img/icon_fb.svg);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position: center;
}

.sns-btn-yb{
	background:var(--color-yb);
	background-image: url(../img/icon_yb.svg);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position: center;
}

.sns-btn-line{
	background:var(--color-line);
	background-image: url(../img/icon_line.svg);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position: center;
}

.sns-btn-tictok{
	background:var(--color-tictok);
	background-image: url(../img/icon_tictok.svg);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position: center;
}

/* # =================================================================
   # header
   # ================================================================= */

header{
	width:100%;
	margin-left:auto;
	margin-right:auto;
}

.header-box{display:block; position:fixed; top:0; left:0; z-index:5; width:100%; }



.head-menu{
    display:flex;
	align-items: end;
	justify-content: center;
	width:100%;
	padding-left:30px;
	padding-right:110px;
}


.head-menu-logo{text-align:left;padding-bottom:5px;}	
.head-menu-logo img {width: 160px;}

@media screen and (max-width:900px){
.head-menu{
    display:flex;
	align-items: center;
	justify-content: start;
}
.head-menu-logo{text-align:left;padding-top:15px;}	
	.head-menu-logo img {
		width: 100px;
	}
}


.head-nav-box {
	display:block;
    flex:1;
	text-align:right;
}

/*-----------スマホ設定-----------------*/
@media screen and (max-width:900px){
.head-nav-box{display:none;}
}


.head-nav-linkbox-top ul {
    padding: 0px;
    list-style-type: none;
	display:flex;
	align-items: center;
	justify-content: flex-end;
	column-gap:.5em;
	margin:15px 0 10px 0;
}



.head-nav-linkbox ul {
    padding: 0px;
    list-style-type: none;
	display:flex;
	align-items: center;
	justify-content: flex-end;
	column-gap:1em;
}

@media screen and (max-width:1000px){
	.head-nav-linkbox ul {column-gap:.5em;}
}

.head-nav-linkbox li {
	font-size: clamp(10px, 1.2vw, 14px);
	font-weight:700;
}


.head-nav-linkbox-li a{
	cursor:pointer;
	color:var(--color-bk);
	text-decoration:none;
	position: relative;
	display: inline-block;
	transition: all .3s;
}

.head-nav-linkbox-li a:hover{
	color:var(--color-red);
}


.head-nav-linkbox-li a::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 1px;
    background:var(--color-red);
    transition: all .3s;
    transform: scale(0, 1);
    transform-origin: center top;
}

.head-nav-linkbox a:hover::after {
    transform: scale(1, 1);
}


.head-nav-mail{
	display:block;
	background:var(--color-red);
	background-image: url(../img/icon_mail.svg);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position: bottom .9rem left 15px;
	text-decoration:none;
	font-size:14px;
	font-weight:Bold;
	text-align:center;
	color:var(--color-white) !important;
	padding:10px 15px 10px 40px;
	border-radius:50px;
	opacity:1;
	transition: all .3s;
}

.head-nav-mail:hover{
	opacity:.8;
}





/* # =================================================================
   # footer
   # ================================================================= */
   
footer {
	padding-bottom: 80px;
	font-size: 14px;
	color:var(--color-gray1);
	background-color:var(--color-white);
}

.flex-footer-sns{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	align-items:center;
    flex-wrap:nowrap;
	column-gap:10px;
	margin-bottom:20px;
}

.flex-footer{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content:space-between;
    flex-wrap:wrap;
}

.flex-footer-info{
	width:40%;
}

.flex-footer-link{
	width:60%;
}


.flex-footer-link a{
	color:var(--color-gray1);
	text-decoration:none;
	transition: all .5s;
}

.flex-footer-link a:hover{
	color:var(--color-red);
	text-decoration:none;
}

.footer-logo{margin-bottom:30px;}
.footer-logo img{width:220px;}

.footer-txt{
	line-height:180%;
	text-align:left;
}

.flex-footer-link ul{list-style-type: none;padding-left:25px;}
.flex-footer-link li{padding-bottom:15px;}
.footer-li-border1{padding-top:25px;border-top:solid 1px var(--color-gray3);}
.footer-li-border2{padding-top:25px;margin-top:10px;border-top:solid 1px var(--color-gray3);}


.footer-copy{
	margin-top:60px;
	font-size:12px;
	text-align:left;
}

/*-----------スマホ設定-----------------*/
@media screen and (max-width:768px){
	.flex-footer-info, .flex-footer-link{width:100%;}
	.flex-footer-link ul{padding-left:0;}
	.footer-li-border1{margin-top:50px;}
	.footer-copy{text-align:center;}
}
@media screen and (max-width:599px){
}

/* # =================================================================
   # SNS
   # ================================================================= */

#foot-sns {
	width: 100%;
	border-top:solid 1px var(--color-red);
	border-bottom:solid 1px var(--color-red);
	background-image: url("../img/foot_sns_bg.webp");
	background-size: cover;
	background-position:center;
}

#foot-sns .page-block{
	padding:120px 0;
}

#foot-sns .foot-sns-title{
	font-size:60px;
	line-height:3.3rem;
	text-transform:uppercase;
	margin-bottom:50px;
	font-weight:700;
}

#foot-sns .foot-sns-title span{
	padding-top:30px;
	display:block;
	font-size:16px;
	line-height:1.5rem;
}

#foot-sns .flex{
    display: flex;
    justify-content:center;
    flex-wrap:wrap;
	align-items: center;
	column-gap:15px;
}

#foot-sns .sns-btn{
	display:block;
	width:80px;
	height:80px;
	background-size: 10px;
	text-decoration:none;
	border-radius:50px;
	transform: scale(1);
}

#foot-sns .txt-box{
	font-size:18px;
	line-height:1.5rem;
	font-weight:700;
	color:var(--color-red);
	text-align:center;
	margin-top:30px;
}

#foot-sns .sns-btn:hover{opacity:1;transform: scale(1.1);}

#foot-sns .sns-btn-x{
	background:var(--color-bk);
	background-image: url(../img/icon_x.svg);
	background-repeat: no-repeat;
	background-size: 25px;
	background-position: center;
}

#foot-sns .sns-btn-insta{
	background:var(--color-insta);
	background-image: url(../img/icon_insta.svg);
	background-repeat: no-repeat;
	background-size: 25px;
	background-position: center;
}

#foot-sns .sns-btn-fb{
	background:var(--color-fb);
	background-image: url(../img/icon_fb.svg);
	background-repeat: no-repeat;
	background-size: 25px;
	background-position: center;
}

#foot-sns .sns-btn-yb{
	background:var(--color-yb);
	background-image: url(../img/icon_yb.svg);
	background-repeat: no-repeat;
	background-size: 25px;
	background-position: center;
}

@media screen and (max-width:768px){
	#foot-sns .sns-btn{width:60px;height:60px;}
}

/* # =================================================================
   # CTA
   # ================================================================= */

#follow {
	width: 100%;
	background-image: url("../img/cta_bg.webp");
	background-size: cover;
	background-position:top;
}

#follow .page-block{
	padding:120px 0;
}

#follow .flex{
    display: flex;
    justify-content:space-between;
    flex-wrap:wrap;
	align-items: center;
}

#follow .flex-item-txt{flex: 1;}
#follow .flex-item-btn{flex-basis:100px;}

#follow p{
	font-size:50px;
	font-weight:Bold;
	color: var(--color-white);
	text-align:left;
}

#follow p span{
	display:block;
	font-size:16px;
	font-weight:400;
	padding-top:10px;
}


#follow .btn-next {
	display: grid;
	place-content: center;
	width: 5rem;
	height: 5rem;
	cursor: pointer;
	-webkit-transition: var(--cta-transition);
	transition: var(--cta-transition);
}

#follow .btn-next {
	position: relative;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin: 0;
}

#follow .btn-next::before {
	-webkit-transition: var(--cta-transition);
	transition: var(--cta-transition);
}
#follow .linkbox:hover .btn-next::before {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}

#follow .btn-next::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	border-radius: 50%;
	background:var(--color-white);
	background-image: url(../img/yaji_bk.svg);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position: center;
}

@media screen and (max-width:768px){
	#follow .page-block{padding:80px 0;}
	#follow .flex-item-txt{flex-basis:100%;}
	#follow .flex-item-btn{flex-basis:100%;}
	#follow p{font-size:40px;text-align:center;padding-bottom:20px;}
	#follow .btn-next{left: 50%;transform: translateX(-50%);}
}




/* # =================================================================
   # div link
   # ================================================================= */

.linkbox {
    position: relative;
	cursor: pointer;
}

.linkbox .divlink{
	display: block;
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	z-index:1;
}

.linkbox .divlink-product{
	display: block;
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	z-index:1;
}



/* # =================================================================
   # product
   # ================================================================= */

.product-img{overflow:hidden;border-radius:10px 10px 0 0;}
.product-img img{
	width:100%;
	height:400px;
	object-fit: cover;
	object-position: center;
	transition: all .5s;
}
.linkbox:hover .product-img img{
	transform: scale(1.1);
}

.linkbox:hover .main-btn{
	background-image: url(../img/yaji_wh.svg);
	background-position: right 10px center;
	color: var(--color-white) !important;
	text-decoration:none;
}

.product-box{
	padding:15px 25px;
	text-align:left;
}

.product-license{padding-bottom:15px;margin-bottom:15px;border-bottom:solid 1px var(--color-gray4);}
.product-license img{width:100%;}

.product-title{
	text-align:left;
	line-height:1.5rem;
	padding-top:16px;
	color: var(--color-bk);
	font-weight:700;
	text-decoration:none;
}

.product-cat{
	font-size: 12px;
	font-weight:Bold;
	text-align: center;
	padding:5px 10px;
	color: var(--color-bk);
	background:var(--color-gold);
	border-radius:50px;
}

#bana-product .main-btn{margin-bottom:20px;margin-right:25px;margin-top:auto;}

@media screen and (max-width:900px){
.product-img img{height:350px;}
}

/* # =================================================================
   # modal
   # ================================================================= */

.modal {
  display: none;
  position: fixed;
  z-index: 99;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.7);
  transition: all 1s ease-in-out;
}
.modal-container .img {
    background: #f1f1f1;
    margin-bottom: 15px;
}
.modal-container p {
    margin-bottom: 10px;
}
.modal-container p:last-child {
    margin-bottom: 0;
}
.modal-content {
    background: #FFF;
	text-align:left;
    overflow-y: auto;
    padding: 20px 25px;
    width: 90%;
    max-width: 1000px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-height: calc(100% - 100px);
    animation: show 0.6s linear 0s;
}
.modal-top {
    display: inline-block;
    position: absolute;
    right: 0;
    top: 0;
	z-index:5;
}
.modalClose {
	display:block;
	width:60px;
	height:60px;
	background-color:#333333;
    background-image: url(../img/icon_close.svg);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position: center;
}
.modalClose:hover, .modalClose:focus {
  text-decoration: none;
  cursor: pointer;
}

.modal-flex{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

.modal-img{width:48%;}
.modal-img img {
  width:100%;
}

.modal-img .product-license{padding-top:35px;margin-bottom:0;border-bottom:none;}

.modal-info{width:48%;}

.modal-product-title{
	text-align:left;
	font-size:20px;
	line-height:1.5rem;
	color: var(--color-bk);
	font-weight:700;
	text-decoration:none;
	border-bottom:solid 1px var(--color-gray4);
	padding-top:20px;
	padding-bottom:20px;
	margin-bottom:15px;
}

.modal-ul{
	list-style: none;
}

.modal-ul li{
	font-size:14px;
	text-align:left;
	padding:10px 0;
	margin-bottom:20px;
	border-bottom:solid 1px var(--color-gray5);
	position: relative;
}


.modal-info-txt{
	display:block;
	line-height:180%;
	text-align:left;
	margin-left:150px;
	word-break: break-all;
}
.modal-info-txt a{color:var(--color-bk);}
.modal-info-txt a:hover{color:var(--color-red);}
.modal-info-name{float:left;font-weight:700;}

.modal-sns{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	align-items:center;
    flex-wrap:nowrap;
	column-gap:10px;
	margin-bottom:20px;
}

.modal-sns .sns-btn{
	display:block;
	width:50px;
	height:50px;
	background-size: 10px;
	text-decoration:none;
	border-radius:50px;
	transform: scale(1);
}

.modal-sns .sns-btn-x{
	background:var(--color-bk);
	background-image: url(../img/icon_x.svg);
	background-repeat: no-repeat;
	background-size: 20px;
	background-position: center;
}

.modal-sns .sns-btn-insta{
	background:var(--color-insta);
	background-image: url(../img/icon_insta.svg);
	background-repeat: no-repeat;
	background-size: 20px;
	background-position: center;
}

.modal-sns .sns-btn-fb{
	background:var(--color-fb);
	background-image: url(../img/icon_fb.svg);
	background-repeat: no-repeat;
	background-size: 20px;
	background-position: center;
}

.modal-sns .sns-btn-yb{
	background:var(--color-yb);
	background-image: url(../img/icon_yb.svg);
	background-repeat: no-repeat;
	background-size: 20px;
	background-position: center;
}

.modal-sns .sns-btn-line{
	background:var(--color-line);
	background-image: url(../img/icon_line.svg);
	background-repeat: no-repeat;
	background-size: 20px;
	background-position: center;
}

.modal-sns .sns-btn-tictok{
	background:var(--color-tictok);
	background-image: url(../img/icon_tictok.svg);
	background-repeat: no-repeat;
	background-size: 20px;
	background-position: center;
}

.modal-licenseebana{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	align-items:center;
    flex-wrap:nowrap;
	column-gap:10px;
	margin-bottom:10px;
}

.modal-licenseebana img{width:45%;}

@media screen and (max-width:900px){
	.modal-img{width:100%;}
	.modal-info{width:100%;}
}

@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}

/* # =================================================================
   # news
   # ================================================================= */


.news_link {
	display: flex;
	justify-content: start;
	flex-wrap: wrap;
	column-gap: 10px;
	row-gap:10px;
	margin-bottom: 50px;
	padding: 0;
	list-style-type: none;
}
.news_link li {
	display: inline-block;
	font-size:14px;
	color: var(--color-base);
	border:solid 1px var(--color-base);
	padding:10px 15px;
	border-radius:50px;
	font-weight:Bold;
	position: relative;
	cursor: pointer;
	text-align: left;
	line-height: 1;
	transition: ease .3s;
}
.news_link li:first-child {
	margin-left: 0;
}
.news_link li.active, .news_link li:hover {
	color: var(--color-white);
	border:solid 1px var(--color-base);
	background:var(--color-base);
	font-weight:Bold;
}
.news_link li.active:after, .news_link li:hover:after {
	display: block;
}
.news-cat-flex{
	display: flex;
	flex-wrap: nowrap;
	align-items: baseline;
	margin-top:20px;
}

.news-date {
	font-size: 12px;
	margin-right: 20px;
	color: var(--color-base);
	text-align:left;
}

.news-title{
	text-align:left;
	line-height:1.5rem;
	padding-top:16px;
	color: var(--color-bk);
	text-decoration:none;
}

.news-img{overflow:hidden;border-radius:10px;}
.news-img img{
	width:100%;
	height:calc(250vw / 19.2);
	object-fit: cover;
	object-position: center;
	transition: all .5s;
}

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

.news-txt{line-height:1.5rem;}


/*-----------スマホ設定-----------------*/



@media screen and (max-width:1400px){
	.news-img img{height:calc(250vw / 14);}
}

@media screen and (max-width:900px){
	.news-title-flex-txt{width:100%;}
	.news-title-flex-btn{width:100%;display:none;}
}

@media screen and (max-width:768px){
	.news-img img{height:calc(300vw / 7.68);}
	.news-title{font-size:14px;}
}

@media screen and (max-width:599px){
	.news_link li {font-size:12px;}
}


/*-----------news event cat-----------------*/

.news {
	min-width:100px;
	font-size: 12px;
	font-weight:Bold;
	text-align: center;
	line-height: 25px;
	color: var(--color-white);
	background:var(--color-red);
	border-radius:50px;
}

.product{
	min-width:100px;
	font-size: 12px;
	font-weight:Bold;
	text-align: center;
	line-height: 25px;
	color: var(--color-white);
	background:var(--color-orange);
	border-radius:50px;
}


.event {
	min-width:100px;
	font-size: 12px;
	font-weight:Bold;
	text-align: center;
	line-height: 25px;
	color: var(--color-white);
	background:var(--color-blue);
	border-radius:50px;
}

.pr {
	min-width:100px;
	font-size: 12px;
	font-weight:Bold;
	text-align: center;
	line-height: 25px;
	color: var(--color-white);
	background:var(--color-green);
	border-radius:50px;
}

.abroad {
	min-width:100px;
	font-size: 12px;
	font-weight:Bold;
	text-align: center;
	line-height: 25px;
	color: var(--color-white);
	background:var(--color-brown);
	border-radius:50px;
}

.tieup {
	min-width:100px;
	font-size: 12px;
	font-weight:Bold;
	text-align: center;
	line-height: 25px;
	color: var(--color-white);
	background:var(--color-pink);
	border-radius:50px;
}

.others {
	min-width:100px;
	font-size: 12px;
	font-weight:Bold;
	text-align: center;
	line-height: 25px;
	color: var(--color-white);
	background:var(--color-gray2);
	border-radius:50px;
}



/* # =================================================================
   # ぱんくず
   # ================================================================= */

.Breadcrumb {
	font-family: 'Noto Sans JP', sans-serif;
	font-size:12px;
	padding: 1em;
	border-bottom:solid 1px var(--color-gray4);
}
.Breadcrumb-ListGroup {
	display: flex;
	align-items:center;
	justify-content: start;
	width:80%;
	max-width:1200px;
	margin-right: auto;
	margin-left:auto;
	margin-top:5px;
	margin-bottom:5px;
}
.Breadcrumb-ListGroup-Item-Link[href]:hover {
	color:var(--color-gold);
	text-decoration:none;
}
.Breadcrumb-ListGroup > * + * {
	margin-left: 0.5em;
}
.Breadcrumb-ListGroup > * + *::before {
	content: ">";
	margin-left: 0.75em;
	margin-right: 0.75em;
}

.Breadcrumb a{
	color:var(--color-gray1);
}


.Breadcrumb-wp {
	font-family: 'Noto Sans JP', sans-serif;
	font-size:12px;
	padding: 1em;
	border-bottom:solid 1px var(--color-gray4);
}
.Breadcrumb-wp-ListGroup {
	display: flex;
	align-items:center;
	justify-content: start;
	width:85%;
	max-width:1200px;
	margin-right: auto;
	margin-left:auto;
	margin-top:5px;
	margin-bottom:5px;
}
.Breadcrumb-wp-ListGroup-Item-Link[href]:hover {
	color:var(--color-gold);
	text-decoration:none;
}
.Breadcrumb-wp-ListGroup > * + * {
	margin-left: 0.5em;
}
.Breadcrumb-wp-ListGroup > * + *::before {
	content: ">";
	margin-left: 0.75em;
	margin-right: 0.75em;
}

.Breadcrumb-wp a{
	color:var(--color-gray1);
}

@media screen and (max-width:768px){
	.Breadcrumb {
		overflow-x: scroll;
		word-break: keep-all;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	.Breadcrumb::-webkit-scrollbar{display:none;}
	.Breadcrumb-ListGroup {width:90%;justify-content: flex-start;}
	
	.Breadcrumb-wp {
		overflow-x: scroll;
		word-break: keep-all;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	.Breadcrumb-wp::-webkit-scrollbar{display:none;}
	.Breadcrumb-wp-ListGroup {width:90%;justify-content: flex-start;}
}



/* # =================================================================
   # form
   # ================================================================= */
   
.form-box-ul{
	list-style: square !important;
}

.form-box-ul li{
	text-align:left;
	font-weight:700;
	padding:10px 0;
}

.form-box-ul li span{
	background: linear-gradient(transparent 60%, #ffff66 60%);
	font-weight:700;
}


   
.policy-box {
	padding: 20px;
	margin-top: 10px;
	margin-bottom: 50px;
}
.policy-box .scrollbox {
	overflow-y: scroll;
	height: 250px;
	padding: 10px 20px 10px 20px;
	background-color: var(--color-gray6);
}
.policy-box .scrollbox::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
.policy-box .scrollbox::-webkit-scrollbar-track {
	background: rgba(255,255,255,0.1);
	border-radius: 3px;
}
.policy-box .scrollbox::-webkit-scrollbar-thumb {
	background: var(--color-gray1);
	border-radius: 3px;
}



table.form-tbl {
  border-collapse: collapse;
  width: 100%;
}
table.form-tbl th,
table.form-tbl td {
  padding: 10px;
  border: 1px solid var(--color-gray4);
  line-height:150%;
  font-size:14px;
}
table.form-tbl th {
  background-color: var(--color-gray6);
  text-align: center;
  vertical-align:middle;
  width: 30%;
}

table.form-tbl td {
  text-align: left;
}


.form-hissu{
	display: inline-block;
	font-size:12px;
	background-color: var(--color-red);
	color:var(--color-white);
	padding:0 5px;
	border-radius: 5px;
	margin-left:5px;
}


.forbu{width:200px;margin:0 auto;}



@media screen and (max-width: 768px) {
  table.form-tbl {
   border-top: 1px solid var(--color-gray3);
  }
  table.form-tbl td {
    display: block;
    text-align: left;
  }
  table.form-tbl th {
    display: block;
    border-top: none;
    border-bottom: none;
    width: 100%;
  }
}


/* # =================================================================
   # thanks
   # ================================================================= */

.thanks-txt1{
	font-size:25px;
	font-weight:700;
	line-height:180%;
	color:var(--color-gold);
	padding-bottom:60px;
	text-align:left;
}

.thanks-txt2{
	line-height:180%;
	text-align:left;
}

.thanks-txt2 span{color:var(--color-red);}



/* # =================================================================
   # page list
   # ================================================================= */

#pagelist .flex{
	display:flex;
	justify-content: start;
	flex-wrap: wrap;
	column-gap:3%;
	row-gap:2rem;
}

#pagelist .flex-item{
	width:31%;
	height: auto;
	background-color:var(--color-white);
	border-radius:10px;
	display: flex;
	flex-direction: column;
	box-shadow: 2px 2px 15px -5px rgba(0,0,0, 0.3);
}

#pagelist .main-btn{margin-bottom:20px;margin-right:25px;margin-top:auto;}

@media screen and (max-width: 900px) {
	#pagelist .flex-item{width:48%;column-gap:2%;}
}

@media screen and (max-width:599px){
	#pagelist .product-img img{height:200px;}
	#pagelist .product-box{padding:15px 10px;}
	#pagelist .main-btn{width:80%;margin-bottom:20px;margin-right:auto;margin-left:auto;margin-top:auto;}
}
