@charset "utf-8";

/* ---------------
	reset
--------------------*/
body, div, main,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
figure, pre, form, fieldset, textarea, p, blockquote, th ,td {
	margin: 0;
	padding: 0;
}

main {
	display: block;
}

ul{
	list-style-type: none;
}

table {
	line-height: 1.6;
	border: 0px;
	border-collapse:collapse;
	font-size: 1.6rem;
}

table th {
	font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	font-weight: normal;
}
textarea {
	padding: 2px 4px;
	font-size: 1.6rem;
	line-height: 1;
	color: #333;
}

input {
	vertical-align: middle;
	margin: 0;
	padding: 0;
}

p {
	line-height: 1.5;
}

img {
	border: none;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
}

address {
	font-style:normal;
}

ul li {
	line-height: 1.4;
}

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

em {
	font-style: normal;
}

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

input[type='search'] {
	-webkit-appearance: none;
}

/* ---------------
　　　共用
--------------- */

html {
    font-size: 62.5%;
}

body  {
	font-size: 1.6rem;
	letter-spacing: 0.03em;
	line-height: 1;
	color: #333;
	-webkit-text-size-adjust: none;
	-webkit-print-color-adjust: exact;
	font-family: 'Roboto', 'Noto Sans JP', sans-serif;
}

a:link {
	border: none;
	color: #333;
	text-decoration: none;
	transition: all 0.1s ease;
}

a:visited {
	border: none;
	color: #333;
	text-decoration: none;
}

a:active {
	border: none;
	color: #333;
	text-decoration: none;
}

a:hover {
	border: none;
	color: #333;
	text-decoration: none;
	transition: all 0.1s ease;
}

@media screen and (min-width: 768px) {

	.alpha a:hover {
		filter: alpha(opacity=70);
		-moz-opacity:0.7;
		opacity:0.7;
		transition: opacity 0.25s ease 0s;
	}

	.alpha a {
		-webkit-transition: all 0.1s ease 0s;
		-moz-transition: all 0.1s ease 0s;
		transition: opacity 0.25s ease 0s;
	}

}

.sp {
	display: none;
}

.pc {
	display: block;
}

a[href^="tel:"] {
    text-decoration: none !important;
	color: #333 !important;
}

img.fit {
	width: 100%;
	height: auto;
}

img.trim_center {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

a[href^="no_large"] {
    pointer-events: none;
}
/*
.wrapper {
	position: relative;
}
*/
br.tb {
	display: none;
}

@media screen and (max-width: 767px) {

	.wrapper {
/*		overflow: hidden;*/
	}

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.columnImage {
		width: 100%;
	}

}

@media screen and (min-width: 768px) {

	br.tb {
		display: block;
	}

}

a.no_link {
	cursor: default;
	text-decoration: none !important;
    pointer-events: none;
}

@media screen and (min-width: 768px) {

	a[href^="tel:"] {
	    pointer-events: none;
	}

}

.main {
	margin: 60px 0 0;
	position: relative;
	z-index: 1;
}

.lg_1 .main,
.lg_2 .main {
	margin-top: 140px;
}

@media screen and (min-width: 768px) {

	.main {
		margin: 90px 0 0;
	}

	.lg_1 .main,
	.lg_2 .main {
		margin-top: 180px;
	}

}


.center {
	text-align: center;
}

.ft_spec {
	font-family: 'Spectral', serif;
}


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

.header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 60px;
	background: #fff;
	display: flex;
	align-items: center;
	z-index: 10;
}

.menu_open .header {
	position: absolute;
	height: auto;
}

.lg_1 .header,
.lg_2 .header {
	top: 80px;
}

.header .logo {
	margin: 0 15px 0 10px;
	width: 126px;
	flex-shrink: 0;
}

.header p {
	font-size: 1.0rem;
	font-weight: 500;
}

.header_link,
.header_parts .search_box {
	display: none;
}

.header_parts {
	margin-left: auto;
}

@media screen and (min-width: 768px) {

	.header {
		height: 90px;
	}

	.lg_1 .header,
	.lg_2 .header,
	.icon_report.svg .header {
		top: 90px;
	}

	.header .logo {
		margin: 0 50px 0 20px;
		width: 180px;
	}

	.header p {
		margin: 0 20px 0 0;
		font-size: 1.4rem;
		min-width: 120px;
	}

	.header_parts {
		display: flex;
		align-items: center;
	}

	.menu_open .header_parts {
		overflow: hidden;
	}

	.header_parts .search_box {
		margin: 0 40px 0 0;
		width: 295px;
		display: block;
		background: #f2e9e9;
		border-color: #f2e9e9;
	}

	.header_parts .search_box .search_input input {
		margin: 0;
		background: #f2e9e9;
	}

	.header_parts .search_box .search_input input::placeholder {
		color: #c9a2a9;
	}

	.header_parts .search_box .search_form {
		padding: 5px 10px 5px 20px;
	}

	.header_parts .search_box .search_submit_btn,
	.header_parts .search_box.active .search_submit_btn,
	.header_parts .search_box:hover .search_submit_btn,
	.header_parts .search_box:focus .search_submit_btn {
		background: url(../images/common/icon_search_p.svg) no-repeat center center / 19px auto;
	}

	.header_link {
		margin: 0 0 0 auto;
		display: flex;
	}

	.header_link li {
		margin: 0 35px 0 0;
		font-size: 1.4rem;
		font-weight: 500;
		white-space: nowrap;
	}

	.header_link li a {
		padding: 10px 0 10px 32px;
		transition: none;
	}

	.header_link .icon_leaflet a {
		background: url(../images/common/icon_leaflet.svg) no-repeat 0 center;
		background-size: 28px auto;
	}

	.header_link .icon_lang a {
		background: url(../images/common/icon_lang.svg) no-repeat 0 center;
		background-size: 28px auto;
	}

	.header_link .icon_info a {
		background: url(../images/common/icon_info.svg) no-repeat 0 center;
		background-size: 28px auto;
	}

	.header_link .icon_help a {
		background: url(../images/common/icon_help.svg) no-repeat 0 center;
		background-size: 28px auto;
	}

	.header_link .icon_leaflet a:hover {
		color: #d395cc;
		background: url(../images/common/icon_leaflet_on.svg) no-repeat 0 center;
		background-size: 28px auto;
	}

	.header_link .icon_lang a:hover {
		color: #d395cc;
		background: url(../images/common/icon_lang_on.svg) no-repeat 0 center;
		background-size: 28px auto;
	}

	.header_link .icon_info a:hover {
		color: #d395cc;
		background: url(../images/common/icon_info_on.svg) no-repeat 0 center;
		background-size: 28px auto;
	}

	.header_link .icon_help a:hover {
		color: #d395cc;
		background: url(../images/common/icon_help_on.svg) no-repeat 0 center;
		background-size: 28px auto;
	}

}

@media screen and (min-width: 768px) and (max-width: 1449px) {

	.header_link li {
		margin: 0 20px 0 0;
	}

	.header_parts .search_box {
		margin: 0 20px 0 0;
		width: 220px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1249px) {

	.header .logo {
		margin: 0 30px 0 10px;
	}

	.header_link li {
		margin: 0 10px 0 0;
	}

	.header_parts .search_box {
		margin: 0 10px 0 0;
		width: 140px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1079px) {

	.header .logo {
		margin: 0 10px 0 10px;
	    width: 140px;
	}

	.header p {
		margin: 0 10px 0 0;
		font-size: 1.2rem;
		min-width: 100px;
	}

}

#menu_btn {
	margin: 0 0 0 auto;
	border-left: 1px solid #f4efe9;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
}

#menu_btn div {
	width: 30px;
	height: 20px;
	position: relative;
	transition: all 0.1s ease 0s;
}

#menu_btn div::before,
#menu_btn div::after,
#menu_btn div span {
	position: absolute;
	content: '';
	width: 30px;
	height: 2px;
	background-color: #7bc3cc;
}

#menu_btn div::before {
	top: 0;
	left: 0;
}

#menu_btn div::after {
	top: 9px;
	left: 0;
}

#menu_btn div span {
	top: 18px;
	left: 0;
}

@media screen and (min-width: 768px) {

	#menu_btn {
		margin: 0;
		border-left: 1px solid #f4efe9;
		width: 90px;
		height: 90px;
		cursor: pointer;
		transition: background-color 0.25s ease 0s;
	}

	#menu_btn div {
		height: 30px;
	}

	#menu_btn:hover {
		background: #7bc3cc;
	}

	#menu_btn:hover div::before,
	#menu_btn:hover div::after,
	#menu_btn:hover div span {
		background-color: #fff;
	}

	#menu_btn div::after {
		top: 20px;
	}

	#menu_btn div span {
		top: 10px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1249px) {

	#menu_btn {
		width: 70px;
	}

}

.menu {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 10;
	padding-top: 60px;
	display: none;
}

.lg_1 .menu,
.lg_2 .menu {
	top: 0px;
}

.menu .inner {
	padding: 0 0 30px;
	background: #fff;
}

.menu h2 {
	margin: 0;
	padding: 25px 20px;
	font-size: 1.8rem;
	font-weight: 500;
	border-bottom: 1px solid #f4ebe9;
}

.menu h2.menu_home {
	display: none;
}

.menu h2 a {
	padding: 5px 0 5px 45px;
	display: block;
	background: url(../images/common/icon_home.svg) no-repeat 0 center / 33px auto;
}

.menu .menu_search_box {
	padding: 20px;
	background: #f4efe9;
}

.menu .search_box {
	margin: 0;
}

.menu .search_box .search_form {
	padding: 7px 12px 7px 15px;
}

.menu .search_box .search_input input {
	font-weight: 500;
}

.menu .search_box .search_submit_btn {
    background-size: 100% auto;
}

.navi_box_wrapper .navi_bottom {
	display: none;
}


.navi_tag_wrapper {
	padding: 20px 20px 30px;
	border-bottom: 1px solid #f4ebe9;
}

.navi_link_wrapper {
	padding: 12px 0 0;
}

.menu .navi_link_wrapper .navi_bottom {
	margin-bottom: 30px;
	padding-top: 0;
}


@media screen and (min-width: 768px) {

	.menu {
		padding: 0;
		background: #fff;
	}

	.lg_1 .menu,
	.lg_2 .menu {
		top: -90px;
	}

	.menu .inner {
		margin: 60px auto 40px;
		padding: 0 20px;
		max-width: 1140px;
	}

	.menu h2 {
		margin: 0 0 40px;
		padding: 0 0 30px;
		font-size: 2.2rem;
	}

	.menu h2.menu_home {
		display: block;
	}

	.menu .menu_search_box {
		display: none;
	}

	.navi_box_wrapper {
		border-bottom: 1px solid #f4ebe9;
	}

	.navi_box_wrapper .navi_bottom {
		display: flex;
	}

	.navi_tag_wrapper {
		padding: 40px 0 0;
		border-bottom: 1px solid #f4ebe9;
	}

	.navi_link_wrapper {
		padding: 40px 0 0;
	}

	.menu .navi_link_wrapper .navi_bottom {
		display: none;
	}

}

.menu .navi_top li,
.menu .navi_middle li {
	border-bottom: 1px solid #f4ebe9;
}

.menu .navi_top li a,
.menu .navi_middle li a {
	padding: 25px 20px 25px 60px;
	display: flex;
}

.menu .navi_top li.tag_plan {
	border: none;
}

.menu .navi_top li.tag_plan ul {
	display: flex;
	padding: 15px 7px;
	background: #f4ebe9;
}

.menu .navi_top li.tag_plan li {
	margin: 0 7px;
	border-radius: 7px;
	overflow: hidden;
	border-bottom: 1px solid #e4d1cd;
	width: calc(50% - 14px);
}

.menu .navi_top li.tag_plan li a {
	padding: 20px 0;
	background: #fff;
	position: relative;
	text-align: center;
	display: block;
}

.menu .navi_top li.tag_plan li a::after {
	position: absolute;
	content: '';
	top: 5px;
	left: 5px;
	width: 5px;
	height: 5px;
	border: 2px solid #408cb2;
	border-radius: 5px;
}

.menu li.icon_leaflet a {
	background: url(../images/common/icon_leaflet_p.svg) no-repeat 20px center;
	background-size: 30px auto;
}

.menu li.icon_plan a {
	background: url(../images/common/icon_plan.svg) no-repeat 20px center;
	background-size: 30px auto;
}

.menu li.icon_ranking a {
	background: url(../images/common/icon_ranking.svg) no-repeat 25px center;
	background-size: 22px auto;
}

.menu li.icon_popular a {
	background: url(../images/common/icon_popular.svg) no-repeat 25px center;
	background-size: 21px auto;
}

.menu li.icon_map a {
	background: url(../images/common/icon_map.svg) no-repeat 18px center;
	background-size: 30px auto;
}

@media screen and (min-width: 768px) {

	.menu .navi_top li {
		border: none;
	}

	.menu .navi_top {
		margin: 40px 0 0;
		display: flex;
		flex-wrap: wrap;
	}

	.menu .navi_middle {
		display: flex;
		flex-wrap: wrap;
	}

	.menu .navi_top li,
	.menu .navi_middle li {
		margin: 0 40px 40px 0;
		width: 340px;
		font-size: 1.6rem;
		text-align: center;
		position: relative;
	}

	.menu .navi_middle li.icon_popular,
	.menu .navi_top li.icon_plan {
		margin-right: 0;
	}

	.menu .navi_top li.icon_plan::before {
		border-radius: 10px 0 0 10px;
	}

	.menu .navi_top li.tag_plan {
		margin-right: 0;
		height: 100%;
		width: 380px;
	}

	.menu .navi_top li.tag_plan::before,
	.menu .navi_top li.tag_plan li::before {
		display: none;
	}

	.menu .navi_top li.tag_plan ul {
		margin: 0;
		padding: 0 10px;
		background: #f4ebe9;
		display: flex;
		border-radius: 0 10px 10px 0;
	}

	.menu .navi_top li.tag_plan li {
		margin: 20px 10px;
		font-size: 1.4rem;
		width: auto;
		border-radius: 5px;
		overflow: hidden;
		border-bottom: 1px solid #e4d1cd;
	}

	.menu .navi_top li.tag_plan li a {
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100px;
		width: 160px;
		background: #fff;
		position: relative;
	}

}

.navi_tag_wrapper h2 {
	margin: 0 0 20px;
	padding: 0 0 0 40px;
	line-height: 1.8;
	font-size: 1.8rem;
	font-weight: 400;
	border: none;
	background: url(../images/top/icon_keyword.svg) no-repeat 0 center / 23px auto;
}

.navi_tag_wrapper .keyword_area,
.navi_tag_wrapper .keyword_time,
.navi_tag_wrapper .keyword_theme {
	background: none;
}

.navi_tag_wrapper .top_keyword_column {
	margin: 0 0 10px;
	padding: 0;
}

.navi_tag_wrapper .top_keyword_column h3 {
	padding: 0;
	background-color: #faf0ee;
	border-radius: 10px;
	font-size: 1.6rem;
}

.navi_tag_wrapper .top_keyword_column h3.open {
	border-radius: 10px 10px 0 0;
}

.navi_tag_wrapper .top_keyword_column h3 span {
	padding: 20px 0 20px 55px;
}

.navi_tag_wrapper .top_keyword_column h3 .plus::before,
.navi_tag_wrapper .top_keyword_column h3 .plus::after {
	background: #9d7466;
	height: 2px;
}

@media screen and (min-width: 768px) {

	.navi_tag_wrapper h2 {
		margin: 0 0 40px;
		padding: 0 0 0 35px;
		font-weight: 500;
	}

	.navi_tag_wrapper .top_keyword_column {
		margin: 0 0 40px;
		align-items: inherit;
	}

	.navi_tag_wrapper .top_keyword_column h3 {
		display: flex;
		width: 225px;
		justify-content: center;
		align-items: center;
	}

	.navi_tag_wrapper .top_keyword_column h3 span {
		padding: 15px 0 15px 40px;
	}

}

.navi_tag_wrapper .top_keyword_column ul {
	margin: 0;
	padding: 0;
	border: none;
	display: block;
	background: #faf0ee;
	border-radius: 0 0 10px 10px;
}

.navi_tag_wrapper .top_keyword_column ul::after {
	display: none;
}

.navi_tag_wrapper .top_keyword_column li {
	margin: 0;
	border-top: 1px solid #eddeda;
}

.navi_tag_wrapper .top_keyword_column li a {
	padding: 10px 20px;
	text-align: left;
	border: none;
}

@media screen and (min-width: 768px) {

	.navi_tag_wrapper .top_keyword_column ul {
		margin: 0 0 -15px;
		background: none;
		display: flex;
		border-radius: 0;
	}

	.navi_tag_wrapper .top_keyword_column ul::after {
		display: none;
	}

	.navi_tag_wrapper .top_keyword_column li {
		margin: 0 0 15px 15px;
		width: 160px;
		border: none;
	}

	.navi_tag_wrapper .top_keyword_column li a {
		padding: 0;
		border-radius: 8px;
		font-size: 1.6rem;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 50px;
		border: 1px solid #dbd8bd;
	}

}

.menu .navi_bottom {
	padding: 10px 20px;
	border-bottom: 1px solid #f4ebe9;
}

.menu .navi_bottom li {
	margin: 18px 0;
}

.menu .navi_bottom li a span {
	padding: 5px 0 5px 40px;
	display: block;
}

.menu .navi_bottom li.icon_new a span {
	background: url(../images/common/icon_new.svg) no-repeat 0 center;
	background-size: 30px auto;
}

.menu .navi_bottom li.icon_lang a span {
	background: url(../images/common/icon_lang.svg) no-repeat 0 center;
	background-size: 30px auto;
}

.menu .navi_bottom li.icon_info a span {
	background: url(../images/common/icon_info.svg) no-repeat 0 center;
	background-size: 30px auto;
}

.menu .navi_bottom li.icon_help a span {
	background: url(../images/common/icon_help.svg) no-repeat 0 center;
	background-size: 30px auto;
}

@media screen and (min-width: 768px) {

	.menu .navi_bottom {
		padding: 0;
		border-bottom: none;
	}

}

.menu .navi_sns_btn {
	padding: 30px 0 10px;
    border-bottom: 1px solid #f4ebe9;
	text-align: center;
}

.menu .navi_sns_column {
	margin: 0 0 30px;
}

.menu .navi_sns_column h3 {
	margin: 0 0 20px;
	font-size: 1.6rem;
	line-height: 1.4;
}

.menu .navi_sns_column h3 span {
	color: #db3b57;
}

.menu .navi_sns_column ul {
	display: flex;
	justify-content: center;
	align-items: center;
}

.menu .navi_sns_column li {
	margin: 0 7px;
	width: 42px;
}

@media screen and (min-width: 768px) {

	.menu .navi_sns_btn {
		padding: 40px 0;
		display: flex;
		align-items: center;
	}

	.menu .navi_sns_column {
		margin: 0 45px 0 0;
		display: flex;
		align-items: center;
	}

	.menu .navi_sns_column:last-child {
		padding: 0 0 0 50px;
		border-left: 1px solid #f4ebe9;
	}

	.menu .navi_sns_column h3 {
		margin: 0 25px 0 0;
	}

}

