@charset "utf-8";

/* =========================================================
	Base
========================================================= */

/* sectionMv */
.sectionMv{
	padding-top:60px;
}

/* sectionAbout */
.sectionAbout{
	position:relative;
}

.sectionAbout__bk01,
.sectionAbout__bk02{
	position:absolute;
	left:0;
	width:100%;
	z-index:1;
	filter:drop-shadow(0 4px 6px rgba(0,0,0,0.2));
	will-change:transform;
	transform:translate3d(0,0,0);
	pointer-events:none; /* クリック邪魔しない */
}

.sectionAbout__bk01{
	bottom:0;
}

.sectionAbout__bk02{
	top:0;
}

.sectionAbout .sectionAbout__info,
.sectionAbout .sectionAbout__timeItem{
	background-color:#fff;
	border-radius:10px;
	box-shadow:0 4px 6px rgba(0,0,0,0.2));
	position:relative;
	z-index:2;
}

.sectionAbout__h2{
	min-height:56px;
	background-color:#E18173;
	color:#fff;
	font-size:28px;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	border-radius:10px 10px 0 0;
	padding:12px;
}

.sectionAbout__mainArea{
	padding:48px 40px 40px;
	display:flex;
	flex-direction:column;
}

.sectionAbout__name{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:24px;
	line-height:1;
	margin-bottom:40px;
}

.sectionAbout__nameText{
	text-align:center;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:16px;
	line-height:1;
}

.nameText01{
	display:flex;
	align-items:baseline;
	justify-content:center;
}

.nameText01-01{
	font-size:64px;
}

.nameText01-02{
	font-size:32px;
}

.nameText02{
	font-size:18px;
}

.nameText__x{
	position:relative;
	width:50px;
	height:50px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.nameText__x::before,
.nameText__x::after{
	content:"";
	position:absolute;
	height:1px;
	width:50px;
	background-color:#1A1311;
}

.nameText__x::before{
	transform:rotate(45deg);
}

.nameText__x::after{
	transform:rotate(-45deg);
}

.sectionAbout__list{
	border-top:1px solid #ddd;
}

.sectionAbout__item{
	padding:24px 0;
	display:flex;
	align-items:center;
	gap:16px;
	border-bottom:1px solid #ddd;
}

.sectionAbout__check-text{
	font-size:24px;
}

.sectionAbout__sublist{
	display:flex;
	flex-direction:column;
	gap:16px;
	margin-top:24px;
}

.ectionAbout__sublist-text{
	width:100%;
}

/* time */
.sectionAbout__timeList{
	display:flex;
	flex-direction:column;
	gap:80px;
}

.sectionAbout__timeItem{
	position:relative;
}

.timeText{
	height:56px;
	background-color:#64B7AF;
	color:#fff;
	font-size:28px;
	display:flex;
	align-items:stretch;
	justify-content:center;
	text-align:center;
	border-radius:10px 10px 0 0;
	width:100%;
	overflow:hidden;
}

.timeText01,
.timeText02{
	height:auto;
	display:flex;
	align-items:center;
	justify-content:flex-start;
	padding:0 24px;
	font-size:32px;
}

.timeText01{
	background-color:#004D49;
	justify-content:center;
	text-align:center;
	width:140px;
}

.timeText02{
	width:calc(100% - 140px);
}

.teiinText{
	position:absolute;
	top:-30px;
	right:-30px;
	width:140px;
	height:auto;
	border-radius:100vh;
	aspect-ratio:1/1;
	background-color:#896536;
	box-shadow:0 4px 6px rgba(0,0,0,0.2));
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	line-height:1;
}

.teiinText01{
	font-size:18px;
}

.teiinText02{
	font-size:48px;
	margin:3px 0 7px;
}

.sectionAbout__timeBottom{
	padding:48px 40px 40px;
	display:flex;
	flex-direction:column;
}

