@charset "utf-8";

/* =============================================================================
RESET
============================================================================= */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
fieldset, img {
	border: 0
}
address, caption, cite, code, dfn, span, em, strong, th, var {
	font-style: normal;
	font-weight: 400
}
ol, ul {
	list-style: none
}
caption, th {
	text-align: left
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: 400
}
q:before, q:after {
	content: ''
}
abbr, acronym {
	border: 0
}
strong, em {
	font-weight: medium
}
figure {
	margin: 0;
	padding: 0
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	color: #323743;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;
	border: none;
	border-radius: 0;
	font-size: 100%
}

/* =============================================================================
BASE
============================================================================= */
html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: auto !important;
	font-size: 62.5%
}
body {
	font-size: 1.6rem;
	font-family: "Work Sans", "Noto Sans JP", sans-serif;
	line-height: 1;
	color: #323743;
	font-feature-settings: "palt";
	background: #fff
}
body * {
	box-sizing: border-box
}
input, button, textarea, select {
	font-family: "Work Sans", "Noto Sans JP", sans-serif;
}
img{ width: 100%; height: auto;vertical-align:bottom;}

/* LINK
------------------------------------------------------*/
a, a:link, a:visited, a:hover {
	color: #323743;
	text-decoration: none;
}
a.link-txt {
	color: #3498DB;
	transition: opacity .3s ease-out;
}
a.link-txt.-under {
	text-decoration: underline;
}
@media print, screen and (min-width:960px) {
	a.link-txt:hover{
		opacity: .6;
	}
	a.link-txt.-under:hover {
		text-decoration: none;
	}
}

/* MATERIAL ICON
------------------------------------------------------*/
.m-ico {
	display: inline-flex;
	align-items: center;
	font-style: normal;
	vertical-align: middle;
	font-weight: 400;
	font-size: 2.4rem;
}
.m-ico:before {
	font-family: 'Material Icons Round';
	content: attr(data-icon);
	font-variation-settings:
		'FILL' 0,
		'wght' 400,
		'GRAD' 0,
		'opsz' 24;
	font-size: 100%;
}
.m-ico.-ml{
	margin-left: 4px;
}
.m-ico.-mr{
	margin-right: 4px;
}
.m-ico.-fsl:before {
	font-size: 2.6rem;
}
.ico-wrap{
	display: inline-flex;
	align-items: center;
}

/* DISPLAY
------------------------------------------------------*/
.dis-none{
	display: none;
}
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	border: 0;
}
@media print, screen and (max-width:959px) {
	.pc-only {
		display: none
	}
}
@media print, screen and (min-width:960px) {
	.sp-only {
		display: none
	}
}

/*  kome
------------------------------------------------------*/
p.kome, .kome li {
	position: relative;
	padding-left: 1.2em
}
p.kome:before, .kome li:before {
	position: absolute;
	left: 0;
	top: 0;
	content: "\203B"
}

/* BLOCK
------------------------------------------------------*/
.block{
	display: block;
}
.in-block{
	display: inline-block;
}

/* CAPTION
------------------------------------------------------*/
.caption{position:absolute;right:0;bottom:2px;padding:0 5px;color:#fff;font-size:1.2rem;text-align:right;line-height:1.2;text-shadow:0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%),0 0 2px rgb(0 0 0 / 80%)}

/* TXT
------------------------------------------------------*/
.text-ss{
	font-size: 1.2rem;
}
.text-s{
	font-size: 1.4rem;
}
.text-m{
	font-size: 1.6rem;
}
.text-l{
	font-size: 1.8rem;
}
.text-ll{
	font-size: 2.0rem;
}

/* margin / padding
------------------------------------------------------*/
.mt-uxl{ margin-top: 64px; }
.mt-ul{ margin-top: 56px; }
.mt-xl{ margin-top: 48px; }
.mt-ll{ margin-top: 40px; }
.mt-l{ margin-top: 32px; }
.mt-m{ margin-top: 24px; }
.mt-s{ margin-top: 16px; }
.mt-ss{ margin-top: 8px; }
.mb-uxl{ margin-bottom: 64px; }
.mb-ul{ margin-bottom: 56px; }
.mb-xl{ margin-bottom: 48px; }
.mb-ll{ margin-bottom: 40px; }
.mb-l{ margin-bottom: 32px; }
.mb-m{ margin-bottom: 24px; }
.mb-s{ margin-bottom: 16px; }
.mb-ss{ margin-bottom: 8px; }

/* font
------------------------------------------------------*/
.ft-ll{ font-size: 2.2rem; }
.ft-l{ font-size: 2.0rem; }
.ft-m{ font-size: 1.8rem; }
.ft-s{ font-size: 1.6rem; }
.ft-ss{ font-size: 1.4rem; }
.ft-bold{ font-weight: bold; }

/* flex
------------------------------------------------------*/
.flex{ display: flex; width: 100%; }
.flex.-start{ justify-content: flex-start; }
.flex.-center{ justify-content: center; }
.flex.-end{ justify-content: flex-end; }
.flex.-between{ justify-content: space-between; }
.flex.-around{ justify-content: space-around; }
.flex.-alignstart{ align-items: flex-start; }
.flex.-aligncenter{ align-items: center; }
.flex.-alignend{ align-items: flex-end; }
.flex.-column{ flex-direction: column; }
.flex.-columnrev{ flex-direction: column-reverse; }
.flex.-row{ flex-direction: row; }
.flex.-rowrev{ flex-direction: row-reverse; }
.flex.-wrap{ flex-wrap: wrap;}
.flex.-nowrap{ flex-wrap: nowrap;}

/* =============================================================================
PARTS
============================================================================= */
/* BREADCRUMBS
------------------------------------------------------*/
.breadcrumbs{
	margin: 0 auto;
	padding: 8px 0;
	width: 100%;
	max-width: 1280px;
}
.breadcrumbs_wrapper {
	display: flex;
	align-items: center
}
.breadcrumbs_contents {
	flex: 1;
	overflow-x: auto;
	scrollbar-width: none;
	
	white-space: nowrap;
	margin-bottom: -2px;
	padding-bottom: 2px
}
.breadcrumbs_contents::-webkit-scrollbar {
	display: none;
}
.breadcrumbs_item {
	display: inline-flex;
	align-items: center;
	color: #6b6e71;
	font-size: 1.2rem;
}
.breadcrumbs_item.-home {
	flex-shrink: 0;
	margin: 0 4px
}
.breadcrumbs_item.-home span{
	display: inline-flex;
	align-items: center;
}
.breadcrumbs_item.-home span:before {
	margin-right: 4px;
	font-family: 'Material Icons Round';
	content: "\e88a";
}
.breadcrumbs_inner {
	width: 100%;
	display: flex;
	align-items: center;
}
.breadcrumbs_item:not(:first-child) {
	margin-left: 4px
}
.breadcrumbs_item:not(:last-child):after {
	margin-left: 4px;
	font-family: 'Material Icons Round';
	content: "\e315";
	color: #c0c5cb
}
.breadcrumbs_item:last-child {
	padding-right: 8px
}
a.breadcrumbs_anchor {
	display: inline-flex;
	align-items: center;	
	color: #3498DB;
}

/* PAGETOP
------------------------------------------------------*/
.page-top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, visibility .3s
}
.page-top a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	color: #fff;
	font-size: 2.4rem;
	border-radius: 10px;
	background: rgba(0, 0, 0, .2);
	box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2);
	transition: opacity .3s
}
.page-top.is-active {
	visibility: visible;
	opacity: 1
}
@media print, screen and (min-width:960px) {
	.page-top a:hover {
		opacity: .6
	}
}