.menu .navi_link {
	margin: 0 25px;
}

.menu .navi_link li {
	margin: 0 0 20px;
}

.menu .navi_link li a {
	padding: 0 0 0 12px;
	background: url(../images/common/arrow.svg) no-repeat 0 center;
	background-size: 7px auto;
}

.menu_close {
	width: 30px;
	height: 30px;
	background: #fff;
}

.menu > .menu_close {
	position: absolute;
	width: 59px;
	height: 60px;
	top: 0;
	right: 0;
}

.menu .inner .menu_close {
	position: relative;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.menu_close::before,
.menu_close::after {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: #7bc3cc;
	width: 30px;
	height: 2px;
}

.menu_close::before {
	transform: rotate(-45deg);
}

.menu_close::after {
	transform: rotate(45deg);
}

@media screen and (min-width: 768px) {

	.menu_close {
		width: 60px;
		height: 60px;
		cursor: pointer;
	}

	.menu > .menu_close {
		top: 35px;
		right: 35px;
		border: none;
	}

}


#sp_menu_back {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: all 0.5s ease;
  opacity: 0;
  z-index: -1;
  background-color: rgba(0,0,0,0.7);
}

.menu_open #sp_menu_back {
  opacity: 1;
  z-index: 9;
}

/* -----------------
	下層ページ
----------------- */

.path {
	background: #f4ebe9;
	overflow-x: auto;
	white-space: nowrap;
}

.path ol {
	padding: 0;
	display: flex;
	list-style-type: none;
}
.path li {
	font-size: 1.2rem;
}

.path li a,
.path li span {
	padding: 15px 15px 15px 30px;
	display: flex;
	align-items: center;
	line-height: 1.4;
	background: url(../images/common/path.png) no-repeat 0 center;
	background-size: auto 100%;
	white-space: nowrap;
	height: 100%;
}

.path li:last-child a,
.path li:last-child span {
	white-space: inherit;
}

.path li:first-child a {
	padding-left: 15px;
	background: none;
}

@media screen and (min-width: 768px) {

	.path {
		overflow-x: inherit;
		white-space: inherit;
	}

	.path li {
		font-size: 1.4rem;
	}

	.path li a,
	.path li span {
		padding: 15px 20px 15px 40px;
	}

	.path li:first-child a {
		padding-left: 20px;
	}

}

.entry_plan_header {
	margin: 40px 20px 20px;
}

.entry_plan_header h1 {
	margin: 0 0 15px;
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: 600;
}

.entry_plan_header .tag {
	display: flex;
	flex-wrap: wrap;
}

.entry_plan_header .tag li {
	margin: 0 5px 5px 0;
}

.entry_plan_header .tag li a {
	padding: 5px 10px;
	font-size: 1.6rem;
	border: 1px solid #dbd8bd;
	border-radius: 20px;
	display: block;
}

@media screen and (min-width: 768px) {

	.entry_inner {
		margin-left: auto;
		margin-right: auto;
		max-width: 1100px;
	}

	.entry_plan_header {
		margin: 50px auto 40px;
	}

	.entry_plan_header h1 {
		margin: 0 0 30px;
		font-size: 3.4rem;
	}

	.entry_plan_header .tag li {
		margin: 0 10px 10px 0;
	}

	.entry_plan_header .tag li a {
		padding: 3px 20px 5px;
	}

	.entry_plan_header .tag li a:hover {
		color: #c77ebf;
		transform: scale(1.05);
	}

}

@media screen and (min-width: 768px) and (max-width: 1400px) {

	.entry_plan_header h1,
	.entry_plan_header .tag {
		margin-left: 20px;
		margin-right: 20px;
	}

}

.entry_plan_back {
	position: relative;
	overflow: hidden;
}

.plan_slide_wrapper {
	margin: 0 0 30px;
}

.plan_slide_column .slick-list {
	padding: 0 !important;
}

.plan_slide_column .slick-slide {
	margin: 0 5px;
	width: 315px;
	height: 315px;
	border-radius: 30px;
	overflow: hidden;
}

.plan_slide_thumb {
	margin: 15px 0 0;
}

.plan_slide_thumb .slick-dots {
	display: flex;
	justify-content: center;
}

.plan_slide_thumb .slick-dots li {
	margin: 0 5px;
}

.plan_slide_thumb .slick-dots li button {
	display: block;
	width: 20px;
	height: 4px;
	border: none;
	background: #dfd9d9;
	text-indent: -9999px;
}

.plan_slide_thumb .slick-dots li.slick-active button {
	background: #c59191;
}

@media screen and (min-width: 768px) {

	.entry_plan_back::before {
		position: absolute;
		content: '';
		background: #f7f7f3;
		top: 450px;
		width: 100%;
		height: calc(100% - 450px);
		z-index: -1
	}

	.entry_plan_back::after {
		position: absolute;
		content: '';
		background: #84aa57;
		top: 450px;
		right: 0;
		width: calc(50% - 150px);
		height: 650px;
		z-index: -1;
		border-radius: 40px 0 0 40px;
	}

	.plan_slide_wrapper {
		margin: 0 0 100px;
	}

	.plan_slide_column .slick-slide {
		margin: 0 20px;
		width: 600px;
		height: 600px;
		border-radius: 40px;
		overflow: hidden;
	}

	.plan_slide_thumb {
		margin: 30px 0 0;
	}

	.plan_slide_thumb .slick-dots li button {
		width: 40px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1140px) {

	.entry_plan_back::after {
		width: 420px;
	}

}

.entry_plan_detail {
	padding: 40px 20px 50px;
	background: #f7f7f3;
}

.entry_plan_detail h2 {
	margin: 0 0 30px;
	font-size: 2.0rem;
	font-weight: 600;
	line-height: 1.5;
}

.entry_detail_2column {
	margin-bottom: 40px;
}

.entry_detail_2column .column_left p {
	margin: 0 0 30px;
	line-height: 1.5;
	font-size: 1.6rem;
}

@media screen and (min-width: 768px) {

	.entry_plan_detail {
		padding: 0 0 120px;
		background: none;
	}

	.entry_plan_detail h2 {
		margin: 0 0 80px;
		font-size: 3.0rem;
		line-height: 1.3;
		max-width: 640px;
	}

	.entry_detail_2column {
		margin: 0 0 80px;
		display: flex;
		align-items: flex-start;
	}

	.entry_detail_2column .column_left {
		margin: 0 60px 0 0;
		width: 640px;
		flex-shrink: 0;
	}

	.entry_detail_2column .column_left p {
		margin: 0 0 60px;
		font-size: 1.8rem;
	}

}

@media screen and (min-width: 768px) and (max-width: 1140px) {

	.entry_detail_2column .column_left {
		flex-shrink: inherit;
		width: calc(50% - 20px;)
	}

}

.entry_plan_detail .entry_plan_price {
	margin: 0 -20px 50px;
	padding: 30px 20px 20px;
	background: #84aa57;
}

.entry_plan_detail .entry_detail_2column .column_left .entry_plan_price h3 {
	margin: 0 0 20px;
	padding: 0;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	display: flex;
	align-items: center;
	background: none;
	border: none;
}

.entry_plan_detail .entry_detail_2column .column_left .entry_plan_price h3::after {
	display: none;
}

.entry_plan_detail .entry_plan_price h3 span {
	margin: 0 0 0 15px;
	padding: 8px 15px;
	color: #fff;
	font-size: 1.4rem;
	border-radius: 20px;
	display: inline-block;
	background: #679234;
}

.entry_plan_detail .entry_plan_price dl {
	margin: 0 0 15px;
	padding: 20px 30px;
	display: flex;
	width: 100%;
	align-items: center;
	border: 1px solid #fff;
	border-radius: 15px;
}

.entry_plan_detail .entry_plan_price dt {
	margin: 0 40px 0 0;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
}

.entry_plan_detail .entry_plan_price dd {
	color: #fff;
	font-size: 2.6rem;
	font-weight: 600;
}

.entry_plan_detail .entry_plan_price dd span {
	font-size: 1.6rem;
}


@media screen and (min-width: 768px) {

	.entry_plan_detail .entry_plan_price {
		display: none;
	}

}

@media screen and (min-width: 768px) and (max-width: 1140px) {

	.entry_plan_detail {
		margin-left: 20px;
		margin-right: 20px;
	}

}

.entry_detail_2column .column_left h3 {
	margin: 0;
	border-radius: 8px 8px 8px 0;
	padding: 12px 35px 12px 55px;
	border: 1px solid #d0cda5;
	font-size: 1.8rem;
	font-weight: 600;
	color: #886315;
	display: inline-block;
	position: relative;
	background: #f7f7f3;
}

.entry_detail_2column .column_left h3::after {
	position: absolute;
	content: '';
	left: 15px;
	top: -17px;
	width: 33px;
	height: 33px;
	background: url(../images/common/icon_summary.svg) no-repeat;
	background-size: 33px auto;
}

@media screen and (min-width: 768px) {

	.entry_detail_2column .column_left h3 {
		padding: 6px 50px 10px 60px;
		font-size: 2.2rem;
	}

	.entry_detail_2column .column_left h3::after {
		left: 20px;
	}

}

.entry_plan_detail_table {
	margin: -24px 0 0;
	padding: 25px 20px;
	border-radius: 15px;
	border: 1px solid #d0cda5;
}

.entry_plan_detail_table table {
	width: 100%;
}

.entry_plan_detail_table table th {
	padding: 15px 15px 15px 0;
	color: #886315;
	font-weight: normal;
	font-size: 1.6rem;
	border-bottom: 1px solid #d0cda5;
	white-space: nowrap;
	text-align: left;
	vertical-align: top;
}

.entry_plan_detail_table table td {
	padding: 15px 0;
	font-size: 1.6rem;
	border-bottom: 1px solid #d0cda5;
}

.entry_plan_detail_table table tr:last-child th,
.entry_plan_detail_table table tr:last-child td {
	padding-bottom: 0;
	border: none;
}

@media screen and (min-width: 768px) {

	.entry_plan_detail_table {
		margin: -21px 0 0;
		padding: 35px 60px;
	}

	.entry_plan_detail_table table th {
		padding: 25px 40px 25px 0;
	}

	.entry_plan_detail_table table td {
		padding: 25px 0;
	}

}

.entry_detail_2column .column_right {
	display: none;
}

.entry_detail_2column p.note {
	margin: -5px 0 15px 10px;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.3;
	font-weight: 500;
}

@media screen and (min-width: 768px) {

	.entry_detail_2column .column_right {
		padding: 0 60px 20px;
		width: 100%;
		position: relative;
		display: block;
		min-width: 400px;
	}

	.entry_detail_2column .column_right::before {
		position: absolute;
		content: '';
		background: #84aa57;
		top: 0;
		left: 0;
		width: 500%;
		height: 100%;
		z-index: -1;
		border-radius: 0 0 0 40px;
	}

	.entry_detail_2column .column_right h3 {
		margin: 0 0 30px;
		color: #fff;
		font-size: 2.2rem;
		font-weight: 500;
		display: flex;
	}

	.entry_detail_2column .column_right h3 span {
		margin: 0 0 0 20px;
		padding: 5px 20px 8px;
		color: #fff;
		font-size: 1.6rem;
		border-radius: 20px;
		display: inline-block;
		background: #679234;
	}

	.entry_detail_2column .column_right dl {
		margin: 0 0 30px;
		padding: 35px 30px;
		display: flex;
		width: 290px;
		align-items: center;
		border: 1px solid #fff;
		border-radius: 15px;
	}

	.entry_detail_2column .column_right dt {
		margin: 0 40px 0 0;
		color: #fff;
		font-size: 1.8rem;
		font-weight: 600;
	}

	.entry_detail_2column .column_right dd {
		color: #fff;
		font-size: 2.4rem;
		font-weight: 600;
	}

	.entry_detail_2column .column_right dd span {
		font-size: 1.8rem;
	}

	.entry_detail_2column p.note {
		margin: -18px 0 30px 10px;
		font-size: 1.6rem;
		line-height: 1.4;
	}

}

@media screen and (min-width: 768px) and (max-width: 1140px) {

	.entry_detail_2column .column_right {
		width: 400px;
	}

}

.btn_outer .btn_detail,
.btn_outer .btn_reserve,
.btn_outer .btn_reserve_tel {
	margin-left: 20px;
	margin-right: 20px;
}

.btn_detail,
.btn_reserve,
.btn_reserve_tel {
	margin: 30px auto 0;
	text-align: center;
}

.btn_detail a,
.btn_reserve a,
.btn_reserve_tel a {
	margin: 0 auto;
	padding: 5px;
	color: #fff;
	display: block;
	background: #7bc3cc;
	border-radius: 30px;
    box-shadow: 4px 5px 0px 0px #f4e6e6;
}

.btn_detail a > div,
.btn_reserve a > div,
.btn_reserve_tel a > div {
	padding: 10px 17px 2px;
	display: block;
	border: 1px solid #fff;
	border-radius: 25px;
	text-align: center;
	width: 100%;
	position: relative;
}

.btn_detail a > div {
	padding: 17px 17px 15px;
}

.btn_detail a > div::before,
.btn_reserve a > div::before {
	position: absolute;
	content: '';
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	background: #fff url(../images/common/icon_link_reserve_b.svg) no-repeat center center / 14px auto;
}

.btn_reserve a > div span,
.btn_reserve_tel a > div span {
	font-size: 1.4rem;
	font-weight: 500;
}

.btn_detail a div div,
.btn_reserve a div div {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.6;
}

.btn_reserve_tel a > div {
	padding: 22px 0;
}

.btn_reserve_tel a > div span {
	padding: 0 20px 0 0;
	position: relative;
	color: #fff;
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 0;
}

.btn_reserve_tel a > div span::before {
	position: absolute;
	content: '';
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 15px;
	height: 28px;
	background: url(../images/common/icon_tel_link.svg) no-repeat center center / 15px auto;
}

.btn_reserve_tel a div div {
	display: none;
}

@media screen and (min-width: 768px) {

	.btn_outer .btn_detail,
	.btn_outer .btn_reserve,
	.btn_outer .btn_reserve_tel {
		margin-left: 0px;
		margin-right: 0px;
	}

	.btn_detail,
	.btn_reserve,
	.btn_reserve_tel {
		margin: 60px auto 0;
	}

	.btn_detail a,
	.btn_reserve a {
    	box-shadow: 7px 10px 0px 0px #f4e6e6;
		width: 750px;
	}

	.btn_reserve_tel a {
		width: 750px;
	}

	.btn_reserve a > div {
		padding: 15px 20px 5px;
	}

	.btn_detail a > div {
		padding: 20px;
	}

	.btn_detail a > div::before,
	.btn_reserve a > div::before {
		right: 20px;
		width: 50px;
		height: 50px;
		background: #fff url(../images/common/icon_link_reserve_b.svg) no-repeat center center / 22px auto;
	}

	.btn_reserve a > div span {
		font-size: 1.6rem;
	}

	.btn_detail a div div,
	.btn_reserve a div div {
		font-size: 3.0rem;
	}

	.btn_detail a:hover,
	.btn_reserve a:hover {
		transform: scale(1.015);
		background: #c77ebf;
	}

	.btn_reserve_tel a {
		padding: 20px 20px 5px;
		background: #fff;
		box-shadow: none;
		border: 2px solid #7bc3cc;
	}

	.btn_reserve_tel a > div {
		padding: 0;
	}

	.btn_reserve_tel a > div span {
		padding: 0;
		font-size: 2.0rem;
		font-weight: 500;
		color: #333;
		display: block;
	}

	.btn_reserve_tel a > div span::before {
		display: none;
	}

	.btn_reserve_tel a div div {
		padding: 0 0 0 30px;
		font-size: 3.6rem;
		font-weight: 400;
		line-height: 1.6;
		display: inline-block;
		background: url(../images/common/icon_tel.svg) no-repeat 0 center / 24px auto;
	}

}

.plan_mymap {
	padding: 50px 20px 0;
}

.plan_mymap h2 {
	margin: 0 0 35px;
	padding: 0 0 10px;
	font-size: 2.0rem;
	line-height: 1.3;
	font-weight: 600;
	background: url(../images/common/line_point.png) no-repeat 0 bottom / 1100px auto;
}

.plan_mymap h2 span {
	padding: 5px 0 5px 43px;
	display: inline-block;
	background: url(../images/common/icon_point.svg) no-repeat 0 center / 35px auto;
}

.plan_mymap_frame iframe {
	width: 100%;
}

@media screen and (min-width: 768px) {

	.plan_mymap {
		padding: 120px 0 0;
	}

	.plan_mymap h2 {
		margin: 0 0 50px;
		padding: 0 0 12px;
		font-size: 3.0rem;
	}

	.plan_mymap h2 span {
		padding-left: 50px;
		background-size: 42px auto;
	}

}

.plan_osusume {
	padding: 50px 20px 20px;
}

.plan_osusume h2 {
	margin: 0 0 40px;
	padding: 0 0 25px;
	font-size: 2.0rem;
	font-weight: 600;
	background: url(../images/common/line_point.png) no-repeat 0 bottom;
	background-size: 1100px auto;
}

.plan_osusume h2 span {
	padding: 5px 0 5px 40px;
	background: url(../images/common/icon_point.svg) no-repeat 0 center;
	background-size: 35px auto;
}

.plan_osusume li {
	margin: 0 0 30px;
}

.plan_osusume li figure {
	margin: 0 0 30px;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
}

.plan_osusume li figure::before {
  content: "";
  display: block;
  padding-top: 100%;
}

.plan_osusume li figure img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
}

.plan_osusume li h3 {
	margin: 0 0 25px;
	font-size: 2.0rem;
	font-weight: 500;
	color: #886315;
}

.plan_osusume li p {
	font-size: 1.6rem;
	line-height: 1.5;
}

@media screen and (min-width: 768px) {

	.plan_osusume {
		padding: 120px 0 40px;
	}

	.plan_osusume h2 {
		margin: 0 0 90px;
		padding: 0 0 20px;
		font-size: 3.0rem;
	}

	.plan_osusume h2 span {
		padding-left: 50px;
		background: url(../images/common/icon_point.svg) no-repeat 0 center;
		background-size: 42px auto;
	}

	.plan_osusume li {
		margin: 0 0 90px;
		display: flex;
	}

	.plan_osusume li figure {
		margin: 0 60px 0 0;
		width: 370px;
		height: 370px;
		flex-shrink: 0;
	}

	.plan_osusume li h3 {
		margin: 0 0 30px;
		font-size: 2.4rem;
	}

	.plan_osusume li p {
		font-size: 1.8rem;
	}

}

@media screen and (min-width: 768px) and (max-width: 1400px) {

	.plan_osusume {
		margin-left: 20px;
		margin-right: 20px;
	}

}

.plan_info {
	padding: 50px 0 20px;
	background: #f7f7f3;
}

.plan_info h2 {
	margin: 0 20px 40px;
	padding: 5px 0 5px 50px;
	font-size: 2.0rem;
	font-weight: 600;
	background: url(../images/common/icon_detail.svg) no-repeat 0 center;
	background-size: 40px auto;
}

