@charset "UTF-8";


/* ========================================================
  
  common

======================================================== */
.com_arw_grd {
	position: absolute;
	display: block;
	width: min(50vw,600px);
	background: linear-gradient(to bottom, rgba(112,189,189,0) 0%, rgba(112,189,189,0.2) 25%, rgba(255,255,255,1) 100%);
	aspect-ratio: 6/1;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	margin: auto;
	inset: auto 0 0 0;
	bottom: 20px;
	translate: 0 50%;
	z-index: 1;
	transition: opacity 1s, bottom 1s;
	opacity: 0;
}
.com_arw_grd.anime_on {
	bottom: 0;
	opacity: 1;
}

.com_inbox {
	position: relative;
	max-width: 720px;
	padding: 0 10%;
	margin-left: auto;
	margin-right: auto;
}
.com_inbox__bg {
	position: relative;
	background-color: #FFF;
	box-sizing: border-box;
	padding: 5.4% 17%;
}

.com_box__s {
	position: relative;
	background-color: #FFF;
	box-sizing: border-box;
	padding: 1.5em 4%;
}

.com_bg {
	position: absolute;
	content: "";
	background-repeat: no-repeat;
	background-color: var(--color_blu);
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: -1;
}

.com_img__abs {
	position: absolute;
	width: 40vw;
	max-width: 600px;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_inbox {
	padding: 0 8%;
}
.com_inbox__bg {
	padding: 6% 12%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_arw_grd {
	width: 70vw;
}

.com_inbox {
	padding: 0;
}
.com_inbox__bg {
	padding: 8% 6% 10%;
}

.com_box__s {
	padding: 8% 6%;
}
}
@media only screen and (min-width: 960px) and (max-width: 1400px) and (min-aspect-ratio: 1024/600) {
.com_inbox__bg {
	padding-left: 14%;
	padding-right: 14%;
}
}




/* ========================================================
  
  m_img_area

======================================================== */
.m_img_area {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100vh;
	min-height: max-content;
	box-sizing: border-box;
	padding-bottom: 50px;
}
.m_img_area::before {
	position: absolute;
	content: "";
	background-color: var(--color_blu);
	width: 100%;
	height: 100%;
	inset: 0;
	z-index: -1;
}
.m_img_area::after {
	position: absolute;
	content: "";
	background: url(../images/top/m_corner_l.svg), url(../images/top/m_corner_r.svg);
	background-repeat: no-repeat;
	background-position: left bottom, right bottom;
	background-size: min(50%,750px) auto, min(650px,44%) auto;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: max(-16%,-190px);
	z-index: -1;
}
/*m_img*/
.m_img {
	position: absolute;
	width: 100%;
	height: 92%;
	background: url(../images/top/m_img@2x.jpg) no-repeat center center;
	background-size: cover;
	z-index: -1;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 78%);
	left: 0;
	top: 0;
}
/*m_copy*/
.m_copy {
	font: var(--font_min);
	font-size: min(2vw,158%);
	line-height: 1.5;
	letter-spacing: .1em;
	font-feature-settings: "halt";
	margin-left: 9%;
	transition: opacity 1s;
	opacity: 0;
	z-index: 1;
	margin-bottom: 1em;
}
.m_copy .copy__txt1 {
	font-size: 133%;
}
.m_copy .copy__txt2 {
	display: block;
	width: 25.1em;
	margin-top: .5em;
	margin-bottom: 1.8em;
}
.m_copy .copy__txt4 {
	color: #FFF;
	font-size: 151%;
	line-height: 1.3;
	margin-top: .4em;
}
.m_copy .copy__txt4 > span {
	font-size: 134%;
}
.m_copy .copy__txt4 > span > span {
	font: var(--font_bel);
}
/*m_rsv*/
.m_rsv {
	position: absolute;
	display: block;
	width: 20%;
	max-width: 300px;
	right: 5%;
	bottom: 22%;
	transition: opacity 1s .3s, scale .5s, filter .5s;
	opacity: 0;
	z-index: 1;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.1));
	scale: 1;
}
.m_rsv.is-fixed {
	position: fixed;
	right: -1.5%;
	top: 90px;
	bottom: auto;
	scale: 0.7;
}
.m_rsv:hover {
	scale: 0.95;
}
.m_rsv.is-fixed:hover {
	scale: 0.65;
}