.sectionAbout__time-photoArea,
.sectionAbout__time-photoArea02{
	border-radius:6px;
	box-shadow:0 4px 6px rgba(0,0,0,0.2));
}

.sectionAbout__time-photoArea{
	width:50%;
}

.sectionAbout__time-photoArea2{
	width:100%;
}

.sectionAbout__time-h2{
	width:calc(50% - 30px);
	display:flex;
	flex-direction:column;
	gap:10px;
	line-height:1;
}

.nameText001-01{
	font-size:64px;
}

.nameText001-02{
	font-size:32px;
}

.nameText001-03{
	font-size:56px;
}

.nameText003{
	font-size:18px;
}

.sectionAbout__time-h3{
	font-size:40px;
	margin-top:40px;
	margin-bottom:24px;
	border-top:1px solid #ddd;
	border-bottom:1px solid #ddd;
	padding-top:24px;
	padding-bottom:24px;
}

.sectionAbout__time-subList{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.sectionAbout__time-subItem{
	font-size:20px;
	padding-left:30px;
	position:relative;
}

.sectionAbout__time-subItem::before{
	content:"⚫︎";
	position:absolute;
	color:#E18173;
	font-size:20px;
	left:0;
}

.sectionAbout__time-h2_02{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:24px;
	line-height:1;
}

.sectionAbout__nameText02{
	display:flex;
	flex-direction:column;
	gap:16px;
	line-height:1;
}

.nameText001{
	display:flex;
	align-items:baseline;
}

/* CTA */
.sectionCta{
	background-image:url(../../assets/images/bg/bgPhoto03@2x.webp);
	background-position:50% 50%;
	background-repeat:no-repeat;
	background-size:cover;
	padding:80px 0 100px;
	position:relative;
	z-index:3;
}

/* sectionOverview */
.sectionOverview{
	background-color:#fff;
}

/* sectionAccess */
.sectionAccess{
	background-color:#fff;
}

.sectionAccess__iframe{
	width:100%;
	height:auto;
	aspect-ratio:5/3;
	border-radius:10px;
}

.sectionAccess__list{
	display:flex;
	flex-direction:column;
	gap:24px;
	margin-top:32px;
}

.sectionAccess__item{
	color:#666;
}

.sectionAccess__item-span{
	color:#1A1311 !important;
	display:block;
}

/* sectionProfile */
.sectionProfile__list{
	border-top:1px solid #ddd;
}

.sectionProfile__item{
	border-bottom:1px solid #ddd;
	padding:56px 0;
	display:flex;
	align-items:flex-start;
	gap:40px;
}

.sectionProfile__item:nth-child(2n){
	flex-direction:row-reverse;
}

.sectionProfile__photo{
	aspect-ratio:7/9;
	width:280px;
	height:auto;
	border-radius:6px;
	box-shadow:0 4px 6px rgba(0,0,0,0.2));
}

.sectionProfile__text{
	width:calc(100% - 280px - 40px);
}

.l-name{
	margin-bottom:24px;
	display:flex;
	align-items:flex-end;
	gap:12px;
	line-height:1;
}