@media screen and (min-width: 768px) {

	.plan_info {
		padding: 120px 0 20px;
	}

	.plan_info h2 {
		margin: 0 0 120px;
		padding: 5px 0 5px 60px;
		font-size: 3.0rem;
		background: url(../images/common/icon_detail.svg) no-repeat 0 center;
		background-size: 52px auto;
	}

}

@media screen and (min-width: 768px) and (max-width: 1400px) {

	.plan_info {
		padding-left: 20px;
		padding-right: 20px;
	}

}

.plan_koutei {
	margin: 0 0 40px;
	padding: 30px 20px;
	width: 100%;
	border-radius: 30px;
	border: 1px solid #d0cda5;
	text-align: center;
}

.plan_koutei h3 {
	margin: 0 0 20px;
	padding: 35px 0 0;
	font-size: 1.8rem;
	font-weight: bold;
	background: url(../images/common/icon_koutei.svg) no-repeat center 0;
	background-size: 25px auto;
}

.plan_koutei ol {
	list-style: none;
    counter-reset: number;
}

.plan_koutei li .koutei_text {
	padding: 24px 20px 24px 30px;
	text-align: left;
	background: #fff;
	border-radius: 20px;
	text-align: left;
	position: relative;
	display: flex;
	align-items: center;
}

.plan_koutei li .koutei_text::before {
	counter-increment: number;
	content: '0'counter(number);
	position: absolute;
	left: 0;
	top: -20px;
	color: #d0cda5;
	border: 1px solid #d0cda5;
	border-radius: 12px 12px 12px 0;
	font-size: 1.8rem;
	margin: auto;
	padding: 10px;
	letter-spacing: 0;
	background: #fff;
}

.plan_koutei li .koutei_text p {
	font-size: 1.6rem;
}

.plan_koutei li .koutei_text .detail_time {
	position: relative;
	padding: 0 60px 0 0;
	margin: 0 35px 0 0;
	white-space: nowrap;
}

.plan_koutei li .koutei_text .detail_time::after {
	position: absolute;
	content: '';
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 30px;
	height: 2.5px;
	background: #d5d5cb;
}

.plan_koutei li .koutei_time {
	margin: 10px 0;
	padding: 16px 0;
	background: url(../images/common/time_arrow.png) no-repeat center bottom;
	background-size: 12px auto;
}

.plan_koutei li .koutei_time p {
	margin: 0 0 5px;
	font-size: 1.8rem;
	font-weight: 600;
	display: inline-block;
	background: #f7f7f3;
}

.plan_koutei li:last-child .koutei_time {
	display: none;
}

@media screen and (min-width: 768px) {

	.plan_koutei {
		margin: 0 0 90px;
		padding: 55px;
	}

	.plan_koutei h3 {
		margin: 0 0 25px;
		padding: 35px 0 0;
		font-size: 2.2rem;
	}

	.plan_koutei li .koutei_text {
		padding: 32px 25px 32px 100px;
	}

	.plan_koutei li .koutei_text::before {
  		left: 30px;
		top: auto;
  		font-size: 1.8rem;
  		padding: 12px;
	}

	.plan_koutei li .koutei_text p {
		font-size: 1.6rem;
	}

	.plan_koutei li .koutei_text .detail_time {
		position: relative;
		padding: 0 60px 0 0;
		margin: 0 35px 0 0;
		white-space: nowrap;
	}

	.plan_koutei li .koutei_text .detail_time::after {
		position: absolute;
		content: '';
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 30px;
		height: 2.5px;
		background: #d5d5cb;
	}

	.plan_koutei li .koutei_time {
		margin: 10px 0;
		padding: 16px 0;
		background: url(../images/common/time_arrow.png) no-repeat center bottom;
		background-size: 12px auto;
	}

	.plan_koutei li .koutei_time p {
		padding: 3px 0;
		font-size: 1.6rem;
	}

}

.plan_info_table,
.plan_cancel {
	margin: 0 20px 30px;
	padding: 20px 0 0;
	border-top: 1px solid #d0cda5;
}

.plan_info_table h3,
.plan_cancel h3 {
	margin: 0 0 30px;
	font-size: 1.8rem;
	font-weight: 500;
	white-space: nowrap;
}

.plan_info_table table,
.plan_cancel table {
	margin: 0 0 15px;
	border: 1px solid #d0cda5;
	width: 100%;
}

.plan_info_table table th,
.plan_cancel table th {
	padding: 10px 15px;
	border-bottom: 1px solid #d0cda5;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: left;
	background: #eeeee8;
	color: #886315;
}

.plan_info_table table td,
.plan_cancel table td {
	padding: 10px 15px;
	border-bottom: 1px solid #d0cda5;
	font-size: 1.4rem;
}

.plan_info_table table td a,
.plan_cancel table td a {
	text-decoration: underline;
	color: #7bc3cc;
}

.plan_info h2 + .plan_info_table {
	padding-top: 0;
	border-top: none;
}

@media screen and (min-width: 768px) {

	.plan_info_table,
	.plan_cancel {
		margin: 0 0 60px;
		padding: 60px 0 0;
		display: flex;
	}

	.plan_info_table h3,
	.plan_cancel h3 {
		margin: 0;
		width: 190px;
		font-size: 2.2rem;
		flex-shrink: 0;
	}

	.plan_info_table table,
	.plan_cancel table {
		margin: 0 0 30px;
	}

	.plan_info_table table th,
	.plan_cancel table th {
		padding: 25px;
		font-size: 1.6rem;
	}

	.plan_info_table table td,
	.plan_cancel table td {
		padding: 20px;
		font-size: 1.6rem;
	}

}

.plan_attention,
.plan_company {
	margin: 0 20px 35px;
	padding: 20px 0 0;
	border-top: 1px solid #d0cda5;
}

.plan_attention h3,
.plan_company h3 {
	margin: 0 0 30px;
	font-size: 1.8rem;
	font-weight: 500;
	white-space: nowrap;
}

.plan_attention_up li,
.plan_attention_bottom li {
	margin: 0 0 15px;
	padding: 0 0 0 18px;
	font-size: 1.6rem;
	position: relative;
}

.plan_attention_up li::before,
.plan_attention_bottom li::before {
	position: absolute;
	content: '';
	width: 10px;
	height: 10px;
	left: 0;
	top: 5px;
	margin: auto;
	background: #ea698a;
	border-radius: 3px;
}

@media screen and (min-width: 768px) {

	.plan_attention,
	.plan_company {
		margin: 0 0 70px;
		padding: 60px 0 0;
		display: flex;
	}

	.plan_attention h3,
	.plan_company h3 {
		margin: 0;
		width: 190px;
		font-size: 2.2rem;
		flex-shrink: 0;
	}

	.plan_attention_up li,
	.plan_attention_bottom li {
		margin: 0 0 20px;
	}

}

.plan_attention_box {
	margin: 20px 0 20px 20px;
	padding: 30px;
	background: #eeeee8;
}

.plan_attention_box h4 {
	margin: 0 0 10px;
	font-size: 1.6rem;
	font-weight: 600;
}

.plan_attention_box p {
	margin: 0 0 10px;
	font-size: 1.4rem;
}

.icon_link {
	padding-left: 20px;
	background: url(../images/common/icon_link.svg) no-repeat 0 center;
	background-size: 15px auto;
}

.plan_attention_box table {
	margin: 10px 0 0;
	border-top: 1px solid #d0cda5;
}

.plan_attention_box table th {
	padding: 10px 5px 10px 0;
	border-bottom: 1px solid #d0cda5;
	font-weight: 500;
	text-align: left;
	white-space: nowrap;
	font-size: 1.4rem;
}

.plan_attention_box table td {
	padding: 10px 10px;
	border-bottom: 1px solid #d0cda5;
	font-size: 1.4rem;
}

@media screen and (min-width: 768px) {

	.plan_attention_box {
		margin: 20px;
	}

	.plan_attention_box h4 {
		margin: 0 0 15px;
		font-size: 1.8rem;
	}

	.plan_attention_box p {
		font-size: 1.6rem;
	}

	.plan_attention_box table {
		margin: 20px 0 0;
		width: 100%;
	}

	.plan_attention_box table th {
		padding: 15px 5px 15px 20px;
		font-size: 1.6rem;
	}

	.plan_attention_box table td {
		padding: 15px 20px;
		font-size: 1.6rem;
	}

}

.plan_cancel p {
	margin: 0 0 20px;
	font-size: 1.6rem;
}

.plan_cancel p.note {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 1.4rem;
	color: #6f6f6f;
}

.plan_cancel table th {
	width: 50%;
}

@media screen and (min-width: 768px) {

	.plan_cancel p {
		font-size: 1.8rem;
	}

	.plan_cancel p.note {
		padding-left: 1em;
		text-indent: -1em;
		font-size: 1.6rem;
		color: #6f6f6f;
	}

	.plan_cancel table th {
		width: 45%;
	}

}

.plan_company p {
	margin: 0 0 10px;
	font-size: 1.6rem;
	line-height: 1.5;
}

.plan_company li {
	margin: 0 0 10px;
}

.plan_company li a {
	padding: 0 0 0 10px;
	background: url(../images/common/arrow.svg) no-repeat 0 center;
	background-size: 6px auto;
}

@media screen and (min-width: 768px) {

	.plan_company p {
		margin: 0 0 15px;
		font-size: 1.8rem;
	}

	.plan_company li {
		margin: 0 0 12px;
	}

}

.plan_contact {
	margin: 40px 20px 25px;
	padding: 35px 30px 20px;
	border: 5px solid #efefe2;
	border-radius: 30px;
	background: #fff;
	text-align: center;
}

.plan_contact h3 {
	margin: 0 0 25px;
	font-size: 1.8rem;
	font-weight: 500;
}

.plan_contact_company {
	margin: 0 0 15px;
}

.plan_contact_company h4 {
	margin: 0 0 10px;
	font-size: 1.6rem;
	line-height: 1.4;
}