.m_img_area.anime_on .m_copy,
.m_img_area.anime_on .m_rsv {
	opacity: 1;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area {
	height: 100svh;
	padding-bottom: 30px;
}
/*m_img*/
.m_img {
	height: 90%;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 90%);
}
/*m_copy*/
.m_copy {
	font-size: 2.5vw;
	margin-left: 6%;
	margin-bottom: 12%;
}
/*m_rsv*/
.m_rsv {
	bottom: 14%;
}
.m_rsv.is-fixed {
	top: 60px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area {
	height: 100svh;
	min-height: calc(100vw * 1.77);
	max-height: calc(100vw * 2);
	padding-bottom: 20px;
}
.m_img_area::after {
	bottom: 0;
}
/*m_img*/
.m_img {
	height: 88%;
	background-image: url(../images/top/m_img_sp@2x.jpg);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 90%);
}
/*m_copy*/
.m_copy {
	justify-content: flex-end;
	font-size: 3.8vw;
	font-feature-settings: "palt";
	margin-left: 5%;
	margin-bottom: 0;
}
.m_copy .copy__txt1 {
	font-size: 125%;
}
.m_copy .copy__txt2 {
	width: 12em;
	margin-top: .8em;
	margin-bottom: 1.8em;
}
.m_copy .copy__txt4 {
	font-size: 115%;
}
/*m_rsv*/
.m_rsv {
	width: 35vw;
	right: 4%;
	bottom: 35vw;
}
.m_rsv.is-fixed {
	display: none;
}
}
@media only screen and (min-width: 960px) and (max-width: 1400px) and (min-aspect-ratio: 1024/600) {
/*m_copy*/
.m_copy {
	font-size: min(1.6vw,158%);
	margin-left: 9%;
}
/*m_rsv*/
.m_rsv {
	width: 18%;
	bottom: 25%;
}
.m_rsv.is-fixed {
	top: 80px;
}
}



/* ========================================================
  
  lead

======================================================== */
.lead_bg {
	background: linear-gradient(to bottom, var(--color_blu), transparent);
	z-index: -2;
}
.lead_inbox {
	position: relative;
}
#lead .com_h__min {
	line-height: 1.7;
	font-feature-settings: "halt";
	margin-bottom: 0;
}
#lead .com_h__min .txt2,
#lead .com_h__min .txt4 {
	font-size: 200%;
}
#lead .com_h__min .txt3 {
	display: block;
}
#lead .com_img__abs {
	max-width: 540px;
	left: 67.5%;
	top: 0;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#lead .com_h__min {
	text-align: center;
}
#lead .com_h__min .txt3 {
	width: 32.2em;
	margin: -1em auto;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#lead {
	padding-top: 3%;
}
#lead .com_h__min .txt2,
#lead .com_h__min .txt4 {
	font-size: 150%;
	line-height: 1.5;
}
#lead .com_h__min .txt3 {
	width: 12em;
	margin-left: -1.2em;
}
#lead .com_h__min .txt4 {
	font-size: 120%;
}
#lead .com_h__min .txt5 {
	text-align: center;
	margin-top: .5em;
}
#lead .com_img__abs {
	width: 72%;
	left: 35%;
	top: 28vw;
}
}



/* ========================================================
  
  problem

======================================================== */
#problem {
	position: relative;
	color: #FFF;
	padding-top: 0;
}
.prb_bg {
	background-image: linear-gradient(to bottom, rgba(23,27,26,1), rgba(23,27,26,0));
	background-size: 100% 440px;
	background-color: var(--color_dgry);
}
#problem .com_inbox {
	padding-top: 80px;
}
.prb_grd {
	position: absolute;
	background: linear-gradient(to bottom, rgba(23,27,26,1), rgba(23,27,26,0));
	background-repeat: no-repeat;
	width: 100vw;
	height: min(40vw,440px);
	height: 36vw;
	clip-path: polygon(0 min(80px,5.4vw), 100% 0, 100% 100%, 0 100%);
	left: 0;
	top: max(-80px,-5.4vw);
	margin-left: calc(50% - 50vw);
	z-index: -1;
}

