@charset "utf-8";
/*common
-----------------------------------------------------------------------------------------*/
section{
	padding: 90px 0;
}

.contents-wrapper{
	width: calc(100% - 100px);
	max-width: 1200px;
	margin: 0 auto;
}

img{
	height: 100%;
	object-fit: cover;
}

/* color */
:root {
	/* color */
	--white: rgb(255,255,255);
	--black: rgb(26,26,26);
	--blue: rgb(13,111,180);
	--orange-gradation: linear-gradient(rgb(244,120,34) 0%, rgb(231,97,1) 100%);
	--yellow-gradation: linear-gradient(rgb(244,190,24) 0%, rgb(240,172,0) 100%);
	--green-gradation: linear-gradient(rgb(64,187,79) 0%, rgb(36,168,56) 100%);
	--blue-gradation: linear-gradient(rgb(44,143,206) 0%, rgb(13,111,180) 100%);

	/* style */
	--main-color: var(--blue);
	--sub-color: var(--yellow-gradation);
	--base-color: rgb(246,244,240);
	--accent-color1: var(--orange-gradation);
	--accent-color2: var(--green-gradation );
  }
  .bg-white{
	  background: var(--white);
  }
  .bg-black{
	  background: var(--black);
  }
  .bg-base{
	  background: var(--base-color);
  }
  .bg-main{
	  background: var(--main-color);
  }
  .bg-sub{
	  background: var(--sub-color);
  }
  .bg-accent1{
	  background: var(--accent-color1);
  }
  .bg-accent2{
	  background: var(--accent-color2);
  }
  .bg-blue-gradient{
	  background: var(--blue-gradation);
  }
  .color-main{
	  color: var(--main-color);
  }

  /* フォント */
  .font-en{
	  font-family: 'DIN 2014';
  }
  .fw-base{
	  font-weight: 400;
  }
  .fw-md{
	  font-weight: 500;
  }
  .fw-bold{
	  font-weight: 700;
  }

/* layout */
.align-center{
	align-items: center;
}
.mx-auto{
	margin-left: auto;
	margin-right: auto;
}

/* 見だし */
.section-title.flex-wrapper{
	flex-direction: column;
}
.section-title-icon{
	width: 26px;
	margin-bottom: 10px;
	margin-left: auto;
	margin-right: auto;
}
.section-title-main{
	font-size: 1.75rem;
	font-weight: 700;
}
.section-title-sub{
	font-size: 0.625rem;
}
.title-bar{
	width: 170px;
	height: 3px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	background: linear-gradient(90deg, rgb(13,111,174) 0% 25%,rgb(255,237,0) 25% 50%, rgb(36,168,56) 50% 75%, rgb(231,97,1) 75% 100%);
}

.title-sidebar::before,
.title-sidebar::after{
	content: '';
	height: 4px;
	width: 35%;
	background: var(--main-color);
}

/* ボタン */
.more-link-btn{
	box-shadow: 0 6px 3px rgba(0,0,0,0.08);
	margin-top: 60px;
	width: 320px;
	max-width: 100%;
	padding: 20px 0;
	border-radius: 5px;
	position: relative;
	transition: all .3s;
}
.more-link-btn:hover{
	opacity: .7;
}
.more-link-btn::before{
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: 20px;
	width: 6px;
	height:6px;
	border-right: 1px solid var(--white);
	border-top: 1px solid var(--white);
	transform: rotate(45deg) translateY(-50%);
}
.more-link-btn::after{
	content: '';
	position: absolute;
	top:50%;
	right: 18px;
	width: 14px;
	background: var(--white);
	height: 1px;
	transform: translateY(-50%);
}
.search-btn-wrapper{
	margin-top: 50px;
	width: 320px;
	max-width: 100%;
	border-radius: 5px;
	border: none;
	position: relative;
}
input[type="submit"].search-btn{
	font-size: 1rem;
	box-shadow : 0px 6px 3px rgba(0, 0, 0, 0.08);
	width: 100%;
	padding: 20px 0;
	border-radius: 5px;
	border: none;
	transition: all .3s;
	position: relative;
}
.search-btn-wrapper::before{
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: 20px;
	width: 6px;
	height:6px;
	border-right: 1px solid var(--white);
	border-top: 1px solid var(--white);
	transform: rotate(45deg) translateY(-50%);
	z-index: 1;
}
.search-btn-wrapper::after{
	content: '';
	position: absolute;
	top:50%;
	right: 18px;
	width: 14px;
	background: var(--white);
	height: 1px;
	transform: translateY(-50%);
}
input[type="submit"]:hover{
	cursor: pointer;
	opacity: .7;
	transition: all .3s;
}

/* FV */
.fv{
	width: 100%;
	position: relative;
	z-index: 0;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}

.p-top-fv{
	height: 100vh;
	max-height: 735px;
}
.page-fv{
	height: 470px;
	position: relative;
	z-index: 0;
}
.page-fv:before{
	content: '';
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: inherit;
	filter: brightness(75%);
	z-index: -1;
}
.top-fv-title-wrapper{
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 30;
}
.site-title-logo{
	width: 35%;
	max-width: 300px;
}
.site-title-main{
	font-size: 3.75rem;
	position: relative;
}
.site-title-main::after{
	content: '';
	width: 100%;
	height: 5px;
	display: block;
	background: linear-gradient(90deg, rgb(13,111,180) 0% 25%,rgb(255,237,0) 25% 50%, rgb(36,168,56) 50% 75%, rgb(231,97,1) 75% 100%);
}
.site-title-sub{
	font-size: 1.5rem;
}
.fv-title-main{
	font-size: 2.5rem;
}
.fv-title-sub{
	font-size: 0.875rem;
}


@media screen and (max-width:1199px){
	.site-title-main{
		font-size: 3rem;
	}


}

@media screen and (max-width:1023px){
	.page-fv{
		height: 420px;
	}
	.site-title-logo{
		width: 240px;
	}
	.site-title-main{
		font-size: 2.5rem;
	}
	.site-title-sub{
		font-size: 1.125rem;
	}
	.fv-title-main{
		font-size: 2rem;
	}
	.section-title-main{
		font-size: 1.5rem;
	}

	.title-sidebar::before,
	.title-sidebar::after{
		width: 30%;
	}
}

@media screen and (max-width:767px) {
	section{
		padding: 60px 0;
	}

	.contents-wrapper{
		width: calc(100% - 30px);
	}

	.top-fv-title-wrapper{
		padding-bottom: 100px;
	}
	.site-title-main{
		font-size: 1.875rem;
	}
	.site-title-sub{
		font-size: 0.75rem;
		margin-top: 6px;
	}
	.fv-title-main{
		font-size: 1.75rem;
	}
	.section-title-main{
		font-size: 1.25rem;
	}
	.section-title-icon{
		width: 20px;
		margin-bottom: 5px;
	}
	.title-sidebar::before,
	.title-sidebar::after{
		width: 30%;
	}
	.title-bar{
		margin-bottom: 15px;
	}

	.p-top-fv{
		height: 400px;
		max-height: 735px;
	}
	.page-fv{
		height: 50vh;
		position: relative;
		z-index: 0;
	}

	.search-btn-wrapper{
		margin-top: 30px;
	}
}

@media screen and (max-width:599px) {
	.fv-title-main{
		font-size: 1.75rem;
	}
	.fv-title-sub{
		font-size: 0.75rem;
	}
	.title-sidebar::before,
	.title-sidebar::after{
		width: 20%;
	}
	.plan-top-agency-list-heading-wrapper.title-sidebar::before,
	.plan-top-agency-list-heading-wrapper.title-sidebar::after{
		width: 13%;
	}
}

