@charset "utf-8";

/* ------------------------------------------------------------
	共有
------------------------------------------------------------ */
*{
	margin : 0 auto;
}
.sp{
	display : none;
}
@media screen and ( max-width : 768px ){
	.pc{
		display : none;
	}
}
section{
	padding : 120px 0;
}
.section-inner{
	width : 90%;
	max-width : 1088px;
	margin : 0 auto;
}
.section-ttl-box{
	color : black;
	text-align : center;
}
.section-ttl-ja{
	position : relative;
	font-size : 26px;
	letter-spacing : .1em;
}
.section-ttl-ja::before{
	position : absolute;
	bottom : -16px;
	left : 50%;
	width : 36px;
	height : 1px;
	content : "";
	background : black;
	transform : translateX( -50% );
}
.section-ttl-en{
	margin-top : 32px;
	font-size : 14px;
	letter-spacing : .1em;
}
.entry-btn{
	position : relative;
	z-index : 100;
	margin-top : 56px;
	text-align : center;
}
.entry-btn a{
	display : inline-block;
	width : 100%;
	height : 100%;
}
.entry-btn img{
	width : 360px;
	max-width : 96%;
	cursor : pointer;
	border-radius : 100vh;
	transition : .3s;
	object-fit : contain;
}
.entry-btn:hover img{
	box-shadow : none;
}

/* ------------------------------------------------------------
	header
------------------------------------------------------------ */
body{
	font-family : "Noto Serif JP" , "Noto Sans JP" , sans-serif;
	font-weight : 700;
}
h1 ,
h2 ,
h3 ,
h4{
	font-weight : 700;
}
header{
	display : flex;
	align-items : center;
	justify-content : center;
	height : 100px;
}
@media ( max-width : 768px ){
	header{
		height : auto;
	}
}
.header-logo{
	display : flex;
	flex-direction : column;
	width : 30%;
	margin-left : 0;
}
.header-right{
	display : flex;
	align-items : center;
	margin-right : 50px;
}
@media ( max-width : 768px ){
	.header-right{
		display : none;
	}
}
.Line-btn{
	position : relative;
	display : flex;
	align-items : center;
	width : 350px;
	height : 60px;
	text-decoration : none;
	cursor : pointer;
	background-color : #b00000;
	border-radius : 50px;
	box-shadow : 2px 2px 4px #9f9f9f;
	transition : .3s;
}
.Line-btn::before{
	position : absolute;
	top : 50%;
	left : 50%;
	width : 345px;
	height : 55px;
	content : "";
	border : 1px solid white;
	border-radius : 50px;
	transform : translate( -50% , -50% );
}
.Line-btn:hover{
	box-shadow : none;
}
.Line-btn img{
	width : 45px;
	height : auto;
	margin-left : 20px;
}
.Line-btn p{
	margin-left : 25px;
	margin-right : 0;
	font-size : 15px;
	color : white;
	text-decoration : none;
	letter-spacing : 1.5px;
}
.Line-btn p span ,
.Line-btn-main p span{
	font-size : 24px;
}
.arrow-header{
	position : relative;
	display : inline-block;
	padding-left : 8px;
	color : white;
}
.arrow1-header::before{
	position : absolute;
	top : 50%;
	left : 2px;
	width : 10px;
	height : 10px;
	margin-top : -2px;
	content : "";
	border : 0;
	border-top : solid 2px white;
	border-right : solid 2px white;
	transform : rotate( 45deg );
}
.arrow2-header::before{
	position : absolute;
	top : 50%;
	left : -8px;
	width : 10px;
	height : 10px;
	margin-top : -2px;
	content : "";
	border : 0;
	border-top : solid 2px white;
	border-right : solid 2px white;
	transform : rotate( 45deg );
}
.arrow3-header::before{
	position : absolute;
	top : 50%;
	left : -18px;
	width : 10px;
	height : 10px;
	margin-top : -2px;
	content : "";
	border : 0;
	border-top : solid 2px white;
	border-right : solid 2px white;
	transform : rotate( 45deg );
}

