@charset "UTF-8";
/*-----------------------------------

	intro_block

-----------------------------------*/
#intro_block{
	padding-top: 67px;
	position: relative;
}
#intro_block .fukidashi_box{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	gap: 20px;
	justify-content: center;
}
#intro_block .fukidashi_box .fukidashi{
	border-radius: 50px;
	padding: 28px 0;
	max-width: 350px;
	width: calc((100% - 20px) / 2);
	text-align: center;
	position: relative;
}
#intro_block .fukidashi_box .fukidashi::after{
	content: "";
    background: #ffffff;
    height: 16px;
    width: 14px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    right: 0;
    left: 0;
    bottom: -14px;
    margin: auto;
    box-shadow: 0 4px 10px rgba(67, 57, 47, 0.25);
}
#intro_block .fukidashi_box .fukidashi p{
	font-size: 24px;
}

#intro_block .intro_box{
	background-image: radial-gradient(rgba(242, 231, 206, 0.5) 16%, transparent 16%);
	background-size: 30px 30px;
	padding: 107px 60px 60px;
}
#intro_block .intro_box .img_box{
	max-width: 457px;
	width: 100%;
	margin: 0 auto 40px;
}
#intro_block .intro_box .img_box img{
	display: block;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 640px) {
	#intro_block{
		padding-top: 40px;
	}
	#intro_block .intro_box{
		padding: 70px 30px 30px;
	}
	#intro_block .intro_box .img_box{
		margin: 0 auto 30px;
	}
	#intro_block .fukidashi_box{
		gap: 10px;
	}
	#intro_block .fukidashi_box .fukidashi{
		padding: 10px 0;
		border-radius: 20px;
		max-width: 150px;
	}
	#intro_block .fukidashi_box .fukidashi p{
		font-size: 14px;
	}
}
/*-----------------------------------

	campaign_block

-----------------------------------*/
#campaign_block {
	padding: 0;
	position: relative;
	z-index: 0;
}
#campaign_block::before {
	content: "";
	display: block;
	background: url(../img/kaitori-parent/campaign_icon.svg) no-repeat center / cover;
	width: 150px;
	height: 150px;
	position: absolute;
	top: -50px;
	left: 50px;
	z-index: 1;
}
#campaign_block .ttl_l {
	line-height: 1.3;
	text-align: center;
	color: #ffffff;
	background: url(../img/kaitori-parent/campaign_bg.png) no-repeat center / cover;
	padding: 41px 0 47px;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	position: relative;
	z-index: 0;
}
#campaign_block .ttl_l::before,
#campaign_block .ttl_l::after {
	content: "";
	display: block;
	background: #ffffff;
	width: 15px;
	height: 15px;
	border-radius: 50vw;
	position: absolute;
	top: 20px;
	z-index: 1;
}
#campaign_block .ttl_l::before {
	left: 20px;
}
#campaign_block .ttl_l::after {
	right: 20px;
}
#campaign_block .ttl_l .en {
	display: block;
	font-size: 16px;
	letter-spacing: 0.1em;
}
#campaign_block .campaign_wrapper {
	padding-bottom: 60px;
}
/* campaign_box */
#campaign_block .campaign_box .txt_rd {
	font-size: 55px;
	text-align: center;
	padding-top: 29.5px;
	margin-bottom: 15.5px;
}
#campaign_block .campaign_box .tp {
	text-align: center;
	margin-bottom: 30px;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 10px 0;
}
#campaign_block .campaign_box .tp .rc_m {
	display: inline-block;
	font-size: 24px;
	font-weight: 700;
	color: #ffffff;
	background: var(--rd-color);
	padding: 1px 15px 1.5px;
}
#campaign_block .campaign_box .tp .rc_m:first-of-type {
	margin-right: 5px;
}
#campaign_block .campaign_box .tp .rc_m:nth-of-type(2) {
	margin-right: 10px;
}
#campaign_block .campaign_box .btm {
	justify-content: center;
	align-items: center;
	gap: 10px 15px;
	margin-bottom: 34px;
}
#campaign_block .campaign_box .btm .lt {
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	background: linear-gradient(transparent 80%, var(--yw-color) 20%);
}
#campaign_block .campaign_box .btm .lt .lg {
	font-size: 70px;
	font-family: "Roboto", sans-serif;
}
#campaign_block .campaign_box .btm .rt {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.17;
	letter-spacing: 0.02em;
}
/* att */
#campaign_block .att {
	background: #ffffff;
	width: 90%;
	max-width: 720px;
	padding: 40px 41px 35px;
	margin: 0 auto;
}
#campaign_block .att h4 {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.31;
	letter-spacing: 0.02em;
	text-align: center;
	margin-bottom: 29px;
}
#campaign_block .att .att_box {
	width: calc((100% - 40px) / 3);
}
#campaign_block .att .att_box .img_box {
	overflow: hidden;
	margin-bottom: 10px;
}
#campaign_block .att .att_box h5 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.29;
	letter-spacing: 0.02em;
	text-align: center;
}
#campaign_block .att p {
	font-size: 16px;
	line-height: 1.875;
	margin-top: 16px;
}
#campaign_block .campaign_date {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.02em;
	text-align: center;
	color: #ffffff;
	background: var(--rd-color);
	padding: 18px 10px;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
}
#campaign_block .campaign_date .lg {
	font-size: 40px;
	font-family: "Roboto", sans-serif;
}
#campaign_block .campaign_date .marker {
	background: linear-gradient(transparent 70%, var(--yw-color) 30%);
}
@media screen and (max-width: 1200px) {
	#campaign_block::before {
		top: -95px;
	}
}
@media screen and (max-width: 640px) {
	#campaign_block::before {
		width: 108px;
		height: 108px;
		top: -52px;
		left: 0;
	}
	#campaign_block .campaign_wrapper {
		padding-bottom: 40px;
	}
	#campaign_block .ttl_l {
		font-size: 30px !important;
		background: url(../img/kaitori-parent/sp/campaign_bg.png) no-repeat center / cover;
		padding: 35px 0 41px;
	}
	#campaign_block .ttl_l::before,
	#campaign_block .ttl_l::after {
		width: 10px;
		height: 10px;
		top: 10px;
	}
	#campaign_block .ttl_l::before {
		left: 10px;
	}
	#campaign_block .ttl_l::after {
		right: 10px;
	}
	#campaign_block .ttl_l .en {
		font-size: 14px;
		margin-bottom: 8px;
	}
	#campaign_block .campaign_box .txt_rd {
		font-size: 35px;
		padding-top: 28px;
		margin-bottom: 8px;
	}
	#campaign_block .campaign_box .tp {
		margin-bottom: 20px;
	}
	#campaign_block .campaign_box .tp .rc_m {
		font-size: 18px;
		line-height: 1.75;
		padding: 1px 10px 1.5px;
	}
	#campaign_block .campaign_box .tp .rc_m:first-of-type {
		margin-right: 5px;
	}
	#campaign_block .campaign_box .tp .rc_m:nth-of-type(2) {
		margin-right: 0;
	}
	#campaign_block .campaign_box .btm {
		gap: 10px 10px;
		margin-bottom: 30px;
	}
	#campaign_block .campaign_box .btm .lt {
		font-size: 20px;
		background: linear-gradient(transparent 75%, var(--yw-color) 25%);
	}
	#campaign_block .campaign_box .btm .lt .lg {
		font-size: 50px;
	}
	#campaign_block .campaign_box .btm .rt {
		font-size: 24px;
		line-height: 1.25;
	}
	#campaign_block .att {
		padding: 38px 20px 34px;
	}
	#campaign_block .att h4 {
		font-size: 18px;
		line-height: 1.5;
	}
	#campaign_block .att .row_box {
		gap: 20px 20px;
	}
	#campaign_block .att .att_box {
		width: calc((100% - 20px) / 2);
	}
	#campaign_block .att .att_box:last-of-type {
		margin: 0 auto;
	}
	#campaign_block .att .att_box h5 {
		font-size: 18px;
	}
	#campaign_block .att p {
		font-size: 12px;
		line-height: 2.1;
		margin-top: 25px;
	}
	#campaign_block .campaign_date {
		font-size: 18px;
		padding: 17px 5px;
	}
	#campaign_block .campaign_date .lg {
		font-size: 24px;
	}
}

