@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Bellefair&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
html {
	font-size: 62.5%;
	-webkit-font-smoothing: antialiased;
}
body{
	position: relative;
	overflow-x: hidden;
	font-family: "Noto Serif JP", serif;
	color: #36373e;
	background-color: #ffffff;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
img{
	max-width: 100%;
}
.img_radius img{
	border-radius: 15px;
}
.inner{
	max-width: 1180px;
	width: 90%;
	margin: auto;
}
.hover{
	transition: 0.5s;
	color: #36373e;
}
.hover:hover{
	color: #c69f69;
	transition: 0.5s;
}

/* ---------------------------------------------
	header
---------------------------------------------- */
header {
	position: relative;
}
header .header_logo{
	position: absolute;
	top: 30px;
	left: 2.3%;
	width: 14%;
	display: block;
	z-index: 3;
	transition: 0.5s;
}
header .header_logo:hover{
	opacity: 0.7;
	transition: 0.5s;
}
.header_button{
	position: fixed;
	z-index: 5;
	right: 0;
	top: 0;
	width: 160px;
}
.header_button a{
	display: flex;
	align-items: center;
	justify-content: center;
	background: #000;
	padding: 23px 30px 23px 45px;
	border-radius: 0 0 0 5px;
	transition: 0.5s;
}
.header_button a:hover{
	background: #c69f69;
	transition: 0.5s;
}
.open .header_button a{
	background: #c69f69;
}
.header_button a p{
	font-family: bellefair, sans-serif;
	color: #fff;
	font-size: 180%;
	line-height: 1;
	margin-right: 15px;
	padding-top: 5px;
}
.header_button .menu_icon{
	position: relative;
	width: 18px;
	height: 10px;
}
.header_button .menu_icon span{
	position: absolute;
	display: block;
	width: 100%;
	border-top: 2px solid #fff;
	transition: 0.5s;
}
.header_button .menu_icon span:last-of-type{
	bottom: 0;
}
.open .header_button .menu_icon span{
	transform: translateY(4px) rotate(-45deg);
}
.open .header_button .menu_icon span:last-of-type{
	transform: translateY(-4px) rotate(45deg);
}
.overlay{
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	background: rgba(0,0,0,0.55);
	transition: 0.5s;
	opacity: 0;
	z-index: -1;
}
.open + .overlay{
	opacity: 0.6;
	z-index: 3;
	transition: 0.5s;
}
.header_menu{
	position: fixed;
	top: 0;
	right: -520px;
	max-width: 520px;
	width: 100%;
	z-index: 4;
	transition: 0.5s;
}
.open .header_menu{
	right: 0;
	transition: 0.5s;
}
.header_inner{
	margin: auto;
	height: 75vh;
	max-height: 680px;
	overflow-y: auto;
	overflow-x: hidden;
}
.header_menu .header_menu_wrap{
	padding: 100px 50px 50px;
	background: #fff;
	box-sizing: border-box;
	border-radius: 0 0 0 15px;
}
.header_menu .menu_link,
.header_menu dl{
	margin-bottom: 50px;
}
.header_menu .menu_link p,
.header_menu dt{
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 18px;
	font-family: bellefair, sans-serif;
	font-size: 320%;
	margin-bottom: 20px;
}
.header_menu .menu_link p{
	margin-bottom: 0;
}
.header_menu .menu_link p::before,
.header_menu dt::before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #c69f69;
}
.header_menu .menu_link p::before{
	transition: 0.5s;
}
.header_menu .menu_link a{
	display: block;
	padding: 5px 0 22px;
	transition: 0.5s;
	border-bottom: 1px solid #c6cbce;
}
.header_menu .menu_link a:hover{
	color: #c69f69;
	transition: 0.5s;
}
.header_menu dt p{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 43.75%;
	margin-left: 23px;
}
.header_menu dt p span{
	color: #c69f69;
}
.header_menu dd a{
	display: block;
	font-size: 160%;
	padding: 23px 20px 22px 18px;
	background-image: url(../../assets/img/icon_arrow02.png);
	background-size: 14px 12px;
	background-repeat: no-repeat;
	background-position: center right 20px;
	box-sizing: border-box;
	transition: 0.5s;
	border-bottom: 1px solid #c6cbce;
}
.header_menu dd a:hover{
	background: #c69f69;
	color: #fff;
	background-image: url(../../assets/img/icon_arrow02_hover.png);
	background-size: 14px 12px;
	background-repeat: no-repeat;
	background-position: center right 20px;
	transition: 0.5s;
	border-bottom: 1px solid #c69f69;
}
.sns_area ul{
	display: flex;
	align-items: center;
	justify-content: center;
}
.sns_area li{
	width: 60px;
	height: 60px;
	border-radius: 50%;
}
.sns_area li .sns{
	display: flex;
	align-items: center;
	justify-content: center;
	background-repeat: no-repeat;
	background-position: center;
	transition: 0.5s;
	width: 100%;
	height: 100%;
	border-radius: 50%;
}
.sns_area li .sns:hover{
	background: #c69f69;
	transition: 0.5s;
	background-repeat: no-repeat;
	background-position: center;
}
.sns_area li .sns.x{
	background-image: url(../../assets/img/icon_x.png);
	background-size: 19px 19px;
}
.sns_area li .sns.x:hover{
	background-image: url(../../assets/img/icon_x_hover.png);
}
.sns_area li .sns.facebook{
	background-image: url(../../assets/img/icon_facebook.png);
	background-size: 11px 18px;
}
.sns_area li .sns.facebook:hover{
	background-image: url(../../assets/img/icon_facebook_hover.png);
}
.sns_area li .sns.youtube{
	background-image: url(../../assets/img/icon_youtube.png);
	background-size: 22px 18px;
}
.sns_area li .sns.youtube:hover{
	background-image: url(../../assets/img/icon_youtube_hover.png);
}
.sns_area li .sns.insta{
	background-image: url(../../assets/img/icon_insta.png);
	background-size: 18px 18px;
}
.sns_area li .sns.insta:hover{
	background-image: url(../../assets/img/icon_insta_hover.png);
}
.sns_area li .sns.note{
	background-image: url(../../assets/img/icon_note.png);
	background-size: 13px 13px;
}
.sns_area li .sns.note:hover{
	background-image: url(../../assets/img/icon_note_hover.png);
}
@media screen and (max-width:768px){
	.header_button a,
	.open .header_button a{
		padding: 28px 0;
	}
	header .header_logo{
		top: 20px;
		left: 20px;
		width: 40%;
	}
	.header_button{
		width: 18.5%;
	}
	.header_button a p{
		display: none;
	}
	.header_inner{
		width: 90%;
		margin: auto;
		height: 64vh;
		max-height: 680px;
		overflow-y: scroll;
		overflow-x: hidden;
	}
	.header_menu .header_menu_wrap{
		padding: 20px 0 50px;
		height: 85vh;
	}
	.header_menu_logo{
		width: 40%;
		margin: 0 0 52px 20px;
	}
	.header_menu dt p{
		display: flex;
		font-size: 37.5%;
		margin-left: 8px;
	}
	.header_menu dd a{
		padding: 18px 20px 18px 18px;
	}
}
@media screen and (max-width:330px){
	.header_menu dt{
		font-size: 280%;
	}
	.header_menu dt p{
		font-size: 27.5%;
	}
	.header_menu dd a{
		font-size: 150%;
	}
}
/* ---------------------------------------------
	title
---------------------------------------------- */
.title_area{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	padding-bottom: 45px;
	margin: auto auto 50px;
	border-bottom: 1px solid #c6cbce;
}
.title_area h2{
	position: relative;
	display: inline-block;
	font-size: 640%;
	padding-left: 37px;
}
.title_area h2::before{
	content: '';
	position: absolute;
	left: 0;
	top: 5px;
	margin: auto;
	width: 8px;
	height: 8px;
	background: #c69f69;
	border-radius: 50%;
}
.title_area.type02{
	position: relative;
	padding: 60px 0;
	border-bottom: none;
}
.title_area.type02::before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	margin: auto;
	width: 100%;
	max-width: 120px;
	height: 1px;
	border-top: 1px solid #c69f69;
}
.title_area.type02::after{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	margin: auto;
	width: 100%;
	max-width: 60px;
	height: 1px;
	border-top: 1px solid #4b4b4b;
}
.title_area.type03{
	border: none;
	padding-bottom: 0;
}
.title_area.type03 h2{
	font-size: 320%;
	padding-left: 0;
}
.title_area.type03 h2::before{
	display: none;
}
.title_area h3{
	font-size: 320%;
	line-height: 1.62;
}
.title_area .sub_title{
	display: inline-block;
	font-size: 200%;
	line-height: 1.2;
	letter-spacing: 0.05em;
	margin-left: 45px;
	text-align: center;
	padding: 0 0 15px;
}
.title_area .sub_title span{
	color: #c69f69;
}
@media screen and (max-width:768px){
	.title_area{
		padding-bottom: 75px;
		margin: auto auto 50px;
	}
	.title_area h2{
		font-size: 560%;
		padding-left: 30px;
		letter-spacing: -0.03em;
		margin-bottom: 10px;
	}
	.title_area .sub_title{
		display: block;
		font-size: 180%;
		margin-left: 15px;
		text-align: left;
	}
	.title_area h2::before{
		top: 8px;
	}
	.title_area.type03 h2{
		margin-bottom: 0;
	}
}
/* ---------------------------------------------
	content_wrap
---------------------------------------------- */
.bk_area{
	background-image: url(../../assets/img/bk_decoration.png);
	background-size: cover;
	background-repeat: repeat-y;
	background-position: top -150px left;
}
.cont_wrap{
	padding: 150px 0 100px;
}
.cont_wrap.type02{
	padding: 150px 0 120px;
	background-color: rgba(193,193,193,0.1);
}
@media screen and (max-width:768px){
	.bk_area{
		background-image: url(../../assets/img/bk_decoration_sp.png);
		background-position: top -240px left;
	}
	.cont_wrap.type02{
		padding: 130px 0 100px;
	}
}
/* ---------------------------------------------
	btn
---------------------------------------------- */
.btn--w-sm{
	max-width: 480px;
	width: 100%;
	margin: auto;
}
.btn--half{
	max-width: 47%;
}
.btn--w-md{
	max-width: 60%;
}
.btn--w-lg{
	max-width: 100%;
}
.btn--sm a span{
	font-size: 90%;
	line-height: 1.5;
}
.btn a{
	position: relative;
	display: flex;
	align-items: center;
	padding: 23px 50px 23px 32px;
	font-family: bellefair, sans-serif;
	font-size: 200%;
	line-height: 1.6;
	border: 1px solid #36373e;
	background-color: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	overflow: hidden;
	transition: color 1.2s ease .2s,
				border-color 1s ease .4s;
}
.btn--md a{
	font-size: 180%;
}
/* 円 */
.btn a::before{
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	width: 20px;
	height: 20px;
	background: #c69f69;
	border-radius: 50%;
	transform: translate(50%, -50%) scale(0);
	transform-origin: center;
	transition: transform .7s cubic-bezier(0.65, 0, 0.35, 1);
	z-index: 0;
}
.btn a span{
	position: relative;
	z-index: 2;
	display: inline-block;
	width: 100%;
	line-height: 1.6;
}
.btn a:hover{
	color: #fff;
	border-color: #c69f69;
	transition: color .9s ease, border-color .9s ease;
}
.btn a:hover::before{
	transform: translate(50%, -50%) scale(120);
}
.btn a:hover .arrow .arrow--white{
	opacity: 1;
	transition: opacity .4s ease;
	z-index: 3;
}
.btn.btn-animate a .bg_slide {
	position: absolute;
	inset: 0;
	background: #c69f69;
	transform: scaleX(0);
	transform-origin: left;
	z-index: 1;
}
.btn a .arrow {
	position: absolute;
	right: 35px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 12px;
}
.btn a .arrow img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.arrow--black {
	opacity: 1;
	transition: opacity 0.5s ease 0.15s;
}
.arrow--white {
	opacity: 0;
	transition: opacity 0.5s ease 0.15s;
}
.btn a:hover .arrow--black {
	opacity: 0;
}
.btn a:hover .arrow--white {
	opacity: 1;
}
.btn.btn-animate a:hover .arrow::after{
	opacity: 1;
	transition: opacity .4s ease;
	z-index: 2;
}
.btn.btn-animate a:hover span::after {
	opacity: 1;
	transition: opacity 0.4s ease;
	z-index: 2;
}
.btn.btn-animate a:not(:hover) .arrow {
	transition: opacity 0.6s ease-out;
}
.text {
	position: relative;
	z-index: 2;
	display: inline-block;
	width: 100%;
	transition: opacity 0.3s ease;
}
.btn a span.text--black {
	opacity: 1;
	transition: opacity 0.5s ease 0.15s;
}
.btn a span.text--white {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 23px 50px 23px 32px;
	color: #fff;
	opacity: 0;
	transition: opacity 0.5s ease 0.15s;
}
.btn a:hover .text--white {
	opacity: 1;
}
.btn a:hover .text--black {
	opacity: 0;
}
@media screen and (max-width:768px){
	.btn--half{
		max-width: 100%;
	}
	.btn--w-sm{
		max-width: 100%;
	}
	.btn--w-md{
		max-width: 100%;
	}
	.btn a{
		padding: 23px 50px 23px 32px;
	}
	.btn a span::after{
		right: -5px;
	}
}
@media screen and (max-width:330px){
	.btn a .arrow,
	.btn a::after{
		right: 25px;
	}
}