#problem .com_h__min.h__50 {
	 color: var(--color_blu);
}
#problem .com_h__min small {
	font-size: 40%;
	letter-spacing: .1em;
	vertical-align: 1em;
}
#problem .h__rbn {
	display: inline-block;
	font-size: min(2vw,129%);
	background-color: var(--color_brw);
	padding: .4em 2em .4em 1.2em;
	clip-path: polygon(0 0, calc(100% - 1em) 0, 100% 100%, 0 100%);
}
/* prb_sec__1 */
.prb_sec__1 .com_img__abs {
	left: 0;
	top: -50px;
	margin-left: calc(50% - 50vw);
	z-index: -1;
}
/* prb_sec__2 */
.prb_sec__2 .com_img__abs {
	max-width: 800px;
	left: auto;
	right: 0;
	top: 300px;
	margin-right: calc(50% - 50vw);
	z-index: -1;
}
.prb_sec__2 .prb_grd {
	scale: -1 1;
}
.prb_sec__2 .com_txt__bg {
	margin-top: .8em;
}
/* prb_sec__3 */
.prb_sec__3 .prb_grd img {
	width: auto;
	height: 100%;
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.prb_sec__1 p {
	width: 70%;
}
.prb_sec__1 .plb_deco {
	position: absolute;
	width: 28vw;
	max-width: 364px;
	left: 70%;
	top: 28%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#problem::before {
	background-size: 100% 30vw;
}
#problem .com_inbox {
	padding-top: 12%;
}
.prb_grd {
	height: 46vw;
}
#problem .h__rbn {
	font-size: 100%;
}
.prb_sec__1 .com_h__min.h__50,
.prb_sec__3 .com_h__min.h__50 {
	max-width: max-content;
	margin-left: auto;
}
/* prb_sec__1 */
.prb_sec__1 .com_img__abs {
	top: -5vw;
}
.prb_sec__1 .plb_deco {
	width: 30%;
	float: right;
	margin-left: 5%;
	margin-bottom: 1em;
}
/* prb_sec__2 */
.prb_sec__2 .com_img__abs {
	top: -4vw;
}
/* prb_sec__3 */
.prb_sec__3 .prb_box dd {
	text-align: left;
}
}
/*problem:prb_box
---------------------------------------------------------*/
.prb_box {
	background-color: var(--color_gry);
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
/* cause */
.prb_box.box__cause {
	background-color: var(--color_brw);
	border-radius: 10px;
	padding-top: 6.5%;
	margin: 6% auto;
}
.prb_box.box__cause .com_h__b {
	position: absolute;
	left: 50%;
	top: 0;
	translate: -50% -50%;
}
.prb_box.box__cause ul > li {
	font-weight: bold;
	background: url(../images/top/plb_cross.svg) no-repeat center top;
	background-size: contain;
	padding: 1em 0;
}
/* risk */
.prb_box.box__risk {
	text-align: center;
	background-color: var(--color_gry);
}
.prb_box.box__risk .com_h__min {
	color: inherit;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
/* cause */
.prb_box.box__cause ul {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(3,30%);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* cause */
.prb_box.box__cause {
	margin: 8% auto;
}
.prb_box.box__cause ul > li {
	background-position: left top;
	padding: .6em 1em .6em 3em;
	margin-bottom: 1em;
}
.prb_box.box__cause ul > li:last-of-type {
	margin-bottom: 0;
}
}





/* ========================================================
  
  solution

======================================================== */
#solution .com_h__min.h__shd:first-child {
	text-align: center;
	margin-bottom: 1em;
}
.sol_bg {
	height: calc(100% + 130px);
}
/*solution:sol_sec__1
---------------------------------------------------------*/
#solution .sol_sec__1 {
	position: relative;
	margin-bottom: 10%;
}
.sol_txt__bg {
	font: var(--font_min);
	font-size: min(4.8vw,3.03rem);
	letter-spacing: .14em;
	writing-mode: vertical-rl;
	line-height: 1.6;
}
.sol_txt__bg > span {
	display: inline-block;
	background-color: #fff;
	padding: .6em .04em;
	margin-right: .2em;
}
.sol_sec__1  div:lang(en) {
	position: relative;
	color: var(--color_och);
	font: var(--font_bel);
	font-size: min(10vw,8.82rem);
	letter-spacing: .1em;
	text-shadow: 0 0 10px rgba(255,255,255,0.8), 0 0 20px rgba(255,255,255,0.8), 0 0 30px rgba(255,255,255,0.8);
	margin-top: .3em;
	z-index: 1;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.sol_sec__1 {
	width: 70%;
	padding: 0 15%;
}
.sol_sec__1 .img__1 {
	position: absolute;
	width: 30vw;
	max-width: 420px;
	right: 82%;
	top: 58%;
	translate: -5% -50%;
}
.sol_sec__1 .img__2 {
	position: absolute;
	width: 72vw;
	max-width: 1060px;
	left: 44%;
	top: 0;
	translate: 0 -4%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.sol_txt__bg {
	font-size: 150%;
}
.sol_sec__1  div:lang(en) {
	font-size: 18vw;
}

.sol_sec__1 .img__1 {
	position: absolute;
	width: 55vw;
	right: 0;
	top: 0;
}
.sol_sec__1 .img__2 {
	width: 130%;
}
}
/*solution:com_inbox
---------------------------------------------------------*/
.sol_sec__2 {
	background: linear-gradient(to right, transparent, #FFF 10%, #FFF 90%, transparent);
	padding-top: 8.4%;
}
.sol_sec__2 .com_h__min {
	position: absolute;
	width: 100%;
	text-align: center;
	left: 0;
	top: -1.5em;
}
.sol_sec__2 .com_h__min span {
	font: var(--font_bel);
	font-size: 300%;
	vertical-align: -0.2em;
}
.sol_sec__2 .com_h__b {
	text-align: center;
	line-height: 1.8;
	margin-top: 1em;
}
.sol_sec__2 .com_h__b span {
	font-size: 160%;
	white-space: nowrap;
}
.sol_sec__2 .com_btn {
	text-align: center;
}
.sol_sec__2 .com_marker {
	background: linear-gradient(to bottom,  transparent 60%, var(--color_och) 60%);
	padding: .2em .4em;
}

.sol_sec__2 ul img {
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.2));
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.sol_sec__2 ul {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(3,29.2%);
}
.sol_sec__2 ul img {
	margin-bottom: 1em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.sol_sec__2 .com_h__b {
	line-height: 1.5;
}
.sol_sec__2 .com_h__b span {
	display: inline-block;
	font-size: 110%;
	margin-bottom: .4em;
}
.sol_sec__2 ul > li {
	display: grid;
	justify-content: space-between;
	align-items: center;
	grid-template-columns: 35% 60%;
	margin-bottom: 5%;
}
}



/* ========================================================
  
  risk

======================================================== */
#risk {
	position: relative;
}
[class*="risk_sec__"] {
	color: #FFF;
	background-color: var(--color_dgry);
}
#risk .com_h__min.h__50 {
	color: var(--color_blu);
}
.risk_list {
	list-style: none;
    counter-reset: mycounter;
}
.risk_list > li {
	position: relative;
	padding: 0 1em 1.2em 14%;
	border-bottom: 1px solid rgba(255,255,255,0.3);
	margin-bottom: 1.5em;
}
.risk_list > li:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}
.risk_list > li::before {
	position: absolute;
	display: block;
	counter-increment: mycounter;
	content: counter(mycounter);
	background: url(../images/top/risk_obj.svg) no-repeat center center;
	background-size: contain;
	text-align: center;
	color: #FFF;
	font: var(--font_bel);
	font-size: min(4vw,2.78rem);
	letter-spacing: normal;
	line-height: 1.7;
	width: 1.8em;
	padding-top: .1em;
	left: 0;
	top: .05em;
}
.risk_list .com_h__min {
	margin-bottom: .2em;
}
/* risk_sec__1 */
.risk_sec__1 .com_img__abs {
	top: 240px;
	right: 0;
	margin-right: calc(50% - 50vw);
}
/* risk_sec__2 */
.risk_sec__2 {
	background-color: var(--color_gry);
	padding-top: 0;
}
.risk_sec__2 .com_txt__bg {
	position: relative;
	translate: 0 -1.2em;
}
#risk .com_list {
	font-weight: bold;
}
/* risk_sec__3 */
.risk_sec__3 .img1 {
	position: relative;
	width: 110%;
	max-width: 780px;
	margin-left: -4%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

/* risk_sec__3 */
.risk_sec__3 .com_img__abs {
	left: auto;
	right: 64%;
	bottom: 80px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


#risk .com_img__abs {
	width: 50vw;
}
/* risk_sec__1 */
.risk_sec__1 .com_img__abs {
	top: 20vw;
}
/* risk_sec__3 */
.risk_sec__3 .com_img__abs {
	top: 5vw;
	right: -15%;
}
}