/* ------------------------------------------------------------
	top
------------------------------------------------------------ */
.main-visual{
	position : relative;
	width : 100%;
	height : 760px;
	overflow : hidden;
	background-image : url( "../images/tour2025/254.jpg" );
	background-repeat : no-repeat;
	background-size : cover;
}
.main-visual::before{
	position : absolute;
	top : 0;
	left : 0;
	width : 100%;
	height : 100%;
	content : "";
	background : linear-gradient( rgb( 0 0 0 / .1 ) , rgb( 0 0 0 / .1 ) );
}
.top-deco{
	display : inline-block;
	padding : 0 8px;
	color : #b00000;
	background-color : white;
}
.main-visual-txt-bottom{
	display : inline-block;
	padding-top : 12px;
}
h2{
	position : relative;
	z-index : 1;
	padding-top : 130px;
	font-size : 36px;
	color : #fff;
	text-align : center;
}
.main-logo-img{
	position : relative;
	z-index : 1;
	display : flex;
	flex-direction : column;
	padding-top : 8px;
	padding-bottom : 8px;
}
.main-logo-img img{
	width : 100%;
	max-width : 720px;
	height : auto;
}
.arrow{
	position : relative;
	display : inline-block;
	padding-left : 8px;
	color : #b00000;
}
.main-record{
	position : relative;
	z-index : 1;
	display : flex;
	flex-direction : column;
	margin : auto;
}
.main-record img{
	width : 100%;
	max-width : 600px;
	height : auto;
}
.main-visual .entry-btn{
	margin-top : 0;
}
.Line-btn-main{
	position : relative;
	display : flex;
	align-items : center;
	width : 360px;
	height : 65px;
	margin-top : 60px;
	text-decoration : none;
	background-color : #fff;
	border : 2px solid #b00000;
	border-radius : 50px;
	box-shadow : 2px 2px 4px #9f9f9f;
}
.Line-btn-main img{
	position : absolute;
	top : -50px;
	right : 0;
	width : 70px;
	height : auto;
}
.Line-btn-main p{
	margin-left : 30px;
	margin-right : 0;
	font-size : 16px;
	color : #b00000;
	text-decoration : none;
	letter-spacing : 1.5px;
}
.arrow1::before{
	position : absolute;
	top : 50%;
	left : 0;
	width : 10px;
	height : 10px;
	margin-top : -2px;
	content : "";
	border : 0;
	border-top : solid 2px #b00000;
	border-right : solid 2px #b00000;
	transform : rotate( 45deg );
}
.arrow2::before{
	position : absolute;
	top : 50%;
	left : -15px;
	width : 10px;
	height : 10px;
	margin-top : -2px;
	content : "";
	border : 0;
	border-top : solid 2px #b00000;
	border-right : solid 2px #b00000;
	transform : rotate( 45deg );
}
.arrow3::before{
	position : absolute;
	top : 50%;
	left : -30px;
	width : 10px;
	height : 10px;
	margin-top : -2px;
	content : "";
	border : 0;
	border-top : solid 2px #b00000;
	border-right : solid 2px #b00000;
	transform : rotate( 45deg );
}
.main-text-img{
	position : relative;
	display : flex;
	align-items : center;
	width : 100%;
	height : auto;
	margin-top : 60px;
	background : rgb( 0 0 0 / .5 );
}
.main-text{
	position : relative;
}
.main-text-img .maintxt{
	width : auto;
	max-width : 926px;
	height : 150px;
	padding : 26px 0;
	object-fit : contain;
}
.main-text-img .expenses{
	position : absolute;
	top : -12px;
	right : 10%;
	width : 360px;
	transform : rotate( 5deg );
}
.main-text .expenses-sp{
	position : absolute;
	top : -18px;
	right : 16px;
	width : 200px;
	transform : rotate( 5deg );
}
@media ( max-width : 768px ){
	.main-text-img .expenses{
		position : absolute;
		top : -25px;
		right : 20px;
		width : 240px;
		transform : rotate( 5deg );
	}
}
.mv-animation{
	position : absolute;
	bottom : 0;
	left : 0;
	right : 0;
	display : flex;
	justify-content : space-between;
	width : 100%;
	padding : 16px;
	background : #790000cc;
}
.mv-animation p{
	display : inline-block;
	font-size : 12px;
	color : white;
	white-space : nowrap;
	animation : scrollSample01 20s linear infinite;
}
@keyframes scrollSample01{
	0%{
		transform : translateX( 0 );
	}
	100%{
		transform : translateX( -100% );
	}
}