.l-name01{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.l-name01__01{
	font-size:12px;
}

.l-name02{
	display:flex;
	align-items:baseline;
}

.l-name02__01{
	font-size:40px;
}

.l-name02__02{
	font-size:24px;
}

.l-nameX{
	position:relative;
	width:24px;
	height:24px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.l-nameX::before,
.l-nameX::after{
	content:"";
	position:absolute;
	height:1px;
	width:24px;
	background-color:#1A1311;
}

.l-nameX::before{
	transform:rotate(45deg);
}

.l-nameX::after{
	transform:rotate(-45deg);
}

.sectionProfile__textList{
	display:flex;
	flex-direction:column;
	gap:16px;
}

.sectionProfile__textItem{
	width:100%;
	color:#666;
	line-height:2.5;
}

/* sectionForm */
.sectionForm{
	background-color:#fff;
}

.formArea__area{
	margin-bottom:32px;
}

.form__waku{
	border-top:1px solid #ddd;
}

.form__list{
	margin:0;
	padding:0;
}

.form__item{
	display:flex;
	gap:30px;
	align-items:stretch;
	padding:32px 0;
	border-bottom:1px solid #ddd;
}

.form__item:has(.is-invalid) .error{
	display:block;
}

.form__item dt,
.form__item dd{
	height:auto;
}

.form__item dt{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:230px;
}

.form__item dd{
	margin:0;
	width:calc(100% - 230px - 30px);
}

/* 必須/任意ラベル */
.hissu,
.nini{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:22px;
	width:40px;
	border-radius:3px;
	font-size:12px;
	vertical-align:middle;
	line-height:1;
}

.hissu{
	background:#E18173;
	color:#fff;
}

.nini{
	background:#666;
	color:#fff;
}

/* 入力枠 */
.form__dd-waku input,
.form__dd-waku textarea,
.form__dd-waku select{
	width:100%;
	box-sizing:border-box;
	background:#F1F1F1;
	border:1px solid transparent;
	border-radius:3px;
	padding:16px 14px;
	outline:none;
	min-height:56px;
}

.form__dd-waku textarea{
	resize:vertical;
	min-height:120px;
}

.hint{
	font-size:12px;
	color:#666;
	margin:8px 0 0;
}

/* ラジオ */
.form__dd-radio{
	display:flex;
	flex-direction:column;
	gap:10px;
}

.form__dd-item label{
	display:flex;
	gap:12px;
	align-items:center;
	cursor:pointer;
}

.form__dd-item input[type="radio"]{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 21px;			/* サイズ調整 */
	height: auto;
	min-height: 0;
	padding: 0;
	aspect-ratio:1/1;
	border: 1px solid #666;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	position: relative;
}

/* 選択時の外枠 */
.form__dd-item input[type="radio"]:checked{
	border-color: #E18173;
}

/* 中の● */
.form__dd-item input[type="radio"]:checked::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	background-color: #E18173;
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.form__dd-item-label{
	line-height:1.6;
	width:calc(100% - 20px - 12px);
}

/* select の矢印 */
.selectWrap{
	position:relative;
}

.selectWrap select{
	appearance:none;
	-webkit-appearance:none;
	padding-right:46px;
}

.selectArrow{
	position:absolute;
	right:16px;
	top:50%;
	width:10px;
	height:10px;
	border-right:2px solid #E18173;
	border-bottom:2px solid #E18173;
	transform:translateY(-60%) rotate(45deg);
	pointer-events:none;
}

/* エラー */
.error{
	display:none;
	color:#d64545;
	font-size:13px;
	margin-top:8px;
}

.is-invalid{
	border-color:#d64545;
	background:#fff;
}

#js-form.is-confirm .form__lead {
	display: none;
}

/* プライバシー */
.privacy_area{
	padding:40px 0;
}

.privacy_waku{
	background:#fafafa;
	border:1px solid #eee;
	border-radius:6px;
	padding:32px;
	color:#666;
	max-height:240px;
	overflow:auto;
	-ms-overflow-style:none;
	scrollbar-width:none;
}

.privacy_waku::-webkit-scrollbar{
	display:none;
}

.p_ttl_00{
	font-weight:800;
	margin:0 0 12px;
}

.p_waku{
	padding:12px 0;
	border-top:1px solid #eee;
}

.p_waku:first-of-type{
	border-top:none;
	padding-top:0;
}

.p_ttl_02{
	font-weight:700;
	margin:0 0 6px;
	font-size:14px;
}

.txt_01{
	margin:0;
	line-height:1.8;
	font-size:12px;
}

.sub_privacy{
	margin-top:32px;
}

.sub_privacy_txt{
	color:#666;
	line-height:1.8;
	font-size:12px;
	text-indent:-1.6em;
	padding-left:1.6em;
}

/* 同意 */
#js-agree{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 21px;			/* サイズ調整 */
	height: auto;
	aspect-ratio:1/1;
	border: 1px solid #666;
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
	position: relative;
}