/*-----------------------------------

	achievements_block

-----------------------------------*/
#achievements_block{
	padding: 100px 0 60px;
	position: relative;
}
#achievements_block .ttl_s {
	margin-bottom: 18px;
}
#achievements_block .achievements_box .ttl {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    line-height: 1.3;
    margin-bottom: 15px;
}
#achievements_block .achievements_box {
	width: 100%;
    display: block;
    background: #fff;
    padding: 40px;
    border-radius: 10px;
}
#achievements_block .achievements_box:not(:last-child) {
	margin-bottom: 20px;
}
#achievements_block .achievements_box .row_box {
	gap: 30px;
}
#achievements_block .achievements_box .img_box {
    max-width: 270px;
	width: 100%;
}
#achievements_block .achievements_box .text_box {
    width: calc(100% - 300px);
}
#achievements_block .achievements_box .text_box .txt {
	font-size: 16px;
	margin-top: 10px;
}
#achievements_block .achievements_box .price {
    color: #E84444;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    padding: 0 0 10px;
}
#achievements_block .achievements_box .price span {
	font-size: 45px;
	padding-left: 12px;
	font-family: "Roboto", sans-serif;
}
#achievements_block .achievements_box .place {
    font-size: 16px;
    font-weight: 700;
    color: #000;
    padding-left: 25px;
    position: relative;
    margin-top: 15px;
}
#achievements_block .achievements_box .place_2 {
    font-size: 16px;
    font-weight: 700;
    color: #000;
}
#achievements_block .swiper .swiper-wrapper{
	margin-top: 40px;
	padding-bottom: 90px;
}
#achievements_block .swiper .swiper-wrapper .swiper-slide a{
	display: block;
	background: #fff;
	padding: 20px 25px;
	border-radius: 10px;
}
#achievements_block .swiper .swiper-wrapper img {
	max-width: 270px;
}
#achievements_block .swiper-slide .swiper_ttl{
	font-size: 20px;
	font-weight: 700;
	color: #000;
	margin-top: 20px;
}
#achievements_block .swiper-slide .price{
	color: #E84444;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	padding: 15px 0 10px;
}
#achievements_block .swiper-slide .price span{
	font-size: 40px;
	margin-right: 5px;
	font-family: "Roboto", sans-serif;
}
#achievements_block .swiper-slide .place{
	font-size: 16px;
	font-weight: 700;
	color: #000;
	padding-left: 25px;
	position: relative;
	margin-top: 15px;
}
#achievements_block .swiper-slide .place::before{
	content: "";
	background: url("../img/index/place_icon.svg")no-repeat center/contain;
	width: 13px;
	height: 19px;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