/* ------------------------------------------------------------
	section1
------------------------------------------------------------ */
.sec1{
	position : relative;
	width : 100%;
	background : url( "../images/tour2025/sec1_bg.png" ) center bottom / cover no-repeat;
}
.sec1-ttl{
	color : white;
}
.sec1-ttl-ja{
	position : relative;
}
.sec1-ttl-ja::before{
	position : absolute;
	bottom : -16px;
	left : 50%;
	width : 36px;
	height : 1px;
	content : "";
	background : white;
	transform : translateX( -50% );
}
.sec1-list{
	display : flex;
	flex-direction : column;
	gap : 16px;
	justify-content : center;
	margin-top : 56px;
}
.sec1-item-top{
	display : flex;
	gap : 16px;
	justify-content : center;
}
.sec1-item-bottom{
	display : flex;
	gap : 16px;
	justify-content : center;
}
.sec1-item{
	position : relative;
	display : block;
	flex-direction : column;
	width : 310px;
	padding : 50px 0;
	overflow : hidden;
	color : #b00000;
	text-align : center;
	letter-spacing : .1em;
	background : white;
	border-radius : 10px;
}
.sec1-item::before{
	position : absolute;
	bottom : -1px;
	right : -2px;
	width : 30px;
	height : 30px;
	content : "";
	background : url( "../images/tour2025/corner.png" ) 0 / contain no-repeat;
	transform : rotate( 90deg );
}
.sec1-item span{
	font-size : 24px;
}
.arrow-box{
	position : absolute;
	bottom : 25px;
	left : 50%;
	transform : translateX( -50% );
}
.arrow-box img{
	width : 25px;
	object-fit : contain;
}

/* ------------------------------------------------------------
	section2
------------------------------------------------------------ */
.sec2{
	width : 100%;
	padding : 0 0 50px;
}
.section-title{
	color : #fff;
}
.sub-title{
	font-size : 16px;
	color : #fff;
	text-align : center;
}
.cta{
	margin : 32px auto 120px;
}
.cta-img_pc{
	width : 100%;
}
.cta-img_sp{
	display : none;
}
.sec2-list{
	display : flex;
	flex-direction : column;
	gap : 24px;
	margin-top : 56px;
}
.sec2-item{
	display : flex;
	gap : 40px;
	align-items : center;
	justify-content : space-between;
	padding : 24px;
	box-shadow : 3px 3px 2px rgb( 196 196 196 );
}
.sec2-item img{
	width : 360px;
	object-fit : cover;
	border-radius : 10px;
}
.sec2-ttl{
	font-size : 22px;
	font-weight : 700;
	color : #b00000;
	letter-spacing : .1em;
}
.sec2-txt{
	margin-top : 16px;
}

