@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');
/*
lvl 1
----------------------------------------------------------------------------------------------*/

/* lvl 2 -------------------------------------------------------------------------------------*/

/* lvl 3 */

/*
sanitize.css
----------------------------------------------------------------------------------------------*/

*, ::after, ::before {
	box-sizing: border-box
}

::after, ::before {
	text-decoration: inherit;
	vertical-align: inherit
}

html {
	cursor: default;
	line-height: 1.5;
	-moz-tab-size: 4;
	tab-size: 4;
	-webkit-tap-highlight-color: transparent;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	word-break: break-word
}

body {
	margin: 0
}

h1 {
	font-size: 1.6em;
	margin: .67em 0
}

dl dl, dl ol, dl ul, ol dl, ul dl {
	margin: 0
}

ol ol, ol ul, ul ol, ul ul {
	margin: 0
}

hr {
	height: 0;
	overflow: visible
}

main {
	display: block
}

nav ol, nav ul {
	list-style: none;
	padding: 0
}

pre {
	font-family: monospace, monospace;
	font-size: 1em
}

a {
	background-color: transparent
}

abbr[title] {
	text-decoration: underline;
	text-decoration: underline dotted
}

b, strong {
	font-weight: bolder
}

code, kbd, samp {
	font-family: monospace, monospace;
	font-size: 1em
}

small {
	font-size: 80%
}

audio, canvas, iframe, img, svg, video {
	vertical-align: middle
}

audio, video {
	display: inline-block
}

audio:not([controls]) {
	display: none;
	height: 0
}

iframe {
	border-style: none
}

img {
	border-style: none
}

svg:not([fill]) {
	fill: currentColor
}

svg:not(:root) {
	overflow: hidden
}

table {
	border-collapse: collapse
}

button, input, select {
	margin: 0
}

button {
	overflow: visible;
	text-transform: none
}

[type=button], [type=reset], [type=submit], button {
	-webkit-appearance: button;
	border-radius: 0;
}

fieldset {
	border: 1px solid #a0a0a0;
	padding: .35em .75em .625em
}

input {
	overflow: visible
}

legend {
	color: inherit;
	display: table;
	max-width: 100%;
	white-space: normal
}

progress {
	display: inline-block;
	vertical-align: baseline
}

select {
	text-transform: none
}

textarea {
	margin: 0;
	overflow: auto;
	resize: vertical
}

[type=checkbox], [type=radio] {
	padding: 0
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
	height: auto
}

::-webkit-input-placeholder {
	color: inherit;
	opacity: .54
}

::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

::-moz-focus-inner {
	border-style: none;
	padding: 0
}

:-moz-focusring {
	outline: 1px dotted ButtonText
}

:-moz-ui-invalid {
	box-shadow: none
}

details {
	display: block
}

dialog {
	background-color: #fff;
	border: solid;
	color: #000;
	display: block;
	height: -moz-fit-content;
	height: -webkit-fit-content;
	height: fit-content;
	left: 0;
	margin: auto;
	padding: 1em;
	position: absolute;
	right: 0;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content
}

dialog:not([open]) {
	display: none
}

summary {
	display: list-item
}

canvas {
	display: inline-block
}

template {
	display: none
}

[tabindex], a, area, button, input, label, select, summary, textarea {
	-ms-touch-action: manipulation;
	touch-action: manipulation
}

[hidden] {
	display: none
}

[aria-busy=true] {
	cursor: progress
}

[aria-controls] {
	cursor: pointer
}

[aria-disabled=true], [disabled] {
	cursor: not-allowed
}

[aria-hidden=false][hidden] {
	display: initial
}

[aria-hidden=false][hidden]:not(:focus) {
	clip: rect(0, 0, 0, 0);
	position: absolute
}

/*
slick Slider
----------------------------------------------------------------------------------------------*/

.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent
}

.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0
}

.slick-list:focus {
	outline: 0
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand
}

.slick-slider .slick-list, .slick-slider .slick-track {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto
}

.slick-track:after, .slick-track:before {
	display: table;
	content: ''
}

.slick-track:after {
	clear: both
}

.slick-loading .slick-track {
	visibility: hidden
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px
}

[dir=rtl] .slick-slide {
	float: right
}

.slick-slide img {
	display: block
}

.slick-slide.slick-loading img {
	display: none
}

.slick-slide.dragging img {
	pointer-events: none
}

.slick-initialized .slick-slide {
	display: block
}

.slick-loading .slick-slide {
	visibility: hidden
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent
}

.slick-arrow.slick-hidden {
	display: none
}

/*
base
----------------------------------------------------------------------------------------------*/

html {
	font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Helvetica Neue", Verdana, Meiryo, sans-serif;
	font-size: 62.5%;
}

@media all and (-ms-high-contrast: none) {
	html {
		font-family: Verdana, Meiryo, sans-serif;
	}
}

@media all and (-ms-high-contrast: active) {
	html {
		font-family: Verdana, Meiryo, sans-serif;
	}
}

body {
	font-size: 4.2vw;
	color: #333;
}

a {
	color: #0056af;
	text-decoration: none;
}

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

