@charset "UTF-8";
/* ===================================================
  access CSS
====================================================== */
#main_img {
	height: 60vw; max-height: 100vh; background: url(../../goto/img/main.jpg)no-repeat center; background-size: cover;
	display: flex; justify-content: center; align-items: center;
}
#main_img > div { max-width: 50%; margin-top: 100px;}
#main_img h1 { background: rgba(179, 143, 62, 0.95); padding: 15px 20px; position: static;}
#main_img p { background: rgba(255, 255, 255, 0.9); padding: 15px 20px;}

#contents_wrap { padding-bottom: 0;}

.cnav { display: flex; text-align: center;}
.cnav li { width: calc(25% - 6px); margin-right: 8px; border: 5px solid #b28e3d; box-sizing: border-box; background: #fff;}
.cnav li:last-of-type { margin-right: 0;}
.cnav li a {
	display: flex; justify-content: center; align-items: center; height: 100%;
	background: url(../../goto/img/cnav_arrow.png)no-repeat center right 10px; color: #b28e3d; padding: 10px 10px 10px 5px; box-sizing: border-box; font-weight: bold; font-size: 18px; line-height: 1.4;
}
.cnav li:last-of-type a { background: url(../img/h_arrow.png)no-repeat center right 10px #b28e3d; color: #fff;}
.cnav li a:hover { text-decoration: none; background-color: #fcf9f3;}
.cnav li:last-of-type a:hover { background-color: #C4A767;}
.cnav li a small { font-size: 13px; display: block; line-height: 1.2; margin-top: 8px; padding-left: 1em; text-indent: -1em; text-align: left;}

@media screen and (max-width: 1120px) {
	#main_img { height: 672px; min-height: 380px;}
}


@media screen and (max-width: 600px) {
	#main_img { height: 115vw;}
	#main_img > div { max-width: 90%; margin-top: 80px;}

	.br_pc { display: none;}


	.cnav { display: block;}
	.cnav li { width: 100%; margin-right: 0; margin-top: 10px; border-width: 2px;}
	.cnav li a { display: block; font-size: 14px;}
	.cnav li a small { text-align: center;}
}


/* ---------------------------------------------------
	lead
------------------------------------------------------ */
#lead { text-align: center; padding: 30px 0 80px; line-height: 2;}
#lead p { margin-top: 20px;}
#lead p span { color: #8c6100;}
#lead .cnav { margin-top: 60px;}


@media screen and (max-width: 600px) {
	#lead { padding: 0 0 40px; line-height: 1.7;}
	#lead { text-align: left;}
	#lead p { margin-top: 0;}
	#lead p:nth-of-type(2) { margin-top: 10px; text-indent: -1em; padding-left: 1em;}
	#lead .cnav { margin-top: 20px;}
}


/* ---------------------------------------------------
	sec1
------------------------------------------------------ */
#sec1 { background: #fcf9f3; box-shadow: 0 8px 30px -30px #7d7d7d inset; padding: 60px 0 120px;}
#sec1 h2 { font-size: 45px; text-align: center; line-height: 1.5;}
#sec1 h2::before { content: ''; display: block; width: 107px; height: 59px; background: url(../../goto/img/goto.png)no-repeat center; background-size: contain; margin: 0 auto 20px;}
#sec1 h2 span { display: block; font-size: 21px; color: #b28e3d;}

#sec1 section { padding: 35px; border: 1px solid #b28e3d; background: #fff; display: flex; flex-wrap: wrap; margin-top: 80px;}
#sec1 section:first-of-type { margin-top: 20px;}
#sec1 section ul { width: 500px; display: flex; flex-wrap: wrap; justify-content: space-between;}
#sec1 section ul li { width: calc(50% - 1px);}
#sec1 section ul li:first-of-type { width: 100%; margin-bottom: 2px;}
#sec1 section div { width: calc(100% - 500px); padding: 15px 0 0 25px; display: flex; flex-direction: column;}
#sec1 section div h3 { font-size: 44px; color: #b28e3d; font-weight: bold; line-height: 1.2;}
#sec1 section div h3 span:not([class]) { display: block; color: #000; font-size: 24px; margin-bottom: 10px;}
#sec1 section div h3 .small { font-size: 35px;}
#sec1 section div p { margin-top: 35px; flex-grow: 1;}
#sec1 section div dl { margin-top: 10px; font-weight: bold;}
#sec1 section div dt { font-size: 21px; border-top: 1px solid #b28e3d; border-bottom: 1px solid #b28e3d; padding: 10px 0;}
#sec1 section div dt span { font-size: 14px;}
#sec1 section div dd > span { font-size: 20px; display: inline-block;}
#sec1 section div dd > span:first-of-type { vertical-align: top; padding-top: 25px;}
#sec1 section div dd > span:nth-of-type(2)::before { content: '→'; margin: 0 15px;}
#sec1 section div dd em { font-size: 40px; color: #b28e3d;}
#sec1 section div dd span span { font-size: 16px; background: #f0ebe1; padding: 5px 20px; border-radius: 30px; margin-left: calc(1em + 30px);}
#sec1 section div a { display: block; background: url(../img/h_arrow.png)no-repeat center right 30px #b28e3d; color: #fff; padding: 20px 15px 20px 0; text-align: center; font-size: 21px; margin-top: 30px;}
#sec1 section div a:hover { text-decoration: none; opacity: 0.75;}

@media screen and (max-width: 600px) {
	#sec1 { padding: 30px 0 40px;}
	#sec1 h2 { font-size: 24px;}
	#sec1 h2::before { width: 80px; height: 45px; margin: 0 auto 10px;}
	#sec1 h2 span { font-size: 18px;}

	#sec1 section { padding: 20px 15px; margin-top: 30px;}
	#sec1 section ul { width: 100%; order: 1; margin-top: 30px;}
	#sec1 section div { width: 100%; padding: 0;}
	#sec1 section div h3 { font-size: 23px;}
	#sec1 section div h3 span:not([class]) { font-size: 16px;}
	#sec1 section div h3 .small { font-size: 16px;}
	#sec1 section div p { margin-top: 15px;}
	#sec1 section div dl { margin-top: 15px;}
	#sec1 section div dt { font-size: 15px; padding: 5px 0;}
	#sec1 section div dd > span { font-size: 15px; line-height: 1.4;}
	#sec1 section div dd > span:first-of-type { padding-top: 17px;}
	#sec1 section div dd > span:nth-of-type(2)::before { margin: 0 10px; vertical-align: super;}
	#sec1 section div dd span span { font-size: 12px; padding: 5px 10px; margin-left: 10px; display: inline-block;}
	#sec1 section div dd em { font-size: 35px;}
	#sec1 section div a { margin-top: 15px; font-size: 16px; padding: 10px 15px 10px 0;}

}

@media screen and (max-width: 366px) {
	#sec1 section div dd > span { display: block;}
	#sec1 section div dd > span:nth-of-type(2)::before { margin: 0 10px 0 0;}
	#sec1 section div dd span span { margin-left: calc(1em + 10px); margin-top: 3px;}
}

/* ---------------------------------------------------
	sec2
------------------------------------------------------ */
#sec2 { text-align: center; padding: 140px 0 170px; font-weight: bold; background: url(../../goto/img/sec2_bg.jpg)no-repeat center; background-size: cover;}
#sec2 p { font-size: 35px; line-height: 1.5; color: #fff;}
#sec2 p span { display: block; font-size: 16px; margin-top: 10px;}
#sec2 a { display: block; width: 850px; margin: 60px auto 0; background: url(../../goto/img/arrow.png)no-repeat center right 40px #fff; padding: 60px 20px 50px 0; font-size: 26px; text-decoration: none; position: relative;}
#sec2 a::before { content: ''; display: block; border-style: solid; border-width: 32px 60px 0 60px; border-color: #b28e3d transparent transparent transparent; position: absolute; top: 1px; left: calc(50% - 60px);}
#sec2 a:hover { opacity: 0.85;}
#sec2 a span:first-of-type { color: #b28e3d;}
#sec2 a span:nth-of-type(2) { text-decoration: underline;}

@media screen and (max-width: 600px) {
	#sec2 { padding: 40px 0 50px;}
	#sec2 p { font-size: 22px; padding: 0 10px;}
	#sec2 p span { font-size: 14px;}
	#sec2 a { width: 90%; font-size: 15px; padding: 25px 10px 20px 0; margin: 30px auto 0; background-position: center right 15px;}
	#sec2 a::before { border-width: 15px 30px 0 30px; left: calc(50% - 30px);}
}


/* ---------------------------------------------------
	#sec3
------------------------------------------------------ */
#sec3 { padding: 80px 0 120px;}
#sec3 h2 { font-size: 45px; text-align: center; line-height: 1.5;}
#sec3 h2::before { content: ''; display: block; width: 107px; height: 59px; background: url(../../goto/img/goto.png)no-repeat center; background-size: contain; margin: 0 auto 20px;}
#sec3 h2 span { display: block; font-size: 21px; color: #b28e3d;}
#sec3 h2 + p { margin-top: 35px; text-align: center;}
#sec3 h2 + p span { font-size: 17px; background: #b28e3d; color: #fff; padding: 10px 30px; border-radius: 30px; font-weight: bold; display: inline-block;}
#sec3 ol { list-style: none; margin-top: 50px; counter-reset: step; font-size: 18px;}
#sec3 ol li { margin-top: 30px; border: 1px solid #b28e3d; padding: 30px; counter-increment: step; display: flex; justify-content: space-between; align-items: center;}
#sec3 ol li p { width: calc(100% - 85px);}
#sec3 ol li::before { content: 'その 'counter(step); background: #000; color: #fff; font-weight: bold; padding: 10px 0; display: inline-block; width: 75px; text-align: center;}
#sec3 ol li span { color: #8c6100;}
#sec3 ul { margin-top: 45px;}
#sec3 ul li { padding-left: 1em; text-indent: -1em; line-height: 2;}
#sec3 ul li::before { content: '※';}
#sec3 dl { border: 1px solid #a5a5a5; padding: 20px; margin-top: 45px;}
#sec3 dl dt { font-size: 28px; text-align: center; background: #e9e4da; padding: 10px 0;}
#sec3 dl dd { padding: 30px 0 45px;}
#sec3 dl dd p:first-of-type { font-size: 22px; font-weight: bold; color: #b28e3d; margin-bottom: 20px;}

@media screen and (max-width: 600px) {
	#sec3 { padding: 40px 0;}
	#sec3 h2 { font-size: 24px;}
	#sec3 h2::before { width: 80px; height: 45px; margin: 0 auto 10px;}
	#sec3 h2 span { font-size: 18px;}
	#sec3 h2 + p { margin-top: 10px; line-height: 1.5;}
	#sec3 h2 + p span { font-size: 14px;}
	#sec3 ol { margin-top: 30px; font-size: 14px;}
	#sec3 ol li { margin-top: 15px 10px; padding: 15px; align-items: flex-start;}
	#sec3 ol li p { width: calc(100% - 70px);}
	#sec3 ol li::before { padding: 5px 0; width: 60px;}
	#sec3 ul { margin-top: 15px;}
	#sec3 ul li { line-height: 1.7;}
	#sec3 dl { margin-top: 30px;}
	#sec3 dl dt { font-size: 20px; padding: 5px 0;}
	#sec3 dl dd { padding: 15px 0 20px;}
	#sec3 dl dd p:first-of-type { font-size: 16px; margin-bottom: 10px;}

}



/* ---------------------------------------------------
	end_col
------------------------------------------------------ */
#end_col { padding: 110px 0; background: #fcf9f3; box-shadow: 0 8px 30px -30px #7d7d7d inset;}

@media screen and (max-width: 600px) {
	#end_col{ padding: 20px 0 40px;}
}