/* ------------------------------------------------------------
	section3
------------------------------------------------------------ */
.sec3 .section-introduction-img img{
	width : 100%;
}
.sec3 ul{
	width : 100%;
	padding : 0;
}
.slider-items{
	margin-top : 56px;
}
.slider-item{
	list-style-type : none;
}
.sec3 ul li{
	width : 100%;
	width : 240px;
	margin : 0 10px;
}
.slider-item img{
	width : 100%;
	object-fit : cover;
	margin-top : 16px;
}
.slider-ttl{
	text-align : center;
}
.slider-txt{
	margin-top : 16px;
	font-size : 14px;
	line-height : 2;
	text-align : left;
}
.slider-items.slick-initialized .slick-slide{
	display : flex;
	align-items : flex-start;
	justify-content : space-between;
	margin : 10px;
}
.slick-slide img{
	flex : 1 1 auto;
	flex-shrink : 0;
}

/* ------------------------------------------------------------
	section4
------------------------------------------------------------ */
.sec4{
	background-color : #f6f6f6;
}
.sec4-list{
	display : flex;
	gap : 16px;
	justify-content : center;
	margin-top : 56px;
}
.sec4-item{
	position : relative;
	width : 30%;
	padding : 32px 16px;
	overflow : hidden;
	background : white;
	border-radius : 10px;
}
.sec4-item::before{
	position : absolute;
	top : 0;
	right : 0;
	width : 30px;
	height : 30px;
	content : "";
	background : url( "../images/tour2025/corner.png" ) 0 / contain;
}
.sec4-item-top{
	text-align : center;
}
.sec4-item-top img{
	width : 160px;
	height : 160px;
	object-fit : cover;
	border-radius : 50%;
}
.sec4-item-top p{
	height : 2.8em;
	margin-top : 8px;
}
.sec4-item-ttl{
	margin-top : 12px;
	font-size : 18px;
	color : #b00000;
	letter-spacing : .1em;
}
.sec4-item-txt{
	margin-top : 24px;
	letter-spacing : .1em;
}

/* ------------------------------------------------------------
	section5
------------------------------------------------------------ */
/* .sec5_sp {
  display: none;
} */
.sec5-img{
	margin-top : 56px;
}
.sec5-list{
	display : flex;
	gap : 24px;
	align-items : center;
	overflow : scroll;
}
.sec5-item img{
	width : 220px;
	object-fit : contain;
}
.sec5-main{
	display : flex;
	flex-direction : column;
	width : 100%;
	margin-top : 50px;
	margin-bottom : 100px;
}
.sec5-img{
	width : 100%;
	margin-bottom : 30px;
}

/* ------------------------------------------------------------
	section6
------------------------------------------------------------ */
.sec6{
	background-color : #f6f6f6;
}
.flow{
	width : 100%;
	margin-top : 56px;
}
.flow-img_pc{
	width : 100%;
	object-fit : contain;
}
.flow-img_sp{
	display : none;
}

/* ------------------------------------------------------------
	section7
------------------------------------------------------------ */
.sec7{
	background-color : #f6f6f6;
}
.main-faq{
	padding-bottom : 30px;
	margin-top : 50px;
}
.faq{
	width : 90%;
	max-width : 990px;
	margin-top : 50px;
}
.faq p{
	line-height : 3;
	text-align : left;
}

/* ------------------------------------------------------------
	section8
------------------------------------------------------------ */

