@charset "UTF-8";

/* !Base -------------------------------------------------------------- */
:root {
  --blue: #008ccf;
  --lblue: #eaf6fd;
  --dblue: #00b0ea;
  --lblue2: #bae3f9;
  --red: #e00001;
  --yellow: #fff038;
  --lyellow: #faf9f1;
  --gray: #4c4948;
  --orange: #f5a21b;
  --lorange: #fffcd7;
  --lorange2: #fff79b;
}
a {	color: #4c4948; text-decoration: none; }
a:hover { color: #4c4948; text-decoration: none;}
a.blue {	color: var(--blue); text-decoration: none; }
a.blue:hover { border-bottom: 1px solid; }
html { 
	font-size: 62.5%;
}
body {
	font-size: 18px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0.04em;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	line-height: 1.89;
	color: #4f4f4f;
	background: #fff;
}
.bold2 {
	font-weight: 900;
}
.bold {
	font-weight: 700;
}
.semi-bold {
	font-weight: 600;
}
.medium {
	font-weight: 500;
}
.normal {
	font-weight: 400;
}
.Roboto {
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-variation-settings:
		"wdth" 100;
}
p { padding: 1em 0; }
img { max-width: 100%; height: auto; }
.taL { text-align: left   !important;}
.taC { text-align: center !important;}
.taR { text-align: right  !important;}
.white { color: #fff; }
.black { color: #4f4f4f; }
.black2 { color: #000; }
.blue { color: var(--blue); }
.lblue { color: var(--lblue); }
.dblue { color: var(--dblue); }
.pblue { color: #a3d6ef; }
.red { color: var(--red); }
.yellow { color: var(--yellow); }
.orange { color: var(--orange);} 
.gray { color: var(--gray); }
.bg_white { background: #fff; }
.bg_black { background: #000; }
.bg_blue { background: var(--blue); }
.bg_lblue { background: var(--lblue); }
.bg_dblue { background: var(--dblue); }
.bg_lblue2 { background: var(--lblue2); }
.bg_yellow { background: var(--yellow); }
.bg_lyellow { background: var(--lyellow); }
.bg_orange { background: var(--orange); }
.bg_lorange { background: var(--lorange); }
.bg_lorange2 { background: var(--lorange2); }
.bg_lgray { background: #edeff2; }

.shadow { box-shadow: 0px 4px 10px rgba(116,116,116,.25); }
.br40 { border-radius: 40px; }
.br30 { border-radius: 30px; }
.br20 { border-radius: 20px; }
.br10 { border-radius: 10px; }
.br8 { border-radius: 8px; }
.fz71 { font-size: 71px; }
.fz70 { font-size: 70px; }
.fz60 { font-size: 60px; }
.fz52 { font-size: 52px; }
.fz45 { font-size: 45px; }
.fz40 { font-size: 40px; }
.fz37 { font-size: 37px; }
.fz35 { font-size: 35px; }
.fz34 { font-size: 34px; }
.fz32 { font-size: 32px; }
.fz30 { font-size: 30px; }
.fz28 { font-size: 28px; }
.fz27 { font-size: 27px; }
.fz26 { font-size: 26px; }
.fz25 { font-size: 25px; }
.fz24 { font-size: 24px; }
.fz22 { font-size: 22px; }
.fz20 { font-size: 20px; }
.fz19 { font-size: 19px; }
.fz18 { font-size: 18px; }
.fz17 { font-size: 17px; }
.fz16 { font-size: 16px; }
.fz15 { font-size: 15px; }
.fz14 { font-size: 14px; }
.fz13 { font-size: 13px; }
.fz12 { font-size: 12px; }
h2,h3,h4 { font-size: 35px; letter-spacing: 0.04em; line-height: 1.57; }
strong { font-weight: 700; }
.lh23 {line-height:2.3;}
.lh19 {line-height:1.9;}
.lh18 {line-height:1.8;}
.lh17 {line-height:1.7;}
.lh17e {line-height:1.71em;}
.lh165 {line-height:1.65;}
.lh16 {line-height:1.6;}
.lh15 {line-height:1.5;}
.lh14 {line-height:1.4;}
.lh13 {line-height:1.3;}
.lh12 {line-height:1.2;}
.lh11 {line-height:1.1;}
.lh10 {line-height:1;}
.ls00 {letter-spacing:0;}
.ls002 {letter-spacing:0.02em;}
.ls004 {letter-spacing:0.04em;}
.ls005 {letter-spacing:0.05em;}
.ls008 {letter-spacing:0.08em;}
.ls01 {letter-spacing:0.1em;}
.ls02 {letter-spacing:0.2em;}
.ls03 {letter-spacing:0.3em;}
.ls04 {letter-spacing:0.4em;}
figcaption { line-height: 1.5; margin-top: 0.5em; }
.r_over { transition: all 0.2s;}
.r_over:hover { filter: brightness(110%);}
.r_over2 { transition: all 0.2s;}
.r_over2:hover { filter: brightness(92%);}
.t-03 { transition: all 0.3s;}
.hdn { display: none; }
@media screen and (max-width: 1920px) {
body { font-size: 0.938vw; }
.br40 { border-radius: 2.083vw; }
.br30 { border-radius: 1.563vw; }
.br20 { border-radius: 1.042vw; }
.br10 { border-radius: 0.521vw; }
.br8 { border-radius: 0.417vw; }
.fz71 { font-size: 3.698vw; }
.fz70 { font-size: 3.646vw; }
.fz60 { font-size: 3.125vw; }
.fz52 { font-size: 2.708vw; }
.fz45 { font-size: 2.344vw; }
.fz40 { font-size: 2.083vw; }
.fz37 { font-size: 1.927vw; }
.fz35 { font-size: 1.823vw; }
.fz34 { font-size: 1.771vw; }
.fz32 { font-size: 1.667vw; }
.fz30 { font-size: 1.563vw; }
.fz28 { font-size: 1.458vw; }
.fz27 { font-size: 1.406vw; }
.fz26 { font-size: 1.354vw; }
.fz25 { font-size: 1.302vw; }
.fz24 { font-size: 1.25vw; }
.fz22 { font-size: 1.146vw; }
.fz20 { font-size: 1.042vw; }
.fz19 { font-size: 0.99vw; }
.fz18 { font-size: 0.938vw; }
.fz17 { font-size: 0.885vw; }
.fz16 { font-size: 0.833vw; }
.fz15 { font-size: 0.781vw; }
.fz14 { font-size: 0.729vw; }
.fz13 { font-size: 0.677vw; }
.fz12 { font-size: 0.625vw; }
h2,h3,h4 { font-size: 1.823vw; }
}
@media screen and (max-width: 1024px) { /*1200px*/
body { font-size: 1.5vw; }
.br40 { border-radius: 3.333vw; }
.br30 { border-radius: 2.5vw; }
.br20 { border-radius: 1.667vw; }
.br10 { border-radius: 0.833vw; }
.br8 { border-radius: 0.667vw; }
.fz71 { font-size: 5.917vw; }
.fz70 { font-size: 5.833vw; }
.fz70 { font-size: 5.2vw; }
.fz60 { font-size: 5vw; }
.fz52 { font-size: 4.333vw; }
.fz45 { font-size: 3.75vw; }
.fz40 { font-size: 3.333vw; }
.fz37 { font-size: 3.083vw; }
.fz35 { font-size: 2.917vw; }
.fz35-5 { font-size: 2.75vw; }
.fz34 { font-size: 2.833vw; }
.fz32 { font-size: 2.667vw; }
.fz30 { font-size: 2.5vw; }
.fz28 { font-size: 2.333vw; }
.fz28-2 { font-size: 2.1vw; }
.fz27 { font-size: 2.25vw; }
.fz26 { font-size: 2.167vw; }
.fz26-3 { font-size: 2vw; }
.fz25 { font-size: 2.083vw; }
.fz24 { font-size: 2vw; }
.fz24-3 { font-size: 1.82vw; }
.fz22 { font-size: 1.833vw; }
.fz20 { font-size: 1.667vw; }
.fz19 { font-size: 1.583vw; }
.fz18 { font-size: 1.5vw; }
.fz17 { font-size: 1.417vw; }
.fz16 { font-size: 1.333vw; }
.fz15 { font-size: 1.25vw; }
.fz14 { font-size: 1.167vw; }
.fz13 { font-size: 1.083vw; }
.fz12 { font-size: 1vw; }
h2,h3,h4 { font-size: 2.917vw; }
.tab-taC { text-align: center !important;}
}
@media screen and (max-width: 540px) { /*562.5px*/
body { font-size: 3.2vw; line-height: 1.75; }
.br40 { border-radius: 5.333vw; }
.br30 { border-radius: 4vw; }
.br20 { border-radius: 3vw; }
.br10 { border-radius: 1.333vw; }
.br8 { border-radius: 1.422vw; }
.fz71 { font-size: 12.622vw; }
.fz71 { font-size: 8.8vw; }
.fz70 { font-size: 9.333vw; }
.fz60 { font-size: 10.667vw; }
.fz60 { font-size: 6.933vw; }
.fz52 { font-size: 9.244vw; }
.fz45 { font-size: 5.067vw; }
.fz45-2 { font-size: 6vw; }
.fz40 { font-size: 7.111vw; }
.fz40 { font-size: 5.334vw; }
.fz37 { font-size: 6.578vw; }
.fz35 { font-size: 6.222vw; }
.fz35-2 { font-size: 4.267vw; }
.fz35-3 { font-size: 4.7vw; }
.fz35-4 { font-size: 5.1vw; }
.fz35-5 { font-size: 5.1vw; }
.fz34 { font-size: 7.6vw; }
.fz32 { font-size: 5.689vw; }
.fz32 { font-size: 4.267vw; }
.fz30 { font-size: 5.333vw; }
.fz30 { font-size: 4vw; }
.fz28 { font-size: 4.978vw; }
.fz28 { font-size: 3.733vw; }
.fz28-2 { font-size: 5.06vw; }
.fz27 { font-size: 3.6vw; }
.fz26 { font-size: 4.622vw; }
.fz26 { font-size: 3.2vw; }
.fz26-2 { font-size: 4vw; }
.fz26-3 { font-size: 3.2vw; }
.fz25 { font-size: 4.444vw; }
.fz24 { font-size: 4.267vw; }
.fz24-2 { font-size: 4.4vw; }
.fz24-3 { font-size: 3.73vw; }
.fz24-4 { font-size: 3.2vw; }
.fz22 { font-size: 3.911vw; }
.fz22-2 { font-size: 3vw; }
.fz22-3 { font-size: 3.733vw; }
.fz22-4 { font-size: 3.2vw; }
.fz20 { font-size: 3.556vw; }
.fz20-2 { font-size: 3.3vw; }
.fz20-3 { font-size: 2.6vw; }
.fz19 { font-size: 3.378vw; }
.fz18 { font-size: 3.2vw; }
.fz18-2 { font-size: 2.67vw; }
.fz18-3 { font-size: 2.6vw; }
.fz17 { font-size: 3.022vw; }
.fz16 { font-size: 2.844vw; }
.fz16-2 { font-size: 2.67vw; }
.fz15 { font-size: 2.667vw; }
.fz14 { font-size: 2.489vw; }
.fz13 { font-size: 2.311vw; }
.fz12 { font-size: 2.133vw; }
h2,h3,h4 { font-size: 4.667vw; }
.sp-taC { text-align: center !important;}
}
@media screen and (min-width: 541px) {
.pc-taC { text-align: center !important;}
}
.sp,
.pro,
.tab,
.protabonly {
	display: none;
}
@media screen and (max-width: 1024px) {
	.pc {
		display: none;
	}
	.pro,
	.protabonly {
		display: block;
	}
}
@media screen and (max-width: 820px) {
	.pcpro,
	.notabonly {
		display: none;
	}
	.tab {
		display: block;
	}
}
@media screen and (max-width: 540px) {
	.sp,
	.notabonly {
		display: block;
	}
	.nosp,
	.protabonly {
		display: none !important;
	}
}
.mw100 { width: 100%; height: auto;}
.mw92 { max-width: 92%; margin: 0 4%;}
.dib { display: inline-block; }
.ofh { overflow: hidden; }


/* toggle menu sp */
#header nav{
} 
.drawer{
}
 
/*ナビゲーション部分*/

.menu ul li a {
}
@media screen and (max-width: 1024px) {
	.menu { 
		background: #fff;
		transition: 0.3s ease;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		position: fixed;
		z-index: 3;
		right: 0;
		top: 0;
		display: flex;
		align-items: center;
		padding: 0;
		width: 100%;
		height: 100%;
		overflow-y: scroll;
		scrollbar-width: none;
		overscroll-behavior: none;
	}
	.menu_ul_wrap {
		width: 100%;
		height: 100.1%;
		height: calc(100% + 1px);
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 5vh 11vw;
	}
	.menu_ul_wrap2 {
	}
	 
	.menu.open {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
	}
	 
	.Toggle {
		display: block;
		position: fixed;
		cursor: pointer;
		z-index: 4;
		width: 12vw;
		height: 12vw;
		top: 0;
		right: 2vw;
		line-height: 1;
	}
	.Toggle span {
		display: block;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		transition: all .3s;
	}
	.Toggle span:nth-child(1),
	.Toggle span:nth-child(2),
	.Toggle span:nth-child(3) {
		width: 7.5vw;
		border-bottom: solid 2px #4f4f4f;
		border-bottom-width: 0.195vw;
	}
	.Toggle span:nth-child(1) {
		top: 37%;
	}
	.Toggle span:nth-child(2) {
		top: 52%;
	}
	.Toggle span:nth-child(3) {
		top: 67%;
	}
	.Toggle.active {
	}
	.Toggle.active span:nth-child(1),
	.Toggle.active span:nth-child(2),
	.Toggle.active span:nth-child(3) {
		top: 52%;
	}
	.Toggle.active span {
		left: 9%;
	}
	.Toggle.active span:nth-child(1) {
		width: 10.5vw;
		top: 50%;
		transform: rotate(-45deg);
	}
	.Toggle.active span:nth-child(2),
	.Toggle.active span:nth-child(3) {
		width:10.5vw;
		top: 50%;
		transform: rotate(45deg);
	}
	.header-cover {
		background-color: rgba(8,18,15,.5);
		position: fixed;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		opacity: 0;
		visibility: hidden;
		transition: opacity .2s ease;
		z-index: 2;
	}
	.menu.open + .header-cover {
		opacity: 1;
		visibility: visible;
	}
}
@media screen and (max-width: 540px) {
	.Toggle {
		width: 16.67vw;
		height: 16.67vw;
		right: 1.4vw;
	}
	.Toggle span:nth-child(1),
	.Toggle span:nth-child(2),
	.Toggle span:nth-child(3) {
		width: 9.2vw;
		border-bottom-width: 0.267vw;
	}
	.Toggle.active span {
		left: 12%;
	}
	.Toggle.active span:nth-child(1),
	.Toggle.active span:nth-child(2),
	.Toggle.active span:nth-child(3) {
		width: 12.8vw;
	}
}

/* toggle menu pc */
@media screen and (min-width: 1025px) {
	.Toggle {
		display: none;
	}
}


/* !header -------------------------------------------------------------- */
#header {
	background: #fff;
	position: relative;
	z-index: 5;
	display: flex;
	align-items: center;
}
@media screen and (min-width: 1025px) {
	.headerWrap {
		display: flex;
	}
	#header {
		width: 300px;
		width: 15.625%;
		flex-direction: column;
		border-top-right-radius: 2.626vw;
		box-shadow: 0px 0px 10px rgba(0,0,0,.25);
	}
	.contentsWrap {
		width: calc(100% - 300px);
		width: 84.375%;
	}
}
@media screen and (min-width: 1904px) {
	#header {
		border-top-right-radius: 50px;
	}
}
@media screen and (max-width: 1900px) {
	#header {
	}
	#contents {
	}
}
@media screen and (max-width: 1024px) {
	#header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 12vw;
		padding-top: 1.1vw;
		padding-left: 3.3vw;
		border-radius: 0 0 4.8vw 4.8vw;
	}
	#contents {
		padding-top: 8.3vw;
	}
}
@media screen and (max-width: 540px) {
	#header {
		height: 16.67vw;
		border-radius: 0 0 6.6vw 6.6vw;
		padding-top: 2vw;
	}
	#contents {
		padding-top: 10.67vw;
	}
}