/*home
-----------------------------------------------------------------------------------------*/
.top-fv{
	height: 100vh;
	position: relative;
	z-index: 0;
}
.swiper-slide{
	position: relative;
	z-index: 0;
}
.swiper-slide{
	filter: brightness(80%);
}

.top-link-wrapper{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 30;
}
.traveler-link,
.agency-link{
	width: 50%;
}
.top-link-btn{
	padding: 20px 0;
	width: 100%;
	text-align: center;
	position: relative;
	font-size: 2.25rem;
}
.top-link-btn::after{
  content: '';
  width:15px;
  height: 15px;
  border-top: 2px solid rgb(255,255,255);
  border-right: 2px solid rgb(255,255,255);
  display: block;
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.top-link-btn-en{
	font-size: 0.875rem;
}

@media screen and (max-width:1023px) {
	.top-link-btn{
		font-size: 1.75rem;
	}
}

@media screen and (max-width:767px) {
	.top-fv{
		height: calc(100vh - 60px);
	}

	.site-title-logo{
		max-width: 150px;
	}
	.scroll-btn {
		width: 	120px;
		margin: 30px auto 0;
	}
	.top-link-wrapper{
		flex-direction: column;
	}
	.traveler-link,
	.agency-link{
		width: 100%;
	}
	.top-link-btn{
		font-size: 1.375rem;
	}
	.top-link-btn-en{
		font-size: 0.75rem;
	}
}

/* 下層共通
-----------------------------------------------------------------------------------------*/
.page-intoduction-text{
	max-width: 900px;
	margin-top: 50px;
}

.p-filter__block{
	border: 1px solid rgb(223,223,223);
}
.p-filter__heading{
	width: 280px;
	max-width: 100%;
	font-weight: 400;
}
.p-filter__block td{
	padding: 30px;
}
.pagination{
   margin:40px 0 0;
}
.nav-links{
   display:flex;
   margin-top: 50px;
   gap: 5px;
   justify-content: center;

}
.wp-pagenavi{
	margin-top: 50px;
}
.wp-pagenavi a, .wp-pagenavi span,
.pagination .page-numbers{
   display:inline-block;
   padding:20px 25px;
   color:var(--main-color);
   background:#fff;
   border: 1px solid var(--main-color);
}
.wp-pagenavi span.current,
.pagination .current{
   padding:20px 25px;
   background:var(--main-color);
   color:var(--white);
}
.wp-pagenavi a, .wp-pagenavi span,
.pagination .prev,
.pagination .next{
   background:var(--white);
   color:var(--main-color);
   border: 1px solid var(--main-color);
   transition: all .3s;
}
.wp-pagenavi a:hover, .wp-pagenavi span:hover,
.pagination .prev:hover,
.pagination .next:hover{
	opacity: .6;
}
.pagination .dots{
   background:transparent;
   box-shadow:none;
   border: none;
   padding:20px 15px;
}
.pagination .page-numbers:nth-last-child(2) {
	display: none;
  }


@media screen and (max-width:767px) {
	.page-intoduction-text{
		margin-top: 30px;
	}
}

@media screen and (max-width:499px) {
	.pagination .page-numbers{
		padding:10px 15px;
	 }
	 .pagination .current{
		padding:10px 15px;
		background:var(--main-color);
		color:var(--white);
	 }
}

/* ご旅行を計画中の方
-----------------------------------------------------------------------------------------*/
.plan-top-fv{
	background-image: url(../images/plan-top-fv.jpg);
	/* background-position: right top; */
}
.plan-top-fv::before,
.agency-top-fv::before{
	display: none;
}
.plan-top-fv-title{
	width: 460px;
	border-radius: 50%;
}

.plan-link-wrapper {
	padding: 90px 0;
}
.plan-link-list{
	column-gap: 50px;
	justify-content: center;
}
.plan-link-list li{
	width: 570px;
	max-width: calc(50% - 25px);
	position: relative;
	transition: all .3s;
}
.plan-link-list li:hover{
	opacity: .7;
}
.plan-link-btn{
	width: 100%;
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0 6px 3px rgba(0,0,0,0.08);
	column-gap: 30px;
	flex-wrap: nowrap;
}
.plan-link-name-ja{
	font-size: 1.375rem;
}
.plan-link-name-en{
	font-size: 0.625rem;
}
.plan-link-item-picture{
	width: 155px;
	height: 155px;
	border-radius: 50%;
	box-shadow: 3px 5px 0 0 var(--white);
}
.plan-link-btn-illust{
	position: absolute;
	right: 10px;
	bottom: -20px;
}
.plan-top-tour-link-illust{
	width: 130px;
}
.plan-top-agency-link-illust{
	width: 170px;
	bottom: -60px;
}

.tour-list{
	column-gap: 24px;
	row-gap: 30px;
	margin-top: 30px;
	justify-content: center;
}
.tour-list li{
	padding: 14px;
	width: 280px;
	box-shadow: 0 6px 3px rgba(0,0,0,0.08);
	border-radius: 5px;
	position:relative
}
.tour-list li.tour-expired > .tour-title{

}
.tour-list li.tour-expired > .tour-title::before{
	content: '【申込締切】';
	font-size: 1rem;
	font-weight: 600;
	display: block;
}
.page-top-tour-article {
	flex-direction: column;
	height: 100%;
}
.post-tag{
	width: 60px;
	position: absolute;
	top: -6px;
	left: 10px;
}
.post-tag + .post-tag{
	margin-left: 65px;
}
.tour-plan-thumbnail{
	width: 100%;
	height: 160px;
}
.tour-plan-thumbnail img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.tour-title{
	margin-top: 20px;
	font-size: 1rem;
	width: 100%;
}
.plan-top-tour-schedule{
	margin-top: 20px;
	font-size: 0.75rem;
	color: rgb(102,102,102);
	column-gap: 3px;
	margin-bottom: 24px;
	flex-wrap: nowrap;
}
.plan-top-icon-calender{
	width: 13px;
	height: auto;
}
.tour-item-link{
	width: 100%;
	margin-top: auto;
}
.tour-item-link-btn{
	background: var(--blue-gradation);
	width: 100%;
	padding: 12px 0;
	font-size: 0.75rem;
	border-radius: 4px;
	position: relative;
}
.tour-item-link-btn::before{
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: 20px;
	width: 6px;
	height:6px;
	border-right: 1px solid var(--white);
	border-top: 1px solid var(--white);
	transform: rotate(45deg) translateY(-50%);
}
.tour-item-link-btn::after{
	content: '';
	position: absolute;
	top:50%;
	right: 18px;
	width: 14px;
	background: var(--white);
	height: 1px;
	transform: translateY(-50%);
}

.agency-search-description{
	margin-top: 30px;
}

.agency-area-search{
	padding: 60px;
	margin-top: 60px;
}
.agency-area-search-heading{
	font-size: 1.5rem;
}
.areamap-wrapper{
	margin-top: 30px;
	position: relative;
}
.areamap-wrapper svg{
	max-width: 100%;
	height: auto;
}
  /* areamap2用CSS */
.cls-1, .cls-2 {
fill: #a7d14e;
transition: all .3s;
}
.areamap-link:hover .cls-1,
.areamap-link:hover .cls-2 {
	fill: var(--main-color);
	cursor: pointer;
}

  .cls-1, .cls-3, .cls-4 {
	stroke-width: 0px;
  }

  .cls-2 {
	stroke-miterlimit: 10;
  }

  .cls-2, .cls-5 {
	stroke: #fff;
  }

  .cls-6 {
	isolation: isolate;
  }

  .cls-3,
  .cls-4 {
	fill: #1a1a1a;
	transition: all .3s;
  }
  .areamap-link:hover .cls-3,
  .areamap-link:hover .cls-4{
	fill: var(--white);
  }

  .cls-5 {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 9px;
  }

  .cls-7 {
	mix-blend-mode: multiply;
	opacity: .08;
  }

  .areamap-description{
	  width: 35%;
	  position: absolute;
	  right: 60px;
	  bottom: 150px;
  }

.agency-list-wrapper{
	margin-top: 90px;
}
.agency-list-heading{
	font-size: 1.5rem;
	flex-wrap: nowrap;
	column-gap: 6px;
}
.agency-list-heading img{
	width: 60px;
}
.plan-top-agency-list{
	margin-top: 60px;
}
.plan-top-agency-list li + li{
	margin-top: 30px;
}

@media screen and (max-width:1023px) {
	.plan-link-btn{
		padding: 20px 15px;
		column-gap: 20px;
	}
	.plan-link-item-picture{
		width: 90px;
		height: 90px;
	}
	.plan-top-tour-link-illust{
		width: 80px;
		right: -10px;
		bottom: -40px;
	}
	.plan-top-agency-link-illust{
		width: 100px;
	}
}

@media screen and (max-width:767px) {
	.plan-top-fv-title{
		width: 320px;
		height: 320px;
	}
	.plan-link-wrapper{
		padding: 70px 0;
	}
	.plan-link-list{
		flex-direction: column;
		row-gap: 50px;
		align-items: center;
	}
	.plan-link-list li{
		width: 90%;
		max-width: 90%;
		position: relative;
	}
	.plan-link-name-ja{
		font-size: 1.3125rem;
	}

	.agency-area-search-heading,
	.agency-list-heading{
		font-size: 1.3125rem;
	}
	.agency-area-search-heading{
		padding: 0 10px;
	}
	.areamap-description{
		width: 280px;
		right: 0;
		bottom: 100px;
	}
	.agency-list-heading img{
		width: 48px;
	}
	.agency-area-search{
		padding: 30px 5px;
		margin-top: 30px;
	}
	.agency-list-wrapper{
		margin-top: 60px;
	}
	.plan-top-agency-list{
		margin-top: 30px;
	}
	.plan-top-agency-list li + li{
		margin-top: 30px;
	}
	.p-dem__head{
		font-size: 1.125rem;
	}
}

@media screen and (max-width:599px) {
	.plan-top-fv-title{
		width: 240px;
		height: 240px;
	}
	.tour-list li{
		width: 100%;
		padding: 30px 15px;
	}
	.areamap-description{
		width: 90%;
		position: static;
		margin: 0 auto;
	}
}
@media screen and (max-width:499px) {
	.plan-link-btn{
		column-gap: 20px;
	}
	.plan-link-item-picture{
		width: 100px;
		height: 100px;
	}
	.plan-top-tour-link-illust{
		width: 90px;
	}
	.plan-top-agency-link-illust{
		width: 120px;
	}

}

/* 各組合員のツアー情報
-----------------------------------------------------------------------------------------*/
.tour-fv{
	background-image: url(../images/tour-fv.jpg);
}
.tour-search-description{
	margin-top: 30px;
}

.tour-searchform{
	border: 1px solid rgb(223,223,223);
	margin-top: 50px;
}
.tour-searchform th,
.tour-searchform td{
	padding: 30px 0;
	border-bottom: 1px solid rgb(223,223,223);
}
.tour-searchform th{
	width: 330px;
	max-width: 100%;
}
.tour-searchform td{
	padding-left: 30px;
}
.tour-searchform-conditions-list{
	column-gap: 1rem;
	row-gap: 10px;
}

.month-select{
	position: relative;
	border: 1px solid rgb(223,223,223);
}
.month-select select{
	appearance: none;
	width: 200px;
	padding: 10px;
	border: none;
	outline: 0;
	background: var(--white);
	background-image: none;
	box-shadow: none;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	cursor: pointer;
}
.month-select::before{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 16px;
	width: 0;
	height: 0;
	border-width: 8px 5px 0 5px;
	border-style: solid;
	border-color: var(--white) transparent transparent transparent;
	content: "";
	pointer-events: none;
	z-index: 5;
}
.month-select::after{
	content: '';
	width: 44px;
	height: 100%;
	background: var(--blue-gradation);
	position: absolute;
	right: 0;
	top: 0;
}

.tour-list-heading{
	font-size: 1.5rem;
	flex-wrap: nowrap;
	column-gap: 6px;
}
.tour-list-heading img{
	width: 50px;
}
.search-result{
	margin-bottom: 30px;
	font-size: 1.125rem;
}
.tour-list-wrapper{
	margin: 50px 30px 0;
}
.tour-article{
	padding: 50px 30px;
	box-shadow: 0px 6px 3px rgba(0, 0, 0, 0.06);
	border: 1px solid rgb(235,235,235);
	gap: 50px;
	position: relative;
}
.tour-article + .tour-article{
	margin-top: 50px;
}
.tour-list-text-wrapper{
	width: calc(65% - 50px);
}
.tour-item-title{
	font-size: 1.3125rem;
}
.tour-schedule{
	column-gap: 8px;
	margin-top: 20px;
}
.icon-calender{
	width: 18px;
}
.tour-schedule-date{
	font-size: 0.875rem;
	letter-spacing : 0.7px;
	color : rgb(102, 102, 102);
}
.tour-itineraries,
.tour-destinations{
	font-size: 0.875rem;
	letter-spacing : 0.7px;
	color : rgb(102, 102, 102);
	margin-top: 10px;
}
.tour-contents{
	border-top: 1px solid rgb(223,223,223);
	margin-top: 20px;
	font-size: 0.875rem;
}
.tour-contents th{
	font-weight: 400;
	width: 180px;
}
.tour-contents th,
.tour-contents td{
	padding: 20px 0;
	border-bottom: 1px solid rgb(223,223,223);
	font-weight: 500;
}
.tour-text{
	margin-top: 20px;
}
.tour-more-link{
	margin-top: 20px;
}
.tour-more-link-btn{
	width: 230px;
	max-width: 100%;
	border-radius: 5px;
	padding: 20px 0;
	border: none;
	position: relative;
	transition: all .3s;
}
.tour-more-link-btn:hover{
	opacity: .7;
}
.tour-more-link-btn::before{
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: 20px;
	width: 6px;
	height:6px;
	border-right: 1px solid var(--white);
	border-top: 1px solid var(--white);
	transform: rotate(45deg) translateY(-50%);
}
.tour-more-link-btn::after{
	content: '';
	position: absolute;
	top:50%;
	right: 18px;
	width: 14px;
	background: var(--white);
	height: 1px;
	transform: translateY(-50%);
}
.tour-thumbnail{
	width: 30%;
	aspect-ratio: 5 / 7;
}
.modal-contents-wrapper{
	width: 100%;
	max-height: 100vh;
	padding: 60px;
}
.tour-flyer-wrapper{
	aspect-ratio: 5 / 7;
	max-width: 100%;
	max-height: calc(100vh - 300px);
	position: relative;
}
.tour-flyer-wrapper img{
	object-fit: cover;
}
.tour-flyer{
	position: absolute;
	transform-origin: center;
    transition: transform 0.3s;
}
.remodal {
	position: relative;
	padding: 25px;
  }

.tour-modal-link-btn-wrapper{
	margin-top: 56px;
	flex-direction: column;
	row-gap: 10px;
	align-items: center;
}
.tour-modal-link{
	max-width: 100%;
}
.tour-modal-link-btn{
	font-size: 1.125rem;
	column-gap: 8px;
	box-shadow : 0px 5px 2px rgba(0, 0, 0, 0.08);
	width: 350px;
	max-width: 100%;
	padding: 15px 0;
	border-radius: 5px;
	position: relative;
}
.tour-modal-link-btn:hover{
	cursor: pointer;
}
.tour-modal-icon{
	width: 20px;
}

  #mask {
	background: rgba(0, 0, 0, 0.7);
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 1;
  }

