@charset "utf-8";

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,p,blockquote,th,td,main,figure{margin:0;padding:0}table{font-size:100%;font-family:inherit}fieldset,img{border:0}img,svg{vertical-align:middle}address,caption,cite,code,dfn,em,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%}q:before,q:after{content:''}abbr,acronym{border:0}select,input,textarea{font-size:100%}header,footer,nav,main,section,article,figure,aside,picture{display:block}.clearfix:after,.row:after{content:"";display:table;clear:both}.fl{float:left}.fr{float:right}@media screen and (min-width: 768px),print{.pc_fl{float:left}.pc_fr{float:right}}@media screen and (max-width: 767px){.sp_fl{float:left}.sp_fr{float:right}}.tal{text-align:left!important}.tac{text-align:center!important}.tar{text-align:right!important}@media screen and (min-width: 768px),print{.pc_tal{text-align:left!important}.pc_tac{text-align:center!important}.pc_tar{text-align:right!important}}@media screen and (max-width: 767px){.sp_tal{text-align:left!important}.sp_tac{text-align:center!important}.sp_tar{text-align:right!important}}.m00{margin:0!important}.mb00{margin-bottom:0!important}.mb05{margin-bottom:5px!important}.mb08{margin-bottom:8px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.mb20{margin-bottom:20px!important}.mb25{margin-bottom:25px!important}.mb30{margin-bottom:30px!important}.mb35{margin-bottom:35px!important}.mb40{margin-bottom:40px!important}.mb45{margin-bottom:45px!important}.mb50{margin-bottom:50px!important}.mt00{margin-top:0!important}.mt05{margin-top:5px!important}.mt08{margin-top:8px!important}.mt10{margin-top:10px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt25{margin-top:25px!important}.mt30{margin-top:30px!important}.mt35{margin-top:35px!important}.mt40{margin-top:40px!important}.mt45{margin-top:45px!important}.mt50{margin-top:50px!important}@media screen and (min-width: 768px),print{.pc_m00{margin:0!important}.pc_mb00{margin-bottom:0!important}.pc_mb05{margin-bottom:5px!important}.pc_mb08{margin-bottom:8px!important}.pc_mb10{margin-bottom:10px!important}.pc_mb15{margin-bottom:15px!important}.pc_mb20{margin-bottom:20px!important}.pc_mb25{margin-bottom:25px!important}.pc_mb30{margin-bottom:30px!important}.pc_mb35{margin-bottom:35px!important}.pc_mb40{margin-bottom:40px!important}.pc_mb45{margin-bottom:45px!important}.pc_mb50{margin-bottom:50px!important}.pc_mt00{margin-top:0!important}.pc_mt05{margin-top:5px!important}.pc_mt08{margin-top:8px!important}.pc_mt10{margin-top:10px!important}.pc_mt15{margin-top:15px!important}.pc_mt20{margin-top:20px!important}.pc_mt25{margin-top:25px!important}.pc_mt30{margin-top:30px!important}.pc_mt35{margin-top:35px!important}.pc_mt40{margin-top:40px!important}.pc_mt45{margin-top:45px!important}.pc_mt50{margin-top:50px!important}}@media screen and (max-width: 767px){.sp_m00{margin:0!important}.sp_mb00{margin-bottom:0!important}.sp_mb05{margin-bottom:5px!important}.sp_mb08{margin-bottom:8px!important}.sp_mb10{margin-bottom:10px!important}.sp_mb15{margin-bottom:15px!important}.sp_mb20{margin-bottom:20px!important}.sp_mb25{margin-bottom:25px!important}.sp_mb30{margin-bottom:30px!important}.sp_mb35{margin-bottom:35px!important}.sp_mb40{margin-bottom:40px!important}.sp_mb45{margin-bottom:45px!important}.sp_mb50{margin-bottom:50px!important}.sp_mt00{margin-top:0!important}.sp_mt05{margin-top:5px!important}.sp_mt08{margin-top:8px!important}.sp_mt10{margin-top:10px!important}.sp_mt15{margin-top:15px!important}.sp_mt20{margin-top:20px!important}.sp_mt25{margin-top:25px!important}.sp_mt30{margin-top:30px!important}.sp_mt35{margin-top:35px!important}.sp_mt40{margin-top:40px!important}.sp_mt45{margin-top:45px!important}.sp_mt50{margin-top:50px!important}}.p00{padding:0!important}.pb00{padding-bottom:0!important}.pb05{padding-bottom:5px!important}.pb08{padding-bottom:8px!important}.pb10{padding-bottom:10px!important}.pb15{padding-bottom:15px!important}.pb20{padding-bottom:20px!important}.pb25{padding-bottom:25px!important}.pb30{padding-bottom:30px!important}.pb35{padding-bottom:35px!important}.pb40{padding-bottom:40px!important}.pb45{padding-bottom:45px!important}.pb50{padding-bottom:50px!important}.pt00{padding-top:0!important}.pt05{padding-top:5px!important}.pt08{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt20{padding-top:20px!important}.pt25{padding-top:25px!important}.pt30{padding-top:30px!important}.pt35{padding-top:35px!important}.pt40{padding-top:40px!important}.pt45{padding-top:45px!important}.pt50{padding-top:50px!important}@media screen and (min-width: 768px),print{.pc_p00{padding:0!important}.pc_pb00{padding-bottom:0!important}.pc_pb05{padding-bottom:5px!important}.pc_pb08{padding-bottom:8px!important}.pc_pb10{padding-bottom:10px!important}.pc_pb15{padding-bottom:15px!important}.pc_pb20{padding-bottom:20px!important}.pc_pb25{padding-bottom:25px!important}.pc_pb30{padding-bottom:30px!important}.pc_pb35{padding-bottom:35px!important}.pc_pb40{padding-bottom:40px!important}.pc_pb45{padding-bottom:45px!important}.pc_pb50{padding-bottom:50px!important}.pc_pt00{padding-top:0!important}.pc_pt05{padding-top:5px!important}.pc_pt08{padding-top:8px!important}.pc_pt10{padding-top:10px!important}.pc_pt15{padding-top:15px!important}.pc_pt20{padding-top:20px!important}.pc_pt25{padding-top:25px!important}.pc_pt30{padding-top:30px!important}.pc_pt35{padding-top:35px!important}.pc_pt40{padding-top:40px!important}.pc_pt45{padding-top:45px!important}.pc_pt50{padding-top:50px!important}}@media screen and (max-width: 767px){.sp_p00{padding:0!important}.sp_pb00{padding-bottom:0!important}.sp_pb05{padding-bottom:5px!important}.sp_pb08{padding-bottom:8px!important}.sp_pb10{padding-bottom:10px!important}.sp_pb15{padding-bottom:15px!important}.sp_pb20{padding-bottom:20px!important}.sp_pb25{padding-bottom:25px!important}.sp_pb30{padding-bottom:30px!important}.sp_pb35{padding-bottom:35px!important}.sp_pb40{padding-bottom:40px!important}.sp_pb45{padding-bottom:45px!important}.sp_pb50{padding-bottom:50px!important}.sp_pt00{padding-top:0!important}.sp_pt05{padding-top:5px!important}.sp_pt08{padding-top:8px!important}.sp_pt10{padding-top:10px!important}.sp_pt15{padding-top:15px!important}.sp_pt20{padding-top:20px!important}.sp_pt25{padding-top:25px!important}.sp_pt30{padding-top:30px!important}.sp_pt35{padding-top:35px!important}.sp_pt40{padding-top:40px!important}.sp_pt45{padding-top:45px!important}.sp_pt50{padding-top:50px!important}}


/* ========================================================
	template.css => テンプレート用CSS
======================================================== */
html {
	font-size: 62.5%;
}
body {
	background-color: #fff;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.8;
	color: #000000;
	word-wrap: break-word;
	overflow-wrap: break-word;

	font-family: Overpass, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Verdana, Arial, sans-serif;
	font-weight: 300;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
h1,h2,h3,h4,h5,h6 {
	font-weight: 300;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.8;
}
a[href] {
	color: #000000;
	text-decoration: underline;
	outline: none;
}
a[href]:hover {
	text-decoration: none;
}
a[href].a_reverse,
.a_reverse a[href] {
	text-decoration: none;
}
@media screen and (min-width: 768px) {
	a[href].a_reverse:hover,
	.a_reverse a[href]:hover {
		text-decoration: underline;
	}
}

label {
	cursor: pointer;
}
input, select, textarea, button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	max-width: 100%;
	margin: 0;
	border-radius: 0;
	vertical-align: middle;
	font-family: inherit;
	outline: none;
	font-size: 100%;
}
::-webkit-input-placeholder {
	color: #ccc;
}
:-ms-input-placeholder {
	color: #ccc;
}
::-moz-placeholder {
	color: #ccc;
}
select::-ms-expand {
	display: none;
}

button {
	cursor: pointer;
}
iframe {
	max-width: 100%;
	vertical-align: middle;
}

.hidden {
	display: none;
}
.slick-slider * {
	outline: none;
}
@media screen and (min-width: 768px), print {
}
@media screen and (max-width: 767px) {
	img {
		max-width: 100%;
		height: auto;
	}
}


/* pc / sp
============================================================================================================ */
@media screen and (min-width: 768px), print {
	.sp {
		display: none !important;
	}
	.pc_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
	.pc_hidden {
		position: relative;
		overflow: hidden;
		display: block;
		height: 0;
	}
}
@media screen and (max-width: 767px) {
	.pc {
		display: none !important;
	}
	.sp_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
}
@media screen and (min-width: 371px) {
	.sps {
		display: none !important;
	}
}
@media screen and (max-width: 370px) {
	.sps_non {
		display: none !important;
	}
}

/* transition
============================================================================================================ */
@media screen and (min-width: 768px) {
	body.init a[href],
	body.init a[href]::before,
	body.init a[href]::after,
	body.init button,
	body.init button::before,
	body.init button::after,
	body.init .basic_trs,
	body.init .basic_trs::before,
	body.init .basic_trs::after,
	body.init .basic_trs *,
	body.init .basic_trs *::before,
	body.init .basic_trs *::after {
		transition: color 0.3s ease-in-out, background 0.3s ease-in-out, border 0.3s ease-in-out, opacity 0.3s ease-in-out;
	}
	body.init a svg {
		transition: fill 0.3s ease-in-out;
	}
}


/* font
============================================================================================================ */
.fsi {
	font-style: italic;
}
.fsn {
	font-style: normal;
}
.fw1 {
	font-weight: 100; /* Thin */
}
.fw2 {
	font-weight: 200; /* Extra-light */
}
.fw3 {
	font-weight: 300; /* Light */
}
.fw4 {
	font-weight: 400; /* Regular */
}
.fw6 {
	font-weight: 600; /* Semi-bold */
}


/* color
============================================================================================================ */
.c_explore,
a.c_explore {
	color: #67a3b7;
}
.c_explore svg,
svg.c_explore {
	fill: #67a3b7;
}
.c_experience,
a.c_experience {
	color: #ed817e;
}
.c_experience svg,
svg.c_experience {
	fill: #ed817e;
}
.c_eat,
a.c_eat {
	color: #e7a5b0;
}
.c_eat svg,
svg.c_eat {
	fill: #e7a5b0;
}
.c_buy,
a.c_buy {
	color: #e9c134;
}
.c_buy svg,
svg.c_buy {
	fill: #e9c134;
}


/* display
============================================================================================================ */
.db {
	display: block;
}
.dib {
	display: inline-block;
}

/* position
============================================================================================================ */
.pos-r {
	position: relative;
}

/* object-fit
============================================================================================================ */
img.of {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* hover
============================================================================================================ */
@media screen and (min-width: 768px), print {
	a.hv_wh,
	button.hv_wh,
	a .hv_wh,
	.hv_wh a {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		overflow: hidden;
	}
	a.hv_wh::after,
	button.hv_wh::after,
	a .hv_wh::after,
	.hv_wh a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background-color: rgba(255,255,255,0);
		z-index: 3;
	}
	body.init a.hv_wh::after,
	body.init button.hv_wh::after,
	body.init a .hv_wh::after,
	body.init .hv_wh a::after {
		transition: background 0.2s;
	}
	a[href].hv_wh:hover::after,
	button.hv_wh:hover::after,
	a[href]:hover .hv_wh::after,
	.hv_wh a[href]:hover::after {
		background-color: rgba(255,255,255,0.3);
	}
	a[href].hv_wh.a20:hover::after,
	button.hv_wh.a20:hover::after,
	a[href]:hover .hv_wh.a20::after,
	.hv_wh.a20 a[href]:hover::after {
		background-color: rgba(255,255,255,0.2);
	}
	a[href].hv_wh.a10:hover::after,
	button.hv_wh.a10:hover::after,
	a[href]:hover .hv_wh.a10::after,
	.hv_wh.a10 a[href]:hover::after {
		background-color: rgba(255,255,255,0.1);
	}

	body.init a[href] .hv_op {
		transition: opacity 0.2s;
	}
	a[href].hv_op:hover,
	a[href]:hover .hv_op,
	button.hv_op:hover,
	.hv_op a[href]:hover {
		opacity: 0.7;
	}
	a[href].hv_op.a20:hover,
	a[href]:hover .hv_op.a20,
	.hv_op.a20 a[href]:hover {
		opacity: 0.8;
	}
	a[href].hv_op.a10:hover,
	a[href]:hover .hv_op.a10,
	.hv_op.a10 a[href]:hover {
		opacity: 0.9;
	}
	a[href].hv_op.a50:hover,
	a[href]:hover .hv_op.a50,
	.hv_op.a50 a[href]:hover {
		opacity: 0.5;
	}
}

.hv_zoom {
	position: relative;
	display: block;
	overflow: hidden;
}
.hv_zoom > * {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: cover;
}
@media screen and (min-width: 768px), print {
	body.init a[href].hv_zoom > *,
	body.init a[href] .hv_zoom > * {
		transition: transform 0.6s, opacity .3s;
	}
	a[href]:hover .hv_zoom.s > * {
		transform: scale(1.03);
	}
	a[href]:hover.hv_zoom > *,
	a[href]:hover .hv_zoom > * {
		transform: scale(1.05);
	}
}


/* target
============================================================================================================ */
.target {
	display: block;
	position: relative;
	width: 1px;
	top: -60px;
}
.target.pt {
	top: -90px;
}
@media screen and (max-width: 767px) {
	.target {
		top: -60px;
	}
	.target.pt {
		top: -80px;
	}
}



/* w
============================================================================================================ */
.w {
	position: relative;
}
@media screen and (min-width: 768px), print {
	.w {
		max-width: 1100px;
		margin: 0 auto;
	}
	.mw {
		min-width: 1200px;
	}
	.xw {
		position: relative;
		max-width: 1380px;
		padding-left: 40px;
		padding-right: 40px;
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
}


/* spパディング
============================================================================================================ */
@media screen and (max-width: 767px) {
	.sp_pd {
		padding-left: 8vw !important;
		padding-right: 8vw !important;
	}
	.sp_full {
		margin-left: -8vw !important;
		margin-right: -8vw !important;
	}
	.sp_full_l {
		margin-left: -8vw !important;
	}
	.sp_full_r {
		margin-right: -8vw !important;
	}
}


/* header
============================================================================================================ */
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background-color: #fff;
	z-index: 1000;
}
@media print {
	#header {
		position: absolute;
	}
}
@media screen and (min-width: 768px), print {
	#header {
		transform: translate3d(0, 0, 0);
		display: flex;
		height: 100px;
		justify-content: space-between;
		align-items: center;
		padding: 0 30px 0 40px;
	}
	#header nav {
		padding-top: 50px;
	}
	#header nav > ul {
		display: flex;
		justify-content: flex-end;
	}
	#header nav ul a {
		position: relative;
		display: block;
		text-align: center;
		text-decoration: none;
		line-height: 1.5;
	}
	#header nav .gnav > li > a {
		overflow: hidden;
		display: flex;
		height: 50px;
		font-size: 1.6rem;
		justify-content: center;
		align-items: center;
		padding: 0 15px 10px;
		padding: 0 clamp(15px, calc((100vw - 1220px) * .05 + 15px), 25px) 10px;
		color: #000;
	}
	#header nav .gnav > li + li > a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 3px;
		height: 3px;
		background-color: #141414;
		border-radius: 3px;
		margin-top: -8px;
	}
	#header nav .gnav > li > a::after {
		content: "";
		position: absolute;
		right: 15px;
		left: 15px;
		bottom: 0;
		height: 4px;
		background: #ed817e;
		background: -moz-linear-gradient(left,  #ed817e 0%, #e9c134 100%);
		background: -webkit-linear-gradient(left,  #ed817e 0%,#e9c134 100%);
		background: linear-gradient(to right,  #ed817e 0%,#e9c134 100%);
		transform: scaleX(0);
		opacity: 0;
	}
	body.init #header nav .gnav > li > a::after {
		transition: transform .3s ease-in-out, opacity .3s ease-in-out;
	}
	#header nav .gnav > li:hover > a,
	#header nav .gnav > li > a.current {
		color: #ed817e;
	}
	#header nav .gnav > li:hover > a::after,
	#header nav .gnav > li > a.current::after {
		transform: scaleX(1);
		opacity: 1;
	}
	#header nav .cnav {
		position: absolute;
		top: 15px;
		right: 50px;
	}
	#header nav .cnav li + li a::before {
		content: "";
		position: absolute;
		top: 5px;
		bottom: 5px;
		left: 0;
		border-left: 1px solid #000;
		opacity: 0.5;
	}
	#header nav .cnav a {
		padding: 0 10px;
		font-size: 1.4rem;
	}
	#header nav .cnav a:hover {
		text-decoration: underline;
	}

	/* dd */
	#header nav .dd {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		background-color: rgba(13,13,13,.9);
	}
	#header nav .dd ul {
		display: flex;
		justify-content: space-between;
		width: 980px;
		margin: auto;
		padding: 40px 0;
	}
	#header nav .todo_gnav li {
		width: 220px;
		font-size: 2.2rem;
	}
	#header nav .itineraries_gnav li {
		width: 310px;
		font-size: 3.8rem;
	}
	#header nav .dd a {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 140px;
		background-color: #fff;
	}
	#header nav .dd a > * {
		position: relative;
		z-index: 3;
	}
	#header nav .todo_gnav a {
		padding-bottom: 20px;
	}
	#header nav .todo_gnav a svg {
		width: 60px;
		height: 60px;
	}
	#header nav .todo_gnav a .title {
		display: block;
		color: #000;
	}
	.init #header nav .todo_gnav a .title {
		transition: color 0.3s ease-in-out;
	}
	#header nav .todo_gnav a:hover .title {
		color: #fff;
	}
	#header nav .todo_gnav a::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		height: 20px;
		border-left: 1px solid;
		transition: none;
		z-index: 3;
	}
	#header nav .itineraries_gnav a {
		background-position: 50%;
		background-repeat: no-repeat;
		background-size: cover;
		color: #fff;
		line-height: 1.2;
	}
	#header nav .itineraries_gnav a::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: #000;
		mix-blend-mode: multiply;
		opacity: 0.3;
	}
	#header nav .itineraries_gnav a > span {
		position: relative;
		z-index: 3;
	}
	#header nav .itineraries_gnav a > span::after {
		content: "";
		position: absolute;
		right: 0;
		left: 0;
		bottom: 8px;
		border-bottom: 2px solid #fff;
	}
	#header nav .itineraries_gnav a.day1 {
		background-image: url(../images/nav_1day.jpg);
	}
	#header nav .itineraries_gnav a.day2 {
		background-image: url(../images/nav_2days.jpg);
	}
	#header nav .itineraries_gnav a.day3 {
		background-image: url(../images/nav_3days.jpg);
	}

	body.init #header nav .dd {
		transition: height 0.3s ease-in-out;
	}
	body.init #header nav .dd > * {
		transition: opacity 0.3s 0.15s ease-in-out;
	}
	#header nav .dd {
		overflow: hidden;
		height: 0;
	}
	#header nav .dd > * {
		opacity: 0;
	}
	#header nav li.hover .dd > * {
		opacity: 1;
	}
}
@media screen and (min-width: 768px) {
	#header::after {
		content: "";
		position: absolute;
		right: 0;
		left: 0;
		bottom: -1px;
		border-bottom: 1px solid #e5e5e5;
		opacity: 0;
	}
	#header .logo img {
		transform-origin: 0;
	}
	body.init #header,
	body.init #header .logo,
	body.init #header .logo img {
		transition: transform 0.5s ease-in-out;
	}
	body.init #header::after {
		transition: opacity 0.5s ease-in-out;
	}
	.head-min #header {
		transform: translateY(-40px);
	}
	.head-min #header::after {
		opacity: 1;
	}
	.head-min #header .logo {
		transform: translateY(20px);
	}
	.head-min #header .logo img {
		transform: scale(.8);
	}
}
@media screen and (max-width: 767px) {
	#header {
		height: 60px;
	}
	#header::after {
		content: "";
		position: absolute;
		right: 0;
		left: 0;
		bottom: -1px;
		border-bottom: 1px solid #e5e5e5;
	}
	#header .logo {
		display: flex;
		padding-right: 60px;
	}
	#header .logo a {
		display: flex;
		align-items: center;
		height: 60px;
		padding: 0 5vw;
	}
	#header .logo a img {
		width: 230px;
	}

	/* nav_btn */
	#header .nav_btn {
		position: absolute;
		right: 0;
		top: 0;
		width: 60px;
		height: 60px;
		z-index: 15;
	}
	#header .nav_btn a {
		position: relative;
		display: block;
		height: 60px;
	}
	#header .nav_btn::before,
	#header .nav_btn a::before,
	#header .nav_btn a::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 20px;
		margin-top: -1px;
		margin-left: -10px;
		border-top: 2px solid #000;
		pointer-events: none;
	}
	body.init #header .nav_btn::before,
	body.init #header .nav_btn a::before,
	body.init #header .nav_btn a::after {
		transition: all 0.3s ease-in-out;
	}
	#header .nav_btn a::before {
		transform: translate(-5px, -7px) scaleX(.5);
	}
	#header .nav_btn a::after {
		transform: translate(5px, 7px) scaleX(.5);
	}

	/* nav_btn open */
	#header.open .nav_btn::before {
		opacity: 0;
	}
	#header.open .nav_btn a::before {
		transform: rotate(45deg);
	}
	#header.open .nav_btn a::after {
		transform: rotate(-45deg);
	}

	/* nav */
	#header nav {
		position: fixed;
		top: 60px;
		left: 0;
		width: 100%;
		max-height: calc(100vh - 60px);
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		transform: translateX(110%);
		z-index: 1;
	}
	body.init #header nav {
		transition: transform 0.3s ease-in-out;
	}
	/* open */
	#header.open nav {
		transform: translateX(0%);
	}

	#header nav li {
		border-bottom: 1px solid #333;
	}
	#header nav a {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 50px;
		background-color: rgba(13,13,13,.95);
		color: #fff;
		font-size: 1.6rem;
		line-height: 1.3;
		text-align: center;
		text-decoration: none;
	}
	#header nav a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		width: 10px;
		height: 10px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform-origin: 100% 0;
		transform: rotate(45deg);
	}
	#header nav a svg {
		display: none;
	}
