@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
html{
	font-size: 10px;
}
body{
	font-size: 1.7rem;
	line-height: 26px;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
	margin: 0;
	padding: 0;
	background: repeating-linear-gradient(
		to right,
		#aed6e0 0,
		#aed6e0 14px,
		#bedfe6 14px,
		#bedfe6 28px
	);
	color: #34250E;
}
a{
	text-decoration: none;
	cursor: pointer;
	color: #272727;
}
p{
	margin: 0;
	padding: 0;
}
img{
	width: 100%;
}
.fb{
	font-weight: bold;
}
ul{
	padding: 0;
	margin: 0;
}
ul,li{
	list-style: none;
}
dl{
	margin: 0;
}

header{
	padding: 0px 6.25vw;
	background: #fff;
}
header .header{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header .header .logo{
	max-width: 206px;
}
header .header .btn a{
	display: block;
	border:solid 2px #956134;
	border-radius: 50px;
	width: 140px;
	text-align: center;
	padding: 10px 0px;
	position: relative;
	transition: 0.3s;
}
header .header .btn a::before{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-100%,-50%);
	width: 12px;
    height: 11px;
	background: url("../img/arrow.svg");
	background-size: 100%;
}
header .header .btn a p{
	font-weight: 700;
	line-height: 20px; /* 125% */
	color: #956134;
}
header .header .btn a:hover{
	background: #956134;
}
header .header .btn a:hover::before{
	background: url("../img/arrow2.svg");
	background-size: 100%;
}
header .header .btn a:hover p{
	color: #fff;
}
footer{
	background: #fff;
	padding: 20px 6.25vw;
}
footer .footer{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
footer .footer .f_logo{
	max-width: 185px;
}
footer .footer .f_logo a{
	display: block;
}
footer .footer .copy{
	font-size: 1.2rem;
	line-height: 20px;
	letter-spacing: 0.6px;
}

article{
	padding-bottom: 50px;
}
section{
	/*padding: 0px 9.375vw;*/
	max-width: 960px;
	margin: 0 auto;
}

.main{
	padding: 0;
	position: relative;
	overflow-x: hidden;
	max-width: 100%;
}
.main::before{
	content: "";
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translate(-350%, 0px);
    background: url(../img/main_bg1.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 170px;
    height: calc(100% - 81px);
}
.main::after{
	content: "";
	position: absolute;
	top: 20px;
	right: 50%;
	transform: translate(173%, 0px);
	background: url("../img/main_bg2.png");
	background-size: cover;
	background-repeat: no-repeat;
	width: 357px;
	height: calc(100% - 20px);
}
main{
	padding: 60px 0px 120px;
	position: relative;
	z-index: 2;
}
main .main_vi{
	margin: 0 auto;
}
main .main_vi .main_img{
	max-width: 878px;
	margin: 0 auto;
}
main .main_vi .main_txt{
	text-align: center;
}
main .main_vi .main_txt p{
	font-size: 1.8rem;
	line-height: 24px; /* 133.333% */
	text-align: center;
}
main .main_vi .main_txt a{
	border: solid 2px #34250E;
	display: block;
	border-radius: 50px;
	width: 380px;
	margin: 20px auto;
	padding: 20px;
	background: #fff;
	transition: 0.3s;
	position: relative;
}
main .main_vi .main_txt a::before{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-180%,-50%);
	width: 14px;
	height: 14px;
	background: url("../img/arrow3.svg");
	background-size: cover;
}
main .main_vi .main_txt a p{
	font-size: 1.6rem;
	line-height: 1;
	color: #34250E;
	font-weight: 700;
}
main .main_vi .main_txt a:hover{
	background: #34250E;
}
main .main_vi .main_txt a:hover::before{
	background: url("../img/arrow2.svg");
	background-size: cover;
}
main .main_vi .main_txt a:hover p{
	color: #fff;
}

.contents{
	margin: 0 auto; 
	background: #fff;
	padding: 40px 65px;
	border-radius: 10px;
	border: solid 2px #956134;
	box-shadow: 5px 5px 0px #956134;
	margin-bottom: 120px;
	position: relative;
	z-index: 2;
}
.contents .ttl{
	max-width: 360px;
	margin: -112px auto 0px;
}
.contents .day{
	max-width: 570px;
	margin: 30px auto 15px;
}
.contents .day dl{
	display: flex;
	justify-content: center;
	align-items: center;
}
.contents .day dl:first-child{
	margin-bottom: 12px;
}
.contents .day dl dt{
	background: #966135;
	color: #fff;
	text-align: center;
	padding: 5px 5px;
	border-radius: 10px;
	line-height: 24px;
	width: 18%;
	font-weight: 700;
	letter-spacing: 0.85px;
}
.contents .day dl dd{
	margin-left: 12px;
}
.contents .line{
	margin: 33px 0px;
	height: 8px;
	background: url("../img/line.png");
	background-size: 100%;
}
.contents .stamp{
	max-width: 576px;
	margin: 0 auto;
}
.contents .stamp img{
	margin-left: 40px;
}
.contents .column{
	display: flex;
	flex-wrap: wrap;
	column-gap: 8px;
	margin-top: 30px;
}
.contents .column .col{
	width: calc(100%/4 - 8px);
	background: #956134;
	border-radius: 5px;
	margin-bottom: 8px;
	padding: 14px 0px;
	transition: 0.3s;
	position: relative;
}
.contents .column .col::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-100%,-50%);
	width: 16px;
	height: 16px;
	background: url("../img/arrow4.svg");
	background-size: cover;
	transition: 0.3s;
}
.contents .column .col p{
	color: #fff;
	text-align: center;
	font-size: 2rem;
	line-height: 30px;
	font-weight: 700;
}
.contents .column .col:hover{
	background: #34250E;
}
.contents .column .col:hover::after{
	transform: translate(-50%,-50%);
}