address {
	font-style: normal;
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

.txt-blk {
	display: inline-block;
}

.preload * {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
}

.sp-none {
	display: none;
}

@media screen and (min-width:768px) {
	body {
		font-size: 1.6rem;
	}
	.pc-none {
		display: none;
	}
}

/*
title
----------------------------------------------------------------------------------------------*/

h2, h3, h4, h5, h6 {
	margin: 1.5em 0 0.6em;
	line-height: 1.3em;
}

.h-a-wrap {
	text-align: center;
	margin: 3em 0 1.6em;
}

.h-a-wrap_nm {
	text-align: center;
	margin: 0 0 1.6em;
}

.h-a {
	text-align: center;
	display: inline-block;
	margin: 0;
	font-size: 1.5em;
}

.h-a::after {
	content: "";
	width: 50%;
	border-bottom: 3px solid #003973;
	display: block;
	margin: 0.3em auto 0;
}

.title_01 {
	background-image: url("../cmn_img/icon_title_01.svg");
	background-repeat: no-repeat;
	background-size: auto 1.3em;
	background-position: left top;
	padding-left: 1.5em;
	font-size: 1.5em;
}

.title-02 {
	padding-left: 1.3em;
	background-size: auto 1.2em;
	background-position: left top;
	background-repeat: no-repeat;
}

.title-02_a {
	background-image: url(../cmn_img/icon_title_star.svg);
}

.title-02_b {
	background-image: url(../cmn_img/icon_title_star_66bc29.svg);
}

.title-02_c {
	background-image: url(../cmn_img/icon_title_star_f01446.svg);
}

.title-02_d {
	background-image: url(../cmn_img/icon_title_star_ff7000.svg);
}

.title-02_e {
	background-image: url(../cmn_img/icon_title_star_ffd200.svg);
}

.title-03 {
	border-bottom: 3px dotted #9f9f9f;
	padding-bottom: 0.3em;
}

/*
text
----------------------------------------------------------------------------------------------*/

.font-small {
	font-size: 0.8em;
}

.font-large {
	font-size: 1.2em;
}

.mgb-none {
	margin-bottom: 0;
}

.mgt-none {
	margin-top: 0;
}

.emp_a {
	font-weight: bold;
}

.emp_b {
	color: #c00;
}

/*
button
----------------------------------------------------------------------------------------------*/

.btn-wrap {
	margin: 1.6em 0;
	text-align: center;
}

.btn-default {
	background-color: #0056af;
	color: #fff;
	text-decoration: none;
	text-align: center;
	display: inline-block;
	padding: 0.6em 1em;
	font-size: 1.1em;
	line-height: 1;
	min-width: 60%;
	border: none;
	font-weight: bold;
}

.btn-mark {
	position: relative;
	padding-right: 2em;
}

.btn-mark::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-width: 0.5em;
	border-style: solid;
	position: absolute;
	right: 0.5em;
	top: 0;
	bottom: 0;
	margin: auto;
}

.btn-mark_r:after {
	border-color: transparent transparent transparent #fff;
}

.btn-mark_d:after {
	border-color: #fff transparent transparent transparent;
	border-bottom: none;
}

.btn-icon {
	border: 1px solid #0056af;
	background-color: #0056af;
	color: #fff;
	padding: 0.6em 1em;
	font-size: 1.2em;
	line-height: 1;
	display: inline-block;
	text-align: center;
	font-weight: bold;
}

.btn-icon .btn-icon-img {
	height: 2em;
	width: auto;
	margin-right: 0.5em;
	vertical-align: -0.6em;
}

.btn-langenglish a {
	display: inline-block;
	border: 1px solid #0056af;
	line-height: 1;
	padding: 0.2em 0.6em 0.3em;
	border-radius: 1em;
}

@media screen and (min-width:768px) {
	.btn {
		transition: all ease-in 0.2s;
	}
	.btn:hover {
		opacity: 0.8;
	}
	.btn-default {
		min-width: auto;
	}
}

/* paging */

/* .btn-paging-arrow-wrap {
	display: flex;
	justify-content: space-between;
} */

.navigation.pagination .screen-reader-text {
	display: none;
}

.nav-links, .btn-paging-wrap {
	margin: 1em 0;
	display: flex;
	justify-content: center;
	position: relative;
}

.page-numbers, .btn-paging {
	display: inline-block;
	line-height: 1;
	background-color: #eaf1f9;
	/* color:#fff; */
	padding: 0.5em 0.2em;
	font-weight: bold;
	margin: 0 0.1em;
	white-space: nowrap;
	font-size: 1.3em;
	text-align: center;
	min-width: 1.8em;
}

.page-numbers.dots, .btn.btn-paging_while {
	display: inline-block;
	background-color: transparent;
	color: inherit;
}

.page-numbers.current, .btn-paging_active {
	background-color: #fff;
	color: inherit;
	cursor: default;
	/* border: 1px dashed #0056af; */
}

.page-numbers.prev, .page-numbers.next {
	display: none;
	background-color: #eaf1f9;
	color: #0056af;
	/* background-color: #0056af;
	color: #fff; */
}

.btn-paging_nolink {
	background-color: #e6e6e6;
	color: inherit;
	cursor: default;
}

.paging-over {
	padding-bottom: 3em;
	justify-content: space-between;
}

.paging-over .btn-paging_previous {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 49%;
}

.paging-over .btn-paging_next {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 49%;
}

.store-list li.btn-wrap, .event-list li.btn-wrap, .campaign-list li.btn-wrap {
	border: none;
	background: transparent;
	width: 100%;
}

@media screen and (min-width:768px) {
	.paging-over {
		padding-bottom: 0;
		justify-content: center;
	}
	.paging-over .btn-paging_previous, .paging-over .btn-paging_next {
		position: relative;
		width: inherit;
	}
}

/*
list
----------------------------------------------------------------------------------------------*/

.cmn-list {
	margin: 1em 0 1em 1em;
	padding: 0;
}

.cmn-list li {
	margin: 0.5em 0;
	line-height: 1.4;
}

.cmn-list-notes {
	margin: 1em 0;
	padding: 0;
	list-style-type: none;
}

