@charset "UTF-8";

.index_link {
	margin-top: 0;
}
.modaal-wrapper .modaal-container {
	max-width: 1200px!important;
}

/* -----------------------------------------------------------
	pagettl
----------------------------------------------------------- */
.pagettl {
	background-image: url("../../image/bg_texture.png");
	background-repeat: no-repeat;
    background-size: 3000px;
    background-position: center bottom;
	padding: 120px 0 200px;
	position: relative;
}
.pagettl h1 {
	font-family: "Zen Maru Gothic","NotoSansJP","游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","ヒラギノ角ゴ ProN",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴシック",Hiragino Sans,Verdana,"メイリオ",Meiryo,sans-serif;
	font-weight: 700;
	font-size: 48px;
	letter-spacing: 0;
	text-align: center;
	color: #8b6841;
	position: relative;
}
.pagettl h1::after {
	display: block;
    content: '';
    position: absolute;
    bottom: -30px;
    left: 50%;
    width: 442px;
    height: 65px;
    margin-left: 20px;
    background-image: url(../../image/pencil.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right top;
    transform: translateX(-50%);
}
.pagettl h1 span {
	letter-spacing: -0.1em;
    margin-left: -0.05em;
}
.pagettl .mk_story {
	width: 100%;
	max-width: 164px;
	position: absolute;
	top: -70px;
    right: 15px;
}
.pagettl .pagettl {
	position: relative;
}
.pagettl .pagettl_img_01 {
	position: absolute;
	top: -40px;
    left: 65px;
	width: 16%;
	z-index: 1;
}
.pagettl .pagettl_img_02 {
	position: absolute;
	    top: 50px;
    left: 310px;
    width: 9%;
	z-index: 1;
}
.pagettl .pagettl_img_03 {
	position: absolute;
	top: 165px;
    left: 200px;
    width: 11.5%;
	z-index: 1;
}
.pagettl .pagettl_img_04 {
	position: absolute;
	top: 105px;
    right: 150px;
    width: 15.5%;
	z-index: 1;
}

@media screen and (min-width: 951px) and (max-width: 1200px) {
.pagettl {
	padding: 120px 0 14%;
}
.pagettl .pagettl_img_01 {
	width: 12%;
	    left: 7%;
}
.pagettl .pagettl_img_02 {
	width: 7%;
	left: 20%;
}
.pagettl .pagettl_img_03 {
	width: 9%;
	left: 12%;
}
.pagettl .pagettl_img_04 {
	width: 12%;
	right: 12%;
}
}
@media only screen and (max-width: 950.98px) {
.pagettl {
	padding: 26px 0 60px;
    background-size: 1150px;
}
.pagettl h1 {
	font-size: 20px;
	padding-left: 0;
}
.pagettl h1::after {
	width: 90%;
	max-width: 180px;
    height: 30px;
    bottom: -17px;
	margin-left: 5px;
}
.pagettl .mk_story {
	max-width: 65px;
    top: -15px;
    right: 4%;
}
.pagettl .pagettl_img {
	display: none;
}
}
@media only screen and (max-width: 300px) {
.pagettl .mk_story {
	max-width: 45px;
    right: 2%;
}
}


/* -----------------------------------------------------------
	headline
----------------------------------------------------------- */
.headline {
	text-align: center;
}
.headline .num {
	font-family: "Dancing Script","NotoSansJP","游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","ヒラギノ角ゴ ProN",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴシック",Hiragino Sans,Verdana,"メイリオ",Meiryo,sans-serif;
	font-size: 60px;
	line-height: 1;
	text-align: center;
	color: #c83056;
	margin: 0 auto 20px;
}
.headline h2 {
	font-family: "Zen Maru Gothic","NotoSansJP","游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","ヒラギノ角ゴ ProN",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴシック",Hiragino Sans,Verdana,"メイリオ",Meiryo,sans-serif;
	font-weight: 700;
	font-size: 30px;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: center;
	color: #c83056;
	margin: 0 auto 70px;
	position: relative;
	display: inline-block;
	z-index: 1;
}
.headline h2::before {
	display: block;
    content: '';
    position: absolute;
    width: 172px;
    height: 172px;
}
.point01 .headline h2::before {
	bottom: -60px;
    left: -45px;
	background-image: url("../image/headline_img_01.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
	z-index: -1;
}
.point02 .headline h2::before {
	bottom: -65px;
    left: -95px;
	background-image: url("../image/headline_img_02.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
	z-index: -1;
}
.point03 .headline h2::before {
	bottom: -60px;
    left: -95px;
	background-image: url("../image/headline_img_03.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
	z-index: -1;
}
.headline h2::after {
	display: block;
    content: '';
    position: absolute;
    bottom: -50px;
    left: 50%;
	width: 150%;
    max-width: 750px;
    height: 20px;
	transform: translateX(-50%);
    background-image: url("../image/headline.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
.point02 .headline h2::after {
	max-width: 800px;
}
@media screen and (min-width: 951px) and (max-width: 1200px) {

}
@media only screen and (max-width: 950.98px) {
.headline h2 {
	font-size: 20px;
	margin-bottom: 20px;
}
.headline .num {
	font-size: 30px;
}
.headline h2::before {
	width: 100px;
	height: 100px;
}
.headline h2::after {
	bottom: -22px;
    max-width: 340px !important;
}
.point01 .headline h2::before {
	bottom: -30px;
    left: -65px;
}
.point02 .headline h2::before {
	bottom: -30px;
    left: -65px;
}
.point03 .headline h2::before {
	bottom: -30px;
    left: -65px;
}
}
@media only screen and (max-width: 310px) {
.headline h2 {
	font-size: clamp(12px, 6.3vw, 20px);
}
.point02 .headline h2::before {
    left: -35px;
}
}

/* -----------------------------------------------------------
	recommend
----------------------------------------------------------- */
.recommend {
	max-width: 800px;
	margin: 0 auto;
	border: 6px solid #f7c7cb;
	background: #fff;
	border-radius: 20px;
	box-shadow: rgba(0, 0, 0, 0.15) 0 0 8px 2px;
	padding: 20px 4.5%;
	display: flex;
    justify-content: space-between;
}
.recommend .icon {
	width: 95px;
}
.recommend .text_box {
	width: calc(100% - 130px);
}
.recommend .text_box h3 {
	font-family: "Zen Maru Gothic","NotoSansJP","游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","ヒラギノ角ゴ ProN",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴシック",Hiragino Sans,Verdana,"メイリオ",Meiryo,sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: #c83056;
	padding-bottom: 20px;
	margin-top: 0;
	margin-bottom: 10px;
	background-image: url("../image/recommend_border.svg");
    background-repeat: no-repeat;
	background-size: contain;
    background-position: left bottom;
}
.recommend .text_box p {
	font-size: 14px;
	line-height: 1.8;
}

@media screen and (min-width: 951px) and (max-width: 1200px) {

}
@media only screen and (max-width: 950.98px) {
.recommend {
	max-width: 560px;
	padding: 16px;
	flex-wrap: wrap;
}
.recommend .icon {
	width: 12%;
}
.recommend .text_box {
	width: 100%;
}
.recommend .text_box h3 {
	font-size: 18px;
	margin-left: 17%;
	margin-top: -12%;
	margin-bottom: 4%;
	padding-bottom: 3%;
}
.recommend .text_box p {
	line-height: 1.6;
}
}


/* -----------------------------------------------------------
	point01
----------------------------------------------------------- */
.point01 {
	background: #fef2ef;
    position: relative;
    margin-bottom: 20px;
    padding: 100px 0 100px;
}
.point01::before {
	display: block;
    content: '';
    position: absolute;
    top: -30px;
    left: 0;
	width: 100%;
	height: 30px;
    background: #fef2ef;
	z-index: -1;
}
.point01::after {
	display: block;
    content: '';
    position: absolute;
    bottom: -17px;
    left: 0;
	width: 100%;
	height: 18px;
    background-image: url("../../image/bg_hc_p_bottom.svg");
    background-repeat: repeat-x;
	background-size: 111px;
    background-position: left top;
}
.point01 .map_wrap {
	max-width: 1000px;
	margin: 40px auto 50px;
}

.point01 .summary {
	display: flex;
    justify-content: space-between;
	background-image: url(../image/point01_md_border.svg);
    background-repeat: repeat-y;
    background-size: 2px;
    background-position: center top;
	margin-bottom: 70px;
}
.point01 .summary .inbox {
	width: 43%;
	font-size: 14px;
}
.point01 .summary h3 {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.07em;
	color: #c83056;
}
.point01 .summary .inbox:nth-child(1) h3 {
	margin-bottom: 10px;
}
.point01 .summary .inbox:nth-child(2) h3 {
	margin-bottom: 35px;
}
.point01 .summary .train {
	margin-top: 45px;
}
.point01 .summary .train h4 {
	font-size: 16px;
	font-weight: 700;
	padding-left: 25px;
	margin-bottom: 16px;
}
.point01 .summary .train h4.hanshin {
	color: #f0844a;
	background-image: url(../image/point01_md_hanshin.svg);
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: left center;
}
.point01 .summary .train h4.kyoto {
	color: #7c509d;
	background-image: url(../image/point01_md_kyoto.svg);
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: left center;
}
.point01 .summary .train h4.metro {
	color: #37996a;
	background-image: url(../image/point01_md_metro.svg);
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: left center;
}
.point01 .summary .train p {
	margin-bottom: 16px;
}
.point01 .summary .train p:last-of-type {
	margin-bottom: 0;
}
.point01 .summary .pic {
	margin-bottom: 20px;
}


@media screen and (min-width: 951px) and (max-width: 1200px) {

}
@media only screen and (max-width: 950.98px) {
.point01 {
	padding: 40px 0 60px;
	margin-bottom: 10px;
}
.point01::after {
	bottom: -6px;
    height: 6px;
    background-size: 40px;
}
.point01 .map_wrap {
	max-width: 680px;
	margin: 40px auto 30px;
}
.point01 .summary {
	flex-wrap: wrap;
	max-width: 560px;
	margin: 0 auto 40px;
	background: none;
}
.point01 .summary .inbox {
	width: 100%;
}
.point01 .summary h3 {
	font-size: 18px;
}
.point01 .summary .train h4 {
	font-size: 15px;
	margin-bottom: 10px;
}
.point01 .summary .train {
	margin-top: 30px;
	margin-bottom: 40px;
}
.point01 .summary .train p {
	margin-bottom: 20px;
}
.point01 .summary .inbox:nth-child(2) h3 {
	margin-bottom: 20px;
}
}
@media only screen and (max-width: 350px) {
.recommend .text_box h3 {
	font-size: clamp(10px, 4.7vw, 18px);
}
}

/* -----------------------------------------------------------
	point02
----------------------------------------------------------- */
.point02 {
	margin-bottom: 120px;
	padding-top: 50px;
}
.point02 .list_wrap {
	position: relative;
	/*margin: 30px 0 70px;*/
}
.point02 .list_wrap ul {
	max-width: 1086px;
	display: flex;
	align-items: stretch;
	margin: 0 auto;
	counter-reset: titlenum;
	overflow: hidden;
    padding: 10px;
    width: 92%;
}
.point02 .list_wrap ul li {
	flex-grow: 0;
    flex-shrink: 0;
	width: calc(94%/3);
	margin-left: 3%;
	transition: all .3s ease-in-out;
}
.point02 .list_wrap ul li:first-child {
	margin-left: 0;
}
.point02 .list_wrap ul li .icon_box {
	border: 1px solid #231815;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	margin-bottom: 20px;
	
}
.point02 .list_wrap ul li .icon {
	width: 70%;
	height: 200px;
	margin: 20px auto 5px;
	display: table;
	table-layout: fixed;
}
.point02 .list_wrap ul li .icon .inner {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 100%;
}
.point02 .list_wrap ul li .icon .inner img {
	max-width: 100%;
	max-height: 220px;
	height: auto;
	vertical-align: bottom;
	margin: 0 auto;
}
.point02 .list_wrap ul li .item_num {
	width: 90px;
	height: 90px;
	background: #c83056;
	border-bottom-right-radius: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.point02 .list_wrap ul li .item_num::after {
	counter-increment: titlenum;
	content: counter(titlenum, decimal-leading-zero);
	color: #fff;
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
	position: absolute;
	top: 20%;
	left: 20%;
}
.point02 .list_wrap ul li .service_name {
	display: table;
	width: 100%;
	font-size: 20px;
	height: 3em;
	margin-bottom: 15px;
}
.point02 .list_wrap ul li h3 {
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	color: #c83056;
    display: table-cell;
    vertical-align: middle;
    width: 100%;
}
.point02 .list_wrap ul li h4 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
	margin: 0 0 15px;
}
.point02 .list_wrap ul li p {
	font-size: 14px;
	line-height: 1.7;
}
.point02 .list_wrap ul li p.text {
	text-align: justify;
    text-justify: inter-ideograph;
}
.point02 .list_wrap .btn {
	max-width: 200px;
	margin-top: 20px;
}
.point02 .list_wrap .btn a {
	display: block;
    overflow: hidden;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    line-height: 50px;
    background: #c83056;
    transition: opacity .3s ease-in-out;
}
.point02 .list_wrap .btn a:hover {
	opacity: .7;
}
.point02 .list_wrap .prev {
	top: 50%;
	left: 0;
	position: absolute;
	width: 24px;
	height: 44px;
	background-image: url("../../image/btn_prev.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
	transition: opacity .3s ease-in-out;
}
.point02 .list_wrap .next {
	top: 50%;
	right: 0;
	position: absolute;
	width: 24px;
	height: 44px;
	background-image: url("../../image/btn_next.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
	transition: opacity .3s ease-in-out;
}
.point02 .list_wrap .prev:hover,
.point02 .list_wrap .next:hover {
	opacity: .7;
}

@media screen and (min-width: 951px) and (max-width: 1200px) {
.point02 .list_wrap ul li .service_name {
	font-size: 17px;
}
.point02 .list_wrap ul li h4 {
	font-size: 17px;
}
}
@media only screen and (max-width: 950.98px) {
.point02  {
	margin-bottom: 70px;
}
.point02 .list_wrap ul {
	margin: 0 auto;
    overflow: hidden;
    width: 90%;
    padding: 6px;
}
.point02 .list_wrap ul li {
	width: calc(96%/2);
    margin-left: 4%;
}
.point02 .list_wrap ul li .thum_box {
	margin-bottom: 10px;
}
.point02 .list_wrap ul li .text {
	font-size: 13px;
}
.point02 .list_wrap ul li .item_num {
	width: 50px;
	height: 50px;
}
.point02 .list_wrap ul li .item_num::after {
	font-size: 18px;
}
.point02 .list_wrap ul li .icon {
	width: 90%;
	height: 170px;
}
.point02 .list_wrap ul li .icon .inner img {
	max-height: 170px;
}
.point02 .list_wrap ul li .service_name {
	margin-bottom: 8px;
	font-size: 16px;
}
.point02 .list_wrap ul li h4 {
	font-size: 15px;
}
.point02 .list_wrap ul li p {
	font-size: 13px;
}
.point02 .list_wrap .btn a {
	font-size: 12px;
	line-height: 30px;
}
.point02 .list_wrap .prev {
    width: 3vw;
    height: 6vw;
	top: 18%;
}
.point02 .list_wrap .next {
    width: 3vw;
    height: 6vw;
	top: 18%;
}
}

/* add cms */
.carousel_wrap {
	position: relative;
	margin: 30px 0 80px;
}
#sld-wrapper-parent{
	display   : block;
	position  : relative;
	overflow  : hidden;
	font-size : 0;
	width     : 90%;
	margin    : 30px auto;
}
#sld-wrapper{
	font-size   : 0;
	/*white-space : nowrap;*/
	overflow    : initial;
	width       : 100%;
	padding     : 0;
}
#sld-wrapper>li{
	display        : flex;
	vertical-align : top;
	margin         : 0 1%;
	white-space    : normal;
	font-size      : 14px;
	flex-wrap: wrap;
    flex-direction: column;
}
#sec01>div{
	position : relative;
}
#button_wrap{
	position : absolute;
	width    : 100%;
	top      : 26%;
}
@media screen and (min-width: 951px) and (max-width: 1200px) {
#button_wrap{
	top      : 11vw;
}
}
@media only screen and (max-width: 950px){
#button_wrap{
	top      : 28%;
}
.carousel_wrap {
	margin: 30px auto 50px;
	max-width: 700px;
}
}
@media only screen and (max-width: 500px){
#button_wrap{
	top      : 20%;
}
.point02 .list_wrap ul li .service_name {
font-size: clamp(13px, 1.38vw, 17px);
}
.point02 .list_wrap ul li .icon {
width: 90%;
height: 120px;
}
.point02 .list_wrap ul li .icon .inner img {
	max-height: 120px;
}
}
/* end cms */