.tour-expired {
	opacity: .5;
	filter:grayscale(100%);
	position: relative;
	z-index: 0;
}

.tour-expired a {
    pointer-events: none;
}

.tour-expired > .tour-list-text-wrapper > .tour-item-title{
	display: flex;
}
.tour-expired > .tour-list-text-wrapper > .tour-item-title::before{
	content: '【申込締切】';
	font-size: 1.125rem;
	font-weight: 600;
	flex-shrink: 0;
}

@media screen and (max-width:1023px) {
	.tour-searchform td{
		padding: 20px 0;
		padding-left: 20px;
	}
}

@media screen and (max-width:767px) {
	.tour-searchform{
		margin-top: 30px;
	}
	.tour-list-heading{
		font-size: 1.3125rem;
		column-gap: 6px;
	}
	.tour-list-heading img{
		width: 42px;
	}
	.tour-item-title{
		font-size: 1.125rem;
	}
	.tour-list-wrapper{
		margin-left: 0;
		margin-right: 0;
	}

	.tour-modal-link-btn-wrapper{
		margin-top: 30px;
	}
}

@media screen and (max-width:749px) {
	.tour-article{
		flex-direction: column-reverse;
		align-items: center;
		row-gap: 20px;
		padding: 50px 20px;
	}
	.post-tag{
		width: 45px;
	}
	.post-tag + .post-tag{
		margin-left: 50px;
	}
	.tour-list-text-wrapper{
		width: 100%;
	}
	.tour-thumbnail{
		width: 50%;
	}
}