.cmn-list-notes li {
	margin: 0.5em 0;
	line-height: 1.4;
	position: relative;
	padding-left: 1.2em;
}

.cmn-list-notes li:before {
	content: "※";
	position: absolute;
	left: 0;
}

.cmn-dllist_row {
	margin: 1em 0;
}

.cmn-dllist_row dt {
	font-weight: bold;
}

.cmn-dllist_row dt::before {
	content: "■";
}

.cmn-dllist_row dd {
	margin: 0 0 0.5em 0;
}

.cmn-dllist_col {
	margin: 1em 0;
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #ddd;
}

.cmn-dllist_col dt {
	width: 25%;
	font-weight: bold;
	border-bottom: 1px solid #ddd;
	padding: 0.5em;
	background-color: #f5f5f5;
}

.cmn-dllist_col dd {
	width: 75%;
	margin: 0;
	border-bottom: 1px solid #ddd;
	padding: 0.5em;
}

/*
notice list
----------------------------------------------------------------------------------------------*/

.notice-list {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px dotted #ccc;
}

.notice-list dt {
	width: 6em;
	line-height: 1.3;
	padding: 0.5em 0;
	border-top: 1px dotted #ccc;
}

.notice-list dd {
	width: calc(100% - 6.5em);
	line-height: 1.3;
	padding: 0.5em 0;
	border-top: 1px dotted #ccc;
	margin: 0;
}

/*
form
----------------------------------------------------------------------------------------------*/

button, input, select, textarea {
	font-family: inherit;
	font-size: 1.6rem;
}

select, input[type="text"], input[type="search"] {
	padding: 0.8em 0.5em;
	line-height: 1em;
	border: 1px solid #ccc;
	width: 100%;
}

textarea {
	padding: 0.8em 0.5em;
	border: 1px solid #ccc;
	width: 100%;
}

select:focus, input:focus, textarea:focus {
	border: 1px solid #0056af;
	/* box-shadow: 2px 2px 0 #eee; */
}

input::-webkit-input-placeholder {
	padding-top: 0.2em;
}

/*-- radio ------*/

@keyframes ripple {
	0% {
		box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0);
	}
	50% {
		box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0.1);
	}
	100% {
		box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0);
	}
}

.radio-wrap label {
	margin-right: 1em;
	display: inline-block;
	padding: 0.3em 0;
	cursor: pointer;
}

.radio-wrap input {
	display: none;
}

.radio-wrap input+span {
	padding-left: 1.5em;
	position: relative;
}

.radio-wrap input+span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	border: 2px solid #ccc;
	background-color: #fff;
	transition: all .3s ease;
}

.radio-wrap input+span::after {
	content: "";
	display: block;
	position: absolute;
	top: 0.3em;
	left: 0.3em;
	width: 0.6em;
	height: 0.6em;
	background-color: #0056af;
	border-radius: 50%;
	transition: all .3s ease;
	transform: scale(0);
}

.radio-wrap input:checked+span {
	color: #0056af;
}

.radio-wrap input:checked+span::before {
	border: 2px solid #0056af;
	animation: ripple 0.2s linear forwards;
}

.radio-wrap input:checked+span::after {
	transform: scale(1);
}

@media screen and (min-width:768px) {
	.radio-wrap input+span::before {
		width: 20px;
		height: 20px;
	}
	.radio-wrap input+span::after {
		top: 5px;
		left: 5px;
		width: 10px;
		height: 10px;
	}
}

/*-- checkbox ------*/

.checkbox-wrap label {
	margin-right: 1em;
	display: inline-block;
	padding: 1em 0;
	cursor: pointer;
	margin-left: 1.5em;
}

.checkbox-wrap input {
	display: none;
}

.checkbox-wrap input+span {
	padding-left: 1.5em;
	margin-left: -1.5em;
	position: relative;
}

.checkbox-wrap input+span::before {
	content: "";
	border: 2px solid #ccc;
	background-color: #fff;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1.2em;
	height: 1.2em;
}

.checkbox-wrap input:checked+span {
	color: #0056af;
}

.checkbox-wrap input:checked+span::before {
	background-color: #0056af;
	border: 2px solid #0056af;
}

.checkbox-wrap input:checked+span::after {
	content: "";
	display: block;
	position: absolute;
	border-color: #fff #fff transparent transparent;
	border-width: 2px 2px 0 0;
	border-style: solid;
	top: 0.3em;
	left: 0.3em;
	width: 0.6em;
	height: 0.4em;
	transform: rotate(135deg);
}

/*-- button ------*/

input[type=submit], input[type=reset] {
	border: none;
	padding: 0.6em 1em;
	cursor: pointer;
	width: 60%;
	font-size: 1.2em;
	line-height: 1;
	/* letter-spacing: 0.1em; */
}

input[type=submit] {
	background-color: #0056af;
	color: #fff;
	font-weight: bold;
}

@media screen and (min-width:768px) {
	input[type=submit], input[type=reset] {
		width: auto;
	}
}

/*
search
----------------------------------------------------------------------------------------------*/

.form-search-all {
	margin: 1em 0;
}

.section-search {
	padding: 5vw 5vw 1vw;
	background-color: #f5f5f5;
	/* border-bottom: 1px dotted #ccc; */
	margin: 1em 0;
}

.section-search-choice-btn-wrap {
	margin: 0;
	text-align: center;
	padding: 5vw;
	background-color: #f5f5f5;
}

.searchMenu .section-search-choice-btn-wrap {
	margin: 0 0 15vw;
}

.section-search-choice-btn_en {
	display: block;
}

.section-search_area, .section-search_terms {
	margin: 0;
}