/* slick */
.point02 .prev {
	top: 26%;
	left: 0;
	position: absolute;
	width: 24px;
	height: 44px;
	background-image: url("../../image/btn_prev.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
	transition: opacity .3s ease-in-out;
	z-index: 2;
}
.point02 .next {
	top: 26%;
	right: 0;
	position: absolute;
	width: 24px;
	height: 44px;
	background-image: url("../../image/btn_next.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
	transition: opacity .3s ease-in-out;
	z-index: 2;
}
.point02 .list_wrap ul li .item_num::after {
	display: none;
}
.point02 .list_wrap ul li .item_num .num {
	counter-increment: titlenum;
	content: counter(titlenum, decimal-leading-zero);
	color: #fff;
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
	position: absolute;
	top: 20%;
	left: 20%;
}
.point02 .list_wrap .slick-slide {
 	margin: 0 0.25%;
}
#sld-wrapper {
	width: 100%;
}
@media screen and (min-width: 951px) and (max-width: 1200px) {
.carousel_arrows_wrap {
	top: 11vw;
    position: absolute;
    width: 100%;
}
}
@media only screen and (max-width: 950px){
.point02 .list_wrap ul li .item_num .num {
	font-size: 18px;
}
.point02 .next,
.point02 .prev {
	width: 3vw;
        height: 6vw;
        top: 18%;
}
}
@media only screen and (max-width: 500px){
}


/* -----------------------------------------------------------
	point03
----------------------------------------------------------- */
.point03 {
	background: #fef2ef;
	position: relative;
	padding: 90px 0 120px;
}
.point03::before {
	display: block;
    content: '';
    position: absolute;
    top: -17px;
    left: 0;
	width: 100%;
	height: 18px;
    background-image: url("../../image/bg_hc_p_top.svg");
    background-repeat: repeat-x;
	background-size: 111px;
    background-position: left top;
}
.point03 .scene {
	margin-top: 70px;
}
.point03 .scene h3,
.point03 .kips h3 {
	max-width: 390px;
	margin: 0 auto;
	background: #c83056;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 58px;
	border-radius: 8px;
	position: relative;
}
.point03 .scene h3::before,
.point03 .kips h3::before {
	display: block;
    content: '';
    position: absolute;
    bottom: -14px;
    left: 50%;
	width: 12px;
	height: 14px;
	transform: translateX(-50%);
    background-image: url("../image/point03_md.svg");
    background-repeat: no-repeat;
	background-size: contain;
    background-position: center bottom;
}
.point03 .fig {
	margin: 60px auto 70px;
}
.point03 .kips .list {
	display: flex;
    justify-content: space-between;
	max-width: 1065px;
	margin: 60px auto 30px;
	background-image: url("../image/point03_kips_bg.svg");
    background-repeat: repeat-y;
    background-size: 2px;
    background-position: left top;
}
.point03 .kips .list li {
	width: calc(100% / 3);
	padding: 15px 0 20px;
	text-align: center;
	background-image: url("../image/point03_kips_bg.svg");
    background-repeat: repeat-y;
    background-size: 2px;
    background-position: right top;
}
.point03 .kips .list li h4 {
	font-size: 21px;
	font-weight: 700;
	letter-spacing: 0.15em;
}
.point03 .kips .list li img {
	max-width: 136px;
	margin: 34px auto 20px;
}
.point03 .kips .list li p {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
}

.point03 .kips .btn {
	max-width: 288px;
	margin: 0 auto 80px;
}
.point03 .kips .btn a {
	display: block;
    overflow: hidden;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    color: #c83056;
    line-height: 48px;
    border: 2px solid #c83056;
    transition: opacity .3s ease-in-out;
}
.point03 .kips .btn a:hover {
	opacity: .7;
}
@media screen and (min-width: 951px) and (max-width: 1200px) {

}
@media only screen and (max-width: 950.98px) {
.point03 {
	padding: 50px 0 50px;
}
.point03::before {
	top: -6px;
	height: 6px;
	background-size: 40px;
}
.point03 .scene {
	margin-top: 30px;
}
.point03 .scene h3, .point03 .kips h3 {
	font-size: 15px;
	line-height: 44px;
}
.point03 .fig {
	max-width: 460px;
	margin: 30px auto 60px;
}
.point03 .kips .list li h4 {
	font-size: 18px;
}
.point03 .kips .list li img {
	margin: 20px auto 15px;
}
.point03 .kips .list li p {
	font-size: 15px;
}

.point03 .kips .btn {
	margin-bottom: 40px;
}
.point03 .kips .btn a {
	font-size: 13px;
}
}

@media only screen and (max-width: 650px) {
.point03 .kips .list {
	flex-wrap: wrap;
	background: none;
	margin: 30px auto 30px;
	max-width: 400px;
}
.point03 .kips .list li {
	padding: 20px 0;
	width: 100%;
	background-image: url("../image/point03_kips_bg_yoko.svg");
    background-repeat: repeat-x;
    background-size: 6px;
    background-position: left top;
}
.point03 .kips .list li:first-child {
	padding-top: 0;
	background: none;
}
}
@media only screen and (max-width: 310px) {
.point03 .scene h3,
.point03 .kips h3 {
	font-size: clamp(12px, 4.8vw, 15px);
}
}

/* -----------------------------------------------------------
	map
----------------------------------------------------------- */
.point03 .map_wrap {
	margin: 70px auto 40px;
}
.point03 .map_wrap .opetext {
	text-align: center;
	font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
	margin: 50px 0;
}
.point03 .map_wrap .inbox {
	position: relative;
}
.point03 .map_wrap .note {
	font-size: 12px;
	text-align: right;
	margin-top: 8px;
}
@media only screen and (max-width: 950.98px) {
.point03 .map_wrap {
	max-width: 800px;
	margin: 50px auto 40px;
}
.point03 .map_wrap .opetext {
	font-size: 15px;
	margin: 30px 0;
}
.point03 .map_wrap_inner {
    overflow: auto;
}
.point03 .inbox {
	width: 800px;
}
.point03 .map_wrap .note {
	font-size: 10px;
}
}
@media only screen and (max-width: 950.98px) {
.point03 .map_wrap .opetext {
	font-size: 13px;
}
}
.target_wrap .item {
    position: absolute;
	/*background: #ccc;
	opacity: .5;*/
}
.target_wrap .item a {
	display: block;
	width: 100%;
    height: 100%;
	pointer-events: none;
}
.touchDevice .target_wrap .item {
	pointer-events: none;
}
.touchDevice .target_wrap .item a {
	pointer-events: auto;
}
.target_wrap .item[data-template="uehommachi"] {
	width: 5%;
    height: 5%;
	top: 34.8%;
    left: 16.5%;
}
.target_wrap .item[data-template="abenobashi"] {
	width: 4.5%;
    height: 4.5%;
    top: 47.2%;
    left: 12%;
}
.target_wrap .item[data-template="higashi-ikoma"] {
	width: 2.2%;
    height: 5%;
    top: 48.5%;
    left: 45.8%;
}
.target_wrap .item[data-template="kawachi-matsubara"] {
	    width: 4%;
    height: 5%;
    top: 62%;
    left: 19%;
}
.target_wrap .item[data-template="fuse"] {
	    width: 5%;
    height: 5%;
    top: 34.8%;
    left: 28.5%;
}
.target_wrap .item[data-template="ikoma"] {
	width: 3.7%;
    height: 5%;
    top: 28.5%;
    left: 42.7%;
}
.target_wrap .item[data-template="gakuemmae"] {
	    width: 3.4%;
    height: 5%;
    top: 34.8%;
    left: 50%;
}
.target_wrap .item[data-template="yamato-saidaiji"] {
	width: 4.5%;
    height: 5%;
    top: 34.8%;
    left: 59%;
}
.target_wrap .item[data-template="kyoto"] {
	    width: 3.5%;
    height: 4.5%;
    top: 10.2%;
    left: 55.8%;
}
.target_wrap .item[data-template="yamato-yagi"] {
	    width: 3.5%;
    height: 4.5%;
    top: 61%;
    left: 62%;
}
.target_wrap .item[data-template="harinakano"] {
	    width: 3%;
    height: 5%;
    top: 51%;
    left: 17.3%;
}
.target_wrap .item[data-template="kawachi-amami"] {
	width: 3%;
    height: 5%;
    top: 58.3%;
    left: 12%;
}
.target_wrap .item[data-template="furuichi"] {
	    width: 3%;
    height: 5%;
    top: 61%;
    left: 30.5%;
}
.target_wrap .item[data-template="takadashi"] {
	width: 3%;
    height: 5%;
    top: 67%;
    left: 46%;
}
.target_wrap .item[data-template="shuntokumichi"] {
	    width: 3%;
    height: 5%;
    top: 42%;
    left: 27%;
}
.target_wrap .item[data-template="kintetsu-yao"] {
	width: 3.5%;
    height: 4.5%;
    top: 48.8%;
    left: 39%;
}
.target_wrap .item[data-template="kawachi-yamamoto"] {
	    width: 4%;
    height: 4.5%;
    top: 52.7%;
    left: 23%;
}
.target_wrap .item[data-template="onji"] {
	width: 3.5%;
    height: 4%;
    top: 56%;
    left: 36.5%;
}
.target_wrap .item[data-template="goido"] {
	    width: 3%;
    height: 5%;
    top: 58%;
    left: 44%;
}
.target_wrap .item[data-template="osaka-namba"] {
	    width: 2.8%;
    height:  5.3%;
    top: 34.8%;
    left: 13.5%;
}
.target_wrap .item[data-template="wakae-iwata"] {
	width: 2.7%;
    height: 5.3%;
    top: 34.8%;
    left: 35.5%;
}
.target_wrap .item[data-template="higashi-hanazono"] {
	width: 2.7%;
    height: 5.3%;
    top: 34.8%;
    left: 38.6%;
}
.target_wrap .item[data-template="ayameike"] {
	width: 2.8%;
    height: 5%;
    top: 48.5%;
    left: 54.8%;
}
.target_wrap .item[data-template="kintetsu-nara"] {
	width: 2%;
    height: 5%;
    top: 34.8%;
    left: 64.1%;
}
.target_wrap .item[data-template="kintetsu-koriyama"] {
	    width: 3%;
    height: 5.5%;
    top: 43.8%;
    left: 63%;
}
.target_wrap .item[data-template="shiraniwadai"] {
	width: 2.5%;
    height: 5.5%;
    top: 20.7%;
    left: 45.7%;
}
.target_wrap .item[data-template="gakken-kita-ikoma"] {
	width: 2.6%;
    height: 5.1%;
    top: 16.5%;
    left: 48.3%;
}
.target_wrap .item[data-template="karasuma"] {
	width: 2.7%;
    height: 5.3%;
    top: 6.5%;
    left: 60.3%;
}
.target_wrap .item[data-template="kintetsu-tambabashi"] {
	width: 3%;
    height: 5.3%;
    top: 13.2%;
    left: 61.2%;
}
.target_wrap .item[data-template="mukaijima"] {
	width: 3.5%;
    height: 4%;
    top: 22%;
    left: 62%;
}
.target_wrap .item[data-template="okubo"] {
	width: 2.7%;
    height: 5.2%;
    top: 22.4%;
    left: 54%;
}
.target_wrap .item[data-template="kizugawadai"] {
	width: 2.5%;
    height: 5%;
    top: 26.1%;
    left: 60%;
}
.target_wrap .item[data-template="takanohara"] {
	width: 2.7%;
    height: 5.2%;
    top: 30.7%;
    left: 54%;
}
.target_wrap .item[data-template="kintetsu-nagoya"] {
	width: 3.5%;
    height: 5.7%;
    top: 15.3%;
    left: 91.3%;
}
.target_wrap .item[data-template="kintetsu-yokkaichi"] {
	width: 3.5%;
    height: 5.5%;
    top: 33%;
    left: 90%;
}
.target_wrap .item[data-template="ujiyamada"] {
	width: 3%;
    height: 5.5%;
    top: 74.8%;
    left: 85.3%;
}
.target_wrap .item[data-template="toba"] {
	width: 3%;
    height: 5.5%;
    top: 81%;
    left: 91.5%;
}


.detail_wrap {
	display: none;
}
.detail_item {
	max-width: 240px;
	background: #e9e3cc;
	border: 2px solid #fff;
	padding: 6px 11px;
	border-radius: 6px;
	position: relative;
	margin: 0 auto;
}
.detail_item::before {
	display: block;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.3);
    border-radius: 6px;
    z-index: -1;
	right: -4px;
	bottom: -4px;
}
.detail_item .ttl {
	font-size: 16px;
	color: #5a5d5e;
	margin-bottom: 4px;
	font-weight: bold;
}
.detail_item ul li {
	position: relative;
	padding-left: 0.8em;
	color: #6e6c6c;
	line-height: 1.5;
	font-size: 15px;
}
.detail_item ul li::before {
	border-radius: 50%;
    width: 7px;
    height: 7px;
    display: block;
    position: absolute;
    left: 0;
    top: 0.6em;
    content: "";
}
.detail_item ul li.sty_1::before {
	background: #30a0d1;
}
.detail_item ul li.sty_2::before {
	background: #6eb659;
}
.detail_item ul li.sty_3::before {
	background: #dda128;
}

/* tippy */
.tippy-box {
	background: none;
	line-height: 1.5;
}
.tippy-content {
	padding: 0;
}
/* end tippy */


/* modaal */
.modaal-wrapper.modaal-inline  .modaal-container {
	max-width: 250px !important;
	background: none;
	box-shadow: none;
}
.modaal-content-container {
	padding: 10px;
}
/* end modaal */


