@charset "utf-8";
/* CSS Document */
.pagetitle2 {
	background-color: #BA1A23;
}
/* ---------- main ---------- */
.cate{
	padding-right: 40px;
	padding-left: 40px;
}
.cate_wrap .cate1{
	background-color: #BA1A23;
	color: #fff;
	border-bottom-left-radius: 60px;
}
.cate2 .titlebox p,
.cate3 .titlebox p{
	line-height: normal;
}
.cate2 .bg_img_wrap2 {
	position: relative;
	width: 100%;
	height: 500px;
}
.cate2 .bg_img_wrap2::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
  background-color:rgba(159, 140, 0, 0.2);
	pointer-events: none;
}
.bg_img_wrap2 > *:not(img) {
	position: relative;
	z-index: 2;
}
.cate2 .box_wrap .txtbox{
	width: 90%;
	background-color: #fff;
	border-radius: 20px;
	padding: 30px 30px;
	margin: 0 auto;
	margin-top: 50px;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.15);
	position: relative;
	z-index: 2;
}
.txt-line span{
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 5px;
}
.txt-line span::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0px;
	height: 10px;
	background-image: radial-gradient(#222 20%, transparent 21%);
	background-size: 8px 8px;
	background-repeat: repeat-x;
}
/* ---------- accordion ---------- */
.accordion-item:not(:last-of-type) {
  margin-bottom: 20px;
}
.accordion-content > div, .accordion-header > div {
  position: relative;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  padding: 20px;
}
.accordion-header > div {
	background-color: transparent;
	padding-right: 40px;
}
.accordion-header > div .bt_icon {
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  transition: ease 0.3s;
}
.accordion-header > div .bt_icon::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 10px;
  background-color: #BA1A23;
}
.accordion-header > div .bt_icon::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 10px;
  background-color: #BA1A23;
  transition: ease 0.3s;
}
.accordion-header.on > div .bt_icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}
.accordion-content p:not(.icon), .accordion-header h3 {
  width: 100%;
  padding-left: 20px;
}
.accordion-header {
	position: relative;
	background-color: #FAEDED;
	border-radius: 10px;
	border: none;
	cursor: pointer;
}
.accordion-header .icon,
.accordion-content .icon{
	font-family: "Montserrat",  sans-serif;
	font-weight: 700;
	font-size: 18px;
	width: 40px;
	height: 40px;
	background-color: #fff;
	border-radius: 50%;
	flex-shrink: 0;
}
.accordion-content .icon{
	background-color: #BA1A23;
}
.accordion-content {
  position: relative;
  background-color: #FFF;
}

body.on .accordion-content {
  display: none;
}

/* ---------- form ---------- */
.form-box .box-wrap{
	max-width: 520px;
}
.form-box .box-wrap .box h3{
	display: flex;
	width: 100%;
	position: relative;
	justify-content: space-between;
	line-height: normal;
	padding-bottom: 5px;
}
.form-box .box-wrap .box.required-box{
	padding-bottom: 30px;
}
.form-box .box-wrap .box.required-box h3::after{
	content: "必須";
	right: 10px;
	top: 50%;
	transform: translateY(-2px);
	background-color: #A10912;
	border-radius: 3px;
	color: #fff;
	margin-left: 20px;
	font-size: 14px;
	padding: 4px 20px;
	font-weight: 500;
}
.form-box .box-wrap .box .inputbox{
	width: 100%;
}
.form-box .box-wrap .box .inputbox > input,.form-box .box-wrap .box .inputbox textarea,.form-box .box-wrap .box .itemwrap input{
	background-color: #F0F0F0;
	border-radius: 5px;
	width: 100%;
	box-sizing: border-box;
	padding: 15px;
	border: none;
}
.form-box .box-wrap .box .inputbox input::placeholder,.form-box .box-wrap .box .inputbox textarea::placeholder{
	color: #33333380;
	font-size: 15px;
}
.form-box .box-wrap .box .inputbox textarea{
	height: 300px;
}
.form-box .box-wrap .box .inputbox .check-wrap{
	justify-content: flex-start;
	gap: 30px;
}
.form-box .box-wrap .box .inputbox .check-wrap .check-box{
	gap: 10px;
}
.form-box .box-wrap .box .inputbox .check-wrap .check-box input{
}
.form-box .box-wrap .box .itemwrap input{
	max-width: 80px;
}

