@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

html {
	height: 100%;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 100%;
	height: 100%;
	-webkit-font-smoothing: antialiased;
	margin: 0;
	padding: 0;
	line-height: 1.5em;
	color: #000000;
	overflow-x: hidden;
}

h1, h2, h3 {
	margin: 0;
}

ul {
	display: block;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

figure {
	margin: 0;
	padding: 0;
}

.wrap {
	max-width: 1810px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}

.full_width img {
	max-width: none;
	width: 100%;
	height: auto;
}

/* common */
header,
footer {
	position: relative;
	z-index: 3;
	margin: 0 auto;
}

/* ----------------
   TOP
---------------- */
/* contents */
div.top_contents_outer {
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
}

div.top_contents_photo {
	display: flex;
	justify-content: center;
	width: 100%;
}

div.top_contents_photo figure {
	width: calc(640 / 1920 * 100%);
}

div.top_contents_title {
	padding: 3% 20px 1.5% 20px;
}

div.top_contents_title_inner {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 1.5% 0;
}

figure.top_contents_title_left {
	margin: 0 1.5% 0 0;
}

figure.top_contents_title_center {
	margin: 0 1.5%;
}

figure.top_contents_title_right {
	margin: 0 0 0 1.5%;
}

div.top_contents_linker_outer {
	display: flex;
	justify-content: center;
	padding: 40px 0;
}

a.top_contents_linker {
	display: block;
	width: calc(555 / 1920 * 100%);
	margin: 0 20px;
}

/* ----------------
   BLOG
---------------- */
/* header */
header.blog_header,
section#blog_profile,
section#blog_spot {
	width: 100%;
	background: #a74e38;
}

section#blog_description {
	width: 100%;
	background: #e7e2dd;
}

div.blog_main_image {
	max-width: 1775px;
	width: 100%;
	margin: 0 auto;
	padding: 3% 20px;
}

header.blog_header nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1370px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px 3% 20px;
}

header.blog_header nav a {
	display: block;
	margin: 0 10px;
}

/* footer */
footer.blog_footer {
	width: 100%;
	padding: 100px 20px 50px 20px;
	background: url("../images/blog/blog_wave_foot.svg") center top repeat-x #ffffff;
}

ul.footer_caution {
	margin: 0 auto 30px auto;
	padding: 0 0 0 1em;
}

ul.footer_caution li {
	margin: 0 0 10px 0;
	text-indent: -1em;
}

ul.footer_caution a,
ul.footer_caution a:hover,
ul.footer_caution a:focus {
	color: #754c24;
}

/* contents */
div#blog_content .wrap {
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}

figure.blog_description_head {
	filter: drop-shadow(0 -20px 10px rgba(0, 0, 0, 0.2));
}

section#blog_description {
	position: relative;
	width: 100%;
}

figure.blog_description_p_left {
	position: absolute;
	z-index: 1;
	top: 0;
	left: -630px;

}

figure.blog_description_p_right {
	position: absolute;
	z-index: 1;
	top: 0;
	right: -600px;
}

h2.blog_description_title {
	position: relative;
	z-index: 10;
	padding: 0 20px;
	text-align: center;
}

div.blog_description_text {
	position: relative;
	z-index: 10;
	max-width: 1090px;
	width: 100%;
	line-height: 1.8em;
	margin: 3% auto 0 auto;
	padding: 0 20px;
	font-size: 18pt;
	font-weight: bold;
	color: #a74e38;
}

div.blog_description_text p {
	position: relative;
	z-index: 10;
}

div.blog_description_text p span {
	display: block;
	text-align: center;
}

figure.blog_description_foot {
	background: #a74e38;
}

figure.blog_description_foot img {
	filter: drop-shadow(0 20px 10px rgba(0, 0, 0, 0.2));
}

figure.blog_profile_dot {
	text-align: center;
}

div.blog_profile_outer {
	display: flex;
	justify-content: space-between;
	max-width: 1600px;
	width: 100%;
	margin: 3% auto 0 auto;
	padding: 0 20px;
}

div.blog_profile_inner {
	width: calc(740 / 1560 * 100%);
}