/* 旅行会社検索
-----------------------------------------------------------------------------------------*/
.agency-search-fv{
	background-image: url(../images/agency-serch-fv.jpg);
}
.agency-area-list{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 2em;
	row-gap: 10px;
}
.agency-area-list li{
}

.agency-searchform{
	margin-top: 60px;
}
.agency-searchform th,
.agency-searchform td{
	padding: 30px 0;
	border: 1px solid rgb(223,223,223);
}
.agency-searchform th{
	width: 250px;
	max-width: 100%;
}
.agency-searchform td{
	padding-left: 30px;
}

.agency-article{
	padding: 90px 0;
}
.selected-agency-terms{
	margin-bottom: 30px;
	font-size: 1.125rem;
}

.agency-article-wrapper{
	margin-top: 30px;
}
.agency-search-article{
	padding: 20px;
	box-shadow: 0px 6px 3px rgba(0, 0, 0, 0.06);
	border: 1px solid rgb(235,235,235);
	flex-wrap: nowrap;
}
.agency-search-article + .agency-search-article{
	margin-top: 50px;
}
.agency-list-title-wrapper{
	gap: 12px;
}
.agency-registration-number{
	font-size: 0.75rem;
	line-height: 16px;
	font-weight: 500;
	border: 1px solid var(--main-color);
	padding: 5px 12px 3px;
	border-radius: 4px;
}
.agency-contents{
	font-size: 0.875rem;
	border-top: 1px solid rgb(223,223,223);
	margin-top: 20px;
	width: 100%;
}
.agency-contents th,
.agency-contents td{
	border-bottom: 1px solid rgb(223,223,223);
	font-weight: 500;
}
.agency-contents th{
	font-weight: 400;
	padding: 16px 0;
	width: 70px;
}
.agency-contents td{
	padding: 16px 0;
}
.agency-link-btn-wrapper{
	margin-top: 50px;
	column-gap: 20px;
	flex-wrap: nowrap;
}
.agency-map-link-btn{
	width: 170px;
	border-radius: 5px;
	padding: 16px 0;
	column-gap: 15px;
}
.agency-homepage-link-btn{
	width: 230px;
	border-radius: 5px;
	padding: 16px 0;
	column-gap: 15px;
}
.agency-map-icon{
	width: 16px;
}
.agency-pc-icon{
	width: 18px;
}
.agency-thumbnail{
	width: 45%;
}