/*
	#header nav .has_dd > a {
		background-color: transparent;
	}
	#header nav .has_dd > a::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		background: -moz-linear-gradient(left, #ed817e 0%,#e9c134 100%);
		background: -webkit-linear-gradient(left, #ed817e 0%,#e9c134 100%);
		background: linear-gradient(to right, #ed817e 0%,#e9c134 100%);
		opacity: 0.95;
		z-index: -1;
	}
*/
	#header nav .has_dd > a::after {
		right: 25px;
		margin-top: 5px;
		transform: rotate(135deg);
	}
	#header nav .dd a {
		background-color: rgba(77,77,77,.98);
	}
	#header nav .dd li:last-child {
		border-bottom: 0;
	}
	#header nav .cnav {
		display: flex;
		flex-wrap: wrap;
	}
	#header nav .cnav li {
		width: 50%;
	}
	#header nav .cnav li:nth-child(2n) {
		border-left: 1px solid #333;
	}
	#header nav .cnav li a {
		font-size: 1.3rem;
	}

	body.init #header nav .dd {
		transition: height 0.3s ease-in-out;
	}
	#header nav .dd {
		overflow: hidden;
		height: 0;
	}
	#header nav .has_dd > a.open::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		background: -moz-linear-gradient(left, #ed817e 0%,#e9c134 100%);
		background: -webkit-linear-gradient(left, #ed817e 0%,#e9c134 100%);
		background: linear-gradient(to right, #ed817e 0%,#e9c134 100%);
		opacity: 0.95;
		z-index: -1;
	}
	#header nav .has_dd > a.open {
		background-color: transparent;
	}

	#header nav .sns {
		display: flex;
		justify-content: center;
		background-color: rgba(13,13,13,.95);
	}
	#header nav .sns li {
		padding: 15px 10px;
	}
	#header nav .sns a {
		width: 30px;
		height: 30px;
		background-color: #fff;
		border-radius: 100%;
	}
	#header nav .sns a::after {
		content: none;
	}
	#header nav .sns a svg {
		display: block;
		width: 30px;
		height: 30px;
	}
}
@media screen and (max-width: 767px) {
	.sp_head_nav {
		display: flex;
	}
	.sp_head_nav li {
		width: 100%;
		border-left: 1px solid #fff;
	}
	.sp_head_nav a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 60px;
		background-color: #f2f2f2;
		text-align: center;
		text-decoration: none;
		font-size: 1.4rem;
	}
}