.plan_contact_tel {
	margin: 0 -30px 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.plan_contact_tel dt {
	margin: 0 10px 0 0;
	width: 24px;
}

.plan_contact_tel dd {
	font-size: 3.6rem;
	font-weight: 500;
}

.plan_contact_hour {
	display: flex;
	align-items: center;
	justify-content: center;
}

.plan_contact_hour dt {
	margin: 0 10px 0 0;
	font-size: 1.4rem;
	line-height: 1.4;
	white-space: nowrap;
}

.plan_contact_hour dd {
	font-size: 1.4rem;
	line-height: 1.4;
	text-align: left;
}

.plan_contact p strong {
	font-size: 1.8rem;
	color: #ea698a;
	font-weight: 600;
}

@media screen and (min-width: 768px) {

	.plan_contact {
		margin: 80px 0 100px;
		padding: 50px;
	}

	.plan_contact h3 {
		margin: 0 0 30px;
		font-size: 2.2rem;
		font-weight: 600;
	}

	.plan_contact_company {
		margin: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.plan_contact_company h4 {
		margin: 0;
		font-size: 1.8rem;
	}

	.plan_contact_tel {
		margin: 0 40px;
	}

	.plan_contact_hour dt {
		margin: 0 15px 0 0;
		font-size: 1.6rem;
	}

	.plan_contact_hour dd {
		font-size: 1.6rem;
	}

	.plan_contact p strong {
		font-size: 2.0rem;
	}

}

.plan_report {
	padding: 50px 20px;
}

.plan_report h2 {
	margin: 0 0 35px;
	padding: 47px 0 0;
	font-size: 2.0rem;
	font-weight: 600;
	text-align: center;
	background: url(../images/common/icon_report.svg) no-repeat center 0;
	background-size: 45px auto;
}

.plan_report_list {
	border: 1px solid #a66daf;
	border-radius: 30px;
}

.plan_report_list li .plan_report_header {
	padding: 15px;
	border-top: 1px solid #a66daf;
	background: url(../images/common/line_plan.png) no-repeat 0 bottom;
	background-size: 1100px auto;
}

.plan_report_list li:first-child .plan_report_header {
	border: none;
}

.plan_report_list li .plan_report_header h3 {
	padding: 12px 0 12px 18px;
	color: #a66daf;
	font-size: 1.8rem;
	font-weight: 500;
	background: url(../images/common/icon_report_title.svg) no-repeat 0 2px;
	background-size: 17px auto;
}

@media screen and (min-width: 768px) {

	.plan_report {
		padding: 120px 0;
	}

	.plan_report h2 {
		margin: 0 0 80px;
		padding: 70px 0 0;
		font-size: 3.0rem;
		background: url(../images/common/icon_report.svg) no-repeat center 0;
		background-size: 57px auto;
	}

	.plan_report_list li .plan_report_header {
		padding: 20px 30px;
	}

	.plan_report_list li .plan_report_header h3 {
		padding: 15px 0 15px 25px;
		font-size: 2.2rem;
		font-weight: 600;
		background: url(../images/common/icon_report_title.svg) no-repeat 0 0;
		background-size: 21px auto;
	}

}

@media screen and (min-width: 768px) and (max-width: 1400px) {

	.plan_report {
		margin-left: 20px;
		margin-right: 20px;
	}

}

.plan_report_list li .plan_report_column {
	padding: 35px 25px 20px;
}

.plan_report_list li .plan_report_column figure {
	margin-bottom: 15px;
	border-radius: 10px;
	overflow: hidden;
}

.plan_report_list li .plan_report_img2column {
	display: block;
}

.plan_report_list li .plan_report_img2column figure {
	margin: 0 0 20px;
}

.plan_report_list li .plan_report_text p {
	margin: 0 0 10px;
	line-height: 1.5;
	font-size: 1.6rem;
}

.plan_report_list li .plan_report_text p a {
	text-decoration: underline;
	color: #7bc3cc;
}

.plan_report_list li .plan_report_text p a[href^="http"] {
	margin-left: 5px;
	padding-left: 20px;
	background: url(../images/common/icon_link.svg) no-repeat 0 center / 15px auto;
}

.plan_report_list li .plan_report_text p.note {
	margin: 0 0 10px;
	padding-left: 1em;
	text-indent: -1em;
	font-size: 1.4rem;
	color: #6f6f6f;
}

@media screen and (min-width: 768px) {

	.plan_report_list li .plan_report_column {
		padding: 60px;
		display: flex;
		align-items: flex-start;
	}

	.plan_report_list li .plan_report_column figure {
		margin: 0;
		border-radius: 20px;
	}

	.plan_report_list li .plan_report_column figure.img_1left {
		width: 50%;
		flex-shrink: 0;
	}

	.plan_report_list li .plan_report_column figure.img_1left + .plan_report_text {
		margin: 0 0 0 40px;
		width: calc(50% - 40px);
	}

	.plan_report_list li .plan_report_column figure.img_1right {
		width: 50%;
		flex-shrink: 0;
		order: 2;
	}

	.plan_report_list li .plan_report_column figure.img_1right + .plan_report_text {
		margin-right: 40px;
		width: calc(50% - 40px);
		order: 1;
	}

	.plan_report_list li .plan_report_img2column {
		display: block;
	}

	.plan_report_list li .plan_report_img2column .plan_report_img {
		margin: 0 0 30px;
		display: flex;
		justify-content: space-between;
	}

	.plan_report_list li .plan_report_img2column .plan_report_img figure {
		width: calc(50% - 10px);
	}

	.plan_report_list li .plan_report_text p {
		margin: 0 0 15px;
		font-size: 1.8rem;
	}

	.plan_report_list li .plan_report_text p.note {
		margin: 0 0 15px;
		font-size: 1.6rem;
	}

}

.plan_report_list li .btn_report_link {
	margin: 20px 0;
}

.plan_report_list li .btn_report_link a {
	padding: 15px 25px;
	border: 1px solid #2699a7;
	color: #2699a7;
	font-size: 1.6rem;
	border-radius: 50px;
	display: inline-block;
}

.plan_report_list li .btn_report_link a span {
	padding: 0 0 0 40px;
	position: relative;
	display: inline-block;
}

.plan_report_list li .btn_report_link a span::before {
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	background: #7bc3cc url(../images/common/icon_link_w.svg) no-repeat center center / 15px auto;
}

@media screen and (min-width: 768px) {

	.plan_report_list li .btn_report_link {
		margin: 20px 0 0;
		display: inline-block;
	}

	.plan_report_list li .btn_report_link a {
		padding: 18px 32px;
		font-size: 1.8rem;
		text-align: center;
	}

	.plan_report_list li .btn_report_link a:hover {
		border: 1px solid #a66daf;
		color: #a66daf;

	}

	.plan_report_list li .btn_report_link a:hover span::before {
		background-color: #a66daf;
	}

}

.plan_report_free.entry_column {
	margin: 40px auto 0;
}

@media screen and (min-width: 768px) {

	.plan_report_free.entry_column {
		margin: 60px auto 0;
	}

}

.entry_keyword_search {
	padding: 30px 20px;
	text-align: center;
	background: #f4ebe9;
}

.search_box {
	margin: 0 0 20px;
	width: 100%;
	display: inline-block;
	border: 2px solid #e399a0;
	border-radius: 45px;
	overflow: hidden;
	background: #e399a0;
	transition: all 0.1s ease 0s;
}

.search_box .search_form {
	padding: 15px 25px;
	text-align: left;
}

.search_box .search_input {
	display: flex;
	justify-content: space-between;
}

.search_box .search_input input {
	margin: 0 15px 0 0;
	background: #e399a0;
	color: #fff;
	font-weight: 600;
	font-size: 1.6rem;
	border: none;
	width: 100%;
	outline: none;
	transition: all 0.1s ease 0s;
}

.search_box .search_input input::placeholder {
	color: #fff;
	transition: all 0.1s ease 0s;
}

.search_box .search_submit_btn {
	background: url(../images/common/icon_search.svg) no-repeat;
	background-size: 30px auto;
	width: 32px;
	height: 30px;
	border: none;
	text-indent: -9999px;
	transition: all 0.1s ease 0s;
}

@media screen and (min-width: 768px) {

	.entry_keyword_search {
		padding: 60px 0 30px;
	}

	.search_box {
		margin: 0;
		width: 580px;
	}

	.search_box.active,
	.search_box:hover,
	.search_box:focus {
		background: #fff;
	}

	.search_box.active .search_submit_btn,
	.search_box:hover .search_submit_btn,
	.search_box:focus .search_submit_btn {
		background: url(../images/common/icon_search_on.svg) no-repeat;
		background-size: 30px auto;
	}

	.search_box.active .search_input input,
	.search_box:hover .search_input input,
	.search_box:focus .search_input input {
		background: #fff;
		color: #333;
	}

	.search_box.active .search_input input::placeholder,
	.search_box:hover .search_input input::placeholder,
	.search_box:focus .search_input input::placeholder {
		color: #333;;
	}

}

.btn_back {
	margin: 10px 0;
}

.btn_back a {
	padding: 7px 0 7px 35px;
	font-size: 1.6rem;
	background: url(../images/common/btn_arrow_b_left.png) no-repeat 0 center;
	background-size: 30px auto;
	transition: none;
}

@media screen and (min-width: 768px) {

	.btn_back {
		margin: 30px 0;
	}

	.btn_back a {
		padding: 5px 0 5px 40px;
		font-size: 2.0rem;
	}

	.btn_back a:hover {
		color: #c77ebf;
		background: url(../images/common/btn_arrow_p_left.png) no-repeat 0 center;
		background-size: 30px auto;
	}

}

/* -----------------
	top
----------------- */

.top_plan_tag {
	display: flex;
}

.top_plan_tag h2 {
	font-weight: 500;
	font-size: 1.2rem;
	white-space: nowrap;
}

.top_plan_tag h2 a {
	padding: 16px 0 16px 10px;
	color: #fff;
	display: block;
	width: 120px;
	flex-shrink: 0;
	background: #7bc3cc;
	border-radius: 0 40px 40px 0;
}

.top_plan_tag h2 a span {
	padding: 15px 0 15px 35px;
	background: url(../images/common/btn_arrow_w.png) no-repeat 0 center;
	background-size: 30px auto;
}

@media screen and (min-width: 768px) {

	.top_plan_tag {
		align-items: flex-start;
	}

	.top_plan_tag h2 {
		font-size: 1.6rem;
		letter-spacing: 0.2em;
	}

	.top_plan_tag h2 a {
		padding: 22px 0 22px 30px;
		width: 190px;
	}

	.top_plan_tag h2 a:hover {
		background: #c77ebf;
	}

	.top_plan_tag h2 a span {
		padding: 22px 0 22px 40px;
	}

}

.top_plan_tag_list {
	margin: 0 0 0 5px;
	overflow-x: auto;
	width: 100%;
	background: #f4efe9;
	display: flex;
	align-items: center;
	position: relative;
}

.top_plan_tag_list::after {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	bottom: 0;
	width: 60px;
	height: 100%;
	background: #f4efe9;
	border-radius: 60px 0 0 60px;
}

.top_plan_tag_inner {
	padding: 5px 15px;
	display: flex;
	align-items: center;
}

.top_plan_tag_inner::after {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	bottom: 0;
	width: 60px;
	height: 100%;
	background: #fff;
}

.top_plan_tag_list .top_plan_tag_box {
	margin: 0 5px;
	font-size: 1.2rem;
	position: relative;
	z-index: 2;
}

.top_plan_tag_list .top_plan_tag_box a {
	padding: 7px 12px;
	background: #fff;
	display: block;
	border-radius: 15px;
    box-shadow: 0px 0px 5px 0px rgba(153, 126, 93, 0.1);
	white-space: nowrap;
}

@media screen and (min-width: 768px) {

	.top_plan_tag_list {
		margin: 0 0 0 10px;
	}

	.top_plan_tag_inner {
		padding: 10px 20px;
	}

	.top_plan_tag_list .top_plan_tag_box {
		margin: 5px 10px;
		letter-spacing: 0.2em;
		font-size: 1.6rem;
	}

	.top_plan_tag_list .top_plan_tag_box a {
		padding: 7px 20px;
	}

	.top_plan_tag_list .top_plan_tag_box a:hover {
		transform: scale(1.1);
		color: #c77ebf;
	}

}

.top_main {
	padding: 10px 0 0;
	position: relative;
	z-index: 3;
	border-radius: 0 0 50px 50px;
}


@media screen and (min-width: 768px) {

	.top_main {
		padding: 50px 0 0;
		border-radius: 0 0 25px 25px;
	}

}

.top_sns_btn {
	display: none;
}

@media screen and (min-width: 768px) {

	.top_sns_btn {
		display: block;
		position: absolute;
		top: 10px;
		right: 0;
		z-index: 2;
		border-radius: 10px;
		overflow: hidden;
	}

	.top_sns_btn .sns_parts {
		padding: 20px 15px;
		display: flex;
		background: #fff;
	}

	.sns_parts li {
		margin: 0 5px;
		width: 30px;
	}

	.sns_parts li a {
		display: block;
	}

}

.top_slide_wrapper {
	margin: 0 0 35px;
	padding: 0 0 20px;
	background: #fff;
	overflow: hidden;
	border-radius: 0 0 25px 25px;
}

.top_slide .slide_img_box {
	height: 250px;
	margin: 0;
}

.top_slide .slide_img_box a {
	position: relative;
	height: 250px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	border-radius: 20px;
	overflow: hidden;
}

.top_slide .slide_img_box a figure {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	transition: all 0.3s ease 0s;
}

@media screen and (min-width: 768px) {

	.top_slide_wrapper {
		margin: 0;
		padding: 0 0 85px;
		border-radius: 0 0 50px 50px;
	}

	.top_slide .slide_img_box {
		height: 630px;
		margin: 0 40px;
	}

	.top_slide .slide_img_box a {
		height: 630px;
		border-radius: 40px;
	}

}

.top_slide_title {
	margin: 0 20px;
	padding: 20px 60px 5px 20px;
	border-radius: 20px 20px 0 0;
	width: 630px;
	background: #fff;
	position: relative;
	z-index: 2;
}

.top_slide_title h3 {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4;
	color: #35929e;
	position: relative;
}

.top_slide_title h3::before {
	position: absolute;
	content: '';
	right: -40px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	background: #7bc3cc url(../images/common/icon_link_l_w.svg) no-repeat center center / 13px auto;
	transition: all 0.3s ease 0s;
}

@media screen and (min-width: 768px) {

	.top_slide_title {
		margin: 0;
		padding: 35px 50px 10px 30px;
		border-radius: 0 50px 0 0;
		width: 630px;
	}

	.top_slide_title h3 {
		font-size: 2.4rem;
		transition: all 0.3s ease 0s;
	}

	.top_slide_title h3::before {
		right: -65px;
		transition: all 0.3s ease 0s;
	}

	.top_slide .slide_img_box a:hover figure {
		transform: scale(1.05);
	}

	.top_slide .slide_img_box a:hover .top_slide_title h3 {
		color: #d395cc;
	}

	.top_slide .slide_img_box a:hover .top_slide_title h3::before {
		background-color: #d395cc;
	}

}

.top_slide_btn.slick-arrow {
	padding: 0;
	width: 13px;
	height: 24px;
	border-radius: 50%;
	border: none;
	text-indent: -9999px;
	transition: all 0.1s ease 0s;
	z-index: 2;
	position: absolute;
	top: 114px;
}

.top_slide_btn.slick-prev {
	left: 20px;
	background: url(../images/top/slide_left.png) no-repeat center center;
    background-size: 13px auto;
}

.top_slide_btn.slick-next {
	right: 20px;
	background: url(../images/top/slide_right.png) no-repeat center center;
    background-size: 13px auto;
}

.top_slide_dot {
	margin: 10px 0 0;
}

@media screen and (min-width: 768px) {

	.top_slide_btn.slick-arrow {
		width: 70px;
		height: 70px;
		opacity: 0.7;
		top: 280px;
	}

	.top_slide_btn.slick-prev {
		left: 10px;
		background: #7bc3cc url(../images/top/slide_left.png) no-repeat center center;
    	background-size: 13px auto;
	}

	.top_slide_btn.slick-next {
		right: 10px;
		background: #7bc3cc url(../images/top/slide_right.png) no-repeat center center;
    	background-size: 13px auto;
	}

	.top_slide_dot {
		margin: 20px 0 0;
	}

}

.top_bnr_about {
	position: absolute;
	right: 0;
	bottom: -10px;
	width: 130px;
}

.top_bnr_about img {
	-webkit-filter: drop-shadow(0px 3px 2px rgba(0, 0, 0, 0.2));
	filter: drop-shadow(0px 3px 2px rgba(0, 0, 0, 0.2));
}

@media screen and (min-width: 768px) {

	.top_bnr_about {
		right: 60px;
		bottom: 100px;
		width: 335px;
		cursor: pointer;
		transition: all 0.3s ease 0s;
	}

	.top_bnr_about img {
		-webkit-filter: drop-shadow(0px 4px 2px rgba(0, 0, 0, 0.3));
		filter: drop-shadow(0px 4px 2px rgba(0, 0, 0, 0.3));
	}

	.top_bnr_about:hover {
		transform: scale(1.05);
	}

}

.top_bnr_survay p a {
	position: absolute;
	right: 0;
	bottom: -48px;
	-webkit-filter: drop-shadow(0px 3px 2px rgba(0, 0, 0, 0.2));
	filter: drop-shadow(0px 3px 2px rgba(0, 0, 0, 0.2));
	border-left: 1px solid #47341d;
	border-top: 1px solid #47341d;
	border-bottom: 1px solid #47341d;
	border-radius: 7px 0 0 7px;
	background: #fff;
	padding: 8px 0 8px 25px;
	width: 129px;
	display: block;
	font-size: 1.0rem;
}

.top_bnr_survay a::before {
	position: absolute;
	content: '';
	left: 5px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 15px;
	height: 15px;
	border-radius: 15px;
	background: #7bc3cc url(../images/common/icon_link_l_w.svg) no-repeat center center / 7px auto;
}

@media screen and (min-width: 768px) {

	.top_bnr_survay p a {
		right: 65px;
		bottom: 40px;
		-webkit-filter: drop-shadow(0px 4px 2px rgba(0, 0, 0, 0.3));
		filter: drop-shadow(0px 4px 2px rgba(0, 0, 0, 0.3));
		border: 1px solid #47341d;
		border-radius: 10px;
		transition: all 0.2s ease 0s;
		padding: 10px 0 10px 50px;
		width: 325px;
		font-size: 1.8rem;
	}

	.top_bnr_survay a::before {
		left: 15px;
		width: 30px;
		height: 30px;
		border-radius: 30px;
		background: #7bc3cc url(../images/common/icon_link_l_w.svg) no-repeat center center / 15px auto;
		transition: all 0.2s ease 0s;
	}

	.top_bnr_survay p a:hover {
		right: 62px;
		bottom: 37px;
		width: 331px;
		padding: 13px 0 13px 53px;
		color: #d395cc;
	}

	.top_bnr_survay a:hover::before {
		background-color: #d395cc;
	}

}

@media screen and (min-width: 768px) {

	#btn_stalker {
    	pointer-events: none;
    	position: fixed;
    	top: -30px;
    	left: -30px;
    	transform: translate(0,0);
    	transition: all 0.12s ease-out;
    	z-index: 9999;
    	opacity: 0;
	}

	#btn_stalker.open {
    	opacity: 1;
	}

	#stalker_icon {
    	width: 60px;
    	height: 60px;
    	transform: scale(0);
    	transition: transform 0.1s ease-out;
		background: url(../images/common/btn_cur.png) no-repeat 0 0 / 60px auto;
	}

	#btn_stalker.open #stalker_icon {
    	transform: scale(1);
	}

}

.top_topics {
	margin: -60px 0 0;
	background: #f7f7f3;
	position: relative;
}

.top_topics_outer {
	padding: 0 0 1px;
	position: relative;
	mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox=" 0 0 1675 1675" width="100%" preserveAspectRatio="xMidYMid slice" fill="none"><circle cx="837.5" cy="837.5" r="837.5" fill="black" /></svg>');
	mask-position: bottom center;
	mask-repeat: no-repeat;
	mask-size: 1000%;
	background: #48351e;
}

.top_topics_inner {
	padding: 0 0 5px;
	position: relative;
	mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox=" 0 0 1675 1675" width="100%" preserveAspectRatio="xMidYMid slice" fill="none"><circle cx="837.5" cy="837.5" r="837.5" fill="black" /></svg>');
	mask-position: bottom center;
	mask-repeat: no-repeat;
	mask-size: 1000%;
	background: #f7f7f3;
}

.top_topics_wrapper {
	padding: 60px 0 90px;
	position: relative;
	mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox=" 0 0 1675 1675" width="100%" preserveAspectRatio="xMidYMid slice" fill="none"><circle cx="837.5" cy="837.5" r="837.5" fill="black" /></svg>');
	mask-position: bottom center;
	mask-repeat: no-repeat;
	mask-size: 1000%;
	background: url(../images/top/top_main_back_pc.jpg) no-repeat center top / cover;
}

.top_topics_header {
	margin: 0 0 15px;
}

.top_topics_header h2 {
	margin: 0 0 15px;
	padding: 0 0 0 20px;
	font-family: "Lato", sans-serif;
	font-weight: 400;
	color: #fff;
	font-size: 1.2rem;
	letter-spacing: 0.18em;
	position: relative;
}

.top_topics_header h2::after {
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #fff;
	width: 15px;
	height: 1px;
}

@media screen and (min-width: 768px) {

	.top_topics {
		margin: -50px 0 0;
	}

	.top_topics_outer {
		mask-size: 650%;
	}

	.top_topics_inner {
		mask-size: 650%;
	}

	.top_topics_wrapper {
		padding: 150px 0 260px;
		mask-size: 650%;
		background: url(../images/top/top_main_back_pc.jpg) no-repeat center top -70px / cover;
	}

	.top_topics_header {
		margin: 0 0 20px 90px;
		display: flex;
		align-items: center;
	}

	.top_topics_header h2 {
		margin: 0 30px 0 0;
		padding: 0;
		font-size: 2.4rem;
	}

	.top_topics_header h2::after {
		display: none;
	}

}

.top_topics_slide {
	padding: 0;
}

.top_topics_slide .slick-track {
    left: -92px;
}

.top_topics_slide .slick-slide {
	margin: 0 10px;
	width: 160px !important;
	background: #fff;
}

.top_topics_slide .slick-slide a {
	padding: 5px;
	display: block;
}

@media screen and (min-width: 768px) {

	.top_topics_slide {
		padding: 0 0 0 80px;
	}

	.top_topics_slide .slick-track {
    	left: auto;
	}

	.top_topics_slide .slick-list {
		padding: 10px;
	}

	.top_topics_slide .slick-slide {
		margin: 0 50px 0 0;
		width: 325px !important;
		background: #fff;
		transition: all 0.3s ease 0s;
	}

	.top_topics_slide .slick-slide a {
		padding: 5px;
		display: block;
	}

	.top_topics_slide .slick-slide:hover {
		transform: scale(1.05);
	}

}

.top_topics_navi .slick-arrow {
	width: 9px;
	height: 16px;
	border: none;
	position: absolute;
	top: 160px;
	margin: auto;
	z-index: 3;
}

.top_topics_navi .slick-prev {
	left: calc(50% - 187px);
	background: url(../images/top/slide_left.png) no-repeat 0 0 / 9px auto;
}

.top_topics_navi .slick-next {
	right: calc(50% - 187px);
	background: url(../images/top/slide_right.png) no-repeat 0 0 / 9px auto;
}

@media screen and (min-width: 768px) {

	.top_topics_navi {
		display: flex;
		align-items: center;
	}

	.top_topics_navi .slick-arrow {
		position: relative;
		top: auto;
		width: 13px;
		height: 26px;
	}

	.top_topics_navi .slick-prev {
		left: auto;
		background: url(../images/top/slide_left.png) no-repeat 0 0 / 13px auto;
	}

	.top_topics_navi .slick-next {
		right: auto;
		background: url(../images/top/slide_right.png) no-repeat 0 0 / 13px auto;
	}

}

.top_topics_dot {
	position: absolute;
	left: 0;
	right: 0;
	top: 265px;
	margin: auto;
	z-index: 2;
}

.top_topics_dot .slick-dots {
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_topics_dot .slick-dots li {
	margin: 0 2px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_topics_dot .slick-dots li button {
	margin: 0 2.5px;
	padding: 0;
	width: 7px;
	height: 7px;
	text-indent: -9999px;
	border: none;
	background: none;
	border-radius: 50%;
	background: #fff;
	overflow: hidden;
}

.top_topics_dot .slick-dots li.slick-active button {
	width: 12px;
	height: 12px;
	background: #7bc3cc;
	border: 3.5px solid #fff;
}

@media screen and (min-width: 768px) {

	.top_topics_dot {
		margin: 0 25px;
		position: relative;
		left: auto;
		right: auto;
		top: auto;
	}

}

.top_search_bnr {
	background: #f7f7f3;
	position: relative;
	z-index: 3;
}

.top_search_bnr ul {
	display: flex;
	justify-content: center;
}

.top_search_bnr li {
	margin: -50px 0 0 20px;
}

.top_search_bnr li:first-child {
	margin-left: 0;
}

.top_search_bnr li a {
	display: block;
}

.top_search_bnr li img {
	width: 160px;
}

@media screen and (min-width: 768px) {

	.top_search_bnr li {
		margin: -100px 0 0 40px;
	}

	.top_search_bnr li img {
		transition: all 0.3s ease 0s;
		width: 530px;
	}

	.top_search_bnr li a:hover img {
		transform: scale(1.05);
	}

}

.top_news {
	padding: 0 10px;
	background: #f7f7f3;
	position: relative;
}

.top_news::before {
	position: absolute;
	content: '';
	background: #f1ede7;
	top: 0;
	left: 0;
	width: 100%;
	height: 240px;
}

.top_news_box {
	padding: 20px 0;
	background: #fff;
    box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.1);
	position: relative;
	z-index: 1;
}

.top_news_box h2 {
	padding: 22px 45px 0 30px;
	font-size: 2.4rem;
	font-weight: 300;
	display: inline-block;
	position: relative;
	white-space: nowrap;
	background: url(../images/top/icon_top_new.svg) no-repeat right top / 40px auto;
}
@media screen and (min-width: 768px) {

	.top_news {
		padding: 0 50px;
	}

	.top_news::before {
		height: 265px;
	}

	.top_news_box {
		padding: 80px 50px 65px;
		background: #fff;
    	box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.1);
	}

	.top_news_box h2 {
		margin: 0;
		padding: 20px 45px 0 0;
		font-size: 3.0rem;
	}

}

.top_news_list {
	margin: 20px 0 0;
}

.top_news_box li {
	margin: 0;
	background: url(../images/top/line_news.png) repeat-x 0 top / 1100px auto;
}

.top_news_box li a {
	padding: 15px 30px;
	display: block;
}

.top_news_box li:first-child {
	display: list-item;
}

.top_news_box li time {
	margin: 0 0 5px;
	display: block;
	font-size: 1.4rem;
}

.top_news_box li div {
	font-size: 1.6rem;
}

@media screen and (min-width: 768px) {

	.top_news_box li a {
		padding: 26px 0;
		display: flex;
	}

	.top_news_box li time {
		margin: 0 50px 0 0;
		white-space: nowrap;
		font-size: 1.8rem;
	}

	.top_news_box li div {
		transition: all 0.1s ease 0s;
		font-size: 1.8rem;
	}

	.top_news_box li a:hover div {
		color: #c77ebf;
	}

}

.top_news_box .txt_link {
	margin: 0 0 5px;
	padding: 20px 0 0 20px;
	font-size: 1.6rem;
	background: url(../images/top/line_news.png) repeat-x 0 top / 1100px auto;
}

.top_news_box .txt_link a {
	padding: 0 0 0 12px;
	text-decoration: none;
	color: #333;
	background: url(../images/common/arrow.svg) no-repeat 0 5px / 7px auto;
}

@media screen and (min-width: 768px) {

	.top_news_box .txt_link {
		margin: 0 0 10px;
		padding: 30px 0 0;
		font-size: 1.6rem;
	}

	.top_news_box .txt_link a {
		padding: 0 0 0 12px;
		background: url(../images/common/arrow.svg) no-repeat 0 5px / 7px auto;
	}

}

.top_ranking {
	padding: 40px 0 50px;
	background: #f7f7f3;
}