@media screen and (min-width: 1921px) {
	#header::after {
		position: absolute;
		content: "";
		background: #fff;
		display: block;
		height: 100%;
		width: calc(calc(100vw - 1920px) /2);
		top: 0;
		left: 0;
		transform: translateX(-100%);
	}
}


.menu {
	line-height: 1.563;
	color: #4c4948;
}
.menu ul {
	width: 100%;
	display: flex;
	flex-direction: column;
}

.menu ul li {
	border-bottom: 1px solid #dcdddd;
}
.menu ul li a {
	color: #4c4948;
	display: flex;
	align-items: center;
	transition: .15s;
}
.menu-arrow {
	position: relative;
	min-height: 4.9em;
}
.menu-arrow::after {
	position: absolute;
	content: "";
	background: var(--blue);
	top: 43%;
	right: 5%;
	width: 0.6em;
	height: 0.75em;
	clip-path: polygon(10% 0, 100% 50%, 10% 100%, 0 90%, 70% 50%, 0 10%);
	transition: .15s;
}
@media screen and (min-width: 1025px) {
	.menu-h {
		position: sticky;
		top: 0;
		width: 83.34%;
		max-width: 250px;
		padding-top: 1.5em;
	}
	.menu {
		font-size: 0.84vw;
		letter-spacing: 0.05em;
	}
	.menu ul {
		padding-bottom: 1em;
	}
	.menu ul li.menu-t-01 {
		text-align: center;
		color: var(--blue);
		padding: 3em 0 .9em;
	}
	.menu ul li.menu-t-02,
	.menu ul li.menu-t-03 {
		padding: 0.5em 0;
	}
	.menu ul li.menu-06 {
		margin-top: 5.3em;
		border-top: 1px solid #dcdddd;
	}
	.menu ul li[class^="menu-shop-"] a {
		background: var(--blue);
		color: #fff;
		border-radius: .5em;
		justify-content: center;
		padding: 1em 0 .6em;
	}
	.menu ul li[class^="menu-shop-"] a:hover,
	.menu ul li.menu-bnr a:hover,
	.menu ul li.menu-recruit a:hover {
		filter: brightness(110%);
	}
	.menu ul li[class^="menu-shop-"] a span {
		position: relative;
		padding: 3em 0 0;
	}
	.menu ul li[class^="menu-shop-"] a span::before {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 0;
		background: url(../images/logo-white.svg) no-repeat;
		background-size: 100%;
		content: "";
		display: block;
		width: 4.884vw;
		height: 2.363vw;
	}
	.menu ul li.menu-t-02,
	.menu ul li[class^="menu-shop-"],
	.menu ul li.menu-bnr {
		border-bottom: none;
	}
	.menu ul li.menu-shop-1 {
		margin-top: .6em;
	}
	.menu ul li.menu-shop-2,
	.menu ul li.menu-shop-3,
	.menu ul li.menu-recruit {
		margin-top: 1em;
	}
	.menu ul li.menu-t-02 {
		padding: 1em 0 .1em;
	}
	.menu ul li.menu-recruit a {
		background: url(../images/menu-recruit.webp) no-repeat;
		background-size: 100%;
		border-radius: .5em;
		justify-content: center;
		align-items: flex-end;
		color: #fff;
		height: 5.2vw;
		font-size: 0.893vw;
		letter-spacing: 0.1em;
		padding-bottom: .35em;
	}
	.menu ul li.menu-bnr + li.menu-bnr {
		margin-top: .9em;
	}
	.menu ul li.menu-t-03 {
		border-bottom: none;
		border-top: 1px solid #dcdddd;
		margin-top: 1.2em;
		padding: 1em 0 .6em;
	}
	.menu-arrow:hover {
		color: var(--blue);
	}
	.menu-arrow:hover::after {
		right: 2.5%;
	}
}
@media screen and (min-width: 1904px) {
	.menu {
		font-size: 16px;
	}
	.menu ul li[class^="menu-shop-"] a span::before {
		width: 93px;
		height: 45px;
	}
	.menu ul li.menu-recruit a {
		height: 99px;
		font-size: 17px;
	}
}
@media screen and (max-width: 1024px) {
	.menu {
		font-size: 2.5vw;
	}
	.menu ul {
	}
	.menu ul li.menu-bnr,
	.menu ul li.menu-t-03 {
		display: none;
	}
	.menu-arrow {
		position: relative;
		height: 6vh;
		min-height: 5vw;
	}
	.menu-arrow::after {
		right: 2.4%;
		width: 0.5em;
		height: 0.72em;
	}
	.menu ul li.menu-t-01 {
		color: var(--blue);
		padding: 3.6vh 0 1.2vh;
	}
	.menu ul li.menu-t-02 {
		color: var(--blue);
		padding: 3vh 0 1.2vh;
	}
	.menu ul li[class^="menu-shop-"] a,
	.menu ul li.menu-recruit a {
		position: relative;
		height: 6vh;
		min-height: 5vw;
	}
	.menu ul li[class^="menu-shop-"] a::after,
	.menu ul li.menu-recruit a::after {
		position: absolute;
		content: "";
		background: var(--blue);
		top: 43%;
		right: 2.4%;
		width: 0.5em;
		height: 0.72em;
		clip-path: polygon(10% 0, 100% 50%, 10% 100%, 0 90%, 70% 50%, 0 10%);
	}
}
@media screen and (max-width: 540px) {
	.menu {
		font-size: 3.733vw;
	}
}