/* footer
============================================================================================================ */
#footer {
	position: relative;
	padding: 60px 0;
	border-top: 1px solid #cccccc;
}
@media screen and (min-width: 768px), print {
	#footer .xw {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
}
@media screen and (max-width: 767px) {
	#footer {
		padding: 40px 0 20px;
	}
	#footer .xw {
		position: relative;
	}
	#footer .logo {
		width: 240px;
		margin-bottom: 30px;
	}
}

/* nav
------------------------------------------------------------- */
@media screen and (min-width: 768px), print {
	#footer nav ul {
		display: flex;
		justify-content: flex-end;
	}
	#footer nav ul li {
		position: relative;
	}
	#footer nav ul li + li {
		margin-left: 20px;
		padding-left: 20px;
	}
	#footer nav ul li + li::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 3px;
		height: 3px;
		background-color: #141414;
		border-radius: 3px;
		margin-top: -4px;
	}
	#footer nav ul a {
		font-size: 1.6rem;
		line-height: 1.5;
	}
}
@media screen and (max-width: 767px) {
	#footer nav {
		margin-bottom: 30px;
	}
	#footer nav ul li {
		margin-bottom: 0.5em;
	}
	#footer nav ul a {
		position: relative;
		display: inline-block;
		padding: 5px 1em;
		font-size: 1.4rem;
		line-height: 1.5;
	}
	#footer nav ul a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 3px;
		height: 3px;
		background-color: #141414;
		border-radius: 3px;
		margin-top: -4px;
	}
}

/* sns
------------------------------------------------------------- */
#footer .sns {
	display: flex;
	justify-content: flex-end;
}
#footer .sns a {
	display: block;
	width: 34px;
	height: 34px;
	margin-left: 26px;
	border-radius: 100px;
	background-color: #141414;
}
#footer .sns a svg {
	width: 34px;
	height: 34px;
	fill: #fff;
}
@media screen and (min-width: 768px), print {
	#footer .sns {
		margin: 30px 0;
	}
}
@media screen and (max-width: 767px) {
	#footer .sns {
		position: absolute;
		right: 0;
		bottom: 0;
	}
	#footer .sns a {
		width: 30px;
		height: 30px;
		margin-left: 15px;
	}
	#footer .sns a svg {
		width: 30px;
		height: 30px;
	}
}
@media screen and (max-width: 359px) {
	#footer .sns a {
		margin-left: 10px;
	}
}

/* small
------------------------------------------------------------- */
#footer small {
	display: block;
	text-align: right;
	font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
	#footer small {
		font-size: 1.1rem;
		text-align: left;
	}
}


/* container
============================================================================================================ */
#container {
	position: relative;
	padding-top: 100px;
	font-size: 1.6rem;
	line-height: 1.8;
}
#container::before,
#container::after {
	content: "";
	display: table;
	clear: both;
}
@media screen and (max-width: 767px) {
	#container {
		padding-top: 60px;
		font-size: 1.4rem;
	}
}


/* ===================================================================================================================

	パーツ

=================================================================================================================== */