.section-search-ttl {
	text-align: center;
	margin: 0;
	font-size: 1.4em;
}

.section-search-ttl-icon {
	vertical-align: text-bottom;
	margin-right: 0.3em;
}

.section-search-ttl-icon img {
	width: 1.6em;
}

.search-select-lead-icon {
	vertical-align: text-bottom;
	margin-right: 0.3em;
}

.search-select-lead-icon img {
	width: 1em;
	height: auto;
}

.search-terms dt {
	margin-top: 1em;
	margin-bottom: 0.5em;
}

.search-select-lead {
	text-indent: -1.3em;
	margin-left: 1.3em;
}

.search-terms dd {
	margin: 0.5em 0;
}

.search-prefectures {
	background-image: url(../cmn_img/map.svg);
	background-position: center center;
	background-repeat: no-repeat;
}

.search-prefectures dt {
	margin: 1em 0 0.3em;
	border-bottom: 1px solid #fff;
}

.search-prefectures-head, .search-prefectures dt a {
	padding: 0.5em 0;
	display: block;
	font-weight: bold;
	line-height: 1;
	color: #0056af;
	cursor: pointer;
	position: relative;
	transition: all .3s ease;
}

.search-prefectures dd {
	display: inline-block;
	margin: 0.5em 0;
	display: none;
}

.search-prefectures-item {
	list-style-type: none;
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
}

.search-prefectures-item label {
	width: 32%;
	margin-right: 1.3%;
	margin-bottom: 1.3%;
	cursor: pointer;
	border: 1px solid #0056af;
	border-radius: 0.2em;
	background-color: rgba(255, 255, 255, 0.8);
}

.search-prefectures-item input {
	display: none;
}

.search-prefectures-item span {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.3em 0.5em;
	color: #0056af;
	text-align: center;
	line-height: 1;
}

.search-prefectures-item input:checked+span {
	background-color: #0056af;
	color: #fff;
}

.search-prefectures-item .search-prefectures-item_empty {
	border: 1px solid #f0f0f0;
	cursor: default;
}

.search-prefectures-item .search-prefectures-item_empty span {
	color: #8a8a8a;
}

.search-prefectures-list-open {
	width: 1.6em;
	height: 1.6em;
	line-height: 1;
	/* background-color: #0056af; */
	display: block;
	cursor: pointer;
	margin: 0.3em 0;
	position: relative;
	transition: all .3s ease;
}

.search-prefectures-head:before {
	content: "";
	display: block;
	width: 0.6em;
	height: 0.6em;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #0056af;
	transition: all .3s ease;
	transform: rotate(135deg);
	position: absolute;
	margin: auto;
	right: 0;
	top: 0;
	bottom: 0;
}

.search-prefectures-head.active:before {
	transform: rotate(-45deg);
}

.search-prefectures-list-open::after {
	content: "";
	display: block;
	width: 0.6em;
	height: 0.6em;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #0056af;
	transform: rotate(135deg);
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

.search-prefectures-list-open.active::after {
	transform: rotate(180deg);
}

@media screen and (min-width:768px) {
	.section-search {
		background-color: transparent;
		padding: 1em;
	}
	.section-search-choice {
		background-color: #f5f5f5;
		padding: 1.4em;
	}
	.section-search-choice-btn-wrap {
		background-color: transparent;
	}
	.section-search_gps {
		display: flex;
		width: 100%;
		justify-content: space-between;
		align-items: center;
		margin-top: 0;
		border-radius: 1em;
		background-color: #fff;
	}
	.section-search_gps_2 {
		display: none;
	}
	.section-search_gps .btn-wrap {
		margin: 0;
	}
	.form-search-all {
		/* display: flex;
		flex-wrap: wrap;
		width: 100%; */
		border-radius: 1em;
		/* background-color: #fff; */
	}
	.section-search_area {
		/* width: 68%;
		margin-right: 2%; */
	}
	.section-search_terms {
		/* width: 30%; */
	}
	.search-select-lead {
		line-height: 1.5;
	}
	.search-prefectures-head {
		font-size: 1.4rem;
		color: #333;
		padding: 0 0 0.5em;
		text-shadow: 0 0 2px #fff;
	}
	.search-prefectures-head:before {
		content: none;
	}
	.search-prefectures {
		/* display: flex;
		flex-wrap: wrap; */
		margin: 0;
		position: relative;
		min-height: 500px;
		top: -30px;
	}
	.search-prefectures-area {
		width: 24%;
		margin-right: 1%;
		margin-bottom: 0.5em;
		position: absolute;
	}
	.search-prefectures dt {
		margin-top: 0;
		border-color: #333;
	}
	.search-prefectures dd {
		display: block !important;
	}
	.search-prefectures-item {
		justify-content: space-between;
	}
	.search-prefectures-item label {
		width: 49%;
		margin-bottom: 1.3%;
		margin-right: 0;
	}
	.search-prefectures-item span {
		font-size: 0.76em;
		padding: 0.8em 0.1em;
	}
	.search-prefectures-area.search-prefectures-area_tohoku {
		right: 0;
	}
	.search-prefectures-area.search-prefectures-area_kanto {
		right: 0;
		top: 16em;
	}
	.search-prefectures-area.search-prefectures-area_chubu {
		left: 42%;
		top: 4em;
	}
	.search-prefectures-area.search-prefectures-area_kinki {
		left: 50%;
		bottom: -2em;
	}
	.search-prefectures-area.search-prefectures-area_chugoku {
		left: 16%;
		top: 11em;
	}
	.search-prefectures-area.search-prefectures-area_shikoku {
		left: 25%;
		bottom: 0;
	}
	.search-prefectures-area.search-prefectures-area_kyusyu {
		bottom: 0;
	}
	.checkbox-wrap label {
		display: inline-block;
		font-size: 1.4rem;
	}
	.section-search-choice-btn-wrap {
		padding: 0 0 1em;
		width: 100%;
		margin-top: 1em;
	}
}

@media screen and (min-width:994px) {
	.section-search {
		/* background-color: #fff; */
		border-radius: 1em;
	}
	.section-search_gps {
		display: none;
	}
	.form-search-all {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		background-color: transparent;
	}
	.searchMenu .section-search-choice-btn-wrap {
		margin: 1em 0;
	}
	.section-search_area {
		width: 68%;
		margin-right: 2%;
	}
	.section-search_terms {
		width: 30%;
		background-color: #fff;
	}
	.search-prefectures {
		min-height: auto;
		height: 320px;
		top: -30px;
		background-position: center top -10px;
	}
	.search-prefectures-area {
		width: 24%;
	}
	.search-prefectures-item span {
		font-size: 0.76em;
		padding: 0.3em 0.1em;
	}
	.search-prefectures-area.search-prefectures-area_tohoku {
		right: 2%;
		top: 10px;
	}
	.search-prefectures-area.search-prefectures-area_kanto {
		right: 8%;
		top: 139px;
	}
	.search-prefectures-area.search-prefectures-area_chubu {
		left: 36%;
		top: 41px;
	}
	.search-prefectures-area.search-prefectures-area_kinki {
		left: 50%;
		bottom: -47px;
	}
	.search-prefectures-area.search-prefectures-area_chugoku {
		left: 9%;
		top: 112px;
	}
	.search-prefectures-area.search-prefectures-area_shikoku {
		left: 25%;
		bottom: -24px;
	}
	.search-prefectures-area.search-prefectures-area_kyusyu {
		bottom: -47px;
	}
	.section-search-choice-btn_en {
		display: inline-block;
		margin-left: 1em;
	}
}

/*
loading
----------------------------------------------------------------------------------------------*/

#loading {
	transition: all 0.6s;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.96);
	/* position: absolute; */
	top: 0;
	left: 0;
}