.contents .cnt2 .ttl{
	max-width: 340px;
	margin: -90px auto 0px;
}

.map .contents{
	padding: 0;
	background: none;
}
.contents .cnt3 .ttl{
	max-width: 274px;
	margin: -60px auto 0px;
	position: relative;
	z-index: 2;
}
.contents .cnt3 .map_cnt{
	margin-top: -56px;
	position: relative;
	overflow: hidden;
}

/*note*/
.note .contents{
	padding: 0;
	margin-bottom: 32px;
}
.note .contents .note_ttl{
	padding: 12px 0px;
	text-align: center;
	background: #956134;
	color: #fff;
	border-radius: 5px 5px 0px 0px;
}
.note .contents .note_ttl p{
	font-size: 2rem;
	font-weight: 700;
	line-height: 20px;
}
.note .contents .note_txt{
	padding: 30px 68px;
}
.note .contents .note_txt p:first-child{
	margin-bottom: 28px;
}
.note .contents .note_txt p.ind{
	color: #956134;
	font-weight: 700;
	text-indent: -16px;
    margin-left: 16px;
}
.note .contents .note_txt .sub_cnt{
	margin-bottom: 31px;
}
.note .contents .note_txt .sub_cnt:last-child{
	margin-bottom: 0px;
}
.note .contents .note_txt .sub_cnt .sub_ttl{
	display: flex;
	align-items: center;
	margin-bottom: 13px;
}
.note .contents .note_txt .sub_cnt .sub_ttl img{
	width: 26px;
}
.note .contents .note_txt .sub_cnt .sub_ttl p{
	padding-left: 8px;
	line-height: 20px;
	font-weight: 900;
	color: #956134;
}
.note .contents .note_txt .sub_cnt p{
	text-indent: -17px;
    margin-left: 17px;
}
.note .contents .note_txt .info p:first-child{
	margin-bottom: 0;
}
.note .contents .note_txt .info .info_cnt{
	display: flex;
	width: 100%;
	margin: 10px 0px 20px;
}
.note .contents .note_txt .info .info_cnt .info_col{
	display: flex;
	align-items: center;
    margin-right: 50px;
    white-space: nowrap;
}
.note .contents .note_txt .info .info_cnt .info_col:last-child{
	margin-right: 0px;
}
.note .contents .note_txt .info .info_cnt .info_col p.info_icon{
	font-size: 1.4rem;
	line-height: 24px;
	font-weight: 700;
	background: #956134;
	border-radius: 5px;
	text-align: center;
	color: #fff;
	padding: 2px 15px;
	margin-right: 16px;
}
.note .contents .note_txt .info .info_cnt .info_col p{
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 24px;
	color: #272727;
}
.note .contents .note_txt .info p.info_note{
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 20px;
}
.note2 .contents .note_ttl{
	background: #00A6BA;
	border-radius: 8px 8px 0px 0px;
}
.note2 .contents .note_txt{
	background: #FFED61;
	border-radius: 0px 0px 8px 8px;
}
.note2 .contents .note_txt .list ul{
	text-indent: -16px;
    margin-left: 16px;
}
.note2 .contents .note_txt .list ul li span img{
	max-width: 19px;
}
.note2 .contents .note_txt .list a{
	text-decoration: underline;
	color: #272727;
}
.note2 .contents .stamp_m{
	margin: 20px 0px;
}
.note2 .contents .stamp_m a{
	text-decoration: underline;
	word-break: break-all;
}
.note2 .contents .note_txt .list a.btn{
	max-width: 257px;
	background: #fff;
	border: solid 2px #956134;
	border-radius: 50px;
	display: block;
	text-decoration: none;
	padding: 12px 0px;
	margin: 12px 0px 20px;
}
.note2 .contents a.btn p:first-child{
	margin-bottom: 0px;
	text-align: center;
	color: #956134;
	font-size: 1.6rem;
	line-height: 1;
	position: relative;
}
.note2 .contents a.btn p:first-child::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-20px, -50%);
    width: 11px;
    height: 13px;
	background: url("../img/pdf_icon.svg");
	background-size: 100%;
}
.note2 .contents{
	position: relative;
}
.note2 .contents::after{
	content: "";
    width: 148px;
    height: 283px;
    position: absolute;
    bottom: 0px;
    right: 100px;
    background: url(../img/stamp_img.png);
    background-size: cover;
}