/* mouseover
============================================================================================================ */
a.mo_bg,
.mo_bg a {
	position: relative;
	overflow: hidden;
}
a.mo_bg::after,
.mo_bg a::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 300%;
	transform: translateX(-50%);
	background: -moz-linear-gradient(left, #f19a98 0%,#edcd5d 33%,#f19a98 66%,#edcd5d 100%);
	background: -webkit-linear-gradient(left, #f19a98 0%,#edcd5d 33%,#f19a98 66%,#edcd5d 100%);
	background: linear-gradient(to right, #f19a98 0%,#edcd5d 33%,#f19a98 66%,#edcd5d 100%);
	transform: translateX(-66.66%);
	opacity: 0;
}
a.mo_bg.current,
.mo_bg a.current {
	color: #fff;
	background-color: #fff !important;
}
a.mo_bg.current::after,
.mo_bg a.current::after {
	opacity: 1;
}
@media screen and (min-width: 768px) {
	a.mo_bg:hover,
	.mo_bg a:hover {
		color: #fff;
		background-color: #fff !important;
	}
	a.mo_bg:hover::after,
	.mo_bg a:hover::after {
		animation: mo_mov 2s linear infinite forwards;
		opacity: 1;
	}
	a.mo_bg:hover svg,
	.mo_bg a:hover svg {
		fill: #fff;
	}
}
@media screen and (min-width: 768px) {
	a.mo_ph,
	a .mo_ph,
	.mo_ph a {
		position: relative;
		overflow: hidden;
	}
	a.mo_ph::after,
	a .mo_ph::after,
	.mo_ph a::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		width: 300%;
		transform: translateX(-50%);
		background: -moz-linear-gradient(left, #ed817e 0%,#e9c134 33%,#ed817e 66%,#e9c134 100%);
		background: -webkit-linear-gradient(left, #ed817e 0%,#e9c134 33%,#ed817e 66%,#e9c134 100%);
		background: linear-gradient(to right, #ed817e 0%,#e9c134 33%,#ed817e 66%,#e9c134 100%);
		opacity: 0;
	}
	.init a .mo_ph::after {
		transition: opacity 0.3s ease-in-out;
	}
	a.mo_ph:hover::after,
	a:hover .mo_ph::after,
	.mo_ph a:hover::after {
		animation: mo_mov 2s linear infinite forwards;
		opacity: .5;
	}
}
@keyframes mo_mov {
	0% {
		transform: translateX(-66.66%);
	}
	100% {
		transform: translateX(0);
	}
}

/* breadcrumbs
============================================================================================================ */
.breadcrumbs {
	margin-bottom: 60px;
	padding: 10px 0;
	background-color: #f2f2f2;
	font-size: 1.4rem;
	line-height: 1.4;
}
.breadcrumbs li {
	position: relative;
	padding-right: 30px;
}
.breadcrumbs ol li::after {
	content: "";
	position: absolute;
	right: 15px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -5px;
	border-top: 1px solid #999999;
	border-right: 1px solid #999999;
	transform: rotate(45deg);
}
.breadcrumbs ol li a {
	color: #000;
}
.breadcrumbs ol li:last-child {
	padding-right: 0;
}
.breadcrumbs ol li:last-child::after {
	content: none;
}
.breadcrumbs ol li:last-child a {
	text-decoration: none;
}
@media screen and (min-width: 768px), print {
	.breadcrumbs ol {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.breadcrumbs li {
		display: inline;
	}
}
@media screen and (max-width: 767px) {
	.breadcrumbs {
		margin-bottom: 30px;
		border-top: 1px solid #fff;
		padding: 0 5vw;
		font-size: 1.1rem;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.breadcrumbs ol {
		display: table;
		white-space: nowrap;
	}
	.breadcrumbs ol li {
		display: table-cell;
		white-space: nowrap;
	}
	.breadcrumbs li {
		padding-right: 20px;
	}
	.breadcrumbs ol li::after {
		width: 6px;
		height: 6px;
		right: 8px;
		margin-top: -4px;
	}
	.breadcrumbs ol li a {
		display: block;
		padding-top: 6px;
		padding-bottom: 6px;
	}
}


/* page_title
============================================================================================================ */
.page_title {
	margin-bottom: 50px;
	font-size: 8rem;
	line-height: 1;
}
@media screen and (max-width: 767px) {
	.page_title {
		margin-bottom: 20px;
		padding: 0 5vw;
		font-size: 5rem;
	}
}
.page_title_sub {
	margin-top: -20px;
	margin-bottom: 20px;
	font-size: 2.8rem;
	line-height: 1.2;
}
@media screen and (max-width: 767px) {
	.page_title_sub {
		margin-top: -10px;
		margin-bottom: 10px;
		padding: 0 5vw;
		font-size: 2rem;
	}
}



/* title
============================================================================================================ */
/* line_title */
.line_title {
	margin-bottom: 30px;
	font-size: 3.4rem;
	line-height: 1.5;
}
.line_title::after {
	content: "";
	display: block;
	width: 40px;
	height: 2px;
	background: -moz-linear-gradient(left,  #ed817e 0%, #e9c134 100%);
	background: -webkit-linear-gradient(left,  #ed817e 0%,#e9c134 100%);
	background: linear-gradient(to right,  #ed817e 0%,#e9c134 100%);
}
.line_title.l {
	font-size: 5rem;
	line-height: 1.2;
}
.line_title.l::after {
	margin-top: 10px;
}
.line_title.xl {
	font-size: 6rem;
	line-height: 1.2;
}
.line_title.xl::after {
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.line_title {
		margin-bottom: 20px;
		font-size: 2.2rem;
	}
	.line_title.l {
		font-size: 3.4rem;
	}
	.line_title::after {
		margin-top: 5px;
	}
	.line_title.xl {
		font-size: 3.4rem;
	}
	.line_title.xl::after {
		margin-top: 10px;
	}
}

/* l_title */
.l_title {
	margin-bottom: 40px;
	font-size: 5rem;
	line-height: 1.2;
}
@media screen and (max-width: 767px) {
	.l_title {
		margin-bottom: 25px;
		font-size: 3.4rem;
	}
}


/* bg_box_block
============================================================================================================ */
.bg_box_block {
	padding: 100px 40px;
	background-color: #e5e5e5;
}
.bg_box_block > * {
	padding: 100px 40px;
	background-color: #fff;
}
@media screen and (min-width: 768px), print {
	.bg_box_block > * {
		max-width: 1300px;
		margin: auto;
	}
}
@media screen and (max-width: 767px) {
	.bg_box_block {
		padding: 40px 5vw;
	}
	.bg_box_block > * {
		padding: 40px 5vw;
	}
}


/* margin
============================================================================================================ */
.base_mb {
	margin-bottom: 120px;
}
.base_mb_h {
	margin-bottom: 60px;
}
@media screen and (min-width: 768px), print {
}
@media screen and (max-width: 767px) {
	.base_mb {
		margin-bottom: 60px;
	}
	.base_mb_h {
		margin-bottom: 40px;
	}
}


/* loading
============================================================================================================ */
.loading > * {
	opacity: 0.3;
	pointer-events: none;
}
.loading::before {
	content: "";
	position: fixed;
	top: 50%;
	left: 50%;
	width: 60px;
	height: 60px;
	margin: -30px 0 0 -30px;
	border-top: 10px solid rgba(237, 129, 126, 0.2);
	border-right: 10px solid rgba(237, 129, 126, 0.2);
	border-bottom: 10px solid rgba(237, 129, 126, 0.2);
	border-left: 10px solid rgba(237, 129, 126, 1);
	transform: translateZ(0);
	animation: loading 0.9s infinite linear;
	border-radius: 50%;
	z-index: 10;
}
@keyframes loading {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}


/* entry_list
============================================================================================================ */
#entry_wrap.mov {
	transition: height .8s;
}


.entry_list a {
	display: block;
	text-decoration: none;
}
.entry_list a .ph_wrap {
	position: relative;
	margin-bottom: 20px;
}
.entry_list a .num {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 140px;
	height: 60px;
	font-size: 3.8rem;
	line-height: 1.8;
	text-align: center;
	color: #fff;
	z-index: 3;
}
.entry_list a .num .total {
	font-size: 1.6rem;
}
.entry_list a .num .slash {
	margin: 0 -.2em;
	font-size: 3.2rem;
}
.entry_list a .num.bg1 {
	background-color: #e9c24e;
}
.entry_list a .num.bg2 {
	background-color: #e8bcaa;
}
.entry_list a .num.bg3 {
	background-color: #80a2ae;
}
.entry_list a .num.bg4 {
	background-color: #a8c24e;
}
.entry_list a .num.bg5 {
	background-color: #9abcaa;
}
.entry_list a .num.bg6 {
	background-color: #8064ae;
}
.entry_list a .person {
	position: absolute;
	left: 140px;
	bottom: 0;
	width: 60px;
	height: 60px;
	background-color: #fff;
}
.entry_list a .person img {
	top: 5px;
	left: 5px;
	width: 50px;
	height: 50px;
	border-radius: 50px;
}

.entry_list a .ph {
	position: relative;
	padding-top: 78%;
	background-color: #f3f3f3;
}
.entry_list a .ph.no_image img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 60%;
	max-width: none;
	height: auto;
	transform: translate(-50%, -50%);
	opacity: 0.5;
}
.entry_list a .title {
	margin-bottom: 0.2em;
	font-size: 2rem;
	line-height: 1.6;
}
.entry_list a .place,
.entry_list a .date {
	position: relative;
	display: inline-block;
	margin-right: 20px;
	padding-left: 22px;
	font-size: 1.4rem;
}
.entry_list a .place::before,
.entry_list a .date::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: 100%;
}
.entry_list a .place::before {
	background-image: url(../images/ico_area.png);
}
.entry_list a ul.place {
	display: inline-flex;
	flex-wrap: wrap;
}
.entry_list a ul.place > * + *::before {
	content: ", ";
}
.entry_list a .date {
	margin-right: 0;
}
.entry_list a .date > * {
	display: inline-block;
}
.entry_list a .date > * + *::before {
	content: ", ";
}
.entry_list a .date::before {
	background-image: url(../images/ico_date.png);
}
.entry_list a .category {
	display: flex;
	flex-wrap: wrap;
	margin-top: 10px;
	font-size: 1.2rem;
	line-height: 1.4;
}
.entry_list a .category li {
	margin: 0 6px 4px 0;
	padding: 4px 20px;
	background-color: #575757;
	color: #fff;
	border-radius: 100px;
}
.entry_list a .day {
	font-size: 3.2rem;
	line-height: 1.6;
}
.entry_list a .time {
	font-size: 1.4rem;
}
@media screen and (min-width: 768px), print {
	.entry_list {
		display: flex;
		flex-wrap: wrap;
	}
	.entry_list > * {
		width: calc((100% - 70px) / 3);
		margin-left: 35px;
	}
	.entry_list > *:nth-child(3n+1) {
		margin-left: 0;
	}
	.entry_list > *:nth-child(n+4) {
		margin-top: 100px;
	}
	.entry_list a:hover .title {
		text-decoration: underline;
	}
}
@media screen and (max-width: 767px) {
	.entry_list > * + * {
		margin-top: 50px;
	}
	.entry_list a .ph_wrap {
		margin-bottom: 15px;
	}
	.entry_list a .num {
		width: 106px;
		height: 46px;
		font-size: 2.9rem;
		line-height: 1.8;
	}
	.entry_list a .num .total {
		font-size: 1.2rem;
	}
	.entry_list a .num .slash {
		margin: 0 -.2em;
		font-size: 2.5rem;
	}
	.entry_list a .person {
		left: 106px;
		width: 46px;
		height: 46px;
	}
	.entry_list a .person img {
		top: 4px;
		left: 4px;
		width: 38px;
		height: 38px;
	}
	.entry_list a .title {
		font-size: 1.5rem;
	}
	.entry_list a .place,
	.entry_list a .date {
		margin-right: 15px;
		padding-left: 18px;
		font-size: 1.1rem;
	}
	.entry_list a .place::before,
	.entry_list a .date::before {
		width: 14px;
		height: 14px;
		margin-top: -9px;
	}
	.entry_list a .category {
		margin-top: 8px;
		font-size: 1.1rem;
	}
	.entry_list a .category li {
		margin: 0 4px 3px 0;
		padding: 2px 15px;
	}
	.entry_list a .day {
		font-size: 2.4rem;
	}

	.entry_list.sp_entry_slide > * + * {
		margin-top: 0;
	}
	.entry_list.sp_entry_slide article {
		width: 65vw;
		margin: 0 10px;
	}
	.entry_list a .time {
		font-size: 1.1rem;
	}
}



/* itineraries_list
============================================================================================================ */
.itineraries_list > * + * {
	margin-top: 80px;
}
.itineraries_list a {
	display: block;
	text-decoration: none;
}
.itineraries_list a .ph_wrap {
	position: relative;
}
.itineraries_list a .ph {
	position: relative;
	padding-top: 59.2%;
	background-color: #f3f3f3;
}
.itineraries_list a .ph.no_image img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 60%;
	max-width: none;
	height: auto;
	transform: translate(-50%, -50%);
	opacity: 0.5;
}
.itineraries_list a .day {
	margin-bottom: 30px;
	font-size: 4.6rem;
	line-height: 1;
}
.itineraries_list a .day::after {
	content: "";
	display: block;
	width: 40px;
	height: 2px;
	margin-top: 10px;
	background: -moz-linear-gradient(left,  #ed817e 0%, #e9c134 100%);
	background: -webkit-linear-gradient(left,  #ed817e 0%,#e9c134 100%);
	background: linear-gradient(to right,  #ed817e 0%,#e9c134 100%);
}
.itineraries_list a .title {
	margin-bottom: 1em;
	font-size: 3rem;
	line-height: 1.4;
}
.itineraries_list a .place {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	padding-left: 22px;
	font-size: 1.4rem;
}
.itineraries_list a .place::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: 100%;
	background-image: url(../images/ico_area.png);
}
.itineraries_list a .place > * + *::before {
	content: ", ";
}
.itineraries_list a .category {
	display: flex;
	flex-wrap: wrap;
	margin-top: 10px;
	font-size: 1.2rem;
	line-height: 1.4;
}
.itineraries_list a .category li {
	margin: 0 6px 4px 0;
	padding: 4px 20px;
	background-color: #575757;
	color: #fff;
	border-radius: 100px;
}
@media screen and (min-width: 768px), print {
	.itineraries_list a {
		display: flex;
		justify-content: space-between;
	}
	.itineraries_list a .ph_wrap {
		width: 510px;
	}
	.itineraries_list a .ph_wrap + * {
		max-width: 510px;
		width: 47%;
	}
	.itineraries_list a:hover .title {
		text-decoration: underline;
	}
}
@media screen and (max-width: 767px) {
	.itineraries_list > * + * {
		margin-top: 50px;
	}
	.itineraries_list a .ph_wrap {
		margin-bottom: 20px;
	}
	.itineraries_list a .day {
		margin-bottom: 20px;
		font-size: 3rem;
	}
	.itineraries_list a .title {
		font-size: 1.8rem;
	}
	.itineraries_list a .place {
		padding-left: 18px;
		font-size: 1.1rem;
	}
	.itineraries_list a .place::before {
		width: 14px;
		height: 14px;
		margin-top: -9px;
	}
	.itineraries_list a .category {
		margin-top: 8px;
		font-size: 1.1rem;
	}
	.itineraries_list a .category li {
		margin: 0 4px 3px 0;
		padding: 2px 15px;
	}
}



/* break_line
============================================================================================================ */
.break_line {
	border-top: 1px solid #cccccc;
}



/* search_nav
============================================================================================================ */
.search_nav {
	display: flex;
	justify-content: space-between;
}
.search_nav a {
	position: relative;
	display: block;
	background-color: #f5f5f5;
	font-size: 2.5rem;
	line-height: 1;
	text-decoration: none;
}
.search_nav a::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	height: 10px;
	border-left: 1px solid;
	transition: none !important;
	z-index: 3;
}
.search_nav a > * {
	position: relative;
	z-index: 3;
}
@media screen and (min-width: 768px), print {
	.search_nav > * {
		width: calc((100% - 60px) / 4);
	}
	.search_nav a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 70px;
	}
}
@media screen and (max-width: 767px) {
	.search_nav {
		flex-wrap: wrap;
	}
	.search_nav > * {
		width: calc(50% - 5px);
	}
	.search_nav > *:nth-child(n + 3) {
		margin-top: 10px;
	}
	.search_nav a {
		padding: 15px 0;
		font-size: 1.6rem;
		text-align: center;
	}
	.search_nav a::before {
		height: 5px;
	}
	.page_tab > * {
		width: calc((100% - 15px) / 4);
		margin: 0 !important;
	}
}

.todo_nav a svg {
	width: 50px;
	height: 50px;
}
.todo_nav a .title {
	color: #000;
}
.todo_nav a.current .title {
	color: #fff;
}
.todo_nav a.current svg {
	fill: #fff;
}
@media screen and (min-width: 768px), print {
	.init .todo_nav a .title {
		transition: color 0.3s ease-in-out;
	}
	.todo_nav a:hover .title {
		color: #fff;
	}
	.todo_nav a svg {
		margin-bottom: 5px;
		width: 40px;
		height: 40px;
	}
	.todo_nav a .title {
		margin-left: 5px;
	}
}
@media screen and (max-width: 767px) {
	.todo_nav a {
		padding: 0 0 10px;
		font-size: 1.6rem;
	}
	.todo_nav a .title {
		display: block;
	}
}

/* todo_lage_nav
============================================================================================================ */
.todo_lage_nav {
	position: relative;
	background-color: #f2f2f2;
	padding: 100px 0 100px;
}
.todo_lage_nav h2 {
	margin-bottom: 50px;
	text-align: center;
	font-size: 5rem;
	line-height: 1;
}
.todo_lage_nav ul {
	display: flex;
	justify-content: space-between;
}
.todo_lage_nav li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 200px;
	padding-bottom: 20px;
	background-color: #fff;
	font-size: 3rem;
	text-align: center;
	text-decoration: none;
	line-height: 1.2;
}
.todo_lage_nav li a > * {
	position: relative;
	z-index: 3;
}
.todo_lage_nav li a svg {
	width: 90px;
	height: 90px;
}
.todo_lage_nav li a .title {
	display: block;
	color: #000;
}
.todo_lage_nav li a::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	height: 20px;
	border-left: 1px solid;
	transition: none !important;
	z-index: 3;
}
@media screen and (min-width: 768px), print {
	.todo_lage_nav li {
		width: calc((100% - 100px) / 4);
	}
	.init .todo_lage_nav li a .title {
		transition: color 0.3s ease-in-out;
	}
	.todo_lage_nav li a:hover .title {
		color: #fff;
	}
}
@media screen and (max-width: 767px) {
	.todo_lage_nav {
		padding: 50px 0;
	}
	.todo_lage_nav h2 {
		margin-bottom: 30px;
		font-size: 2.6rem;
	}
	.todo_lage_nav ul {
		flex-wrap: wrap;
	}
	.todo_lage_nav li {
		width: calc(50% - 8px);
	}
	.todo_lage_nav li:nth-child(n+3) {
		margin-top: 16px;
	}

	.todo_lage_nav li a {
		height: 110px;
		padding-bottom: 10px;
		font-size: 1.7rem;
	}
	.todo_lage_nav li a svg {
		width: 50px;
		height: 50px;
	}
	.todo_lage_nav li a::before {
		height: 10px;
	}
}


/* narrowdown_block
============================================================================================================ */
.narrowdown_block {
	position: relative;
	margin-bottom: 120px;
	padding: 60px 0;
	background-color: #e5e5e5;
}
.narrowdown_block::after {
	content: "";
	position: absolute;
	bottom: -24px;
	left: 50%;
	margin-left: -16px;
	border-style: solid;
	border-width: 24px 16px 0 16px;
	border-color: #e5e5e5 transparent transparent transparent;
}
.narrowdown_block > * {
	display: flex;
	justify-content: space-between;
}
.narrowdown_block dt {
	position: relative;
	padding: 20px 0 16px;
	text-align: center;
	background-color: #f5f5f5;
	font-size: 3.4rem;
	cursor: pointer;
	line-height: 1;
}
.narrowdown_block dt::before,
.narrowdown_block dt::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 40px;
	border-top: 2px solid #0a0a0a;
	margin-top: -1px;
	width: 24px;
}
.narrowdown_block dt::after {
	transform: rotate(90deg);
}
.init .narrowdown_block dt::after {
	transition: transform .3s ease-in-out, opacity .3s ease-in-out;
}
.narrowdown_block dt.open {
	background-color: #fff;
}
.narrowdown_block dt.open::after {
	transform: rotate(0);
	opacity: 0;
}
.narrowdown_block dd {
	position: relative;
	overflow: hidden;
	height: 0;
	background-color: #fff;
	z-index: 1;
}
.narrowdown_block .open + dd {
	z-index: 2;
}
.init .narrowdown_block dd {
	transition: height .5s ease-in-out;
}
.narrowdown_block dd > * {
	padding: 40px 80px;
	border-top: 1px solid #f5f5f5;
}
@media screen and (min-width: 768px), print {
	.init .narrowdown_block dt {
		transition: background .3s ease-in-out;
	}
	.narrowdown_block dt:hover {
		background-color: #fff;
	}
	.narrowdown_block.narrowdown2 dl {
		width: calc(50% - 10px);
	}
	.narrowdown_block.narrowdown2 dd {
		width: calc(200% + 20px);
	}
	.narrowdown_block.narrowdown2 dl:nth-child(2) dd {
		left: calc(-100% - 20px);
	}
	.narrowdown_block.narrowdown3 dl {
		width: calc((100% - 40px) / 3);
	}
	.narrowdown_block.narrowdown3 dd {
		width: calc(300% + 40px);
	}
	.narrowdown_block.narrowdown3 dl:nth-child(2) dd {
		left: calc(-100% - 20px);
	}
	.narrowdown_block.narrowdown3 dl:nth-child(3) dd {
		left: calc(-200% - 40px);
	}
}
@media screen and (max-width: 767px) {
	.narrowdown_block {
		margin-bottom: 60px;
		padding: 25px 5vw;
	}
	.narrowdown_block dt {
		padding: 12px 20px 10px 0;
		font-size: 1.8rem;
	}
	.narrowdown_block dt::before,
	.narrowdown_block dt::after {
		right: 10px;
		width: 10px;
	}
	.narrowdown_block dd > * {
		padding: 20px;
	}

	.narrowdown_block.narrowdown2 dl {
		width: calc(50% - 3px);
	}
	.narrowdown_block.narrowdown2 dd {
		width: calc(200% + 6px);
	}
	.narrowdown_block.narrowdown2 dl:nth-child(2) dd {
		left: calc(-100% - 6px);
	}
	.narrowdown_block.narrowdown3 dt {
		padding-right: 16px;
		white-space: nowrap;
	}
	.narrowdown_block.narrowdown3 dt::before,
	.narrowdown_block.narrowdown3 dt::after {
		right: 6px;
	}
	.narrowdown_block.narrowdown3 dl {
		width: calc((100% - 10px) / 3);
	}
	.narrowdown_block.narrowdown3 dd {
		width: calc(300% + 10px);
	}
	.narrowdown_block.narrowdown3 dl:nth-child(2) dd {
		left: calc(-100% - 5px);
	}
	.narrowdown_block.narrowdown3 dl:nth-child(3) dd {
		left: calc(-200% - 10px);
	}
}

/* areas */
.narrowdown_block .areas ul {
	display: flex;
	flex-wrap: wrap;
}
.narrowdown_block .areas ul li {
	width: 33.33%;
}
.narrowdown_block .areas ul li:nth-child(3n+1) {
	border-left: 1px solid #cccccc;
}
.narrowdown_block .areas ul li:nth-child(n+4) {
	margin-top: 40px;
}
.narrowdown_block .areas ul a {
	display: block;
	height: 100%;
	border-right: 1px solid #cccccc;
	text-decoration: none;
	text-align: center;
	line-height: 1.4;
}
.narrowdown_block .areas ul a .num {
	position: relative;
	display: block;
	width: 34px;
	height: 44px;
	margin: auto;
	padding-top: 10px;
	background: url(../images/ico-pin.svg) no-repeat 50%;
	background-size: 100%;
	color: #fff;
	line-height: 1;
}
.narrowdown_block .areas ul a .num::after {
	content: "";
	position: absolute;
	top: -2px;
	right: -1px;
	left: -1px;
	bottom: -2px;
	background: url(../images/ico-pin_color.svg) no-repeat 50%;
	background-size: 100%;
	opacity: 0;
}
.narrowdown_block .areas ul a .num > span {
	display: block;
	position: relative;
	z-index: 3;
}
.narrowdown_block .areas ul a .area {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
}
.narrowdown_block .areas ul a.current {
	color: #ed817e;
}
.narrowdown_block .areas ul a.current .num::after {
	opacity: 1;
}
.narrowdown_block .areas .map {
	position: relative;
}
.narrowdown_block .areas .map a {
	position: absolute;
	width: 34px;
	height: 44px;
	margin: auto;
	padding-top: 10px;
	background: url(../images/ico-pin.svg) no-repeat 50%;
	background-size: 100%;
	color: #fff;
	text-align: center;
	text-decoration: none;
	line-height: 1;
}
.narrowdown_block .areas .map a::after {
	content: "";
	position: absolute;
	top: -2px;
	right: -1px;
	left: -1px;
	bottom: -2px;
	background: url(../images/ico-pin_color.svg) no-repeat 50%;
	background-size: 100%;
	opacity: 0;
}
.narrowdown_block .areas .map a > span {
	display: block;
	position: relative;
	z-index: 3;
}
.narrowdown_block .areas .map a.current::after {
	opacity: 1;
}
@media screen and (min-width: 768px), print {
	.narrowdown_block .areas > * {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding-top: 0;
		padding-bottom: 0;
	}
	.narrowdown_block .areas > * > * {
		width: 50%;
	}
	.narrowdown_block .areas ul a:hover {
		color: #ed817e;
	}
	.init .narrowdown_block .areas ul a .num::after {
		transition: opacity 0.3s ease-in-out;
	}
	.narrowdown_block .areas ul a:hover .num::after {
		opacity: 1;
	}
	.narrowdown_block .areas .map {
		height: 350px;
	}
	.narrowdown_block .areas .map img {
		position: absolute;
		right: -80px;
		top: 10px;
		width: 540px;
		height: auto;
	}
	.narrowdown_block .areas .map a:hover::after {
		opacity: 1;
	}
	.narrowdown_block .areas .map a.num1 {
		top: 190px;
		left: 177px;
	}
	.narrowdown_block .areas .map a.num2 {
		top: 216px;
		left: 289px;
	}
	.narrowdown_block .areas .map a.num3 {
		top: 180px;
		left: 414px;
	}
	.narrowdown_block .areas .map a.num4 {
		top: 75px;
		left: 320px;
	}
	.narrowdown_block .areas .map a.num5 {
		top: 300px;
		left: 270px;
	}
	.narrowdown_block .areas .map a.num6 {
		top: 280px;
		left: 60px;
	}
}
@media screen and (max-width: 767px) {
	.narrowdown_block .areas > * {
		padding-bottom: 0;
	}
	.narrowdown_block .areas ul li:nth-child(n+4) {
		margin-top: 15px;
	}
	.narrowdown_block .areas ul a {
		line-height: 1.2;
		font-size: 1.1rem;
	}
	.narrowdown_block .areas ul a .num {
		height: 26px;
		padding-top: 5px;
		background-size: auto 100%;
		font-size: 1.2rem;
	}
	.narrowdown_block .areas ul a .num::after {
		top: -1px;
		bottom: -1px;
		background-size: auto 100%;
	}
	.narrowdown_block .areas ul a .area {
		height: 32px;
	}
	.narrowdown_block .areas .map {
		left: 50%;
		width: 362px;
		transform: translateX(-50%);
		margin: 20px 0 0;
	}
	.narrowdown_block .areas .map a {
		height: 26px;
		padding-top: 5px;
		background-size: auto 100%;
		font-size: 1.2rem;
	}
	.narrowdown_block .areas .map a::after {
		top: -1px;
		bottom: -1px;
		background-size: auto 100%;
	}
	.narrowdown_block .areas .map a.num1 {
		top: 125px;
		left: 103px;
	}
	.narrowdown_block .areas .map a.num2 {
		top: 141px;
		left: 184px;
	}
	.narrowdown_block .areas .map a.num3 {
		top: 118px;
		left: 264px;
	}
	.narrowdown_block .areas .map a.num4 {
		top: 48px;
		left: 204px;
	}
	.narrowdown_block .areas .map a.num5 {
		top: 196px;
		left: 171px;
	}
	.narrowdown_block .areas .map a.num6 {
		top: 196px;
		left: 38px;
	}
}

/* category */
.narrowdown_block .category ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.narrowdown_block .category ul a {
	display: block;
	padding: 10px 25px;
	background-color: #4d4d4d;
	border-radius: 100px;
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-size: 1.4rem;
	line-height: 1.5;
}
.narrowdown_block .category ul a > span {
	position: relative;
	display: block;
	z-index: 3;
}
@media screen and (min-width: 768px), print {
	.narrowdown_block .category ul {
		margin: -10px -5px;
	}
	.narrowdown_block .category ul li {
		padding: 10px 5px;
	}
}
@media screen and (max-width: 767px) {
	.narrowdown_block .category ul {
		justify-content: space-between;
	}
	.narrowdown_block .category ul li {
		width: calc(50% - 3px);
	}
	.narrowdown_block .category ul li:nth-child(n + 3) {
		margin-top: 6px;
	}
	.narrowdown_block .category ul a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 34px;
		padding: 0 15px;
		font-size: 1.2rem;
		line-height: 1.1;
	}
}

/* para_section (paragraph section)
============================================================================================================ */
.para_section > * + * {
	margin-top: 1.2em;
}

/* column
============================================================================================================ */
@media screen and (min-width: 768px), print {
	.column_wrap {
		display: flex;
		justify-content: space-between;
	}
	.column_wrap > .column_main {
		width: 700px;
	}
	.column_wrap > .column_side {
		width: 300px;
	}
}
@media screen and (max-width: 767px) {
	.column_wrap > .column_side {
		margin-top: 30px;
	}
}


/* entry_detail
============================================================================================================ */
.entry_detail {
	position: relative;
	padding-bottom: 120px;
}
.entry_detail::before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	top: 480px;
	background-color: #f2f2f2;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	.entry_detail {
		padding-bottom: 60px;
	}
	.entry_detail::before {
		top: 240px;
	}
}
.entry_title {
	margin-bottom: 50px;
	font-size: 5rem;
	line-height: 1.2;
}
.entry_title .category {
	position: relative;
	margin-bottom: 30px;
	font-size: 2.8rem;
}
.entry_title .category.has_ico {
	padding-left: 65px;
}
.entry_title .category.has_ico svg {
	position: absolute;
	top: 50%;
	left: 0;
	width: 60px;
	height: 60px;
	transform: translateY(-60%);
}
@media screen and (max-width: 767px) {
	.entry_title {
		margin-bottom: 20px;
		font-size: 3rem;
	}
	.entry_title .category {
		margin-bottom: 20px;
		font-size: 1.8rem;
	}
	.entry_title .category.has_ico {
		padding-left: 45px;
	}
	.entry_title .category.has_ico svg {
		width: 40px;
		height: 40px;
	}
}