.spinner, .spinner:before, .spinner:after {
	border-radius: 50%;
	width: 2.5em;
	height: 2.5em;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation: load7 1.8s infinite ease-in-out;
	animation: load7 1.8s infinite ease-in-out;
}

.spinner {
	color: #0056af;
	font-size: 10px;
	margin: 80px auto;
	position: relative;
	text-indent: -9999em;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}

.spinner:before, .spinner:after {
	content: '';
	position: absolute;
	top: 0;
}

.spinner:before {
	left: -3.5em;
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}

.spinner:after {
	left: 3.5em;
}

@-webkit-keyframes load7 {
	0%, 80%, 100% {
		box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
		box-shadow: 0 2.5em 0 0;
	}
}

@keyframes load7 {
	0%, 80%, 100% {
		box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
		box-shadow: 0 2.5em 0 0;
	}
}

.loaded {
	opacity: 0;
	visibility: hidden;
}

.loaded .spinner {
	margin: 0;
}

.headerfixed {
	padding-top: 16vw;
}

@media screen and (min-width:768px) {
	.headerfixed {
		padding-top: 6vw;
	}
}

/*
header
----------------------------------------------------------------------------------------------*/

.header {
	border-top: 3px solid #0056af;
	background-color: #f7f7f7;
	position: relative;
	z-index: 250;
}

.header-wrap {
	padding: 1vw 3vw;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header-brand {
	/* width: 80%; */
	text-align: center;
}

.header-brand a {
	display: inline-block;
}

.header-brand_tru, .header-brand_bru {
	height: 10vw;
	width: auto;
}

.header.fixed {
	position: fixed;
	/* border: none;
	width: 94vw; */
	left: 0;
	right: 0;
	margin: auto;
	top: 0;
	/* top: 3vw;
	border-radius: 1vw;
	background-color: #f7f7f7; */
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
}

.headeractive {
	position: relative;
	width: 100%;
	z-index: 210;
}

/* nav toggle */

.navmenuToggle {
	/* background-color: rgba(255, 255, 255, 0.8); */
	position: relative;
	width: 12vw;
	height: 11vw;
	text-align: center;
	z-index: 99;
	cursor: pointer;
	transition: all 0.6s;
}

.navmenuToggle.fixed {
	background-color: #003063;
	position: fixed;
	opacity: 0.8;
	top: 3vw;
	left: 3vw;
	border-radius: 7vw;
	width: 13vw;
	height: 13vw;
}

.navmenuToggle.active {
	background-color: #ffffff;
	opacity: 1;
}

.navmenuToggle.active.fixed {
	transform: scale(0.8);
}

.navmenuToggle span {
	position: absolute;
	width: 60%;
	left: 0;
	right: 0;
	margin: auto;
	border-top: 1vw solid #0056af;
	transition: all 0.6s;
}

.navmenuToggle.fixed span {
	border-color: #fff;
	color: #fff;
	width: 50%;
}

.navmenuToggle.active span {
	border-color: #0056af;
	color: #0056af;
}

.navmenuToggle span:nth-child(1) {
	top: 2vw;
}

.navmenuToggle span:nth-child(2) {
	top: 4vw;
}

.navmenuToggle span:nth-child(3) {
	top: 6vw;
}

.navmenuToggle span:nth-child(4) {
	top: 6.5vw;
	border: none;
	font-size: 3vw;
	width: 100%;
	color: #0056af;
}

.navmenuToggle.fixed span:nth-child(1) {
	top: 3vw;
}

.navmenuToggle.fixed span:nth-child(2) {
	top: 5vw;
}

.navmenuToggle.fixed span:nth-child(3) {
	top: 7vw;
}

.navmenuToggle.fixed span:nth-child(4) {
	top: 7.5vw;
}

.navmenuToggle.active span:nth-child(1) {
	transform: rotate(45deg);
	top: 5vw;
}

.navmenuToggle.active span:nth-child(2) {
	opacity: 0;
}

.navmenuToggle.active span:nth-child(3) {
	transform: rotate(-45deg);
	top: 5vw;
}

.navmenuToggle.active span:nth-child(4) {
	opacity: 0;
}

.navmenuToggle.active.fixed span:nth-child(1), .navmenuToggle.active.fixed span:nth-child(3) {
	top: 6vw;
}

.navMenu {
	background-color: #0056af;
	width: 60%;
	height: 100%;
	z-index: 98;
	position: fixed;
	left: 0;
	top: 0;
	transition: all 0.6s;
	transform: translateX(-100%);
	display: block;
	opacity: 0.9;
	color: #fff;
	padding: 3vw;
}

.navMenu.active {
	transform: translateX(0);
}

.navMenuBack {
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.1);
}