/* !logo -------------------------------------------------------------- */
.logo {
	padding: 0;
}
.logo a {
	text-align: center;
	color: #4c4948;
	font-size: 16px;
	letter-spacing: 0.1em;
	transition: .15s;
	font-weight: 500;
}
.logo a:hover {
	filter: brightness(110%);
}
.logo a img {
	width: 162px;
	height: auto;
}
.footer_logo a img {
	width: 235px;
	height: auto;
}
.logo a,
.footer_logo a {
	display: block;
}
@media screen and (max-width: 1920px) {
	.footer_logo a img {
		width: 12.24vw;
	}
}
@media screen and (max-width: 1904px) {
	.logo a {
		font-size: 0.84vw;
	}
	.logo a img {
		width: 8.508vw;
	}
}
@media screen and (max-width: 1024px) {
	.logo a {
		font-size: 1.563vw;
	}
	.logo a img {
		width: 15.82vw;
	}
	.footer_logo a img {
		width: 19.583vw;
	}
}
@media screen and (max-width: 540px) {
	.logo a {
		font-size: 2.133vw;
	}
	.logo a img {
		width: 21.6vw;
	}
	.footer_logo a img {
		width: 38.149vw;
	}
}


.container {
	width: 74.1%;
	max-width: 1200px;
	margin: 0 auto;
}
.container900 {
	width: 56%;
	max-width: 900px;
	margin: 0 auto;
}
.container .container900 {
	width: 75%;
	max-width: 900px;
	margin: 0 auto;
}
.container900-100 {
	width: 56%;
	max-width: 900px;
	margin: 0 auto;
}
.container1080 {
	width: 67%;
	max-width: 1080px;
	margin: 0 auto;
}
.container1080w {
	width: 67%;
	max-width: 1080px;
	margin: 0 auto;
}
.container1100 {
	width: 68%;
	max-width: 1100px;
	margin: 0 auto;
}
.container90 {
	width: 90%;
	margin: 0 auto;
}
.container92 {
	width: 91.7%;
	margin: 0 auto;
}
.container100 {
	width: 100%;
	margin: 0 auto;
}
.container1920 {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
}
.container-left {
	margin-left: 0;
	margin-right: auto;
}
.container-right {
	margin-right: 0;
	margin-left: auto;
}
.container-spmin {
	width: 74.1%;
	max-width: 1200px;
	margin: 0 auto;
}
.container-spmin2 {
	width: 74.1%;
	max-width: 1200px;
	margin: 0 auto;
}
@media screen and (max-width: 1333px) {
}
@media screen and (max-width: 1024px) {
	.container {
		width: 89.4%;
	}
	.container900 {
		width: 75%;
	}
	.container900-100 {
		width: 75%;
	}
	.container-spmin {
		width: 84%;
	}
	.container-spmin2 {
		width: 84%;
	}
	.container1100 {
		width: 84.2%;
	}
	.container1080 {
		width: 89.4%;
	}
	.container1080w {
		width: 89.4%;
	}
	.container90 {
		width: 94%;
	}
}
@media screen and (max-width: 540px) {
	.container900 {
		width: 89.4%;
	}
	.container900-100 {
		width: 94.7%;
	}
	.container-spmin2 {
		width: 74.1%;
	}
	.container .container900 {
		width: 90%;
	}
	.container1080 {
		width: 83%;
	}
	.container92 {
		width: 88%;
	}
}


/* !flex -------------------------------------------------------------- */
.flex,
.flex_pc,
.flex_all,
.flex_pcpro {
	display: flex;
	justify-content: space-between;
}
.aic {
	align-items: center;
}
.ais {
	align-items: start;
}
.aie {
	align-items: flex-end;
}
.flwWrap {
	flex-wrap: wrap;
}
.jcs {
	justify-content: start;
}
.jcc {
	justify-content: center;
}
.jcr {
	justify-content: flex-end;
}
.jc-se {
	justify-content: space-evenly;
}
.jc-sb {
	justify-content: space-between;
}
.fd-rr {
	flex-direction: row-reverse;
}
.fd-column {
	flex-direction: column;
}
.flex-sh0 {
	flex-shrink: 0;
}
.order-1 {
	order: 1;
}
.order-2 {
	order: 2;
}
.flex-w70 {
	width: 70%;
}
.flex-w64 {
	width: 63.9%;
}
.flex-w63 {
	width: 63%;
}
.flex-w56 {
	width: 56%;
}
.flex-w55 {
	width: 55%;
}
.flex-w52 {
	width: 52%;
}
.flex-w50 {
	width: 50%;
}
.flex-w490 {
	width: 48.92%;
}
.flex-w49 {
	width: 48.75%;
}
.flex-w483 {
	width: 48.3%;
}
.flex-w48 {
	width: 47.8%;
}
.flex-w46 {
	width: 46.6%;
}
.flex-w45 {
	width: 45.4%;
}
.flex-w44 {
	width: 44%;
}
.flex-w42 {
	width: 42.1%;
}
.flex-w39 {
	width: 39%;
}
.flex-w37 {
	width: 37%;
}
.flex-w36 {
	width: 36%;
}
.flex-w33 {
	width: 33.333%;
}
.flex-w31 {
	width: 31.4%;
}
.flex-w312 {
	width: 31.2%;
}
.flex-w30 {
	width: 30%;
}
.flex-w21 {
	width: 21%;
}
@media screen and (max-width: 1024px) {
	.flex_pc {
		display: block;
	}
	.flex_pc [class^="flex-w"] {
		width: 100%;
	}
	.flex-w56 {
		width: 60%;
	}
	.flex-w44 {
		width: 40%;
	}
}
@media screen and (max-width: 820px) {
	.flex_pcpro {
		display: block;
	}
}
@media screen and (max-width: 540px) {
	.flex {
		display: block;
	}
	.flex_sp {
		display: flex;
	}
	.flex-w46 {
		width: 48.51%;
	}
	.flex > [class^="flex-w"] {
		width: 100%;
	}
}


.fl_r {
	float: right;
}
.fl_l {
	float: left;
}