.top_popular {
	padding: 40px 0;
	background: #f1ede7;
}

.top_ranking_header {
	padding: 40px 0 25px;
	background: url(../images/common/icon_ranking.svg) no-repeat center 0;
	background-size: 22px auto;
	text-align: center;
}

.top_popular_header {
	padding: 45px 0 20px;
	background: url(../images/common/icon_popular.svg) no-repeat center 0;
	background-size: 21px auto;
	text-align: center;
}

@media screen and (min-width: 768px) {

	.top_ranking {
		padding: 80px 0 85px;
	}

	.top_popular {
		padding: 80px 0 100px;
	}

	.top_ranking_header {
		padding: 40px 0 60px;
	}

	.top_popular_header {
		padding: 45px 0;
	}

}

.top_ranking_header h2,
.top_popular_header h2 {
	font-size: 3.0rem;
	font-weight: 100;
}

.top_ranking_header h2 span {
	margin: 0 0 15px;
	padding: 0 0 20px;
	font-size: 1.4rem;
	font-weight: 300;
	color: #c55f8a;
	display: block;
	background: url(../images/top/icon_top_ranking.svg) no-repeat center bottom;
	background-size: 230px auto;
}

@media screen and (min-width: 768px) {

	.top_ranking_header h2,
	.top_popular_header h2 {
		font-size: 5.0rem;
	}

	.top_ranking_header h2 span {
		margin: 0 0 20px;
		padding: 0 0 30px;
		font-size: 2.2rem;
		background: url(../images/top/icon_top_ranking.svg) no-repeat center bottom;
		background-size: 373px auto;
	}

}

.top_popular_header h2 > span {
	margin: 0 0 15px;
	padding: 0;
	font-size: 1.4rem;
	font-weight: 300;
	color: #468732;
	display: block;
}

.top_popular_header h2 span span {
	padding: 0 22px;
	position: relative;
}

.top_popular_header h2 span span::before {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 12px;
	height: 17px;
	background: url(../images/top/popular_title_left.svg) no-repeat 0 center / 12px auto;
}

.top_popular_header h2 span span::after {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 14px;
	height: 15px;
	background: url(../images/top/popular_title_right.svg) no-repeat 0 center / 14px auto;
}

@media screen and (min-width: 768px) {

	.top_popular_header h2 > span {
		margin: 0 0 20px;
		font-size: 2.2rem;
	}

	.top_popular_header h2 span span {
		padding: 0 33px;
	}

	.top_popular_header h2 span span::before {
		width: 19px;
		height: 27px;
		background: url(../images/top/popular_title_left.svg) no-repeat 0 center / 19px auto;
	}

	.top_popular_header h2 span span::after {
		width: 23px;
		height: 25px;
		background: url(../images/top/popular_title_right.svg) no-repeat 0 center / 22px auto;
	}

}

.top_ranking_column,
.top_popular_column {
	position: relative;
}

.ranking_text,
.popular_text {
	width: 156px;
	position: absolute;
	right: 10px;
	bottom: 50px;
	z-index: 2;
}

.top_ranking_slide .icon_rank {
	margin: 0 0 7px;
}

@media screen and (min-width: 768px) {

	.ranking_text,
	.popular_text {
		width: 223px;
		left: 50px;
		top: -10px;
		right: auto;
		bottom: auto;
	}

	.popular_text {
		top: 0;
	}

	.top_ranking_slide .icon_rank {
		margin: 0 0 15px;
	}

}

.top_ranking_slide,
.top_popular_slide {
	z-index: 2;
}

.top_ranking_unit {
  margin: 0 10px;
  display: flex;
  flex-wrap: wrap;
}

.top_popular_unit {
  margin: 0 10px;
  display: flex;
  flex-wrap: wrap;
}

.top_ranking_unit.slick-slide,
.top_popular_unit.slick-slide {
	padding: 0 10px;
	display: flex !important;
	flex-wrap: wrap;
}

.top_ranking_box {
	margin: 0 10px 20px;
	width: calc(50% - 20px);
	position: relative;
}

.top_popular_box {
	margin: 0 auto 25px;
	width: calc(33.3333% - 10px);
	position: relative;
}

.slick-slide .top_ranking_box,
.slick-slide .top_popular_box {
	margin: 0 10px 25px;
	width: calc(50% - 20px);
}

.top_ranking_box a,
.top_popular_box a {
	display: block;
}

.plan_index_body a,
.top_ranking_box a {
	position: relative;
}

.top_ranking_box .plan_tag_box,
.top_popular_box .plan_tag_box {
	position: absolute;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
}

.plan_index_body .plan_tag_box {
	display: flex;
	flex-wrap: wrap;
}

.top_ranking_box p.plan_tag,
.top_popular_box p.plan_tag {
	display: inline-block;
	padding: 3px 9px;
	font-size: 1.0rem;
	border-radius: 5px 5px 5px 0;
	margin: 0 3px 3px 0;
}

.plan_index_body p.plan_tag {
	display: inline-block;
	padding: 5px 10px;
	font-size: 1.2rem;
	border-radius: 8px 8px 8px 0;
	margin: 0 5px 5px 0;
}

.plan_index_body p.plan_packman,
.top_ranking_box p.plan_packman,
.top_popular_box p.plan_packman {
 	background: #000;
	color: #fff;
}

.top_ranking_box p.plan_packman span,
.top_popular_box p.plan_packman span {
	padding: 0 15px;
	background: url(../images/common/icon_packman1.png) no-repeat left center / 12px auto,
				url(../images/common/icon_packman2.png) no-repeat right center / 12px auto;
}

.plan_index_body p.plan_packman span {
	padding: 0 22px;
	background: url(../images/common/icon_packman1.png) no-repeat left center / 18px auto,
				url(../images/common/icon_packman2.png) no-repeat right center / 18px auto;
}

.plan_index_body p.plan_today,
.top_ranking_box p.plan_today,
.top_popular_box p.plan_today {
	background: #63a94a;
	color: #fff;
}

.plan_index_body p.plan_popular,
.top_ranking_box p.plan_popular,
.top_popular_box p.plan_popular {
	background: #894aa9;
	color: #fff;
}

.plan_index_body p.plan_family,
.top_ranking_box p.plan_family,
.top_popular_box p.plan_family {
	background: #27a0b6;
	color: #fff;
}

.plan_index_body p.plan_single,
.top_ranking_box p.plan_single,
.top_popular_box p.plan_single {
	background: #d76eb3;
	color: #fff;
}

.plan_index_body p.plan_otoku,
.top_ranking_box p.plan_otoku,
.top_popular_box p.plan_otoku {
	background: #d74c39;
	color: #fff;
}

.top_ranking_box figure,
.top_popular_box figure {
	border-radius: 0 20px 0 20px;
	overflow: hidden;
	position: relative;
	top: 10px;
}

.top_ranking_box figure div,
.top_popular_box figure div {
	width: 100%;
	padding-top: 100%;
	position: relative;
}

.top_ranking_box figure img,
.top_popular_box figure img {
	position: absolute;
	top: 0;
}

.top_ranking_box h3,
.top_popular_box h3 {
	margin: 20px 0 0;
	font-size: 1.4rem;
	line-height: 1.4;
	font-weight: 500;
}

.ranking_slide_btn.slick-arrow,
.popular_slide_btn.slick-arrow {
	padding: 0;
	text-indent: -9999px;
	border: none;
	width: 50px;
	height: 50px;
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 60px;
	margin: auto;
}

.ranking_slide_btn.slick-prev,
.popular_slide_btn.slick-prev {
	left: 5px;
	background: url(../images/top/slide_right_sp.png) no-repeat 0 0 / 50px auto;
}

.ranking_slide_btn.slick-next,
.popular_slide_btn.slick-next {
	right: 5px;
	background: url(../images/top/slide_left_sp.png) no-repeat 0 0 / 50px auto;
}

.ranking_slide_dot,
.popular_slide_dot {
	margin: -5px 0 35px;
}

@media screen and (min-width: 768px) {

	.popular_slide_btn,
	.popular_slide_dot,
	.ranking_slide_dot {
		display: none;
	}

	.top_popular_unit {
		margin: 0 0 60px;
	}
/*
	.top_popular_unit:first-child .top_popular_box:nth-child(1),
	.top_popular_unit:first-child .top_popular_box:nth-child(2),
	.top_popular_unit:first-child .top_popular_box:nth-child(3)	{
		display: block;
	}
*/

	.top_ranking_unit {
		display: flex;
		flex-wrap: wrap;
	}

	.top_ranking_column,
	.top_popular_column {
		margin: 0 auto;
		width: min(95%,1100px);
	}

	.top_ranking_box,
	.top_popular_box {
		margin: 0 40px 40px 0;
		width: calc(33.3333% - 27px);
		position: relative;
	}

	.top_ranking_box {
		margin-bottom: 50px;
	}

	.top_ranking_box:nth-child(3n),
	.top_popular_box:nth-child(3n) {
		margin-right: 0;
	}

	.plan_index_body p.plan_tag,
	.top_ranking_box p.plan_tag,
	.top_popular_box p.plan_tag {
		margin: 0 5px 5px 0;
		padding: 6px 10px;
		font-size: 1.2rem;
		border-radius: 10px 10px 10px 0;
		display: inline-block;
	}

	.plan_index_body p.plan_packman span,
	.top_ranking_box p.plan_packman span,
	.top_popular_box p.plan_packman span {
		padding: 2px 25px;
		background-size: 22px auto;
	}

	.top_ranking_box figure,
	.top_popular_box figure {
		border-radius: 0 40px 0 40px;
		height: auto;
		top: 15px;
	}

	.top_ranking_box a figure img,
	.top_popular_box a figure img {
		transition: all 0.1s ease 0s;
	}

	.top_ranking_box a:hover figure img,
	.top_popular_box a:hover figure img {
		transform: scale(1.05);
	}

	.top_ranking_box h3,
	.top_popular_box h3 {
		margin: 30px 0 0;
		font-size: 1.8rem;
	}

}

.btn_link_b {
	text-align: center;
	font-size: 1.6rem;
}

.btn_link_b a {
	padding: 0 0 0 35px;
	position: relative;
	transition: none;
}

.btn_link_b a::before {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 30px;
  height: 30px;
  border-radius: 30px;
  background: #7bc3cc url(../images/common/icon_link_l_w.svg) no-repeat center center / 11px auto;
}

@media screen and (min-width: 768px) {

	.btn_link_b {
		font-size: 2.0rem;
	}

	.btn_link_b a {
		padding: 0 0 0 37px;
	}

	.btn_link_b a:hover {
		color: #c77ebf;
	}

	.btn_link_b a::before {
  		width: 30px;
  		height: 30px;
  		background-size: 15px auto;
	}

	.btn_link_b a:hover::before {
		background-color: #a66daf;
	}

}

.top_keyword {
	padding: 50px 0;
	text-align: center;
}

.top_keyword h2 {
	margin: 0 0 30px;
	padding: 45px 0 0;
	font-size: 2.4rem;
	font-weight: 300;
	display: inline-block;
	background: url(../images/top/icon_keyword.svg) no-repeat center 0;
	background-size: 23px auto;
}

.keyword_area,
.keyword_time,
.keyword_theme {
	background: #f7f7f3;
}

.top_keyword_column h3 {
	font-size: 1.6rem;
	color: #9d7466;
	width: 100%;
	text-align: left;
	position: relative;
}

.top_keyword_column h3 span {
	padding: 22px 20px 22px 58px;
	display: block;
}

.top_keyword_column h3 .plus {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
	width: 14px;
	height: 14px;
}

.top_keyword_column h3 .plus::before,
.top_keyword_column h3 .plus::after {
	position: absolute;
	content: '';
	width: 14px;
	height: 3.5px;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #7bc3cc;
	transition: all 0.1s ease 0s;
}

.top_keyword_column h3 .plus::after {
	transform: rotate(-90deg);
}

.top_keyword_column h3.open .plus::after {
	transform: rotate(0deg);
}

.keyword_area h3 span {
	background: url(../images/top/icon_area.svg) no-repeat 20px center;
	background-size: 26px auto;
}

.keyword_price h3 span {
	background: url(../images/top/icon_price.svg) no-repeat 20px center;
	background-size: 26px auto;
}

.keyword_time h3 span {
	background: url(../images/top/icon_time.svg) no-repeat 20px center;
	background-size: 26px auto;
}

.keyword_vehicle h3 span {
	background: url(../images/top/icon_vehicle.svg) no-repeat 20px center;
	background-size: 24px auto;
}

.keyword_theme h3 span {
	background: url(../images/top/icon_theme.svg) no-repeat 20px center;
	background-size: 24px auto;
}

@media screen and (min-width: 768px) {

	.top_keyword {
		padding: 80px 25px;
	}

	.top_keyword h2 {
		margin: 0 0 50px;
		font-size: 3.0rem;
	}

	.top_keyword_column {
		padding: 20px 30px;
		display: flex;
		align-items: center;
	}

	.top_keyword_column h3 {
		padding: 15px 0 15px;
		font-size: 1.8rem;
		width: 217px;
		flex-shrink: 0;
	}

	.top_keyword_column h3 span {
		padding: 15px 0 15px 45px;
	}

	.top_keyword_column h3 .plus {
		display: none;
	}

	.keyword_area h3 span {
		background: url(../images/top/icon_area.svg) no-repeat 0 center;
		background-size: 33px auto;
	}

	.keyword_price h3 span {
		background: url(../images/top/icon_price.svg) no-repeat 0 center;
		background-size: 33px auto;
	}

	.keyword_time h3 span {
		background: url(../images/top/icon_time.svg) no-repeat 0 center;
		background-size: 33px auto;
	}

	.keyword_vehicle h3 span {
		background: url(../images/top/icon_vehicle.svg) no-repeat 0 center;
		background-size: 30px auto;
	}

	.keyword_theme h3 span {
		background: url(../images/top/icon_theme.svg) no-repeat 0 center;
		background-size: 30px auto;
	}

}

.top_keyword_list {
	display: none;
}

.top_keyword_column ul {
	margin: 0 20px;
	padding: 10px 0;
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #dfd8d2;
}

.top_keyword_column li {
	margin: 5px 5px 5px 0;
	text-align: left;
}

.top_keyword_column li a {
	padding: 8px 16px;
	border-radius: 30px;
	border: 1px solid #dbd8bd;
	font-size: 1.4rem;
	display: block;
}

@media screen and (min-width: 768px) {

	.top_keyword_list {
		display: block;
	}

	.top_keyword_column ul {
		margin: 0;
		padding: 0 0 0 20px;
		position: relative;
		border: none;
	}

	.top_keyword_column ul::after {
		position: absolute;
		content: '';
		left: 0;
		top: 10px;
		bottom: 0;
		width: 1px;
		height: calc(100% - 20px);
		background: #dfd8d2;
	}

	.top_keyword_column li {
		margin: 10px 0 10px 20px;
	}

	.top_keyword_column li a {
		padding: 7px 30px;
		font-size: 1.8rem;
		transition: all 0.1s ease 0s;
	}

	.top_keyword_column li a:hover {
		color: #c77ebf;
		transform: scale(1.05);
	}

}

.top_osusume {
	padding: 40px 0;
	background: #f7f7f3;
	text-align: center;
}

.top_osusume h2 {
	padding: 40px 0 30px;
	font-size: 2.4rem;
	font-weight: 300;
	display: inline-block;
	background: url(../images/top/icon_osusume.svg) no-repeat center 0;
	background-size: 35px auto;
}

.top_osusume_bnr {
	margin: 0 0 10px;
}

.top_osusume_bnr .top_osusume_bnr_box {
	margin: 0 5px;
 	width: 160px;
}
/*
.top_osusume_bnr .slick-track {
	left: -85px;
}
*/
@media screen and (min-width: 768px) {

	.top_osusume {
		padding: 80px 0;
	}

	.top_osusume h2 {
		padding: 45px 0;
		font-size: 3.0rem;
	}

	.top_osusume_bnr {
		margin: 0 -10px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		position: relative;
	}

	.top_osusume_bnr .top_osusume_bnr_box {
		margin: 0 10px 20px;
		width: 260px;
	}

	.top_osusume_bnr .slick-track {
		left: auto;
	}

	a.ov_zoom img {
		transition: all 0.1s ease 0s;
	}

	a.ov_zoom:hover img {
		transform: scale(1.05);
	}

}

@media screen and (min-width: 768px) and (max-width: 1140px) {

	.top_osusume_bnr {
		margin: 0 0 40px;
	}

}

.top_osusume_bnr_outer {
	margin: 0 0 30px;
	padding: 0 20px;
	position: relative;
}
/*
.osusume_slide_btn {
	position: absolute;
	top: 0;
	left: 5px;
	width: calc(100% - 10px);
	height: calc(100% - 25px);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
*/
.osusume_slide_btn.slick-arrow {
	padding: 0;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border: none;
	text-indent: -9999px;
	transition: all 0.1s ease 0s;
	z-index: 2;
	opacity: 0.7;
	position: absolute;
	top: -32px;
}

.osusume_slide_btn.slick-prev {
	left: -15px;
	background: #7bc3cc url(../images/top/slide_left.png) no-repeat center center;
    background-size: 12px auto;
}

.osusume_slide_btn.slick-next {
	right: -15px;
	background: #7bc3cc url(../images/top/slide_right.png) no-repeat center center;
    background-size: 12px auto;
}

@media screen and (min-width: 768px) {

	.top_osusume_bnr_outer {
		margin: 0 0 50px;
		padding: 0;
	}

	.osusume_slide_btn.slick-arrow {
		top: -38px;
	}

	.osusume_slide_btn.slick-prev {
		left: -18px;
	}

	.osusume_slide_btn.slick-next {
		right: -18px;
	}

}