/* NAVIGATION
------------------------------------------------------*/
.navigation{
	width: 100%;
	background: #fff;
}
.navigation-list{
	display: flex;
	justify-content: center;
	gap: 0 8px;
	margin: 0 auto;
	padding: 0 15px;
	width: 100%;
	max-width: 1280px;
}
.navigation-list__link{
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
}
a.navigation-list__link{
	color: #323743;
	transition: opacity .3s ease-out;
}
.navigation-list__ico{
	text-align: center;
	color: #656972;
}
.navigation-list__txt{
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 4px;
	text-align: center;
	line-height: 1.3;
	font-size: 1.0rem;
}
.navigation__top{
	margin-top: 24px;
	text-align: right;
	padding: 0 15px 16px;
	font-weight: 500;
	border-bottom: solid 1px #BCBDC2;
}
.navigation__top-link{
	display: inline-flex;
    align-items: center;
    color: #3498DB !important;
    font-size: 1.7rem;
    font-weight: 500;
	transition: opacity .3s ease-out;
}
.fixed .navigation{
	position: fixed;
	left: 0;
	top: 0;
	z-index: 10; 
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	animation: 0.3s forwards animationNav;
}
@keyframes animationNav {
    0% {
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(0)
    }
}
@media screen and (max-width:959px){
	.navigation-list__item{
		flex: 1;
	}
	.navigation-list__link.is-current .navigation-list__ico{
		color: #fff;
	}	
	.navigation-list__link.is-disabled{
		pointer-events: none;
		color: #BCBDC2;
	}
	.navigation-list__link.is-disabled .navigation-list__ico{
		color: #BCBDC2;
	}
	body:not(.fixed) .navigation-list__ico{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 48px;
		height: 48px;
		border-radius: 50vw;
		background-color: #ECF9FF;
		box-shadow: 0px 2px 2px 0px #00000040;
	}
	body:not(.fixed) .navigation-list__link.is-current .navigation-list__ico{
		background: linear-gradient(135deg, #3498DB 0%, #52C8FF 100%);
	}
	body:not(.fixed) .navigation-list__link.is-disabled .navigation-list__ico{
		background: #E4E5E7;
	}
	.fixed .navigation-list{
		gap: 0;
		padding: 0;
		box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1);
	}
	.fixed .navigation-list__link{
		padding: 8px 0;
	}
	.fixed .navigation-list__link.is-current{
		color: #fff;
		background: linear-gradient(135deg, #3498DB 0%, #52C8FF 100%);
	}
	.fixed .navigation-list__link.is-disabled{
		pointer-events: none;
		color: #BCBDC2;
		
	}
	.fixed .navigation-list__txt{
		margin-top: 2px;
		letter-spacing: 0;
	}
}
@media screen and (max-width:374px){
	.navigation-list__ico{
		position: relative;
		width: 100%;
		height: 0;
		padding-top: calc(48 / 48 * 100%);
	}
	.navigation-list__ico .m-ico{
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		font-size: 6.0vw;
	}
}
@media print, screen and (min-width: 960px) {
	.navigation{
		box-shadow: 0 5px 2px -2px rgba(0, 0, 0, 0.1)
	}
	.navigation-list{
		padding: 0;
		gap: 0 16px;
	}
	.navigation-list__item{
		flex: 1;
		width: 100%;
	}
	.navigation-list__link{
		padding: 8px;
		border-radius: 8px 8px 0 0;
		background: #fff;
	}
	.navigation-list__link.is-current{
		color: #fff;
		background: linear-gradient(135deg, #3498DB 0%, #52C8FF 100%);
	}
	.navigation-list__link.is-current .navigation-list__ico{
		color: #fff;
	}
	a.navigation-list__link:not(.is-current):hover{
		opacity: .6;
	}
	.navigation-list__link.is-disabled{
		pointer-events: none;
		color: #BCBDC2;
		background: none;
	}
	.navigation-list__link.is-disabled .navigation-list__ico{
		color: #BCBDC2;
	}
	.navigation-list__txt{
		margin-top: 2px;
		font-size: 1.8rem;
		font-weight: 500;
	}
	.navigation__top{
		margin-top: 16px;
		text-align: right;
		font-size: 1.9rem;
		font-weight: 500;
		border-bottom: none;
	}
    .navigation__top-link{
        font-size: 1.9rem;
    }
	.navigation__top-link:hover{
		opacity: .6;
	}
	.fixed .navigation-list{
		box-shadow: none;
	}
	.fixed .navigation-list__link{
		flex-direction: row;
		justify-content: center;
		min-height: 48px;
		border-radius: 0;
	}
	.fixed .navigation-list__txt{
		flex: 0 1 auto;
		margin-left: 8px;
		font-size: 1.6rem;
	}
}
@media print, screen and (min-width: 1312px) {
	.navigation{
		padding: 0;
	}
	.navigation__top{
		margin: 16px auto 0;
		padding: 0;
	}
}

/* BACK BT
------------------------------------------------------*/
.back__bt-link{
	display: inline-flex;
    align-items: center;
    color: #3498DB !important;
    font-size: 1.7rem;
    font-weight: 500;
	transition: opacity .3s ease-out;
}
@media print, screen and (min-width: 960px) {
    .back__bt-link{
        font-size: 1.9rem;
    }
	.back__bt-link:hover{
		opacity: .6;
	}
}

/* PAGE NAV
------------------------------------------------------*/
.pagenav{
	margin: 40px 15px 0;
}
.pagenav-list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}
.pagenav-list__item{
	flex: 1 1 calc(50% - 8px);
}
.pagenav-list__item-link{
	position: relative;
	justify-content: center;
	align-items: center;
	padding: 4px calc(2.4rem + 4px) 4px 16px;
	min-height: 32px;
	display: flex;
	font-weight: 500;
	border-radius: 50vw;
	border: solid 1px #323743;
	background: #fff;
	transition: opacity .3s ease-out;
}
.pagenav-list__item-link .m-ico{
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
}
@media print, screen and (min-width: 960px) {
	.pagenav-list {
		display: flex;
		flex-wrap: wrap;
		gap: 16px;
	}
	.pagenav-list__item{
		flex: 0 1 auto;
		min-width: 190px;
	}
	.pagenav-list__item-link{
		min-height: 44px;
		font-size: 1.9rem;
	}
	.pagenav-list__item-link:hover{
		opacity: .6;
	}
}
@media print, screen and (min-width: 1312px) {
	.pagenav{
		margin: 40px 0 0;
	}
}

/*  HEADING 
------------------------------------------------------*/
.ttl-lv01, .ttl-lv02, .ttl-lv03, .ttl-lv04, .ttl-lv05, .ttl-lv06{ font-weight: bold; line-height: 1.5; }
.ttl-lv01 span, .ttl-lv02 span, .ttl-lv03 span, .ttl-lv04 span, .ttl-lv05 span, .ttl-lv06 span{ font-weight: bold; }

.ttl-lv01{
	font-size: 2.7rem;
}
.page-hd.-top .ttl-lv01{
	font-size: 1.6rem;
}
.ttl-lv02{
	font-size: 2.4rem;
}
.ttl-lv03{
	font-size: 2.1rem;
}
.ttl-lv04{
	font-size: 1.9rem;
}
.ttl-lv05{
	font-size: 1.7rem;
}
.ttl-lv01__sub{
	font-size: 1.5rem;
}
.ttl-lv01__txt, .ttl-lv01__kana{
	display: block;
	font-size: 1.4rem;
	font-weight: 400!important;
}
@media print, screen and (min-width: 960px) {
	.ttl-lv01{
		font-size: 3.2rem;
	}
	.page-hd.-top .ttl-lv01{
		font-size: 1.6rem;
		
	}
	.ttl-lv02{
		font-size: 2.6rem;
	}
	.ttl-lv01__sub{
		font-size: 1.8rem;
	}
	.ttl-lv01__txt{
		display: inline;
		margin-left: 8px;
		font-size: 1.6rem;
	}
	.ttl-lv01__kana{
		font-size: 1.8rem;
	}
}

.section-hd{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}
.section-hd__ttl{
	position: relative;
	padding: 0 0 10px calc(3.2rem + 8px);
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5;
}
.section-hd__ttl::before{
	position: absolute;
	left: 0;
	top: calc(50% - 6px);
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	width: 2.6rem;
	height: 2.6rem;
}
.fieldreport .section-hd__ttl::before{
	background: url("/kaigai_guide/images/report.svg") center / 100% auto no-repeat;
}
.guide .section-hd__ttl::before{
	background: url("/kaigai_guide/images/guide.svg") center / 100% auto no-repeat;
}
.section-hd__ttl::after{
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	content: "";
	display: inline-block;
	width: 80px;
	height: 2px;
	background: linear-gradient(270deg, #5C89C1 21.63%,#356EA3 56.18%, #23496E 100%);
}
.section-hd__txt{
	line-height: 1.5;
}
.section-hd__ico-path{
	fill: url(#section-hd__ico-path);
}
.section-hd__ico-path2{
	fill: #fff;
}
@media print, screen and (min-width: 960px) {
	.section-hd{
		gap: 24px;
	}	
	.section-hd__ttl{
		font-size: 2.6rem;
	}
	.section-hd__ttl::before{
		width: 3.2rem;
		height: 3.2rem;
	}
}

/*  TXT READ 
------------------------------------------------------*/
.txt-read{
	margin-top: 8px;
	line-height: 1.5;
}

/* Button
------------------------------------------------------*/
.btn-more{
	margin: 24px auto 0;
	width: 100%;
	max-width: 345px;
}
.btn-more__link{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 48px;
	padding: 4px 2.8rem 4px 8px;
	line-height: 1;
	color: #3498DB!important;
	font-size: 1.9rem;
	font-weight: bold;
	border-radius: 50vw;
	background: #fff;
	border: 3px solid #3498DB;
	transition: opacity .3s ease-out;
}
.btn-more__link .m-ico{
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
}
.btn-more .btn-more__link .m-ico.-arrow{
	font-size: 2.8rem;
}
@media print, screen and (min-width: 960px) {
	.btn-more{
		margin-top: 40px;
	}
	.btn-more__link:hover {
		opacity: .6;
	}
}

/* MORE TXT LINK
------------------------------------------------------*/
.more-txtlink{
	margin-top: 24px;
	text-align: right;
}
.more-txtlink__link{
	display: inline-flex;
	align-items: center;
	color: #3498DB!important;
	font-size: 1.7rem;
	font-weight: 500;
	transition: opacity .3s ease-out;
}
@media print, screen and (min-width: 960px) {
	.more-txtlink__link{
		font-size: 1.9rem;
	}
	.more-txtlink__link:hover{
		opacity: .6;
	}
}

/* FORM
------------------------------------------------------*/
/* input text ----------------------- */
.inputbox{
	position: relative;
}
.inputbox__label{
	display: inline-block;
	margin-bottom: 8px;
	font-size: 1.7rem;
	font-weight: 500;
	background: #fff;
}
.inputbox__txt{
	padding: 0px 8px;
	width: 100%;
	height: 48px;
	border-radius: 4px;
	border: solid 1px #BCBDC2;
	background: #fff;
	outline: none;
}
.inputbox__txt::placeholder{
	color: #bcbdc2;
}
.inputbox__txt:focus{
	border-bottom-color: #3498DB;
	background: #fff;
}
.inputbox__txt:disabled{
	pointer-events: none;
	opacity: .1;
	background: #ccc;
}
.inputTooltip{
    display: none;
    position: absolute;
    right: 0;
	z-index: 1;
    padding: 5px 10px;
	max-width: 300px;
    color: #fff;
    font-size: 1.4rem;
    border-radius: 5px;
    background-color: #5f9cd1;
}
.inputTooltip::before{
	position: absolute;
	right: 32px;
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
}
@media screen and (max-width: 959px){
	.inputTooltip{
		top: calc(100% + 4px);
		right: 0;
	}
	.inputTooltip::before{
		bottom: calc(100% - 1px);
		border-bottom: 10px solid #5f9cd1;
	}
}
@media screen and (min-width: 960px){
	.inputTooltip{
		max-width: 500px;
	}
	.inputTooltip{
		bottom: calc(100% + 4px);
	}
	.inputTooltip::before{
		top: calc(100% - 1px);
		border-top: 10px solid #5f9cd1;
	}
}

/* selectbox ----------------------- */
.selectbox{
	position: relative;
}
.selectbox.-num{
	width: 100%;
	max-width: 70px;
}
.selectbox .m-ico{
	pointer-events: none;
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2.0rem;
}
.selectbox select{
	cursor: pointer;
    padding: 0 24px 0 8px;
    width: 100%;
	height: 50px;
    border: 2px solid #000;
    background: #fff;
}
.selectbox select:disabled{
	pointer-events: none;
	opacity: .1;
	color: #ccc;
	background: #ccc;
}
.selectbox select:disabled + .m-ico{
	display: none;
}	
.selectbox select:focus{
	border-color: #5f9cd1;
	border-radius: 0;
}
.selectbox select:invalid,
.selectbox select option[value=""][disabled]{
    color: #bcbdc2;
}
.js-select-focus option {
    color: #000;
}

/* radiobox ----------------------- */
.radiobox{
	cursor: pointer;
	position: relative;
	display: inline-block;
	margin-top: -3px;
}
.radioboxInput{
	display: none;
}
.radiobox > span{
	position: relative;
	display: inline-flex;
	align-items: center;
	line-height: 40px;
}
.radiobox > span::before, .radiobox > span::after {
	content: "";
	border-radius: 50%;
}
.radiobox > span::before {
	display: block;
	margin-right: 8px;
	width: 20px;
	height: 20px;
	border: solid 1px #999;
	background: #fff;
}
.radiobox > span::after {
	position: absolute;
	left: 6px;
	top: 50%;
	width: 10px;
	height: 10px;
	margin-top: -5px;
	background-color: #5f9cd1;
}
.radiobox > span::before{
	background: #fff;
}
.radiobox > span::after {
	display: none;
}
.radioboxInput:checked + span::after {
	display: block;
}
.radioboxInput.is-valid + span::before {
	background-color: #fff;
}

/* checkbox ----------------------- */
.checkbox{
	cursor: pointer;
	display: inline-block;
}
.checkbox__input{
	display: none;
}
.checkbox__label{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 4px 12px;
	min-height: 32px;
	line-height: 1.2;
	font-weight: 500;
	border-radius: 50vw;
	border: 1px solid #323743;
	background: #fff;
}
.checkbox__label::before {
	content: "\e876";
	margin-right: 4px;
	font-family:'Material Icons Round';
	font-size: 2.0rem;
	color: #E4E5E7;
}

.checkbox__input:checked + .checkbox__label{
	border-color: #3498DB;
	background: #ECF9FF;
}

.checkbox__input:checked + .checkbox__label::before {
	color: #3498DB;
}

/* textarea ----------------------- */
.textareabox{
	position: relative;
}
.textareabox textarea{
	padding: 10px;
	border: none;
	width: 100%;
	vertical-align: bottom;
}
.textareabox textarea:focus{
	border-color: #5f9cd1;
}
.textareabox textarea::placeholder{
	color: #bcbdc2;
}
.textareabox textarea{
	height: 150px;
    border: 2px solid #000;
}
@media screen and (min-width: 960px){
	.inputtext{
		padding: 0px 16px;
		height: 60px;
	}
	.selectbox.-num{
		max-width: 100px;
	}
	.selectbox select{
		padding-left: 16px;
		height: 50px;
	}
	.radiobox > span{
		line-height: 48px;
	}
	.textareabox textarea{
		font-size: 1.8rem;
	}
}

/* PAGING
------------------------------------------------------*/
.paging{
	margin-top: 24px;
	padding: 8px;
	background: #F8F9F9;
}
.paging__inner{
	display: flex;
	justify-content: center;
	gap: 6px;
}
.paging__anchor{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3.5rem;
	height: 3.0rem;
	font-size: 1.6rem;
	font-family: "Noto Sans JP", sans-serif;
	border-radius: 50vw;
	letter-spacing: 0;
}
.paging__number{
	font-weight: 500;
}
.paging__anchor.is-active{
	color: #fff;
	background: #3498DB;
}
.paging__anchor.-hidden{
	display: none;
}
.paging__item.-prev .paging__anchor,
.paging__item.-next .paging__anchor{
	color: #3498DB;
}

@media print, screen and (min-width:960px) {
	.paging{
		margin-top: 40px;
		padding: 16px;
		border-radius: 10px;
	}
	.paging__inner{
		gap: 16px;
	}
	.paging__anchor{
		font-size: 1.9rem;
	}
}

/* UPDATE
-----------------------------------------------------------*/
.update{
	margin: 48px 15px 0;
	text-align: right;
}
@media print, screen and (min-width: 1312px) {
	.update{
		margin: 40px 0 0;
	}
}

/* COPY
------------------------------------------------------*/
.clipbordcopy{
	position: relative;
	cursor: pointer;
	display: inline-block;
}
.clipbordcopy__ico{
	position: relative;
	top: -1px;
	margin-left: 16px;
	line-height: 1;
	font-size: 100%;
}
.tooltip {
	position: absolute;
	top: 120%;
	left: 50%;
	transform: translateX(-50%);
	background: #333;
	color: #fff;
	font-size: 12px;
	padding: 5px 8px;
	border-radius: 4px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s;
}
.success-msg {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
	z-index: 1502;
    width: 300px;
    height: 40px;
    line-height: 40px;
    background-color: #000;
    color: #fff;
    margin: auto;
    text-align: center;
    border-radius: 8px 8px 0 0;
}
@media print, screen and (min-width:960px) {
	.tooltip.is-show {
		opacity: 1;
	}
}

/* MV
------------------------------------------------------*/
.mv{
	position: relative;
	margin: 0 auto;
	max-width: 1280px;
	width: 100%;
	height: 353px;
}
.page-hd + .mv{
	margin-top: 8px;
}
.mv img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.mv__block{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}
.mv__ttl{
	text-align: center;
	font-size: 4.0rem;
	font-weight: bold;
}
.mv__bts{
	display: flex;
	gap: 16px;
	margin: 24px 15px 0;
}
.mv__bt{
	flex: 1;
	min-width: 164px;
}
.mv__bt-link{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	padding: 4px calc(2.4rem + 16px) 4px 24px;
	min-height: 48px;
	font-weight: 500;
	border-radius: 50vw;
	border: solid 2px #356EA3;
	box-shadow: 0px 3px 4px 0px #00000080;
	background: rgba(255, 255, 255, 0.8);
	white-space: nowrap;
	transition: opacity .3s ease-out;
}
.mv__bt-ico{
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	color: #356EA3;
	transition: color .3s ease-out;
}
.mv__read{
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 8px;
	width: 100%;
	line-height: 1.5;
	color: #fff;
	font-size: 1.2rem;
	background: rgba(53, 110, 163, 0.8);
}
.mv__read::before{
	position: absolute;
	right: 0;
	bottom: 100%;
	content: attr(data-caption);
	color: #fff;
	font-size: 1.2rem;
	text-shadow: 2px 1px 2px rgba(0, 0, 0, 0.5);
}
@media print, screen and (min-width:960px) {
	.mv{
		height: 380px;
	}
	.page-hd + .mv{
		margin-top: 16px;
	}

	.mv__ttl{
		font-size: 4.8rem;
	}
	.mv__bts{
		justify-content: center;
		gap: 40px;
		margin-top: 40px;
	}
	.mv__bt{
		max-width: 194px;
	}
	.mv__bt-link:hover{
		opacity: .8;
	}
	.mv__bt-link:hover .mv__bt-ico{
		color: #86a8c8;
	}
	.mv__read{
		text-align: center;
	}
}

/* NOTE LIST
------------------------------------------------------*/
.note-list:not(:first-child){
	margin-top: 24px;
}
.note-list__item{
	padding: 8px 16px;
	line-height: 1.5;
	border-radius: 8px;
	background: #F8F9F9;
}
.note-list__item:not(:first-child){
	margin-top: 8px;
}
.note-list__item-ttl{
	font-size: 1.9rem;
	font-weight: 500;
}
.note-list__item-txt{
	margin-top: 8px;
}
.note-list__item.-nobg{
	background: none;
}
.note-list__item.-nobg .note-list__item-txt{
	margin: 8px -16px 0;
}

/* PAGE
------------------------------------------------------*/
.contents{
	letter-spacing: .05em;
}
.main{
	margin-top: 16px;
}

.section{
	margin-top: 64px;
	padding: 0 15px;
}
.section-block{
	margin-top: 24px;
}
.section-lv03:not(:first-child){
	margin-top: 40px;
}
.section-lv03-top{
	margin-top: 24px;
}
.section-lv03-top:not(:first-of-type){
	margin-top: 64px;
}
.section-lv03-block{
	margin-top: 16px;
}
.section-lv04:not(:first-child){
	margin-top: 24px;
}
.section-lv04-block{
	margin-top: 8px;
}
@media print, screen and (min-width: 960px) {
	.main{
		margin: 40px auto 0;
		width: 100%;
		max-width: 1280px;
	}
	.page-hd + .main{
		margin-top: 16px;
	}
}
@media print, screen and (min-width: 1312px) {
	.section{
		padding: 0;
	}
}

/* PAGE HEAD
------------------------------------------------------*/
.page-hd{
	margin: 24px 15px 0;
}
.page-hd.-top{
	margin: 8px 8px 0;
}
@media print, screen and (min-width: 1312px) {
	.page-hd{
		margin: 16px auto 0;
		width: 100%;
		max-width: 1280px;	
	}
	.page-hd.-top{
		margin: 16px auto 0;
	}
	.back__bt + .page-hd{
		margin-top: 40px;
	}
}

/* CASSETTE
------------------------------------------------------*/
.cassette{
	display: flex;
	flex-wrap: wrap;
	gap: 16px 8px;
}
.cassette__item{
	width: 100%;
	height: auto;
	border-radius: 10px;
	background: #fff;
}
.cassette__item-link{
	position: relative;
	display: flex;
	flex-direction: column;
	padding-bottom: 8px;
	height: 100%;
	border-radius: 10px;
	border: 1px solid #BCBDC2;
	background: #fff;
	overflow: hidden;
	box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2);
	transition: opacity .3s ease-out;
}
.cassette__item-ttl{
	margin: 8px 8px 0;
	color: #3498DB;
	font-size: 1.9rem;
	line-height: 1.3;
	font-weight: bold;
}
.cassette__item-ttl.-line{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-word;	
}
.cassette__item-ttl.-line-article{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-word;
	max-height: calc(1.3em * 4 - 2px);
    min-height: calc(1.3em * 4 - 2px);
}
.cassette__item-ttl.-line-opt{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-word;
	max-height: calc(1.3em * 5 - 2px);
    min-height: calc(1.3em * 5 - 2px);
}
.cassette__item-area{
	display: flex;
	align-items: center;
	margin: 8px 8px 0;
	font-size: 1.3rem;
}
.cassette__item-area .m-ico{
	color: #656972;
	font-size: 1.8rem;
}
.cassette__item-fromto{
	order: -1;
	display: flex;
	align-items: center;
	margin: 8px 8px 0;
	font-size: 1.3rem;
}
.cassette__item-fromto .m-ico{
	color: #656972;
	font-size: 1.8rem;
}
.cassette__item-txt{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-word;	
	margin: 8px 8px 0;
	font-size: 1.2rem;
	line-height: 1.5;
}
.cassette__item-txt.-line-opt{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-word;
	max-height: calc(1.3em * 3 - 2px);
    min-height: calc(1.3em * 3 - 2px);
}
.cassette__item-date{
	margin: 8px 8px 0;
	font-size: 1.4rem;
}
.cassette__item-date span{
	display: inline-block;
	padding: 4px 8px;
	border-radius: 50vw;
	background: #F4F5F5;
}
.cassette__item-conditions{
	margin: 8px 8px 0;
	line-height: 1.3;
	font-size: 1.2rem;
}
.cassette__item-price{
	margin: 8px 8px 0;
	text-align: right;
}
.cassette__item-pricenum{
	display: inline-block;
	color: #CC0000;
	letter-spacing: 0;
	font-size: 2.4rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
}
.cassette__item-img{
	cursor: pointer;
	order: -2;
	aspect-ratio: 4 / 3;
	position: relative;
	overflow: hidden;
	transition: opacity .3s ease-out;
}
.cassette__item-img img {
	object-fit: contain;
	object-position: center top;
	width: 100%;
	height: 100%;
	margin: 0;
	transition: opacity .4s ease-out, transform .4s ease-out;
}

.cassette-ranking .cassette__item-img,
.article .cassette__item-img{
	display: flex;
	align-items: center;
	justify-content: center;	
	overflow: hidden;
}
.cassette-ranking .cassette__item-img img,
.article .cassette__item-img img {
	object-fit: cover;
	object-position: 50% 50%;	
	width: auto;
	height: 100%;
}

.is-open .cassette__item-img img {
	opacity: 0;
	transition: opacity .4s ease-out;
}
.cassette__item-bt{
	margin: 8px 26px 0;
	padding: 12px 20px;
	text-align: center;
	color: #fff;
	font-weight: bold;
	border-radius: 50vw;
	background: #3498DB;
}
.cassette.-ranking .cassette__item{
	width: calc(100% / 2 - 4px);
}
.cassette.-ranking .cassette__item-ttl{
	font-size: 1.6rem;
}
@media print, screen and (min-width:960px) {
	.cassette{
		gap: 40px 16px;
	}
	.cassette__item{
		width: calc(100% / 3 - 10.7px);
	}
	.cassette__item-link{
		padding-bottom: 16px;
	}
	.cassette__item-link:hover{
		opacity: .6;
	}
	.cassette__item-ttl{
		font-size: 1.9rem;
	}
	.cassette__item-ttl.-line-article{
		-webkit-line-clamp: 3;
		max-height: calc(1.3em * 3);
		min-height: calc(1.3em * 3);
	}
	
	.cassette__item-txt{
		-webkit-line-clamp: 4;
	}
	.cassette__item-area{
		display: flex;
		align-items: center;
		font-size: 100%;
	}
	.cassette__item-txt{
		-webkit-line-clamp: 3;
	}
	.cassette__item-bt{
		margin-top: 16px;
	}
	.cassette.-ranking{
		gap: 24px 8px;
	}
	.cassette.-ranking .cassette__item{
		width: calc(100% / 5 - 6.4px);
	}
	.city-ranking .cassette.-ranking .cassette__item{
		width: calc(100% / 4 - 6px);
	}
	.guide .city-ranking .cassette.-ranking .cassette__item{
		width: calc(100% / 5 - 6.4px);
	}
	.cassette.-ranking .cassette__item-ttl{
		margin-top: 8px;
		font-size: 1.9rem;
	}
	.cassette__item-txt{
		font-size: 1.4rem;
	}
	.cassette__item-link:hover .cassette__item-img img{
		transform: scale(1.1);
	}
	.cassette__item-img:hover{
		opacity: .6;
	}
}

/* CASSETTE RANKING */
.cassette-ranking{
	counter-reset: ranknum;
}
.cassette-ranking__num{
	position: absolute;
	left: 5px;
	top: -1px;
	display: inline-flex;
	flex-direction: column;
	width: 24px;
}
.cassette-ranking__num::before{
	padding: 6px 0 3px;
	counter-increment: ranknum;
	content: counter(ranknum);
	color: #fff;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 500;
	background-color: #808080;
}
.cassette-ranking__num::after {
	content: "";
	width: 0;
	height: 0;
	border-left: 12px solid #808080;
	border-right: 12px solid #808080;
	border-bottom: 5px solid transparent;
}
.cassette__item:first-child .cassette-ranking__num::before{ background-color: #B8860B; }
.cassette__item:first-child .cassette-ranking__num::after{ border-left-color: #B8860B; border-right-color: #B8860B; }
.cassette__item:nth-child(2) .cassette-ranking__num::before{ background-color: #BDBDBD; }
.cassette__item:nth-child(2) .cassette-ranking__num::after{ border-left-color: #BDBDBD; border-right-color: #BDBDBD; }
.cassette__item:nth-child(3) .cassette-ranking__num::before{ background-color: #A0522D; }
.cassette__item:nth-child(3) .cassette-ranking__num::after{ border-left-color: #A0522D; border-right-color: #A0522D; }

@media print, screen and (min-width:960px) {
	.cassette-ranking__num::before{
		border-radius: 4px 4px 0 0;
	}
}

/* PURPOSE / TOP
------------------------------------------------------*/
.purpose-list{
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}
.purpose-list__item-link{
	display: flex;
	gap: 4px;
	padding: 8px 16px;
	line-height: 1.5;
	font-weight: 500;
	border-radius: 50vw;
	border: solid 1px #323743;
	transition: opacity .3s ease-out;
}
.purpose-list__item-ico{
	flex-shrink: 0;
	line-height: 1;
	transform: translateY(-1px);
}
@media print, screen and (min-width:960px) {
	.purpose-list__item-link:hover{
		opacity: .6;
	}
}

/* REPORT
------------------------------------------------------*/
.fieldreport{
	padding-bottom: 64px;
	border-bottom: solid 1px #bcbdc2;
}

/* NEWREPORT AREA / TOP
------------------------------------------------------*/
.newreport-more {
	text-align: center;
	margin-top: 16px;
}
.newreport-more button {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	color: #3498DB;
	line-height: 1;
	font-size: 1.9rem;
	font-weight: bold;
	transition: opacity .3s ease-out;
}
@media print, screen and (min-width:960px) {
	.newreport-more {
		margin-top: 32px;
	}
	.newreport-more button:hover{
		opacity: .6;
	}
}

/* REPORT AREA / TOP
------------------------------------------------------*/
.section.report{
	margin-top: 24px;
}
.paging + .section.report{
	margin-top: 80px;
}
.reportarea-cassette{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px 8px;
}
.reportarea-cassette__item{
	height: auto;
	background: #fff;
}
.reportarea-cassette__item-link{
	cursor: pointer;
	position: relative;
	background: #fff;
	overflow: hidden;
	transition: opacity .3s ease-out;
}
.reportarea-cassette__item-areaname{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	width: 100%;
	text-align: center;
	padding: 0 8px;
	color: #fff!important;
	white-space: nowrap;
}
.reportarea-cassette__item-areaname span{
	display: block;
	margin: 0 auto;
	padding: 4px;
	max-width: 160px;
	line-height: 1.5;
	font-weight: bold;
	border-radius: 50vw;
	background: rgba(101, 105, 114, 0.6);
}
.reportarea-cassette__item-img{
	position: relative;
	overflow: hidden;
	transition: opacity .3s ease-out;
}
.reportarea-cassette__item-img img {
	object-fit: contain;
	object-position: center top;
	width: 100%;
	height: 100%;
	margin: 0;
	transition: opacity .4s ease-out, transform .4s ease-out;
}
@media print, screen and (min-width:960px) {
	.section.report{
		margin-top: 40px;
	}
	.reportarea-cassette{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 40px 16px;
	}
	.reportarea-cassette__item-link:hover{
		opacity: .6;
	}
	.reportarea-cassette__item-areaname{
		font-size: 1.9rem;
	}
	.reportarea-cassette__item-areaname span{
		padding: 8px;
		max-width: 240px;
	}
	.reportarea-cassette__item-link:hover .reportarea-cassette__item-img img{
		transform: scale(1.1);
	}
}

/* GUIDE KEYWORD / TOP
------------------------------------------------------*/
.guide-keyword__block{
	position: relative;
	display: flex;
	gap: 4px;
	margin: 0 auto;
	padding: 8px 15px;
	width: 100%;
	max-width: 960px;
	background: #F4F5F5;
}
.guide-keyword__inputbox{
	position: static!important;
	flex: 1;
}
.guide-keyword__input{
	border-radius: 8px;
}
.guide-keyword__bt{
	width: 5.8rem;
}
.guide-keyword__bt-submit{
	cursor: pointer;
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	border-radius: 8px;
	background: #323743;
	transition: opacity .3s ease-out;
}
@media print, screen and (min-width:960px) {
	.guide-keyword__block{
		padding: 16px 15px;
	}
	.guide-keyword__bt-submit:hover{
		opacity: .6;
	}
}

/* GUIDE MAP / TOP
------------------------------------------------------*/
.map__block{
	position: relative;
	margin: 0 auto;
	max-width: 960px;
	height: 0;
	padding-top: calc(543 / 960 * 100%);
	background: url("/kaigai_guide/images/guide_image01.webp") center / 100% auto no-repeat;
}

.map__box{
	position: absolute;
    z-index: 0;
	transform: translate(-50%, -50%);
	border-radius: 8px;
	background: #fff;
}
.map__box:first-child{left: 29%;top: 29%;}
.map__box:nth-child(2){left: 50%;top: 107%;}
.map__box:nth-child(3){left: 79%;top: 29%;}
.map__box:nth-child(4){left: 56%;top: 55%;}
.map__box:nth-child(5){left: 29%;top: 3%;}
.map__box:nth-child(6){left: 25%;top: 81%;}

@media screen and (min-width:500px) {
	.map__box:first-child{left: 34%;top: 36%;}
	.map__box:nth-child(2){left: 60%;top: 87%;}
	.map__box:nth-child(3){left: 80%;top: 35%;}
	.map__box:nth-child(4){left: 59%;top: 54%;}
	.map__box:nth-child(5){left: 22%;top: 17%;}
	.map__box:nth-child(6){left: 19%;top: 71%;}
}

.map__bt{
	position: relative;
	z-index: 0;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 4px 12px 4px 16px;
	min-height: 21px;
	color: #3498DB!important;
	font-size: 1.6rem;
	font-weight: 500;
	border-radius: 8px;
	border: solid 2px #3498DB;
	transition: opacity .3s ease-out;
	white-space: nowrap
}
.map__bt .m-ico{
	font-size: 2.4rem;
}
@media print, screen and (min-width:960px) {
	.map__block{
		padding-top: 0;
		width: 960px;
		height: 543px;
	}
	.map__bt{
		min-height: 35px;
		font-size: 1.6rem;
	}
	.map__bt:hover{
		opacity: .6;
	}
	
	.map__box:first-child{left: 34%;top: 42%;}
	.map__box:nth-child(2){left: 60%;top: 76%;}
	.map__box:nth-child(3){left: 80%;top: 40%;}
	.map__box:nth-child(4){left: 59%;top: 51%;}
	.map__box:nth-child(5){left: 12%;top: 30%;}
	.map__box:nth-child(6){left: 16%;top: 56%;}
}

/* COUNTRY SEARCH - MODAL
-----------------------------------------------------------*/
.modal-countrysearch .modal-close{
	right: 8px;
	top: 8px;
	z-index: 1;
	transform: translateY(0);
}
.modal-countrysearch .modal-header_ttl{
	text-align: left;
}
.modal-countrysearch__ttl{
	font-size: 1.8rem;
	font-weight: bold;
}
.modal-countrysearch__block{
	margin-top: 16px;
}
.modal-countrysearch__index-ttl{
	font-weight: 500;
}
.modal-countrysearch__index-ttl:not(:first-of-type){
	margin-top: 24px;
}
.modal-countrysearch__index-bd{
	margin: 16px 16px 0;
}
.modal-countrysearch__list{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.modal-countrysearch__link{
    justify-content: center;
    align-items: center;
    padding: 4px 16px;
    min-height: 32px;
    display: flex;
    font-weight: 500;
    border-radius: 50vw;
    border: solid 1px #323743;
    background: #fff;
    transition: opacity .3s ease-out;
}
@media screen and (max-width:959px) {
	.modal-countrysearch{
		margin-top: 32px;
		height: calc(100% - 32px)!important;
		border-radius: 8px 8px 0 0;
	}
	.modal-countrysearch .modal-content{
	    padding: 16px 15px;
	}
}
@media print, screen and (min-width:960px) {
	.modal-countrysearch .modal-content{
		padding: 40px 32px;
	}
	.modal-countrysearch .modal-close{
		right: 32px;
		top: 16px;
	}	
	
	.modal-countrysearch__block{
		margin-top: 24px;
	}
	.modal-countrysearch__link{
		font-size: 1.7rem;
	}
	.modal-countrysearch__link:hover{
		opacity: .6;
	}
}

/* PROFILE BLOCK
------------------------------------------------------*/
.profile-block{
	display: flex;
	justify-content: space-between;
	flex-direction: column-reverse;
	gap: 16px;
}
.profile-block__bd-txt{
	line-height: 1.7;
}
@media print, screen and (min-width:960px) {
	.profile-block{
		flex-direction: row-reverse;
		gap: 32px;
	}
	.profile-block__bd{
		flex: 1;
	}
	.profile-block__img{
		width: 100%;
		max-width: 415px;
	}
}

/* TOUR
------------------------------------------------------*/
.product{
	padding: 24px 15px;
	background: #ECF9FF;
}
.opttour-slidewrap{
	position: relative;
}
.opttour-slidewrap .swiper-button-prev.-cassette{
	left: 0;
	transform: translateX(-50%);
}
.opttour-slidewrap .swiper-button-next.-cassette{
	right: 0;
	transform: translateX(50%);
}
.product .btn-more{
	border-radius: 50vw;
	background: #fff;
}
.opt ~ .tour{
	margin-top: 48px;
}
.tour-area{
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.tour-area__item.-bt{
	border-radius: 8px;
	background: #fff;
}
.tour-area__item-link{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 4px calc(2.8rem + 8px) 4px 8px;
	min-height: 48px;
	color: #3498DB!important;
	font-size: 1.9rem;
	font-weight: bold;
	transition: opacity .3s ease-out;
}
.tour-area__item-link.-bt{
    z-index: 0;
    overflow: hidden;
	border-radius: 8px;
    background: transparent -o-linear-gradient(338deg,#3498db 0,#52c8ff 100%) 0 0 no-repeat padding-box;
    background: transparent linear-gradient(112deg, #3498db, #52c8ff) 0 0 no-repeat padding-box;
}
.tour-area__item-link.-bt::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 110%;
	height: 230px;
	margin-top: -115px;
	margin-left: -55%;
	transform: scale(0);
	border-radius: 100%;
	background: #9fe1ff;
	content: "";
	animation: ripple 1s ease-out;
	visibility: hidden;
}
.tour-area__item-link.-bt::after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    z-index: -2;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    margin: 3px;
	border-radius: 6px;
    background: #fff;
}
.tour-area__item-link .m-ico{
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2.8rem;
}
.tour-list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	margin-top: 24px;
}
.tour-list__item{
	background: #fff;
	border-radius: 8px;
}
.tour-list__item-link{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 4px 8px;
	min-height: 56px;
	border-radius: 8px;
	border: solid 1px #BCBDC2;
	background: #fff;
	transition: opacity .3s ease-out;
}
.tour-list__item-link.is-disabled{
	pointer-events: none;
	color: #BCBDC2;
	background: #E4E5E7;
}
.tour-list__item-txt{
	text-align: center;
	line-height: 1.3;
	font-weight: 500;
}
.tour-list__item-txt span{
	font-weight: 500;
}
.tour-list__item-link .m-ico{
	margin-top: -2px;
}
@media print, screen and (min-width:960px) {
	.product{
		padding: 24px 32px;
	}
	.tour-area{
		flex-direction: row;
		flex-wrap: wrap;
	}
	.tour-area__item{
		min-width: 345px;
	}
	.tour-list{
		grid-template-columns: repeat(4, 1fr);
	}
	.tour-list__item-link:hover,
	.tour-area__item-link:hover{
		opacity: .6;
	}
}

/* CITY FMENU
------------------------------------------------------*/
.city-fmenu__item:not(:first-child){
	margin-top: 24px;
}
.city-fmenu__dt{
	font-size: 1.6rem;
	font-weight: 500;
}
.city-fmenu__dd{
	margin-top: 16px;
}
.city-fmenu-list{
	display: flex;
	flex-wrap: wrap;
	gap: 16px 32px;
}
.city-fmenu-list__item-link{
	color: #3498DB!important;
	font-size: 1.4rem;
	transition: opacity .3s ease-out;
}
.city-fmenu__top{
	margin-top: 50px;
}
.city-fmenu__top-link{
	display: inline-flex;
	align-items: center;
	font-size: 1.9rem;
	font-weight: bold;
}
.city-fmenu__top-link .m-ico{
	font-size: 2.8rem;
}
@media print, screen and (min-width:960px) {
	.city-fmenu__dt{
		font-size: 1.9rem;
	}
	.city-fmenu-list__item-link{
		font-size: 1.9rem;
	}
	.city-fmenu-list__item-link:hover{
		opacity: .6;
	}
}

/* HISTORY HOTEL
------------------------------------------------------*/
.history-htl__ttl{
	display: inline-flex;
	align-items: center;
	font-size: 1.9rem;
	font-weight: 500;
}
.history-htl__ttl .m-ico{
	color: #989BA1;
}
.history-htl-list{
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 16px;
}
.history-htl-list__item{
	position: relative;
	line-height: 1.5;
}
.history-htl-list__item-link{
	color: #3498DB!important;
	font-size: 1.4rem;
	transition: opacity .3s ease-out;
}
@media print, screen and (min-width:960px) {
	.history-htl-list{
		gap: 16px 40px; 
	}
	.history-htl-list__item-link{
		font-size: 1.9rem;
	}
	.history-htl-list__item-link:hover{
		opacity: .6;
	}
}

/* TEMPERATURE TABLE
------------------------------------------------------*/
.temperature-table{
	table-layout: fixed;
	width: 100%;
	font-size: 1.4rem;
}
.temperature-table th,
.temperature-table td{
	padding: 4px 0;
	text-align: center;
	border: solid 1px #BCBDC2;
}
.temperature-table thead th{
	font-weight: 500;
	color: #fff;
	background: #767676;
}
.temperature-table thead th:first-child{
	width: 15%;
}
.temperature-table tbody th{
	text-align: center;
	font-weight: 500;
	background: #f3f3f3;
}
.temperature-table tbody td{
	background: #fff;
}
.temperature-table__month{
	font-size: 1.3rem;
	font-weight: 500;
}
.temperature-kome{
	display: flex;
	justify-content: flex-end;
	margin-top: 8px;
	line-height: 1.5;
	font-size: 1.2rem;
}
.temperature-kome::before{
	content: "\203B";
	margin-right: 4px;
}
@media print, screen and (min-width:960px) {
	.temperature-table{
		font-size: 100%;
	}
	.temperature-table thead th{
		padding: 16px 0;
	}
	.temperature-table__month{
		font-size: 1.5rem;
	}
}

/*  AREA / TRIP CATEGORY
------------------------------------------------------*/
.detail-area{
	margin: 8px 15px 0;
	font-size: 1.4rem;
}
.detail-area__link{
	display: inline-flex;
	align-items: center;
	color: #3498DB!important;
	font-weight: 500;
	transition: opacity .3s ease-out;
}
.detail-area__ico{
	font-size: 1.8rem;
}
.detail-categories{
	margin: 8px 15px 0;
}
.detail-category{
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	line-height: 1.3;
	padding-left: calc(1.8rem + 4px);
	font-size: 1.3rem;
}
.detail-category__ico{
	font-size: 1.8rem;
}
.detail-category__ico:first-of-type{
	position: absolute;
	left: 0;
	top: 0;
}
.detail-profile{
	margin: 16px 15px 0;
}
@media print, screen and (min-width: 960px) {
	.detail-area{
		font-size: 1.6rem;
	}
	.detail-area__link:hover{
		opacity: .6;
	}
	.detail-category{
		padding-left: calc(2.4rem + 4px);
	}
	.detail-area__ico{
		font-size: 2.4rem;
	}
	.detail-categories{
		display: flex;
		gap: 24px;
	}
}
@media print, screen and (min-width: 1312px) {
	.detail-area{
		margin: 8px 0 0;
		font-size: 1.6rem;
	}
	.detail-categories{
		margin: 8px 0 0;
	}
	.detail-profile{
		margin: 16px 0 0;
	}
}

/* SEARCH SORT
-----------------------------------------------------------*/
.search-sort{
	margin: 24px 15px 0;
	padding: 8px 16px;
	background: #F8F9F9; 
}
.search-sort__bt{
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	padding: 8px 15px;
	line-height: 1;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 500;
	border-radius: 50vw;
	box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2);
	background: #323743;
	transition: opacity .3s ease-out;
}
.search-sort__bt-countnum{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin-left: 4px;
	width: 1.6rem;
	height: 1.6rem;
	color: #323743;
	font-size: 1.3rem;
	border-radius: 50vw;
	background: #fff;
	letter-spacing: 0;
}
.search-sort__bt-countnum[aria-hidden="true"]{
	display: none;
}
.search-sortstatus{
	margin: 24px 16px 0;
}
.searchResult + .search-sortstatus{
	margin-top: 64px;
}
.search-sortstatus__countnum{
	font-size: 2.1rem;
	font-weight: bold;
	font-family: "Noto Sans JP", sans-serif;
}
.search-sort__result{
	margin-top: 16px;
	color: #656972;
	font-size: 1.2rem;
	line-height: 1.5;
}
.search-sort__item{
	display: flex;
}
.search-sort__item:not(:first-child){
	margin-top: 4px;
}
.search-sort__title{
	position: relative;
	width: 6em;
	font-weight: bold;
}
.search-sort__title::after{
	position: absolute;
	right: 0;
	content: "\FF1A";
}
.search-sort__content{
	flex: 1;
	margin-left: 8px;
}
.search-sort__tags{
	display: flex;
	flex-wrap: wrap;
}
.search-sort__tag{
	margin-right: 4px;
}
.search-sort__tag:not(:last-child)::after{
	margin-left: 4px;
	content: "/";
}
@media print, screen and (min-width:960px) {
	.search-sort__bt:hover{
		opacity: .6;
	}
	.searchResult + .search-sortstatus{
		margin-top: 40px;
	}
	.search-sort__result{
		font-size: 1.4rem;
	}
	.search-sort__item:not(:first-child){
		margin-top: 6px;
	}
}
@media print, screen and (min-width: 1312px) {
	.search-sort{
		margin: 24px 0 0;
	}
	.search-sortstatus{
		margin: 24px 0 0;
	}
}

/* SEARCH CASSETTE
-----------------------------------------------------------*/
.search-cassette{
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 24px 15px 0;
}
.search-cassette__item-link{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 8px;
	height: 100%;
	border-radius: 8px;
	border: 1px solid #BCBDC2;
	box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.25);
	background: #fff;
	transition: opacity .3s ease-out;
}
.search-cassette__item.-spotmark .search-cassette__item-link{
	background: #ECF9FF;
}
.search-cassette__item-ttlblock{
	display: flex;
	flex-direction: column;
	width: 100%;
}
.search-cassette__item-mark{
	order: -1;
}
.search-cassette__item-mark-txt{
	position: relative;
	display: inline-flex;
	align-items: center;
	margin-bottom: 8px;
	padding: 8px 16px 8px 8px;
	color: #fff;
	font-size: 1.1rem;
	font-weight: bold;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 124 28'><path fill='%23E18D52' d='M115.5,14c0,.9.8,1.6.8,1.6l6.3,7s1.4,1.3,1.4,2.8-1.1,2.6-2.6,2.6H2.7c-1.5,0-2.7-1.2-2.7-2.7V2.7C0,1.2,1.2,0,2.7,0h118.6c1.5,0,2.6,1.1,2.6,2.6s-1.4,2.8-1.4,2.8l-6.3,7s-.8.8-.8,1.6Z'/></svg>") no-repeat center / contain;

}
.search-cassette__item-ttl{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-word;
	max-height: calc(1.5em * 2 - 2px);
    min-height: calc(1.5em * 2 - 2px);
	
	line-height: 1.5;
	color: #3498DB;
	font-size: 1.8rem;
	font-weight: bold;
}
.search-cassette__item-places{
	margin-top: auto;
	padding-top: 8px;
}
.search-cassette__item-imgblock{
	width: 37%;
}
.search-cassette__item-img{
    aspect-ratio: 4 / 3;
    position: relative;
    overflow: hidden;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;	
}
.search-cassette__item-img img {
	object-fit: cover;
	object-position: 50% 50%;	
	width: auto;
	height: 100%;
	border-radius: 8px;
    transition: opacity .4s ease-out, transform .4s ease-out;
}
.search-cassette__item-place{
	display: flex;
	align-items: center;
	font-size: 1.3rem;
}
.search-cassette__item-place:not(:first-child){
	margin-top: 4px;
}
.search-cassette__item-place .m-ico{
	color: #656972;
	font-size: 2.0rem;
}

.search-cassette__item-txtblock{
	flex: 1;
}
.search-cassette__item-txt{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-word;
	max-height: calc(1.5em * 4 - 2px);
    min-height: calc(1.5em * 4 - 2px);
	line-height: 1.5;
	font-size: 1.4rem;
}
@media print, screen and (min-width:960px) {
	.search-cassette.-detail{
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
	}
	.search-cassette__item{
		width: calc(100% / 3 - 10.7px);
	}
	.search-cassette.-result .search-cassette__item{
		width: 100%;
	}
	.search-cassette__item-link{
		padding: 16px;
		gap: 16px;
	}
	
	.search-cassette.-result .search-cassette__item-link {
		display: grid;
		grid-template-areas:
			"img ttl"
			"img txt";
		grid-template-columns: 308px 1fr;
		grid-template-rows: auto 1fr;
		gap: 16px;
		align-items: start;
	}
	.search-cassette.-result .search-cassette__item-ttlblock { grid-area: ttl; align-self: start; }
	.search-cassette.-result .search-cassette__item-imgblock { grid-area: img; margin-top:0; }
	.search-cassette.-result .search-cassette__item-txtblock { grid-area: txt; align-self: start; }
	
	.search-cassette.-result .search-cassette__item-ttl,
	.search-cassette.-result .search-cassette__item-txt{
		display: block;
		-webkit-box-orient: initial;
		-webkit-line-clamp: unset;
		overflow: visible;
		text-overflow: clip;
		word-break: normal;
		max-height: none;
		min-height: auto;
	}	
	.search-cassette.-result .search-cassette__item-places{
		margin-top: 0;
	}
	.search-cassette__item-link:hover{
		opacity: .6;
	}	
	.search-cassette__item-ttlblock{
		display: flex;
		flex-direction: column;
	}
	.search-cassette__item-mark-txt{
		font-size: 1.2rem;
	}
	.search-cassette__item-ttl{
		font-size: 2.1rem;
	}
	.search-cassette__item-imgblock{
		width: 100%;
	}
	.search-cassette__item-link:hover .search-cassette__item-img img{
		transform: scale(1.1);
	}
	.search-cassette__item-txt{
		-webkit-line-clamp: 5;
		max-height: calc(1.5em * 5 - 2px);
		min-height: calc(1.5em * 5 - 2px);		
		font-size: 1.6rem;
	}
}
@media print, screen and (min-width: 1312px) {
	.search-cassette{
		margin: 24px 0 0;
	}
	.search-cassette.-result{
		margin: 24px 0 0;
	}
}

/* SEARCH PANEL MODAL
-----------------------------------------------------------*/
.searchPanel-keyword{
	max-width: 600px;
	width: 100%;
}
.searchPanel__bt{
	width: 227px;
}
@media print, screen and (min-width:960px) {
	.searchPanel__bt{
		width: 154px;
	}
}

/* SEARCH RESULT
-----------------------------------------------------------*/
.searchResult{
	margin: 16px 15px 0;
}
.searchResult__block{
	display: flex;
	flex-direction: column;
}
.searchResult__more-bt{
	color: #3498DB;
}

@media screen and (max-width:959px) {
	.searchResult__box:not(:first-child){
		margin-top: 24px;
	}
	.searchResult__bt{
		margin-top: 24px;
	}
	.searchResult__areasort{
		margin-top: 16px;
	}
	.searchResult__more-bt{
		font-size: 1.4rem;
	}
}
@media print, screen and (min-width:960px) {
	.searchResult__block{
		flex-wrap: wrap;
		flex-direction: row;
		align-items: flex-end;
		gap: 24px;
	}
	.searchResult__box{
		width: 35%;
	}
	.searchResult__bt{
		flex: 1;
	}
	.searchResult__areasort{
		order: 1;
		width: 100%;
	}
}
@media print, screen and (min-width: 1312px) {
	.searchResult{
		margin: 16px 0 0;
	}
}

/* SUGGESTION
-----------------------------------------------------------*/
.suggestion__block{
	position: relative;
}
.suggestion__pulldown{
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 10;
	padding: 16px 0;
	width: 100%;
	border-radius: 0 0 8px 8px;
	background: #fff;
	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2);
}
.suggestion__pulldown.-scroll{
	max-height: 488px;
	overflow-y: auto;
}
.suggestion__pulldown.-scroll::-webkit-scrollbar {
	background: #ccc;
	width: 6px;
}
.suggestion__pulldown.-scroll::-webkit-scrollbar-thumb {
	border-radius: 50vw;
	background: #aaa;
}
.suggestion__item{
	cursor: pointer;
	padding: 3px 12px;
	line-height: 1.5;
	transition: background .3s ease-out;
}
.suggestion__item:not(:first-child){
	margin-top: 8px;
}
.suggestion__pulldown-block{
	margin: 0 15px;
}
.suggestion__pulldown-box:not(:first-child){
	margin-top: 16px;
}
.suggestion__pulldown-hd{
	padding: 4px 12px;
	line-height: 1.5;
	font-weight: 500;
	background: #E4E5E7;
}
.suggestion__pulldown-bd{
	margin-top: 8px;
}
@media print, screen and (min-width:960px) {
	.suggestion__item:hover{
		background: #F8F9F9;
	}
	
	.searchPanel__footer{
		justify-content: flex-end;
	}
	.searchPanel__status-count{
		font-size: 2.4rem;
	}
}

/* AREA SORT
-----------------------------------------------------------*/
.areasort{
	margin-top: 32px;
}
.areasort__ttl{
	display: flex;
	align-items: center;
	font-size: 1.6rem;
	font-weight: 500;
}
.areasort__bts{
	display: flex;
	flex-wrap: wrap;
	gap: 16px 8px;
	margin-top: 16px;
}
.areasort__bt .checkbox__label{
	transition: opacity .3s ease-out;
}

@media print, screen and (min-width:960px) {
	.suggestion__item:hover{
		background: #F8F9F9;
	}
	.areasort__bts{
		gap: 20px 8px;
	}
	.areasort__bt .checkbox__input:not(:checked) + .checkbox__label:hover{
		opacity: .6;
	}
}

/* SEARCH PANEL / COUNT
-----------------------------------------------------------*/
.searchPanel__footer{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}
.searchPanel__status-count{
	font-size: 1.8rem;
	font-weight: bold;
    font-family: "Noto Sans JP", sans-serif;
}
@media print, screen and (min-width:960px) {
	.searchPanel__footer{
		justify-content: flex-end;
	}
	.searchPanel__status-count{
		font-size: 2.4rem;
	}
}

/* SEARCH BT
-----------------------------------------------------------*/
.search__bt{
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 48px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	border-radius: 8px;
	background: linear-gradient(135deg, #CC0000 0%, #EC64A9 100%);
	box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.3);
	transition: opacity .3s ease-out;
}
.search__bt:disabled{
	pointer-events: none;
	color: #989BA1;
	background: #E4E5E7;
}
@media print, screen and (min-width:960px) {
	.search__bt{
		min-height: 48px;
		font-size: 1.9rem;
	}
	.search__bt:hover{
		opacity: .6;
	}
}

/* GALLERY
-----------------------------------------------------------*/
#galleryPanel{
	max-width: 1440px;
	margin-top: 32px;
	height: calc(100% - 32px);
	border-radius: 8px 8px 0 0;
}
#galleryPanel .modal-content{
	padding: 16px 15px;
}
#galleryPanel .modal-close{
	right: 8px;
	top: 8px;
	z-index: 1;
	transform: translateY(0);
}
#galleryPanel .modal-header_ttl{
	text-align: left;
}
.imgslider.-gallery-detail{
	border-radius: 0;
}
.modal-gallerylist{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin-top: 16px;
}
.gallery-overlay{
	opacity: 0;
	visibility: hidden;
	z-index: 1100;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(50, 55, 67, 0.95);
	transition: opacity .3s ease-out, visibility .2s ease-out
}
.gallery-overlay.is-visible {
	opacity: 1;
	visibility: visible
}
.galleryModal{
	display: none;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1101;
	padding: 0 15px;
	width: 100%;
	max-width: 900px;
	max-height: calc(100vh - 80px);
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease-out, visibility .2s ease-out;
}
.galleryModal.is-small{
	max-width: 500px;
}
.galleryModal[aria-hidden="false"] {
	display: block;
}
.galleryModal.is-visible{
	opacity: 1;
	visibility: visible;
}
.galleryModal-close{
	position: absolute;
	right: 16px;
	bottom: calc(100% + 16px);
	color: #fff;
	font-size: 1.4rem;
	cursor: pointer;
	transition: opacity 0.4s ease-out;
}
.galleryModal-content{
	position: relative;
}
.galleryModal__img{
    aspect-ratio: 4 / 3;
    overflow: hidden;
}
.galleryModal__img img{
	object-fit: contain;
    object-position: center top;
    width: 100%;
    height: 100%;
    margin: 0;	
}
.galleryModal__txt{
	margin-top: 8px!important;
	color: #fff;
	line-height: 1.5;
	font-size: 1.4rem!important;
}
.galleryModal-content .swiper-button-prev{
	transition: opacity .3s ease-out;
}
.galleryModal-content .swiper-button-next{
	transition: opacity .3s ease-out;
}
@media screen and (max-width:959px) {
	.galleryModal-content .swiper-button-prev{
		left: 0;
		top: calc(100vw / 3);
	}
	.galleryModal-content .swiper-button-next{
		right: 0;
		top: calc(100vw / 3);
	}
}
@media print, screen and (min-width:960px) {
	#galleryPanel{
		margin-top: 0;
		height: 100%;
		border-radius: 0;
	}
	#galleryPanel .modal-content{
	}
	#galleryPanel .modal-close{
		right: 32px;
		top: 16px;
	}
	.modal-gallerylist{
		grid-template-columns: repeat(5, 1fr);
		gap: 24px;
		margin-top: 32px;
	}
	.galleryModal{
		padding: 0;
	}
	.galleryModal-close{
		right: inherit;
		left: calc(100% + 16px);
	}
	.galleryModal-close:hover,
	.galleryModal-content .swiper-button-prev:hover,
	.galleryModal-content .swiper-button-next:hover{
		opacity: .6;
	}

	.galleryModal__txt{
		margin-top: 16px!important;
		font-size: 1.6rem!important;
		text-align: left!important;
	}
	.galleryModal-content .swiper-button-prev, .galleryModal-content .swiper-button-next{
		top: 315px;
		margin-top: 0;
	}
	.galleryModal.is-small .galleryModal-content .swiper-button-prev, .galleryModal.is-small .galleryModal-content .swiper-button-next{
		top: 165px;
	}
	.galleryModal-content .swiper-button-prev::after{
		margin-left: 16px;
		font-size: 4.0rem;
	}
	.galleryModal-content .swiper-button-next::after{
		margin-right: 16px;
		font-size: 4.0rem;
	}
}