/* !行間設定 -------------------------------------------------------------- */
.pd0	{ padding: 0; }
.pd02	{ padding: 0.2em 0; }
.pd03	{ padding: 0.3em 0; }
.pd04	{ padding: 0.4em 0; }
.pd05	{ padding: 0.5em 0; }
.pd07	{ padding: 0.7em 0; }
.pd08	{ padding: 0.8em 0; }
.pd1	{ padding: 1em 0; }
.pd15	{ padding: 1.5em 0; }
.pd2	{ padding: 2em 0; }
.pd25	{ padding: 2.5em 0; }
.pd3	{ padding: 3em 0; }
.pd35	{ padding: 3.5em 0; }
.pd4	{ padding: 4em 0; }
.pd45	{ padding: 4.5em 0; }
.pd5	{ padding: 5em 0; }
.pd6	{ padding: 6em 0; }
.pd7	{ padding: 7em 0; }
.pd8	{ padding: 8em 0; }
.mg05	{ margin: 0.5em auto; }
.mg1	{ margin: 1em auto; }
.mg15	{ margin: 1.5em auto; }
.mg2	{ margin: 2em auto; }
.mg25	{ margin: 2.5em auto; }
.mg3	{ margin: 3em auto; }
.mg4	{ margin: 4em auto; }
.mg5	{ margin: 5em auto; }
.mt05	{ margin-top: 0.5em;}
.mt1	{ margin-top: 1em;}
.mt15	{ margin-top: 1.5em;}
.mt18	{ margin-top: 1.8em;}
.mt2	{ margin-top: 2em;}
.mt25	{ margin-top: 2.5em;}
.mt3	{ margin-top: 3em;}
.mt35	{ margin-top: 3.5em;}
.mt4	{ margin-top: 4em;}
.mt45	{ margin-top: 4.5em;}
.mt5	{ margin-top: 5em;}
.mt6	{ margin-top: 6em;}
.mt7	{ margin-top: 7em;}
.mt8	{ margin-top: 8em;}
.mt9	{ margin-top: 9em;}
.mr05	{ margin-right: 0.5em;}
.mr1	{ margin-right: 1em;}
.mr15	{ margin-right: 1.5em;}
.mr2	{ margin-right: 2em;}
.mr25	{ margin-right: 2.5em;}
.mr3	{ margin-right: 3em;}
.mr4	{ margin-right: 4em;}
.mr5	{ margin-right: 5em;}
.ml05	{ margin-left: 0.5em;}
.ml1	{ margin-left: 1em;}
.ml15	{ margin-left: 1.5em;}
.ml2	{ margin-left: 2em;}
.ml25	{ margin-left: 2.5em;}
.ml3	{ margin-left: 3em;}
.ml4	{ margin-left: 4em;}
.ml5	{ margin-left: 5em;}
.mb03	{ margin-bottom: 0.3em;}
.mb05	{ margin-bottom: 0.5em;}
.mb1	{ margin-bottom: 1em;}
.mb15	{ margin-bottom: 1.5em;}
.mb2	{ margin-bottom: 2em;}
.mb25	{ margin-bottom: 2.5em;}
.mb3	{ margin-bottom: 3em;}
.mb35	{ margin-bottom: 3.5em;}
.mb4	{ margin-bottom: 4em;}
.mb45	{ margin-bottom: 4.5em;}
.mb5	{ margin-bottom: 5em;}
.mb6	{ margin-bottom: 6em;}
.pt05	{ padding-top: 0.5em;}
.pt1	{ padding-top: 1em;}
.pt15	{ padding-top: 1.5em;}
.pt2	{ padding-top: 2em;}
.pt25	{ padding-top: 2.5em;}
.pt3	{ padding-top: 3em;}
.pt35	{ padding-top: 3.5em;}
.pt4	{ padding-top: 4em;}
.pt45	{ padding-top: 4.5em;}
.pt5	{ padding-top: 5em;}
.pt6	{ padding-top: 6em;}
.pt7	{ padding-top: 7em;}
.pt8	{ padding-top: 8em;}
.pt10	{ padding-top: 10em;}
.pr05	{ padding-right: 0.5em;}
.pr1	{ padding-right: 1em;}
.pr15	{ padding-right: 1.5em;}
.pr2	{ padding-right: 2em;}
.pr25	{ padding-right: 2.5em;}
.pr3	{ padding-right: 3em;}
.pr35	{ padding-right: 3.5em;}
.pr4	{ padding-right: 4em;}
.pr5	{ padding-right: 5em;}
.pl05	{ padding-left: 0.5em;}
.pl1	{ padding-left: 1em;}
.pl15	{ padding-left: 1.5em;}
.pl2	{ padding-left: 2em;}
.pl25	{ padding-left: 2.5em;}
.pl3	{ padding-left: 3em;}
.pl35	{ padding-left: 3.5em;}
.pl4	{ padding-left: 4em;}
.pl5	{ padding-left: 5em;}
.pb05	{ padding-bottom: 0.5em;}
.pb1	{ padding-bottom: 1em;}
.pb15	{ padding-bottom: 1.5em;}
.pb2	{ padding-bottom: 2em;}
.pb25	{ padding-bottom: 2.5em;}
.pb3	{ padding-bottom: 3em;}
.pb35	{ padding-bottom: 3.5em;}
.pb4	{ padding-bottom: 4em;}
.pb45	{ padding-bottom: 4.5em;}
.pb5	{ padding-bottom: 5em;}
.pb6	{ padding-bottom: 6em;}
.pb7	{ padding-bottom: 7em;}
.pb8	{ padding-bottom: 8em;}
.pb9	{ padding-bottom: 9em;}
.pb10	{ padding-bottom: 10em;}
.pb-f	{ padding-bottom: 15em;}
@media screen and (max-width: 1024px) {
.pd08	{ padding: 1.2vw 0; }
.pd1	{ padding: 1.5vw 0; }
.pd15	{ padding: 2.25vw 0; }
.pd2	{ padding: 3vw 0; }
.pd25	{ padding: 3.75vw 0; }
.pd3	{ padding: 4.5vw 0; }
.pd35	{ padding: 5.25vw 0; }
.pd4	{ padding: 6vw 0; }
.pd45	{ padding: 6.75vw 0; }
.pd5	{ padding: 7.5vw 0; }
.pd6	{ padding: 9vw 0; }
.pd7	{ padding: 10.5vw 0; }
.pd8	{ padding: 12vw 0; }
.mg1	{ margin: 1.5vw auto; }
.mg15	{ margin: 2.25vw auto; }
.mg2	{ margin: 3vw auto; }
.mg25	{ margin: 3.75vw auto; }
.mg3	{ margin: 4.5vw auto; }
.mg4	{ margin: 6vw auto; }
.mg5	{ margin: 7.5vw auto; }
.mt05	{ margin-top: 0.75vw;}
.mt1	{ margin-top: 1.5vw;}
.mt15	{ margin-top: 2.25vw;}
.mt2	{ margin-top: 3vw;}
.mt25	{ margin-top: 3.75vw;}
.mt3	{ margin-top: 4.5vw;}
.mt35	{ margin-top: 5.25vw;}
.mt4	{ margin-top: 6vw;}
.mt45	{ margin-top: 6.75vw;}
.mt5	{ margin-top: 7.5vw;}
.mt6	{ margin-top: 9vw;}
.mt7	{ margin-top: 10.5vw;}
.mt8	{ margin-top: 12vw;}
.mt9	{ margin-top: 13.5vw;}
.mr1	{ margin-right: 1.5vw;}
.mr15	{ margin-right: 2.25vw;}
.mr2	{ margin-right: 3vw;}
.mr25	{ margin-right: 3.75vw;}
.mr3	{ margin-right: 4.5vw;}
.mr4	{ margin-right: 6vw;}
.mr5	{ margin-right: 7.5vw;}
.ml1	{ margin-left: 1.5vw;}
.ml15	{ margin-left: 2.25vw;}
.ml2	{ margin-left: 3vw;}
.ml25	{ margin-left: 3.75vw;}
.ml3	{ margin-left: 4.5vw;}
.ml4	{ margin-left: 6vw;}
.ml5	{ margin-left: 7.5vw;}
.mb1	{ margin-bottom: 1.5vw;}
.mb15	{ margin-bottom: 2.25vw;}
.mb2	{ margin-bottom: 3vw;}
.mb25	{ margin-bottom: 3.75vw;}
.mb3	{ margin-bottom: 4.5vw;}
.mb35	{ margin-bottom: 5.25vw;}
.mb4	{ margin-bottom: 6vw;}
.mb45	{ margin-bottom: 6.75vw;}
.mb5	{ margin-bottom: 7.5vw;}
.mb6	{ margin-bottom: 9vw;}
.pt1	{ padding-top: 1.5vw;}
.pt15	{ padding-top: 2.25vw;}
.pt2	{ padding-top: 3vw;}
.pt25	{ padding-top: 3.75vw;}
.pt3	{ padding-top: 4.5vw;}
.pt35	{ padding-top: 5.25vw;}
.pt4	{ padding-top: 6vw;}
.pt45	{ padding-top: 6.75vw;}
.pt5	{ padding-top: 7.5vw;}
.pt6	{ padding-top: 9vw;}
.pt7	{ padding-top: 10.5vw;}
.pt8	{ padding-top: 12vw;}
.pt10	{ padding-top: 15vw;}
.pr1	{ padding-right: 1.5vw;}
.pr15	{ padding-right: 2.25vw;}
.pr2	{ padding-right: 3vw;}
.pr25	{ padding-right: 3.75vw;}
.pr3	{ padding-right: 4.5vw;}
.pr35	{ padding-right: 5.25vw;}
.pr4	{ padding-right: 6vw;}
.pr5	{ padding-right: 7.5vw;}
.pl1	{ padding-left: 1.5vw;}
.pl15	{ padding-left: 2.25vw;}
.pl2	{ padding-left: 3vw;}
.pl25	{ padding-left: 3.75vw;}
.pl3	{ padding-left: 4.5vw;}
.pl35	{ padding-left: 5.25vw;}
.pl4	{ padding-left: 6vw;}
.pl5	{ padding-left: 7.5vw;}
.pb1	{ padding-bottom: 1.5vw;}
.pb15	{ padding-bottom: 2.25vw;}
.pb2	{ padding-bottom: 3vw;}
.pb25	{ padding-bottom: 3.75vw;}
.pb3	{ padding-bottom: 4.5vw;}
.pb35	{ padding-bottom: 5.25vw;}
.pb4	{ padding-bottom: 6vw;}
.pb45	{ padding-bottom: 6.75vw;}
.pb5	{ padding-bottom: 7.5vw;}
.pb6	{ padding-bottom: 9vw;}
.pb7	{ padding-bottom: 10.5vw;}
.pb8	{ padding-bottom: 12vw;}
.pb9	{ padding-bottom: 13.5vw;}
.pb10	{ padding-bottom: 15vw;}
.pb-f	{ padding-bottom: 20vw;}
.tab-mt { margin-top: 5.5vw; }
.tab-mt2 { margin-top: 9vw; }
.tab-pd { padding: 3vw 0; }
}
@media screen and (max-width: 540px) {
.pd08	{ padding: 2vw 0; }
.pd1	{ padding: 2vw 0; }
.pd15	{ padding: 3vw 0; }
.pd2	{ padding: 4vw 0; }
.pd25	{ padding: 5vw 0; }
.pd3	{ padding: 6vw 0; }
.pd35	{ padding: 7vw 0; }
.pd4	{ padding: 8vw 0; }
.pd45	{ padding: 9vw 0; }
.pd5	{ padding: 10vw 0; }
.pd6	{ padding: 12vw 0; }
.pd7	{ padding: 14vw 0; }
.pd8	{ padding: 16vw 0; }
.mg1	{ margin: 2vw auto; }
.mg15	{ margin: 3vw auto; }
.mg2	{ margin: 4vw auto; }
.mg25	{ margin: 5vw auto; }
.mg3	{ margin: 6vw auto; }
.mg4	{ margin: 8vw auto; }
.mg5	{ margin: 10vw auto; }
.mt1	{ margin-top: 2vw;}
.mt15	{ margin-top: 3vw;}
.mt2	{ margin-top: 4vw;}
.mt25	{ margin-top: 5vw;}
.mt3	{ margin-top: 6vw;}
.mt35	{ margin-top: 7vw;}
.mt4	{ margin-top: 8vw;}
.mt45	{ margin-top: 9vw;}
.mt5	{ margin-top: 10vw;}
.mt6	{ margin-top: 12vw;}
.mt7	{ margin-top: 14vw;}
.mt8	{ margin-top: 16vw;}
.mt9	{ margin-top: 18vw;}
.mr1	{ margin-right: 2vw;}
.mr15	{ margin-right: 3vw;}
.mr2	{ margin-right: 4vw;}
.mr25	{ margin-right: 5vw;}
.mr3	{ margin-right: 6vw;}
.mr4	{ margin-right: 8vw;}
.mr5	{ margin-right: 10vw;}
.ml1	{ margin-left: 2vw;}
.ml15	{ margin-left: 3vw;}
.ml2	{ margin-left: 4vw;}
.ml25	{ margin-left: 5vw;}
.ml3	{ margin-left: 6vw;}
.ml4	{ margin-left: 8vw;}
.ml5	{ margin-left: 10vw;}
.mb1	{ margin-bottom: 2vw;}
.mb15	{ margin-bottom: 3vw;}
.mb2	{ margin-bottom: 4vw;}
.mb25	{ margin-bottom: 5vw;}
.mb3	{ margin-bottom: 6vw;}
.mb35	{ margin-bottom: 7vw;}
.mb4	{ margin-bottom: 8vw;}
.mb45	{ margin-bottom: 9vw;}
.mb5	{ margin-bottom: 10vw;}
.mb6	{ margin-bottom: 12vw;}
.pt1	{ padding-top: 2vw;}
.pt15	{ padding-top: 3vw;}
.pt2	{ padding-top: 4vw;}
.pt25	{ padding-top: 5vw;}
.pt3	{ padding-top: 6vw;}
.pt35	{ padding-top: 7vw;}
.pt4	{ padding-top: 8vw;}
.pt45	{ padding-top: 9vw;}
.pt5	{ padding-top: 10vw;}
.menu-1a .pt5	{ padding-top: 6.4vw;}
.pt6	{ padding-top: 12vw;}
.pt7	{ padding-top: 14vw;}
.pt8	{ padding-top: 16vw;}
.pt10	{ padding-top: 20vw;}
.pr1	{ padding-right: 2vw;}
.pr15	{ padding-right: 3vw;}
.pr2	{ padding-right: 4vw;}
.pr25	{ padding-right: 5vw;}
.pr3	{ padding-right: 6vw;}
.pr35	{ padding-right: 7vw;}
.pr4	{ padding-right: 8vw;}
.pr5	{ padding-right: 10vw;}
.pl1	{ padding-left: 2vw;}
.pl15	{ padding-left: 3vw;}
.pl2	{ padding-left: 4vw;}
.pl25	{ padding-left: 5vw;}
.pl3	{ padding-left: 6vw;}
.pl35	{ padding-left: 7vw;}
.pl4	{ padding-left: 8vw;}
.pl5	{ padding-left: 10vw;}
.pb1	{ padding-bottom: 2vw;}
.pb15	{ padding-bottom: 3vw;}
.pb2	{ padding-bottom: 4vw;}
.pb25	{ padding-bottom: 5vw;}
.pb3	{ padding-bottom: 6vw;}
.pb35	{ padding-bottom: 7vw;}
.pb4	{ padding-bottom: 8vw;}
.pb45	{ padding-bottom: 9vw;}
.pb5	{ padding-bottom: 10vw;}
.pb6	{ padding-bottom: 12vw;}
.pb6.triangle-top-lblue	{ padding-bottom: 9.5vw;}
.pb7	{ padding-bottom: 14vw;}
.pb8	{ padding-bottom: 16vw;}
.pb9	{ padding-bottom: 18vw;}
.pb10	{ padding-bottom: 20vw;}
.pb-f	{ padding-bottom: 25vw;}
.sp-mt0 { margin-top: 0; }
.sp-mt { margin-top: 3vw; }
.sp-mt2 { margin-top: 7vw; }
.sp-mt3 { margin-top: 9vw; }
.sp-mt4 { margin-top: 12vw; }
.sp-mt5 { margin-top: 6vw; }
.sp-mt6 { margin-top: 2vw; }
.sp-mt7 { margin-top: 5vw; }
.sp-mb { margin-bottom: 2vw; }
.sp-pt { padding-top: 18vw; }
.sp-pt2 { padding-top: 4vw; }
.sp-pb { padding-bottom: 6vw; }
.sp-pb1 { padding-bottom: 3vw; }
.sp-pb2 { padding-bottom: 9vw; }
.sp-pb3 { padding-bottom: 16vw; }
.tab-mt { margin-top: 17vw; }
.tab-mt2 { margin-top: 12vw; }
.tab-pd { padding: 10vw 0; }
.sp-pr0 { padding-right: 0; }
}
@media screen and (min-width: 541px) {
.pt5-pc { padding-top: 5em;}
}