/*lower*/
.lower article{
	padding-top: 115px;
}
.lower .contents{
}
.lower .sp820{
	display: none;
}
.lower .contents .ttl{
	max-width: 340px;
	margin: -90px auto 0px;
}
.lower .contents .area_ttl{
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 1.6px;
	display: flex;
	justify-content: center;
	text-align: center;
	color: #fff;
	margin: 20px auto 30px;
}
.lower .contents .area_ttl p{
	background: #00A6BA;
	padding: 12px 20px;
	border-radius: 10px;
}
.lower .area .name_cnt{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}
.lower .area .name{
	font-size: 2.8rem;
	color: #956134;
	font-weight: 900;
	line-height: 40px;
}
.lower .area .name_cnt .name_stamp{
	max-width: 40px;
}
.lower .area .spec{
	margin-top: 20px;
	display: flex;
}
.lower .area .spec .spec_img{
	max-width: 306px;
	margin-right: 30px;
}
.lower .area .spec .spec_txt{
	width: 100%;
}
.lower .area .spec .spec_txt dl{
	display: flex;
	align-items: baseline;
	margin-bottom: 5px;
}
.lower .area .spec .spec_txt dl dt{
	width: 15%;
	background: #956134;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 24px; /* 200% */
	letter-spacing: 0.6px;
	border-radius: 5px;
}
.lower .area .spec .spec_txt dl dd{
	margin-left: 8px;
	font-size: 1.4rem;
	line-height: 20px; /* 142.857% */
	width: 100%;
	word-break: break-all;
}
.lower .area .spec .spec_txt dl dd a{
	text-decoration: underline;
	word-break: break-all;
}
.lower .area .other{
	margin-top: 14px;
	font-size: 1.4rem;
	line-height: 20px;
}
.lower .area .other a{
	text-decoration: underline;
}
/*1250*/
@media screen and (max-width: 1250px) {
	.main::before{
		transform: translate(-320%, 0px);
	}
	.main::after{
		transform: translate(160%, 0px);
	}
}
/*1180*/
@media screen and (max-width: 1180px) {
	.note .contents .note_txt .info .info_cnt .info_col p{
		font-size: 2rem;
	}
}
@media screen and (max-width: 1024px) {
	.main::before{
		transform: translate(-290%, 0px);
	}
	.main::after{
		transform: translate(150%, 0px);
	}
	
	section{
		padding: 0px 22px 0px 17px;
	}
	
	.note .contents .note_txt .info .info_cnt{
		display: block;
	}
	.note .contents .note_txt .info .info_cnt .info_col p.info_icon{
		width: 20%;
		padding: 2px 0px;
	}
	.note .contents .note_txt .info .info_cnt .info_col{
		margin-right: 0px;
		margin-bottom: 16px;
	}
	.note .contents .note_txt .info .info_cnt .info_col p{
		font-size: 2.8rem;
	}
	/*lower*/
	.lower .contents{
		margin-bottom: 0px;
	}
	.lower .area .spec .spec_txt dl dt{
		width: 32%;
	}
}
@media screen and (max-width: 820px) {
	.main::before{
		content: "";
		position: absolute;
		top: 20px;
		left: 50%;
		transform: translate(-330%, 0px);
		background: url(../img/main_bg1_sp.png);
		background-size: cover;
		background-repeat: no-repeat;
		width: 114px;
		height: calc(100% - 20px);
	}
	.main::after{
		content: "";
		position: absolute;
		top: 20px;
		right: 50%;
		transform: translate(220%, 0px);
		background: url(../img/main_bg2_sp.png);
		background-size: cover;
		background-repeat: no-repeat;
		width: 170px;
		height: calc(100% - 20px);
	}
	main .main_vi .main_img{
		max-width: 710px;
	}
	.contents .ttl{
		margin: -82px auto 0px;
	}
	.contents .line{
		height: 6px;
	}
	/*lower*/
	.lower .sp820{
		display: block;
		margin-bottom: 16px;
	}
	.lower .area .spec{
		display: block;
	}
	.lower .area .spec .spec_img{
		display: none;
	}
	.lower .area .spec .spec_txt{
		margin-left: 0px;
	}
	.lower .area .spec .spec_txt dl dt {
        width: 25%;
    }
	.note .contents .note_txt,.note2 .contents .note_txt{
		padding: 30px 20px;
	}
	.note2 .contents::after {
		content: "";
		width: 148px;
		height: 283px;
		position: absolute;
		bottom: 0px;
		right: 40px;
		background: url(../img/stamp_img.png);
		background-size: cover;
	}
}
.pc{
	display: block;
}
.sp{
	display: none;
}
@media screen and (max-width: 767px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	header{
		padding: 6px 20px;
	}
	header .header .logo{
		max-width: 106px;
	}
	header .header .btn a{
		font-size: 1.4rem;
		width: 82px;
		padding: 5px 5px 5px 20px;
		text-align: left;
	}
	footer{
		padding: 10px;
	}
	footer .footer{
		display: block;
		text-align: center;
	}
	footer .footer .f_logo{
		margin: 0 auto 0px;
	}
	footer .footer .copy{
		font-size: 1rem;
	}
	
	section{
		padding: 0px 22px 0px 17px;
	}
	.main::before{
		top: 0;
		width: 68px;
		height: calc(100% - 60px);
		transform: translate(-290%, 0px);
	}
	.main::after{
		width: 119px;
		height: calc(100% - 20px);
		transform: translate(170%, 0px);
	}
	main{
		padding-bottom: 80px;
	}
	main .main_vi .main_img{
		max-width: 357px;
	}
	main .main_vi .main_img{
		margin-bottom: 32px;
	}
	main .main_vi .main_txt p{
		font-size: 1.6rem;
	}
	main .main_vi .main_txt a p{
		font-size: 1.4rem;
	}
	main .main_vi .main_txt a{
		width: auto;
	}
	main .main_vi .main_txt{
		padding: 0px 22px;
	}
	
	article{
		padding-bottom: 0px;
	}
	.contents{
		padding: 30px 16px;
		margin-bottom: 70px;
	}
	.contents .ttl{
		max-width: 218px;
		margin: -73px auto 0px;
	}
	.contents .day dl dt{
		width: 39%;
		font-size: 1.4rem;
		line-height: 24px;
		padding: 8px;
	}
	.contents .day dl dd{
		font-size: 1.4rem;
	}
	.contents .line{
		margin: 27px 0px;
		background: url(../img/line_sp.png);
		background-size: 100%;
		height: 7px;
	}
	.contents .stamp img{
		margin-left: 0px;
	}
	
	.contents .cnt2 .ttl{
		max-width: 240px;
		margin: -69px auto 0px;
	}
	.contents .column .col{
		width: calc(100%/2 - 4px);
	}
	.contents .cnt3 .ttl{
		max-width: 170px;
		margin: -33px auto 0px;
	}
	.contents .cnt3 .map_cnt{
		margin-top: -41px;
	}
	.note .contents .note_ttl p{
		font-size: 1.6rem;
	}
	.note .contents .note_txt{
		padding: 20px 16px;
	}
	.note .contents .note_txt p{
		font-size: 1.4rem;
		line-height: 20px;
	}
	.note .contents .note_txt p:first-child{
		margin-bottom: 20px;
	}
	.note2 .contents .note_txt .list ul{
		font-size: 1.4rem;
		line-height: 20px;
	}
	.note .contents .note_txt .list p:first-child{
		margin-top: 15px;
	}
	.note .contents .note_txt .sub_cnt{
		margin-bottom: 21px;
	}
	.note .contents .note_txt .info .info_cnt .info_col{
		margin-bottom: 8px;
		white-space: normal;
	}
	.note .contents .note_txt .info p:first-child{
		margin-top: 0px;
	}
	.note .contents .note_txt .info .info_cnt .info_col p.info_icon{
		margin-top: 0px;
		margin-right: 0px;
	}
	.note .contents .note_txt .info .info_cnt .info_col p{
		font-size: 1.7rem;
		margin-top: 0px;
		padding-left: 10px;
	}
	.note .contents .note_txt .sub_cnt .sub_ttl p{
		font-size: 1.6rem;
	}
	.note .contents .note_txt .info p.info_note{
		font-size: 1.2rem;
	}
	.note .contents .note_txt .list a.btn p:first-child{
		margin-top: 0px;
	}
	.note .contents .note_txt .list.list2{
		width: 60%;
	}
	.note2 .contents::after {
		content: "";
		width: 105px;
		height: 200px;
		position: absolute;
		bottom: 0px;
		right: 30px;
		background: url(../img/stamp_img.png);
		background-size: cover;
	}
	
	/*lower*/
	.lower article{
		padding-top: 85px;
	}
	.lower .contents {
        margin-bottom: 40px;
	}
	.lower .contents .ttl{
		max-width: 240px;
		margin: -74px auto 0px;
	}
	.lower .contents .area_ttl{
		font-size: 2rem;
		margin: 14px auto 20px;
	}
	.lower .contents .area_ttl p{
		padding: 6px 20px;
	}
	.lower .sp820{
		max-width: 250px;
		margin: 0 auto;
	}
	.lower .area .name_cnt{
		margin-bottom: 12px;
	}
	.lower .area .name{
		font-size: 2rem;
		line-height: 30px;
	}
	.lower .area p{
		font-size: 1.4rem;
		line-height: 20px;
	}
	.lower .area .spec{
		margin-top: 16px;
	}
	.lower .area .spec .spec_txt dl dd{
		font-size: 1.2rem;
	}
	.lower .area .other p{
		font-size: 1.2rem;
		line-height: 18px;
	}
}

/*com*/
.com .main{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.com .main::before,.com .main::after{
	display: none;
}
@media screen and (max-width: 767px) {
    .com main{
		padding: 0;
	}
	.com main .main_vi .main_img{
		margin-bottom: 0;
	}
	.com .main{
	}
}