/* MAP
-----------------------------------------------------------*/
#mapPanel{
	max-width: inherit;
	max-height: inherit;
	margin-top: 32px;
	height: calc(100% - 32px);
	border-radius: 8px 8px 0 0;
}
#mapPanel .modal-close{
	right: 16px;
	top: 16px;
	z-index: 1;
	display: inline-block;
	justify-content: center;
	align-items: center;
	width: 3.2rem;
	height: 3.2rem;
	line-height: 1;
	border-radius: 50vw;
	background: #fff;
	transform: translateY(0);
}
#mapPanel .modal-close .m-ico{
	position: relative;
	top: -1px;
}

.access-map{
	cursor: pointer;
	position: relative;
    padding-top: 195px;
    height: 0;
	border-radius: 8px;
    overflow: hidden;
	transition: opacity .3s ease-out;
}
.access-map::after{
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
}
.modal-map{
	height: 100%;
}
.access-map iframe{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.modal-map iframe{
	width: 100%;
	height: 100%;
}
.access-map__bt{
	position: absolute;
	left: 50%;
	bottom: 16px;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4px 20px;
	color: #3498DB;
	font-weight: 500;
	border-radius: 50vw;
	border: 2px solid #3498DB;
	background: #fff;
	white-space: nowrap;
}

@media print, screen and (min-width:960px) {
	#mapPanel{
		margin-top: 0;
		height: 100%;		
		max-width: calc(100% - 160px);
		max-height: calc(100vh - 160px);
		border-radius: 0;
	}
	#mapPanel .modal-close{
		right: 32px;
		top: 16px;
	}
	.access-map{
		height: 280px;
	}
	.access-map:hover{
		opacity: .6;
	}
}

