@charset "utf-8";

* {
	margin: 0;
	padding: 0;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

/* Firefox */
* {
	scrollbar-width: thin;
	scrollbar-color: #397524 #DFE9EB;
}

p {padding-top: 2rem;}

a {word-break: break-all}

img {max-width: 100%;}

.pcbr {display: block;}
.spbr {display: none;}
.nobr {white-space: nowrap;}

.header {
  max-width: 1980px;
  width: 100%;
  margin: 0px auto;
  text-align: center;
}

.header img {
  max-width: 100%;
}

picture {
  transition: all ease-out 2.5s;
}

.hidden {
  opacity: 0;
}

.fv_top01 {
 
}



body {
  width: 100%;
	background-position: top center;
	background-size: cover;
	background-attachment: fixed;
  background-color: #000;
	color: #000000;
	font-size: 18px;
	line-height: 1.8;
	font-feature-settings: "palt";
	font-family: "メイリオ", "Meiryo", "Osaka", "MS Pゴシック", "MSゴシック", Helvetica, verdana, arial;
}

body::before {
	background-image: url("/lps/gate/images/gate_bg.jpg");
	background-image: no-repeat;
	background-position: top center;
	background-size: cover;
	content: "";
	position: fixed;
	top: 0;
	right: 0;
	z-index: -1;
	width: 100%;
	height: 100vh;
}

.overflowhidden {
  overflow: hidden;
}

.content-back0 {
	max-width: 700px;
	width: 100%;
	margin: 40px auto 0;
	padding: 10px;
	border: 3px solid #a09000;
  box-shadow: 0 0 15px #fffed0;
  background: #fdfdfd;
	color: #000000;
}



/*-------------------------------------------*/
/* メインエリア */

.subtitle2 {
	width: 100%;
	background: #111;
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing: 0;
	color: #fcfcfc;
	padding: 10px 0;
	line-height: 1.4;
	position: relative;
	border-top: 3px solid #703103;
	border-bottom: 3px solid #703103;
	border-image: linear-gradient(120deg, rgba(65, 44, 32, 1), rgba(112, 49, 3, 1) 7%, rgba(176, 90, 3, 1) 15%, rgba(220, 150, 26, 1) 23%, rgba(254, 210, 33, 1) 37%, rgba(255, 220, 110, 1) 44%, rgba(250, 232, 139, 1) 52%, rgba(255, 243, 168, 1) 57%, rgba(254, 210, 33, 1) 70%, rgba(220, 150, 26, 1) 80%, rgba(176, 90, 3, 1) 85%, rgba(112, 49, 3, 1) 93%, rgba(65, 44, 32, 1));
	border-image-slice: 3;
	box-sizing: border-box;
}



/* テキストセンタリング */
.balance {
  text-wrap: balance;
}


.center_text {
  text-align: center;
	display: block;
  margin-inline: auto;
}

.center_text > p {
  text-align: left;
	display: inline-block;
}
/* ------------------- */

.shadow5-5 {
  filter: drop-shadow(10px 10px 5px #00000077);
}


.rich-box-r {
  padding: 10px;
  border: 3px solid #000;
  border-image:linear-gradient(85deg, rgba(171,134,0,1) 0%, rgba(255,232,61,1) 50%, rgba(171,134,0,1) 100%);
  border-image-slice: 1;
  background: rgb(255,96,96);
  background: radial-gradient(circle, rgba(255,96,96,1) 0%, rgba(207,0,0,1) 100%);
}

.rich-box-bk {
  border: 3px solid #000;
  border-image:linear-gradient(85deg, rgba(171,134,0,1) 0%, rgba(255,232,61,1) 50%, rgba(171,134,0,1) 100%);
  border-image-slice: 1;
  background: rgb(255,96,96);
  background: linear-gradient(85deg, rgba(18,18,18,1) 0%, rgba(68,0,0,1) 50%, rgba(18,18,18,1) 100%);
}

.pink-box {
  padding: 10px;
  color: #4d0000;
  background-color: #ffc2c2;
}

.gray-box {
  width: 500px;
  max-width: 100%;
  margin-inline: auto;
  padding: 10px;
  background-color: #dbdbdb;
}

.red-border-box {
  padding: 10px;
  border: 3px solid red;
}

.bk-border-box {
  padding: 10px;
  border: 3px solid rgb(19, 19, 19);
}

.area-dots {
  margin-inline: 50px;
  padding: 20px 0 30px;
  border: 2px solid #918ab9;
  background-color: #f3f3ff96;
  background-image: radial-gradient(#020086a2 0.5px, #f3f3ff96 0.5px);
  background-size: 10px 10px;
}

.ng-box {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 400px;
  background: url("/lps/gate/images/ng.png")center center;
  background-size: contain;
  background-repeat: no-repeat;
}

.recipe-box {
  padding: 10px;
  color: #fff;
  background-color: #1a1a1a;
}

.worry-box {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 400px;
  background: url("/lps/gate/images/worry.png")center center;
  background-size: contain;
  background-repeat: no-repeat;
}

.worry-box p {
  padding: 10px 20px;
  border-radius: 8px;
}


.fire-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 100px 0;
  background: url("/lps/gate/images/fire.png")center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.fire-box p {
  padding: 10px 20px;
  line-height: 1.5;
  background-color: #00000091;
}

.comment {
  padding: 10px;
  color: #4d0000;
  background-color: #ffc2c2;
}

.yosouka-box {
  padding: 20px 10px;
  text-align: center;
  border: 5px solid #3a3a3a;
  border-image: linear-gradient(to right, #7f7fff, #7fff7f);
  border-image-slice: 1;
}





/*------------------------------
  メール・コメントセクション
------------------------------*/
/* 吹き出し 全体*/
.talking {
  margin-bottom:3em;
  position:relative;
}

.talking:before , .talking:after {
  clear:both;
  content:"";
  display:block;
}

/*アイコン*/
.talking figure {

  flex-wrap: wrap;
  width:90px;     /*アイコンの横幅*/
  height:auto;    /*アイコンの縦幅*/
}

.talking-left_icon {
  float:left;
  margin-right:20px;    /*アイコンの右の余白(左の吹き出し)*/
}

.talking-right_icon {
  float:right;
  margin-left:20px;    /*アイコンの左の余白(右の吹き出し)*/
}

.talking figure img {
  width:90px;
  height:auto;
  margin:0;
  border:2px solid #aaa;
  border-radius:50%;    /*アイコンの角丸*/
}

/*アイコンの下の名前*/
.talking-left_icon figcaption ,
.talking-right_icon figcaption {
  padding:2px 0 0;
  font-size:12px;
  text-align:center;
}

/*吹き出しのセリフ部分*/
.talking-left , .talking-right  {
  position:relative;
  padding:10px;
  border-style:solid;    /*枠線の線種*/
  border-radius:10px;    /*セリフを入れる部分の角丸*/
  max-width: calc(80% - 80px);
}

.talking p {
  margin:0;
}

.talking p :last-child {
  margin:0;
}

/*---左の吹き出し---*/
.talking-left {
  float:left;
  border-width:2px; 
  padding: 5px 10px;     
  border-color:rgb(48, 48, 48); 
  background:rgb(226, 226, 226);  
}



/*---右の吹き出し---*/
.talking-right {
  float:right;
  border-width:2px;
  padding: 5px 10px;
  border-color:rgb(48, 48, 48); 
  background:rgb(226, 226, 226); 
}

/*---会員様の吹き出し---*/
.talking-user {
  float:left;
  border-width:2px;  
  padding: 5px 10px;   
  border-color:rgb(255, 102, 102); 
  background:rgb(255, 240, 240);  
}

.user figure img {
  width:90px;
  height:auto;
  margin:0;
  border:2px solid #ff8080;
  border-radius:50%;  
}

/*  */









/*-------------------------------------------*/
/* JS用 */

.gray-before{
  width: 400px;
  transition: all .3s;
  filter: grayscale(100%);
}

.gray-after{
  filter: grayscale(0%);
}

/*  */

.w40m100 {
  width: 400px;
  max-width: 100%;
}

.fadein-before_l {
  -ms-filter: blur(6px);
  filter: blur(6px);
  opacity: 0;
  transform:translateX(-100px);
  transition: all 1s;
}

.fadein-before_r {
  -ms-filter: blur(6px);
  filter: blur(6px);
  opacity: 0;
  transform:translateX(100px);
  transition: all 1s;
}

.fadein-after_lr{
  -ms-filter: blur(0px);
  filter: blur(0px);
  opacity: 1;
  transform: translate(0);
}










/*===========================================*/
/* 要項 */

table.list {
	width: 100%;
	border-spacing: 0.1rem;
	line-height: 1.5;
  border: 3px solid #6b0000;
}

table.list th {
	padding: 1rem;
	text-align: center;
	width: 20%;
	font-weight: bold;
	color: #301500;
  background: rgb(171,134,0);
  background: linear-gradient(90deg, rgba(171,134,0,1) 0%, rgba(255,232,61,1) 50%, rgba(171,134,0,1) 100%);
}

table.list td {
	text-align: left;
	background-color: #fdfdfd;
	padding: 1rem;
	border-bottom: 0.1rem solid #dddddd;
}

span.hissu {
	display: inline-block;
	min-width: 5rem;
	text-align: center;
	background-color: #ff0000;
	color: #ffffff;
	font-weight: bold;
	margin-left: 1rem;
	padding: 0 0.2rem;
}

span.jiyu {
	display: inline-block;
	min-width: 5rem;
	text-align: center;
	background-color: #2179FC;
	color: #ffffff;
	font-weight: bold;
	margin-left: 1rem;
	padding: 0 0.2rem;
}

.box_red {
  width: 95%;
  border: 2px solid red;
  border-radius: 8px;
  padding: 10px;
  margin: 0 auto;
  font-weight: bold;
}

.line-through {
  text-decoration: line-through;
}








/*-------------------------------------------*/
/* フォーム */

.area-main {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}



.flash2 {
	animation: flash 1.5s linear infinite;
}

@keyframes flash {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}
}



.area-o {
	background-color: #FBB117;
}


.area-vio {
	background-image: url(../../../../images/auto/mae/bg-section-vio.jpg);
}

.gradation_bk {
	border: 1px double #FFFFFF;
	border-radius: 10px;
	background: rgb(91, 91, 91);
	background: linear-gradient(180deg, rgba(91, 91, 91, 1) 0%, rgba(42, 42, 42, 1) 100%);
}

.bg_opa07 {
	padding: 2rem;
	border-radius: 10px;
	background: #000000a3;
}

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

.area-xv-wt {
	background-color: #fdfdfd;
	background-image: url("https://www.transparenttextures.com/patterns/xv.png");
}

input[type="text"] {
	width: 100%;
	padding: 1.5rem 1rem;
	font-size: 2rem;
	color: #000000;
	font-weight: bold;
	background-color: #fdfdfd;
	border: 0.5rem solid #bfbfbf;
	border-radius: 0.5rem;
}
input[type="email"] {
	width: 100%;
	padding: 1.5rem 1rem;
	font-size: 2rem;
	color: #000000;
	font-weight: bold;
	background-color: #fdfdfd;
	border: 0.5rem solid #bfbfbf;
	border-radius: 0.5rem;
}


button {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	display: block;
	padding: 2rem;
	font-size: 2rem;
	font-weight: bold;
	color: #301500;
	border: 0.3rem solid #ffffff;
	background-image: url("https://www.transparenttextures.com/patterns/blizzard.png");
	border: none;
	cursor: pointer;
}

.btn,
button.btn {
	width: 90%;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 4rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.1s;
	transition: all 0.1s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #212529;
	border-radius: 3.5rem;
}

.btn--red.btn--cubic {
	border-bottom: 5px solid #3b2000;
	color: #301500;
  background: rgb(171,134,0);
  background: linear-gradient(85deg, rgba(171,134,0,1) 0%, rgba(255,232,61,1) 50%, rgba(171,134,0,1) 100%);
}

.btn--red.btn--cubic:hover {
	margin-top: 3px;
	border-bottom: 2px solid #9f000c;
}

.btn--radius {
	border-radius: 100vh;
}

.fa-position-right {
	position: absolute;
	top: calc(50% - .5em);
	right: 1rem;
}

.mw850 {
  max-width: 850px;
}




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

#footer {
	width: 100%;
	margin: 0px auto 0 auto;
	color: #ffffff;
	letter-spacing: 5px;
	padding-top: 20px;
	padding-bottom: 20px;
	background: #000000;
	background: url(images/gold.gif) #000 top center repeat-x;
	box-shadow: 0px 4px 12px 2px #ffffef;
	-moz-box-shadow: 0px 4px 12px 2px #ffffef;
	-webkit-box-shadow: 0px 4px 12px 2px #ffffef;
}

#footer ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
}

#footer ul li {
  margin-top: 20px;
}

.top a {
	margin: 10px 20px 10px 20px;
	color: #ffffff;
	text-align: center;
}

.top a:hover {
	width: 120px;
	color: #ff4500;
	text-align: center;
}




@media screen and (max-width: 1024px) {


	img.img100 {
		width: 100%;
	}

	img.w100 {
		width: 100%;
	}

}


@media (orientation: landscape) {

	/*body{
	background-image: none;
background-color: #000000;
}*/

	/*body:before{
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background:url(../../../../images/auto/mae/body.jpg) center no-repeat;
  background-size:cover;
}*/

}



.mincho2 {
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 500;
}

.mincho3 {
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 700;
}

.mincho4 {
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 900;
}

/* veserode追い */


/*********************************************************
	フッター
*********************************************************/