/* ------------------------------------------------------------
	エントリー
------------------------------------------------------------ */
#container #contact{
	max-width : 670px;
	margin : 0 auto 64px;
}
#container #contact .form{
	width : 90%;
	margin : auto;
}
#container #contact .section-title{
	margin : 0 auto 24px;
	color : #b20214;
}
#container #contact .item-table{
	width : 100%;
}
#container #contact .item-table th{
	display : block;
	width : 100%;
	margin-bottom : 6px;
	text-align : left;
}
#container #contact .item-table th .txt ,
#container #contact .item-table th .item-txt{
	vertical-align : middle;
}
#container #contact .item-table th .txt{
	padding : 0 2px;
	margin-right : 12px;
	font-size : 16px;
	font-weight : 700;
	color : #b20214;
}
#container #contact .item-table th .item-txt{
	padding : 2px 4px;
	font-size : 12px;
	color : white;
	background : rgb( 182 0 20 );
}
#container #contact .item-table tr:last-child th{
	vertical-align : top;
}
#container #contact .item-table td{
	display : block;
	width : 100%;
	padding : 0;
	margin-bottom : 20px;
}
#container #contact .item-table td input{
	box-sizing : border-box;
	width : 100%;
	height : 48px;
	padding : 10px;
	font-size : 16px;
	resize : none;
	background : rgb( 248 248 248 );
	border : 1px solid rgb( 204 204 204 );
	border-radius : 4px;
}
#container #contact .privacy{
	box-sizing : border-box;
	margin-bottom : 20px;
	overflow : auto;
}
#container #contact .privacy{
	font-size : 15px;
	line-height : 2;
}
#container #contact .privacy a{
	padding : 2px 4px;
	font-size : 15px;
	color : #b20214;
}
#container #contact .privacy p.textRight{
	margin-bottom : 20px;
	text-align : right;
}
#container p.textCenter{
	margin : 0 auto 40px;
	text-align : center;
}
#container.confirm .privacy ,
#container.confirm p.textCenter{
	display : none;
}
#container #contact .btn{
	display : block;
	width : fit-content;
	min-width : 180px;
	max-width : 100%;
	padding : 16px 32px;
	padding : ;
	margin : auto;
	font-size : 16px;
	line-height : 1.5em;
	line-height : 1.5;
	color : white;
	text-align : center;
	cursor : pointer;
	background : rgb( 182 0 20 );
	border : none;
	border-radius : 4px;
}
#container #contact .btn-gray{
	background : #a3a3a3;
}
#container #contact .line-btn{
	display : block;
	width : fit-content;
	min-width : 180px;
	max-width : 100%;
	padding : 16px 32px;
	margin : 24px auto;
	line-height : 1.5em;
	line-height : 1.5;
	color : white;
	text-align : center;
	text-decoration : none;
	cursor : pointer;
	background : rgb( 6 199 85 );
	border : none;
	border-radius : 4px;
}
#container #contact .complete-message{
	display : flex;
	flex-direction : column;
	align-items : center;
	justify-content : center;
	padding : 40px 16px 64px;
	line-height : 1.5em;
	text-align : left;
}
@media all and ( min-width : 769px ){
	#container #contact .complete-message{
		padding : 90px 16px;
		text-align : center;
	}
}

/* ------------------------------------------------------------
	footer
------------------------------------------------------------ */
.cta-bottom{
	position : fixed;
	bottom : 0;
	left : 0;
	z-index : 1000;
	width : 100%;
	padding : 6px 0;
	background : #b00000;
}
.entry-btn-bottom{
	margin-top : 0;
}

/* ------------------------------------------------------------
	footer
------------------------------------------------------------ */
footer{
	box-sizing : border-box;
	display : block;
	width : 100%;
	height : 132px;
	padding : 52px 0;
	background : #b00000;
}
footer p{
	margin : auto;
	font-size : 12px;
	line-height : 1.5em;
	color : white;
	text-align : center;
}
table{
	width : 96%;
	margin : 30px auto 15px;
	font-size : 14px;
	border-collapse : collapse;
}
td{
	width : 33.33%;

	/* border: 1px solid red; */
	padding : 8px 6px;
	font-size : 14px;
	text-align : center;
}
td .error{
	font-size : 15px;
	color : #b20214;
}
.sp-break{
	display : none;
}
@media ( min-width : 768px ){
	td{
		width : 33.33%;
	}
}
@media ( max-width : 768px ){
	table{
		font-size : 10px;
		background-color : #fff;
	}
	.sp-break{
		display : block;
	}
}
.sec3-text{
	font-size : 16px;
	font-weight : 700;
	text-align : center;
}
.emphasis{
	font-weight : 700;
}