.top_slide_dot .slick-dots,
.ranking_slide_dot .slick-dots,
.popular_slide_dot .slick-dots,
.osusume_slide_dot .slick-dots {
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_slide_dot .slick-dots li,
.ranking_slide_dot .slick-dots li,
.popular_slide_dot .slick-dots li,
.osusume_slide_dot .slick-dots li {
	margin: 0 2px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_slide_dot .slick-dots li button,
.ranking_slide_dot .slick-dots li button,
.popular_slide_dot .slick-dots li button,
.osusume_slide_dot .slick-dots li button {
	padding: 0;
	width: 12px;
	height: 12px;
	text-indent: -9999px;
	border: none;
	background: none;
	border: 2px solid #f7f7f3;
	border-radius: 50%;
	background: #aabec1;
	overflow: hidden;
}

.top_slide_dot .slick-dots li.slick-active button,
.ranking_slide_dot .slick-dots li.slick-active button,
.popular_slide_dot .slick-dots li.slick-active button,
.osusume_slide_dot .slick-dots li.slick-active button {
	width: 12px;
	height: 12px;
	background: #fff;
	border: 3.5px solid #7bc3cc;
}

@media screen and (min-width: 768px) {
}

.top_aichi_bnr {
	padding: 35px 0 15px;
	background: url(../images/top/line_up.png) no-repeat 0 0 / 1100px auto,
				url(../images/top/line_bottom.png) no-repeat 0 bottom / 1100px auto;
}

.top_aichi_bnr h3 {
	margin: 0 0 30px;
	font-size: 1.8rem;
	font-weight: 300;
	color: #da7171;
}

.top_aichi_bnr li {
	margin: 0 20px 25px;
}

.top_aichi_bnr li figure {
	margin: 0 0 15px;
}

.top_aichi_bnr li p {
	font-size: 1.4rem;
	text-align: left;
}

@media screen and (min-width: 768px) {

	.top_aichi_bnr {
		padding: 60px 0 0;
	}

	.top_aichi_bnr h3 {
		margin: 0 0 45px;
		font-size: 2.6rem;
	}

	.top_aichi_bnr ul {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}

	.top_aichi_bnr li {
		margin: 0 50px 60px 0;
		width: calc(50% - 25px)
	}

	.top_aichi_bnr li:last-child {
		margin-right: 0;
	}

	.top_aichi_bnr li figure {
		margin: 0 0 25px;
	}

	.top_aichi_bnr li p {
		font-size: 1.6rem;
	}

}

@media screen and (min-width: 768px) and (max-width: 1140px) {

	.top_aichi_bnr {
		margin-left: 20px;
		margin-right: 20px;
	}

}

.top_sns {
	padding: 40px 20px;
	background: url(../images/top/top_sns_back.jpg) no-repeat top center;
	background-size: auto 100%;
	background-attachment: fixed;
}

.top_sns h2 {
	margin: 0 -20px 30px;
	padding: 60px 0 0;
	color: #fff;
	font-size: 2.3rem;
	font-weight: 500;
	text-align: center;
	background: url(../images/top/icon_sns.svg) no-repeat 20% 0;
	background-size: 170px auto;
}

.top_sns_outer {
	margin: 0 0 20px;
	padding: 30px 10px 10px;
	background: #f7f7f3;
}

.top_sns h3 {
	margin: 0 0 15px;
	font-size: 2.0rem;
	line-height: 1.6;
	font-weight: 300;
	text-align: center;
}

.top_sns h3 img {
	margin: 0 0 10px;
	width: 130px;
}

.top_sns h3 span {
	font-size: 1.8rem;
	font-weight: 500;
	display: block;
}

.top_sns h4 {
	margin: 0 0 12px;
	padding: 0 0 12px;
	font-size: 2.2rem;
	font-weight: 500;
	text-align: center;
	position: relative;
}

.top_sns h4::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	bottom: 0;
	width: 30px;
	height: 3px;
	margin: auto;
	background: #db3b57;
}

.top_sns_box {
	margin: 0 auto 20px;
	max-width: 500px;
}

.top_sns_box iframe {
	height: 380px !important;
}

@media screen and (min-width: 768px) {

	.top_sns {
		padding: 120px 0 70px;
		background: url(../images/top/top_sns_back.jpg) no-repeat top center;
		background-size: cover;
		background-attachment: fixed;
	}

	.top_sns h2 {
		margin: 0 0 50px;
		font-size: 3.0rem;
		background: url(../images/top/icon_sns.svg) no-repeat 43% 0;
		background-size: 170px auto;
	}

	.top_sns_outer {
		margin: 0 0 50px;
		padding: 60px 40px;
	}

	.top_sns h3 {
		margin: 0 0 30px;
		font-size: 3.0rem;
	}

	.top_sns h3 img {
		width: 180px;
	}

	.top_sns h3 span {
		font-size: 2.4rem;
	}

	.top_sns h4 {
		margin: 0 0 15px;
		padding: 0 0 15px;
		font-size: 2.6rem;
	}

	.top_sns_2column {
		margin: 0 -20px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}

	.top_sns_box {
		margin: 0 20px;
		padding: 0;
		width: 470px;
		max-width: 470px;
	}

	.top_sns_box > div {
		min-width: 440px;
	}

	.top_sns_box iframe {
		height: 530px !important;
	}

	.top_sns_aichi .top_sns_box iframe {
		height: 565px !important;
	}

}

@media screen and (min-width: 768px) and (max-width: 1160px) {

	.top_sns_2column {
		margin: 0;
	}

}

#top_sns_insta {
	display: flex;
	flex-wrap: wrap;
}

#top_sns_insta li {
	width: 33.333333%;
	height: auto;
	position: relative;
	overflow: hidden;
}

#top_sns_insta li img {
	object-fit: cover;
	aspect-ratio: 1 / 1;
}

#top_sns_instali li a:hover {
	opacity: 0.7;
}


.top_footer_banner {
	padding: 30px 0 20px;
	background: #f4ebe9;
}