/*  JAVASCRIPT
============================================================================= */
/* SWIPER
------------------------------------------------------*/
.swiper{
	visibility: hidden;
}
.swiper-wrapper{
	padding: 1px 0 2px;
}
.swiper.swiper-initialized{
	visibility: visible;
}
.report-slider,
.cityranking-slider,
.opttour-slider{
	margin: 0 -15px;
	padding: 0 15px;
}
.swiper-slide,
.swiper-slide * {
    user-select: none;
}
.imgslider{
	border-radius: 8px;
}
.imgslider .swiper-button-prev{
	left: 4px;
	text-shadow: 0 1px 3px rgb(0 0 0 / 60%);
}
.imgslider .swiper-button-next{
	right: 4px;
	text-shadow: 0 1px 3px rgb(0 0 0 / 60%);
}
.swiper-button-prev::after, .swiper-button-next::after{
	font-family: 'Material Icons Round';
    color: #fff;
	font-size: 2.4rem;
}
.swiper-button-prev::after{
	content: "\e2ea";
}
.swiper-button-next::after{
	content: "\e5e1";
}
.swiper-button-prev.-cassette, .swiper-button-next.-cassette{
	display: flex;
	justify-content: center;
	align-items: center;
	transform: translateY(-15px);
	width: 4.8rem;
	height: 4.8rem;
	border-radius: 50vw;
	background: rgba(255, 255, 255, 0.8);
	box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2);
	transition: background .3s ease-out;
}
.swiper-button-prev.-cassette::after, .swiper-button-next.-cassette::after{
	font-family: 'Material Icons Round';
    color: #3498DB;
	font-size: 2.0rem;
}
.swiper-button-prev.-cassette.swiper-button-disabled, .swiper-button-next.-cassette.swiper-button-disabled{
	opacity: 0;
}
@media screen and (max-width:959px){
	.swiper-button-prev.-cassette, .swiper-button-next.-cassette{
		display: none;
	}
}
@media print, screen and (min-width: 960px) {
	.swiper-button-prev.-cassette:hover, .swiper-button-next.-cassette:hover{
		background: rgba(255, 255, 255, 1);
	}
}
.swiper-counter{
	position: absolute;
	right: 16px;
	top: 16px;
	z-index: 2;
	color: #fff;
	font-size: 1.2rem;
	border-radius: 50vw;
	background: #fff;
}
.swiper-counter__num{
	display: inline-block;
	padding: 2px;
	min-width: 35px;
	text-align: center;
	border-radius: 50vw;
	background-color: rgba(0, 0, 0, 0.5);
}
.swiper-counter__bt{
	display: inline-flex;
	align-items: center;
	padding: 4px 8px;
	color: #fff;
	border-radius: 50vw;
	background-color: rgba(0, 0, 0, 0.5);
}
.imgslider.-gallery .swiper-counter__bt{
	cursor: pointer;
	transition: opacity .3s ease-out;
}
@media print, screen and (min-width:960px) {
	.imgslider.-gallery .swiper-counter__bt:hover{
		opacity: .6;
	}
}

