@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Mochiy+Pop+One&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&display=swap');

/*------------------------------------------------------

	リセット

------------------------------------------------------*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: 500;
	vertical-align: baseline;
	background: transparent;
}
body { line-height: 1;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
ul { list-style: none;}
blockquote, q { quotes: none;}
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none;}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
table { border-collapse: collapse; border-spacing: 0;}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-bottom: 3px solid #def0f0;
	margin: 0;
	padding: 0;
}
input, select { vertical-align: middle;}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: bottom;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	image-rendering: auto;
}
*, *:before, *:after { box-sizing: border-box;}


/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	color: #505050;
	font-size: 1.1em;
	line-height: 1.6;
	position: relative;
	min-width: 1030px;
}

.fo_mochi { font-family: "Mochiy Pop One", sans-serif; font-weight: 400;}

p { margin-bottom: 30px;}
p:last-child { margin-bottom: 0px;}

a { color: #505050; text-decoration: none;}
a:hover { color: #0375c2;}

a.fo_blue, a.fo_blue02 { color: #0f9cda !important; text-decoration: underline;}
a.fo_blue:hover, a.fo_blue02:hover { opacity: 0.7; text-decoration: none;}

/* 文字装飾 */
.fo05 { font-size: 0.5em !important;}
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo09 { font-size: 0.9em !important;}
.fo095 { font-size: 0.95em !important;}
.fo105 { font-size: 1.05em !important;}
.fo11 { font-size: 1.1em !important;}
.fo115 { font-size: 1.15em !important;}
.fo12 { font-size: 1.2em !important;}
.fo125 { font-size: 1.25em !important;}
.fo13 { font-size: 1.3em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo18 { font-size: 1.8em !important;}
.fo19 { font-size: 1.9em !important;}
.fo20 { font-size: 2em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}

.fo_white { color: #FFFFFF !important;}
.fo_blue { color: #0f9cda !important;}
.fo_blue02 { color: #0375c2 !important;}
.fo_gray { color: #787878 !important;}
.fo_pink { color: #e07990 !important;}
.fo_orange { color: #e88121 !important;}
.fo_orange02 { color: #eb9620 !important;}
.fo_green { color: #5da661 !important;}

/* ボックス */
.cont1000 { max-width: 1030px; padding: 0px 15px; margin: 0px auto;}
.cont1100 { max-width: 1130px; padding: 0px 15px; margin: 0px auto;}
.cont1200 { max-width: 1230px; padding: 0px 15px; margin: 0px auto;}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}
.regular { font-weight: 400;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}
.ta_right-s_center { text-align: right;}
.ta_left-s_center { text-align: left;}
.ta_center-s_left { text-align: center;}

.back_white { background-color: #fff !important;}
.back_blue { background-color: #0375c2 !important;}
.back_blue02 { background-color: #0f9cda !important;}
.back_yellow { background-color: #faee42 !important;}
.back_pink { background-color: #e07990 !important;}
.back_green { background-color: #5da661 !important;}
.back_orange { background-color: #eb9620 !important;}
.back_orange02 { background-color: #e88121 !important;}
.back_cream { background-color: #fff4cd !important;}

.back_sand { background: url("../images/common/bg01.png");}
.back_water { background: url("../images/common/bg02.jpg") repeat-y center top; background-size: 100% auto;}
.back_brick { background: url("../images/common/bg03.jpg") !important;}

.z-1 { z-index: -1;}
.z50 { z-index: 50;}

.break_keep { word-break: keep-all;}

@media print,  (min-width: 769px) {
	.hidden_l { display: none !important;}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb80 { margin-bottom: 80px !important;}

.mb40-20 { margin-bottom: 40px !important;}
.mb50-30 { margin-bottom: 50px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-60 { margin-bottom: 100px !important;}
.mb120-60 { margin-bottom: 120px !important;}
.mb120-80 { margin-bottom: 120px !important;}
.mb160-80 { margin-bottom: 160px !important;}

.mt10 { margin-top: 10px !important;}
.mt20 { margin-top: 20px !important;}
.mt30 { margin-top: 30px !important;}
.mt40 { margin-top: 40px !important;}
.mt50 { margin-top: 50px !important;}
.mt60 { margin-top: 60px !important;}
.mt70 { margin-top: 70px !important;}
.mt80 { margin-top: 80px !important;}
.mt100 { margin-top: 100px !important;}
.mt120 { margin-top: 120px !important;}
.mt150 { margin-top: 150px !important;}

/* clearFix */
.clearFix { zoom: 100%;}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

/* ------------------------
	ヘッダー
------------------------ */

.header { position: fixed; z-index: 999; top: 0px; left: 0px; width: 100%; margin-top: -15px; display: none; padding-left: 3%;}

.header_logo { z-index: 999; left: 50%; top: -15px; width: 100%; max-width: 1130px; transform: translateX(-50%); padding-left: 15px;}


/* ------------------------
	グローバルナビ
------------------------ */

.humberger {
	background: url("../images/common/sp_nav01.svg") no-repeat center center #faee42;
  background-size: 60% auto;
	cursor: pointer;
	position: fixed;
	top: 0px;
	right: 0px;
	width: 50px;
	height: 50px;
	z-index: 10001;
  transition: 0.3s;
}

.is-open .humberger { background-image: url("../images/common/sp_nav02.svg"); background-size: 50% auto;}

/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}
.sp-navi.is-open .sp-navi-inner {
	transform: translateX(0);
}
.sp-navi .sp-navi-inner {
  font-size: min(3.6vw,1em);
  height: 100%;
	overflow-y: auto;
	transform: translateX(100%);
	position: fixed;
	top: 0;
	right: 0px;
	transition: .5s;
	z-index: 10000;
}

.sp-navi .box01 { padding: 50px 1.5em 30px; display: flex; background: #fff;}
.sp-navi .box01 ul:first-child { padding-right: 1em; border-right: dotted 4px #505050;}
.sp-navi .box01 ul:last-child { padding-left: 1em;}
.sp-navi .box01 li { border-bottom: solid 3px #def0f0;}
.sp-navi .box01 a { display: block; position: relative; font-weight: bold; color: #0375c2; padding: 0.6em 0px 0.6em 2em;}
.sp-navi .box01 ul:first-child a { padding-right: 1em;}
.sp-navi .box01 ul:first-child a:before { content: ""; position: absolute; width: 1.1em; height: 1.2em; left: 0.4em; top: 50%; transform: translateY(-50%); background-position: center center; background-repeat: no-repeat; background-size: 100% auto;}
.sp-navi .box01 ul:first-child li:nth-child(1) a:before { background-image: url("../images/common/gn01.svg");}
.sp-navi .box01 ul:first-child li:nth-child(2) a:before { background-image: url("../images/common/gn02.svg");}
.sp-navi .box01 ul:first-child li:nth-child(3) a:before { background-image: url("../images/common/gn03.svg");}
.sp-navi .box01 ul:first-child li:nth-child(4) a:before { background-image: url("../images/common/gn04.svg");}
.sp-navi .box01 ul:first-child li:nth-child(5) a:before { background-image: url("../images/common/gn05.svg");}
.sp-navi .box01 ul:first-child li:nth-child(6) a:before { background-image: url("../images/common/gn06.svg");}
.sp-navi .box01 ul:first-child li:nth-child(7) a:before { background-image: url("../images/common/gn07.svg");}

.sp-navi .box01 ul:last-child a { color: #0f9cda; padding-left: 1.2em;}
.sp-navi .box01 ul:last-child a:before { content: ""; position: absolute; width: 0.5em; height: 0.5em; left: 0.2em; top: 50%; transform: translateY(-50%); background: #0f9cda; border-radius: 100%;}

.sp-navi .sns_area { background: url("../images/common/bg_wave_up.svg") no-repeat center -1px, url("../images/common/bg02.jpg"); background-size: 102% auto, contain; padding-bottom: 40px;}
.sp-navi .sns_area .text01 { width: 11em; margin: auto;}
.sp-navi .sns_area ul { width: 70%; border-radius: 100px; display: flex; justify-content: center; column-gap: 10%; padding: 13px; margin: auto;}
.sp-navi .sns_area li { width: 4em;}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.sp-navi.is-open ~ .overlay { opacity: 1; visibility: visible;}

@media only screen and (min-width: 769px) {
	.humberger { width: 80px; height: 80px;}

  .sp-navi .sp-navi-inner { font-size: 1em;}
  .sp-navi .box01 { padding: 80px 2em 30px;}
  .sp-navi .box01 ul:first-child { padding-right: 2em;}
  .sp-navi .box01 ul:last-child { padding-left: 2em;}
}



/* ------------------------
	フッター
------------------------ */

.footer_mainimage { background: url("../images/common/footer_bg01.jpg") no-repeat center center; background-size: auto 100%; padding: 70px 0px 120px;}
.footer_mainimage .bg { width: 100%; left: 0px; bottom: -10%;}
.footer_mainimage .bg img { width: 100%; vertical-align: bottom;}

@media only screen and (min-width: 1350px) {
  .footer_mainimage { padding: 5% 0px 9%;}
  .footer_mainimage .bg { bottom: -13%;}
}

.footer_nav { display: flex; justify-content: space-between; padding: 0px 5%;}
.footer_nav li { margin-bottom: 0.3em;}
.footer_nav a { text-decoration: none; display: inline-block; position: relative; color: #0375c2; padding-left: 1em;}
.footer_nav a:before { content: ""; position: absolute; background: #0375c2; border-radius: 100%; width: 0.7em; height: 0.7em; left: 0px; top: 0.5em;}
.footer_nav a:hover { text-decoration: underline;}

.footer .bg01 { padding-top: 60px;}
.footer .bg01 .more_btn { max-width: 480px; margin: auto;}
.footer .bg01 .more_btn a { font-size: 1.25em; background-image: url("../images/common/footer_btn_icon02.svg"), url("../images/common/more_btn_bg01.svg"); background-size: 2.7em auto, 105% auto; padding: 1.8em 3.6em;}
.footer .bg01 .btn_area a { background: url("../images/common/ico_link_blue.svg") no-repeat right center; background-size: 1em auto; padding-right: 1.5em; color: #0375c2;}
.footer .bg01 .btn_area a:hover { text-decoration: underline;}
.footer .bg01 .img01 { left: -10%; bottom: -40px;}
.footer .bg01 .img02 { right: 0; top: -10px;}

.footer .text01 { padding: 1.5em 1em; font-size: min(3vw,0.9em);}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.mainimage { background: url("../images/top/main_bg.jpg") no-repeat center center; background-size: auto 100%; padding: 115px 0px 210px;}
.mainimage .btn_area { bottom: 40px; left: 50%; transform: translateX(-50%);}
.mainimage .bg01 { width: 100%; max-width: 1950px; left: 50%; transform: translateX(-50%); bottom: -6%;}
.mainimage .bg01 img { width: 100%; vertical-align: bottom;}

@media only screen and (min-width: 1450px) {
  .mainimage .bg01 { bottom: -12%;}
}

@media only screen and (min-width: 1930px) {
  .mainimage .bg01 { bottom: -15%;}
}

.bg_wave img { width: 100%; height: auto;}
.bg_wave.down img { vertical-align: top; margin-top: -1px;}
.bg_wave.up img { margin-bottom: -1px;}

.top_ttl01 { background: url("../images/common/h2.svg") no-repeat center center; background-size: auto 100%; text-align: center; color: #5da661; font-size: 2.3em; padding: 0.2em;}
.top_ttl01.long.fo_blue { background-image: url("../images/common/h2_long.svg");}
.top_ttl01.fo_blue { background-image: url("../images/common/h2_blue.svg");}
.top_ttl01.fo_pink { background-image: url("../images/common/h2_pink.svg");}
.top_ttl01.fo_pink.long { background-image: url("../images/common/h2_pink_long.svg");}
.top_ttl01.fo_orange { background-image: url("../images/common/h2_orange.svg");}
.top_ttl01.fo_blue02 { background-image: url("../images/common/h2_blue02.svg");}

.top_bg01 .pos_ab img { max-width: initial;}
.top_bg01 .img01 { top: -20px; left: calc(50% - 560px);}
.top_bg01 .img02 { top: 3%; left: calc(100% - 30px);}
.top_bg01 .img03 { top: 34%; left: -90px;}
.top_bg01 .img04 { bottom: -50px; right: -140px;}

.top_news { background: url("../images/top/top_news_bg02.svg") no-repeat right bottom, url("../images/top/top_news_bg03.png"); background-size: 111px auto, auto; border-bottom-right-radius: 135px; box-shadow: 7px 7px 15px rgba(0,0,0,0.2); padding: 80px 100px;}
.top_news h2 { width: 100%; left: 0px; top: 0px; transform: translateY(-50%);}
.top_news .box01 { max-height: 480px; overflow-y: auto; padding-right: 5%;}
.top_news dl { display: table; width: 100%;}
.top_news dl:not(:last-child) { background: url("../images/top/top_news_line.svg") repeat-x center bottom; background-size: auto 6px; padding-bottom: 1.5em; margin-bottom: 1.5em;}
.top_news dl > * { display: table-cell;}
.top_news dt { width: 7em;}
.top_news .img06 { left: 25px; bottom: 25px;}

::-webkit-scrollbar { width: 10px;}
::-webkit-scrollbar-track { background: #d8d0cb; border-radius: 5px;}
::-webkit-scrollbar-thumb { background: #a3cadd; border-radius: 5px;}

.top_how { max-width: 800px; margin: auto;}
.top_how section { padding: 40px;}
.top_how dl { display: flex; justify-content: space-between; align-items: center;}
.top_how dt { width: 6rem; margin: -0.8rem 0px 0px -0.6rem;}
.top_how dd { width: calc(100% - 6rem); border-top: solid 1px #0375c2; border-bottom: solid 1px #0375c2; padding: 0.55em 0px;}
.top_how dd span { font-size: 0.55em; display: inline-block; vertical-align: middle; border-radius: 30px; padding: 0.2em 1.1em; margin-right: 0.7em;}
.top_how h4 { display: table; border-radius: 30px; padding: 0px 1em;}
.top_how ul .list_disc { margin-left: 1em;}

.top_event { padding: 120px 0px;}
.top_event .img01 { left: -30px; top: -100px;}
.top_event .img02 { right: -30px; top: 50px;}

.top_event .box01:before, .top_event .box01:after { content: ""; position: absolute; z-index: -1; background-size: 100% auto !important; top: 0px; bottom: -50px;}
.top_event .box01:before { width: 218px; left: -215px; background: url("../images/common/under_bg01.png") repeat-y center top;}
.top_event .box01:after { width: 171px; right: -150px; background: url("../images/common/under_bg02.png") repeat-y center 100px;}

.top_event .box01 { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 90px 7%; padding: 0px 2%;}
.top_event .box01 section { width: 46.5%;}
.top_event section .back_white { padding: 60px 30px 30px;}
.top_event .ttl_box { width: 23em; left: -0.7em; top: -1.2em; text-align: center; transform: rotate(-3deg);}
.top_event .ttl_box h3 { padding: 0.6em;}
.top_event .ttl_box h3:before { content: ""; position: absolute; z-index: -1; background: #ded8d4; top: 0.4em; right: -0.4em; bottom: -0.4em; left: 0.4em; transform: rotate(1deg);}
.top_event .ttl_box .fo_mochi { font-size: 1.7em;}
.top_event .ttl_box .pos_ab { min-width: 11em; border-radius: 30px; left: -1em; top: -1.25em; padding: 0.2em 1em;}
.top_event .btn_area { right: -2%; bottom: -25px;}

.top_btn01 { background: url("../images/top/top_btn01_bg01.png") no-repeat center top, url("../images/top/top_btn01_bg01.png") no-repeat center bottom #fff4cd; background-size: 105% auto; padding: 11% 0px; z-index: 50;}
.top_btn01 .list01 { display: flex; justify-content: center; gap: 30px; padding: 0px 4%;}
.top_btn01 .list01 li { width: calc(33.3333% - 15px);}
.top_btn01 .img01 { top: -230%; right: 5px; width: 15.5%;}
.top_btn01 .img02 { bottom: -7.5%; left: 1%; width: 28%;}
.top_btn01 .img03 { bottom: 0px; right: 1%; width: 24%;}

.under .top_btn01 .list01 { flex-wrap: wrap; gap: 40px 3%;}
.under .top_btn01 .list01 li { max-width: 380px;}
.under .top_btn01 .img01 { top: -80%;}
.under .top_btn01 .img02 { bottom: -5.2%;}

@media only screen and (min-width: 2100px) {
  .top_btn01 .img02 { bottom: -6.2%;}
}

.top_btn02 .img07 { top: -90px; left: -6%;}

.top_bg02 .pos_ab img { max-width: initial;}
.top_bg02 .img00 { top: -250px; right: -1%;}
.top_bg02 .img01 { top: -10px; left: -15%;}
.top_bg02 .img02 { top: 20%; left: calc(100% - 30px);}
.top_bg02 .img03 { top: 40%; left: -15%;}
.top_bg02 .img04 { bottom: -90px; right: -12%;}

.top_access { padding: 8%;}
.top_access .img05 { bottom: -60px; left: -50px;}
.top_access .img06 { top: 50%; right: 20px;}
.top_access .box01 { display: flex; column-gap: 40px;}
.top_access .more_btn { max-width: 480px; margin: auto;}
.top_access .more_btn a { background-size: 2.7em auto, 105% auto; padding: 1.3em 3.6em; font-size: 1.25em;}
.top_access .more_btn img { width: 1.8em;}

.top_map .tab { display: flex;}
.top_map .tab li { width: 25%; background: #fff; border: solid 1px #e88121; color: #e88121; border-top-left-radius: 0.7em; border-top-right-radius: 0.7em; font-size: 1.4em; letter-spacing: 0.05em; padding: 0.6em 0.2em; cursor: pointer;}
.top_map .tab li:not(:first-child) { border-left: none;}
.top_map .tab li.select { background: #e88121; color: #fff;}
.top_map .content li { background: #fff; border-bottom-left-radius: 50px; border-bottom-right-radius: 50px; padding: 40px;}
.top_map .content li img { max-width: 550px;}
.hide { display: none;}

.top_sns { padding: 120px 0px 80px;}
.top_sns .btn_area { max-width: 390px; margin: auto; border-radius: 80px; padding: 15px;}
.top_sns .btn_area ul { display: flex; justify-content: center; align-items: center; gap: 10%;}
.top_sns .btn_area h3 { right: -120px; top: -35px;}
.top_sns .img01 { top: -120px; left: -4%;}
.top_sns .img02 { top: -50px; right: -1%;}
.top_sns .img03 { bottom: 40px; left: -2%;}
.top_sns .img04 { bottom: -180px; right: -1%;}

.under .top_sns .img01 { top: -70px;}
.under .top_sns .img02 { top: 0px;}

.top_corp { padding: 0px 4%;}
.top_corp .box01 { display: grid; grid-template-columns: repeat(3,1fr); grid-template-rows: auto auto; gap: 50px;}
.top_corp .box01 section:nth-child(1) { grid-column: 1; grid-row: 1;}
.top_corp .box01 section:nth-child(2) { grid-column: 2; grid-row: 1;}
.top_corp .box01 section:nth-child(3) { grid-column: 3; grid-row: 1;}
.top_corp .box01 section:nth-child(4) { grid-column: 1; grid-row: 2;}
.top_corp .box01 .box_inner { grid-column: 2 / span 2; grid-row: 2;}
.top_corp .box02 { display: flex; column-gap: 50px;}
.top_corp .box01 .fo13 { font-size: clamp(1.2em,2.1vw,1.3em) !important;}
.top_corp table { width: 100%;}
.top_corp td { width: 33.3333%; padding-bottom: 0.8rem;}


.popup-trigger { cursor: pointer;}
#popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
#popup-overlay.active { opacity: 1; pointer-events: auto;}
#popup-overlay.fade-out { opacity: 0; pointer-events: none;}
#popup-content { position: relative; animation: zoomIn 0.3s ease;}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale(0.85);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

#popup-image { max-width: 90vw; max-height: 90vh;}
#popup-close {
  position: absolute;
  top: 15px;
  right: 15px;
  color: #fff;
  font-size: 4em;
  line-height: 0.5;
  font-weight: bold;
  cursor: pointer;
  user-select: none;
  z-index: 10000;
}

.time_box { display: table; border: solid 1px #0375c2; width: 100%;}
.time_box > div { display: table-cell; vertical-align: middle;}
.time_box .pos_ab { left: -1em; top: 50%; transform: translateY(-50%); z-index: 50; width: 2.5em;}
.time_box .ttl_box { padding: 0.2em 0px 0.2em 2.5em; width: 50%;}
.time_box .ttl_box:after { content: ""; position: absolute; width: 1em; right: calc(1px - 1em); top: -1px; bottom: -1px; background: #0375c2; clip-path: polygon(0 0, 100% 50%, 0 100%);}
.ex_sec01 .time_box .ttl_box:after { background: #0f9cda;}
.time_box .text_box { padding-left: 2em;}
.time_box .text_box span { background: linear-gradient(transparent 80%, #faee42 0%);}


/*------------------------------------------------------

	下層ページ

------------------------------------------------------*/

.show_sp { display: none;}
.over_hidden { overflow: hidden;}

.img_hover a { display: inline-block; vertical-align: middle; transition: 0.3s;}
.img_hover a:hover { transform: translateY(-5px);}

.hvr_sink { display: inline-block; transition: 0.3s;}
.hvr_sink:hover { transform: translateY(5px);}

.more_btn a, .more_btn span { display: inline-block; width: 100%; background: url("../images/common/more_btn_bg02.svg") no-repeat calc(100% - 0.8em) center, url("../images/common/more_btn_bg01.svg") no-repeat left bottom #0375c2; background-size: 1.8em auto, 105% auto; color: #fff; font-size: clamp(1em,1.7vw,1.25em); line-height: 1.6; border-radius: 100px; transition: 0.3s; text-align: left; padding: 1.5em 3em; position: relative;}
.more_btn a img, .more_btn span img { position: absolute; width: 1.35em; left: 1.2em; top: 50%; transform: translateY(-50%);}
.more_btn a:hover { transform: translateX(5px);}

.map_btn a { display: inline-block; background: url("../images/common/ico_link.svg") no-repeat calc(100% - 1.2em) #fff; background-size: 0.9em auto; border: solid 1px #5da661; color: #5da661; font-size: 0.9em; border-radius: 60px; padding: 0.5em 2.6em 0.5em 1.5em; line-height: 1.4; transition: 0.3s;}
.map_btn a:hover { transform: translateX(0.3em);}

.hv_right { transition: 0.3s; display: inline-block;}
.hv_right:hover { transform: translateX(5px);}

.radius50 { border-radius: 50px;}
.radius30 { border-radius: 30px;}
.radius20 { border-radius: 20px;}

.heading_back { background: #5da661; font-size: 1.4em; padding: 0.2em; border-radius: 60px;}

.heading_back.back_brick { font-size: 2em; border-radius: 0.3em; letter-spacing: 0.05em;}

.heading_back02 { border-radius: 0.5em; padding: 0.1em; letter-spacing: 0.1em;}

.heading_side { border: solid 1px #e07990; font-size: 2.3em; padding: 0.15em 1em; letter-spacing: 0.1em;}
.heading_side:before, .heading_side:after { content: ""; position: absolute; top: 0px; bottom: 0px; width: 1em; background: url("../images/common/heading_side_pink.svg") no-repeat center center; background-size: 100% 100%;}
.heading_side:before { left: 0px;}
.heading_side:after { right: -1px; transform: scale(-1,1);}

.heading_side.fo_green { border-color: #5da661;}
.heading_side.fo_green:before, .heading_side.fo_green:after { background-image: url("../images/common/heading_side_green.svg");}
.heading_side.fo_orange { border-color: #eb9620; color: #eb9620 !important;}
.heading_side.fo_orange:before, .heading_side.fo_orange:after { background-image: url("../images/common/heading_side_orange.svg");}

.list_circle li { position: relative; padding-left: 0.8em;}
.list_circle li:before { content: ""; position: absolute; width: 0.6em; height: 0.6em; border-radius: 100%; left: 0px; top: 0.6em; background: #5da661;}

a.link { background: url("../images/common/ico_link_blue.svg") no-repeat right center; background-size: 0.8rem; padding-right: 1.2rem;}
a.link.green { background-image: url("../images/common/ico_link.svg");}
a.link.orange { background-image: url("../images/common/ico_link_orange.svg");}

.pagettl { background: url("../images/common/pagettl.svg") no-repeat center bottom; background-size: 125px auto; font-size: 2.55em; letter-spacing: 0.1em; padding-bottom: 0.8em; position: relative; z-index: 100;}

.page_head .img01 { left: 2%; top: -10px;}
.page_head .img02 { right: 3%; bottom: -30px;}

.page_nav .list01 { display: flex; justify-content: center; flex-wrap: wrap; column-gap: 4%;}
.page_nav .img01 { right: -20%; bottom: 0px;}
.page_nav .img02 { left: -12%; bottom: -3%;}

.link_pad { padding-top: 50px; margin-top: -50px;}

.breadcrumb { background: url("../images/common/ico_bread.svg") no-repeat left 0.4em; background-size: 0.9em auto; padding-left: 1.2em;}


/* ------------------------
	about
------------------------ */

.about_sec01 { background: url("../images/about/about_head_bg.png") no-repeat center bottom; background-size: auto 100%; padding-bottom: 15%; line-height: 2.4; letter-spacing: 0.1em;}
.about_sec01 .img01 { left: 0px; top: 0px;}
.about_sec01 .img02 { right: 6%; bottom: -60px;}

.underline { background: linear-gradient(transparent 70%, #faee42 0%);}

@media only screen and (min-width: 1400px) {
  .about_sec01 { padding-bottom: 190px;}
}

.top_bg01.about .img02 { left: calc(100% - 80px);}
.top_bg01.about .img03 { left: -150px;}
.top_bg01.about .img04 { bottom: -80px; right: -120px;}

.about_sec02 { padding: 7% 8.5%;}
.about_sec02 .box01 { display: flex; align-items: center;}
.about_sec02 .box01 .box_inner { width: 45%}
.about_sec02 .box01 > figure { width: 76%; margin: 0px -14% 0px -5%;}
.about_sec02 dl { display: table;}
.about_sec02 dl > * { display: table-cell; vertical-align: middle;}
.about_sec02 dt { width: 4.3em; height: 4.1em; font-size: 1.35em; letter-spacing: 0.1em; background: url("../images/about/about_sec01_bg01.svg") no-repeat center center; background-size: 100% auto; padding: 0px 0.2em 0.3em 0px;}
.about_sec02 dd { padding-left: 0.8em;}

.under_bg01.about_sec03 { padding: 120px 0px 1px;}
.about_sec03 section.back_white { padding: 7% 8%;}
.about_sec03 .sec01 th, .about_sec03 .sec01 td { padding-bottom: 0.3em;}
.about_sec03 .sec01 th { width: 5.5em;}
.about_sec03 .sec01 .list01 { display: flex; gap: 30px;}

.about_sec03 .sec03 .box01 {display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 15px;}

.about_dl { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px 20px;}
.about_dl dl { display: table; width: calc(50% - 10px);}
.about_dl dl > * { display: table-cell; vertical-align: middle;}
.about_dl dt { width: 35%;}
.about_dl dl:nth-child(-n+4) dt { width: 45%;}
.about_dl dd { padding-left: 1em;}

.about_sec03 .sec02 .box01 { display: flex; justify-content: space-between;}
.about_sec03 .sec02 li { margin-bottom: 0.7em;}


/* ------------------------
	faq
------------------------ */

.under_bg01 .img01 { top: -120px; left: -11%;}
.under_bg01 .img02 { top: -90px; right: -7%;}
.under_bg01 .bg_inner:before, .under_bg01 .bg_inner:after { content: ""; position: absolute; z-index: -1; background-size: 100% auto !important; top: 0px; bottom: -105px;}
.under_bg01 .bg_inner:before { width: 218px; left: -260px; background: url("../images/common/under_bg01.png") repeat-y center 300px;}
.under_bg01 .bg_inner:after { width: 171px; right: -190px; background: url("../images/common/under_bg02.png") repeat-y center 450px;}


.faq_sec01 { padding: 120px 0px 1px;}
.faq_sec01 div.back_white { padding: 7% 10%;}

.faq_sec01 .fo_orange { color: #eb9620 !important;}

.faq_sec01 dl:not(:last-child) { border-bottom: solid 3px #def0f0; padding-bottom: 30px; margin-bottom: 30px;}
.faq_sec01 dt, .faq_sec01 dd { position: relative; padding: 0.5rem 0px 0.5rem 4.2rem;}
.faq_sec01 dt:before, .faq_sec01 dd:before { content: ""; position: absolute; background: url("../images/common/ico_q_pink.svg") no-repeat center center; background-size: 100% auto; width: 3rem; height: 3rem; left: 0px; top: 0px;}
.faq_sec01 dt { margin-bottom: 10px;}
.faq_sec01 dd:before { background-image: url("../images/common/ico_a_pink.svg");}

.faq_sec01 .green dt:before { background-image: url("../images/common/ico_q_green.svg");}
.faq_sec01 .green dd:before { background-image: url("../images/common/ico_a_green.svg");}
.faq_sec01 .orange dt:before { background-image: url("../images/common/ico_q_orange.svg");}
.faq_sec01 .orange dd:before { background-image: url("../images/common/ico_a_orange.svg");}

.faq_img01 { left: -100px; bottom: -60px;}


/* ------------------------
	food
------------------------ */

.top_bg01.food .img02 { top: -30%; left: 85%;}
.top_bg01.food .img03 { top: 5%; left: 5%;}
.top_bg01.food .img04 { bottom: -50%; right: 20%;}

.food_sec02 { background: url("../images/food/food_bg01.png") repeat-y -10% 120px, url("../images/food/food_bg02.png") repeat-y 110% 180px #fff4cd; background-size: 27% auto, 25% auto; padding: 120px 0px 1px;}

@media only screen and (max-width: 1550px) {
  .food_sec02 { background-position: -20% 120px, 120% 180px;}
}
@media only screen and (max-width: 1200px) {
  .food_sec02 { background-position: -30% 120px, 130% 180px;}
}

.food_sec .box01 { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 70px 5%;}
.food_sec section { width: 47.5%;}
.food_sec section h4 { font-size: 1.4em; margin: auto 1em; padding: 0.3em;}
.food_sec section h4:before, .food_sec section h4:after { content: ""; position: absolute; top: 0px; bottom: 0px; width: 1em; clip-path: polygon(100% 0, 0% 100%, 100% 100%); background: #eb9620;}
.food_sec section h4:before { left: calc(-1em + 1px);}
.food_sec section h4:after { right: calc(-1em + 1px); transform: scale(-1,1);}
.food_sec section h4 .pos_ab { background: url("../images/food/food_text_bg.svg") no-repeat top center; background-size: 100% auto; font-size: 0.6em; width: 6.5em; height: 3em; padding: 0.2em 0.5em 0px 0px; left: 0; top: -1.5em;}
.food_sec section .box02 { display: flex; justify-content: space-between;}
.food_sec section .box02 > figure { width: 42%;}
.food_sec section .box02 > figure img { border-radius: 0.5em;}
.food_sec section .box02 .box_inner { width: 53%;}
.food_sec section .list01 { display: flex; flex-wrap: wrap; gap: 10px;}
.food_sec section .list01 li { background: url("../images/food/food_ico01.svg") no-repeat 0.9em center #fff; border: solid 1px #e88121; background-size: 0.7em auto; border-radius: 1em; padding: 0.2em 1em 0.2em 2em; line-height: 1.1}


/* ------------------------
	ship
------------------------ */

.ship_sec01 { padding: 120px 0px 1px;}

.sec_wrap { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 50px; padding: 0px 4%;}
.sec_wrap section { width: calc(50% - 25px); border-bottom-left-radius: 30px; border-bottom-right-radius: 30px;}
.sec_wrap header { padding-top: 1em;}
.sec_wrap header .text01 { display: table; margin-left: -1em; padding: 0.1em 2em 0.1em 2.5em;}
.sec_wrap header .text01:after { content: ""; position: absolute; top: 0px; bottom: 0px; right: -0.5em; width: calc(0.5em + 1px); clip-path: polygon(0 0, 100% 0, 1px 50%, 100% 100%, 0 100%); background: #faee42;}
.sec_wrap header h3 { font-size: 1.62em; padding: 0px 0.3em 0.2em 0.8em;}
.sec_wrap header figure { position: relative;}
.sec_wrap header figure:after { content: ""; position: absolute; width: 100%; left: 0px; height: 3px; background: #fff; bottom: -1px;}
.sec_wrap header figure img { margin-bottom: -1px; display: block; width: 100%; height: auto; object-fit: cover;}
.sec_wrap .main { padding: 1em 2em 1.5em;}
.sec_wrap .main .text01 { display: table; border-radius: 0.3em; padding: 0.1em 0.9em;}
.sec_wrap .main dl { display: table; width: 100%;}
.sec_wrap .main dl:not(:last-child) { border-bottom: dotted 1px #505050; padding-bottom: 0.4em; margin-bottom: 0.4em;}
.sec_wrap .main dl > * { display: table-cell;}
.sec_wrap .main dt { width: 6em; padding-right: 1em; position: relative;}
.sec_wrap .main dt.em3 { width: 3em;}
.sec_wrap .main dt:after { content: "："; position: absolute; right: 0px;}
.sec_wrap .main dd span { display: inline-block; margin-right: 0.5em;}
.sec_wrap .btn_area { background: #f4cfd1; border-bottom-left-radius: 30px; border-bottom-right-radius: 30px; padding: 1em 2em 1.5em;}
.sec_wrap .btn_area a { display: block; background: #e07990; border: solid 1px #fff; color: #fff; border-radius: 0.5em; font-weight: bold; padding: 0.8em; letter-spacing: 0.05em;}
.sec_wrap .btn_area a:after { content: ""; display: inline-block; vertical-align: middle; background: url("../images/common/ico_link_white.svg") no-repeat center center; background-size: 100% auto; width: 0.8em; height: 0.8em; margin: -0.4em 0px 0px 0.4em;}

.sec_wrap .btn_area.green, .ex_sec02 .btn_area.green { background: #cadec0;}
.sec_wrap .btn_area.green a, .ex_sec02 .btn_area.green a { background: #5da661;}
.sec_wrap .btn_area.orange, .ex_sec02 .btn_area.orange { background: #fbd8b5;}
.sec_wrap .btn_area.orange a, .ex_sec02 .btn_area.orange a { background: #eb9620;}

.ex_sec02 .btn_area.orange.gray a { background: #999999;}

/* fish */
.fish_sec header { background: #e6f4fd; padding: 8% 8% 40px;}
.fish_sec header .img11 { left: 10%; bottom: 8%;}
.fish_sec header .img22 { right: 5%; bottom: 3%;}

.fish_sec .main { padding: 7% 6% 1px;}

.fish_sec .box01 { display: flex; justify-content: space-between;}
.fish_sec .box01 .box_inner { width: 36%;}
.fish_sec .box01 > figure { width: 61%;}
.fish_sec .box01 dl { display: flex; justify-content: space-between; align-items: center;}
.fish_sec .box01 dt { width: 6.5em; letter-spacing: 0.1em; border-radius: 30px; align-self: flex-start;}
.fish_sec .box01 dd { width: calc(100% - 7.5em);}

.fish_sec .box02 { display: flex; justify-content: space-between;}
.fish_sec .box02 section { width: 48%;}
.fish_sec .box02 table { width: 100%; border: solid 2px #0375c2;}
.fish_sec .box02 th { border: solid 1px #fff; padding: 0.85em; width: 3.5em;}
.fish_sec .box02 td { border-bottom: solid 1px #b4b4b4; font-size: 1.2em;}
.fish_sec .box02 section:last-child table { border-color: #0f9cda;}

.fish_sec .list01 { display: flex;}
.fish_sec .list01 li { width: 25%; display: flex; flex-direction: column;}
.fish_sec .list01 li:not(:last-child) .box_inner { border-right: solid 1px #0375c2; flex-grow: 1;}
.fish_sec .list01 .num { margin-left: -1.5em;}
.fish_sec .list01 .arrow { top: -4.1em; right: 0px; transform: translateX(50%);}
.fish_sec .list_circle li:before { background: #0375c2;}

.fish_sec .btn_area { background: #e6f4fd; padding: 6%;}
.fish_sec .btn_area a { display: inline-block; width: 100%; max-width: 415px; border: solid 1px #fff; border-radius: 8px; color: #fff; background: #0375c2; padding: 0.8em; letter-spacing: 0.03em;}
.fish_sec .btn_area a:after { content: ""; display: inline-block; background: url("../images/common/ico_link_white.svg") no-repeat center center; background-size: 100% auto; width: 0.7em; height: 0.7em; vertical-align: middle; margin: -0.35em 0px 0px 0.4em;}


/* stage */
.stage_table { width: 100%; line-height: 1.5;}
.stage_table tr { border-bottom: solid 2px #e07990;}
.stage_table.green tr { border-bottom-color: #5da661;}
.stage_table tr:nth-child(even) { background: #fefdea;}
.stage_table th { padding: 1.5em 1em; width: 7em; text-align: center; position: relative; vertical-align: middle;}
.stage_table th:after { content: ""; position: absolute; right: 0px; top: 1em; bottom: 1em; width: 1px; background: #b4b4b4;}
.stage_table td { vertical-align: middle; padding: 0.8em 4em 0.8em 1em;}
.stage_table td .pos_ab { width: 3em; height: 3em; border: solid 1px #b4b4b4; border-radius: 100%; display: flex; justify-content: center; align-items: center; right: 0.5em; top: 50%; transform: translateY(-50%);}


/* ex */
.top_bg01.about.ex_sec01 .img04 { bottom: 50px;}

.ex_sec01 .back_white { padding: 7% 9%;}
.ex_sec01 dl { display: flex; justify-content: space-between; align-items: center;}
.ex_sec01 dt { width: 5.5rem; margin: -0.8rem 0px 0px -0.3rem;}
.ex_sec01 dd { width: calc(100% - 5.5rem); border-top: solid 1px #0f9cda; border-bottom: solid 1px #0f9cda; padding: 0.55em 0px;}
.ex_sec01 dd span.back_yellow { font-size: 0.55em; display: inline-block; vertical-align: middle; border-radius: 30px; padding: 0.2em 1.1em; margin: -0.3em 0px 0px 0.5em;}
.ex_sec01 .box_inner { padding-left: 5.5rem;}

.ex_sec02 { padding: 120px 0px 1px;}
.ex_sec02 .btn_area { background: #f4cfd1; border-bottom-left-radius: 50px; border-bottom-right-radius: 50px; padding: 5%;}
.ex_sec02 .btn_area a { display: block; background: #e07990; border: solid 1px #fff; color: #fff; border-radius: 0.5em; font-weight: bold; padding: 0.8em; letter-spacing: 0.05em; max-width: 415px; margin: auto;}
.ex_sec02 .btn_area a:after { content: ""; display: inline-block; vertical-align: middle; background: url("../images/common/ico_link_white.svg") no-repeat center center; background-size: 100% auto; width: 0.8em; height: 0.8em; margin: -0.4em 0px 0px 0.4em;}

.ex_sec { padding-top: 50px;}
.ex_sec h2 { margin: auto 50px;}
.ex_sec .main { max-width: 905px; margin: auto;}

.ex_sec .box01 { display: flex; justify-content: space-between;}
.ex_sec .box01 .box_inner { width: 62%;}
.ex_sec .box01 figure { width: 35%;}
.ex_sec .box01 figure .pos_ab { top: -10px; right: -37%;}

@media only screen and (max-width: 1130px) {
  .ex_sec .box01 figure .pos_ab { right: -5%;}
}

.ex_sec .dl01 { display: flex; justify-content: space-between; align-items: center;}
.ex_sec .dl01 dt { width: 6.5em; letter-spacing: 0.1em; border-radius: 30px; align-self: flex-start;}
.ex_sec .dl01 dd { width: calc(100% - 7.5em);}

.ex_sec.sec01 table { width: 100%;}
.ex_sec.sec01 thead th { background: #fcebf3; border: solid 1px #e07990; border-top-width: 2px; padding: 0.3em;}
.ex_sec.sec01 thead th:nth-child(2) { border-left-width: 2px;}
.ex_sec.sec01 thead th:nth-child(3) { border-right-width: 2px;}
.ex_sec.sec01 tbody { border: solid 2px #e07990; border-top: none;}
.ex_sec.sec01 tbody th { border-bottom: solid 1px #fff; padding: 1em; width: 3.5em;}
.ex_sec.sec01 tbody td { border: solid 1px #b4b4b4; padding: 1em;}
.ex_sec.sec01 tbody .back_cream { background: #fefdea !important;}

.ex_img01 { left: -120px; top: -110px;}

.ex_sec.sec03 .text01 { margin-top: -0.2em;}
.list_ol li { padding-left: 1.5em;}
.list_ol li .pos_ab { background: url("../images/ex/ex_num_bg.svg") no-repeat center center; width: 1.2em; height: 1.2em; background-size: auto 100%; left: 0px; top: 0.4em; line-height: 1.1; font-size: 0.9em;}
.ex_sec.sec03 .list_circle li:before { background: #eb9620;}
.ex_sec.sec03 .list_circle li span:first-child { display: inline-block; width: 6em;}

.ex_img02 { right: 0px; bottom: 0px;}


/* stamp */
.stamp_howto section { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 20px;}
.stamp_howto section .num { width: 105px;}
.stamp_howto section .box_inner { width: calc(100% - 105px); border-top: solid 1px #e88121; border-bottom: solid 1px #e88121; font-size: min(3.2vw,1.62em); padding: 0.5em 0.15em; margin-top: 0.5em;}
.stamp_howto .underline { background: linear-gradient(transparent 85%, #faee42 0%);}
.top_bg01 .stamp_howto .pos_ab img { max-width: 100%;}
.stamp_howto .il01 { width: 5.5em; right: 1.7em; top: -1em;}
.stamp_howto .il02 { width: 5.2em; right: 1em; top: -1.8em;}
.stamp_howto .text_box01 { margin-left: 115px;}
.stamp_howto .text_box01 .text { display: table; font-size: 1.45em; border-radius: 1em; padding: 0.2em 1em;}
.stamp_howto .il03 { right: 1em; top: -3em; width: 10.5em;}


/* スタンプラリー(TOPボタン) */
.top_event .bnr01 a { position: relative; display: inline-block;}
.top_event .bnr01 a:after { content: "coming soon"; font-family: "Mochiy Pop One", sans-serif; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; background: rgba(0,0,0,0.6); display: flex; justify-content: center; align-items: center; color: #fff; font-size: 2em; letter-spacing: 0.1em; border-radius: 25px;}