div.blog_profile_card {
	position: relative;
	width: calc(740 / 1560 * 100%);
	padding: 20px;
	background: #ffffff;
	filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.3));
}

figure.blog_profile_label {
	position: absolute;
	top: -5%;
	left: -7%;
	width: calc(370 / 700 * 100%);
}

figure.blog_profile_title_mobile {
	display: none;
	visibility: hidden;
}

p.blog_profile_name {
	margin: 15px auto 0 auto;
	font-size: 20pt;
	font-weight: bold;
}

p.blog_profile_text {
	margin: 15px auto 0 auto;
	line-height: 1.5em;
	font-size: 16pt;
	font-weight: bold;
}

section#blog_contents {
	width: 100%;
	padding: 0 0 50px 0;
	background: url("../images/blog/blog_wave_head.svg") center bottom repeat-x #e7e2dd;
}

h2.blog_contents_title {
	margin: 0 auto 4% auto;
	text-align: center;
}

div.blog_contents_outer {
	margin: 0 auto 4% auto;
}

div.blog_article_outer {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
}

div.blog_article_outer article {
	position: relative;
	width: calc(494 / 1560 * 100%);
	margin: 0 0 4% 0;
	padding: 1.2% 1.2% 2.4% 1.2%;
	background: #ffffff;
	filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.3));
}

div.blog_article_outer article.blog_article_dummy,
div.blog_article_outer article.blog_article_end {
	background: transparent;
}

div.blog_article_outer article.blog_article_end {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	filter: none;
}

time.blog_article_time {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 106px;
	width: 100%;
	line-height: 1em;
	padding: 3px;
	border: 3px solid #000000;
	background: #fffcd5;
	font-size: 18pt;
	font-weight: 900;
	text-align: center;
}

p.blog_article_text {
	margin: 10px auto 0 auto;
	font-size: 1vw;
	font-weight: bold;
}

div.blog_sub_title_outer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 1% auto;
}

figure.blog_sub_title {
	padding: 0 20px 0 0;
}

div.blog_content_extra {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 4% auto;
}

p.blog_content_extra_text {
	line-height: 1.8em;
	font-size: 14pt;
	font-weight: bold;
}

figure.blog_contents_vol02_ex01 {
	min-width: 158px;
	padding: 0 0 0 20px;
}

figure.blog_contents_vol03_ex01 {
	min-width: 206px;
	padding: 0 0 0 20px;
}

div.blog_campaign_outer {
	display: flex;
	justify-content: space-between;
}

div.blog_campaign_inner {
	padding: 0 4% 0 0;
}

figure.blog_campaign_p01 {
	width: calc(528 / 1560 * 100%);
}

p.blog_campaign_text {
	line-height: 1.8em;
	font-size: 13pt;
	font-weight: bold;
}

p.blog_campaign_text span {
	font-size: 16pt;
	font-weight: 900;
}

div.blog_campaign_linker_outer {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin: 4% auto 0 auto;
}

figure.blog_souvenir_title {
	padding: 0 30px 0 0;
}

a.blog_campaign_linker {
	display: block;
}

div.blog_pager_outer {
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto 5% auto;
}

a.blog_pager_prev,
a.blog_pager_next {
	display: block;
	max-width: 400px;
	width: calc(400 / 1200 * 100%);
}

a.blog_pager_prev {
	padding: 0 20px 0 0;
}

a.blog_pager_next {
	padding: 0 0 0 20px;
}

section#blog_spot {
	padding: 50px 20px;
}

h2.blog_spot_title {
	line-height: 1.5em;
	text-align: center;
}

div.blog_spot_outer {
	display: flex;
	justify-content: space-between;
	max-width: 1520px;
	width: 100%;
	margin: 4% auto 0 auto;
}

div.blog_spot_inner {
	width: calc(687 / 1520 * 100%);
}

div.blog_spot_place {
	display: flex;
	justify-content: space-between;
	margin: 0 0 50px 0;
	color: #ffffff;
}

div.blog_spot_place figure {
	width: calc(260 / 687 * 100%);
}

div.blog_spot_place_inner h3 {
	font-size: 16pt;
}

div.blog_spot_place_inner {
	width: calc(390 / 687 * 100%);
	font-weight: bold;
}