/* !fv -------------------------------------------------------------- */
#fv {
	position: relative;
	width: 100%;
	height: 51.44vw;
	max-height: 980px;
}
.fv_img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.fv_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.fv_inner1,
.fv_inner2 {
	position: absolute;
	text-align: center;
	top: 470px;
	width: 470px;
}
.fv_inner1 {
	left: 70px;
}
.fv_inner2 {
	left: 1084px;
}
.fv_txt1 { font-size: 21px; }
.fv_txt2 { font-size: 32px; }
.fv_txt3 { font-size: 95px; }
.fv_txt4 { font-size: 22px; }
.fv_txt5 { font-size: 40px; }
.fv_txt6 { font-size: 30px; }
.fv_txt7 { font-size: 14px; }
.fv_txt8 { font-size: 23px; }
.fv_txt1 {
	line-height: 1.43;
}
.fv_txt2 {
	line-height: 1.22;
	margin-top: 1.9em;
}
.fv_txt4 {
	line-height: 1.04;
	padding: .43em .7em;
	display: inline-block;
	margin-top: .9em;
}
.fv_inner3 {
	position: absolute;
	left: 0;
	top: 59px;
	width: 100%;
	text-align: center;
}
.fv_inner3 img {
	width: 1236px;
}
.btn {
	width: 320px;
}
@media screen and (max-width: 1920px) {
	.fv_inner1 {
		left: 3.646vw;
	}
	.fv_inner2 {
		left: 56.458vw;
	}
}
@media screen and (max-width: 1904px) {
	.fv_inner1,
	.fv_inner2 {
		top: 24.685vw;
		width: 24.685vw;
	}
	.fv_txt1 { font-size: 1.103vw; }
	.fv_txt2 { font-size: 1.681vw; }
	.fv_txt3 { font-size: 4.989vw; }
	.fv_txt4 { font-size: 1.155vw; }
	.fv_txt5 { font-size: 2.101vw; }
	.fv_txt6 { font-size: 1.576vw; }
	.fv_txt7 { font-size: 0.735vw; }
	.fv_txt8 { font-size: 1.208vw; }
	.fv_inner3 {
		top: 3.099vw;
	}
	.fv_inner3 img {
		width: 64.916vw;
	}
	.btn {
		width: 16.807vw;
	}
}
@media screen and (max-width: 1024px) { /*1620*/
	.fv_inner1,
	.fv_inner2 {
		top: 29.012vw;
		top: 32.712vw;
		width: 29.012vw;
	}
	.fv_inner1 {
		left: 4.321vw;
	}
	.fv_inner2 {
		left: 66.914vw;
	}
	.fv_txt1 { font-size: 1.296vw; }
	.fv_txt2 { font-size: 1.975vw; }
	.fv_txt3 { font-size: 5.864vw; }
	.fv_txt4 { font-size: 1.358vw; }
	.fv_txt5 { font-size: 2.469vw; }
	.fv_txt6 { font-size: 1.852vw; }
	.fv_txt7 { font-size: 0.864vw; }
	.fv_txt8 { font-size: 1.42vw; }
	.fv_inner3 {
		top: 3.642vw;
		top: 7.342vw;
	}
	.fv_inner3 img {
		width: 76.296vw;
	}
	#fv {
		height: 64.19vw;
		padding-top: 3.7vw;
		background: #94d3fb url(../images/fv_bg.webp) center top no-repeat;
		background-size: 100%;
	}
	.fv_img {
		height: 60.49vw;
		bottom: 0;
		top: inherit;
	}
}
@media screen and (max-width: 540px) { /*875*/
	#fv {
		height: 167.866vw;
		padding-top: 0;
	}
	.fv_img {
		height: 167.866vw;
	}
	.fv_inner1,
	.fv_inner2 {
		top: 114.7vw;
		width: 46.533vw;
	}
	.fv_inner1 {
		left: 2.533vw;
	}
	.fv_inner2 {
		left: 51.2vw;
	}
	.fv_txt1 { font-size: 2.4vw; }
	.fv_txt2 { font-size: 3.067vw; }
	.fv_txt3 { font-size: 9.333vw; }
	.fv_txt4 { font-size: 2.267vw; }
	.fv_txt5 { font-size: 4.133vw; }
	.fv_txt6 { font-size: 3.067vw; }
	.fv_txt7 { font-size: 1.867vw; }
	.fv_txt8 { font-size: 2.629vw; }
	.fv_txt1 {
		line-height: 1.23;
	}
	.fv_txt4 {
		margin-top: .7em;
	}
	.fv_inner3 img {
		width: 88.933vw;
	}
	.fv_inner3 {
		top: 10vw;
	}
}


/* !decoration -------------------------------------------------------------- */
.border {
	border: 1px solid var(--blue);
}
.border-dblue {
	border: 1px solid var(--dblue);
}
.border-orange {
	border: 1px solid var(--orange);
}
.border-orange-2px {
	border: 2px solid var(--orange);
}
.txt_bg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .4em 2.2em;
	border-radius: 2em;
}
.txt_bg_h1 {
	height: 2.542em;
}
.txt_bg_h2 {
	display: flex;
	height: 1.7em;
}
.txt_bg_h3 {
	padding: 0 1.3em .05em;
}
.txt_bg_h2_2 {
	padding: .4em 1.2em .4em 2.2em;
	letter-spacing: .9em;
}
.marker {
	background:linear-gradient(transparent 6%, #fff038 6%, #fff038 100%, #fff 100%);
	padding: 0 .15em;
	margin-left: 0.15em;
	margin-right: 0.15em;
}
.zi2 {
	position: relative;
	z-index: 2;
}
.basic-shapes {
	position: relative;
}
.basic-shapes::before,
.basic-shapes::after {
	position: absolute;
	content: "";
	display: block;
}
.border-bottom {
	border-bottom: 1px solid #4c4948;
}
.border-bottom-2px {
	border-bottom: 2px solid var(--dblue);
}
.border-bottom-dblue {
	border-bottom: 1px solid var(--dblue);
}
.border-bottom-orange {
	border-bottom: 1px solid var(--orange);
}
@media screen and (max-width: 1024px) {
	.border-bottom-2px {
		border-bottom: 1px solid var(--dblue);
	}
	.border-orange-2px {
		border: 1px solid var(--orange);
	}
}
@media screen and (max-width: 540px) {
	.txt_bg_h1 {
		height: inherit;
	}
	.txt_bg_h2 {
		padding: .4em 1em;
	}
	.txt_bg_h2_2 {
		padding: .4em 0 .4em 1em;
	}
	.txt_bg {
		line-height: 1.3;
		padding: .4em 1.5em;
	}
	.txt_bg.sp100 {
		display: flex;
	}
}


.illust_bg {
	background-repeat: no-repeat;
	background-size: 100%;
	height: 359px;
}
.illust_bg p {
	font-weight: 600;
	line-height: 1.66;
}
.illust_01 {
	background-image: url(../images/illust_01.webp);
	width: 290px;
}
.illust_02 {
	background-image: url(../images/illust_02.webp);
	width: 264px;
}
.illust_03 {
	background-image: url(../images/illust_03.webp);
	width: 290px;
}
.illust_01 p {
	padding-top: 3.5em;
	padding-left: 2em;
}
.illust_02 p {
	padding-top: 4.5em;
}
.illust_03 p {
	padding-top: 3.5em;
	padding-right: 1.5em;
}
@media screen and (max-width: 1904px) {
	.illust_bg {
		height: 18.855vw;
	}
	.illust_01 {
		width: 15.231vw;
	}
	.illust_02 {
		width: 13.866vw;
	}
	.illust_03 {
		width: 15.231vw;
	}
}
@media screen and (max-width: 1024px) {
	.illust_bg {
		height: 29.917vw;
	}
	.illust_01 {
		width: 24.167vw;
	}
	.illust_02 {
		width: 22vw;
	}
	.illust_03 {
		width: 24.167vw;
	}
}
@media screen and (max-width: 540px) {
	.illust_bg {
		height: 45.067vw;
	}
	.illust_01 {
		width: 30.533vw;
		background-image: url(../images/illust_01_sp.webp);
	}
	.illust_02 {
		width: 27.733vw;
		background-image: url(../images/illust_02_sp.webp);
	}
	.illust_03 {
		width: 30.4vw;
		background-image: url(../images/illust_03_sp.webp);
	}
	.illust_bg p {
		line-height: 1.5;
		font-size: 2.67vw;
		letter-spacing: 0;
	}
	.illust_01 p {
		padding-top: 3.4em;
		padding-left: 1.3em;
	}
	.illust_02 p {
		padding-top: 3.4em;
	}
	.illust_03 p {
		padding-top: 2.5em;
		padding-right: 1.3em;
	}
}

.triangle-top-lblue {
	margin-top: -3.3em;
	padding-top: 11.5em;
}
.triangle-top-lblue::before {
	background: var(--lblue);
	width: 100%;
	height: 6.67em;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	left: 0;
	top: -0.5px;
}
@media screen and (max-width: 1920px) {
}
@media screen and (max-width: 1904px) {
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 540px) {
	.triangle-top-lblue {
		margin-top: -2vw;
		padding-top: 15.5vw;
	}
	.triangle-top-lblue::before {
		height: 7.467vw;
	}
}


.point {
	background: var(--yellow);
	border-radius: 50%;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1;
	padding-top: 0.3em;
	width: 148px;
	height: 148px;
}
.point-t {
	font-size: 26px;
}
.point-num {
	font-size: 70px;
	letter-spacing: 0.04em;
}

.btn_01 {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	padding-top: 1.1em;
	height: 240px;
}
.btn-arrow::after {
	background: var(--blue);
	bottom: 0.94em;
	left: 50%;
	transform: translateX(-50%);
	width: 1.78em;
	height: .94em;
	clip-path: polygon(100% 10%, 50% 100%, 0 10%, 5% 0, 50% 80%, 95% 0);
	transition: .15s;
}
.btn-arrow.btn-arrow-scale78::after {
	transform: translateX(-50%) scale(78%);
}
.btn-arrow:hover::after {
	bottom: 0.5em;
}
.nmt {
	position: relative;
	width: 100%;
}
.nmt > * {
	position: absolute;
	top: -8em;
	left: 0;
	right: 0;
}
@media screen and (max-width: 1904px) {
	.point {
		width: 7.773vw;
		height: 7.773vw;
	}
	.point-t {
		font-size: 1.366vw;
	}
	.point-num {
		font-size: 3.676vw;
	}
	.btn_01 {
		height: 12.605vw;
	}
}
@media screen and (max-width: 1024px) {
	.point {
		width: 12.333vw;
		height: 12.333vw;
	}
	.point-t {
		font-size: 2.167vw;
	}
	.point-num {
		font-size: 5.833vw;
	}
	.btn_01 {
		height: 20vw;
	}
}
@media screen and (max-width: 540px) {
	.point {
		width: 19.733vw;
		height: 19.733vw;
	}
	.point-t {
		font-size: 3.467vw;
	}
	.point-num {
		font-size: 9.333vw;
	}
	.btn_01 {
		height: 32vw;
		padding-top: .9em;
	}
	.btn_01 .lh12 {
		line-height: 1.35;
	}
	.btn-arrow::after {
		bottom: 2.267vw;
		width: 4.267vw;
		height: 2.267vw;
	}
	.btn-arrow.btn-arrow-sp-right::after {
		right: 2%;
		left: inherit;
		bottom: 50%;
	}
	.btn-arrow.btn-arrow-scale78.btn-arrow-sp-right::after {
		transform: translate(0,50%) scale(78%);
	}
	.nmt > * {
		top: -19vw;
	}
}


.bg_dot {
	background: url(../images/bg_dot.png);
}
.bg_dot_lblue {
	background: #eaf6fd url(../images/bg_dot_lblue.png);
}
.bg_01 {
	position: relative;
}
.bg_01::before {
	position: absolute;
	content: "";
	display: block;
	left: 0;
	top: 0;
	width: 100%;
	height: 120px;
	background: var(--dblue);
}
.bg_01::after {
	position: absolute;
	content: "";
	display: block;
	left: 0;
	top: 0;
	width: 100%;
	height: 944px;
	background: url(../images/bg_01.webp) top no-repeat;
	background-size: 100%;
	clip-path: polygon(0 12.2%, 50% 0, 100% 12.2%, 100% 100%, 0 100%);
}
@media screen and (max-width: 1904px) {
	.bg_01::before {
		height: 6.303vw;
	}
	.bg_01::after {
		height: 49.58vw;
	}
}
@media screen and (max-width: 1024px) {
	.bg_01::before {
		height: 10vw;
	}
	.bg_01::after {
		height: 78.667vw;
	}
}
@media screen and (max-width: 540px) {
	.bg_dot {
		background-size: 3vw;
	}
	.bg_dot_lblue {
		background-size: 3vw;
	}
	.bg_01::before {
		height: 6.67em;
	}
	.bg_01::after {
		height: 87.333vw;
		background: url(../images/bg_01_sp.webp) center top no-repeat;
		background-size: 100%;
		clip-path: polygon(0 9%, 50% 0, 100% 9%, 100% 100%, 0 100%);
	}
}


.menu-1a-block {
	position: relative;
	width: 100%;
	height: 926px;
}
.menu-1a-txt1 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	text-align: center;
}
.menu-1a-txt2 {
	position: absolute;
	width: 46.33%;
	left: 45.92%;
	top: 17.37%;
	padding: 2.3em 2em 2.3em 2.6em;
}
.menu-1a-profile {
	position: absolute;
	left: 47.3%;
	bottom: 7%;
	width: 32.5%;
}
.menu-1a-profile p {
	padding-left: 5%;
}
.menu-1a-img {
	position: absolute;
	left: 1.5%;
	bottom: 0;
}
.icon_01::after {
	top: -66px;
	right: -58px;
	background: url(../images/icon_01.png) no-repeat;
	background-size: 100%;
	width: 84px;
	height: 77px;
}
@media screen and (max-width: 1904px) {
	.menu-1a-block {
		height: 48.634vw;
	}
	.menu-1a-img img {
		width: 27.941vw;
	}
	.icon_01::after {
		top: -3.466vw;
		right: -3.046vw;
		width: 4.412vw;
		height: 4.044vw;
	}
	.txt-profile {
		width: 8.824vw;
	}
}
@media screen and (max-width: 1024px) {
	.menu-1a-block {
		height: 71.231vw;
	}
	.menu-1a-img img {
		width: 40.923vw;
	}
	.icon_01::after {
		top: -5.077vw;
		right: -4.462vw;
		width: 6.462vw;
		height: 5.923vw;
	}
	.txt-profile {
		width: 12.923vw;
	}
	.menu-1a-txt2 {
		width: 52%;
		left: 48%;
		top: 17.37%;
		padding: 2.3em 2em 2.3em 2.6em;
	}
	.menu-1a-profile {
		left: 50%;
		width: 36%;
	}
}
@media screen and (max-width: 540px) {
	.menu-1a-block {
		height: 146.3vw;
	}
	.menu-1a-img {
		left: -5vw;
	}
	.menu-1a-img img {
		width: 50vw;
	}
	.icon_01::after {
		top: -5.077vw;
		right: -4.462vw;
		width: 6.462vw;
		height: 5.923vw;
	}
	.txt-profile {
		width: 22.9vw;
	}
	.menu-1a-txt1 {
		width: 50%;
		left: 50%;
		top: 2%;
		text-align: left;
		line-height: 1.75;
	}
	.menu-1a-txt2 {
		width: 100%;
		left: 0;
		top: inherit;
		bottom: 0;
		padding: 4vw 4.5vw 4vw 5.5vw;
		line-height: 1.75;
		letter-spacing: 0;
		font-size: 3.15vw;
	}
	.menu-1a-profile {
		width: 55%;
		bottom: inherit;
		top: 36.63%;
		left: 45%;
		line-height: 1.55;
	}
	.menu-1a-profile .fz14 {
		font-size: 2.3vw;
	}
	.menu-1a-profile .mt1 {
		margin-top: 0.5vw;
	}
}