/* チェック時 */
#js-agree:checked{
	border-color: #E18173;
	background-color: #E18173;
}

/* チェックマーク */
#js-agree:checked::after{
	content: "";
	position: absolute;
	top: 2px;
	left: 6px;
	width: 6px;
	height: 10px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg);
}

.agreeArea{
	display:flex;
	flex-direction:column;
	gap:8px;
	align-items:center;
	padding:8px 0 18px;
}

.agreeLabel{
	display:flex;
	gap:8px;
	align-items:center;
	cursor:pointer;
}

.agreeLabel input{
	margin:0;
}

.agreeLabel span{
	color:#666;
	line-height: normal;
}

/* 送信ボタン */
.form__submit{
	display:flex;
	justify-content:center;
	padding:16px 0 8px;
}

.submit{
	padding:0 24px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:100vh;
	box-shadow:0 4px 6px rgba(0,0,0,.2);
	background-color:#E18173;
	border:none;
	min-height:50px;
	color:#fff;
	max-width:270px;
	width:100%;
	font-size:18px;
	transition:opacity .2s, transform .05s;
}

.submit:active{
	transform:translateY(1px);
}

.submit:disabled{
	opacity:1;
	background:#cfcfcf;
	color:#fff;
	box-shadow:none;
	cursor:not-allowed;
	background-image:none !important;
}

#js-btnConfirm:disabled{
	background:#cfcfcf !important;
	background-image:none !important;
	box-shadow:none !important;
	cursor:not-allowed;
}

#js-btnConfirm:not(:disabled){
	background:#E18173 !important;
}

.form__lead{
	margin:0 0 14px;
	font-size:14px;
}

.form__lead span{
	color:#E18173;
}


/* =========================================================
	Media Queries（まとめ）
========================================================= */

/* =========================
	@media 1200px
========================= */
@media screen and (max-width:1200px){
	.sectionMv{
		padding-top:50px;
	}

	.sectionAbout__h2{
		font-size:24px;
	}

	.sectionAbout__name{
		gap:16px;
		margin-bottom:30px;
	}

	.nameText01-01{
		font-size:48px;
	}

	.nameText01-02{
		font-size:24px;
	}

	.nameText02{
		font-size:14px;
	}

	.sectionAbout__item{
		padding:18px 0;
	}

	.sectionAbout__check-text{
		font-size:20px;
	}

	.sectionAbout__mainArea{
		padding:32px 30px 30px;
	}

	.sectionAbout__sublist{
		gap:14px;
	}

	.teiinText{
		top:-10px;
		right:-10px;
		width:110px;
	}

	.sectionAbout__timeList{
		gap:60px;
	}

	.sectionAbout__time-h2_02{
		gap:16px;
	}

	.timeText01,
	.timeText02{
		font-size:24px;
		padding:0 12px;
	}

	.timeText01{
		width:80px;
	}

	.timeText02{
		width:calc(100% - 80px);
	}

	.teiinText01{
		font-size:14px;
	}

	.teiinText02{
		font-size:32px;
		margin:1px 0 4px;
	}

	.sectionAbout__timeBottom{
		padding:32px 30px 30px;
	}

	.nameText001-01{
		font-size:48px;
	}

	.nameText001-02{
		font-size:24px;
	}

	.nameText001-03{
		font-size:40px;
	}

	.nameText003{
		font-size:14px;
	}

	.sectionAbout__time-h3{
		font-size:32px;
		margin-top:24px;
		margin-bottom:18px;
		padding-top:18px;
		padding-bottom:18px;
	}

	.sectionAbout__time-subList{
		gap:0;
	}

	.sectionAbout__time-subItem{
		font-size:16px;
		padding-left:24px;
	}

	.sectionAbout__time-subItem::before{
		font-size:14px;
	}

	.sectionAbout__nameText02{
		gap:8px;
	}

	.sectionCta{
		padding:50px 0 55px;
	}
}