p.blog_spot_place_text {
	margin: 10px 0 0 0;
	line-height: 1.8em;
	font-size: 12pt;
}

p.blog_spot_place_address {
	margin: 15px auto 0 auto;
	line-height: 1.5em;
	font-size: 11pt;
	word-wrap: break-word;
}

p.blog_spot_place_address a,
p.blog_spot_place_address a:hover,
p.blog_spot_place_address a:focus {
	color: #ffffff;
}

p.blog_spot_place_special {
	max-width: 290px;
	width: 100%;
	margin: 0 0 15px 0;
	padding: 10px;
	background: #ffffff;
	font-size: 18pt;
	font-weight: 900;
	text-align: center;
	color: #495677;
}

div.footer_wrap {
	max-width: 1205px;
	width: 100%;
	margin: 0 auto;
}

h2.footer_title {
	font-size: 16pt;
}

div.footer_inner {
	display: flex;
	justify-content: space-between;
	margin: 15px auto 0 auto;
}

div.footer_logo {
	width: calc(460 / 1205 * 100%);
}

div.footer_address {
	width: calc(645 / 1205 * 100%);
}

/* ----------------
   SOUVENIR
---------------- */
/* header */
div#souvenir_content {
	background: #e5e1dc;
}


header.souvenir_header nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1370px;
	width: 100%;
	margin: 0 auto;
	padding: 3% 20px 0 20px;
}

header.souvenir_header nav a {
	display: block;
	margin: 0 10px;
}

/* footer */
footer.souvenir_footer {
	padding: 4% 20px;
	background: #ffffff;
}

/* contents */
div#souvenir_content main {
	padding: 0 0 100px 0;
	overflow-x: hidden;
}

figure.souvenir_title {
	padding: 6% 0 0 0;
	text-align: center;
}


div.souvenir_schedule_outer {
	position: relative;
	max-width: 1310px;
	margin: 120px auto 0 auto;
}

figure.souvenir_schedule_p01 {
	position: absolute;
	z-index: 5;
	top: -100px;
	right: -10%;
	width: calc(432 / 1310 * 100%);
}

div.souvenir_schedule {
	position: relative;
	z-index: 10;
	display: flex;
	max-width: 1020px;
	width: calc(1020 / 1310 * 100%);
	margin: 0 0 40px 0;
}

div.souvenir_schedule_title {
	min-width: 6em;
	font-size: 18pt;
	font-weight: 900;
}

div.souvenir_schedule_text {
	max-width: 720px;
	line-height: 1.8em;
	font-size: 18pt;
	font-weight: 900;
}

figure.souvenir_date {
	margin: -3% 0 0 0;
}

ul.souvenir_list {
	padding: 0 0 0 1em;
	font-size: 15pt;
}

ul.souvenir_list li {
	text-indent: -1em;
}

div.souvenir_schedule_text a,
div.souvenir_schedule_text a:hover,
div.souvenir_schedule_text a:focus {
	color: #000000;
}

div.souvenir_course_outer {
	display: flex;
	justify-content: space-between;
	margin: 80px auto 0 auto;
}

div.souvenir_course_inner {
	width: calc(640 / 1310 * 100%);
}

figure.souvenir_present_title {
	margin: 5% auto 0 auto;
	text-align: center;
}

div.souvenir_quiz_outer {
	max-width: 1080px;
	margin: 0 auto;
}

h1.souvenir_quiz_title {
	max-width: 935px;
	width: 100%;
	margin: 7% auto 0 auto;
	padding: 10px;
	line-height: 1.5em;
	background: #a74e38;
	font-size: 34pt;
	font-weight: 900;
	text-align: center;
	color: #ffffff;
	letter-spacing: 0.2em;
}

p.souvenir_quiz_question {
	margin: 5% auto 0 auto;
	font-size: 32pt;
	font-weight: 900;
	text-align: center;
	color: #495677;
	letter-spacing: 0.2em;
}

p.souvenir_quiz_text,
p.souvenir_chance_text {
	max-width: 935px;
	width: 100%;
	margin: 5% auto 0 auto;
	line-height: 1.8em;
	font-size: 19pt;
	font-weight: bold;
}