.box_01 {
	padding: 2em 1.75% 2.8em;
}
.box_01_inner {
	padding: 0 2.76%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.box_01_inner + .box_01_inner {
	border-left: 1px solid var(--blue);
}
.box_01_inner_img {
	height: 16.5em;
	display: flex;
	align-items: center;
	justify-content: center;
}
.box_01_inner p {
	padding: 0 0.2em;
}
.plus {
	height: 3.611em;
	width: 100%;
	line-height: 1;
	text-align: center;
}
.plus::before {
	background: var(--yellow);
	width: 6.333em;
	height: 6.333em;
	top: 50%;
	border-radius: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.plus::after {
	content: "＋";
	font-size: 3.944em;
	font-weight: 900;
	top: 45%;
	left: 50%;
	transform: translate(-50%,-50%);
}
@media screen and (max-width: 1904px) {
	.img_05 {
		width: 56.723vw;
	}
}
@media screen and (max-width: 1024px) {
	.img_05 {
		width: 81vw;
	}
}
@media screen and (max-width: 540px) {
	.box_01 {
		padding: 0 2.66vw;
	}
	.box_01_inner {
		padding: 5.5vw 3.33vw 6.5vw;
	}
	.box_01_inner_img {
		height: inherit;
		margin-top: 4vw;
	}
	.box_01_inner_img img {
		width: 51vw;
	}
	.box_01_inner + .box_01_inner {
		border-left: none;
		border-top: 1px solid var(--blue);
	}
	.box_01_inner p {
		padding: 0;
	}
	.plus {
		height: 8.667vw;
	}
	.plus::before {
		width: 15.2vw;
		height: 15.2vw;
	}
	.plus::after {
		font-size: 9.467vw;
	}
	.img_05 {
		width: 84vw;
	}
}


.arrow-top::before {
	background: var(--dblue);
	width: 4.1em;
	height: 1.33em;
	left: 50%;
	transform: translateX(-50%);
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	top: -.4em;
}
.arrow-top.arrow-top-orange::before {
	background: var(--orange);
	top: -9vw !important;
	z-index: 3;
}
@media screen and (max-width: 540px) {
	.arrow-top::before {
		width: 3.08em;
		height: 1em;
	}
	.arrow-top.arrow-top-pcrotate::before {
		top: -1.4em;
	}
}
@media screen and (min-width: 541px) {
	.arrow-top.arrow-top-pcrotate::before {
		transform: translateY(-50%) rotate(-90deg);
		left: -3.05em;
		top: 50%;
	}
	.arrow-top.arrow-top-orange.arrow-top-pcrotate::before {
		transform: translateY(-50%) rotate(-90deg);
		left: -3.6em;
		top: 50% !important;
	}
}

.icon_02 {
	display: inline-flex;
	align-items: center;
	padding-right: 2em;
}
.icon_02::before {
	content: "";
	display: inline-block;
	background: url(../images/icon_02.png) no-repeat;
	background-size: 100%;
	margin-right: 0.3em;
	width: 2.3636em;
	height: 2.3636em;
}
.line-dashed {
	padding-bottom: 0.18em;
	background-image : linear-gradient(to right, #00b0ea, #00b0ea 4px, transparent 4px, transparent 8px);
	background-size: 8px 2px;
	background-position: left bottom;
	background-repeat: repeat-x;
}
.line-dashed-white {
	padding-bottom: 0.24em;
	background-image : linear-gradient(to right, #fff, #fff 4px, transparent 4px, transparent 8px);
	background-size: 8px 2px;
	background-position: left bottom;
	background-repeat: repeat-x;
}
.detail-btn {
	position: relative;
	width: 6em;
	background: rgba(255,255,204,1);
	margin: 0 .5em 0 auto;
	cursor: pointer;
}
.detail-btn::before {
	position: absolute;
	width: 3.167em;
	height: 3.167em;
	background: var(--dblue);
	content: "";
	display: block;
	left: 50%;
	transform: translateX(-50%);
	top: -.8em;
	border-radius: 50%;
}
.detail-btn::after {
	content: "詳細を表示";
	font-size: 89%;
	color: var(--dblue);
	position: absolute;
	bottom: -4.6em;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	letter-spacing: 0;
}
.detail-btn span {
	position: absolute;
	width: 100%;
	right: 0;
	height: 4.1em;
}
.detail-btn span::before {
	position: absolute;
	content: "";
	width: 2.05em;
	height: 0.167em;
	display: block;
	left: 50%;
	transform: translateX(-50%);
	top: .7em;
	background: #fff;
	z-index: 2;
}
.detail-btn span::after {
	position: absolute;
	content: "";
	width: 0.167em;
	height: 2.05em;
	display: block;
	left: 50%;
	transform: translateX(-50%);
	top: -.2em;
	background: #fff;
	z-index: 2;
}
.detail-btn.close::after {
	content: "詳細を非表示";
}
.detail-btn.close span::after {
	visibility: hidden;
}
.js-accordion {
	display: none;
}
.ul_dot li {
	text-indent: -0.8em;
	padding-left: 2em;
}
.ul_dot li::before {
	content: "●";
	color: var(--blue);
	font-size: 80%;
}
.ul_dot.ul_dot_orange li::before {
	color: var(--orange);
}
.ul_dot.ul_dot_dblue li::before {
	color: var(--dblue);
}
.box_02 {
	padding: 1.9em 3.56% 1.6em;
}
@media screen and (max-width: 1904px) {
	.img_06 {
		width: 47.269vw;
	}
}
@media screen and (max-width: 1024px) {
	.img_06 {
		width: 72vw;
	}
}
@media screen and (max-width: 540px) {
	.icon_02::before {
		content: "";
		display: inline-block;
		background: url(../images/icon_02.png) no-repeat;
		background-size: 100%;
		margin-right: 0.3em;
		width: 7vw;
		height: 7vw;
	}
	.detail-btn {
		width: 15vw;
		margin: 0 0 0 auto;
	}
	.detail-btn::before {
		width: 7.6vw;
		height: 7.6vw;
		top: -2vw;
	}
	.detail-btn::after {
		font-size: 68%;
	}
	.detail-btn span::before {
		width: 4.9vw;
		height: 0.4vw;
		top: 1.6vw;
	}
	.detail-btn span::after {
		width: 0.4vw;
		height: 4.9vw;
		top: -0.6vw;
	}
	.box_02 {
		padding: 1.9em 7.7% 1.6em;
	}
	.img_06 {
		width: 81.3vw;
	}
}


.bg_02 {
	position: relative;
	height: 905px;
}
.bg_02-inner {
}
.bg_02::after {
	position: absolute;
	content: "";
	display: block;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../images/bg_02.webp) top no-repeat;
}
@media screen and (max-width: 1920px) {
	.bg_02 {
		height: 47.135vw;
	}
}
@media screen and (max-width: 1904px) {
	.bg_02::after {
		background-size: 100%;
	}
}
@media screen and (max-width: 1024px) {
	.bg_02 {
		height: 71vw;
	}
	.bg_02::before {
		position: absolute;
		content: "";
		display: block;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 70%;
		background: #eaf6fd;
	}
}
@media screen and (max-width: 540px) {
	.bg_02 {
		height: inherit;
	}
	.bg_02::after {
		background-image: url(../images/bg_02_sp.webp);
	}
}


.nmt2 {
	position: relative;
	width: 100%;
}
.nmt2 > * {
	position: absolute;
	top: -3.4em;
	left: 0;
	right: 0;
}
.btn_03 {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	padding-bottom: 0.5em;
	height: 11.11em;
}
.txt_bg_h4 {
	padding: .5em 1em;
	width: 82%;
}
@media screen and (max-width: 540px) {
	.nmt2 > * {
		top: -7vw;
	}
	.txt_bg_h4 {
		padding: .2em 1em;
		width: inherit;
		min-width: 40vw;
	}
	.btn_03 {
		height: 18vw;
		padding: 1.5vw 0 0;
	}
}


.img_12 {
	background: url(../images/img_12.webp) center bottom no-repeat;
	height: 364px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding-top: .8em;
}
.img_12.img_13 {
	background-image: url(../images/img_13.webp);
}
.img_12.img_14 {
	background-image: url(../images/img_14.webp);
}
@media screen and (max-width: 1904px) {
	.img_12 {
		background-size: 100%;
		height: 19.118vw;
	}
}
@media screen and (max-width: 1024px) {
	.img_12 {
		background-size: 110%;
		background-position: left bottom;
		height: 30vw;
		padding-left: 14vw;
	}
}
@media screen and (max-width: 540px) {
	.img_12 {
		height: 44.267vw;
		background-image: url(../images/img_12_sp.webp);
		background-size: 100%;
		padding-left: 0;
		padding-right: 34vw;
	}
	.img_12 h4 {
		text-align: left;
	}
	.img_12.img_13 {
		background-image: url(../images/img_13_sp.webp);
	}
	.img_12.img_14 {
		background-image: url(../images/img_14_sp.webp);
	}
}


.box_03 {
	padding: 0.5em 1.7em 2em;
}
.circle-137 {
	width: 7.6em;
	height: 7.6em;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin: 0 auto;
}
.ol_num {
	list-style-type: decimal;
	padding-left: 2em;
}
.ol_num li {
	margin-top: 0.4em;
}
@media screen and (max-width: 540px) {
	.circle-137 {
		width: 22.3vw;
		height: 22.3vw;
	}
}


.case-txt1 {
	height: 53.5%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 3em;
	border-radius: 18px 18px 0 0;
}
.case-txt2 {
	height: 46.5%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 0.7em;
}
.triangle-bottom::after {
	height: 1.22em;
	width: 100%;
	background: var(--blue);
	bottom: -1.2em;
	left: 0;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.nmt3 {
	position: relative;
	width: 100%;
}
.nmt3 > * {
	position: absolute;
	top: -4.1em;
	left: 0;
	right: 0;
	z-index: 2;
}
@media screen and (min-width: 541px) {
	.case-inner:nth-child(2),
	.case-inner:nth-child(3),
	.case-inner:nth-child(5) {
		margin-left: 3.2%;
	}
}
@media screen and (max-width: 1920px) {
	.case-txt1 {
		border-radius: 0.938vw 0.938vw 0 0;
	}
}
@media screen and (max-width: 1024px) {
	.case-txt1 {
		border-radius: 1.5vw 1.5vw 0 0;
	}
}
@media screen and (max-width: 540px) {
	.triangle-bottom::after {
		height: 4.4vw;
		bottom: -4.3vw;
	}
	.case-txt1 {
		border-radius: 2.4vw 2.4vw 0 0;
		padding-top: 10vw;
		padding-bottom: 1vw;
		height: 50%;
	}
	.case-txt2 {
		height: 50%;
	}
	.nmt3 > * {
		top: -8.5vw;
	}
}

.flag-h3 {
	font-size: 30px;
	line-height: 1.33;
	padding-left: 1em;
	padding-top: 1.2em;
}
.flagWrap {
	padding-left: 5%;
}
.flag {
	position: relative;
	top: -1em;
	width: 6.56em;
	height: 7.37em;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 84%, 0 100%);
	padding-left: 0.1em;
	padding-bottom: 0.1em;
}
.ul_dot2 li {
	padding-left: 1em;
}
@media screen and (max-width: 1920px) {
	.flag-h3 {
		font-size: 1.563vw;
	}
}
@media screen and (max-width: 1904px) {
	.illust_04 img {
		max-width: 8.718vw;
	}
	.txt-example {
		width: 11.187vw;
	}
}
@media screen and (max-width: 1024px) {
	.flag-h3 {
		font-size: 2.308vw;
	}
	.illust_04 img {
		max-width: 12.769vw;
	}
	.txt-example {
		width: 17.75vw;
	}
}
@media screen and (max-width: 540px) {
	.flag-h3 {
		font-size: 4vw;
	}
	.illust_04 {
		margin-right: 5vw;
	}
	.illust_04 img {
		max-width: 22.133vw;
	}
	.flag {
		top: -0.8em;
		width: 17.3vw;
		height: 19.1vw;
	}
	.flag .fz60 {
		font-size: 9.86vw;
	}
	.box_04 p {
		padding-left: 1em;
		padding-right: 1em;
	}
	.txt-example {
		width: 28.2vw;
	}
}
.triangle-bottom-reverse {
	padding-bottom: 4.1em;
}
.triangle-bottom-reverse::before {
	background: #fff;
	width: 100%;
	height: 6.67em;
	clip-path: polygon(0 0, 50% 99.5%, 100% 0, 100% 100%, 0 100%);
	left: 0;
	bottom: -0.5px;
}
@media screen and (max-width: 540px) {
	.triangle-bottom-reverse {
		padding-bottom: 7vw;
	}
	.triangle-bottom-reverse::before {
		height: 7.467vw;
	}
}


.img_15 {
	background: url(../images/img_15.webp) center bottom no-repeat;
	height: 333px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding-top: .8em;
}
.recommend {
	padding: 0.1% 4% 5%;
}
.txt_bg_h5 {
	padding: .2em 1.6em;
}
.border-top-bottom {
	border-top: 2px solid var(--blue);
	border-bottom: 2px solid var(--blue);
}
.icon_07 {
	background: url(../images/icon_07.png) no-repeat;
	background-size: 100%;
	width: 334px;
	height: 49px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin-top: 0.4em;
}
@media screen and (max-width: 1904px) {
	.img_15 {
		background-size: 56.723vw;
		height: 17.489vw;
	}
	.icon_07 {
		width: 17.542vw;
		height: 2.574vw;
	}
}
@media screen and (max-width: 1024px) {
	.img_15 {
		background-size: 90%;
		height: 27.75vw;
	}
	.icon_07 {
		width: 27.833vw;
		height: 4.083vw;
	}
	.border-top-bottom {
		border-top: 1px solid var(--blue);
		border-bottom: 1px solid var(--blue);
	}
}
@media screen and (max-width: 540px) {
	.img_15 {
		background-image: url(../images/img_15_sp.webp);
		background-size: 100%;
		height: 46.93vw;
	}
	.icon_07 {
		width: 44.533vw;
		height: 6.533vw;
		margin-top: 0.2em;
	}
	.txt_bg_h5 {
		padding: .2em 1em;
		margin-top: 1.5vw;
	}
	.recommend {
		padding: 0.1% 6.4% 6.5%;
	}
}


.box_05 {
	padding: 2.3% 2.9% 3%;
}
.nmt4 {
	position: relative;
	width: 100%;
}
.nmt4 > * {
	position: absolute;
	top: -2.3em;
	left: 50%;
	transform: translateX(-50%);
	right: 0;
	z-index: 2;
}
.ol_num2 {
}
.ol_num2 li {
	list-style-type: none;
	counter-increment: cnt;
	font-size: 24px;
	font-weight: 700;
}
.ol_num2 li::before {
	content: counter(cnt);
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-variation-settings:
		"wdth" 100;
	font-size: 30px;
	color: var(--blue);
	padding-right: .8em;
	vertical-align: -0.05em;
}
.txt_bg_h6 {
	padding: .5em 1em;
	width: 80%;
}
@media screen and (max-width: 1920px) {
	.ol_num2 li {
		font-size: 1.25vw;
	}
	.ol_num2 li::before {
		font-size: 1.563vw;
	}
}
@media screen and (max-width: 1904px) {
	.img_24 {
		width: 18.75vw;
	}
}
@media screen and (max-width: 1024px) {
	.ol_num2 li {
		font-size: 1.714vw;
	}
	.ol_num2 li::before {
		font-size: 2.143vw;
	}
	.img_24 {
		width: 29.75vw;
	}
}
@media screen and (max-width: 540px) {
	.ol_num2 li {
		font-size: 3.733vw;
	}
	.ol_num2 li::before {
		font-size: 4.666vw;
	}
	.box_05 {
		padding: 4.5% 5.5% 6%;
	}
	.img_24 {
		width: 100%;
	}
	.nmt4 {
		position: relative;
		width: 100%;
	}
	.nmt4 > * {
		top: -1.5em;
	}
	.txt_bg_h6 {
		padding: .2em 1em;
		width: 50%;
	}
}
.box_06 {
	padding: 1em 4em;
}
.box_07 {
	padding: 3em 5.4em 1em;
}
.illust_07,
.illust_08 {
	padding: 0.1em 1em 0.25em;
	border-radius: 0.23em;
	position: relative;
}
.illust_07::after,
.illust_08::after {
	position: absolute;
	content: "";
	display: block;
	width: 138px;
	height: 89px;
	bottom: .2em;
	right: 0.36em;
	background: url(../images/illust_07.png) no-repeat;
	background-size: 100%;
}
.illust_08::after {
	background-image: url(../images/illust_08.png);
}
.box_08 {
	padding: 3em 2em 2.5em;
}
@media screen and (max-width: 1904px) {
	.illust_07::after,
	.illust_08::after {
		width: 7.248vw;
		height: 4.674vw;
	}
}
@media screen and (max-width: 1024px) {
	.box_07 {
		padding: 2.5em 4em 0.5em;
	}
	.illust_07::after,
	.illust_08::after {
		width: 9.857vw;
		height: 6.357vw;
	}
	.box_08 {
		padding: 2.2em 1.5em 2em;
	}
}
@media screen and (max-width: 540px) {
	.box_06 {
		padding: 1.2em 5vw;
	}
	.box_07 {
		padding: 6vw 4.5vw 3vw;
	}
	.img_27 {
		width: 36vw;
	}
	.illust_07::after,
	.illust_08::after {
		width: 18.4vw;
		height: 11.867vw;
	}
	.box_08 {
		padding: 6vw 3.3vw 3.3vw;
	}
	.img_28 {
		width: 63vw;
	}
}



.voice_h2 {
	background: url(../images/img_07.webp) center top no-repeat;
	background-size: 100%;
	padding-top: 12.5%;
}
.voice_innerWrap {
	padding-left: 1%;
	padding-right: 5%;
}
.voice_inner {
	padding: 3% 5.5% 3% 5.8%;
}
.voice_inner + .voice_inner {
	margin-top: 1em;
}
.voice_img {
	width: 19%;
	padding-right: 2.8%;
}
.voice_title {
	width: 81%;
}
.voice_title .marker {
	padding: 0 1.1em;
}
@media screen and (max-width: 1024px) {
	.voice_h2 {
		background-size: 105%;
		padding-top: 13%;
	}
	.voice_innerWrap {
		padding-right: 0;
	}
}
@media screen and (max-width: 540px) {
	.voice_h2 {
		background: url(../images/img_07_sp.webp) center top no-repeat;
		background-size: 78.667vw;
		padding-top: 23%;
		padding-right: 40%;
		height: 52.666vw;
		margin-top: -4.5vw;
	}
	.voice_inner {
		padding: 5.5% 5.5% 4% 5.8%;
	}
	.voice_img {
		width: 25%;
		padding-right: 4%;
	}
	.voice_title {
		width: 75%;
	}
	.voice_title .marker {
		padding: 0 .7em;
	}
}


@media screen and (max-width: 1904px) {
	.img_08 img {
		width: 19.38vw;
	}
}
@media screen and (max-width: 1024px) {
	.img_08 img {
		width: 30.75vw;
	}
}
@media screen and (max-width: 540px) {
	.img_08 img {
		width: 67.5vw;
		margin-left: 3vw;
		margin-top: 1vw;
	}
}


.group-img {
	width: 26.2%;
	padding-top: 1em;
}
.group-txt {
	width: 73.8%;
	display: flex;
	padding: 2.5% 4% 2.5% 0;
}
.group-txt::before {
	right: 0;
	top: 0;
	width: 103.4%;
	height: 100%;
	border: 1px solid var(--dblue);
	border-radius: 20px;
	z-index: -1;
}
.group-txt-img {
	width: 33%;
	padding-top: 1em;
}
.group-txt-inner {
	width: 67%;
}
.circle {
}
.circle::before {
	width: 7.6em;
	height: 7.6em;
	left: -2.77em;
	top: 50%;
	transform: translateY(-50%);
	background: var(--yellow);
	border-radius: 50%;
	z-index: -1;
}
@media screen and (max-width: 1904px) {
	.group-txt-img img {
		width: 9.664vw;
	}
}
@media screen and (max-width: 1024px) {
	.group-txt-img img {
		width: 14.154vw;
	}
}
@media screen and (max-width: 540px) {
	.group-img {
		width: 100%;
		padding-top: 1em;
		padding-left: 6vw;
	}
	.group-img img {
		width: 41.87vw;
	}
	.group-txt {
		width: 100%;
		display: block;
		position: relative;
		padding: 6% 4% 5% 7%;
	}
	.group-txt::before {
		top: inherit;
		bottom: 0;
		width: 100%;
		height: 110%;
		height: calc(100% + 21vw);
		border-radius: 2.7vw;
	}
	.group-txt-img {
		width: 38%;
		float: right;
		margin-top: -9vw;
	}
	.group-txt-img img {
		width: 24.5vw;
	}
	.group-txt-img .fz16 {
		font-size: 2.6vw;
		letter-spacing: 0;
	}
	.group-txt-inner {
		width: 100%;
		padding: 0;
	}
	.circle::before {
		width: 18.26vw;
		height: 18.26vw;
		left: -6vw;
	}
}


.dataFlex > * {
	width: 22.6%;
}
@media screen and (max-width: 540px) {
	.dataFlex > * {
		width: 46.4%;
		margin-top: 5%;
	}
}
.triangle-top-reverse {
	padding-top: 5.5em;
}
.triangle-top-reverse.ttr2 {
	padding-top: 1em;
}
.triangle-top-reverse::before {
	background: #fff;
	width: 100%;
	height: 6.67em;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 0.5%, 0 100%);
	left: 0;
	top: -0.5px;
}
@media screen and (max-width: 540px) {
	.triangle-top-reverse {
		padding-top: 12vw;
	}
	.triangle-top-reverse::before {
		height: 7.467vw;
	}
}


.btn-contents {
	width: 9em;
	height: 9em;
}
.btn-contents + .btn-contents {
	margin-left: 3.66em;
}
.btn-contents:hover {
}
.btn-contents img {
	margin-bottom: .4em;
}
@media screen and (max-width: 1904px) {
	.btn-contents img {
		width: 7.143vw;
	}
}
@media screen and (max-width: 1024px) {
	.btn-contents img {
		width: 11.333vw;
	}
	.btn-contents + .btn-contents {
		margin-left: 1em;
	}
}
@media screen and (max-width: 540px) {
	.btn-contents {
		width: 21.6vw;
		height: 21.6vw;
		font-size: 2.4vw;
	}
	.btn-contents img {
		width: 18.133vw;
	}
	.btn-contents + .btn-contents {
		margin-left: 0;
	}
	.btn-contents:nth-child(3),
	.btn-contents:nth-child(4) {
		margin-top: 3.7vw;
	}
	.btn-contentsWrap {
		width: 56%;
	}
}


.shopFlex > div {
	margin-top: 2.5%;
}
.shop-photo {
	width: 44%;
	padding: 0 3.1% 0 6.8%;
}
.shop-txt {
	width: 56%;
}
.shop-info {
	margin-top: 0.5%;
}
.shop-info dt {
	width: 25%;
	text-align: center;
	margin: 1% 0;
	font-weight: 500;
}
.shop-info dd {
	width: 75%;
	margin: 1% 0;
	padding-left: 3%;
	letter-spacing: 0;
}
.btn_02 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--dblue);
	color: #fff;
	width: 67%;
	height: 3.67em;
	transition: all .2s;
}
.btn_02 span {
	position: relative;
	padding-right: 2.83em;
}
.btn_02 span::before {
	position: absolute;
	display: block;
	content: "";
	top: 50%;
	right: -0.5em;
	transform: translateY(-50%);
	width: 2.389em;
	height: 2.389em;
	border-radius: 50%;
	background: var(--yellow);
	transition: all .2s;
}
.btn_02 span::after {
	position: absolute;
	display: block;
	content: "";
	top: 50%;
	right: 0.4em;
	transform: translateY(-50%);
	width: 0.5em;
	height: 0.67em;
	clip-path: polygon(10% 0, 100% 50%, 10% 100%, 0 90%, 70% 50%, 0 10%);
	background: #4f4f4f;
	transition: all .2s;
}
.btn_02:hover {
	background: var(--blue);
	color: #fff;
}
.btn_02:hover span::before {
	right: -0.9em;
}
.btn_02:hover span::after {
	right: 0;
}
.btn_start {
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 1024px) {
	.shop-photo {
		width: 42%;
		padding: 0 3.1% 0 4.8%;
	}
	.shop-txt {
		width: 58%;
	}
	.shop-txt .fz16 {
		font-size: 1.25vw;
	}
}
@media screen and (max-width: 540px) {
	.shop-photo {
		width: 39%;
		padding: 0 3% 0 3.5%;
	}
	.shop-txt {
		width: 61%;
	}
	.shopFlex > div {
		margin-top: 4.7vw;
	}
	.shop-txt .fz16 {
		font-size: 2.67vw;
	}
	.shop-info {
		line-height: 1.6;
	}
	.btn_02 {
		height: 3.3em;
	}
	.btn_02 span {
		padding-right: 2.2em;
	}
	.btn_02 span::before {
		width: 2.05em;
		height: 2.05em;
	}
	.btn_02 span::after {
		right: 0.2em;
	}
}