.top_footer_banner ul {
	margin: 0 15px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.top_footer_banner li {
	margin: 0 5px 10px;
	width: calc(50% - 10px);
}

@media screen and (min-width: 768px) {

	.top_footer_banner {
		padding: 40px 0 0;
	}

	.top_footer_banner ul {
		margin: 0 -20px;
	}

	.top_footer_banner li {
		margin: 0 20px 40px;
		width: 245px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1140px) {

	.top_footer_banner ul {
		margin: 0;
	}

	.top_footer_banner li {
		margin: 0 10px 20px;
	}

}

/* -----------------
	下層ページ
----------------- */

.page_title {
	padding: 15px 0 0;
	background: #f7f7f3;
	border-bottom: 2px solid #e7e7d3;
}

.page_title .inner {
	margin: 0 auto;
	padding: 0 0 35px;
	position: relative;
}

.page_title .inner::after {
	position: absolute;
	content: '';
	left: 20px;
	bottom: 0;
	width: 50px;
	height: 5px;
	background: #db3b57;
}

.page_title h1 {
	padding: 22px 20px 0;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.2;
	background: url(../images/common/icon_title_sp.png) no-repeat 3px 0;
	background-size: 40px auto;
}

.bottom_link {
	margin: 20px auto 30px;
	padding: 20px 0;
	border-top: 1px solid #d0cda5;
	text-align: center;
}

@media screen and (min-width: 768px) {

	.page_title {
		padding: 25px 0 0;
	}

	.page_title .inner {
		padding: 0 0 50px;
		width: 1160px;
	}

	.page_title .inner::after {
		left: 30px;
		width: 100px;
	}

	.page_title h1 {
		padding: 28px 30px 0;
		font-size: 3.4rem;
		background: url(../images/common/icon_title_pc.png) no-repeat 0 0;
		background-size: 48px auto;
	}

	.bottom_link {
		margin: 60px auto;
		width: 1100px;
		padding: 30px 0 130px;
	}

}

/* -----------------
	お知らせ一覧
----------------- */

.page_wrapper {
	background: #f7f7f3;
}

.page_header .entry_inner {
	height: 125px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.page_header .entry_inner::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 50px;
	height: 5px;
	background: #db3b57;
}

.page_header h1 {
	font-size: 3.0rem;
	font-weight: 100;
}

@media screen and (min-width: 768px) {

	.page_header .entry_inner {
		height: 190px;
		justify-content: flex-start;
	}

	.page_header .entry_inner::after {
		right: auto;
		width: 100px;
	}

	.page_header h1 {
		font-size: 4.2rem;
	}

}

.page_box {
	background: #fff;
	border-radius: 40px 40px 0 0;
}

.page_box .entry_inner {
	padding: 30px 20px 60px;
}

.index_news_list li {
	font-size: 1.6rem;
}

.index_news_list li a {
	padding: 15px 0;
	display: flex;
	flex-wrap: wrap;
	background: url(../images/top/line_news.png) no-repeat 0 bottom / 1100px auto;
}

.index_news_list li time {
	margin: 0 0 10px;
	display: block;
}

@media screen and (min-width: 768px) {

	.page_box {
		border-radius: 80px 80px 0 0;
	}

	.page_box .entry_inner {
		padding: 100px 0 130px;
	}

	.index_news_list li {
		font-size: 1.8rem;
	}

	.index_news_list li a {
		padding: 25px 20px;
		flex-wrap: nowrap;
	}

	.index_news_list li time {
		margin: 0 40px 0 0;
		white-space: nowrap;
	}

	.index_news_list li a:hover div {
		color: #c77ebf;
	}

}

.index_pager {
	margin: 30px 0 0;
}

.index_pager ul {
	display: flex;
	justify-content: center;
	align-items: center;
}

.index_pager li {
	margin: 0;
	font-size: 1.8rem;
	display: none;
}

.index_pager li span {
	display: flex;
	justify-content: center;
	align-items: center;
}

.index_pager li.dot {
	margin: 0;
	border: none;
}

.index_pager li.cur {
	display: block;
}

.index_pager li.cur span {
	padding: 15px 12px;
	border-color: #fff;
	border: 1px solid #e0f2f4;
	color: #2699a7;
	background: #e0f2f4;
	display: block;
	border-radius: 14px;
}

.index_pager li.page_back,
.index_pager li.page_forward {
	font-size: 1.6rem;
	display: block;
	width: 110px;
}

.index_pager li.page_back {
	margin-right: auto;
}

.index_pager li.page_forward {
	margin-left: auto;
}

.index_pager li.page_back a,
.index_pager li.page_forward a {
	padding: 18px;
	border: 1px solid #7bc3cc;
	color: #2699a7;
	border-radius: 40px;
	font-size: 1.6rem;
	display: block;
}

.index_pager li.page_back a {
	padding-left: 55px;
	background: url(../images/common/btn_arrow_b_left.png) no-repeat 20px center;
	background-size: 25px auto;
}

.index_pager li.page_forward a {
	padding-right: 55px;
	background: url(../images/common/btn_arrow_b.png) no-repeat right 20px center;
	background-size: 25px auto;
}

@media screen and (min-width: 768px) {

	.index_pager {
		margin: 60px 0 0;
	}

	.index_pager ul {
		margin: 0;
	}

	.index_pager li {
		margin: 0 5px;
		font-size: 1.8rem;
		display: block;
	}

	.index_pager li a {
		padding: 20px 14px;
		border: 1px solid #7bc3cc;
		color: #2699a7;
		display: block;
		border-radius: 14px;
	}

	.index_pager li.cur span {
		padding: 20px 14px;
	}

	.index_pager li.page_back,
	.index_pager li.page_forward {
		font-size: 1.8rem;
		display: block;
		width: 130px;
	}

	.index_pager li.page_back a,
	.index_pager li.page_forward a {
		padding: 22px 30px;
		font-size: 1.6rem;
	}

	.index_pager li.page_back a {
		padding-left: 65px;
		background: url(../images/common/btn_arrow_b_left.png) no-repeat 25px center;
		background-size: 30px auto;
	}

	.index_pager li.page_forward a {
		padding-right: 65px;
		background: url(../images/common/btn_arrow_b.png) no-repeat right 25px center;
		background-size: 30px auto;
	}

}

/* -----------------
	プランindex
----------------- */

.plan_index_header {
	background: url(../images/common/title_img_plan_sp.png) no-repeat top left / 100% auto;
}

.plan_popular_header {
	background: url(../images/common/title_img_popular_sp.png) no-repeat top left / 100% auto;
}

.plan_ranking_header {
	background: url(../images/common/title_img_ranking_sp.png) no-repeat top left / 100% auto;
}

.plan_area_header {
	background: url(../images/common/title_img_area_sp.png) no-repeat top left / 100% auto;
}

.plan_tag_header {
	background: url(../images/common/title_img_tag_sp.png) no-repeat top left / 100% auto;
}

.plan_leaflet_header .entry_inner,
.plan_tag_header .entry_inner,
.plan_index_header .entry_inner,
.plan_popular_header .entry_inner,
.plan_ranking_header .entry_inner,
.plan_area_header .entry_inner {
	height: 180px;
}

.plan_leaflet_header .entry_inner {
	height: 127px;
}

.plan_index_header h1 {
	padding: 5px 0 5px 35px;
	background: url(../images/common/icon_plan.svg) no-repeat 0 center / 30px auto;
}

.plan_popular_header h1 {
	padding: 5px 0 5px 30px;
	background: url(../images/common/icon_popular.svg) no-repeat 0 center / 21px auto;
}

.plan_ranking_header h1 {
	padding: 5px 0 5px 27px;
	background: url(../images/common/icon_ranking.svg) no-repeat 0 center / 23px auto;
}

.plan_area_header h1 {
	padding: 5px 0 5px 35px;
	background: url(../images/common/icon_map.svg) no-repeat 0 center / 30px auto;
}

.plan_tag_header h1 {
	padding: 5px 0 5px 32px;
	background: url(../images/common/icon_tag.svg) no-repeat 0 center / 28px auto;
}

.plan_leaflet_header h1 {
	padding: 5px 0;
}

@media screen and (min-width: 768px) {

	.plan_index_header {
		background: url(../images/common/title_img_plan_pc.png) no-repeat top right / 780px auto;
	}

	.plan_popular_header {
		background: url(../images/common/title_img_popular_pc.png) no-repeat top right / 780px auto;
	}

	.plan_ranking_header {
		background: url(../images/common/title_img_ranking_pc.png) no-repeat top right / 780px auto;
	}

	.plan_area_header {
		background: url(../images/common/title_img_area_pc.png) no-repeat top right / 780px auto;
	}

	.plan_tag_header {
		background: url(../images/common/title_img_tag_pc.png) no-repeat top right / 780px auto;
	}

	.plan_leaflet_header .entry_inner,
	.plan_tag_header .entry_inner,
	.plan_index_header .entry_inner,
	.plan_popular_header .entry_inner,
	.plan_ranking_header .entry_inner,
	.plan_area_header .entry_inner {
		height: 260px;
	}

	.plan_index_header h1 {
		padding: 10px 0 10px 65px;
		background: url(../images/common/icon_plan.svg) no-repeat 0 center / 49px auto;
	}

	.plan_popular_header h1 {
		padding: 10px 0 10px 50px;
		background: url(../images/common/icon_popular.svg) no-repeat 0 center / 33px auto;
	}

	.plan_ranking_header h1 {
		padding: 10px 0 10px 60px;
		background: url(../images/common/icon_ranking.svg) no-repeat 0 center / 36px auto;
	}

	.plan_area_header h1 {
		padding: 10px 0 10px 65px;
		background: url(../images/common/icon_map.svg) no-repeat 0 center / 48px auto;
	}

	.plan_tag_header h1 {
		padding: 10px 0 10px 65px;
		background: url(../images/common/icon_tag.svg) no-repeat 0 center / 50px auto;
	}

	.plan_leaflet_header h1 {
		padding: 10px 0;
	}

}

@media screen and (min-width: 768px) and (max-width:1400px)  {

	.plan_tag_header,
	.plan_index_header,
	.plan_popular_header,
	.plan_ranking_header,
	.plan_area_header {
		background-position: 650px top;
	}

}

@media screen and (min-width: 768px) and (max-width:1140px) {

	.plan_laaflet_header,
	.plan_tag_header,
	.plan_index_header,
	.plan_popular_header,
	.plan_ranking_header,
	.plan_area_header {
		padding: 0 20px;
	}

}

.plan_index_body {
	margin: 15px 0 0;
}

.plan_index_body > li {
	margin: 0 0 30px;
	background: #f7f7f3;
	border-radius: 20px;
	position: relative;
}

.plan_index_body > li a {
	padding: 30px;
	display: block;
}

.plan_index_body .plan_tag_box {
	margin: -44px 0 0 -30px;
}

.plan_index_body .plan_tag_box + figure {
	margin: 10px 0 0;
}

.plan_index_body > li figure {
	border-radius: 20px;
	overflow: hidden;
}

.plan_index_body > li h2 {
	margin: 15px 0;
	font-size: 1.8rem;
	font-weight: 500;
}

.plan_index_body > li .tag {
	padding: 5px 0 0;
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #dbd8bd;
}

.plan_index_body > li .tag li {
	margin: 5px 5px 0 0;
	padding: 2px 10px;
	font-size: 1.4rem;
	color: #696054;
	border: 1px solid #dbd8bd;
	border-radius: 20px;
}

@media screen and (min-width: 768px) {

	.plan_index_body {
		margin: 0 -20px;
		display: flex;
		flex-wrap: wrap;
	}

	.plan_index_body > li {
		margin: 0 20px 40px;
		width: 340px;
	}

	.plan_index_body > li figure {
		width: 280px;
		height: 280px;
	}

	.plan_index_body .plan_tag_box {
		margin: -44px 0 0 -30px;
	}

	.plan_index_body .plan_tag_box + figure {
		margin: 10px 0 0;
	}

	.plan_index_body > li figure img {
		transition: all 0.1s ease 0s;
	}

	.plan_index_body > li a:hover figure img {
		transform: scale(1.05);
	}

}

@media screen and (min-width: 768px) and (max-width:1140px) {

	.plan_index_body {
		margin: 0 auto;
		max-width: 760px;
	}

}

/* -----------------
	エリア・マップ
----------------- */

.map_column {
	margin: 20px -20px 0;
}

.map_column .map {
	margin: 0 5px 15px;
}

.map_column .map svg {
	width: 100%;
}

.map_column .area_list {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #7bc3cc;
}

.map_column .area_list li {
	border-right: 1px solid #7bc3cc;
	border-bottom: 1px solid #7bc3cc;
	width: 50%;
}

.map_column .area_list li:nth-child(2n) {
	border-right: none;
}

.map_column .area_list li a {
	padding: 0 0 0 50px;
	color: #2699a7;
	font-size: 1.6rem;
	display: flex;
	align-items: center;
	height: 54px;
	white-space: nowrap;
	position: relative;
}

.map_column .area_list li a::before {
	position: absolute;
	content: '';
	left: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 25px;
	height: 25px;
	border-radius: 30px;
	background: #7bc3cc url(../images/common/icon_link_l_w.svg) no-repeat center center / 11px auto;
}


@media screen and (min-width: 768px) {

	.map_column {
		margin: 30px 0 0;
		display: flex;
		flex-wrap: wrap;
	}

	.map_column .map {
		margin: 0 0 0 40px;
		max-width: 840px;
		flex-shrink: 0;
		order: 2;
	}

	.map_column .area_list {
		width: 220px;
		border: none;
		order: 1;
	}

	.map_column .area_list li {
		margin: 0 0 20px;
		width: 220px;
		border: none;
	}

	.map_column .area_list li a {
		padding: 0 0 0 67px;
		border: 1px solid #7bc3cc;
		border-radius: 10px;
		font-size: 1.8rem;
		height: 70px;
		position: relative;
	}

	.map_column .area_list li a::before {
		left: 30px;
		width: 30px;
		height: 30px;
		background-size: 15px auto;
	}

	.map_column .area_list li a:hover {
		border: 1px solid #a66daf;
		color: #c77ebf;
		transition: none;
	}

	.map_column .area_list li a:hover::before {
		background-color: #a66daf;
	}

}

@media screen and (min-width: 768px) and  (max-width: 1140px) {

	.map_column {
		margin: 30px 20px 0;
		display: block;
	}

	.map_column .map {
		margin: 0 auto 30px;
	}

	.map_column .area_list {
		margin: 0 auto;
		width: 750px;

	}

	.map_column .area_list li {
		margin: 0 15px 20px;
	}

}

.area_column {
	margin: 30px 0 0;
	padding: 20px 12px 10px;
	background: #f4efe9;
	border-radius: 10px;
}

.area_column ul {
	display: flex;
	flex-wrap: wrap;
}

.area_column li {
	margin: 0 5px 10px;
	font-size: 1.4rem;
}

.area_column li a {
	padding: 10px 20px;
	background: #fff;
	display: block;
	border-radius: 20px;
	box-shadow: 0px 0px 5px 0px rgba(153, 126, 93, 0.1);
	white-space: nowrap;
}

.area_column li a:hover {
}

@media screen and (min-width: 768px) {

	.area_column {
		margin: 60px 0 0;
		padding: 30px 20px 10px;
	}

	.area_column li {
		margin: 0 10px 20px;
		font-size: 1.6rem;
	}

	.area_column li a {
		padding: 8px 28px;
	}

	.area_column li a:hover {
		transform: scale(1.1);
		color: #c77ebf;
	}

}

/* -------------------------
	アクセスラインキング一覧
-------------------------- */


.plan_index_body .icon_rank {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: -45px;
	width: 83px;
	z-index: 3;
}

@media screen and (min-width: 768px) {

	.plan_index_body .icon_rank {
		top: -50px;
		transition: all 0.1s ease 0s;
	}

}

/* -------------------------
	プランを探す一覧
-------------------------- */

.plan_search_index .entry_inner {
	padding: 50px 5px;
}

.plan_search_index .top_keyword_list {
	display: block;
}

.plan_search_index .keyword_area,
.plan_search_index .keyword_time,
.plan_search_index .keyword_theme {
	background: #f4efe9;
	border-radius: 20px;
}

.plan_search_index .top_keyword_column {
	padding: 20px 15px;
	display: block;
}

.plan_search_index .top_keyword_column h3 {
	padding: 0 0 12px;
	width: auto;
}

.plan_search_index .top_keyword_column h3 span {
	padding: 5px 0 5px 55px;
	background-position: 0 center;
}

.plan_search_index .top_keyword_column .plus {
	display: none;
}

.plan_search_index .top_keyword_list ul {
	margin: 0;
	padding: 0;
	border: none;
}

.plan_search_index .top_keyword_list ul::after {
	display: none;
}

.plan_search_index .top_keyword_list li {
	margin: 5px 5px 5px 0;
}

.plan_search_index .top_keyword_list li a {
	background: #fff;
}

.cat_leaflet-list .entry_keyword_search,
.cat_plan_search .entry_keyword_search {
	padding-top: 30px;
}

.cat_leaflet-list .entry_keyword_search .search_box,
.cat_plan_search .entry_keyword_search .search_box {
	display: none;
}

@media screen and (min-width: 768px) {

	.plan_search_index .entry_inner {
		padding: 100px 0 130px;
	}

	.plan_search_index .top_keyword_column {
		padding: 50px;
	}

	.plan_search_index .top_keyword_column h3 {
		padding: 0 0 10px;
	}

	.plan_search_index .top_keyword_column h3 span {
		padding: 10px 0 10px 45px;
		background-position: 0 center;
	}

	.plan_search_index .top_keyword_list li {
		margin: 10px 20px 10px 0;
	}

}

/* -------------------------
	各種リーフレット一覧
-------------------------- */

.leaflet_list_index .entry_inner {
	padding: 50px 5px 10px;
}

.leaflet_list > ul {
	display: flex;
	flex-wrap: wrap;
}

.leaflet_list > ul > li {
	margin: 0 15px 40px;
	width: calc(50% - 30px);
}

.leaflet_list > ul > li a {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.leaflet_list li figure {
	height: 215px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.leaflet_list li figure img.trim_center {
	object-fit: contain;
}

.leaflet_list li h3 {
	margin: 10px 0 10px;
	font-size: 1.4rem;
}

.leaflet_list li .btn_download {
	margin: auto 0 0;
	padding: 10px 0;
	display: block;
	text-align: center;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	border-radius: 9999px;
	background: #7bc3cc;
}

.leaflet_list li .btn_download span {
	padding-left: 25px;
	background: url(../images/common/icon_download.svg) no-repeat 0 center / 20px auto;
}

.leaflet_list .index_pager {
	margin: 0 15px 50px;
}

@media screen and (min-width: 768px) {

	.leaflet_list_index .entry_inner {
		padding: 100px 0 70px;
		width: min(95%,1100px);
	}

	.leaflet_list > ul {
		margin: 0 -30px;
		align-items: stretch;
	}

	.leaflet_list > ul > li {
		margin: 0 30px 60px;
		width: 230px;
		display: flex;
		flex-direction: column;
	}

	.leaflet_list li figure {
		width: 230px;
		height: 325px;
		transition: all 0.3s ease 0s;
	}

	.leaflet_list li h3 {
		margin: 15px 0;
		font-size: 1.8rem;
		transition: all 0.3s ease 0s;
	}

	.leaflet_list li .btn_download {
		padding: 12px 0;
		font-size: 1.8rem;
		transition: all 0.3s ease 0s;
	}

	.leaflet_list li .btn_download span {
		padding-left: 28px;
	}

	.leaflet_list li a:hover figure {
		transform: scale(1.05);
	}

	.leaflet_list li a:hover h3 {
		color: #c77ebf;
	}

	.leaflet_list li a:hover .btn_download {
		background-color: #c77ebf;
	}

	.leaflet_list .acms-admin-btn-action-group {
		text-align: center;
	}

	.leaflet_list .acms-admin-btn-action-group .edit_btn {
		margin: 0 0 10px;
		display: inline-block;
	}

	.leaflet_list_edit .acms-admin-btn-action-group table tr,
	.leaflet_list_edit .acms-admin-btn-action-group table th,
	.leaflet_list_edit .acms-admin-btn-action-group table td {
		display: block;
	}

	.leaflet_list_edit .acms-admin-btn-action-group table th,
	.leaflet_list_edit .acms-admin-btn-action-group table td {
		padding: 0 0 5px !important;
		width: auto;
	}

	.leaflet_list_edit .acms-admin-btn-action-group table tr:last-child {
		display: none;
	}

	.leaflet_list .index_pager {
		margin: 40px 0 60px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1157px) {

	.leaflet_list_index .entry_inner {
		width: min(95%,810px);
	}

}

@media screen and (min-width: 768px) and (max-width: 852px) {

	.leaflet_list_index .entry_inner {
		width: min(95%,520px);
	}

}

/* -----------------
	モーダル
----------------- */

.modal_area {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	background: rgba(0,0,0,0.75);
	opacity: 0;
	z-index: -1;
	transition: all 0.30s ease 0s;
	overflow: hidden;
}

.modal_area.open {
	opacity: 1;
	z-index: 200;
}

.modal_area.fixed_open {
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
}

.modal_inner {
	margin-top: 35px;
	text-align: center;
}

.modal_area.fixed_open .modal_inner {
	margin-top: 0;
}

.modal_column {
	margin: 0 20px;
	padding: 20px 20px 80px;
	background: #fff;
	text-align: left;
}

.modal_close {
	margin: auto;
	position: relative;
	width: 40px;
	height: 40px;
	transform: rotate(-45deg);
	cursor: pointer;
	border: none;
	background: #7bc3cc;
	border-radius: 40px;
	text-indent: -9999px;
}

.modal_close::before,
.modal_close::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 2px;
	width: 20px;
	background: #fff;
	border-radius: 2px;
}

.modal_close::before {
	transform: rotate(-90deg);
}

.modal_close_top {
	float: right;
	top: -15px;
	right: 5px;
}

.modal_close_bottom {
	top: -60px;
}

@media screen and (min-width: 768px) {

	.modal_column {
		margin: 0;
		padding: 60px;
	}

	.modal_inner {
		margin: 60px auto 0;
	}

	.modal_close_top {
		right: -15px;
	}

	.modal_close_bottom {
		top: -20px;
	}

}

.top_about .modal_column {
	text-align: center;
}

.top_about .modal_inner {
}

.top_about_title {
	margin: 0 auto 15px;
	width: 100%;
}

.top_about p.top_about_logo {
	margin: 0 auto 25px;
	width: 182px;
}

.top_about p {
	margin: 0 0 20px;
	font-size: 1.4rem;
	line-height: 1.5;
	text-align: left;
}

.top_about_2column {
	margin: 0 0 30px;
}

.top_about_2column > div {
	margin: 0 0 20px;
	text-align: center;
}

@media screen and (min-width: 768px) {

	.top_about .modal_inner {
		width: min(95%,1000px);
	}

	.top_about_title {
		margin: 0 auto 10px;
		width: 500px;
	}

	.top_about p.top_about_logo {
		margin: 0 auto 40px;
		width: 300px;
	}

	.top_about p {
		margin: 0 0 35px;
		font-size: 1.6rem;
		line-height: 1.6;
	}

	.top_about_2column {
		margin: 0 0 40px;
		display: flex;
	}

	.top_about_2column > div {
		margin: 0;
		width: calc(50% - 20px);
	}

	.top_about_2column > div:first-child {
		margin-right: 40px;
	}

}

.top_about_2column h3 {
	margin: 0 0 30px;
	padding: 0 20px;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 600;
	display: inline-block;
	background: url(../images/about/about_titledeco_l.png) no-repeat left center / 17px auto,
				url(../images/about/about_titledeco_r.png) no-repeat right center / 16px auto;
}

.top_about_2column .top_about_box {
	padding: 45px 20px 20px;
	background: #fbe4de;
	border-radius: 10px;
	text-align: left;
	position: relative;
}

.top_about_2column .pic_about01,
.top_about_2column .pic_about02 {
	position: absolute;
	left: 0;
	right: 0;
	top: -20px;
	margin: auto;
}

.top_about_2column .pic_about01 {
	width: 66px;
}

.top_about_2column .pic_about02 {
	width: 116px;
}

.top_about_2column .top_about_box p {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.4;
}

.top_about_title_sub {
	margin: 0 0 10px;
	padding: 0 38px;
	font-size: 1.6rem;
	font-weight: bold;
	color: #da5358;
	text-align: center;
	display: inline-block;
	background: url(../images/about/about_titledec_dot.png) no-repeat left center / 31px auto,
				url(../images/about/about_titledec_dot.png) no-repeat right center / 31px auto;
}

@media screen and (min-width: 768px) {

	.top_about_2column h3 {
		margin: 0 0 35px;
		font-size: 1.8rem;
	}

	.top_about_2column .top_about_box {
		padding: 45px 30px 30px;
		height: calc(100% - 50px);
	}

	.top_about_2column .top_about_box p {
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.top_about_title_sub {
		margin: 0 0 12px;
		font-size: 1.8rem;
	}

}


/* -----------------
	ユニットパーツ
----------------- */

.entry-container {
	margin: 0;
}

.entry_column {
	margin: 40px 20px 20px;
}

.entry_column p {
	margin: 0 0 15px;
	font-size: 1.6rem;
	line-height: 1.6;
	word-wrap: break-word;
}

.entry_column h2 {
	margin: 40px 0 25px;
	font-size: 2.0rem;
	line-height: 1.4;
	font-weight: 500;
}

.entry_column h3 {
	margin: 40px 0 30px;
	padding: 0 0 10px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.4;
	background: url(../images/common/line_title.png) no-repeat 0 bottom;
	background-size: 1100px auto;
}

.entry_column h4 {
	margin: 30px 0 25px;
	padding: 0 0 0 25px;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.4;
	position: relative;
}

.entry_column h4::before {
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	bottom: 0;
	width: 15px;
	height: 100%;
	margin: auto;
	background: #7cc395;
	border-radius: 4px;
}

.entry_column .colum_gray_box h4 {
	padding: 0 0 15px;
}

.entry_column .colum_gray_box h4::before {
	top: auto;
	right: auto;
	width: 50px;
	height: 5px;
}

.entry_column table.table- {
	margin: 25px 0;
	width: 100%;
}

.entry_column table.table- th,
.entry_column table.table- td {
	padding: 12px 15px;
	font-size: 1.4rem;
	line-height: 1.4;
	border: 1px solid #d0cda5;
	vertical-align: top;
}

.entry_column table.table- th {
	text-align: left;
	font-weight: 600;
	color: #886315;
	background: #eeeee8;
}

.entry_column table.table-yakkan th {
	padding: 25px 0 20px;
	color: inherit;
	background: none;
	border-left: none;
	border-right: none;
	border-bottom: none;
	font-weight: 500;
	line-height: 1.6;
	font-size: 1.8rem;
	border-top: 1px solid #d0cda5;
	display: block;
}

.entry_column table.table-yakkan td {
	padding: 0 0 20px;
	color: inherit;
	background: none;
	border: none;
	font-size: 1.6rem;
	line-height: 1.6;
	display: block;
}

.entry_column table.table-yakkan tr:last-child td {
	border-bottom: 1px solid #d0cda5;
}

.entry_column ul,
.entry_column ol {
	margin: 25px 0;
}

.entry_column ol {
	padding-left: 0;
    counter-reset: item;
	list-style-type: none;
}

.entry_column ol.kakko {
    counter-reset: kakko;
}

.entry_column ul li {
	margin: 0 0 12px;
	padding: 0 0 0 20px;
	font-size: 1.6rem;
	line-height: 1.4;
	position: relative;
}

.entry_column ul li::before {
	position: absolute;
	content: '';
	left: 0;
	top: 5px;
	margin: auto;
	width: 10px;
	height: 10px;
	border-radius: 3px;
	background: #a5d0b4;
}

.entry_column ol li {
	margin: 0 0 12px;
	padding-left: 1.5em;
	text-indent: -1.5em;
	font-size: 1.6rem;
	line-height: 1.4;
}

.entry_column ol.kakko li {
	padding-left: 2em;
	text-indent: -2em;
}

.entry_column ol li:before {
	counter-increment: item;
	content: counter(item)'.';
	font-weight: bold;
	padding-right: 10px;
}

.entry_column ol.kakko li:before {
	counter-increment: kakko;
	content: '('counter(kakko)')';
}

.entry_column p em {
	font-weight: 600;
	color: #ea698a;
}

.entry_column p strong {
	font-weight: 600;
}

.entry_column p a,
.entry_column table a,
.entry_column li a {
	text-decoration: underline;
	color: #7bc3cc;
}

.entry_column p a[href^="http"],
.entry_column table a[href^="http"],
.entry_column li a[href^="http"] {
	margin-left: 5px;
	padding-left: 20px;
	background: url(../images/common/icon_link.svg) no-repeat 0 center / 15px auto;
}

.entry_column p a[href^="https://aichi-platform"],
.entry_column table a[href^="https://aichi-platform"],
.entry_column li a[href^="https://aichi-platform"] {
	padding-left: 0;
	background: none;
}

.entry_column p.note {
	margin: 0 0 10px;
	font-size: 1.4rem;
	color: #6f6f6f;
	text-indent: -1em;
	padding-left: 1em;
}

.entry_column p.txt_link {
	margin: 0 0 10px;
	font-size: 1.6rem;
}

.entry_column p.txt_link a {
	padding: 0 0 0 10px;
	text-decoration: none;
	color: #333;
	background: url(../images/common/arrow.svg) no-repeat 0 3px / 7px auto;
}

.entry_column p.btn_inlink,
.entry_column p.btn_outlink {
	margin: 30px 0;
}

.entry_column p.btn_inlink a,
.entry_column p.btn_outlink a {
	padding: 12px 20px 12px 55px;
	border: 1px solid #7bc3cc;
	color: #2699a7;
	border-radius: 50px;
	display: inline-block;
	text-decoration: none;
	position: relative;
	background: none;
}

.entry_column p.btn_inlink a::before {
	position: absolute;
	content: '';
	left: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 25px;
	height: 25px;
	border-radius: 30px;
	background: #7bc3cc url(../images/common/icon_link_l_w.svg) no-repeat center center / 11px auto;
}

.entry_column p.btn_outlink a::before {
	position: absolute;
	content: '';
	left: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 25px;
	height: 25px;
	border-radius: 30px;
	background: #7bc3cc url(../images/common/icon_link_w.svg) no-repeat center center / 12px auto;
}

.entry_column p.caption {
	font-size: 1.4rem;
}

.entry_column > * {
	margin-top: 0 !important;
}


@media screen and (min-width: 768px) {

	.entry_column {
		margin: 80px 0;
	}

	.entry_column p {
		margin: 0 0 20px;
		font-size: 1.8rem;
	}

	.entry_column h2 {
		margin: 70px 0 50px;
		font-size: 3.0rem;
	}

	.entry_column h3 {
		margin: 60px 0 45px;
		padding: 0 0 15px;
		font-size: 2.4rem;
	}

	.entry_column h4 {
		margin: 45px 0 35px;
		padding: 0 0 0 25px;
		font-size: 2.0rem;
	}

	.entry_column h4::before {
		border-radius: 5px;
	}

	.entry_column table.table- {
		margin: 35px 0;
	}

	.entry_column table.table- th,
	.entry_column table.table- td {
		padding: 22px 25px;
		font-size: 1.6rem;
	}

	.entry_column table.table-yakkan th {
		padding: 35px 25px 35px 0;
		border-top: none;
		border-bottom: 1px solid #d0cda5;
		display: table-cell;
	}

	.entry_column table.table-yakkan td {
		padding: 35px 0 35px 25px;
		border-top: none;
		border-bottom: 1px dashed #d0cda5;
		display: table-cell;
	}

	.entry_column table.table-yakkan tr:first-child th {
		border-top: 1px solid #d0cda5;
	}

	.entry_column table.table-yakkan tr:first-child td {
		border-top: 1px dashed #d0cda5;
	}

	.entry_column table.table-yakkan tr:last-child td {
		border-bottom: 1px dashed #d0cda5;
	}

	.entry_column ul,
	.entry_column ol {
		margin: 35px 0;
	}

	.entry_column ul li {
		margin: 0 0 15px;
		padding: 0 0 0 20px;
		font-size: 1.8rem;
		line-height: 1.5;
	}

	.entry_column ul li::before {
		top: 8px;
	}

	.entry_column ol li {
		margin: 0 0 15px;
		font-size: 1.8rem;
		line-height: 1.5;
	}

	.entry_column p a:hover,
	.entry_column table a:hover,
	.entry_column li a:hover {
		text-decoration: none;
	}

	.entry_column p.note {
		font-size: 1.6rem;
	}

	.entry_column p.txt_link {
		margin: 0 0 10px;
		font-size: 1.6rem;
	}

	.entry_column p.txt_link a {
		padding: 0 0 0 10px;
		text-decoration: none;
		color: #333;
		background: url(../images/common/arrow.svg) no-repeat 0 3px / 7px auto;
	}

	.entry_column p.txt_link a:hover {
		background-image: url(../images/common/arrow_p.svg);
	}

	.entry_column p.btn_inlink,
	.entry_column p.btn_outlink {
		margin: 40px 0;
	}

	.entry_column p.btn_inlink a,
	.entry_column p.btn_outlink a {
		padding: 20px 28px 20px 66px;
	}

	.entry_column p.btn_inlink a::before {
		left: 30px;
		width: 30px;
		height: 30px;
		background-size: 15px auto;
	}

	.entry_column p.btn_outlink a::before {
		left: 30px;
		width: 30px;
		height: 30px;
		background-size: 15px auto;
	}

	.entry_column p.btn_inlink a:hover,
	.entry_column p.btn_outlink a:hover {
		border: 1px solid #a66daf;
		color: #a66daf;
	}

	.entry_column p.btn_inlink a:hover::before,
	.entry_column p.btn_outlink a:hover::before {
		background-color: #a66daf;
	}

	.entry_column p.caption {
		font-size: 1.6rem;
	}

}

.entry_column ul.link_list li {
	margin: 0 0 15px;
	padding: 0;
	font-size: 1.6rem;
}

.entry_column ul.link_list li::before {
	display: none;
}

.entry_column ul.link_list li a {
	padding: 15px 20px 15px 55px;
	text-decoration: none;
	border: 1px solid #7bc3cc;
	color: #2699a7;
	display: block;
	border-radius: 10px;
	position: relative;
}

.entry_column ul.link_list li a::before {
	position: absolute;
	content: '';
	left: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 25px;
	height: 25px;
	border-radius: 30px;
	background: #7bc3cc url(../images/common/icon_link_l_w.svg) no-repeat center center / 11px auto;
}

.entry_column ul.link_list li a.outlink::before {
	background: #7bc3cc url(../images/common/icon_link_w.svg) no-repeat center center / 12px auto;
}

.entry_column ul.link_list li a[href^="http"]::before {
	background: #7bc3cc url(../images/common/icon_link_w.svg) no-repeat center center / 12px auto;
}

.entry_column ul.link_list li a[href^="http"] {
	margin-left: 0;
	background: none;
}

.entry_column ul.link_list li a[href^="https://aichi-platform"]::before {
	background: #7bc3cc url(../images/common/icon_link_l_w.svg) no-repeat center center / 11px auto;
}

@media screen and (min-width: 768px) {

	.entry_column ul.link_list li {
		margin: 0 0 20px;
		font-size: 1.8rem;
	}

	.entry_column ul.link_list li a {
		padding: 20px 30px 20px 70px;
	}

	.entry_column ul.link_list li a::before {
		left: 30px;
		width: 30px;
		height: 30px;
		background-size: 15px auto;
	}

	.entry_column ul.link_list li a:hover {
		border: 1px solid #a66daf;
		color: #a66daf;
	}

	.entry_column ul.link_list li a:hover::before {
		background-color: #a66daf;
	}

	.entry_column ul.link_list li a.outlink::before,
	.entry_column ul.link_list li a[href^="http"]::before {
		background-size: 14px auto;
	}

}

.entry_column .columnImage {
	border-radius: 15px;
}

.entry_column .column-media-left,
.entry_column .column-video-left {
	margin: 0 0 30px;
}

.entry_column .column-media-right ,
.entry_column .column-video-right {
	margin: 0 0 30px;
}

.entry_column .column-media-center,
.entry_column .column-media-auto,
.entry_column .column-video-center,
.entry_column .column-video-auto {
	margin: 0 0 30px;
}

.entry_column .colum_gray_box *:first-child,
.entry_column [class*="column_"] *:first-child,
.entry_column [class*="column2_"] *:first-child,
.entry_column [class*="column3_"] *:first-child {
	margin-top: 0;
}

.entry_column .media_icon {
	display: inline-block;
	text-align: center;
}

.entry_column .colum_gray_box {
	margin: 40px 0;
	padding: 40px 30px 20px;
	background: #f7f7f3;
	border-radius: 30px;
}

@media screen and (min-width: 768px) {

	.entry_column .columnImage {
		border-radius: 20px;
	}

	.entry_column .column-media-left,
	.entry_column .column-video-left {
		margin: 0 40px 40px 0;
	}

	.entry_column .column-media-right ,
	.entry_column .column-video-right {
		margin: 0 0 40px 40px;
	}

	.entry_column .column-media-center,
	.entry_column .column-media-auto,
	.entry_column .column-video-center,
	.entry_column .column-video-auto {
		margin: 0 0 40px;
	}

	.entry_column .column2_left {
		margin: 0 20px 0 0;
		float: left;
		width: calc(50% - 20px);
	}

	.entry_column .column2_right {
		margin: 0 0 0 20px;
		float: left;
		width: calc(50% - 20px);
	}

	.entry_column .column3_left {
		margin: 0 15px 0 0;
		float: left;
		width: calc(33.3333% - 20px);
	}

	.entry_column .column3_center {
		margin: 0 15px;
		float: left;
		width: calc(33.3333% - 20px);
	}

	.entry_column .column3_right {
		margin: 0 0 0 15px;
		float: left;
		width: calc(33.3333% - 20px);
	}

	.entry_column .video_l {
		max-width: 1100px;
	}

	.entry_column .video_m {
		max-width: 530px;
	}

	.entry_column .video_s {
		max-width: 345px;
	}

	.entry_column .colum_gray_box {
		margin: 70px 0;
		padding: 60px 60px 30px;
	}

}


/* -----------------
	お問い合わせ
----------------- */

.form_entry .entry_column {
	margin: 0 0 20px;
}

.contact_form_column {
	margin: 30px 0 20px;
}

.contact_form_column table {
	width: 100%;
}

.contact_form_column th {
	padding: 0 0 5px;
	font-size: 1.6rem;
	display: block;
	text-align: left;
}

.contact_form_column td {
	padding: 0 0 20px;
	font-size: 1.6rem;
	width: 100%;
	display: block;
}

.contact_form_column td label {
	width: 100%;
}

.contact_form_column .required {
	margin: 0 0 2px;
	font-size: 1.4rem;
	color: #db3b57;
}

.contact_form_column .form_attention {
	margin: 10px 0 0;
	color: #db3b57;
	font-size: 1.8rem;
	text-align: left;
}

.contact_form_column input[type="text"],
.contact_form_column input[type="email"] {
	padding: 15px;
	font-size: 1.6rem;
	border: 1px solid #d3d3d3;
	width: 100%;
	border-radius: 5px;
}

.contact_form_column textarea {
	padding: 15px;
	width: 100%;
	height: 300px;
	font-size: 1.6rem;
	line-height: 1.4;
	border: 1px solid #d3d3d3;
	border-radius: 5px;
}

.contact_form_column .required_column input,
.contact_form_column .required_column textarea {
	border-color: #f6b6bd;
	background-color: #fef3f4;
}

.contact_form_column .required_column input:focus,
.contact_form_column .required_column textarea:focus,
.contact_form_column .required_column input:active,
.contact_form_column .required_column textarea:active {
	border-color: #d3d3d3;
	background-color: #fff;
	outline: none;
}

.form_entry .btn_confirm,
.form_entry .btn_send {
	padding: 15px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
	background: #7bc3cc url(../images/common/btn_arrow_w.png) no-repeat right 15px center / 30px auto;
	border: none;
	width: 100%;
	border-radius: 50px;
	transition: all .3s ease-out;
}

.form_entry .btn_back {
	margin: 30px 0 0;
	padding: 15px;
	border: 2px solid #7bc3cc;
	background: #fff;
	color: #2699a7;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	width: 100%;
	border-radius: 50px;
	transition: all .3s ease-out;
}

.form_entry .input_2column {
	display: flex;
}

.form_entry .input_2column label {
	margin-right: 30px;
	width: auto;
}

.contact_form_column #et_y,
.contact_form_column #et_m {
	margin-right: 10px;
	width: 100px;
}

.contact_form_column #et_cnt {
	margin-right: 10px;
	width: 100px;
}

.contact_form_column input::placeholder {
  color: #888;
}

@media screen and (min-width: 768px) {

	.form_entry_body p {
		text-align: center;
	}

	.contact_form_column {
		margin: 50px 0;
	}

	.contact_form_column th {
		padding: 30px 15px 20px 0;
		font-size: 1.8rem;
		width: 200px;
	}

	.contact_form_column .required_column th {
		padding-top: 50px;
	}

	.contact_form_column td {
		padding: 20px 0;
		font-size: 1.8rem;
		display: table-cell;
	}

	.contact_form_column #name,
	.contact_form_column #kana,
	.contact_form_column #tel {
		width: 350px;
	}

	.contact_form_column #email {
		width: 535px;
	}

	.contact_form_column textarea {
		width: 940px;
		height: 300px;
		padding: 12px;
		font-size: 1.8rem;
	}

	.contact_form_column input[type="text"],
	.contact_form_column input[type="email"] {
		padding: 12px;
		font-size: 1.8rem;
	}

	.form_entry .form_btn_box {
		margin: 0;
		text-align: center;
		display: flex;
		justify-content: center;
	}

	.form_entry .btn_confirm {
		width: 400px;
	}

	.form_entry .btn_confirm,
	.form_entry .btn_send {
		padding: 22px 15px;
		font-size: 2.0rem;
		background: #7bc3cc url(../images/common/btn_arrow_w.png) no-repeat right 15px center / 40px auto;
	}

	.form_entry .btn_back {
		margin: 0 40px;
		padding: 22px 60px;
		font-size: 2.0rem;
		width: auto;
	}

	.form_entry .btn_send {
		margin: 0 40px;
		width: 400px;
	}

	.form_entry .btn_send:hover,
	.form_entry .btn_back:hover,
	.form_entry .btn_confirm:hover {
		opacity: 0.7;
	}

	.contact_form_column #et_gp {
		width: 300px;
	}

}

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