#achievements_block .link_btn{
	margin: 20px auto 0;
	margin-bottom: 10px;
	max-width: 360px;
}

.arrow_box{
	position: relative;
	margin: auto;
	max-width: 150px;
}
.swiper-button-prev::after,
.swiper-button-next::after {
	display: none;
}
.swiper-button-prev,
.swiper-button-next{
	width: 60px;
	height: 60px;
}
.swiper-button-prev{
	right: auto;
    left: 0;
    bottom: 0;
    top: auto;
}
.swiper-button-next{
	right: 0;
    left: auto;
    bottom: 0;
    top: auto;
}
.swiper-button-prev img,
.swiper-button-next img{
	width: 100%;
	height: 100%;
	filter: drop-shadow(0px 4px 10px rgba(67, 57, 47, 0.05));
}

@media screen and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
	#achievements_block{
		padding: 50px 0 40px;
	}
	#achievements_block .swiper .swiper-wrapper{
		margin-top: 30px;
	}
	#achievements_block .swiper .swiper-wrapper .swiper-slide a{
		padding: 20px;
		font-size: 18px;
		height: 470px;
	}
	#achievements_block .swiper-slide .price{
		font-size: 14px;
		padding: 10px 0;
	}
	#achievements_block .swiper-slide .price span{
		font-size: 35px;
	}
	#achievements_block .swiper-slide .place{
		font-size: 14px;
	}
}
@media screen and (max-width: 430px){
	#achievements_block .swiper .swiper-wrapper .swiper-slide a{
		height: 415px;
	}
}