@media screen and (min-width: 541px) {
	.sp-banner li {
		width: 32%;
		padding: 1.2% 0;
		margin-right: 2%;
	}
	.sp-banner li:nth-child(3n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 540px) {
	.sp-banner li {
		width: 48.5%;
		padding: 1.8% 0;
		margin-right: 3%;
	}
	.sp-banner li:nth-child(2n) {
		margin-right: 0;
	}
}


sup {
	font-size: 16px;
	vertical-align: .7em;
}
@media screen and (max-width: 1904px) {
	sup {
		font-size: 0.84vw;
	}
}
@media screen and (max-width: 1024px) {
	sup {
		font-size: 0.988vw;
	}
}
@media screen and (max-width: 540px) {
	sup {
		font-size: 1.829vw;
	}
}



/* !footer
---------------------------------------------------------- */
#footer p {
	padding: 0;
}
#footer p + p {
	margin-top: 0.25em;
}

ul.footer-nav li {
	color: #fff;
}
ul.footer-nav li + li::before {
	content: "|";
	font-weight: 100;
	font-size: 80%;
	margin-right: 1.2em;
	margin-left: 1.2em;
}
ul.footer-nav li a {
	font-size: 14px;
	color: #fff;
}
ul.footer-nav li a:hover {
	border-bottom: 1px solid;
}
.pl-pc {
	padding-left: 9.3em;
}
@media screen and (max-width: 1920px) {
	ul.footer-nav li a {
		font-size: 0.729vw;
	}
	.logo-txt {
		width: 319px;
	}
}
@media screen and (max-width: 1904px) {
	.logo-txt {
		width: 16.754vw;
	}
}
@media screen and (max-width: 1024px) {
	ul.footer-nav li a {
		font-size: 1.167vw;
	}
}
@media screen and (max-width: 540px) {
	#footer {
		padding: 8vw 0;
	}
	ul.footer-nav {
		margin-top: 4vw;
	}
	ul.footer-nav li a {
		font-size: 2.933vw;
	}
}


@media screen and (max-width: 1024px) {
	a.anchor {
		display: block;
		padding-top: 12vw;
		margin-top: -12vw;
	}
}
@media screen and (max-width: 540px) {
	a.anchor {
		padding-top: 16.7vw;
		margin-top: -16.7vw;
	}
}


/* !Clearfix
---------------------------------------------------------- */
.clearfix::after,
.contactForm dd::after {
	content: '';
	display: block;
	height: 0;
	overflow: hidden;
	clear: both;
}
@media screen and (max-width: 1024px) {
.scroll_up {
  transform: translateY(3.906vw);
}
.scroll_up.on {
  transform: translateY(0);
}
}

/* !tel
---------------------------------------------------------- */
@media (min-width: 541px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}