/* ========================================================
  
  recommend

======================================================== */
#recommend {
	position: relative;
}
.rcm_bg {
	height: calc(100% + 120px);
	top: auto;
	bottom: 0;
}
.rcm_bg::before {
	position: absolute;
	content: "";
	background: url(../images/top/rcm_bg1@2x.png) no-repeat right top;
	background-size: contain;
	width: 50%;
	height: 700px;
	mix-blend-mode: multiply;
	right: 0;
	top: 0;
}
[class*="rcm_sec__"] .com_h__min.h__shd {
	text-align: center;
}
[class*="rcm_sec__"] .com_h__min.h__shd span {
	font-size: 129%;
}
.rcm_inbox {
	position: relative;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.rcm_bg {
	height: calc(100% + 10vw);
}
}
/*recommend:box__1
---------------------------------------------------------*/
.rcm_sec__1 .com_h__min {
	margin-bottom: .8em;
}
.rcm_sec__1 .com_h__min .line {
	font-size: 100% !important;
	padding-bottom: .2em;
}
.rcm_sec__1 > div {
	position: relative;
}
.rcm_sec__1 .img__abs {
	position: absolute;
	width: 47.3%;
	max-width: 340px;
	right: 0;
	top: 0;
	translate: 26% -10%;
}
.rcm_sec__1 .com_txt__bg {
	margin-bottom: 1em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.rcm_sec__1 .img__abs {
	width: 40%;
	translate: 20% -25%;
}
}

