@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

bbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:0 0}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}.clearfix::after {content: "";display: block;clear: both;}

:root{
	--base-width: 375;
	--size-01: clamp(1px, calc(1 / var(--base-width) * 100vw), calc(1 * 2px));
	--size-02: clamp(2px, calc(2 / var(--base-width) * 100vw), calc(2 * 2px));
	--size-03: clamp(3px, calc(3 / var(--base-width) * 100vw), calc(3 * 2px));
	--size-04: clamp(4px, calc(4 / var(--base-width) * 100vw), calc(4 * 2px));
	--size-05: clamp(5px, calc(5 / var(--base-width) * 100vw), calc(5 * 2px));
	--size-06: clamp(6px, calc(6 / var(--base-width) * 100vw), calc(6 * 2px));
	--size-07: clamp(7px, calc(7 / var(--base-width) * 100vw), calc(7 * 2px));
	--size-08: clamp(8px, calc(8 / var(--base-width) * 100vw), calc(8 * 2px));
	--size-09: clamp(9px, calc(9 / var(--base-width) * 100vw), calc(9 * 2px));
	--size-10: clamp(10px, calc(10 / var(--base-width) * 100vw), calc(10 * 2px));
	--size-11: clamp(11px, calc(11 / var(--base-width) * 100vw), calc(11 * 2px));
	--size-12: clamp(12px, calc(12 / var(--base-width) * 100vw), calc(12 * 2px));
	--size-13: clamp(13px, calc(13 / var(--base-width) * 100vw), calc(13 * 2px));
	--size-14: clamp(14px, calc(14 / var(--base-width) * 100vw), calc(14 * 2px));
	--size-15: clamp(15px, calc(15 / var(--base-width) * 100vw), calc(15 * 2px));
	--size-16: clamp(16px, calc(16 / var(--base-width) * 100vw), calc(16 * 2px));
	--size-17: clamp(17px, calc(17 / var(--base-width) * 100vw), calc(17 * 2px));
	--size-18: clamp(18px, calc(18 / var(--base-width) * 100vw), calc(18 * 2px));
	--size-19: clamp(19px, calc(19 / var(--base-width) * 100vw), calc(19 * 2px));
	--size-20: clamp(20px, calc(20 / var(--base-width) * 100vw), calc(20 * 2px));
	--size-21: clamp(21px, calc(21 / var(--base-width) * 100vw), calc(21 * 2px));
	--size-22: clamp(22px, calc(22 / var(--base-width) * 100vw), calc(22 * 2px));
	--size-23: clamp(23px, calc(23 / var(--base-width) * 100vw), calc(23 * 2px));
	--size-24: clamp(24px, calc(24 / var(--base-width) * 100vw), calc(24 * 2px));
	--size-25: clamp(25px, calc(25 / var(--base-width) * 100vw), calc(25 * 2px));
	--size-26: clamp(26px, calc(26 / var(--base-width) * 100vw), calc(26 * 2px));
	--size-27: clamp(27px, calc(27 / var(--base-width) * 100vw), calc(27 * 2px));
	--size-28: clamp(28px, calc(28 / var(--base-width) * 100vw), calc(28 * 2px));
	--size-29: clamp(29px, calc(29 / var(--base-width) * 100vw), calc(29 * 2px));
	--size-30: clamp(30px, calc(30 / var(--base-width) * 100vw), calc(30 * 2px));
	--size-31: clamp(31px, calc(31 / var(--base-width) * 100vw), calc(31 * 2px));
	--size-32: clamp(32px, calc(32 / var(--base-width) * 100vw), calc(32 * 2px));
	--size-33: clamp(33px, calc(33 / var(--base-width) * 100vw), calc(33 * 2px));
	--size-34: clamp(34px, calc(34 / var(--base-width) * 100vw), calc(34 * 2px));
	--size-35: clamp(35px, calc(35 / var(--base-width) * 100vw), calc(35 * 2px));
	--size-36: clamp(36px, calc(36 / var(--base-width) * 100vw), calc(36 * 2px));
	--size-37: clamp(37px, calc(37 / var(--base-width) * 100vw), calc(37 * 2px));
	--size-38: clamp(38px, calc(38 / var(--base-width) * 100vw), calc(38 * 2px));
	--size-39: clamp(39px, calc(39 / var(--base-width) * 100vw), calc(39 * 2px));
	--size-40: clamp(40px, calc(40 / var(--base-width) * 100vw), calc(40 * 2px));
	--size-41: clamp(41px, calc(41 / var(--base-width) * 100vw), calc(41 * 2px));
	--size-42: clamp(42px, calc(42 / var(--base-width) * 100vw), calc(42 * 2px));
	--size-43: clamp(43px, calc(43 / var(--base-width) * 100vw), calc(43 * 2px));
	--size-44: clamp(44px, calc(44 / var(--base-width) * 100vw), calc(44 * 2px));
	--size-45: clamp(45px, calc(45 / var(--base-width) * 100vw), calc(45 * 2px));
	--size-46: clamp(46px, calc(46 / var(--base-width) * 100vw), calc(46 * 2px));
	--size-47: clamp(47px, calc(47 / var(--base-width) * 100vw), calc(47 * 2px));
	--size-48: clamp(48px, calc(48 / var(--base-width) * 100vw), calc(48 * 2px));
	--size-49: clamp(49px, calc(49 / var(--base-width) * 100vw), calc(49 * 2px));
	--size-50: clamp(50px, calc(50 / var(--base-width) * 100vw), calc(50 * 2px));
	--size-60: clamp(60px, calc(60 / var(--base-width) * 100vw), calc(60 * 2px));
	--size-70: clamp(70px, calc(70 / var(--base-width) * 100vw), calc(70 * 2px));
	--size-80: clamp(80px, calc(80 / var(--base-width) * 100vw), calc(80 * 2px));
	--size-90: clamp(90px, calc(90 / var(--base-width) * 100vw), calc(90 * 2px));
	--size-100: clamp(100px, calc(100 / var(--base-width) * 100vw), calc(100 * 2px));
	--size-110: clamp(110px, calc(110 / var(--base-width) * 100vw), calc(110 * 2px));
	--size-120: clamp(120px, calc(120 / var(--base-width) * 100vw), calc(120 * 2px));
	--size-130: clamp(130px, calc(130 / var(--base-width) * 100vw), calc(130 * 2px));
}
@media screen and (min-width: 768px){
	:root{
		--base-width: 1440;
		--size-01: clamp(calc(1px / 2), calc(1 / var(--base-width) * 100vw), 1px);
		--size-02: clamp(calc(2px / 2), calc(2 / var(--base-width) * 100vw), 2px);
		--size-03: clamp(calc(3px / 2), calc(3 / var(--base-width) * 100vw), 3px);
		--size-04: clamp(calc(4px / 2), calc(4 / var(--base-width) * 100vw), 4px);
		--size-05: clamp(calc(5px / 2), calc(5 / var(--base-width) * 100vw), 5px);
		--size-06: clamp(calc(6px / 2), calc(6 / var(--base-width) * 100vw), 6px);
		--size-07: clamp(calc(7px / 2), calc(7 / var(--base-width) * 100vw), 7px);
		--size-08: clamp(calc(8px / 2), calc(8 / var(--base-width) * 100vw), 8px);
		--size-09: clamp(calc(9px / 2), calc(9 / var(--base-width) * 100vw), 9px);
		--size-10: clamp(calc(10px / 2), calc(10 / var(--base-width) * 100vw), 10px);
		--size-11: clamp(calc(11px / 2), calc(11 / var(--base-width) * 100vw), 11px);
		--size-12: clamp(calc(12px / 2), calc(12 / var(--base-width) * 100vw), 12px);
		--size-13: clamp(calc(13px / 2), calc(13 / var(--base-width) * 100vw), 13px);
		--size-14: clamp(calc(14px / 2), calc(14 / var(--base-width) * 100vw), 14px);
		--size-15: clamp(calc(15px / 2), calc(15 / var(--base-width) * 100vw), 15px);
		--size-16: clamp(calc(16px / 2), calc(16 / var(--base-width) * 100vw), 16px);
		--size-17: clamp(calc(17px / 2), calc(17 / var(--base-width) * 100vw), 17px);
		--size-18: clamp(calc(18px / 2), calc(18 / var(--base-width) * 100vw), 18px);
		--size-19: clamp(calc(19px / 2), calc(19 / var(--base-width) * 100vw), 19px);
		--size-20: clamp(calc(20px / 2), calc(20 / var(--base-width) * 100vw), 20px);
		--size-21: clamp(calc(21px / 2), calc(21 / var(--base-width) * 100vw), 21px);
		--size-22: clamp(calc(22px / 2), calc(22 / var(--base-width) * 100vw), 22px);
		--size-23: clamp(calc(23px / 2), calc(23 / var(--base-width) * 100vw), 23px);
		--size-24: clamp(calc(24px / 2), calc(24 / var(--base-width) * 100vw), 24px);
		--size-25: clamp(calc(25px / 2), calc(25 / var(--base-width) * 100vw), 25px);
		--size-26: clamp(calc(26px / 2), calc(26 / var(--base-width) * 100vw), 26px);
		--size-27: clamp(calc(27px / 2), calc(27 / var(--base-width) * 100vw), 27px);
		--size-28: clamp(calc(28px / 2), calc(28 / var(--base-width) * 100vw), 28px);
		--size-29: clamp(calc(29px / 2), calc(29 / var(--base-width) * 100vw), 29px);
		--size-30: clamp(calc(30px / 2), calc(30 / var(--base-width) * 100vw), 30px);
		--size-31: clamp(calc(31px / 2), calc(31 / var(--base-width) * 100vw), 31px);
		--size-32: clamp(calc(32px / 2), calc(32 / var(--base-width) * 100vw), 32px);
		--size-33: clamp(calc(33px / 2), calc(33 / var(--base-width) * 100vw), 33px);
		--size-34: clamp(calc(34px / 2), calc(34 / var(--base-width) * 100vw), 34px);
		--size-35: clamp(calc(35px / 2), calc(35 / var(--base-width) * 100vw), 35px);
		--size-36: clamp(calc(36px / 2), calc(36 / var(--base-width) * 100vw), 36px);
		--size-37: clamp(calc(37px / 2), calc(37 / var(--base-width) * 100vw), 37px);
		--size-38: clamp(calc(38px / 2), calc(38 / var(--base-width) * 100vw), 38px);
		--size-39: clamp(calc(39px / 2), calc(39 / var(--base-width) * 100vw), 39px);
		--size-40: clamp(calc(40px / 2), calc(40 / var(--base-width) * 100vw), 40px);
		--size-41: clamp(calc(41px / 2), calc(41 / var(--base-width) * 100vw), 41px);
		--size-42: clamp(calc(42px / 2), calc(42 / var(--base-width) * 100vw), 42px);
		--size-43: clamp(calc(43px / 2), calc(43 / var(--base-width) * 100vw), 43px);
		--size-44: clamp(calc(44px / 2), calc(44 / var(--base-width) * 100vw), 44px);
		--size-45: clamp(calc(45px / 2), calc(45 / var(--base-width) * 100vw), 45px);
		--size-46: clamp(calc(46px / 2), calc(46 / var(--base-width) * 100vw), 46px);
		--size-47: clamp(calc(47px / 2), calc(47 / var(--base-width) * 100vw), 47px);
		--size-48: clamp(calc(48px / 2), calc(48 / var(--base-width) * 100vw), 48px);
		--size-49: clamp(calc(49px / 2), calc(49 / var(--base-width) * 100vw), 49px);
		--size-50: clamp(calc(50px / 2), calc(50 / var(--base-width) * 100vw), 50px);
		--size-60: clamp(calc(60px / 2), calc(60 / var(--base-width) * 100vw), 60px);
		--size-70: clamp(calc(70px / 2), calc(70 / var(--base-width) * 100vw), 70px);
		--size-80: clamp(calc(80px / 2), calc(80 / var(--base-width) * 100vw), 80px);
		--size-90: clamp(calc(90px / 2), calc(90 / var(--base-width) * 100vw), 90px);
		--size-100: clamp(calc(100px / 2), calc(100 / var(--base-width) * 100vw), 100px);
		--size-110: clamp(calc(110px / 2), calc(110 / var(--base-width) * 100vw), 110px);
		--size-120: clamp(calc(120px / 2), calc(120 / var(--base-width) * 100vw), 120px);
		--size-130: clamp(calc(130px / 2), calc(130 / var(--base-width) * 100vw), 130px);
	}
}
html{
	font-size:62.5%;
	scroll-behavior: smooth;
}
body{
	font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	-webkit-text-size-adjust: 100%;
	font-size:var(--size-16);
	color: #333333;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .1em;
	font-feature-settings: "palt";
	position: relative;
	overflow: scroll;
	overflow-x: hidden;
	min-width: 375px;
}
@media screen and (min-width: 768px){
	body{
		font-size:1.6rem;
		line-height: 1.75;
	}
}