.entry_detail .main_ph {
	margin-bottom: 70px;
}
.entry_detail .main_ph .thumbs {
	display: flex;
	flex-wrap: wrap;
	margin-top: 20px;
}
.entry_detail .main_ph .thumbs li a {
	display: block;
	position: relative;
	padding-top: 56.25%;
	opacity: 0.5;
}
.entry_detail .main_ph .thumbs li a.active {
	opacity: 1;
}
@media screen and (min-width: 768px), print {
	.entry_detail .main_ph .thumbs li a:hover {
		opacity: 1;
	}
	.entry_detail .main_ph .thumbs {
		margin-left: -20px;
	}
	.entry_detail .main_ph .thumbs li {
		width: 16.66%;
		padding: 20px 0 0 20px;
	}
}
@media screen and (max-width: 767px) {
	.entry_detail .main_ph {
		margin-bottom: 40px;
	}
	.entry_detail .main_ph .thumbs {
		display: flex;
		flex-wrap: wrap;
		margin-top: 10px;
		margin-left: -6px;
	}
	.entry_detail .main_ph .thumbs li {
		width: 33.33%;
		padding: 6px 0 0 6px;
	}
}

.entry_detail .box {
	margin-top: 60px;
	padding: 40px 60px;
	background-color: #fff;
	border: 1px solid #e5e5e5;
}
.entry_detail .box + .box {
	margin-top: 25px;
}
.entry_detail .box h2 {
	margin-bottom: 20px;
	font-size: 3.2rem;
	line-height: 1.5;
}
.entry_detail .box h2.logo {
	position: relative;
	padding-left: 110px;
}
.entry_detail .box h2.logo::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 90px;
	height: 46px;
	margin-top: -27px;
	background: url(../images/title_ico_logo.png) no-repeat 50%;
	background-size: 100%;
}
.entry_detail .box.moment {
	line-height: 1.9;
}
.entry_detail .box.comment {
	padding: 20px;
}
@media screen and (min-width: 768px), print {
	.entry_detail .box.moment {
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 767px) {
	.entry_detail .box {
		margin-top: 30px;
		padding: 25px 30px;
	}
	.entry_detail .box + .box {
		margin-top: 15px;
	}
	.entry_detail .box h2 {
		margin-bottom: 10px;
		font-size: 2.4rem;
	}
	.entry_detail .box h2.logo {
		padding-left: 56px;
	}
	.entry_detail .box h2.logo::before {
		width: 46px;
	}
	.entry_detail .box.comment {
		padding: 10px;
	}
}
.entry_detail .box.entry_index li {
	margin-top: 30px;
}
.entry_detail .box.entry_index li a {
	position: relative;
	display: block;
	padding-left: 50px;
	text-decoration: none;
	line-height: 1.6;
}
.entry_detail .box.entry_index li a .num {
	position: absolute;
	left: 0;
	top: -2px;
	font-size: 2.6rem;
	line-height: 1;
}
@media screen and (min-width: 768px), print {
	.entry_detail .box.entry_index li a {
		font-size: 1.8rem;
	}
	.entry_detail .box.entry_index li a:hover .title {
		text-decoration: underline;
	}
}
@media screen and (max-width: 767px) {
	.entry_detail .box.entry_index li {
		margin-top: 15px;
	}
	.entry_detail .box.entry_index li a {
		padding-left: 35px;
	}
	.entry_detail .box.entry_index li a .num {
		font-size: 2rem;
	}
}

.entry_detail .column_side {
	font-size: 1.4rem;
	line-height: 1.7;
}
.entry_detail .column_side dl + dl {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid #cccccc;
}
.entry_detail .column_side dt {
	margin-bottom: 10px;
	font-size: 2.6rem;
	line-height: 1.4;
}
@media screen and (max-width: 767px) {
	.entry_detail .column_side {
		font-size: 1.2rem;
	}
	.entry_detail .column_side dl + dl {
		margin-top: 20px;
		padding-top: 20px;
	}
	.entry_detail .column_side dt {
		font-size: 1.8rem;
	}
}
.entry_detail .column_side .category {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.entry_detail .column_side .category li {
	width: calc(50% - 4px);
}
.entry_detail .column_side .category li:nth-child(n + 3) {
	margin-top: 8px;
}
.entry_detail .column_side .category a {
	position: relative;
	display: flex;
	height: 34px;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	background-color: #575757;
	border-radius: 100px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	line-height: 1.2;
}
.entry_detail .column_side .category a > span {
	display: block;
	position: relative;
	z-index: 2;
}
@media screen and (max-width: 767px) {
	.entry_detail .column_side .category a {
		height: 30px;
	}
}
.entry_detail .column_side .category.areas li {
	width: auto;
	margin-bottom: 5px;
	min-width: calc(50% - 4px);
}
.entry_detail .column_side .category.areas li a {
	padding: 0 16px 0 36px;
}
.entry_detail .column_side .category.areas li a::before {
	content: "";
	position: absolute;
	left: 15px;
	top: 50%;
	width: 14px;
	height: 20px;
	margin-top: -10px;
	background: url(../images/ico_area_color.png) no-repeat 50%;
	background-size: 100%;
	z-index: 3;
}
.entry_detail .column_side .areas_map {
	position: relative;
	width: 280px;
	margin: 5px auto 0;
}
.entry_detail .column_side .areas_map > img {
	pointer-events: none;
}
.entry_detail .column_side .areas_map > img:not(.base) {
	position: absolute;
	top: 0;
	left: 0;
}
.entry_detail .column_side .areas_map > img.line {
	z-index: 3;
}
.entry_detail .column_side .areas_map .pin {
	position: absolute;
	z-index: 4;
}
.entry_detail .column_side .areas_map .pin.hiroshima-kure {
	top: 88px;
	left: 78px;
}
.entry_detail .column_side .areas_map .pin.higashi-hiroshima {
	top: 100px;
	left: 144px;
}
.entry_detail .column_side .areas_map .pin.onomichi-fukuyama {
	top: 86px;
	left: 209px;
}
.entry_detail .column_side .areas_map .pin.kita-hiroshima {
	top: 29px;
	left: 162px;
}
.entry_detail .column_side .areas_map .pin.setouchi {
	top: 134px;
	left: 133px;
}
.entry_detail .column_side .areas_map .pin.iwakuni {
	top: 141px;
	left: 23px;
}
.entry_detail .column_side .map {
	margin-top: 20px;
}
.entry_detail .column_side .map iframe {
	width: 100%;
	height: 220px;
}
.entry_detail .column_side #map {
	margin-top: 20px;
	height: 220px;
}
.entry_detail .column_side .links {
	line-height: 1.5;
}
.entry_detail .column_side .links li + li {
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	.entry_detail .column_side .category.areas {
		margin: 0 -4px;
	}
	.entry_detail .column_side .category.areas li {
		min-width: 50%;
		padding: 0 4px;
	}
}

.column_wrap + .entry_body {
	margin-top: 70px;
}
@media screen and (max-width: 767px) {
	.column_wrap + .entry_body {
		margin-top: 50px;
	}
}

.entry_comment_block {
	padding: 100px 0;
	background-color: #f2f2f2;
	text-align: center;
}
.entry_comment_block .comment {
	padding: 20px;
	background-color: #fff;
	border: 1px solid #e5e5e5;
}
@media screen and (min-width: 768px), print {
	.entry_comment_block .comment {
		width: 700px;
	}
}
@media screen and (max-width: 767px) {
	.entry_comment_block {
		padding: 50px 0;
	}
	.entry_comment_block .comment {
		padding: 10px;
	}
}

.relation_entry {
	margin-top: 100px;
}
.relation_entry header {
	margin-bottom: 50px;
}
.relation_entry header h2 {
	position: relative;
	font-size: 4rem;
	line-height: 1;
}
.relation_entry header h2.has_ico {
	padding-left: 65px;
}
.relation_entry header h2.has_ico svg {
	position: absolute;
	top: 50%;
	left: 0;
	width: 60px;
	height: 60px;
	transform: translateY(-60%);
}
.relation_entry header .area {
	display: inline-block;
	position: relative;
	padding-left: 22px;
}
.relation_entry header .area::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 18px;
	height: 18px;
	margin-top: -10px;
	background: url(../images/ico_area.png) 50% no-repeat;
	background-size: 100%;
}
@media screen and (min-width: 768px), print {
	.relation_entry header {
		display: flex;
		align-items: center;
	}
	.relation_entry header.tac {
		justify-content: center;
	}
	.relation_entry header h2 {
		margin-right: 40px;
	}
}
@media screen and (max-width: 767px) {
	.relation_entry {
		margin-top: 60px;
	}
	.relation_entry header {
		margin-bottom: 30px;
	}
	.relation_entry header h2 {
		margin-bottom: 15px;
		font-size: 2.8rem;
	}
	.relation_entry header h2.has_ico {
		padding-left: 45px;
	}
	.relation_entry header h2.has_ico svg {
		width: 40px;
		height: 40px;
	}
}