.send,.check-area{
	text-align: center;
}
.privacy-bt{
	cursor: pointer;
}
.send .send-bt button{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 3;
	opacity: 0;
	cursor: pointer;
}
.send .send-bt{
	position: relative;
}
.cate1 .more .flex{
	background-color: transparent;
	border: 1px solid #fff;
	position: relative;
	border-radius: 200px;
	padding: 10px 35px;
	overflow: hidden;
	min-width: 200px;
	justify-content: space-around;
}
.cate1 .more .flex::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: translateX(-100%);
	background-color: #fff;
	transition: ease 0.4s;
}
.cate1 .more .flex:hover{
	opacity: 1;
}
.cate1 .more .flex:hover::after{
	transform: translateX(0);
}
.cate1 .more .flex p{
	position: relative;
	z-index: 3;
	color: #fff;
	transition: ease 0.3s;
}
.cate1 .more .flex:hover p{
	color: #BA1A23;
}
.cate1 .more .flex p{
	padding-right: 10px;
}
.cate1 .more .flex i{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
}
.cate1 .more .flex p,
.cate1 .more .circle {
    position: relative;
    z-index: 2;
    color: #fff;
    transition: color 0.3s ease;
}
.cate1 .more .circle {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid #fff;
    border-radius: 50%;
    position: relative;
    transition: border-color 0.3s ease, transform 0.3s ease;
}
.cate1 .more .flex:hover .circle {
  border-color: #BA1A23;
  transform: translateX(4px);
}
.cate1 .more .arrow{
	position: absolute;
	width: 14px;
	top: 50%;
  	left: 50%;
 	 transform: translate(-50%, -50%);
	transition: opacity 0.3s ease;
}
.cate1 .more .arrow1 { opacity: 1; }
.cate1 .more .arrow2 { opacity: 0; }
.cate1 .more .flex:hover .arrow1 { opacity: 0; }
.cate1 .more .flex:hover .arrow2 { opacity: 1; }



.privacypolicy{
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	box-sizing: border-box;
padding: clamp(20px, 5vw, 100px) clamp(20px, 5vw, 100px);
	background-color: rgba(120, 90, 60, 0.90);
	color: #ffffff;
	z-index: 99999;
	overflow: auto;
}
.privacypolicy .box-wrap{
	padding-top: 10px;
	gap: 20px;
}

.privacypolicy .box-wrap .box:not(:last-of-type){
	margin-bottom: 80px;
}
.privacypolicy .box-wrap a{
	display: inline-block;
	opacity: 1;
	transition: ease 0.3s;
}
.privacypolicy .box-wrap a:hover{
	opacity: 0.5;
}
.privacypolicy .box-wrap p{
	color: #fff!important;
}
.privacypolicy .close-bt{
	position: fixed;
	top: 20px;
	right: 20px;
	width: 60px;
	height: 60px;
	background-color: rgba(240, 236, 224, 0.85);
	transition: ease 0.3s;
	cursor: pointer;
}
.privacypolicy .close-bt:hover{opacity: 0.6}
.privacypolicy .close-bt::before,.privacypolicy .close-bt::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 42px;
	height: 3px;
	background-color: #ffffff;
}
.privacypolicy .close-bt::before{
	transform: translate(-50%,-50%) rotate(45deg);
}

.privacypolicy .close-bt::after{
	transform: translate(-50%,-50%) rotate(-45deg);
}
.privacypolicy .box-wrap .box h3{
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 10px;
	padding-bottom: 5px;
	border-bottom: 2px solid #ffffff;
	color: #fff!important;
}
.privacypolicy .box-wrap .box p a{
	color: #fff!important;
}
	.send,.check-area{
		margin-left: 0px;
	}
	
	.privacypolicy .box-wrap{
  padding-left: clamp(16px, 4vw, 30px);
		padding-top: 50px;
	}
	.privacypolicy .box-wrap .box h3{
		font-size: 18px;
	}
	.privacypolicy p{
		font-size: 14px;
	}
	.privacypolicy .close-bt{
		top: 20px;
		right: 20px;
		width: 50px;
		height: 50px;
	}
	.privacypolicy .close-bt::before,.privacypolicy .close-bt::after{
		width: 36px;
		height: 2px;
	}



.cate1 .send .send-bt{
	background-color: transparent;
	border: 1px solid #fff;
	position: relative;
	border-radius: 200px;
	padding: 10px 35px;
	overflow: hidden;
	min-width: 200px;
	justify-content: space-around;
}

.cate1 .send .send-bt::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: translateX(-100%);
	background-color: #fff;
	transition: ease 0.4s;
}
.cate1 .send .send-bt:hover{
	opacity: 1;
}
.cate1 .send .flex:hover::after{
	transform: translateX(0);
}
.cate1 .send .send-bt p{
	position: relative;
	z-index: 3;
	color: #fff;
	transition: ease 0.3s;
}
.cate1 .send .flex:hover p{
	color: #BA1A23;
}
.cate1 .send .send-bt p{
	padding-right: 10px;
}
.cate1 .send .send-bt i{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
}
.cate1 .send .send-bt p,
.cate1 .send .circle {
    position: relative;
    z-index: 2;
    color: #fff;
    transition: color 0.3s ease;
}
.cate1 .send .circle {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid #fff;
    border-radius: 50%;
    position: relative;
    transition: border-color 0.3s ease, transform 0.3s ease;
}
.cate1 .send .send-bt:hover .circle {
  border-color: #BA1A23;
  transform: translateX(4px);
}
.cate1 .send .arrow{
	position: absolute;
	width: 14px;
	top: 50%;
  	left: 50%;
 	 transform: translate(-50%, -50%);
	transition: opacity 0.3s ease;
}
.cate1 .send .arrow1 { opacity: 1; }
.cate1 .send .arrow2 { opacity: 0; }
.cate1 .send .flex:hover .arrow1 { opacity: 0; }
.cate1 .send .flex:hover .arrow2 { opacity: 1; }

/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.cate{
		padding-right: 20px;
		padding-left: 20px;
	}
	
.cate2 .box_wrap .txtbox {
    border-radius: 10px;
    padding: 30px 10px;
	}
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