img,video{
	vertical-align:bottom;
	max-width: 100%;
	height: auto;
	width: 100%;
}
li{
	list-style:none;
}
a{
	text-decoration:none;
	color:#333333;
}
a:hover{
	opacity:0.6;
}
*, *:before, *:after {
	box-sizing: border-box;
}
select, option, input{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	border: none;
	max-width: 100%;
}

/* layout */
.l-section-inner{
	max-width: calc(1200px + 48px);
	padding: 0 24px;
	margin: auto;
}
.l-section-pd{
	padding-top: 3rem;
	padding-bottom: 3rem;
}

/* compornent */
.c-txt-red{
	color: #AC272D;
}
.c-txt-yellow{
	color: #E7D921;
}
.c-note{
	font-size: 1.4rem;
	letter-spacing: 0;
}
.c-not-border{
	border-bottom: none!important;
}
.c-only-sp{
	display: none!important;
}
.c-title{
	font-family: "Noto Serif JP", serif;
	font-size: var(--size-28);
	font-weight: 900;
	line-height: 1.175;
	letter-spacing: 0.02em;
	color: #0F0068;
}
@media screen and (min-width: 768px){
	.c-title{
		font-size: 4rem;
		font-weight: 900;
		line-height: 1.175;
		letter-spacing: 0.02em;
	}
}
.c-title-before{
	text-align: center;
	margin: 0 auto var(--size-34);
}
.c-title-before__inner{
	font-family: "Noto Serif JP", serif;
	font-size: var(--size-16);
	font-weight: 700;
	line-height: 1.57;
	letter-spacing: 0.02em;
	color: #0F0068;
}
@media screen and (min-width: 768px){
	.c-title-before{
		text-align: center;
		margin: 0 auto 5rem;
	}
	.c-title-before__inner{
		font-size: 3rem;
		font-weight: 700;
		line-height: 1.57;
		letter-spacing: 0.02em;
	}
}
.c-title-underline{
	text-align: center;
	margin: 0 auto var(--size-30);
}
.c-title-underline__inner{
	position: relative;
	display: inline-block;
}
.c-title-underline__inner::before{
	content: "";
	width: 100%;
	height: 2px;
	background: #0F0068;
	position: absolute;
	bottom: -1rem;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (min-width: 768px){
	.c-title-underline{
		text-align: center;
		margin: 0 auto 5rem;
	}
}
.c-title-sideline{
	font-family: "Noto Serif JP", serif;
	font-size: var(--size-28);
	font-weight: 700;
	line-height: 1.175;
	letter-spacing: 0.02em;
	text-align: center;
	color: #0F0068;
	margin-bottom: var(--size-20);
}
.c-title-sideline__inner{
	display: flex;
	align-items: center; /* 垂直中心 */
	justify-content: center; /* 水平中心 */
}
.c-title-sideline__inner::before,
.c-title-sideline__inner::after{
	border-top: 1px solid;
	content: "";
	width: var(--size-40); /* 線の長さ */
}
.c-title-sideline__inner:before {
  margin-right: 0; /* 文字の右隣 */
}
.c-title-sideline__inner:after {
  margin-left: 0; /* 文字の左隣 */
}
@media screen and (min-width: 768px){
	.c-title-sideline{
		font-family: "Noto Serif JP", serif;
		font-size: 4rem;
		font-weight: 700;
		line-height: 1.175;
		letter-spacing: 0.02em;
		color: #0F0068;
		margin-bottom: var(--size-50);
	}
	.c-title-sideline__inner::before,
	.c-title-sideline__inner::after{
		border-top: 1px solid;
		content: "";
		width: 5rem; /* 線の長さ */
	}
}
.c-title-model{
	text-align: center;
	color: #333;
	margin: 0 auto 1rem;
	letter-spacing: 0.06em;
}
.c-title-model__inner{
	position: relative;
	display: inline-block;
	margin: 0 auto 1rem;
	padding: 0 0 10px;
}
.c-title-model__inner::before{
	content: "";
	width: 100%;
	height: 2px;
	background: #D3DDED;
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (min-width: 768px){
	.c-title-model{
		letter-spacing: 0.15em;
		margin: 0 auto 3rem;
	}
	.c-title-model__inner{
		position: relative;
		display: inline-block;
		margin: 0 auto 2.4rem;
		padding: 0 0 10px;
	}
}
.c-marker{
	background: linear-gradient(transparent 70%, #FFFF00 70%);
    padding: 0 1px;
}
.c-yellow{
	color: #FFFF00;
}

/* compornent:cta */
.c-cta{
	position: relative;
	background-image: url(../images/cta/cta-bg.png);
	border-radius: 10px;
}
.c-cta__title-wrap{
	background: #018242;
	border-radius: 10px 10px 0 0;
	padding: 1rem;
}
.c-cta__title{
	font-family: "Noto Serif JP", serif;
	font-size: var(--size-17);
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: 0.06em;
	color: #FFF;
	text-align: center;
}
.c-cta__title-emphasis-sp{
	font-size: var(--size-24);
}
.c-cta__content{
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	padding: 2rem 1rem;
}
.c-cta__content-item--text{
	z-index: 2;
}
.c-cta__content-item--parson{
	position: absolute;
	bottom: 0;
	right: 2.4rem;
	width: 20%;
	max-width: 230px;
	z-index: 1;
}
.c-cta__text-img{
	display: block;
	margin-bottom: 1rem;
}
.c-cta__balloon{
	display: block;
	position: relative;
	width: 100%;
	margin: 0 auto -2rem;
	z-index: 5;
}
.c-cta__button{
	font-size: var(--size-16);
	font-weight: 500;
	line-height: 0.8;
	display: block;
	position: relative;
	max-width: 100%;
	padding: var(--size-28) 4rem var(--size-28) 8rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: left;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #fff;
	background: linear-gradient(90deg, #ec6e14, #fabe27);
	border-radius: 9999px;
	z-index: 2;
}
.c-cta__button::before{
	content: "";
    display: inline-block;
    background-image: url(../images/cta/icon-materials.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 3rem;
    height: 3rem;
    position: absolute;
	top: 50%;
	left: 3rem;
	transform: translateY(-50%);
}
.c-cta__button::after{
	content: "";
    width: 1.2rem;
    height: 1.2rem;
    border: 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 3rem;
    bottom: 0;
    margin: auto;
}
@media screen and (min-width: 768px){
	.c-cta__title{
		font-size: 3rem;
		line-height: 1.5;
		letter-spacing: 0.02em;
	}
	.c-cta__title-emphasis-sp{
		font-size: 3rem;
	}
	.c-cta__content{
		display: grid;
		grid-template-columns: 42% 42% 1fr;
		gap: 2.6rem;
		padding: 3rem 5rem;
	}
	.c-cta__text-img{
		scale: 1.2;
		margin-bottom: -2rem;
	}
	.c-cta__button{
		font-size: clamp(14px, 1.8vw, 24px);
		font-weight: 500;
		line-height: 0.8;
		max-width: 454px;
		padding: 2.4rem 4rem 2.4rem 8rem;
		letter-spacing: 0.1em;
		z-index: 2;
	}
	.c-cta__balloon{
		max-width: 416px;
		margin: 0 auto -2rem;
	}
}

/* compornent:video-button */
.c-video-button{
	padding: 0;
	border: none;
	outline: none;
	font: inherit;
	color: inherit;
	background: none;
	width: 100%;
	font-size: var(--size-16);
	font-weight: 500;
	line-height: 0.8;
	display: block;
	position: relative;
	padding: var(--size-30) var(--size-27) var(--size-30) var(--size-60);
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: left;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #fff;
	background: linear-gradient(90deg, #1E00CE, #3B5FD7);
	border-radius: 9999px;
	z-index: 2;
}
.c-video-button::before{
	content: "";
    display: inline-block;
    background-image: url(../images/common/icon-video.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: var(--size-18);
    height: var(--size-15);
    position: absolute;
	top: 50%;
	left: var(--size-27);
	transform: translateY(-50%);
}
.c-video-button::after{
	content: "";
    width: 1.2rem;
    height: 1.2rem;
    border: 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: var(--size-27);
    bottom: 0;
    margin: auto;
}
@media screen and (min-width: 768px){
	.c-video-button{
		font-size: var(--size-20);
		font-weight: 500;
		line-height: 0.8;
		display: block;
		position: relative;
		max-width: 396px;
		margin: 0 auto;
		padding: 2.4rem 4rem 2.4rem 8rem;
		cursor: pointer;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		text-align: left;
		vertical-align: middle;
		text-decoration: none;
		letter-spacing: 0.1em;
		color: #fff;
		background: linear-gradient(90deg, #1E00CE, #3B5FD7);
		border-radius: 9999px;
		z-index: 2;
	}
	.c-video-button::before{
		content: "";
		display: inline-block;
		background-size: cover;
		background-repeat: no-repeat;
		width: 2.3rem;
		height: 1.9rem;
		position: absolute;
		top: 50%;
		left: 3rem;
		transform: translateY(-50%);
	}
	.c-video-button::after{
		content: "";
		width: 1.2rem;
		height: 1.2rem;
		border: 0;
		border-top: solid 1px #fff;
		border-right: solid 1px #fff;
		transform: rotate(45deg);
		position: absolute;
		top: 0;
		right: 3rem;
		bottom: 0;
		margin: auto;
	}
}

/* compornent:faq */
.c-faq{
	margin-bottom: 1rem;
    border: 2px solid #B7B7B7;
    border-radius: 10px;
    padding: 1rem;
}
.c-faq__q{
	display: grid;
    grid-template-columns: 3rem 1fr 3rem;
    align-items: center;
    position: relative;
    padding: 0 1rem;
    font-size: 1.6rem;
    line-height: 1.36;
    letter-spacing: 0.06em;
    font-weight: 700;
    cursor: pointer;
    min-height: 5rem;
}
.c-faq[open] .c-faq__q {
	border-bottom: 2px solid #B7B7B7;
	padding-bottom: 10px;
}
.c-faq__q::before {
    font-family: "Heebo", sans-serif;
    content: 'Q';
    font-size: 2rem;
    line-height: 1;
    font-weight: 700;
    color: #0F0068;
}
.c-faq[open] .c-faq__q::after {
	content: "−";
}
.c-faq__q::after {
	content: "+";
	font-size: 3rem; /* 記号のサイズ */
	font-weight: 400;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	color: #0F0068;
}
.c-faq[open] .c-faq__a {
    transform: none;
    opacity: 1;
}
.c-faq__a {
    display: grid;
    grid-template-columns: 3rem 1fr;
    align-items: flex-start;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1.2rem 1rem 0.6rem 1rem;
    border-radius: 0 0 1rem 1rem;
    background-color: #fff;
    font-size: 1.6rem;
	font-weight: 400;
    line-height: 1.36;
}
.c-faq__a::before {
    font-family: "Heebo", sans-serif;
    content: 'A';
    font-size: 2rem;
    line-height: 1;
    font-weight: 700;
    color: #AC272D;
}
@media screen and (min-width: 768px){
	.c-faq{
		margin-bottom: 1rem;
		border: 2px solid #B7B7B7;
		border-radius: 10px;
		padding: 1rem 1.6rem;
	}
	.c-faq__q{
		display: grid;
		grid-template-columns: 4rem 1fr 3rem;
		align-items: center;
		position: relative;
		padding: 0 1.6rem;
		font-size: 1.8rem;
		line-height: 1.36;
		letter-spacing: 0.06em;
		font-weight: 700;
		cursor: pointer;
		min-height: 5rem;
	}
	.c-faq[open] .c-faq__q {
		border-bottom: 2px solid #B7B7B7;
		padding-bottom: 10px;
	}
	.c-faq__q::before {
		font-family: "Heebo", sans-serif;
		content: 'Q';
		font-size: 2.5rem;
		line-height: 1;
		font-weight: 700;
		color: #0F0068;
		margin-top: 4px;
	}
	.c-faq[open] .c-faq__q::after {
		content: "−";
	}
	.c-faq__q::after {
		content: "+";
		font-size: 3rem; /* 記号のサイズ */
		font-weight: 400;
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
		color: #0F0068;
	}
	.c-faq[open] .c-faq__a {
		transform: none;
		opacity: 1;
	}
	.c-faq__a {
		display: grid;
		grid-template-columns: 4rem 1fr;
		align-items: flex-start;
		transform: translateY(-10px);
		opacity: 0;
		margin: 0;
		padding: 1.4rem 1.6rem 0.8rem 1.6rem;
		border-radius: 0 0 1rem 1rem;
		background-color: #fff;
		font-size: 1.8rem;
		font-weight: 500;
		line-height: 1.36;
	}
	.c-faq__a::before {
		font-family: "Heebo", sans-serif;
		content: 'A';
		font-size: 2.5rem;
		line-height: 1;
		font-weight: 700;
		color: #AC272D;
		margin-top: 2px;
	}
}

/* utility */
.u-order-1{
	order: 1;
}
.u-order-2{
	order: 2;
}
.u-order-3{
	order: 3;
}
.u-order-4{
	order: 4;
}
.u-order-5{
	order: 5;
}
.u-only-sp{
	display: block!important;
}
.u-only-pc{
	display: none!important;
}
@media screen and (min-width: 768px){
	.u-pc-order-1{
		order: 1;
	}
	.u-pc-order-2{
		order: 2;
	}
	.u-pc-order-3{
		order: 3;
	}
	.u-pc-order-4{
		order: 4;
	}
	.u-pc-order-5{
		order: 5;
	}
	.u-only-sp{
		display: none!important;
	}
	.u-only-pc{
		display: block!important;
	}
}

/* header */
.l-header{
	background: #10016A;
	padding: 3px;
}
.p-header-logo{
	text-align: center;
}
.p-header-logo__img{
	max-width: 119px;
	height: auto;
}
@media screen and (min-width: 768px){
	.p-header-logo__img{
		max-width: 146px;
		height: auto;
	}
}

/* メインビジュアル */
.l-mv{
	position: relative;
}
.l-mv-inner{
	width: 100%;
}
.mv-pc{
	display: none;
}
.mv-bg-sp{
	background: #063358 url(../images/mv/mv-bg-sp.png) no-repeat top center / cover;
	padding: 9vw 6.4vw 5.07vw;
}
.mv-sp__item{
	position: relative;
}
.mv-sp-text-store{
	font-size: 3.73vw;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.09em;
	color: #FFF;
	text-align: center;
}
.mv-sp-text-store--year{
	margin-bottom: 2.6vw;
}
.mv-sp-text-store--number{
	font-family: "Heebo", sans-serif;
	font-size: 5.87vw;
	position: relative;
}
.mv-sp-text-store--number-deco::before{
	content: "・・・・";
	font-family: "Heebo", sans-serif;
	font-size: 4vw;
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0.5em;
	position: absolute;
	top: -1.4vw;
	left: 0.2vw;
}
.mv-sp-text-store--number-deco::after{
	content: "※1";
	font-size: 2vw;
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0.05em;
	position: absolute;
	top: 0;
	left: 15vw;
}
.mv-sp-text-store--adjustment{
	letter-spacing: 0.25em;
	line-height: 1.5;
}
.mv-sp__item--price{
	margin-top: -2vw;
}
.mv-sp__item--support{
	margin-bottom: 1.6vw;
}
.mv-sp-grid{
	display: grid;
	grid-template-columns: 51.73vw 33.33vw;
	gap: 1.6vw;
	align-items: center;
	margin-bottom: 1.33vw;
}
.mv-sp__item--text{
	padding-left: 18vw;
}
.mv-sp-icon{
	display: grid;
	grid-template-columns: 29.87vw 1fr;
	gap: 4.8vw;
	align-items: center;
	padding: 2.67vw 6.4vw;
}
.mv-note{
    font-size: 2.67vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.06em;
    color: #FFF;
	text-shadow: 0.3vw 0.3vw 0.1vw #1E3F5F,
				-0.3vw -0.3vw 0.1vw #1E3F5F,
				-0.3vw 0.3vw 0.1vw #1E3F5F,
				0.3vw -0.3vw 0.1vw #1E3F5F,
				0 0.3vw 0.1vw #1E3F5F,
				0 -0.3vw 0.1vw #1E3F5F,
				-0.3vw 0 0.1vw #1E3F5F,
				0.3vw 0 0.1vw #1E3F5F;
	margin-bottom: 0.07vw;
}
.mv-note-icon{
    font-size: 2.4vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.04em;
    color: #343434;
	margin-bottom: 0.07vw;
	text-indent: -2.4vw;
	padding-left: 2.4vw;
}
.mv-label{
	display: block;
	margin-bottom: var(--size-26);
}
@media screen and (min-width: 768px){
	.mv-sp{
		display: none;
	}
	.mv-pc{
		display: block;
		background: #063358 url(../images/mv/mv-bg.png) no-repeat top left / cover;
		display: grid;
		grid-template-columns: calc(30% - 1.18vw) calc(40% - 2.36vw) calc(30% - 1.18vw);
		gap: 2.36vw;
		align-items: center;
	}
	.mv-left,
	.mv-right{
		position: relative;
	}
	.mv-left__text,
	.mv-right__text{
		display: inline-block;
		position: absolute;
		bottom: 1.6vw;
		right: 0;
	}
	.mv-left__text{
		right: 0;
	}
	.mv-right__text{
		left: -1vw;
	}
	.mv-right__img-icon{
		position: absolute;
		width: 12.92vw;
		top: 1.74vw;
		left: 0;
	}
	.mv-center__item {
		position: relative;
	}
	.mv-center-text-store{
		position: absolute;
		top: 0.21vw;
		left: 5.8vw;
		font-size: 1.25vw;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.05em;
		color: #FFF;
	}
	.mv-center-text-store--number{
		font-family: "Heebo", sans-serif;
		font-size: 2.08vw;
		letter-spacing: -0.01em;
		position: relative;
	}
	.mv-center-text-store--number-deco::before{
		content: "・・・・";
		font-family: "Heebo", sans-serif;
		font-size: 1.5vw;
		font-weight: 300;
		line-height: 1;
		letter-spacing: 0.3em;
		position: absolute;
		top: -0.4vw;
		left: 0.2vw;
	}
	.mv-center-text-store--number-deco::after{
		content: "※1";
		font-size: 0.69vw;
		font-weight: 300;
		line-height: 1;
		letter-spacing: 0.05em;
		position: absolute;
		top: 0;
		left: 4.8vw;
	}
	.mv-center-text-store--slash{
		font-size: 1.74vw;
	}
	.mv-center-text-store--small{
		font-size: 0.97vw;
		letter-spacing: 0.06em;
	}
	.mv-center__item--support{
		margin-bottom: 10px;
	}
	.mv-center-grid{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
		align-items: center;
	}
	.mv-note{
		font-size: 0.63vw;
		font-weight: 500;
		line-height: 1.6;
		letter-spacing: 0.06em;
		color: #FFF;
		text-shadow: 0.14vw 0.14vw 0.07vw #1E3F5F,
					calc(0.14vw * -1) calc(0.14vw * -1) 0.07vw #1E3F5F,
					calc(0.14vw * -1) 0.14vw 0.07vw #1E3F5F,
					0.14vw calc(0.14vw * -1) 0.07vw #1E3F5F,
					0px 0.14vw 0.07vw #1E3F5F, 
					0 calc(0.14vw * -1) 0.07vw #1E3F5F,
					calc(0.14vw * -1) 0 0.07vw #1E3F5F,
					0.14vw 0 0.07vw #1E3F5F;
		margin-bottom: 0.07vw;
	}
	.mv-label{
		margin-bottom: 0;
	}
}

/* cta */
.l-cta{
	padding-top: var(--size-20);
}
@media screen and (min-width: 768px){
	.l-cta{
		padding-top: var(--size-50);
	}
}

/* 開業時の不安ありませんか？ */
.l-anxiety{
	padding-top: var(--size-50);
}
.p-anxiety-grid{
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}
.p-anxiety-grid__item{
	margin-bottom: var(--size-14);
}
.p-anxiety-grid__item:last-child{
	margin-bottom: 0;
}
@media screen and (min-width: 768px){
	.l-anxiety{
		padding-top: var(--size-90);
	}
	.p-anxiety-grid{
		grid-template-columns: repeat(4, 1fr);
		gap: var(--size-32);
	}
}

/* 強み */
.l-strength{
	padding-top: var(--size-50);
}
.l-strength-inner{
	max-width: calc(1218px + 48px);
    padding: 0 24px;
    margin: auto;
}
.p-strength-grid{
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom: var(--size-34);
}
.p-strength-title{
	font-family: "Noto Serif JP", serif;
    font-size: var(--size-20);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.02em;
    color: #0F0068;
    margin-bottom: 1rem;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.p-strength-title__number{
    font-family: "Heebo", sans-serif;
    font-size: var(--size-26);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.02em;
    color: #AC272D;
	margin-right: 8px;
}
.p-strength-title__char{
	display: block;
}
.p-strength-text{
	margin-bottom: 1rem;
}
.p-strength-evaluation{
	display: block;
	width: 100%;
	margin: var(--size-20) 0;
}
@media screen and (min-width: 768px){
	.l-strength{
		padding-top: var(--size-90);
	}
	.p-strength-grid{
		display: grid;
		grid-template-columns: 51% 1fr;
		gap: 4.8rem;
		align-items: center;
		margin-bottom: var(--size-70);
	}
	.p-strength-title{
		font-size: 3rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.02em;
		margin-bottom: 2.3rem;
		display: block;
	}
	.p-strength-title__number{
		font-size: 5rem;
		font-weight: 700;
		line-height: 1.4;
		letter-spacing: 0.02em;
		display: block;
	}
	.p-strength-title__char{
		display: block;
	}
	.p-strength-border{
		border-top: 2px solid #F0F5FF;
		margin-top: 2.7rem;
		padding-top: 1.7rem;
	}
	.p-strength-evaluation{
		display: block;
		max-width: 366px;
		width: 70%;
		margin: 0;
	}
}

/* 買取大吉FC収益モデル */
.l-model{
	background: #F9F8F8;
	margin-top: var(--size-40);
	padding: var(--size-40) 0;
}
.l-model-inner{
	max-width: calc(1000px + 48px);
    padding: 0 24px;
    margin: auto;
}
.p-model__section{
	margin-bottom: 2rem;
}
.p-model__section:last-child{
	margin-bottom: 0;
}
.p-model-table{
	display: block;
	margin-bottom: 1rem;
}
.p-model-total{
	display: block;
	margin-bottom: 2rem;
}
.p-model-arrow{
	display: block;
	max-width: 67px;
	width: 10%;
	margin: 0 auto 1rem;
}
.p-model-possible{
	display: block;
	width: 100%;
	margin: -1rem auto 0;
}
@media screen and (min-width: 768px){
	.l-model{
		background: #F9F8F8;
		margin-top: var(--size-90);
		padding: 6rem 0;
	}
	.p-model__section{
		margin-bottom: 1rem;
	}
	.p-model-total{
		margin-bottom: 1rem;
	}
	.p-model-arrow{
		max-width: 67px;
		width: 10%;
		margin: 0 auto 1rem;
	}
	.p-model-possible{
		width: 90%;
		margin: -2rem auto 0;
	}
}

/* 買取大吉についてご紹介いたします！ */
.l-introduction{
	padding-top: var(--size-60);
}
.p-introduction-flex{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	margin-bottom: 3.4rem;
}
.p-introduction-flex:last-child{
	margin-bottom: 0;
}
.p-introduction-flex__img-area{
	margin: 0 -24px;
	z-index: 1;
}
.p-introduction-flex__text-area{
	position: relative;
	width: 100%;
	z-index: 2;
	background: #fff;
	box-shadow: 0px 2px 4px 0px rgba(133, 133, 133, 0.25);
	margin-top: -6rem;
	padding: 1.6rem;
}
.p-introduction-flex__title{
	font-family: "Noto Serif JP", serif;
    font-size: var(--size-22);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.02em;
	text-align: center;
    color: #0F0068;
    margin-bottom: 1.4rem;
}
.p-introduction-flex__sub-title{
	font-family: "Noto Serif JP", serif;
    font-size: var(--size-16);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
	text-align: center;
    color: #0F0068;
    margin-bottom: 2rem;
}
.p-introduction-flex__text{
	font-size: var(--size-16);
	margin-bottom: var(--size-10);
}
.p-introduction-flex__text-note{
	font-size: var(--size-14);
}
.p-introduction-flex__text-img{
	max-width: 474px;
	margin: 2.2rem auto 0;
}
@media screen and (min-width: 768px){
	.l-introduction{
		padding-top: var(--size-130);
	}
	.p-introduction-flex{
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		position: relative;
	}
	.p-introduction-flex--start{
		justify-content: flex-start;
		margin-bottom: 9rem;
	}
	.p-introduction-flex--end{
		justify-content: flex-end;
	}
	.p-introduction-flex__img-area{
		z-index: 1;
	}
	.p-introduction-flex__img-area--left{
		width: 65vw;
		max-height: 480px;
		position: relative;
		overflow: hidden;
		margin-left: calc(50% - 50vw);
	}
	.p-introduction-flex__img-area--right{
		width: 50vw;
		max-height: 327px;
		position: relative;
		overflow: hidden;
		margin-right: calc(50% - 50vw);
	}
	.p-introduction-flex__img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.p-introduction-flex__text-area{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 55vw;
		z-index: 2;
		background: #fff;
		box-shadow: -10px 7px 16px 0px rgba(133, 133, 133, 0.25);
		margin-top: 0;
		padding: var(--size-70);
	}
	.p-introduction-flex__text-area--left{
		left: 0;
		margin-left: calc(50% - 50vw);
		padding-left: calc(50vw - 50%);
	}
	.p-introduction-flex__text-area--right{
		right: 0;
		margin-right: calc(50% - 50vw);
		padding-right: calc(50vw - 50%);
	}
	.p-introduction-flex__title{
		font-family: "Noto Serif JP", serif;
		font-size: var(--size-30);
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.02em;
		text-align: left;
		color: #0F0068;
		margin-bottom: var(--size-20);
	}
	.p-introduction-flex__sub-title{
		font-family: "Noto Serif JP", serif;
		font-size: var(--size-20);
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0;
		text-align: left;
		color: #0F0068;
		margin-bottom: var(--size-22);
	}
	.p-introduction-flex__text{
		font-size: var(--size-16);
		margin-bottom: var(--size-10);
	}
	.p-introduction-flex__text-note{
		font-size: var(--size-12);
		line-height: 1.5;
	}
	.p-introduction-flex__text-img{
		max-width: 474px;
		margin: 2.2rem auto 0;
	}
}

/* メディア掲載情報 */
.l-media{
	padding-top: var(--size-30);
	padding-bottom: var(--size-60);
}
.p-media-slide{
	margin-bottom: var(--size-40) !important;
}
.p-media-info-title{
	font-family: "Noto Serif JP", serif;
    font-size: var(--size-18);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.06em;
    color: #0F0068;
	text-align: center;
    margin-bottom: 1.4rem;
}
.p-media-box{
	border: 1px solid #D9D9D9;
	padding: 1.6rem;
	border-radius: 10px;
}
.p-media-box__text{
    font-size: var(--size-14);
	line-height: 1.64;
}
@media screen and (min-width: 768px){
	.l-media{
		padding-top: var(--size-120);
		padding-bottom: var(--size-110);
	}
	.p-media-slide{
		margin-bottom: 4rem;
	}
	.p-media-info-title{
		font-size: 3rem;
		margin-bottom: 2rem;
	}
	.p-media-box{
		padding: 2.2rem 5.5rem;
	}
	.p-media-box__text{
		font-size: 1.7rem;
	}
}

/* 選ばれる4つの理由 */
.l-reason{
	background: #F0F5FF url(../images/reason/reason-bg-sp.png) no-repeat top left / cover;
	padding-top: var(--size-30);
	padding-bottom: var(--size-40);
	margin-bottom: var(--size-30);
}
.l-reason-inner{
    max-width: calc(1100px + 48px);
    padding: 0 24px;
    margin: auto;
}
.p-reason-article{
	margin-bottom: 5rem;
}
.p-reason-article:last-child{
	margin-bottom: 0;
}
.p-reason-article-title{
	font-family: "Noto Serif JP", serif;
	font-size: var(--size-24);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.02em;
	color: #0F0068;
	margin-bottom: 1.4rem;
	display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}
.p-reason-article-title__number{
	font-family: "Heebo", sans-serif;
	font-size: var(--size-26);
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #AC272D;
	margin-right: 10px;
}
.p-reason-article-title__char{
    display: block;
}
.p-reason-article-text{
	margin-bottom: 2.4rem;
}
.p-reason-article-balloon{
	display: block;
	width: 60%;
	margin: 0 auto 1rem;
}
.p-reason-02-after{
	display: block;
	margin-top: var(--size-34);
}
.p-reason-box{
	background: #fff;
	border-radius: 10px;
	margin-bottom: 2rem;
}
.p-reason-box__inner{
	padding: 1.5rem 2rem;
}
.p-reason-box__inner02{
	padding: 0 1.2rem 2rem;
}
.p-reason-box__title{
	font-family: "Noto Serif JP", serif;
	font-size: var(--size-20);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.02em;
	text-align: left;
	color: #fff;
	background: #0F0068;
	padding: 1.6rem;
	border-radius: 10px 10px 0 0;
}
.p-reason-box__text-area-title{
	font-family: "Noto Serif JP", serif;
	font-size: var(--size-18);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #0F0068;
	padding-bottom: 1rem;
	border-bottom: 2px solid #CBDEFF;
	margin-bottom: var(--size-10);
	display: flex;
	align-items: center;
}
.p-reason-box__text-area-title-icon{
	width: 20%;
	margin-right: var(--size-10);
}
.p-reason-box__text-area-title-text{
	width: 80%;
}
.p-reason-box__text-area-sub-title{
	display: inline-block;
	font-size: var(--size-18);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.02em;
	color: #0F0068;
	margin-bottom: var(--size-18);
}
.p-reason-box__text-area-list{
	list-style: none;
	margin-top: 2.8rem;
}
.p-reason-box__text-area-list-item{
	display: flex;
    align-items: flex-start;
	margin-bottom: 2.4rem;
}
.p-reason-box__text-area-list-item:last-child{
	margin-bottom: 0;
}
.p-reason-box__text-area-list-item-inner{
	width: calc(100% - 20px);
}
.p-reason-box__text-area-list-item::before {
    content: "";
    width: 10px;
    height: 10px;
    display: block;
	position: relative;
	top: var(--size-10);
    background-color: #0F0068;
    border-radius: 50%;
    margin-right: 10px;
}
.p-reason-box__text-area-list-title{
	font-size: var(--size-18);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.02em;
    color: #0F0068;
	margin-bottom: 0.5rem;
}
.p-reason-box__img-area{
	width: 80%;
	margin: 2rem auto 0;
}
.p-reason-box__img-area--grid{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--size-14);
	width: 100%;
}
.p-reason-box__section{
	padding: 2rem 0;
}
.p-reason-box__grid{
	display: grid;
	grid-template-columns: 1fr;
}
.p-reason-box__grid-review{
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--size-30);
	align-items: center;
}
.p-reason-03-more{
	display: block;
	width: 40%;
	margin: 2rem auto 0.2rem;
}
.p-reason-video-grid{
	max-width: 1000px;
    margin: auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	align-items: center;
}
.p-reason-video-grid__item{
	text-align: center;
}
.p-reason-video-grid__title{
	font-family: "Noto Serif JP", serif;
	font-size: var(--size-24);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.02em;
	color: #0F0068;
	text-align: center;
	padding-bottom: 1rem;
}
.p-reason-video-grid__text{
	display: block;
	margin-bottom: 3rem;
}
/* もっとみるの実装 */
.p-reason-box-more {
	position: relative;
	max-height: 120vw;
	overflow: hidden;
	transition: max-height 0.3s ease;
}
/* グラデーションを追加 */
.p-reason-box-more::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50vw; /* グラデーションの高さ */
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff); /* 上から透明→白 */
	pointer-events: none; /* ボタンなどをブロックしないように */
	z-index: 1;
}
/* 開いたときはグラデーション非表示 */
.p-reason-box-more.is-open::after {
	display: none;
}
.p-reason-box-more.is-open {
  	max-height: 500vw; /* 十分な高さ */
}
.p-reason-box-more-buttons {
	position: relative;
	width: 60%;
	margin: -9.5vw auto 30px;
	z-index: 2;
}
.p-reason-box-more-buttons__more,
.p-reason-box-more-buttons__close {
	cursor: pointer;
}
.p-reason-more-box{
	border: 2px solid #B7B7B7;
	border-radius: 10px;
	margin-bottom: 1.4rem;
}
.p-reason-more-box__title{
	font-family: "Noto Serif JP", serif;
    font-size: var(--size-18);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: center;
    color: #fff;
    background: #0F0068;
    padding: 1.2rem;
    border-radius: 10px 10px 0 0;
}
.p-reason-more-box__inner{
    padding: 1.2rem;
}
.p-reason-more-box__flex{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.p-reason-more-box__flex-number{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	border-bottom: 2px solid #B7B7B7;
}
.p-reason-more-box__flex-number--text01{
	display: block;
    writing-mode: vertical-rl;
	font-size: var(--size-15);
	font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
	padding-bottom: 0.5rem;
}
.p-reason-more-box__flex-number--number{
	display: block;
	font-family: "Heebo", sans-serif;
	font-size: var(--size-60);
	font-weight: 500;
    line-height: 1;
    letter-spacing: -0.05em;
	color: #AC272D;
}
.p-reason-more-box__flex-number--text02{
	display: block;
	font-size: var(--size-20);
	font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.12em;
	padding-left: 0.5rem;
}
.p-reason-more-box--asterisk{
	font-size: 1.3rem;
	font-weight: 400;
    line-height: 1;
}
.p-reason-more-box__flex-text{
	width: 100%;
	font-size: 1.8rem;
	font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.05em;
}
@media screen and (min-width: 768px){
	.l-reason{
		background: #F0F5FF url(../images/reason/reason-bg.png) no-repeat top left / cover;
		padding-top: var(--size-90);
		padding-bottom: var(--size-90);
	}
	.p-reason-article-title{
		font-family: "Noto Serif JP", serif;
		font-size: 3rem;
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.02em;
		color: #0F0068;
		margin-bottom: 1.8rem;
	}
	.p-reason-article-title__number{
		font-size: 5rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.01em;
		margin-right: 2rem;
		display: block;
	}
	.p-reason-article-text{
		margin-bottom: 3rem;
	}
	.p-reason-article-balloon{
		display: block;
		max-width: 330px;
		width: 40%;
		margin: 0 auto 1rem;
	}
	.p-reason-02-after{
		display: block;
		margin-top: var(--size-70);
	}
	.p-reason-box{
		background: #fff;
		border-radius: 10px;
		margin-bottom: 2rem;
	}
	.p-reason-box__inner{
		padding: 3rem 3.5rem;
	}
	.p-reason-box__inner02{
		padding: 0 3.5rem 3rem;
	}
	.p-reason-box__title{
		font-family: "Noto Serif JP", serif;
		font-size: 3rem;
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.02em;
		text-align: center;
		color: #fff;
		background: #0F0068;
		padding: 1.6rem;
		border-radius: 10px 10px 0 0;
	}
	.p-reason-box__text-area-title-icon{
		width: 86px;
		margin-right: 1rem;
	}
	.p-reason-box__text-area-title-text{
		width: calc(100% - 86px - 1rem);
	}
	.p-reason-box__text-area-sub-title{
		display: inline-block;
		font-size: 3rem;
		font-weight: 500;
		letter-spacing: 0.02em;
		color: #0F0068;
	}
	.p-reason-box__text-area-title{
		font-family: "Noto Serif JP", serif;
		font-size: 3.5rem;
		font-weight: 700;
		letter-spacing: 0.02em;
		color: #0F0068;
		padding-bottom: 1rem;
		border-bottom: 2px solid #CBDEFF;
		margin-bottom: 2rem;
	}
	.p-reason-box__img-area{
		width: 100%;
		margin: 0;
	}
	.p-reason-box__img-area--grid{
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: var(--size-14);
	}
	.p-reason-box__grid{
		display: grid;
		grid-template-columns: 68% 1fr;
		gap: 1.5rem;
		align-items: center;
	}
	.p-reason-box__grid-review{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1.8rem;
		align-items: flex-start;
	}
	.p-reason-box__border{
		border-bottom: 2px solid #B7B7B7;
	}
	/* もっとみるの実装 */
	.p-reason-box-more {
		max-height: 500px;
	}
	.p-reason-box-more.is-open {
		max-height: 300vw; /* 十分な高さ */
	}
	/* グラデーションを追加 */
	.p-reason-box-more::after {
		height: 200px; /* グラデーションの高さ */
	}
	.p-reason-box__text-area-list-title{
		font-size: 2.5rem;
		font-weight: 500;
		line-height: 1.3;
		letter-spacing: 0.02em;
		color: #0F0068;
		margin-bottom: 0.5rem;
	}
	.p-reason-box__text-area-list-item::before {
		content: "";
		width: 10px;
		height: 10px;
		display: block;
		position: relative;
		top: 1.4rem;
		background-color: #0F0068;
		border-radius: 50%;
		margin-right: 10px;
	}
	.p-reason-box-more-buttons {
		position: relative;
		width: 30%;
		max-width: 330px;
		margin: max(-5.5vw, -60px) auto 30px;
		z-index: 2;
	}
	.p-reason-03-more{
		display: block;
		max-width: 166px;
		margin: 2rem auto 0.2rem;
	}
	.p-reason-more-box__title{
		font-family: "Noto Serif JP", serif;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0;
		text-align: center;
		color: #fff;
		background: #0F0068;
		padding: 1.2rem;
		border-radius: 10px 10px 0 0;
	}
	.p-reason-more-box__flex-number{
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 0.5rem;
		width: 280px;
		border-right: 2px solid #B7B7B7;
		border-bottom: none;
	}
	.p-reason-more-box__flex-number--text01{
		display: block;
		writing-mode: vertical-rl;
		font-size: 2rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.1em;
		padding-bottom: 0.5rem;
	}
	.p-reason-more-box__flex-number--number{
		display: block;
		font-family: "Heebo", sans-serif;
		font-size: 8rem;
		font-weight: 500;
		line-height: 1;
		letter-spacing: -0.05em;
		color: #AC272D;
	}
	.p-reason-more-box__flex-number--text02{
		display: block;
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: 0.12em;
		padding-left: 0.5rem;
	}
	.p-reason-more-box--asterisk{
		font-size: 1.3rem;
		font-weight: 400;
		line-height: 1;
	}
	.p-reason-more-box__flex-text{
		width: calc(100% - 280px);
		padding-left: 2rem;
		font-size: 1.8rem;
		font-weight: 500;
		line-height: 1.7;
		letter-spacing: 0.05em;
	}
	.p-reason-more-box__inner{
		padding: 1.2rem 2rem;
	}
	.p-reason-04-chart{
		display: block;
		max-width: 853px;
		margin: 0 auto;
	}
	.p-reason-video-grid{
		max-width: 1000px;
		margin: auto;
		display: grid;
		grid-template-columns: 55% 1fr;
		gap: var(--size-50);
		align-items: center;
	}
	.p-reason-video-grid__title{
		font-family: "Noto Serif JP", serif;
		font-size: var(--size-40);
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: 0.02em;
		color: #0F0068;
		text-align: center;
		padding-bottom: 1rem;
	}
}

/* 買取業界と独立開業について */
.l-about{
	padding-top: var(--size-50);
}
.l-about-inner{
	max-width: calc(1218px + 48px);
    padding: 0 24px;
    margin: auto;
}
.p-about-true{
	background: #D8DEE8;
	padding: 3rem;
	margin: 0 calc(50% - 50vw) 5rem;
	padding: 3rem calc(50vw - 50%);
}
.p-about-true__inner{
	max-width: 1094px;
	margin: auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--size-18);
	align-items: center;
}
.p-about-true__text{
	font-size: 1.8rem;
	margin-bottom: 1.8rem;
}
.p-about-grid{
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--size-24);
	align-items: center;
	margin-bottom: var(--size-45);
}
.p-about-title{
	font-family: "Noto Serif JP", serif;
    font-size: var(--size-20);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #0F0068;
    margin-bottom: var(--size-14);
}
.p-about-title-number{
    font-family: "Heebo", sans-serif;
    font-size: var(--size-34);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #AC272D;
    display: block;
}
.p-about-title-merit{
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	font-family: "Noto Sans JP", sans-serif;
    font-size: var(--size-15);
    font-weight: 700;
    margin-bottom: var(--size-08);
}
.p-about-title-merit .p-about-title-number{
	display: inline-block;
	margin-right: var(--size-05);
	font-size: var(--size-20);
	line-height: 1.2;
}
.p-about-border{
	border-top: 2px solid #B7B7B7;
	margin-top: 2.7rem;
	padding-top: 1.7rem;
}
.p-about-evaluation{
	display: block;
	max-width: 366px;
	width: 70%;
}
.point-02-reason{
	display: block;
	max-width: 1100px;
	margin: 0 auto var(--size-40);
}
.p-about-merit-grid{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
	border-top: 2px solid #D9D9D9;
	border-bottom: 2px solid #D9D9D9;
	margin: 0 -24px;
}
.p-about-merit-grid__item{
	padding: var(--size-18);
}
.p-about-merit-grid__item:nth-child(1){
	border-bottom: 2px solid #D9D9D9;
	border-right: 2px solid #D9D9D9;
}
.p-about-merit-grid__item:nth-child(2){
	border-bottom: 2px solid #D9D9D9;
}
.p-about-merit-grid__item:nth-child(3){
	border-bottom: 2px solid #D9D9D9;
	border-right: 2px solid #D9D9D9;
}
.p-about-merit-grid__item:nth-child(4){
	border-bottom: 2px solid #D9D9D9;
}
.p-about-merit-grid__item:nth-child(5){
	border-right: 2px solid #D9D9D9;
}
.p-about-merit__img{
	display: block;
	margin-bottom: 1rem;
}
.p-about-merit__text{
	font-size: var(--size-14);
	font-weight: 400;
}
@media screen and (min-width: 768px){
	.l-about{
		padding-top: 9rem;
	}
	.p-about-true__inner{
		max-width: 1094px;
		margin: auto;
		display: grid;
		grid-template-columns: 50% 1fr;
		gap: 4.6rem;
		align-items: center;
	}
	.p-about-title{
		font-size: 3rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.02em;
		color: #0F0068;
		margin-bottom: 2.3rem;
	}
	.p-about-grid{
		display: grid;
		grid-template-columns: 51% 1fr;
		gap: var(--size-48);
		align-items: center;
		margin-bottom: var(--size-70);
	}
	.p-about-title-number{
		font-family: "Heebo", sans-serif;
		font-size: 5rem;
		font-weight: 700;
		line-height: 1.4;
		letter-spacing: 0.02em;
		color: #AC272D;
		display: block;
	}
	.p-about-title-horizontal{
		display: flex;
		align-items: center;
	}
	.p-about-title-horizontal .p-about-title-number{
		display: inline-block;
		margin-right: 1rem;
		padding-top: 2px;
	}
	.p-about-title-merit{
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: "Noto Sans JP", sans-serif;
		font-size: 2rem;
		font-weight: 700;
		margin-bottom: 1rem;
	}
	.p-about-title-merit .p-about-title-number{
		display: inline-block;
		margin-right: 1rem;
		padding-top: 2px;
		font-size: 4rem;
	}
	.p-about-merit-grid{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 0;
		border-top: 2px solid #D9D9D9;
		border-bottom: 2px solid #D9D9D9;
		margin: 0;
	}
	.p-about-merit-grid__item{
		padding: 2rem;
	}
	.p-about-merit-grid__item:nth-child(1){
		padding: 2rem;
		border-bottom: 2px solid #D9D9D9;
		border-right: none;
	}
	.p-about-merit-grid__item:nth-child(2){
		padding: 2rem;
		border-right: 2px solid #D9D9D9;
		border-left: 2px solid #D9D9D9;
		border-bottom: 2px solid #D9D9D9;
	}
	.p-about-merit-grid__item:nth-child(3){
		padding: 2rem;
		border-bottom: 2px solid #D9D9D9;
		border-right: none;
	}
	.p-about-merit-grid__item:nth-child(4){
		border-bottom: none;
	}
	.p-about-merit-grid__item:nth-child(5){
		padding: 2rem;
		border-right: 2px solid #D9D9D9;
		border-left: 2px solid #D9D9D9;
	}
	.p-about-merit__img{
		display: block;
		margin-bottom: 1rem;
	}
	.p-about-merit__text{
		font-size: 1.6rem;
		font-weight: 500;
	}
	.point-02-reason{
		display: block;
		max-width: 1100px;
		margin: 0 auto var(--size-100);
	}
}

/* オーナー様の声 */
.l-orner{
	background: #D6DEEC;
	margin-top: var(--size-28);
	padding-top: var(--size-40);
	padding-bottom: var(--size-40);
}
.p-orner-box{
	background: #fff;
	border-radius: 10px;
	padding: var(--size-36) var(--size-15);
}
.p-orner-section{
	margin-bottom: var(--size-50);
}
.p-orner-section:last-child{
	margin-bottom: 0;
}
.p-orner-section--slide{
	margin-bottom: var(--size-80);
}
.p-orner-free-area{
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--size-14);
	align-items: center;
}
.p-orner-video-grid{
    margin: auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	align-items: center;
}
.p-orner-video-grid__item{
	text-align: center;
}
.p-orner-video-grid__sub-title{
	font-family: "Noto Serif JP", serif;
	font-size: var(--size-16);
	font-weight: 700;
	line-height: 2.35;
	letter-spacing: 0.02em;
	color: #0F0068;
	text-align: center;
}
.p-orner-video-grid__title{
	font-family: "Noto Serif JP", serif;
	font-size: var(--size-24);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.02em;
	color: #0F0068;
	text-align: center;
	padding-bottom: 2rem;
}
.p-orner-video-grid__text{
	text-align: left;
	margin-bottom: 3rem;
}
@media screen and (min-width: 768px){
	.l-orner{
		background: #D6DEEC;
		margin-top: var(--size-100);
		padding-top: var(--size-100);
		padding-bottom: var(--size-100);
	}
	.p-orner-box{
		background: #fff;
		border-radius: 10px;
		padding: var(--size-80) 4.3rem;
	}
	.p-orner-section{
		margin-bottom: var(--size-80);
	}
	.p-orner-section:last-child{
		margin-bottom: 0;
	}
	.p-orner-section--slide{
		margin-bottom: var(--size-100);
	}
	.p-orner-slide{
		margin-top: -3rem;
	}
	.p-orner-free-area{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--size-25);
		align-items: center;
	}
	.p-orner-video-grid{
		max-width: 1000px;
		margin: auto;
		display: grid;
		grid-template-columns: 55% 1fr;
		gap: var(--size-50);
		align-items: center;
	}
	.p-orner-video-grid__item{
		text-align: center;
	}
	.p-orner-video-grid__sub-title{
		font-family: "Noto Serif JP", serif;
		font-size: var(--size-20);
		font-weight: 700;
		line-height: 2.35;
		letter-spacing: 0.02em;
		color: #0F0068;
		text-align: center;
	}
	.p-orner-video-grid__title{
		font-family: "Noto Serif JP", serif;
		font-size: var(--size-40);
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: 0.02em;
		color: #0F0068;
		text-align: center;
		padding-bottom: 2rem;
	}
	.p-orner-video-grid__text{
		font-size: var(--size-18);
		text-align: left;
		margin-bottom: 3rem;
	}
}

/* 開業までの流れ */
.l-flow{
	padding: var(--size-50) 0 0;
}
@media screen and (min-width: 768px){
	.l-flow{
		padding: var(--size-100) 0 0;
	}
}


/* よくあるご質問 */
.l-faq{
	padding: var(--size-50) 0;
}
.l-faq-inner{
	max-width: calc(950px + 48px);
	padding: 0 24px;
	margin: auto;
}
@media screen and (min-width: 768px){
	.l-faq{
		padding: 8rem 0;
	}
}

/* 会社概要 */
.l-company{
	background: #F5F7FA;
	padding-top: var(--size-35);
	padding-bottom: var(--size-30);
}
.p-company-ttl{
	font-family: "Noto Serif JP", serif;
    font-size: var(--size-24);
    font-weight: 700;
    line-height: 1.175;
    letter-spacing: 0.1em;
    color: #0F0068;
	text-align: center;
    margin: 0 auto var(--size-30);
}
.p-company-ttl__inner {
    position: relative;
    display: inline-block;
}
.p-company-ttl__inner::before {
    content: "";
    width: 100%;
    height: 2px;
    background: #0F0068;
    position: absolute;
    bottom: -1rem;
    left: 50%;
    transform: translateX(-50%);
}
.p-company-table{
	background: #fff;
	border-radius: 10px;
	width: 100%;
}
.p-company-table tr{
	border-bottom: 1px solid #D3DDED;
}
.p-company-table tr:last-child{
	border-bottom: none;
}
.p-company-table th{
	border-right: 1px solid #D3DDED;
	width: 30%;
}
.p-company-table th,
.p-company-table td{
	padding: 1rem;
	vertical-align: middle;
	font-size: 1.4rem;
	font-weight: 400;
}
@media screen and (min-width: 768px){
	.l-company{
		background: #F5F7FA;
		padding-top: var(--size-90);
		padding-bottom: 5rem;
	}
	.p-company-ttl{
		font-family: "Noto Serif JP", serif;
		font-size: 4rem;
		font-weight: 700;
		line-height: 1.175;
		letter-spacing: 0.1em;
		color: #0F0068;
		text-align: center;
		margin: 0 auto 5rem;
	}
	.p-company-table th{
		width: 15rem;
	}
	.p-company-table th,
	.p-company-table td{
		padding: 1.5rem 2rem;
	}
}

/* フォーム */
.radio_wrap_w{
	display: flex;
	align-items: center;
	gap: var(--size-09);
}
.radio_wrap{
	width: calc(50% - 5px / 2);
	border: solid 1px #C4DBD0;
	background: #FFF;
	border-radius: 5px;
}
.radio_wrap label{
	display: flex;
	align-items: center;
	position: relative;
	justify-content: flex-start;
	padding: 0.6rem;
}
.contact_form{
	width: 100%;
}
.contact_form__tbody{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	flex-direction: column;
}
.contact_form__tbody tr{
	width: 100%;
	padding: 3px 0px;
	margin-bottom: 1rem;
}
.requir,
.optional {
    font-size: 1.4rem;
	font-weight: 500;
    color: #DB5858;
    line-height: 1;
    margin-left: 1rem;
}
.optional{
    color: #A2A2A2;
}
.contact_form__tbody th{
	width: 100%;
	display: block;
	text-align: left;
	font-size: 1.6rem;
	margin-bottom: 6px;
	color: #37835F;
}
.contact_form__tbody td{
	display: block;
	width: 100%;
}
.contact_form__tbody td input, .contact_form__tbody td select, .contact_form__tbody label{
	font-size: 1.6rem;
	height: 5.4rem;
}
.u-form__checkbox{
	width: 1em;
	margin-top: 0.1em;
}
.u-form__checked{
	display: none;
	width: 1em;
}
.u-form__check-wrap{
	position: relative;
	display: flex;
}
.radio-input:checked ~ .u-form__check-wrap .u-form__checked{
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.u-form__ttl{
	max-width: 612px;
	margin: 0 auto 2rem;
}
.l-topform{
	position: relative;
    background: url(../images/cta/cta-bg.png) repeat center;
	padding: var(--size-40) 0;
}
.u-form__inner{
	padding: 2rem 1.6rem;
	background: #F9F8F8;
	border: 1px solid #C4DBD0;
	border-radius: 5px;
}
.input_m, .input_s, .inp_s{
	width: 100%;
	border-radius: 5px;
	padding: .5em 1em;
	background: #FFF;
	border: 1px solid #C4DBD0;
}
.control--checkbox{
	display: flex;
	justify-content: center;
	font-size: 1.4rem;
	flex-wrap: wrap;
	margin: 2rem 0;
}
.control--requir-sp{
    font-size: 1.2rem;
	font-weight: 500;
    color: #DB5858;
    line-height: 1;
	margin: auto 1rem auto 0;
}
.control--requir-pc{
	display: none;
}
.validating3:checked ~ .u-form__check-wrap .u-form__checked{
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.u-form__privacy-link{
	color: #375783;
	text-decoration: underline;
	margin-right: 1rem;
}
.form_btn{
	max-width: 398px;
	margin: 1.5rem auto;
}
.form_btn--img{
	box-shadow: 0px 6.32px 12.32px 0px rgba(128, 66, 0, 0.1);
	border-radius: 9999px;
}
input[type="checkbox"]{
	width: 0;
	height: 0;
	margin: 0;
}
input::placeholder{
	color: #A2A2A2;
}
input[type="text"]:focus,
input[type="email"]:focus,
select:focus {
outline: 2px solid #37835F;
}
.u-form__check-wrap{
	margin-right: .5em;
}
.ad_wrap{
	position: relative;
}
.u-select__arrow{
	position: absolute;
	width: 1.8rem;
	height: 1.8rem;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
}
label.error{
	font-size: 13px;
	color: red;
	order: 1;
}
@media screen and (min-width: 768px){
	.radio_wrap_w{
		gap: var(--size-18);
	}
	.radio_wrap{
		border-radius: 10px;
	}
	.contact_form__tbody td input, .contact_form__tbody td select, .contact_form__tbody label{
		font-size: 1.8rem;
		height: 5rem;
	}
	.control--checkbox{
		font-size: 1.8rem;
		margin: 0 0 2rem;
	}
	.control--requir-sp{
		display: none;
	}
	.control--requir-pc{
		display: inline;
		font-size: 1.4rem;
		font-weight: 500;
		color: #DB5858;
		line-height: 1;
		margin: auto 1rem auto 0;
	}
	.l-topform{
		padding: var(--size-80) 0;
	}
	.u-form__inner{
		padding: 4rem;
		border-radius: 10px;
		max-width: 1100px;
        margin: 0 auto;
	}
	.contact_form__tbody tr{
		width: 100%;
		margin-bottom: 11px;
	}
	.contact_form__tbody th{
		font-size: 1.8rem;
		margin-bottom: 5px;
	}
	.input_m, .input_s, .inp_s{
		border-radius: 10px;
		padding: .5em 1em;
	}
	.u-select__arrow{
		width: 1em;
		height: 1em;
	}
}


/* footer */
.l-footer{
	padding-bottom: 32vw;
	background: #0F0068;
	color: #FFF;
}
.u-footer__copy{
	font-size: 1.4rem;
	font-weight: 400;
	color: #FFF;
	text-align: center;
	margin: 0;
	padding: 1.2rem;
	max-width: unset;
}
@media screen and (min-width: 768px){
	.l-footer{
		padding-bottom: 77px;
	}
}

/* fixed bottom */
.l-fixed-bottom{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100vw;
	z-index: 100;
}
.l-fixed-bottom-inner-sp{
	position: relative;
}
.u-fixed-bottom__txt-sp{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}
.u-fixed-bottom__link-sp{
	position: absolute;
	bottom: 3vw;
	left: 2vw;
	width: 55%;
	z-index: 110;
}
@media screen and (min-width: 768px){
	.l-fixed-bottom{
		background: #F0F5FF url(../images/fixed/form-anchor-bg.png) no-repeat top left / cover;
	}
	.l-fixed-bottom-inner{
		max-width: calc(997px + 48px);
		padding: 0 24px;
		margin: auto;
	}
	.u-fixed-bottom__contents{
		display: flex;
		padding: 10px 0;
		max-height: 77px;
		position: relative;
		justify-content: space-between;
		align-items: center;
		gap: 10px;
	}
	.u-fixed-bottom__icon{
		position: absolute;
		bottom: 0;
		max-width: clamp(1rem, 7vw , 9.8rem);
		width: 30%;
		height: auto;
	}
	.u-fixed-bottom__txt{
		margin-left: clamp(5rem, 10vw , 12rem);
		object-fit: contain;
		flex-grow: 1;
		max-width: 494px;
		width: 30%;
	}
	.u-fixed-bottom__link{
		max-width: 350px;
		width: 40%;
	}
	.u-fixed-bottom__btn{
		box-shadow: 0px 6.32px 12.64px 0px rgba(0, 128, 69, 0.1);
		border-radius: 9999px;
	}
}

/* thanks */
.l-thanks{
	color: #0F0068;
	background: #F5F7FA;
	padding: var(--size-26) 0 var(--size-30);
	text-align: center;
	position: relative;
}
.u-thanks__ttl{
	font-family: "Noto Serif JP", serif;
	font-size: var(--size-24);
	font-weight: 900;
	line-height: 1.5;
	margin-bottom: var(--size-30);
}
.u-thanks__contents{
	position: relative;
}
.u-thanks__txt{
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0;
	margin-bottom: 3em;
	color: #333;
}
.u-thanks__link{
	display: block;
	max-width: 275px;
	margin: 5rem auto 0;
}
.u-thanks__img-left{
	width: 22%;
	max-width: 296px;
	position: absolute;
	bottom: 12rem;
	left: 0;
}
.u-thanks__img-right{
	width: 20%;
	max-width: 258px;
	position: absolute;
	bottom: 12rem;
	right: 0;
}
.thanks .l-footer{
	padding-bottom: 0;
}
@media screen and (min-width: 768px){
	.l-thanks{
		color: #0F0068;
		background: #F5F7FA;
		padding: 8rem 0 4rem;
		text-align: center;
		position: relative;
	}
	.u-thanks__ttl{
		font-family: "Noto Serif JP", serif;
		font-size: 42px;
		font-weight: 900;
		line-height: 1.5;
		margin-bottom: 20px;
	}
	.u-thanks__contents{
		position: relative;
	}
	.u-thanks__txt{
		font-size: 16px;
		line-height: 1.75;
		letter-spacing: .1em;
		margin-bottom: 3em;
		color: #333;
	}
	.u-thanks__link{
		display: block;
		max-width: 275px;
		margin: 0 auto;
	}
	.u-thanks__img-left{
		width: 22%;
		max-width: 296px;
		position: absolute;
		bottom: calc(var(--size-30) * -1);
		left: 20%;
		transform: translateX(-50%);
	}
	.u-thanks__img-right{
		width: 20%;
		max-width: 258px;
		position: absolute;
		bottom: calc(var(--size-35) * -1);
		left: 80%;
		transform: translateX(-50%);
	}
	.thanks .l-footer{
		padding-bottom: 0;
	}
}


/* slickslider */
.slick-carousel-media .slick-slide{
	padding: 0 var(--size-05);
}
.slick-carousel-media .slick-arrow:before,
.slick-carousel-orner .slick-arrow:before{
	content:""!important;
	width: 100%!important;
	height: 100%!important;
	position: absolute;
	top: 0;
	left: 0;
}
.slick-carousel-media .slick-next,
.slick-carousel-orner .slick-next{
	right: -1.8rem;
	width: var(--size-28);
	height: var(--size-28);
	z-index: 99;
}
.slick-carousel-media .slick-next:before,
.slick-carousel-orner .slick-next:before{
	content: "";
	background: url(../images/common/next.svg)!important;
	background-size: contain!important;
	background-repeat: no-repeat!important;
	opacity: 1!important;
}
.slick-carousel-media .slick-prev,
.slick-carousel-orner .slick-prev{
	left: -1.8rem;
	width: var(--size-28);
	height: var(--size-28);
	z-index: 99;
}
.slick-carousel-media .slick-prev:before,
.slick-carousel-orner .slick-prev:before{
	content: "";
	background: url(../images/common/prev.svg)!important;
	background-size: contain!important;
	background-repeat: no-repeat!important;
	opacity: 1!important;
}
.slick-carousel-media .slick-dots,
.slick-carousel-orner .slick-dots{
	display: flex !important;
	justify-content: center;
	gap: 1rem;
}
.slick-carousel-media .slick-dots{
	bottom: -2rem !important;
}
.slick-carousel-orner .slick-dots{
	bottom: -3rem !important;
}
.slick-carousel-media .slick-dots li,
.slick-carousel-orner .slick-dots li{
	border-radius: 50% !important;
	background-color: #DDDDDD;
	border: none;
	font-size: 0;
	cursor: pointer;
	transition: background-color 0.3s;
}
.slick-carousel-media .slick-dots li{
	margin: 0 -2px !important;
}
.slick-carousel-orner .slick-dots li{
	margin: 0 2px !important;
}
.slick-carousel-media .slick-dots li{
	width: 0.7rem !important;
	height: 0.7rem !important;
}
.slick-carousel-orner .slick-dots li{
	width: 1.3rem !important;
	height: 1.3rem !important;
}
.slick-carousel-media .slick-dots li.slick-active,
.slick-carousel-orner .slick-dots li.slick-active{
	background-color: #CBDEFF;
}
.slick-carousel-media .slick-dots li button:before,
.slick-carousel-orner .slick-dots li button:before{
	display: none;
}
.slick-carousel-media .slick-dotted.slick-slider,
.slick-carousel-orner .slick-dotted.slick-slider{
	margin-bottom: 40px !important;
}
@media screen and (min-width: 768px){
	.slick-carousel-media .slick-list {
		padding: 0 15% 0 0!important;
	}
	.slick-carousel-media .slick-slide{
		padding: 0 var(--size-10);
	}
	.slick-carousel-media .slick-next,
	.slick-carousel-orner .slick-next{
		width: var(--size-60);
		height: var(--size-60);
	}
	.slick-carousel-media .slick-prev,
	.slick-carousel-orner .slick-prev{
		width: var(--size-60);
		height: var(--size-60);
	}
}

/* youtube再生 */
.p-video-wrapper{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: 10px;
	margin-bottom: var(--size-24);
}
.p-video-wrapper iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 768px){
	.p-video-wrapper{
		margin-bottom: 0;
	}
}