.stories_main_ph {
	position: relative;
	margin-bottom: 70px;
}
.stories_main_ph .num {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 260px;
	height: 90px;
	font-size: 7.6rem;
	line-height: 1.4;
	text-align: center;
	color: #fff;
	z-index: 3;
}
.stories_main_ph .num .total {
	font-size: 2.8rem;
}
.stories_main_ph .num .slash {
	margin: 0 -.2em;
	font-size: 6.2rem;
}
.stories_main_ph .person {
	position: absolute;
	left: 260px;
	bottom: 0;
	width: 90px;
	height: 90px;
	background-color: #fff;
}
.stories_main_ph .person img {
	top: 12px;
	left: 12px;
	width: 66px;
	height: 66px;
	border-radius: 50px;
}
@media screen and (max-width: 767px) {
	.stories_main_ph {
		margin-bottom: 40px;
	}
	.stories_main_ph .num {
		width: 130px;
		height: 46px;
		font-size: 3.8rem;
		line-height: 1.4;
	}
	.stories_main_ph .num .total {
		font-size: 1.4rem;
	}
	.stories_main_ph .num .slash {
		margin: 0 -.2em;
		font-size: 3.1rem;
	}
	.stories_main_ph .person {
		left: 130px;
		width: 46px;
		height: 46px;
	}
	.stories_main_ph .person img {
		top: 4px;
		left: 4px;
		width: 38px;
		height: 38px;
	}
}