ol.souvenir_quiz_list {
	max-width: 935px;
	width: 100%;
	margin: 0 auto;
	padding: 0 0 0 2em;
	line-height: 1.8em;
	list-style-type: none;
	font-size: 19pt;
	font-weight: bold;
}

ol.souvenir_quiz_list li {
	text-indent: -1em;
}

ol.souvenir_quiz_list li a,
ol.souvenir_quiz_list li a:hover,
ol.souvenir_quiz_list li a:focus {
	color: #000000;
}

div.souvenir_quiz_outer ul.souvenir_list {
	max-width: 935px;
	width: 100%;
	margin: 0 auto;
	line-height: 1.8em;
	font-size: 19pt;
	font-weight: bold;
}

h2.souvenir_chance_sub_title {
	max-width: 935px;
	width: 100%;
	margin: 5% auto 0 auto;
	font-size: 20pt;
	font-weight: bold;
	color: #a74e38;
	text-indent: -0.5em;
}

ul.souvenir_chance {
	max-width: 935px;
	width: 100%;
	margin: 0.8em auto 0 auto;
	padding: 0 0 0 1em;
	line-height: 1.8em;
	list-style-type: none;
	font-size: 19pt;
	font-weight: bold;
}

ul.souvenir_chance li {
	text-indent: -1em;
}

ul.souvenir_chance li span {
	color: #a74e38;
}

p.souvenir_chance_text {
	margin: 0.8em auto 0 auto;
}

ul.souvenir_chance_caution {
	max-width: 935px;
	width: 100%;
	margin: 0.8em auto 0 auto;
	padding: 0 0 0 1em;
	line-height: 1.8em;
	list-style-type: none;
	font-size: 14pt;
	font-weight: bold;
}

ul.souvenir_chance_caution li {
	text-indent: -1em;
}

a.go_form {
	display: block;
	max-width: 930px;
	width: 100%;
	margin: 40px auto 0 auto;
	padding: 20px;
	border-radius: 10px;
	background: #a74e38;
	line-height: 1em;
	font-size: 30pt;
	font-weight: bold;
	text-align: center;
	color: #ffffff !important;
	filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.3));
}

/* --------------------------------
   MEDIA QUERY
-------------------------------- */