/* tourslider */
.swiper .swiper-scrollbar{
	position: inherit;
	left: 0;
	bottom: inherit;
	margin-top: 16px;
	width: 100%;
}
.swiper .swiper-scrollbar-drag{
	background: #989BA1;
}

@media print, screen and (min-width:960px) {
	.report-slider,
	.cityranking-slider{
		margin: 0 -24px;
		padding: 0 24px;
	}
	.opttour-slider{
		margin: 0;
		padding: 0;
	}
	.swiper .swiper-scrollbar{
		margin-top: 24px;
	}
}

/* IMG SLIDER
------------------------------------------------------*/
.imgslider__item-img{
	order: -1;
	aspect-ratio: 4 / 3;
    overflow: hidden;
	border-radius: 8px;
}
.imgslider__item-img img {
	border-radius: 10px;
}
.imgslider__item-txt{
	display: none;
}
.imgslider-caption{
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    max-height: calc(1.5em * 2);
    min-height: calc(1.5em * 2);
	margin-top: 8px;
	line-height: 1.5;
	text-align: center;
	font-size: 1.4rem;
}
@media print, screen and (min-width:960px) {
	.imgslider-caption{
		margin-top: 0;
	}
}

/* MORE CASSETTE SP ONLY
------------------------------------------------------*/
@media (max-width: 959px) {
	.js-morebt-sp{
		overflow: hidden;
	}
	.more-bt {
		text-align: center;
		margin-top: 16px;
	}
	.more-bt button {
		cursor: pointer;
		display: inline-flex;
		align-items: center;
		color: #3498DB;
		line-height: 1;
		font-size: 1.7rem;
		font-weight: bold;
	}
}