.navMenuBack.active {
	display: block;
}

.navMenu-linknav {
	padding-left: 0;
	margin: 14vw 0 1em;
	list-style-type: none;
}

.navMenu-linknav li {
	margin: 0.5em 0;
}

.navMenu-linknav li a {
	color: #fff;
	line-height: 1;
	padding: 0.8em 1.5em 0.8em 0.5em;
	border: 1px solid #fff;
	display: block;
	position: relative;
	font-size: 1.2em;
}

.navMenu-linknav li a::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	border-width: 0.5em;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
}

@media screen and (min-width:768px) {
	.header {
		position: relative;
		z-index: 210;
	}
	.header-wrap {
		margin: 0 1em;
		padding: 0;
	}
	.header-brand_tru, .header-brand_bru {
		height: 6vw;
		width: auto;
	}
	.navmenuToggle {
		width: 2.4em;
		height: 2.4em;
	}
	.navmenuToggle.fixed {
		background-color: #fff;
		position: relative;
	}
	.navmenuToggle.active {
		position: relative;
	}
	.navmenuToggle span {
		border-top-width: 3px;
	}
	.navmenuToggle span:nth-child(1) {
		top: 20%;
	}
	.navmenuToggle span:nth-child(2) {
		top: 35%;
	}
	.navmenuToggle span:nth-child(3) {
		top: 50%;
	}
	.navmenuToggle span:nth-child(4) {
		top: 60%;
		font-size: 0.7em;
		width: 90%;
	}
	.navmenuToggle.active span:nth-child(1) {
		top: 45%;
	}
	.navmenuToggle.active span:nth-child(3) {
		top: 45%;
	}
	.navMenu {
		width: 30vw;
		padding: 1em;
	}
	.navMenu-linknav {
		margin: 3em 0 1em;
	}
}

@media screen and (min-width:994px) {
	.header-wrap {
		max-width: 972px;
		margin: auto;
	}
	.header-brand {
		width: auto;
	}
	.navmenuToggle {
		display: none;
	}
	.header-brand_tru, .header-brand_bru {
		height: 50px;
		width: auto;
	}
	.navMenuBack, .navMenuBack.active {
		display: none;
	}
	.navMenu {
		background-color: transparent;
		display: flex;
		transform: translateX(0);
		width: auto;
		height: auto;
		position: relative;
		padding: 0;
	}
	.navMenu-linknav {
		display: flex;
		max-width: 972px;
		margin: 0;
		align-items: flex-end;
	}
	.navMenu-linknav li {
		margin: 0 0 0 6px;
	}
	.navMenu-linknav li a {
		font-size: 0.9em;
		padding: 0.8em;
		border-width: 0 1px 0 0;
		border-style: dashed;
		background-color: #0056af;
		border: none;
		font-weight: bold;
	}
	.navMenu-linknav li a::after {
		content: none;
	}
}

@media screen and (min-width:1102px) {
	.header.fixed {
		border: none;
		width: 1052px;
		top: 8px;
		border-radius: 1vw;
		background-color: #fff;
	}
}

/* search toggle */

.searchmenuToggle, .navGotop-ancher {
	z-index: 99;
	position: relative;
	width: 15vw;
	height: 14vw;
	line-height: 1;
	background-image: url(../cmn_img/icon_search_store.svg);
	/* background-color: #fff; */
	background-size: 66% auto;
	background-repeat: no-repeat;
	background-position: center top;
	font-size: 3vw;
	color: #0056af;
	text-align: center;
	font-weight: bold;
	padding-top: 11vw;
	line-height: 1;
	cursor: pointer;
	transition: all 0.6s;
}

.navGotop {
	margin: 0;
}

.navGotop .navGotop-ancher {
	display: block
}

.searchmenuToggle.fixed {
	position: fixed;
	opacity: 0.8;
	right: 3vw;
	top: 3vw;
	/* background-image: url(../cmn_img/icon_search_store.svg); */
	background-color: #003063;
	border-radius: 7vw;
	width: 13vw;
	height: 13vw;
}

.searchmenuToggle.active {
	/* position: fixed;
	right: 2vw;
	top: 2vw; */
}

.searchMenu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100vh;
	overflow: auto;
	z-index: 200;
	background-color: #3979BD;
	transition: all 0.6s;
	padding: 21vw 5vw 5vw;
	/* transform: translateY(-100vh);
	animation: SlideOut 0.6s; */
}

.searchmenuBack {
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.1);
	z-index: 200;
}