@media (max-width: 767px) {
	figure.blog_description_p_left,
	figure.blog_description_p_right {
		display: none;
		visibility: hidden;
	}

	div.blog_description_text {
		font-size: 10pt;
	}

	p.blog_profile_name {
		margin: 5px auto 0 auto;
		font-size: 14pt;
	}

	p.blog_profile_text {
		margin: 10px auto 0 auto;
		font-size: 9pt;
	}

	figure.blog_profile_label {
		top: -10px;
		left: -10px;
	}

	div.blog_article_outer article {
		max-width: 480px;
		width: 100%;
		margin: 0 auto 20px auto;
		padding: 10px 10px 20px 10px;
	}

	p.blog_article_text {
		font-size: 12pt;
	}

	a.blog_pager_prev, a.blog_pager_next {
		width: 45%;
	}

	div.blog_spot_outer {
		display: block;
		margin: 50px auto 0 auto;
	}

	div.blog_spot_inner {
		width: 100%;
	}

	div.blog_spot_place {
		display: block;
	}

	div.blog_spot_place figure {
		width: 100%;
		text-align: center;
	}

	div.blog_spot_place_inner {
		width: 100%;
		margin: 20px auto 0 auto;
	}

	h2.footer_title {
		font-size: 14pt;
		text-align: center;
	}

	div.footer_inner {
		display: block;
	}

	div.footer_logo {
		width: 100%;
		text-align: center;
	}

	div.footer_address {
		width: 100%;
		margin: 30px auto 0 auto;
		text-align: center;
	}

	div.souvenir_schedule_outer {
		margin: 50px auto 0 auto;
	}

	figure.souvenir_schedule_p01 {
		display: none;
		visibility: hidden;
	}

	div.souvenir_schedule {
		display: block;
		width: 100%;
	}

	div.souvenir_schedule_title {
		min-width: 0;
		width: 100%;
		line-height: 1em;

	}

	div.souvenir_schedule_text {
		max-width: none;
		width: 100%;
		margin: 20px auto 0 auto;
		font-size: 12pt;
	}

	ul.souvenir_list {
		font-size: 12pt;
	}

	div.souvenir_course_outer {
		display: block;
	}

	div.souvenir_course_inner {
		width: 100%;
		margin: 0 auto 40px auto;
	}

	h1.souvenir_quiz_title {
		max-width: none;
		width: 100%;
		margin: 40px auto 0 auto;
		padding: 10px;
		font-size: 16pt;
		letter-spacing: 0;
	}

	p.souvenir_quiz_question {
		margin: 20px auto 0 auto;
		font-size: 12pt;
		letter-spacing: 0;
	}

	p.souvenir_quiz_text,
	p.souvenir_chance_text {
		margin: 20px auto 0 auto;
		line-height: 1.8em;
		font-size: 12pt;
	}

	ol.souvenir_quiz_list,
	div.souvenir_quiz_outer ul.souvenir_list,
	ul.souvenir_chance,
	ul.souvenir_chance_caution {
		font-size: 12pt;
	}

	h2.souvenir_chance_sub_title {
		font-size: 14pt;
	}

	div.blog_sub_title_outer {
		display: block;
		margin: 0 auto 20px auto;
	}

	figure.blog_sub_title {
		padding: 0;
	}

	figure.blog_meter {
		margin: 20px auto 0 auto;
	}

	p.blog_spot_place_special {
		max-width: none;
		width: 100%;
		font-size: 18pt;
	}

	div.blog_content_extra {
		display: flex;
		flex-wrap: wrap-reverse;
		justify-content: space-between;
	}

	p.blog_content_extra_text {
		font-size: 12pt;
	}

	figure.blog_contents_vol02_ex01,
	figure.blog_contents_vol03_ex01 {
		min-width: 0;
		width: 100%;
		padding: 0;
		margin: 0 0 20px 0;
		text-align: center;
	}

	div.blog_campaign_outer {
		flex-wrap: wrap-reverse;
		margin: 40px auto;
	}

	figure.blog_campaign_p01 {
		width: 100%;
	}

	div.blog_campaign_inner {
		width: 100%;
		margin: 20px auto 0 auto;
		padding: 0;
	}

	div.blog_campaign_linker_outer {
		display: block;
		margin: 30px auto 0 auto;
	}

	figure.blog_souvenir_title {
		width: 100%;
		padding: 0;
		text-align: center;
	}

	a.blog_campaign_linker {
		max-width: 402px;
		width: 100%;
		margin: 30px auto 0 auto;
	}

	div.blog_profile_title_outer {
		display: none !important;
		visibility: hidden;
	}

	div.blog_profile_outer {
		display: block;
	}

	figure.blog_profile_title_mobile {
		display: block;
		visibility: visible;
		margin: 40px auto 0 auto;
	}

	div.blog_profile_card {
		width: 100%;
		margin: 30px auto 0 auto;
		padding: 10px;
	}
}

@media (min-width: 768px) and (max-width: 1029px) {
	p.blog_profile_text {
		font-size: 12pt;
	}

	figure.blog_description_p_left,
	figure.blog_description_p_right {
		display: none;
		visibility: hidden;
	}

	p.blog_article_text {
		font-size: 10pt;
	}

	div.blog_spot_inner {
		width: 48%;
	}

	div.blog_spot_place_inner h3 {
		font-size: 13pt;
	}

	p.blog_spot_place_text {
		line-height: 1.5em;
		font-size: 10pt;
	}

	p.blog_spot_place_address {
		font-size: 8pt;
	}

	p.blog_spot_place_special {
		font-size: 12pt;
	}

	div.souvenir_schedule_outer {
		margin: 50px auto 0 auto;
	}

	div.souvenir_schedule_title {
		font-size: 16pt;
	}

	div.souvenir_schedule_text {
		font-size: 14pt;
	}

	p.souvenir_quiz_question {
		font-size: 22pt;
	}

	figure.souvenir_schedule_p01 {
		top: 0;
	}
}

@media (min-width: 1030px) and (max-width: 1479px) {

}

@media (min-width: 1480px) {
	p.blog_article_text {
		font-size: 13pt;
	}
}