/* MORE TXT SP ONLY
------------------------------------------------------*/
@media (max-width: 959px) {
	.js-more-txt-sp {
		display: -webkit-box;
		-webkit-line-clamp: 8;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.more-txt-bt {
		text-align: center;
		margin-top: 8px;
	}
	.more-txt-bt button {
		display: none;
		cursor: pointer;
		color: #3498DB;
		font-size: 1.7rem;
		font-weight: 500;
	}
	.more-txt-bt button.is-visible {
		display: inline-flex;
	}
}

/* ACC -------------------------- */
.js-sort-acc{
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	transition: opacity .3s ease-out;
}
.js-sort-acc .m-ico{
	    transition: transform .3s ease-out;
}
.js-sort-acc[aria-expanded="true"] .m-ico{
	transform: rotate(180deg);
}
@media print, screen and (min-width:960px) {
	.js-sort-acc:hover{
		opacity: .6;
	}
}

/* MODAL -------------------------- */
@media screen and (max-width:959px) {
	body.modal-lock {
		height: var(--viewport-height, 100%);
		overflow: hidden;
		box-sizing: border-box;
		position: fixed;
		width: 100%;
		left: 0
	}
}
@media print, screen and (min-width:960px) {
	body.modal-lock {
		position: fixed;
		width: 100%;
		height: 100%;
		left: 0;
		overflow-y: scroll;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale
	}
}
.modal {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1002;
	width: 100%;
	overflow: hidden;
	background: #fff;
}
.modal[aria-hidden="false"] {
	display: block;
}
.modal-overlay {
	opacity: 0;
	visibility: hidden;
	z-index: 1001;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .6);
}
.modal-overlay.is-visible {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s ease-out 0.2s, visibility 0.2s ease-out 0.2s;
}
.modal-close {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: #323743;
	font-size: 2.5rem;
	cursor: pointer;
	transition: opacity 0.4s ease;
}
.modal-close:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(255, 255, 255, .25)
}
.modal-close .m-ico {
	margin: 0
}
.modal-clear{
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: #3498DB;
	font-size: 1.4rem;
	cursor: pointer;
	transition: opacity 0.4s ease-out;
}
.modal-block {
	display: flex;
	flex-direction: column;
	height: 100%
}
.modal-header {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	padding: 0 64px;
	min-height: 55px;
	box-shadow: 0 1px 3px rgb(0 0 0 / 30%);
	background-color: #fff
}
.modal-header_ttl {
	flex-grow: 1;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3
}
.modal-header_ttl span {
	font-weight: 700
}
.modal-header_ttl .reg {
	top: 0;
	font-size: 1em
}
.header_ttlBr {
	display: inline-block
}
.modal-content {
	flex: 1;
	padding: 40px 15px;
	overflow-y: auto
}
.modal-content::-webkit-scrollbar {
	background: #ccc;
	width: 3px;
	border-radius: 50vw
}
.modal-content::-webkit-scrollbar-thumb {
	border-radius: 50vw;
	background: #aaa;
}
.modal-footer{
	padding: 16px;
	box-shadow: 0px 1px 3px 0px #00000040;
}
@media screen and (max-width:959px) {
	.modal-wrap {
		height: 100%;
	}
	.modal {
		width: 100%;
		height: 100%;
		transform: translateY(100%);
		transition: transform .3s ease-out;
	}
	.modal.is-visible{
		transform: translateY(0);
	}
}
@media print, screen and (min-width:960px) {
	.modal-wrap{
		max-height: calc(100vh - 80px);
	}
	.modal {
		opacity: 0;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		max-width: 1064px;
		max-height: calc(100vh - 80px);
		border-radius: 16px;
		visibility: hidden;
		transition: opacity .3s ease-out, visibility .2s ease-out;
	}
	.modal.is-visible{
		opacity: 1;
		visibility: visible;
	}
	.modal-block {
		max-height: calc(100vh - 80px);
	}
	.modal-close:hover,
	.modal-clear:hover{
		opacity: .6;
	}
	.modal-overlay {
		transition: opacity .3s ease-out, visibility .2s ease-out;
	}
	.modal-header {
		height: 60px
	}
	.modal-header_ttl {
		font-size: 2rem
	}
	.modal-content {
		flex: 1;
		padding: 40px 15px;
		min-height: 500px;
	}
	.modal-content::-webkit-scrollbar {
		width: 8px
	}
	.modal-close:hover {
		opacity: .6
	}
	.modal-footer{
		padding: 8px 16px;
	}
}

/* TOP - FOOTER NAV
------------------------------------------------------*/
@media print, screen and (max-width:959px) {
	.js-accordion-title{
		position: relative;
		padding: 15px 25px 15px 15px;
		cursor: pointer;
	}
	.js-accordion-title:focus{
		background: #edf2f8;
	}
	.js-accordion-title:after{
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
		display: block;
		font-size: 2.4rem;
		color: #98A6B5;

		font-family: 'Material Icons Round';
		content: "\e313";
		text-decoration: none;
		speak: none;
		font-style: normal;
		font-weight: normal;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		vertical-align: middle;
	}
	.js-accordion-title.js-open:after{
		content: "\e316";
	}
}