.footer {
	background: #fff url(../images/common/footer_back.svg) no-repeat right top / 55% auto;
}

.footer_top {
	margin: 0 auto;
	padding: 50px 20px 40px;
	text-align: center;
}

.footer_logo img {
	width: 216px;
}

.footer_logo p {
	margin: 55px 0 0;
	font-size: 1.8rem;
}

@media screen and (min-width: 768px) {

	.footer {
		background: #fff url(../images/common/footer_back.svg) no-repeat right top / 490px auto;
	}

	.footer_top {
		padding: 70px 20px 50px;
		max-width: 1140px;
	}

	.footer_logo {
		display: flex;
		align-items: center;
	}

	.footer_logo img {
		width: 316px;
	}

	.footer_logo p {
		margin: 0 0 0 50px;
	}

}

.footer .navi_top,
.footer .navi_middle {
	display: none;
}

@media screen and (min-width: 768px) {

	.footer .navi_top {
		margin: 40px 0 0;
		display: flex;
		flex-wrap: wrap;
	}

	.menu .navi_bottom li,
	.footer .navi_top li,
	.footer .navi_bottom li {
		margin: 0 20px 20px 0;
		width: 260px;
		font-size: 1.6rem;
		text-align: center;
		position: relative;
	}

	.menu .navi_top li::before,
	.menu .navi_middle li::before,
	.menu .navi_bottom li::before,
	.footer .navi_top li::before,
	.footer .navi_bottom li::before {
		position: absolute;
		content: '';
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		border: 3px solid #f4ebe9;
		border-radius: 10px;
		background: #fff;
		transition: all 0.1s ease 0s;
	}

	.menu .navi_top li a,
	.menu .navi_middle li a,
	.footer .navi_top li a {
		padding: 85px 0 0;
		height: 140px;
		display: block;
		transition: none;
		position: relative;
		z-index: 1;
	}

	.menu li.icon_leaflet a {
		background: url(../images/common/icon_leaflet_p.svg) no-repeat center 35px;
		background-size: 30px auto;
	}

	.menu li.icon_plan a,
	.footer .navi_top li.icon_plan a {
		background: url(../images/common/icon_plan.svg) no-repeat center 35px;
		background-size: 30px auto;
	}

	.menu li.icon_ranking a,
	.footer .navi_top li.icon_ranking a {
		background: url(../images/common/icon_ranking.svg) no-repeat center 35px;
		background-size: 22px auto;
	}

	.menu li.icon_popular a,
	.footer .navi_top li.icon_popular a {
		background: url(../images/common/icon_popular.svg) no-repeat center 35px;
		background-size: 21px auto;
	}

	.menu li.icon_map a,
	.footer .navi_top li.icon_map a {
		background: url(../images/common/icon_map.svg) no-repeat center 35px;
		background-size: 30px auto;
	}

	.menu .navi_top li:last-child,
	.menu .navi_bottom li:last-child,
	.footer .navi_top li:last-child,
	.footer .navi_bottom li:last-child {
		margin-right: 0;
	}

	.menu .navi_top li:hover::before,
	.menu .navi_middle li:hover::before,
	.menu .navi_bottom li:hover::before,
	.footer .navi_top li:hover::before,
	.footer .navi_bottom li:hover::before {
		transform: scale(1.05);
	}

	.menu .navi_top li a:hover,
	.menu .navi_middle li a:hover,
	.menu .navi_bottom li a:hover,
	.footer .navi_top li a:hover,
	.footer .navi_bottom li a:hover {
		color: #c77ebf;
	}

}

.footer .navi_bottom {
	display: none;
}

@media screen and (min-width: 768px) {

	.menu .navi_bottom,
	.footer .navi_bottom {
		margin: 0 0 20px;
		display: flex;
		flex-wrap: wrap;
	}

	.menu .navi_bottom li a,
	.footer .navi_bottom li a {
		height: 60px;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		z-index: 1;
	}

	.menu .navi_bottom li a span,
	.menu .navi_bottom li a span,
	.footer .navi_bottom li a span,
	.footer .navi_bottom li a span {
		padding: 10px 0 10px 38px;
	}

	.menu .navi_bottom li.icon_new a span,
	.footer .navi_bottom li.icon_new a span {
		background: url(../images/common/icon_new.svg) no-repeat 0 center;
		background-size: 32px auto;
	}

	.menu .navi_bottom li.icon_lang a span,
	.footer .navi_bottom li.icon_lang a span {
		background: url(../images/common/icon_lang.svg) no-repeat 0 center;
		background-size: 28px auto;
	}

	.menu .navi_bottom li.icon_info a span,
	.footer .navi_bottom li.icon_info a span {
		background: url(../images/common/icon_info.svg) no-repeat 0 center;
		background-size: 28px auto;
	}

	.menu .navi_bottom li.icon_help a span,
	.footer .navi_bottom li.icon_help a span {
		background: url(../images/common/icon_help.svg) no-repeat 0 center;
		background-size: 28px auto;
	}

}

.footer .navi_link {
	display: none;
}

.footer .footer_top > p {
	margin: 20px 0 0;
	font-size: 1.4rem;
}

.footer .footer_top span {
	display: block;
}

@media screen and (min-width: 768px) {

	.menu .navi_link,
	.footer .navi_link {
		display: flex;
		flex-wrap: wrap;
	}

	.menu .navi_link li,
	.footer .navi_link li {
		margin: 0 40px 15px 0;
	}

	.menu .navi_link li a,
	.footer .navi_link li a {
		padding-left: 13px;
		background: url(../images/common/arrow.svg) no-repeat 0 center;
		background-size: 7px auto;
	}

	.menu .navi_link li a:hover,
	.footer .navi_link li a:hover {
		color: #c77ebf;
		background: url(../images/common/arrow_p.svg) no-repeat 0 center;
		background-size: 7px auto;
	}

	.footer .footer_top > p {
		margin: 15px 0 0;
		text-align: left;
	}

	.footer .footer_top span {
		display: inline;
	}

	.footer .footer_top > p span + span {
		padding: 0 0 0 20px;
	}

}

.footer_bottom {
	padding: 10px;
	background: #867b78;
	text-align: center;
}

.footer_bottom p {
	color: #fff;
	font-size: 1.2rem;
}

/* -----------------------
　　　404
----------------------- */

#notfound {
	color: #373228;
}

#wrapper_404 {
	margin: 10px;
	padding: 30px;
	width: auto;
    background-image: none;
}

#box_404 {
	border-radius: 5px;
}

.inner_left404 {
    margin-right: 0;
    margin-bottom: 20px;
	text-align: left;
}

.inner_left404 img {
	margin: 0 auto;
	width: 200px;
}

.inner_right404 {
    font-size: 1.4rem;
}

.inner_right404 h1 {
    font-size: 2.0rem;
    margin-bottom: 20px;
	text-align: left;
}

.inner_right404 p {
    margin-bottom: 10px;
}

.inner_right404 p a {
	text-decoration: underline;
}

#copyright_404 {
    display: block;
	margin: 10px 10px 0;
	text-align: center;
	font-size: 1.2rem;
}

.inner_left404 .site_logo_gold {
	margin: 0 10px 0 0;
	width: 40px;
}

.inner_left404 .site_logo_text {
	width: 130px;
}

.inner_left404 a {
	display: flex;
	align-items: center;
}

@media screen and (min-width: 600px) {

	#notfound {
	    padding-top: 50px;
	}

	#wrapper_404 {
		margin: 0 auto;
		padding: 60px 60px 0 70px;
		width: 1100px;
	}

	#box_404 {
		margin-bottom: 40px;
		padding: 0;
		display: flex;
		align-items: center;
	}

	.inner_left404 {
	    margin-right: 50px;
	    margin-bottom: 0;
	    text-align: left;
	}

	.inner_left404 img {
		margin: 0 auto;
		width: 250px;
		text-align: center;
	}

	.inner_right404 {
	    text-align: left;
	    font-size: 16px;
	}

	.inner_right404 h1 {
	    font-size: 24px;
	    margin-bottom: 20px;
	    text-align: left;
	}

	.inner_left404 .site_logo_gold {
		margin: 0 10px 0 0;
		width: 40px;
	}

}

@media screen and (min-width: 600px) and (max-width: 768px) {

	#wrapper_404 {
		padding: 60px 20px;
		width: 600px;
	}

	#box_404 {
		margin-bottom: 20px;
	}

	.inner_left404 {
	    margin-right: 30px;
	}

	.inner_left404 img {
		width: 200px;
	}

	.inner_right404 {
	    text-align: left;
	    font-size: 14px;
	}

	.inner_right404 h1 {
	    font-size: 20px;
	}

}

#adminBox .acms-admin-btn-admin {
	padding: 5px;
	font-size: 1.2rem;
}

#adminBox {
    margin-bottom: 0 !important;
    height: 80px;
    width: 100%;
    z-index: 5;
}

.acms-admin-btn-action-group th,
.acms-admin-btn-action-group td {
	padding-right: 10px !important;
	background-image: none !important;
	font-size: 1.4rem !important;
	white-space: nowrap !important;
}

.acms-admin-form .entryFormLiteEditor, .acms-admin-form textarea,
.acms-admin-btn,
.acms-admin-form select {
	font-size: 14px;
}

.lg_1 #adminBox,
.lg_2 #adminBox {
	position: fixed;
	top: 0;
}

@media screen and (min-width: 768px) {

	#adminBox {
    	height: 120px;
	}

	#adminBox .acms-admin-btn-admin {
		padding: 10px;
		font-size: 1.2rem;
	}

	#adminBox {
	    height: 90px;
	}

}

.titleWrapper {
	margin: 0 auto;
	padding: 40px 60px 10px;
	max-width: 1100px;
	background-color: #f7f7f7;
}

.titleWrapper h2 {
	margin: 0 0 30px 0;
	font-size: 3.0rem;
}

.custom_field_edit h3 {
	padding: 20px 10px;
	font-size: 1.8rem;
	font-weight: bold;
}

.entryFormLiteEditor a {
	text-decoration: underline;
	color: #0075DE;
}

.entryFormLiteEditor em {
	font-weight: bold;
}

.entryFormLiteEditor strong {
	color: #D52121;
}

.js-lazy-load {
	transform: translateY(0);
	transition: opacity 0.4s cubic-bezier(0.5, 0, 0, 1) 0.1s;
}