/*recommend:box__2
---------------------------------------------------------*/
.rcm_sec__2 .com_img__abs {
	max-width: 750px;
	width: 55vw;
	top: 0;
	right: 50%;
}
.rcm_sec__2 p {
	font-size: 117%;
}
/* rcm_clip_wrap */
.rcm_clip_wrap {
	position: relative;
}
.rcm_clip {
	position: relative;
	width: 92%;
	margin: 2em 0 2em auto;
}
.rcm_clip div {
	background-color: #fff;
	background: linear-gradient(to right, #FFF 80%, transparent);
	box-sizing: border-box;
	padding: 1.6em 5em;
	clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
	margin-right: -5em;
}
.rcm_clip div span {
	font-size: 180%;
	white-space: nowrap;
	background: var(--grd_gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.rcm_clip::before {
	position: absolute;
	content: "";
	background: linear-gradient(to left, #fde9b4, #c6ab7a 80%, transparent);
	width: 120%;
	height: 100%;
	right: 65%;
	bottom: 50%;
	clip-path: polygon(0 0, 80% 0, 100% 100%, 0 100%);
	z-index: -1;
}
/* anime */
.rcm_clip div,
.rcm_clip::before {
	opacity: 0;
	transition: opacity 1s, translate 1s;
}
.rcm_clip div {
	translate: 30px 0;
}
.rcm_clip::before {
	translate: -30px 0;
	transition-delay: .3s;
}
.rcm_clip.anime_on div,
.rcm_clip.anime_on::before {
	opacity: 1;
	translate: 0 0;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.rcm_sec__2 .com_img__abs {
	top: 38vw;
	right: 50%;
}
.rcm_sec__2 p {
	font-size: 105%;
}
/* rcm_clip_wrap */
.rcm_clip {
	width: 100%;
	margin-bottom: 15vw;
}
.rcm_clip div {
	font-size: 105%;
	padding: 1.2em 4em;
	margin-right: -4em;
}
.rcm_clip::before {
	right: 45%;
}
}
/*recommend:inbox__3
---------------------------------------------------------*/
.rcm_sec__3 {
	background-image: url(../images/top/rcm_corner_l.svg),
						url(../images/top/rcm_corner_r.svg);
	background-repeat: no-repeat;
	background-position: left top, right -1px bottom -1px;
	background-size: 62.5% auto;
	padding-top: 0;
	margin-top: 13%;
	box-shadow: 0 200px 40px -200px rgba(0,0,0,0.2);
}
.rcm_sec__3 div:lang(en) {
	position: relative;
	font: var(--font_bel);
	font-size: min(6vw,4.27rem);
	font-style: italic;
	translate: 0 -.5em;
}
.rcm_sec__3 div:lang(en) img {
	width: 2.94em;
	margin-bottom: .3em;
}
.rcm_sec__3 .com_img__abs {
	width: 43%;
	left: 50%;
	top: 0;
	translate: 0 -10%;
}
.rcm_sec__3 .com_txt__bg {
	margin-bottom: .8em;
}
.rcm_sec__3 .com_txt__bg > span {
	color: #FFF;
	background-color: var(--color_dgry);
}
.rcm_sec__3 .img {
	position: relative;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.rcm_sec__3 {
	box-shadow: 0 40px 20px -40px rgba(0,0,0,0.2);
}
}
/*recommend:box__4
---------------------------------------------------------*/
.rcm_sec__4 .h__rbn {
	position: relative;
	text-align: center;
	letter-spacing: .15em;
	background: var(--grd_gold);
	padding: .5em 0;
	margin-bottom: 1em;
}
.rcm_sec__4 .h__rbn::before,
.rcm_sec__4 .h__rbn::after {
	position: absolute;
	content: "";
	background-color: #998675;
	width: 1.3em;
	height: .64em;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
	left: 0;
	top: 99%;
}
.rcm_sec__4 .h__rbn::after {
	scale: -1 1;
	left: auto;
	right: 0;
}
.rcm_sec__4 ul {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(3,33%);
	margin: 1em auto;
}
.rcm_sec__4 ul > li {
	text-align: center;
	white-space: nowrap;
	background: linear-gradient(to right, transparent, #FFF, transparent);
	padding: .5em 1em;
}
.rcm_sec__4 .com_box__s {
	padding-top: 0;
	margin-top: 9%;
}
/* rcm_tbl__vs */
.rcm_tbl__vs {
	width: 100%;
	text-align: center;
	line-height: 1.5;
}
.rcm_tbl__vs thead {
	font-size: 176%;
	letter-spacing: .15em;
	white-space: nowrap;
	translate: 0 -0.9em;
}
.rcm_tbl__vs thead th {
	font-size: 200%;
	line-height: 0.8;
}
.rcm_tbl__vs thead td span {
	display: inline-block;
	padding: .2em 1.5em;
	border-radius: 100vmax;
}
.rcm_tbl__vs thead td.ft_min span {
	color: #FFF;
	background-color: var(--color_dgry);
}
.rcm_tbl__vs thead td.ft_bel span {
	font-size: 116%;
	background: var(--grd_gold);
	padding: .1em 1.5em 0;
}
.rcm_tbl__vs tbody tr:nth-of-type(odd) {
	background-color: #f2f2f2;
}
.rcm_tbl__vs tbody th,
.rcm_tbl__vs tbody td {
	width: 33%;
	padding: .6em 1%;
}
.rcm_tbl__vs tbody th {
	font-weight: normal;
}
.rcm_tbl__vs tbody td {
	font-weight: bold;
}
.rcm_tbl__vs tbody td:last-of-type {
	color: #ed1c24;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.rcm_sec__4 .h__rbn {
	width: 128%;
	margin-left: -14%;
}
/* rcm_tbl__vs */
.rcm_tbl__vs td:first-of-type {
	padding-left: 1em;
}
.rcm_tbl__vs td:last-of-type {
	padding-right: 1em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.rcm_sec__4 .h__rbn {
	letter-spacing: .1em;
}
.rcm_sec__4 ul {
	font-size: 115%;
}
.rcm_sec__4 .com_box__s {
	width: 95vw;
	left: 50%;
	padding: 0 4% 6%;
	translate: -50% 0;
}
/* rcm_tbl__vs */
.rcm_tbl__vs {
	width: 100%;
	text-align: center;
	line-height: 1.5;
}
.rcm_tbl__vs thead {
	font-size: 115%;
	letter-spacing: .12em;
	translate: 0 -0.9em;
}
.rcm_tbl__vs thead td span {
	padding: .2em 1.2em;
}
.rcm_tbl__vs tbody {
	font-size: 90%;
}
}


/* ========================================================
  
  before

======================================================== */
.bef_bg {
	background-image: url(../images/top/bef_corner_l.svg),
					url(../images/top/bef_corner_r.svg);
	background-position: left top, right bottom;
	background-size: 47% auto;
	background-color: #c6ab7a;
	height: calc(100% + 100px);
}
.bef_bg::before {
	position: absolute;
	content: "";
	background: url(../images/top/bef_bg@2x.jpg) no-repeat right top;
	background-size: contain;
	width: 50%;
	height: 700px;
	right: 0;
	top: 0;
}
.bef_sec__3 {
	color: #FFF;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.bef_bg {
	height: calc(100% + 60px);
}
}
/*before:dr_box
---------------------------------------------------------*/
.dr_box {
	background-image: url(../images/top/bef_laurel.svg);
	background-repeat: no-repeat;
	background-position: left 3% bottom 15%;
	background-size: 27% auto;
	margin: 4% auto;
}
.dr_box ul {
	position: relative;
	display: flex;
	gap: .5em;
	margin-bottom: 1.5em;
}
.dr_box ul li {
	color: #FFF;
	font-size: min(147%,2.2vw);
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: .1em;
	background-color: #aa8bbe;
	padding: .4em .8em;
	border-radius: 100vmax;
}
.dr_img {
	position: absolute;
	right: 0;
	bottom: 0;
	width: auto;
	height: 100%;
}
.dr_img img {
	width: auto;
	height: 100%;
}
.dr_box p {
	position: relative;
	width: 82%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.dr_box {
	background-position: left 5% bottom 10%;
	background-size: 40% auto;
	margin: 6% auto;
}
.dr_box ul {
	margin-bottom: 1em;
}
.dr_box ul li {
	font-size: 82%;
	letter-spacing: .06em;
}
.dr_img {
	height: 55%;

	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 20%);
	mask-image: linear-gradient(to bottom, transparent 0%, black 20%);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: auto;
    mask-size: auto;
}
.dr_box p {
	width: 65%;
}
}


/* ========================================================
  
  summary

======================================================== */
#summary {
	position: relative;
}
.smr_bg {
	bottom: 90px;
	top: auto;
	z-index: -2;
}
.smr_inbox {
	box-shadow: 0 0 20px rgba(0,0,0,0.2);
	padding-bottom: 14%;
}
.smr_inbox .com_txt__bg {
	margin-bottom: 1em;
}
.smr_inbox .com_txt__bg > span {
	color: #FFF;
	background-color: var(--color_blu);
}
.smr_inbox .com_h__min.h__35 {
	color: #FFF;
	background: linear-gradient(to right, #c6ab7a, #e0c98b);
	padding: .2em .8em;
	margin-top: 1em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.smr_bg {
	bottom: 60px;
}
}


/* ========================================================
  
  closing

======================================================== */
#closing {
	text-align: center;
	margin-top: max(-7.6%,-110px);
}
#closing .h__50 img {
	width: 16em;
	max-width: 100%;
	margin: 0 auto -0.8em;
}


/* ========================================================
  
  reserve

======================================================== */
.rsv_bg {
	background-color: var(--color_lblu);
}
#reserve .com_h__min {
	text-align: center;
}
#reserve hgroup {
	margin-bottom: 5%;
}
#reserve .com_h__min.h__45 {
	margin-bottom: .2em;
}
#reserve hgroup div:lang(en) {
	text-align: center;
	color: var(--color_ppl);
	font: var(--font_bel);
	font-size: min(2.2vw,1.17rem);
	letter-spacing: .2em;
}
#reserve .h__arw {
	position: absolute;
	width: 11.4em;
	color: #FFF;
	letter-spacing: .15em;
	background-color: #c6ab7a;
	box-sizing: border-box;
	padding: .8em .5em 1.2em;
	clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%);
	left: 50%;
	top: 0;
	translate: -50% -40%;
}
.h__grd {
	width: 100vw;
	color: #FFF;
	background: linear-gradient(to right, transparent, var(--color_ppl) 20%, transparent 80%);
	background: linear-gradient(to right, transparent, var(--color_ppl) 30%, var(--color_ppl) 70%, transparent);
	padding: .8em 0;
	left: 50%;
	translate: -50% 0;
	margin-bottom: 1.5em;
}
#reserve .com_list {
	font-size: 88%;
	letter-spacing: .1em;
	font-feature-settings: "halt";
}
/* rsv_sec__1 */
.rsv_sec__1 p {
	margin-bottom: 8%;
}
.rsv_sec__1 .com_h__min {
	text-align: center;
}
.rsv_sec__1 .com_h__min::before,
.rsv_sec__1 .com_h__min::after {
	position: absolute;
	content: "";
	background-color: var(--color_ppl);
	width: calc((100% - 13em) / 2);
	height: 1px;
	top: 50%;
}
.rsv_sec__1 .com_h__min::before {
	left: 0;
}
.rsv_sec__1 .com_h__min::after {
	right: 0;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
/* rsv_sec__1 */
.rsv_sec__1 p {
	text-align: center;
}

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#reserve hgroup div:lang(en) {
	font-size: 2.5vw;
	margin-top: 1em;
}
#reserve .h__arw {
	font-size: 105%;
}
}

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

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

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


}