.searchmenuBack.active {
	display: block;
}

.searchMenu.active {
	display: block;
	/* transform: translateY(0); */
	animation: SlideIn 0.6s;
}

@keyframes SlideOut {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(-100vh);
	}
}

@keyframes SlideIn {
	0% {
		transform: translateY(-100vh);
	}
	100% {
		transform: translateY(0);
	}
}

.searchMenu :first-child .section-search {
	margin-top: 0;
}

.searchMenu input[type="submit"] {
	background-color: #003C7D;
	border-radius: 2em;
}

@media screen and (min-width:768px) {
	.searchmenuToggle, .navGotop-ancher {
		width: 6vw;
		height: 6vw;
		transition: none;
		padding-top: 4.4vw;
		font-size: 1.3vw;
		background-position: center top 0.2vw;
	}
	.searchmenuToggle.fixed {
		width: 2.4em;
		height: 2.4em;
		position: static;
		background-color: #fff;
	}
	.searchMenu {
		/* height: 60vh; */
		/* transform: translateY(-100vh); */
		padding: 80px 1em 1em;
		opacity: 0;
	}
	.searchMenu.active {
		opacity: 1;
	}
	.searchMenu .section-search_gps, .searchMenu .form-search-all {
		border-radius: 3px;
	}
	.searchMenu .form-search-all {
		background-color: #fff;
	}
}

@media screen and (min-width:994px) {
	.navGotop {
		margin: 0;
		order: 2;
		font-size: 1em;
	}
	.searchmenuToggle, .navGotop-ancher {
		order: 2;
		height: auto;
		width: auto;
		padding: 1em 1em 1em 3.4em;
		font-size: 0.8em;
		background-size: auto 86%;
		background-position: left 6px top 3px;
		background-color: #fff;
	}
	.navMenu {
		margin-left: auto;
		margin-right: 1em;
	}
	.searchMenu {
		height: auto;
		bottom: auto;
		padding-left: calc((100% - 972px) / 2);
		padding-right: calc((100% - 972px) / 2);
	}
	.searchMenu input[type="submit"].section-search-choice-btn {
		width: 30%;
	}
	.searchMenu .form-search-all {
		background-color: transparent;
	}
	.searchMenu .section-search_area {
		background-color: #fff;
	}
	.searchMenu .section-search-choice-btn_en span {
		color: #fff;
	}
	.searchMenu .section-search-choice-btn_en.checkbox-wrap input:checked+span {
		color: #fff;
	}
	.searchMenu .section-search-choice-btn_en.checkbox-wrap input+span::before {
		border: none;
		background-color: #fff;
	}
	.searchMenu .section-search-choice-btn_en.checkbox-wrap input+span::after {
		border-color: #003C7D;
	}
}

/*
footer
----------------------------------------------------------------------------------------------*/

.footer {
	background-color: #f7f7f7;
	text-align: center;
	margin-top: 4em;
}

.footer-wrap {
	padding: 1vw 3vw;
}

.footer-copy {
	text-align: center;
	margin-top: 3em;
	display: inline-block;
}

.footer-corplink-list {
	list-style-type: none;
	padding-left: 0;
	margin: 2em 0;
}

.footer-corplink-list li {
	display: inline-block;
}

.footer-corplink-list li:first-child::before, .footer-corplink-list li:after {
	content: "|";
	color: #737373;
}

.footer-corplink-list li a {
	padding: 0 0.3em;
}

.footer-bnr-list {
	list-style-type: none;
	margin: 1em auto;
	padding: 0;
	text-align: center;
}

.footer-bnr-list li {
	margin: 0.5em 0;
}

.footer-sns {
	margin: 2em auto;
}

.footer-sns-ttl {
	color: #666;
	margin: 1em 0 0.5em;
	font-size: 0.8em;
}

.footer-sns-list {
	list-style-type: none;
	margin: 0.2em auto;
	padding: 0;
	display: flex;
	text-align: center;
	justify-content: center;
}

.footer-sns-list li {
	width: 10%;
	margin: 0 1%;
}

.btn-pagetop {
	width: 4em;
	height: 4em;
	background-color: #003063;
	border-radius: 4em;
	position: fixed;
	bottom: 3vw;
	right: 3vw;
	margin: 0;
	opacity: 0;
	transition: all 0.6s;
}

.btn-pagetop.fixed {
	opacity: 0.8;
}

.btn-pagetop a {
	display: block;
	padding: 0.75em;
}

.btn-pagetop a img {
	width: 100%;
}

@media screen and (min-width:768px) {
	.footer-wrap {
		margin: 0 12px;
		padding: 1.4em;
	}
	.footer-copy {
		margin-top: 2em;
	}
	.footer-corplink-list li a {
		font-size: 0.8em;
	}
	.footer-bnr-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.footer-bnr-list li {
		width: 32%;
		margin: 0.5%;
	}
	.footer-sns-ttl {
		font-size: 0.7em;
	}
	.footer-sns-list {
		width: 36%;
	}
	.btn-pagetop {
		width: 3em;
		height: 3em;
	}
	.btn-pagetop a {
		padding: 0.3em;
	}
}

@media screen and (min-width:994px) {
	.footer {}
	.footer-wrap {
		max-width: 972px;
		margin: auto;
	}
}

/*
breadcrumb
----------------------------------------------------------------------------------------------*/

.breadcrumb {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: 0.8em;
	white-space: nowrap;
	overflow-x: scroll;
	overflow-y: hidden;
	display: flex;
	background-color: #e8e8e8;
}

.breadcrumb li {
	margin: 0;
	color: #fff;
	background-color: #959595;
	position: relative;
	padding-left: 1.5em;
}