/*-----------------------------------

	price_block

-----------------------------------*/
.price_block .ttl_s {
    margin-bottom: 40px;
}
.price_block .intro_txt {
	text-align: center;
    margin-bottom: 42px;
}
.price_block .price_box:not(:last-of-type) {
	margin-bottom: 20px;
}
.price_block .price_box .price_txt {
	width: 100%;
	font-weight: 700;
}
.price_block .price_box .price_txt tr:not(:last-child){
	border-bottom: 1px solid #E3E3E3;
}
.price_block .price_box .price_txt tr:first-child {
	background: #FFAF00!important;
	color: #fff;
}
.price_block .price_box .price_txt tr th {
	padding: 15px 15px 15px 58px;
	text-align: left;
	border-right: 1px solid #E3E3E3;
}
.price_block .price_box .price_txt tr:first-child th{
	text-align: center;
	padding: 15px!important;
}
.price_block .price_box .price_txt tr:first-child th:first-child{
	border-radius: 10px 0 0 0;
	width: 67%;
}
.price_block .price_box .price_txt tr:first-child td:last-child{
	border-radius: 0 10px 0 0;
	width: 33%;
	text-align: center;
	padding: 18px;
}
.price_block .price_box .price_txt tr td {
	padding: 15px 40px 15px 15px;
	text-align: right;
}
.price_block .link_btn{
	max-width: 360px;
	width: 100%;
	margin: 56px auto 0;
}

/*#price_block01*/
#price_block01 .ttl_s{
	margin-bottom: 20px;
}
#price_block01 .price_box .price_txt tr th{
	padding: 15px 15px 15px 40px;
}
#price_block01 .price_box .price_txt tr th:first-child{
	width: 26%;
	padding: 15px 10px;
	text-align: center;
}

@media screen and (max-width: 970px){
	.price_block .price_box .price_txt tr th,
	.price_block .price_box .price_txt tr td,
	#price_block01 .price_box .price_txt tr th{
		font-size: 14px;
		padding: 15px 10px!important;
	}
}
@media screen and (max-width: 640px) {
	.price_block .ttl_s {
		margin-bottom: 30px;
	}
	.price_block .intro_txt {
		margin-bottom: 24px;
	}
	/*.price_block .price_wrapper {
		margin-bottom: 30px;
	}*/	
	.price_block .price_box {
		padding: 5px 10px;
	}
	.price_block .price_box .price_txt {
		font-size: 12px;
		line-height: 1.84;
		margin: 12px 0 16px;
	}
	.price_block .link_btn {
		max-width: 300px;
		padding: 26.5px 35px;
	}
	.price_block .link_btn::after {
		right: 20px;
	}
}
@media screen and (max-width: 430px){
	.price_block .price_box .price_txt tr:first-child th:first-child,
	.price_block .price_box .price_txt tr:first-child td:last-child{
		width: 50%;
	}
	
	/*#price_block01*/
	#price_block01 .price_box .price_txt tr th{
		width: 80px!important;
	}
	#price_block01 .price_box .price_txt tr td{
		width: calc(100% - 160px);
	}
}
/*-----------------------------------

	○○○○_block

-----------------------------------*/
@media screen and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
}