/* ---------------------------------------------
	page_top
---------------------------------------------- */
#page_top{
	position: fixed;
	bottom: 100px;
	right: 40px;
	z-index: 3;
}
.page_top_btn{
	position: relative;
	display: block;
	background: #36373e;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	transition: 0.5s;
}
.page_top_btn:hover{
	transition: 0.5s;
	background: #c69f69;
}
.page_top_btn::before{
	content: '';
	position: absolute;
	width: 12px;
	height: 14px;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	background-image: url(../../assets/img/icon_arrow.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
@media screen and (max-width:768px){
	#page_top{
		right: 10px;
	}
}
/* ---------------------------------------------
	footer
---------------------------------------------- */
footer .footer_wrap{
	position: relative;
	background: #000;
	padding: 106px 0 30px;
	z-index: 1;
}
footer .footer_wrap small{
	font-family: bellefair, sans-serif;
	text-align: center;
	font-size: 120%;
	letter-spacing: 0.1em;
	color: #fff;
	line-height: 1.2;
	display: inline-block;
	width: 100%;
}
@media screen and (max-width:768px){
	footer .footer_wrap{
		padding: 106px 0 30px;
	}
	footer .footer_wrap small{
		font-size: 90%;
		letter-spacing: 0.1em;
	}
}
/*
	font
---------------------------*/
.caption{
	font-size: 160%;
}
.font_bold{
	font-weight: 700;
}
.font_red{
	color: #ed1a3d;
}
.font_white{
	color: #fff;
}
p.disc.font_80,
.disc li p.font_80,
.content_text p.font_80,
.font_80{
	font-size: 80%;
}
p.disc.font_90,
.disc li p.font_90,
.content_text p.font_90,
.font_90{
	font-size: 90%;
}
p.disc.font_110,
.disc li p.font_110,
.content_text p.font_110,
.font_110{
	font-size: 110%;
}
p.disc.font_120,
.disc li p.font_120,
.content_text p.font_120,
.font_120{
	font-size: 120%;
}
p.disc.font_160,
.disc li p.font_160,
.content_text p.font_160,
.font_160{
	font-size: 160%;
}
p.disc.font_180,
.disc li p.font_180,
.content_text p.font_180,
.font_180{
	font-size: 180%;
}
p.disc.font_normal,
.disc li p.font_normal,
.content_text p.font_normal,
.font_normal{
	font-size: 100%;
	font-weight: normal;
}
.font_bellefair{
	font-family: bellefair, sans-serif;
}
.font_serif{
	font-family: "Noto Serif JP", serif;
}
.font_sans{
	font-family: "Noto Sans JP", sans-serif;
}
.text_indent_1{
	padding-left: 1em;
	text-indent: -1em;
}
.text_indent_2{
	padding-left: 2em;
	text-indent: -2em;
}
.text_indent_3{
	padding-left: 3em;
	text-indent: -3em;
}
.word_break{
	word-break: break-all;
}
.nowrap{
	white-space: nowrap;
}
/*
	align
---------------------------*/
.right{
	text-align: right;
}
.left{
	text-align: left;
}
.center{
	text-align: center;
}
@media screen and (max-width:768px){
	.sp_right{
		text-align: right;
	}
	.sp_left{
		text-align: left;
	}
	.sp_center{
		text-align: center;
	}
}
/*
	margin
---------------------------*/
.mt_00{
	margin-top: 0;
}
.mt_10{
	margin-top: 10px;
}
.mt_20{
	margin-top: 20px;
}
.mt_30{
	margin-top: 30px;
}
.mt_40{
	margin-top: 40px;
}
.mt_50{
	margin-top: 50px;
}
.mb_00{
	margin-bottom: 0;
}
.mb_10{
	margin-bottom: 10px;
}
.mb_20{
	margin-bottom: 20px;
}
.mb_30{
	margin-bottom: 30px;
}
.mb_40{
	margin-bottom: 40px;
}
.mb_50{
	margin-bottom: 50px;
}
.mb_60{
	margin-bottom: 60px;
}
.mb_70{
	margin-bottom: 70px;
}
.mb_80{
	margin-bottom: 80px;
}
.mb_90{
	margin-bottom: 90px;
}
.mb_100{
	margin-bottom: 100px;
}
.mb_110{
	margin-bottom: 110px;
}
.mb_120{
	margin-bottom: 120px;
}
.mr_00{
	margin-right: 0;
}
.mr_10{
	margin-right: 10px;
}
.mr_20{
	margin-right: 20px;
}
.mr_30{
	margin-right: 30px;
}
.mr_40{
	margin-right: 40px;
}
.mr_50{
	margin-right: 50px;
}
.ml_00{
	margin-left: 0;
}
.ml_10{
	margin-left: 10px;
}
.ml_20{
	margin-left: 20px;
}
.ml_30{
	margin-left: 30px;
}
.ml_40{
	margin-left: 40px;
}
.ml_50{
	margin-left: 50px;
}
.ml_145{
	margin-left: 145px;
}
.m_auto{
	margin: auto;
}
@media screen and (max-width:1095px){
	.tb_ml_00{
		margin-left: 0;
	}
}
@media screen and (max-width:768px){
	.sp_ml_00{
		margin-left: 0;
	}
	.sp_ml_10{
		margin-left: 10px;
	}
	.sp_ml_20{
		margin-left: 20px;
	}
	.sp_ml_30{
		margin-left: 30px;
	}
	.sp_ml_40{
		margin-left: 40px;
	}
	.sp_ml_50{
		margin-left: 50px;
	}
	.sp_mr_00{
		margin-right: 0;
	}
	.sp_mr_10{
		margin-right: 10px;
	}
	.sp_mr_20{
		margin-right: 20px;
	}
	.sp_mr_30{
		margin-right: 30px;
	}
	.sp_mr_40{
		margin-right: 40px;
	}
	.sp_mr_50{
		margin-right: 50px;
	}
	.sp_mt_00{
		margin-top: 0;
	}
	.sp_mt_10{
		margin-top: 10px;
	}
	.sp_mt_20{
		margin-top: 20px;
	}
	.sp_mt_30{
		margin-top: 30px;
	}
	.sp_mt_40{
		margin-top: 40px;
	}
	.sp_mt_50{
		margin-top: 50px;
	}
	.sp_mb_00{
		margin-bottom: 0;
	}
	.sp_mb_10{
		margin-bottom: 10px;
	}
	.sp_mb_20{
		margin-bottom: 20px;
	}
	.sp_mb_30{
		margin-bottom: 30px;
	}
	.sp_mb_40{
		margin-bottom: 40px;
	}
	.sp_mb_50{
		margin-bottom: 50px;
	}
	.sp_mb_60{
		margin-bottom: 60px;
	}
	.sp_mb_70{
		margin-bottom: 70px;
	}
	.sp_mb_80{
		margin-bottom: 80px;
	}
	.sp_mb_90{
		margin-bottom: 90px;
	}
	.sp_mb_100{
		margin-bottom: 100px;
	}
	.sp_mb_110{
		margin-bottom: 110px;
	}
	.sp_mb_120{
		margin-bottom: 120px;
	}
	.sp_m_auto{
		margin: auto;
	}
}
/*
	padding
---------------------------*/
.pt_00{
	padding-top: 0;
}
.pt_10{
	padding-top: 10px;
}
.pt_20{
	padding-top: 20px;
}
.pt_30{
	padding-top: 30px;
}
.pt_40{
	padding-top: 40px;
}
.pt_50{
	padding-top: 50px;
}
.pt_60{
	padding-top: 60px;
}
.pt_70{
	padding-top: 70px;
}
.pb_00{
	padding-bottom: 0;
}
.pb_10{
	padding-bottom: 10px;
}
.pb_20{
	padding-bottom: 20px;
}
.pb_30{
	padding-bottom: 30px;
}
.pb_40{
	padding-bottom: 40px;
}
.pb_50{
	padding-bottom: 50px;
}
.pb_100{
	padding-bottom: 100px;
}
.pr_00{
	padding-right: 0;
}
.pr_10{
	padding-right: 10px;
}
.pr_20{
	padding-right: 20px;
}
.pr_30{
	padding-right: 30px;
}
.pr_40{
	padding-right: 40px;
}
.pr_50{
	padding-right: 50px;
}
.pl_00{
	padding-left: 0;
}
.pl_10{
	padding-left: 10px;
}
.pl_20{
	padding-left: 20px;
}
.pl_30{
	padding-left: 30px;
}
.pl_40{
	padding-left: 40px;
}
.pl_50{
	padding-left: 50px;
}
@media screen and (max-width:768px){
	.sp_pt_00{
		padding-top: 0;
	}
	.sp_pt_10{
		padding-top: 10px;
	}
	.sp_pt_20{
		padding-top: 20px;
	}
	.sp_pt_30{
		padding-top: 30px;
	}
	.sp_pt_40{
		padding-top: 40px;
	}
	.sp_pt_50{
		padding-top: 50px;
	}
	.sp_pt_60{
		padding-top: 60px;
	}
	.sp_pt_70{
		padding-top: 70px;
	}
	.sp_pb_00{
		padding-bottom: 0;
	}
	.sp_pb_10{
		padding-bottom: 10px;
	}
	.sp_pb_20{
		padding-bottom: 20px;
	}
	.sp_pb_30{
		padding-bottom: 30px;
	}
	.sp_pb_40{
		padding-bottom: 40px;
	}
	.sp_pb_50{
		padding-bottom: 50px;
	}
	.sp_pb_100{
		padding-bottom: 100px;
	}
	.sp_pr_00{
		padding-right: 0;
	}
	.sp_pr_10{
		padding-right: 10px;
	}
	.sp_pr_20{
		padding-right: 20px;
	}
	.sp_pr_30{
		padding-right: 30px;
	}
	.sp_pr_40{
		padding-right: 40px;
	}
	.sp_pr_50{
		padding-right: 50px;
	}
	.sp_pl_00{
		padding-left: 0;
	}
	.sp_pl_10{
		padding-left: 10px;
	}
	.sp_pl_20{
		padding-left: 20px;
	}
	.sp_pl_30{
		padding-left: 30px;
	}
	.sp_pl_40{
		padding-left: 40px;
	}
	.sp_pl_50{
		padding-left: 50px;
	}
}
/*
	width
---------------------------*/
.width_10{
	width: 10%;
}
.width_20{
	width: 20%;
}
.width_30{
	width: 30%;
}
.width_40{
	width: 40%;
}
.width_47{
	width: 47%;
}
.width_50{
	width: 50%;
}
.width_60{
	width: 60%;
}
.width_70{
	width: 70%;
}
.width_80{
	width: 80%;
}
.width_90{
	width: 90%;
}
.width_100{
	width: 100%;
}
@media screen and (max-width:768px){
	.sp_width_10{
		width: 10%;
	}
	.sp_width_20{
		width: 20%;
	}
	.sp_width_30{
		width: 30%;
	}
	.sp_width_40{
		width: 40%;
	}
	.sp_width_47{
		width: 47%;
	}
	.sp_width_50{
		width: 50%;
	}
	.sp_width_60{
		width: 60%;
	}
	.sp_width_70{
		width: 70%;
	}
	.sp_width_80{
		width: 80%;
	}
	.sp_width_90{
		width: 90%;
	}
	.sp_width_100{
		width: 100%;
	}
}
/*
	column
---------------------------*/
.col_11,
.col_12,
.col_21,
.col_111 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.col_11 > .col {
	width: 47.4%;
}
.col_11 > .col:nth-child(odd) {
	margin-right: 4.7%;
}
.col_12 > .col {
	width: 54%;
}
.col_12 > .col:nth-child(odd) {
	margin-right: 3.7%;
	width: 42%;
}
.col_12 > .col:nth-child(odd).mr_00{
	margin-right: 0;
}
.col_21 > .col {
	width: 34%;
}
.col_21  > .col:nth-child(odd) {
	margin-right: 6.7%;
	width: 59.3%;
}
.col_111 .col{
	width: 30%;
}
.col_111 .col:not(:nth-of-type(3n)){
	margin-right: 5%;
}
.col_11 > .col:nth-child(n+3),
.col_21 > .col:nth-child(n+3),
.col_12 > .col:nth-child(n+3){
	margin-top: 40px;
}
.col_111 > .col:nth-child(n+4){
	margin-top: 40px;
}
@media screen and (max-width:768px){
	.col_11,
	.col_12,
	.col_21,
	.col_111 {
		flex-direction: column;
	}
	.col_11 > .col,
	.col_12 > .col,
	.col_21 > .col,
	.col_111 > .col{
		width: 100%;
	}
	.col_11 > .col:nth-child(odd),
	.col_12 > .col:nth-child(odd),
	.col_21 > .col:nth-child(odd),
	.col_111 > .col:not(:nth-of-type(3n)) {
		margin-right: 0;
		width: 100%;
	}
	.col_11 > .col:nth-child(n+3),
	.col_21 > .col:nth-child(n+3),
	.col_12 > .col:nth-child(n+3),
	.col_111 > .col:nth-child(n+4){
		margin-top: 0;
	}
	.col_11 > .col:not(:last-of-type),
	.col_21 > .col:not(:last-of-type),
	.col_12 > .col:not(:last-of-type),
	.col_111 > .col:not(:last-of-type){
		margin-bottom: 40px;
	}
}
/*
	mode
---------------------------*/
.mode_pc{
	display: block;
}
.mode_sp{
	display: none;
}
.ib{
	display: inline-block;
}
@media screen and (max-width:768px){
	.mode_pc{
		display: none;
	}
	.mode_sp{
		display: block;
	}
}

/*
	table
---------------------------*/
table{
	font-family: "Noto Sans JP", sans-serif;
	border-spacing: 0;
	border: 1px solid #36373e;
	border-radius: 15px;
	font-size: 160%;
}
table thead th{
	font-size: 113%;
	color: #fff;
	font-weight: 600;
	padding: 17px;
	background: #c69f69;
	border-bottom: 1px solid #36373e;
}
table thead th:first-of-type{
	border-radius: 15px 0 0;
}
table thead th:not(:last-of-type){
	border-right: 1px solid #36373e;
}
table thead th:last-of-type{
	border-radius: 0 15px 0 0;
}
table tbody td{
	font-size: 113%;
	line-height: 1.22;
	padding: 31px 10px;
	text-align: center;
	font-weight: bold;
	background: #fff;
}
table tbody td:nth-of-type(2){
	border-right: 1px solid #36373e;
	border-left: 1px solid #36373e;
}
table tbody tr:not(:last-of-type) td{
	border-bottom: 1px solid #36373e;
}
table tbody tr:last-of-type td:first-of-type{
	border-radius: 0 0 0 15px;
}
table tbody tr:last-of-type td:last-of-type{
	border-radius: 0 0 15px 0;
}
@media screen and (max-width:768px){
	table thead th{
		font-size: 87.5%;
	}
	table tbody td{
		font-size: 87.5%;
		padding: 33px 5px;
	}
}

/* ---------------------------------------------
	disc
---------------------------------------------- */
p.disc{
	position: relative;
	font-size: 180%;
	line-height: 1.5;
	padding-left: 18px;
	font-weight: 500;
}
.disc li{
	position: relative;
	padding-left: 18px;
	margin-bottom: 15px;
}
.disc li:last-of-type{
	margin-bottom: 0;
}
p.disc::before,
.disc li p::before{
	content: '';
	position: absolute;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #c69f69;
}
p.disc::before{
	left: 0;
	top: 0.75em;
}
.disc li p::before{
	left: -18px;
	top: 1em;
}
.disc li p{
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 180%;
	line-height: 2;
	letter-spacing: 0.05em;
}
.none_list li{
	position: relative;
	margin-bottom: 15px;
}
.none_list li p{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 180%;
	line-height: 2;
	letter-spacing: 0.05em;
}
.decimal{
	counter-reset: section 0;
}
.decimal li{
	position: relative;
	padding-left: 18px;
	margin-bottom: 15px;
}
.decimal li::before{
	display: inline-block;
	counter-increment: section 1;
	content: counter(section) ".";
	text-align: left;
	position: absolute;
	left: 0;
	top: 9px;
	bottom: 0;
	margin: auto;
	font-family: "Noto Sans JP",sans-serif;
	font-size: 180%;
}
.decimal li p{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 180%;
	line-height: 2;
	letter-spacing: 0.05em;
}
@media screen and (max-width:768px){
	.disc p,
	.decimal li p,
	.decimal li::before,
	.none_list li p{
		font-size: 160%;
	}
}
/* ---------------------------------------------
	frame
---------------------------------------------- */
.frame{
	padding: 40px;
	border-radius: 15px;
	border: 1px solid #36373e;
	box-sizing: border-box;
}
.frame.type02{
	border-radius: 0;
}
@media screen and (max-width:768px){
	.frame{
		padding: 25px 20px;
	}
}
/* ---------------------------------------------
	背景色
---------------------------------------------- */
.box.paint_red,
.paint_red{
	background: #ed1a3d;
}
.box.paint_white,
.paint_white{
	background: #ffffff;
}