.breadcrumb li:first-child {
	padding-left: 0;
}

.breadcrumb li::after {
	content: "";
	display: inline-block;
	height: 2.2em;
	width: 2.2em;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	right: -1em;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
	background-color: #959595;
}

.breadcrumb li:last-child::after {
	content: none;
}

.breadcrumb li:nth-last-of-type(2)::after {
	border: none;
}

.breadcrumb li:last-child {
	background-color: #e8e8e8;
}

.breadcrumb a {
	color: #fff;
	display: inline-block;
	line-height: 1;
	padding: 1em 0.5em;
	z-index: 2;
	position: relative;
}

.breadcrumb li:last-child a {
	color: #959595;
}

.breadcrumb-home {
	/* background-image: url("../cmn_img/icon_storehead.svg");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 18px 18px;
	padding-left:22px; */
}

@media screen and (min-width:768px) {
	.breadcrumb {
		white-space: normal;
		margin: 3em auto 0;
	}
	.breadcrumb li a {
		white-space: nowrap;
	}
}

@media screen and (min-width:994px) {
	.breadcrumb {
		margin: 3em auto 0;
		padding: 0.5em calc(50% - 486px);
		background-color: #f0f0f0;
		overflow: inherit;
		flex-wrap: wrap;
	}
	.breadcrumb li {
		background-color: transparent;
		padding-left: 0;
		margin-right: 1.5em;
	}
	.breadcrumb li::after, .breadcrumb li:nth-last-of-type(2)::after {
		background-color: transparent;
		width: 1em;
		height: 1em;
		border-top: 2px solid #ccc;
		border-right: 2px solid #ccc;
	}
	.breadcrumb li:last-child {
		background-color: transparent;
	}
	.breadcrumb li a, .breadcrumb li:last-child a {
		color: #666;
	}
	.breadcrumb a {
		padding: 0.5em;
	}
}

/*
parts main block
----------------------------------------------------------------------------------------------*/

.main-content {
	margin: 2vw 3vw;
}

@media screen and (min-width:768px) {
	.main-content {
		margin: 1em auto;
		max-width: 972px;
		padding: 0 12px;
	}
}

@media screen and (min-width:994px) {
	.main-content {
		padding: 0;
	}
}

/*
bnr
----------------------------------------------------------------------------------------------*/

.bnr {
	margin-left: -3vw;
	margin-right: -3vw;
}

.bnr-list {
	margin: 1em 0;
	overflow: hidden;
}

.bnr-list-item>a {
	padding: 0 1vw;
	display: block;
}

@media screen and (min-width:768px) {
	.bnr {
		margin-left: 0;
		margin-right: 0;
	}
	.bnr-list {
		overflow: inherit;
	}
	.bnr-list-item>a {
		padding: 0 4px;
	}
}

/*
slick
----------------------------------------------------------------------------------------------*/

/* bnr-list_A */

.bnr-list_A .slick-arrow {
	border: none;
	/* border-radius: 8vw; */
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0;
	width: 8vw;
	height: 8vw;
	position: absolute;
	opacity: 0.8;
	cursor: pointer;
	background-color: #0056af;
}

.bnr-list_A .slick-arrow::after {
	content: "";
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	top: 0;
	bottom: 0;
	margin: auto;
}

.bnr-list_A .slick-prev.slick-arrow {
	top: 0;
	bottom: 0;
	margin: auto;
	left: 3vw;
	z-index: 10;
}

.bnr-list_A .slick-prev.slick-arrow::after {
	border-width: 1.6vw 2vw 1.6vw 2vw;
	border-color: transparent #fff transparent transparent;
	left: 1vw;
}

.bnr-list_A .slick-next.slick-arrow {
	top: 0;
	bottom: 0;
	margin: auto;
	right: 3vw;
	z-index: 10;
}

.bnr-list_A .slick-next.slick-arrow::after {
	border-width: 1.6vw 2vw 1.6vw 2vw;
	border-color: transparent transparent transparent #fff;
	right: 1vw;
}

@media screen and (min-width:768px) {
	.bnr-list_A .slick-arrow {
		border: none;
		/* border-radius: 60px; */
		padding: 0;
		width: 60px;
		height: 60px;
	}
	.bnr-list_A .slick-prev.slick-arrow {
		left: -10px;
	}
	.bnr-list_A .slick-prev.slick-arrow::after {
		border-width: 10px 16px 10px 16px;
		border-color: transparent #fff transparent transparent;
		left: 6px;
	}
	.bnr-list_A .slick-next.slick-arrow {
		right: -10px;
	}
	.bnr-list_A .slick-next.slick-arrow::after {
		border-width: 10px 16px 10px 16px;
		border-color: transparent transparent transparent #fff;
		right: 6px;
	}
}

/*
google map
----------------------------------------------------------------------------------------------*/

.store-map {
	display: none;
	height: 60vh;
	margin-left: -3vw;
	margin-right: -3vw;
}

.store-map-loading {
	width: 100vw;
	height: 100vw;
	position: absolute;
	z-index: 1;
}

.store-map iframe {
	width: 100vw;
	height: 100vw;
	position: absolute;
	z-index: 2;
}

@media screen and (min-width:768px) {
	.store-map {
		margin-left: 0;
		margin-right: 0;
	}
}

/*
youtube
----------------------------------------------------------------------------------------------*/

.article-movie {
	margin: 1em auto;
	max-width: 100%;
	position: relative;
}

.article-movie::before {
	content: "";
	padding-top: 56.25%;
	display: block;
}

.article-movie-iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (min-width:994px) {
	.article-movie {
		max-width: 50%;
	}
}