.itineraries_main_ph {
	position: relative;
	margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
	.itineraries_main_ph {
		margin-bottom: 30px;
	}
}

.itineraries_detail {
	padding: 120px 0;
}
.itineraries_detail h2 {
	display: flex;
	justify-content: center;
	font-size: 2.8rem;
	margin-bottom: 60px;
}
.itineraries_detail h2 > span::after {
	content: "";
	display: block;
	height: 4px;
	margin: 0 -20px;
	background: #ed817e;
	background: -moz-linear-gradient(left,  #ed817e 0%, #e9c134 100%);
	background: -webkit-linear-gradient(left,  #ed817e 0%,#e9c134 100%);
	background: linear-gradient(to right,  #ed817e 0%,#e9c134 100%);
}
.itineraries_detail section ~ section {
	margin-top: 60px;
}
.itineraries_detail img {
	max-width: 100%;
	height: auto;
}
.itineraries_detail .ph {
	position: relative;
}
.itineraries_detail .ph a {
	position: relative;
	display: block;
	overflow: hidden;
}
.itineraries_detail h3 {
	position: relative;
	display: flex;
	padding-left: 110px;
	margin-bottom: 30px;
	font-size: 3.2rem;
	line-height: 1.4;
}
.itineraries_detail h3 .num {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 4.6rem;
	width: 95px;
	line-height: 1;
}
.itineraries_detail h3 .num::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	height: 100px;
	border-right: 1px solid;
	transform-origin: 0 0;
	transform: rotate(35deg);
}
.itineraries_detail h3 .title {
	display: flex;
	align-items: flex-end;
	min-height: 84px;
}
.itineraries_detail .entry_body {
	font-size: 100%;
}
.itineraries_detail .address {
	margin-top: 2em;
	font-size: 1.4rem;
}
.itineraries_detail .address dt {
	font-size: 2rem;
	line-height: 1.5;
}
.itineraries_detail .btn {
	margin-top: 40px;
}
.itineraries_detail .map {
	margin-top: 120px;
}
.itineraries_detail .map iframe {
	width: 100%;
	height: 600px;
}
.itineraries_detail #map {
	margin-top: 120px;
	height: 600px;
}
.itineraries_detail #map .marker {
	display: none;
}
.itineraries_detail #map .infow_title {
	margin-bottom: 5px;
	font-size: 110%;
}
.itineraries_detail .remarks {
	position: relative;
	margin-top: 60px;
}
.itineraries_detail .remarks::before,
.itineraries_detail .remarks::after {
	content: "";
	display: block;
	width: 0;
	height: 30px;
	border-left: 1px solid #ccc;
	margin: 0 auto;
}
.itineraries_detail .remarks p {
	text-align: center;
	background-color: #f2f2f2;
	padding: 15px;
}
.itineraries_detail > section:last-child .remarks:last-child::after {
	content: none;
}
.itineraries_detail > section:last-child .remarks:last-child:empty {
	display: none;
}
@media screen and (min-width: 768px), print {
	.itineraries_detail > section > section {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.itineraries_detail > section > section > * {
		width: 510px;
	}
	.itineraries_detail > section > section.odd {
		flex-direction: row-reverse;
	}
}
@media screen and (max-width: 767px) {
	.itineraries_detail {
		padding: 50px 0;
	}
	.itineraries_detail h2 {
		font-size: 2.2rem;
		margin-bottom: 30px;
	}
	.itineraries_detail section ~ section {
		margin-top: 30px;
	}
	.itineraries_detail h3 {
		padding-left: 75px;
		margin-bottom: 15px;
		font-size: 2.4rem;
	}
	.itineraries_detail h3 .num {
		font-size: 3.6rem;
		width: 70px;
	}
	.itineraries_detail h3 .num::after {
		height: 70px;
	}
	.itineraries_detail h3 .title {
		min-height: 58px;
	}
	.itineraries_detail .ph {
		margin-bottom: 30px;
	}
	.itineraries_detail .address {
		font-size: 1.2rem;
	}
	.itineraries_detail .address dt {
		font-size: 1.8rem;
	}
	.itineraries_detail .btn {
		margin-top: 30px;
	}
	.itineraries_detail .btn a {
		margin: 0 auto;
	}
	.itineraries_detail .map {
		margin-top: 60px;
	}
	.itineraries_detail .map iframe {
		width: 100%;
		height: 300px;
	}
	.itineraries_detail #map {
		margin-top: 60px;
		height: 300px;
	}
	.itineraries_detail .remarks {
		margin-top: 30px;
	}
	.itineraries_detail .remarks::before,
	.itineraries_detail .remarks::after {
		height: 20px;
	}
	.itineraries_detail .remarks p {
		padding: 10px;
	}
}