/* =========================
	@media 900px
========================= */
@media screen and (max-width:900px){
	.sectionMv{
		padding-top:40px;
	}

	.sectionAbout__h2{
		font-size:20px;
	}

	.timeText01,
	.timeText02{
		font-size:20px;
	}

	.sectionAbout__name{
		gap:8px;
		flex-wrap:wrap;
	}

	.sectionAbout__time-h2_02{
		gap:8px;
		flex-wrap:wrap;
	}

	.sectionProfile__item{
		padding:40px 0;
		align-items:center;
		gap:32px;
		flex-direction:column;
	}

	.sectionProfile__item:nth-child(2n){
		align-items:center;
		flex-direction:column;
	}

	.sectionProfile__text{
		width:100%;
	}

	.sectionAbout__bk01,
	.sectionAbout__bk02{
		display:none !important;
	}

	.sectionProfile__photo{
		aspect-ratio:16/9;
		width:100%;
		max-width:430px;
	}

	.sectionProfile__photo img{
		object-position:50% 25%;
	}

	.sectionProfile__item:nth-child(2) .sectionProfile__photo img{
		object-position:50% 35%;
	}

	.l-name{
		gap:8px;
		flex-wrap:wrap;
	}

	.l-name01{
		align-items:center;
	}
}

/* =========================
	@media 768px
========================= */
@media screen and (max-width:768px){
	.sectionMv{
		padding-top:30px;
		padding-bottom:0;
	}

	.sectionMv .l-container{
		width:100%;
		max-width:100%;
	}

	.sectionAbout__name{
		flex-direction:column;
	}

	.nameText01{
		justify-content:center;
	}

	.nameText__x{
		width:30px;
		height:30px;
		margin-top:8px;
	}

	.nameText__x::before,
	.nameText__x::after{
		width:30px;
	}

	.sectionAbout__item{
		gap:12px;
	}

	.sectionAbout__check{
		width:20px;
	}

	.sectionAbout__time-photoArea,
	.sectionAbout__time-photoArea02{
		width:100%;
		aspect-ratio:16/9;
	}

	.sectionAbout__time-h2{
		justify-content:center;
		width:100%;
		align-items:center;
		flex-direction:row;
		flex-wrap:wrap;
	}

	.sectionAbout__time-h2_02{
		flex-direction:column;
	}

	.sectionAbout__time-h3{
		font-size:28px;
		text-align:center;
		line-height:normal;
		padding-top:14px;
		padding-bottom:14px;
	}

	.sectionProfile__item{
		padding:32px 0;
		gap:24px;
	}

	.l-name{
		margin-bottom:18px;
		flex-direction:column;
		align-items:center;
	}

	.sectionProfile__textItem{
		line-height:2;
	}

	.form__item{
		display:block;
		padding:24px 0;
	}

	.form__item dt,
	.form__item dd{
		width:100%;
	}

	.form__item dt{
		padding-bottom:16px;
	}
	.agreeLabel {
		flex-direction: column;
		justify-content: center;
	}
	.agreeLabel span {
		text-align: center;
	}
}
.sectionThanks {
	min-height: calc(100vh - 130px - 64px);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.form__complete-text {
	display: flex;
    flex-direction: column;
    gap: 14px;
    background-color: #fff;
    border-radius: 10px;
    padding: 30px;
    
}
.form__complete-text01 {
	font-size: 14px;
	color: #666;
}
.form__complete-text02 {
	font-size: 14px;
	color: #666;
}

.sectionThanks .l-cta__area {
	margin-top: 48px;
}

@media screen and (max-width:768px){
	.sectionThanks {
		min-height: calc(100vh - 110px - 64px);
	}
	.form__complete-text01 {
		font-size: 12px;
	}
	.form__complete-text02 {
		font-size: 12px;
	}
	.sectionThanks .l-cta__area {
		margin-top: 32px;
	}
}