@media screen and (max-width: 1149px) {
	.agency-area-list{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (max-width:1023px) {
	.agency-searchform th,
	.agency-searchform td{
	display: block;
	}
	.agency-searchform th{
		width: 100%;

	}
	.agency-search-article{
		column-gap: 30px;
		padding: 40px;
	}
	.agency-thumbnail{
		width: 30%;
	}
}
@media screen and (max-width: 767px) {
	.agency-searchform{
		margin-top: 30px;
	}
	.agency-article{
		padding: 60px 0;
	}
	.selected-agency-terms{
		margin-bottom: 20px;
		font-size: 1rem;
	}
}
@media screen and (max-width:749px) {
	.tour-searchform th,
	.tour-searchform td,
	.agency-searchform th,
	.agency-searchform td{
		display: block;
		padding: 15px 10px;
	}
	.tour-searchform th,
	.agency-searchform th{
		width: 100%;
	}
	.agency-area-list{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 1em;
	}
	.agency-area-list li{
		font-size: 0.875rem;
	}
	.agency-search-article{
		flex-direction: column-reverse;
		align-items: center;
		row-gap: 30px;
	}
	.agency-thumbnail {
		width: 50%;
	}
	.agency-list-text-wrapper{
		width: 100%;
	}
	.agency-link-btn-wrapper{
		margin-top: 30px;
	}
}
@media screen and (max-width: 599px) {
	.agency-link-btn-wrapper{
		flex-direction: column;
		align-items: center;
		row-gap: 15px;
		margin-top: 20px;
	}
}
@media screen and (max-width:449px) {
	.tour-more-link-btn{
		width: 100%;
	}
	.agency-search-article{
		flex-direction: column-reverse;
		row-gap: 20px;
		padding: 30px 15px;
	}
	.agency-thumbnail{
		width: 100%;
	}
}

/* 旅行業の方
-----------------------------------------------------------------------------------------*/
.agency-top-fv-title{
	width: 460px;
	height: 460px;
	border-radius: 50%;
}
.agency-top-fv{
	background-image: url(../images/agency-top-fv.jpg);
}

.agency-link-wrapper{
	padding: 90px 0;
}
.agency-link-list li{
	width: 370px;
	max-width: calc(33% - 25px);
	position: relative;
	transition: all .3s;
}
.agency-link-list li:hover{
	opacity: .7;
}
.agency-link-btn{
	width: 100%;
	padding: 20px 15px;
	border-radius: 8px;
	box-shadow: 0 6px 3px rgba(0,0,0,0.08);
	column-gap: 15px;
	flex-wrap: nowrap;
}
.plan-link-btn::after,
.agency-link-btn::after{
	content: '';
	width: 12px;
	height: 12px;
	background: url(../images/double_arrow.png);
	background-repeat: no-repeat;
	background-size: contain;
}
.agency-link-name-ja{
	font-size: 1.375rem;
}
.agency-link-name-en{
	font-size: 0.625rem;
}
.advantages-list{
	margin-top: 30px;
	column-gap: 40px;
}
.agency-link-item-picture{
	width: 145px;
	height: 145px;
	border-radius: 50%;
	box-shadow: 3px 5px 0 0 var(--white);
}
.agency-link-btn-illust{
	position: absolute;
	right: 15px;
	bottom: -15px;
}
.agency-top-merit-link-illust{
	width: 70px;
}
.agency-top-training-link-illust{
	width: 70px;
}
.agency-top-search-link-illust{
	width: 80px;
}

.agency-top-advantages-list{
	margin-top: 50px;
}
.agency-top-advantages-item{
	width: 30%;
	max-width: 350px;
	position: relative;
	z-index: 1;
	flex-direction: column;
}
.agency-top-advantage-item-number-wrapper{
	width: 90px;
	height: 90px;
	padding: 16px 0;
	border-radius: 50%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
}
.agency-top-advantage{
	font-size: 0.625rem;
}
.agency-top-advantage-number{
	font-size: 2.25rem;
	line-height: 0.8;
}
.agency-top-advantage-picture{
	height: 220px;
}
.agency-top-advantages-item-text-wrapper{
	padding: 60px 30px 30px;
}
.agency-top-advantage-title{
	font-size: 1.3125rem;
	padding-bottom: 15px;
	border-bottom: 1px solid rgb(223,223,223);
}
.agency-top-advantage-text{
	margin-top: 15px;
}

.new-agency-list{
	margin-top: 50px;
}
.new-agency-item{
	column-gap: 20px;
	row-gap: 10px;
	padding: 15px 20px;
	border-bottom: 1px solid rgb(223, 223, 223);
}
.new-agency-item:nth-child(1){
	border-top: 1px solid rgb(223,223,223);
}
.new-agency-item-date{
	color : rgb(128, 128, 128);
}
.new-tag{
	font-size: 0.75rem;
	padding: 5px 15px;
	border-radius: 4px;
}

.agency-top-coupon-feature-list{
	margin-top: 50px;
}
.agency-top-coupon-feature-item{
	flex-wrap: nowrap;
	position: relative;
}
.agency-top-coupon-feature-item + .agency-top-coupon-feature-item{
	margin-top: 60px;
}
.feature-picture-wrapper{
	width: 50%;
	max-width: 600px;
}
.feature-text-box{
	padding: 80px 50px 50px;
	width: 55%;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;

}
.agency-top-coupon-feature-item.right-flex > .feature-text-box{
	right: auto;
	left: 0;
}
.agency-top-coupon-feature-number-wrapper{
	position: absolute;
	top: 0;
	left: 0;
	width: 130px;
	padding: 7px 0;
}
.agency-top-coupon-feature-number{
	font-size: 1.5rem;
	margin-left: 10px;
}
.feature-title{
	font-size: 1.3125rem;
	padding-bottom: 20px;
	border-bottom: 1px solid rgb(223,223,223);
	margin-bottom: 20px;
}
.feature-text-list li{
	flex-wrap: nowrap;
}
.feature-text-list li::before{
	content: '○';
}

.agency-top-footer{
	padding: 90px 0;
}
.agency-top-banner{
	transition: all .3s;
}
.agency-top-banner:hover{
	opacity: .7;
	transition: all .3s;
}

@media screen and (max-width:1279px) {
	.agency-link-item-picture{
		width: 70px;
		height: 70px;
	}
	.agency-link-name-ja{
		font-size: 1.125rem;
	}
	.agency-top-merit-link-illust{
		width: 60px;
	}
	.agency-top-training-link-illust{
		width: 55px;
	}
	.agency-top-search-link-illust{
		width: 65px;
	}
	.agency-top-advantage-item-number-wrapper{
		width: 80px;
		height: 80px;
		padding: 12px 0;
	}
	.agency-top-advantage-number{
		font-size: 2rem;
	}
	.agency-top-advantages-item-text-wrapper{
		padding: 60px 20px 30px;
	}
}

@media screen and (max-width:1023px) {
	.agency-link-btn{
		padding: 20px;
	}
	.agency-link-list{
		flex-direction: column;
		row-gap: 50px;
		align-items: center;
	}
	.agency-link-list li{
		width: 600px;
		max-width: 100%;
	}
	.agency-link-item-picture{
		width: 180px;
		height: 180px;
	}
	.agency-link-name-ja{
		font-size: 2rem;
	}
	.agency-top-merit-link-illust{
		width: 120px;
	}
	.agency-top-training-link-illust{
		width: 120px;
	}
	.agency-top-search-link-illust{
		width: 130px;
	}

	.agency-top-advantages-list{
		flex-direction: column;
		row-gap: 30px;
		align-items: center;
	}
	.agency-top-advantages-item{
		width: 100%;
	}

	.agency-top-coupon-feature-item{
		flex-direction: column;
	}
	.feature-picture-wrapper{
		width: calc(100% - 60px);
		max-width:  calc(100% - 60px);
		height: 300px;
		margin-right: auto;
	}
	.agency-top-coupon-feature-item.right-flex > .feature-picture-wrapper{
		margin-left: auto;
		margin-right: 0;
	}
	.feature-text-box{
		width:  calc(100% - 90px);
		margin-left: auto;
		margin-right: auto;
		position: relative;
		margin-top: -75px;
		transform: translateY(0);
	}
	.feature-text-box{
		padding: 70px 30px 30px;
	}
}

@media screen and (max-width:767px) {
	.agency-top-fv-title{
		width: 320px;
		height: 320px;
	}
	.agency-link-wrapper{
		padding: 70px 0;
	}

	.agency-top-advantages-list{
		flex-direction: column;
		grid-gap: 50px;
	}
	.agency-top-advantages-item{
		width: 100%;
	}
	.feature-picture-wrapper{
		height: auto;
	}
	.agency-top-coupon-contents-wrapper{
		width: 100%;
	}
	.agency-top-footer{
		padding: 60px 0;
	}
	.agency-top-banner img {
		aspect-ratio: 2 / 1;
	}
}

@media screen and (max-width:599px) {
	.agency-top-fv-title{
		width: 240px;
		height: 240px;
	}

	.agency-link-item-picture{
		width: 120px;
		height: 120px;
	}
	.agency-link-name-ja{
		font-size: 1.125rem;
	}
	.agency-top-merit-link-illust{
		width: 65px;
	}
	.agency-top-training-link-illust{
		width: 65px;
	}
	.agency-top-search-link-illust{
		width: 80px;
	}

	.feature-text-box{
		width:  calc(100% - 60px);
	}
}
/* 入会メリット
-----------------------------------------------------------------------------------------*/
.merit-fv{
	background-image: url(../images/merit-fv.jpg);
	background-position: center center;
}
.merit-top{
	position: relative;
}
.bg-text{
	width: 40%;
	position: absolute;
    right: 50px;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}
.merit-introduction-text-wrapper{
	margin-top: 50px;
}
.merit-introduction-text + .merit-introduction-text{
	margin-top: 30px;
}
.merit-advantage-description{
	margin-top: 30px;
}
.merit-advantage-list{
	margin-top: 60px;
}
.merit-advantage-list-item + .merit-advantage-list-item{
	margin-top: 60px;
}
.merit-advantage-list-item{
	box-shadow: 0 6px 3px rgba(0,0,0,0.08);
}
.merit-advantage-item-picture-wrapper{
	position: relative;
}
.merit-advantage-item-number-wrapper{
	width: 100px;
	height: 100px;
	padding: 16px;
	position: absolute;
	top: 0;
	left: 0;
}
.merit-advantage{
	font-size: 0.625rem;
}
.merit-advantage-number{
	font-size: 3.75rem;
	line-height: 0.75;
	margin-top: 5px;
	font-family : Hillstone;
}
.merit-advantage-item-picture-wrapper,
.merit-advantage-item-text-box{
	width: 50%;
}
.merit-advantage-item-picture-wrapper{
	background: rgb(223,223,223);
	height: 390px;
}
.merit-advantage-item-text-box{
	padding: 100px 60px;
}
.merit-advantage-item-title{
	font-size: 1.3125rem;
}
.merit-advantage-text-list{
	margin-top: 10px;
	padding-top: 20px;
	border-top: 1px solid rgb(223,223,223);
}
.merit-advantage-text-list li{
	column-gap: 5px;
	flex-wrap: nowrap;
}
.merit-advantage-text-list li::before{
	content: '';
	width: 12px;
	height: 12px;
	background: url(../images/blue-dot.png)no-repeat center center / cover;
	flex-shrink: 0;
	border-radius: 50%;
	margin-top: 5px;
}
.merit-advantage-text-list li + li{
	margin-top: 0;
}
.training-more-link-btn{
	margin-top: 30px;
}
.merit-advantage-footer{
	margin-top: 60px;
}

.merit-coupon-feature-list-wrapper{
	background: rgb(236,245,248);
	padding: 60px;
	margin-top: 50px;
}

.merit-coupon-feature-flex-wrapper{
	gap: 50px;
}
.coupon-feature-list{
	padding-top: 50px;
}
.coupon-feature-list-flex-item{
	width: calc(100% - 450px);
	border-bottom: 1px solid rgb(176,213,231);
	padding-top: 0;
	padding-bottom: 50px;
}
.coupon-feature-list-item{
	padding-bottom: 50px;
	column-gap: 30px;
	flex-wrap: nowrap;
}
.coupon-feature-list-item:last-child{
	padding-bottom: 0;
}
.coupon-feature-list-item + .coupon-feature-list-item{
	padding-top: 50px;
	border-top: 1px solid rgb(176,213,231);
}
.coupon-feature{
	font-family: "DIN 2014";
    font-weight: 700;
}
.coupon-feature-number{
	font-size: 3.75rem;
	line-height: 0.75;
	margin-top: 10px;
}
.coupon-feature-item-title{
	font-size: 1.3125rem;
}
.coupon-feature-text-list{
	margin-top: 30px;
}
.coupon-feature-text-list li{
	column-gap: 5px;
	flex-wrap: nowrap;
}
.coupon-feature-text-list li::before{
	content: '';
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: url(../images/blue-dot.png)no-repeat center center / cover;
	flex-shrink: 0;
	margin-top: 5px;
}

@media screen and (max-width:1023px) {
	.bg-text{
		width: 45%;
	}
	.merit-advantage-item-text-box{
		padding: 60px 40px;
	}
	.coupon-feature-list-flex-item{
		width: calc(100% - 350px);
	}
	.merit-coupon-feature-flex-wrapper{
		flex-direction: column;
		align-items: center;
	}
	.coupon-feature-list-flex-item{
		width: 100%;
	}
}

@media screen and (max-width:767px) {
	.bg-text{
		width: 55%;
	}
	.merit-advantage-list-item{
		flex-direction: column;
	}
	.merit-advantage-number{
		font-size: 2.625rem;
	}
	.merit-advantage-item-number-wrapper {
		width: 80px;
		height: 80px;
		padding: 8px;
	}
	.merit-advantage-item-picture-wrapper,
	.merit-advantage-item-text-box{
		width: 100%;
	}
	.merit-advantage-item-picture-wrapper{
		height: 280px;
	}
	.merit-advantage-item-text-box{
		padding: 30px 20px;
	}
	.merit-advantage-item-title{
		font-size: 1.125rem;
	}

	.merit-coupon-feature-list-wrapper{
		padding: 30px 20px;
	}
	.merit-coupon-feature-flex-wrapper{
		flex-direction: column;
		align-items: center;
		gap: 0;
	}

	.coupon-feature-item-title{
		font-size: 1.125rem;
	}
	.coupon-feature-list-item{
		padding-bottom: 30px;
		column-gap: 20px;
	}
	.coupon-feature-list-item + .coupon-feature-list-item{
		padding-top: 30px;
	}
	.coupon-feature{
		font-size: 0.625rem;
	}
	.coupon-feature-number{
		font-size: 2.625rem;
	}
	.coupon-feature-text-list{
		margin-top: 15px;
	}
	.coupon-feature-list-flex-item{
		padding-bottom: 30px;
	}
	.coupon-feature-list{
		padding-top: 30px;
	}
}

/* 組合員向け教育・研修情報
-----------------------------------------------------------------------------------------*/
.training-fv{
	background-image: url(../images/education-fv.jpg);
}

.training-top{
	position: relative;
}
.training-introduction-text-footer{
	font-size: 0.75rem;
	color: rgb(146,146,146);
	margin-top: 30px;
}

.report-list{
	margin-top: 50px;
}
.report-list li{
	box-shadow: 0 6px 3px rgba(0,0,0,0.08);
}
.report-list li + li{
	margin-top: 50px;
}
.report-picture{
	width: 50%;
	height: 320px;
}
.report-text-box{
	width: 50%;
	padding: 50px 60px 0;
}
.report-year{
	font-weight: 600;
}
.report-title{
	font-size: 1.5rem;
	margin-top: 24px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgb(223,223,223);
}
.report-text{
	margin-top: 24px;
}

@media screen and (max-width:1023px) {
	.report-text-box{
		width: 50%;
		padding: 50px 30px 0;
	}
}

@media screen and (max-width:767px) {
	.report-list{
		margin-top: 30px;
	}
	.report-list li{
		flex-direction: column;
	}
	.report-list li.right-flex{
		flex-direction: column;
	}
	.report-list li + li{
		margin-top: 30px;
	}
	.report-picture{
		width: 100%;
		height: 240px;
	}
	.report-picture img{
		object-position: top;
	}
	.report-text-box{
		width: 100%;
		padding: 30px 15px;
	}
	.report-title{
		margin-top: 10px;
		font-size: 1.125rem;
	}
	.report-text{
		margin-top: 10px;
	}
}

/* 受入施設様へのご案内
-----------------------------------------------------------------------------------------*/
.facility-fv{
	background-image: url(../images/facility-fv.jpg);
}

.facility-coupon-feature{
	background: rgb(230,239,242);
}
.facility-coupon-contents-wrapper{
	align-items: start;
	column-gap: 50px;
	margin-top: 50px;
}
.facility-coupon-feature-list{
	width: calc(100% - 450px);
}
.facility-coupon-feature-list-item{
	padding-bottom: 30px;
	flex-wrap: nowrap;
}
.facility-coupon-feature-list-item + .facility-coupon-feature-list-item{
	border-top: 1px solid rgb(190, 213, 219);
	padding-top: 30px;
}
.facility-coupon-feature-item-number-wrapper{
	margin-top: -5px;
}
.facility-coupon-feature-number-label{
	font-size: 0.625rem;
}
.facility-coupon-feature-number{
	font-size: 3.75rem;
	line-height: 0.8;
}
.facility-coupon-feature-text-wrapper{
	margin-left: 40px;
}
.facility-coupon-feature-item-title{
	font-size: 1.125rem;
}
.facility-coupon-feature-text-list{
	margin-top: 20px;
}
.facility-coupon-feature-text-list li{
	flex-wrap: nowrap;
	column-gap: 3px;
}
.facility-coupon-feature-text-list li::before{
	content: '';
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: url(../images/blue-dot.png)no-repeat center center / cover;
	flex-shrink: 0;
	margin-top: 5px;
}
.coupon-associaton-contents{
	margin-top: 50px;
}
.coupon-association-text-wrapper{
	width: calc(100% - 450px);
}
.coupon-association-info-list{
	margin-top: 30px;
}
.coupon-association-info-list li{
	column-gap: 2px;
	flex-wrap: nowrap;
}
.coupon-association-info-list li::before{
	content: '';
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--main-color);
	margin-top: 4px;
}
.coupon-association-footer-text{
	margin-top: 30px;
}
.coupon-sample-wrapper{
	width: 400px;
	height: 400px;
	max-width: 100%;
	padding: 0 25px;
	border: 1px solid rgb(217,217,217);
}
.coupon-wrapper{
	width: 100%;
}
.coupon-sample{
	background: rgb(102,102,102);
	box-shadow : 0px 6px 3px rgba(0, 0, 0, 0.08);
}
.coupon-sample span{
	font-size: 2.5rem;
}

.membership-contents{
	margin-top: 50px;
	box-shadow : 0px 6px 3px rgba(0, 0, 0, 0.08);
}
.membership-contents th,
.membership-contents td{
	width: 380px;
	max-width: 100%;
	padding: 40px 0;
}
.membership-contents th{
	border-bottom: 1px solid rgb(77,156,190);
}
.membership-contents td{
	border-bottom: 1px solid rgb(217,217,217);
}

@media screen and (max-width:1023px) {
	.facility-coupon-feature-list,
	.coupon-association-text-wrapper{
		width: calc(100% - 350px);
	}
	.facility-coupon-feature-number{
		font-size: 48px;
	}
	.facility-coupon-feature-text-wrapper{
		margin-left: 20px;
	}

	.coupon-sample-wrapper{
		width: 300px;
		height: 300px;
		padding: 0 20px;
	}
	.coupon-sample{
		padding: 24px 0;
	}
	.coupon-sample span{
		font-size: 1.5rem;
	}
	.membership-contents th{
		width: 35%;
	}
	.membership-contents td{
		padding-left: 30px;
	}
}

@media screen and (max-width:767px) {
	.facility-coupon-contents-wrapper{
		justify-content: center;
	}
	.facility-coupon-feature-number{
		font-size: 2.5rem;
	}
	.coupon-associaton-contents{
		flex-direction: column;
		row-gap: 30px;
		align-items: center;
	}
	.facility-coupon-feature-list,
	.coupon-association-text-wrapper{
		width: 100%;
	}
	.facility-coupon-feature-list-item{
		flex-direction: column;
		align-items: start;
		row-gap: 15px;
	}
	.facility-coupon-feature-item-number-wrapper{
		margin-top: 0;
	}
	.facility-coupon-feature-text-wrapper{
		margin-left: 0;
	}
	.membership-contents{
		margin-top: 30px;
	}
	.membership-contents th{
		display: block;
		width: 100%;
		padding: 20px 0;
	}
	.membership-contents td{
		width: 100%;
		display: block;
		padding: 30px 1em;
	}
}

/* 組合について
-----------------------------------------------------------------------------------------*/
.about-fv{
	background-image: url(../images/about-fv.jpg);
}
.about-link{
	padding: 90px 0;
}
.about-link-list{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}
.about-link-btn{
	border-radius: 8px;
	box-shadow : 0px 6px 3px rgba(0, 0, 0, 0.08);
	font-size: 1.375rem;
	max-width: 100%;
	padding: 40px 30px;
}
.about-link-btn::after{
	content: '';
	width: 6px;
	height: 6px;
	border-bottom: 2px solid var(--white);
	border-right: 2px solid var(--white);
	transform: rotate(45deg);
	margin-left: auto;
}
.about-link-btn-icon{
	width: 24px;
	margin-right: 15px;
}

.about-message-contents-wrapper{
	column-gap: 100px;
}
.about-message-picture-wrapper{
	width: 300px;
}
.about-message-text-wrapper{
	width: calc(100% - 400px);
}
.about-message{
	margin-top: 50px;
}
.about-message-signature{
	margin-left: auto;
	margin-top: 90px;
}
.signature-name{
	margin-left: 1em;
}

.overview-contents,
.history-contents{
	box-shadow : 0px 6px 3px rgba(0, 0, 0, 0.08);
	margin-top: 50px;
}
.overview-contents th,
.history-contents th{
	width: 380px;
	padding: 40px 0;
	border-bottom: 1px solid rgb(77,156,190);
}
.overview-contents td,
.history-contents td{
	text-align: left;
	padding: 40px 0;
	padding-left: 50px;
	background: var(--white);
	border-bottom: 1px solid rgb(217,217,217);
}
.overview-fax{
	margin-left: 1em;
}
.map-wrapper{
	margin-top: 50px;
}
.map-wrapper iframe{
	aspect-ratio: 1200 / 575;
}
.access-address-info{
	margin-top: 30px;
}
.gnm-image {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.gnm-image img {
    width: 100%;
    height: auto;
}
.gnm-text {
	text-align: left;
}
.gnm-image,
.gnm-text {
	margin-top: 20px;
}
@media screen and (max-width:1199px){
	.about-link-list{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
	.about-link-btn::after{
	}
}

@media screen and (max-width:1023px) {
	.about-link-btn{
		font-size: 1.25rem;
		padding: 20px;
	}
	.about-link-btn-icon{
		width: 18px;
		margin-right: 10px;
	}

	.about-message-contents-wrapper{
		column-gap: 50px;
		align-items: start;
	}
	.about-message-picture-wrapper{
		width: 30%;
	}
	.about-message-text-wrapper{
		width: calc(70% - 50px);
	}
	.overview-contents th,
	.history-contents th{
		width: 35%;
	}
	.overview-contents td,
	.history-contents td{
		padding-left: 30px;
	}
}

@media screen and (max-width:767px) {
	.about-link{
		padding: 60px 0;
	}
	.about-link-list{
		grid-template-columns: repeat(1, minmax(0, 1fr));
		justify-items: center;
	}
	.about-link-list li{
		width: 100%;
		max-width: 400px;
	}
	.about-link-btn{
		width: 100%;
		justify-content: center;
	}
	.about-message-contents-wrapper{
		flex-direction: column;
		row-gap: 30px;
		align-items: center;
	}
	.about-message-picture-wrapper{
		width: 80%;
		max-width: 320px;
	}
	.about-message-text-wrapper{
		width: 100%;
	}
	.about-message{
		margin-top: 30px;
	}
	.about-message p{
		font-weight: 500;
	}
	.about-message-signature{
		margin-left: auto;
		margin-top: 30px;
	}
	.overview-contents,
	.history-contents,
	.map-wrapper{
		margin-top: 30px;
	}
	.overview-contents th,
	.history-contents th,
	.overview-contents td,
	.history-contents td{
		display: block;
	}
	.overview-contents th,
	.history-contents th{
		width: 100%;
		padding: 20px 0;
	}
	.overview-contents td,
	.history-contents td{
		padding: 30px 1em;
	}
	.overview-fax{
		display: block;
		margin-left: 0;
	}
	.access-address-info{
		margin-top: 15px;
	}
	.gnm-image {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* 旅行業法関係法規
-----------------------------------------------------------------------------------------*/
.law-fv{
	background-image: url(../images/law-fv.jpg);
	background-position: center center;
}

.regulation-link{
	background:url(../images/law-bg-earth.png), var(--blue-gradation);
	background-size: 50%, 100%;
	background-position: right center;
	background-repeat: no-repeat;
	padding: 80px 60px 100px;
	position: relative;
	z-index: 0;
	margin-top: 50px;
}
.regulation-link::before{
	content: '';
	width: 100%;
	height: 100%;
	display: block;
	background: url(../images/law-bg.png) no-repeat center center / cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: 0.5;
}
.regulation-link::after{
	content: '';
	width: 90px;
	height: 90px;
	display: block;
	background: url(../images/arrow-bg-black.png) no-repeat right bottom / contain;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 5;
}
.regulation-ja{
	font-size: 47px;
	font-weight: 600;
	margin-top: 10px;
}
.regulation-en{
	font-size: 1.125rem;
	font-weight: 400;
}
.regulation-logomark{
	width: 110px;
}
.regulation-logomark img{
	object-position: left;
}

.law-link-wrapper{
	column-gap: 30px;
	row-gap: 20px;
	justify-content: center;
	margin-top: 50px;
}
.law-link-btn{
	padding: 40px 20px;
	column-gap: 10px;
	flex-wrap: nowrap;
	position: relative;
}
.law-link-btn.bg-blue-gradient{
	background: linear-gradient(rgba(44,143,206, 0.8) 0%, rgba(13,111,180, 0.8) 100%), url(../images/law-bg-earth.png);
	background-size: 100%, 40%;
	background-position:  center right;
	background-repeat: no-repeat;
}
.law-link-btn::after{
	content: '';
	width: 70px;
	height: 70px;
	background: var(--black);
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	position: absolute;
	bottom: 0;
	right: 0;
}
.law-link-btn::before{
	content: '';
	background: url(../images/arrow-white.png) no-repeat center center / contain;
	width: 20px;
	height: 12px;
	position: absolute;
	bottom: 16px;
	right: 10px;
	z-index: 5;
}
.law-link-name-ja{
	font-size: 37px;
}
.law-giveaway-btn{
	background: linear-gradient( rgba(66, 183, 81, 0.8) 0%,rgba(36, 162, 56, 0.8) 100%), url(../images/law-bg-earth.png);
	background-size: 100%, 40%;
	background-position:  center right;
	background-repeat: no-repeat;
}
.law-link-item-picture{
	width: 140px;
	object-position: left;
}

@media screen and (max-width:1169px){
	.law-link-name-ja{
		font-size: 1.75rem;
	}
	.law-link-name-en{
		font-size: 0.75rem;
	}
	.law-link-item-picture{
		width: 110px;
	}
}

@media screen and (max-width:1023px){
	.law-link-name-en{
		font-size: 0.625rem;
	}
}

@media screen and (max-width:767px) {

	.regulation-link{
		margin-top: 30px;
		padding: 50px 30px 70px;
	}
	.regulation-logomark{
		width: 80px;
	}
	.regulation-ja{
		font-size: 1.75rem;
	}
	.regulation-en{
		font-size: 0.875rem;
	}
	.regulation-link::after{
		width: 75px;
		height: 75px;
	}
	.law-link-wrapper{
		flex-direction: column;
		align-items: center;
		margin-top: 30px;
	}
	.law-link-btn{
		width: 400px;
		max-width: 100%;
		padding: 20px 15px;
	}
	.law-link-name-ja{
		font-size: 1.375rem;
	}
	.law-link-item-picture{
		width: 70px;
	}
	.law-link-btn::after{
		width: 60px;
		height: 60px;
	}
	.law-link-btn::before{
		bottom: 14px;
		right: 7px;
	}
}

/* 問い合わせ
-----------------------------------------------------------------------------------------*/
.contact-fv{
	background-image: url(../images/contact-fv.jpg);
	background-position: center center;
}
.contact{
	padding: 90px 0;
}
.contact-introduction{
	padding-bottom: 50px;
	border-bottom: 1px solid rgb(217,217,217);
}
.contact-description{
	margin-top: 50px;
}
.contact-tel-number{
	margin-bottom: 20px;
}
.contact-tel-link{
	font-size: 1.125rem;
	box-shadow: 0 6px 3px rgba(0,0,0,0.08);
	margin-top: 60px;
	width: 320px;
	max-width: 100%;
	padding: 20px 0;
	border-radius: 5px;
	position: relative;
	transition: all .3s;
}
.contact-attention{
	color: rgb(171,0,22);
	margin-top: 30px;
}
.contactform-wrapper{
	padding: 60px;
	box-shadow: 0 6px 3px rgba(0,0,0,0.08);
	margin-top: 50px;
}
.cf-area{
	column-gap: 40px;
}
.cf-area + .cf-area{
	margin-top: 40px;
}
.cf-textarea{
	align-items: start;
	padding-bottom: 50px;
	border-bottom: 1px solid rgb(217,217,217);
}
.label-required,
.label-optional{
	display: inline-block;
	width: 45px;
	border-radius: 3px;
	font-size: 0.75rem;
}
.label-required{
	background: linear-gradient(rgb(221,1,19) 0%, rgb(171,0,22));
}
.label-optional{
	background: var(--blue-gradation);
}
.form-label{
	width: 180px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.form-input{
	width: calc(100% - 220px);
	max-width: 100%;
}
dd{
	margin-inline-start: 0;
}
input[type="text"],
input[type="tel"],
input[type="email"],
textarea{
	width: 100%;
	outline: 1px solid rgb(217,217,217);
	border: 1px solid rgb(217,217,217);
	padding: 20px;
}
input[type="text"]:focus-visible,
input[type="tel"]:focus-visible,
input[type="email"]:focus-visible,
textarea:focus-visible{
	outline: 1px solid var(--main-color);
	border: var(--main-color);
	box-shadow: 1px 1px 2px rgba(0,0,0,0.08);
}
input[type="text"]::placeholder,
input[type="tel"]::placeholder{
	color: rgb(166,166,166);
}
.wpcf7-list-item.first{
	margin-left: 0;
}

.cf-send{
	width: 600px;
	max-width: 100%;
	margin: 50px auto 0;
	position: relative;
}
.cf-send::before{
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: 20px;
	width: 6px;
	height:6px;
	border-right: 1px solid var(--white);
	border-top: 1px solid var(--white);
	transform: rotate(45deg) translateY(-50%);
	z-index: 1;
}
.cf-send::after{
	content: '';
	position: absolute;
	top:50%;
	right: 18px;
	width: 14px;
	background: var(--white);
	height: 1px;
	transform: translateY(-50%);
}
.cf-send > input[type="submit"]{
	width: 100%;
	color: var(--white);
	background: var(--sub-color);
	padding: 20px 0;
	border: none;
	border-radius: 5px;
}
.wpcf7-spinner{
	display: none;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{
	padding: 1em;
	text-align: center;
	background: rgb(246, 183, 172);
	border-color: rgb(221,1,19);
}
.wpcf7 form.sent .wpcf7-response-output{
	padding: 1em;
	text-align: center;
	border: none;
}
@media screen and (max-width:767px) {
	.contact{
		padding: 60px 0;
	}
	.contact-introduction{
		padding-bottom: 30px;
	}
	.contact-description{
		margin-top: 30px;
	}
	.contact-attention{
		margin-top: 15px;
	}
	.contactform-wrapper{
		padding: 30px;
		margin-top: 30px;
	}
	.cf-area {
		column-gap: 0;
		row-gap: 5px;
		flex-direction: column;
		align-items: flex-start;
	}
	.cf-area + .cf-area{
		margin-top: 20px;
	}
	.form-input{
		width: 100%;
	}
	.cf-textarea{
		padding-bottom: 30px;
	}
	.cf-send{
		margin-top: 30px;
	}
	.form-label {
		width: 100%;
		justify-content: flex-start;
		gap: 1em;
	}
}