/* information_list
============================================================================================================ */
.information_list li {
	border-bottom: 1px solid #cccccc;
}
.information_list li a {
	position: relative;
	display: block;
	text-decoration: none;
	font-size: 2rem;
	line-height: 1.7;
}
.information_list li a .title {
	display: block;
	text-decoration: underline;
}
.information_list li a .category {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 4px;
	font-size: 1.4rem;
	line-height: 1.4;
}
.information_list li a .category > * {
	margin-right: 6px;
	margin-bottom: 3px;
	padding: 2px 15px 0;
	border-radius: 100px;
	background-color: #575757;
	color: #fff;
}
@media screen and (min-width: 768px), print {
	.information_list li a {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 50px 10px;
	}
	.information_list li a .title {
		width: calc(100% - 180px);
	}
	.information_list li a:hover .title {
		text-decoration: none;
	}
	.information_list li a .category {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.information_list li a {
		padding: 15px 0;
		font-size: 1.5rem;
	}
	.information_list li a .title {
		margin-bottom: 0.3em;
	}
	.information_list li a .category {
		font-size: 1.2rem;
	}
	.information_list li a .category > * {
		padding: 2px 10px 0;
		color: #fff;
	}
}


/* information_detail
============================================================================================================ */
.information_detail > header {
	margin-bottom: 50px;
	padding: 40px 0;
	border-top: 4px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
}
.information_detail > header .category {
	display: flex;
	flex-wrap: wrap;
	font-size: 1.5rem;
	line-height: 1.5;
	margin-bottom: 5px;
}
.information_detail > header .category > * {
	margin-right: 10px;
	margin-bottom: 5px;
	padding: 2px 15px 0;
	border-radius: 100px;
	background-color: #575757;
	color: #fff;
}
.information_detail > header time {
	display: block;
	font-size: 2rem;
	line-height: 1.6;
}
.information_detail > header h1 {
	font-size: 5rem;
	line-height: 1.3;
}
.information_detail > header time + h1 {
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.information_detail > header {
		margin-bottom: 30px;
		padding: 30px 0 20px;
		border-top-width: 3px;
	}
	.information_detail > header .category {
		font-size: 1.2rem;
	}
	.information_detail > header .category > * {
		margin-right: 6px;
		padding: 2px 10px 0;
	}
	.information_detail > header time {
		font-size: 1.5rem;
	}
	.information_detail > header h1 {
		font-size: 3rem;
	}
	.information_detail > header time + h1 {
		margin-top: 10px;
	}
}


/* about-hiroshima_areas
============================================================================================================ */
.about-hiroshima_areas {
	padding: 120px 0;
	background-color: #f2f2f2;
}
@media screen and (max-width: 767px) {
	.about-hiroshima_areas {
		padding: 50px 0;
	}
}

/* hiroshima_areas
============================================================================================================ */
.hiroshima_areas {
	position: relative;
	padding: 90px 80px 0;
	background-color: #fff;
}
.hiroshima_areas h3,
.hiroshima_areas h2 {
	margin-bottom: 50px;
	font-size: 5rem;
	line-height: 1;
	text-align: center;
}
.hiroshima_areas ul {
	display: flex;
}
.hiroshima_areas ul a {
	display: block;
	height: 100%;
	border-right: 1px solid #cccccc;
	text-decoration: none;
	text-align: center;
	line-height: 1.4;
}
.hiroshima_areas ul a .num {
	display: block;
	width: 34px;
	height: 44px;
	margin: auto;
	padding-top: 10px;
	background: url(../images/ico-pin.svg) no-repeat 50%;
	background-size: 100%;
	color: #fff;
	line-height: 1;
}
.hiroshima_areas ul a .area {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 64px;
}
@media screen and (min-width: 768px), print {
	.hiroshima_areas ul {
		border-left: 1px solid #cccccc;
	}
	.hiroshima_areas ul li {
		width: 100%;
	}
	.hiroshima_areas ul a:hover .area {
		text-decoration: underline;
	}
}
@media screen and (max-width: 767px) {
	.hiroshima_areas {
		padding: 40px 8vw 0;
		overflow: hidden;
	}
	.hiroshima_areas h2,
	.hiroshima_areas h3 {
		margin-bottom: 25px;
		font-size: 2.7rem;
	}
	.hiroshima_areas h2 {
		font-size: 3rem;
	}
	.hiroshima_areas ul {
		flex-wrap: wrap;
	}
	.hiroshima_areas ul li {
		width: 33.33%;
	}
	.hiroshima_areas ul li:nth-child(3n+1) {
		border-left: 1px solid #cccccc;
	}
	.hiroshima_areas ul li:nth-child(n+4) {
		margin-top: 15px;
	}
	.hiroshima_areas ul a {
		line-height: 1.2;
		font-size: 1.1rem;
	}
	.hiroshima_areas ul a .num {
		height: 26px;
		padding-top: 5px;
		background-size: auto 100%;
		font-size: 1.2rem;
	}
	.hiroshima_areas ul a .area {
		height: 32px;
	}
}
.hiroshima_areas .map {
	position: relative;
	margin: 40px -80px 0;
}
.hiroshima_areas .map a {
	position: absolute;
	width: 34px;
	height: 44px;
	margin: auto;
	padding-top: 10px;
	background: url(../images/ico-pin.svg) no-repeat 50%;
	background-size: 100%;
	color: #fff;
	text-align: center;
	text-decoration: none;
	line-height: 1;
}
@media screen and (min-width: 768px), print {
	.hiroshima_areas .map a.num1 {
		top: 408px;
		left: 372px;
	}
	.hiroshima_areas .map a.num2 {
		top: 450px;
		left: 588px;
	}
	.hiroshima_areas .map a.num3 {
		top: 396px;
		left: 828px;
	}
	.hiroshima_areas .map a.num4 {
		top: 196px;
		left: 644px;
	}
	.hiroshima_areas .map a.num5 {
		top: 632px;
		left: 549px;
	}
	.hiroshima_areas .map a.num6 {
		top: 610px;
		left: 150px;
	}
}
@media screen and (max-width: 767px) {
	.hiroshima_areas .map {
		position: relative;
		left: 50%;
		width: 362px;
		transform: translateX(-50%);
		margin: 30px 0 0;
	}
	.hiroshima_areas .map a {
		height: 26px;
		padding-top: 5px;
		background-size: auto 100%;
		font-size: 1.2rem;
	}
	.hiroshima_areas .map a.num1 {
		top: 125px;
		left: 103px;
	}
	.hiroshima_areas .map a.num2 {
		top: 138px;
		left: 181px;
	}
	.hiroshima_areas .map a.num3 {
		top: 124px;
		left: 265px;
	}
	.hiroshima_areas .map a.num4 {
		top: 40px;
		left: 203px;
	}
	.hiroshima_areas .map a.num5 {
		top: 196px;
		left: 174px;
	}
	.hiroshima_areas .map a.num6 {
		top: 189px;
		left: 32px;
	}
}

/* about-hiroshima_detail_main
============================================================================================================ */
.about-hiroshima_detail_main {
	padding: 80px 0;
	background-color: #f2f2f2;
}
.about-hiroshima_detail_main > * {
	position: relative;
	background-color: #fff;
	line-height: 1.9;
}
@media screen and (min-width: 768px), print {
	.about-hiroshima_detail_main > * {
		min-height: 360px;
		padding: 70px 540px 70px 80px;
		font-size: 1.8rem;
	}
	.about-hiroshima_detail_main .img {
		position: absolute;
		bottom: 0;
		right: 0;
	}
}
@media screen and (max-width: 767px) {
	.about-hiroshima_detail_main {
		padding: 30px 5vw;
	}
	.about-hiroshima_detail_main > * {
		padding: 6vw 6vw 0;
	}
	.about-hiroshima_detail_main .img {
		margin: 10px -6vw 0;
	}
	.about-hiroshima_detail_main .img img {
		width: 100%;
	}
}

/* about-hiroshima_detail
============================================================================================================ */
.about-hiroshima_detail > section {
	padding: 100px 0;
}
.about-hiroshima_detail > section + section {
	border-top: 1px solid #cccccc;
}
.about-hiroshima_detail .main_ph {
	margin-bottom: 40px;
}
.about-hiroshima_detail .content p + p {
	margin-top: 1.5em;
}
.about-hiroshima_detail .link {
	margin-top: 30px;
	font-size: 1.4rem;
	line-height: 1.6;
}
.about-hiroshima_detail .link li + li {
	margin-top: 0.4em;
}
.about-hiroshima_detail .link a {
	color: #67a3b7;
}
.about-hiroshima_detail .content .btn {
	margin-top: 40px;
}
@media screen and (max-width: 767px) {
	.about-hiroshima_detail > section {
		padding: 50px 0;
	}
	.about-hiroshima_detail .main_ph {
		margin-bottom: 20px;
	}
	.about-hiroshima_detail .content p + p {
		margin-top: 1.2em;
	}
	.about-hiroshima_detail .link {
		margin-top: 30px;
		font-size: 1.3rem;
	}
	.about-hiroshima_detail .content .btn {
		margin-top: 30px;
	}
	.about-hiroshima_detail .content .btn a {
		margin: 0 auto;
	}
}


.about-hiroshima_detail .reccomend {
	margin-top: 60px;
}
.about-hiroshima_detail .reccomend h4 {
	position: relative;
	font-size: 4rem;
	margin-bottom: 30px;
	line-height: 1;
}
@media screen and (max-width: 767px) {
	.about-hiroshima_detail .reccomend {
		margin-top: 40px;
	}
	.about-hiroshima_detail .reccomend h4 {
		font-size: 2.8rem;
		margin-bottom: 15px;
	}
}


/* basic_contents
============================================================================================================ */
.basic_contents {
	padding-top: 20px;
}
.basic_contents > .lead {
	margin-bottom: 50px;
	padding: 50px 0;
	border-top: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
}
.basic_contents > section + section {
	margin-top: 80px;
}
.basic_contents h2 {
	margin-bottom: 10px;
	font-size: 2.4rem;
	line-height: 1.6;
}
@media screen and (max-width: 767px) {
	.basic_contents {
		padding-top: 10px;
	}
	.basic_contents > .lead {
		margin-bottom: 30px;
		padding: 30px 0;
	}
	.basic_contents > section + section {
		margin-top: 50px;
	}
	.basic_contents h2 {
		font-size: 2rem;
	}
}



/* table
============================================================================================================ */
.basic_table {
	width: 100%;
	table-layout: fixed;
}
.basic_table tr:nth-child(odd) {
	background-color: #f0f4f7;
}
.basic_table th,
.basic_table td {
	padding: 8px 30px;
	vertical-align: top;
}
.basic_table th {
	padding-right: 0;
}
.basic_table.th15 th {
	width: 15%;
}
.basic_table.th20 th {
	width: 20%;
}
.basic_table.th25 th {
	width: 25%;
}
.basic_table.th30 th {
	width: 30%;
}
@media screen and (max-width: 767px) {
	.basic_table th,
	.basic_table td {
		padding: 8px 20px;
	}
	.basic_table th {
		padding-right: 0;
	}
	.basic_table.sp_th15 th {
		width: 15%;
	}
	.basic_table.sp_th20 th {
		width: 20%;
	}
	.basic_table.sp_th25 th {
		width: 25%;
	}
	.basic_table.sp_th30 th {
		width: 30%;
	}
}


/* box_btn
============================================================================================================ */
button.box_btn,
a.box_btn,
a .box_btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 100%;
	width: 260px;
	height: 60px;
	margin: auto;
	background-color: #000;
	text-decoration: none;
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.5;
	border-radius: 100px;
	font-style: normal;
}
button.box_btn {
	display: inline-block;
}
.box_btn.hm {
	height: 50px;
}
.box_btn.al {
	margin-left: 0;
}
.box_btn span {
	position: relative;
	display: block;
	z-index: 3;
}
@media screen and (min-width: 768px), print {
}
@media screen and (max-width: 767px) {
	button.box_btn,
	a.box_btn,
	a .box_btn {
		width: 200px;
		height: 44px;
		font-size: 1.3rem;
	}
	.box_btn.hm {
		height: 40px;
	}
}

.more_btn {
	margin-top: 80px;
}
@media screen and (min-width: 768px), print {
}
@media screen and (max-width: 767px) {
	.more_btn {
		margin-top: 30px;
	}
}

.back_link {
	margin-top: 80px;
	padding-top: 80px;
	border-top: 1px solid #e5e5e5;
	text-align: center;
}
.back_link a {
	position: relative;
	display: inline-block;
	padding-left: 38px;
	font-size: 2.8rem;
	line-height: 1;
}
.back_link a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	margin-top: -2px;
	border-top: 1px solid #0d0d0d;
	border-left: 1px solid #0d0d0d;
	transform-origin: 0 0;
	transform: rotate(-45deg);

}
@media screen and (max-width: 767px) {
	.back_link {
		margin-top: 60px;
		padding-top: 50px;
	}
	.back_link a {
		padding-left: 30px;
		font-size: 2.2rem;
	}
	.back_link a::before {
		width: 16px;
		height: 16px;
	}
}

/* ul / ol
============================================================================================================ */
.dot_li > li {
	position: relative;
	padding-left: 1em;
}
.dot_li > li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

.circle_li > li {
	position: relative;
	padding-left: 1.1em;
}
.circle_li > li::before {
	content: "●";
	position: absolute;
	top: 0;
	left: 0;
	color: #005f8b;
	transform-origin: 0;
	transform: scale(0.8);
}

.parentheses_li > li {
	position: relative;
	padding-left: 2.8em;
}
.parentheses_li > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.parentheses_li_h > li {
	position: relative;
	padding-left: 1.6em;
}
.parentheses_li_h > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}
.parentheses_li_hh > li {
	position: relative;
	padding-left: 2.2em;
}
.parentheses_li_hh > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.point_li > li {
	position: relative;
	padding-left: 1.2em;
}
.point_li > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.square_li > li {
	position: relative;
	padding-left: 0.8em;
}
.square_li > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .8em;
	width: 5px;
	height: 5px;
	background-color: #14143c;
}
@media screen and (max-width: 767px) {
	.square_li > li::before {
		top: 0.6em;
	}
}

.num_li {
	margin-left: 1.8em;
	list-style: decimal;
}
.alphabet_li {
	margin-left: 1.8em;
	list-style: lower-latin;
}

.mt_li > li + li {
	margin-top: 0.8em;
}
@media screen and (max-width: 767px) {
	.sp_mt_li > li + li {
		margin-top: 0.8em;
	}
}

.inline_li > li {
	display: inline-block;
	margin-right: 0.3em;
}



/* .wp-pagenavi
============================================================================================================ */
.wp-pagenavi {
	position: relative;
	margin-top: 100px;
	text-align: center;
	display: flex;
	justify-content: center;
	color: #000;
	font-style: italic;
}
.wp-pagenavi > * {
	position: relative;
	display: block;
	margin: 3px;
	padding: 0 10px;
	color: #000;
	text-decoration: none;
	font-size: 3rem;
	order: 2;
	line-height: 1;
}
.wp-pagenavi a {
	color: #1c1c1c;
	text-decoration: none;
}
.wp-pagenavi .extend {
	width: auto;
	border-width: 0;
}
.wp-pagenavi .current {
	color: #f78b7e;
	text-decoration: underline;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	overflow: hidden;
	width: 24px;
	height: 0;
	padding-top: 1em;
	text-indent: -999em;
}
.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .nextpostslink::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 18px;
	height: 18px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform-origin: 100% 0;
	transform: rotate(45deg);
}
.wp-pagenavi .previouspostslink {
	margin-right: 30px;
	transform: rotate(180deg);
	order: 1;
}
.wp-pagenavi .nextpostslink {
	margin-left: 30px;
	order: 5;
}
@media screen and (min-width: 768px), print {
	.wp-pagenavi a:hover {
		color: #f78b7e;
	}
	.wp-pagenavi .previouspostslink:hover::before,
	.wp-pagenavi .nextpostslink:hover::before {
		border-color: #f78b7e;
	}
}
@media screen and (max-width: 767px) {
	.wp-pagenavi {
		margin: 60px -8vw 0;
		flex-wrap: wrap;
	}
	.wp-pagenavi > * {
		margin: 2px;
		padding: 0 8px;
		font-size: 2rem;
	}
	.wp-pagenavi .extend {
		padding: 0;
	}
	.wp-pagenavi .previouspostslink {
		margin-right: 0;
	}
	.wp-pagenavi .nextpostslink {
		margin-left: 0;
	}
}

