@charset "UTF-8";
/* CSS Document */

section{
	font-size:0;
}

#contents {
	color: #000;
}

#contents p{
    letter-spacing: 0.1em;
	font-size:15px;
}

#contents address{
	font-style: normal;
	font-size:12px;
}

#contents img{
	width: 100%;
	-webkit-backface-visibility: hidden;
    -ms-interpolation-mode: bicubic;
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

#contents .caption{
    font-size: 10px;
	margin: 10px 0;
	line-height: 2;
}

/* -----タイトル共通----- */

#contents .mainimage{
	margin-bottom: 120px;
}

/* -----タイトル共通----- */

#contents .btn ul {
	margin-bottom: 120px;
}

#contents .btn ul li {
    width: 15%;
    font-size: 0;
    display: inline-block;
    padding: 0px 5%;
    background: url(/contents/images/enjoy/temiyage/detail/01/dot.png) center right no-repeat;
}

#contents .btn ul li:last-child{
	background: none;
}

/* -----カラム共通----- */

#contents .column {
    padding-top: 100px;
    margin-top: -100px;
    margin-bottom: 160px;
}

#contents .column .column_title{
    margin-bottom: 60px;
    text-align: center;
}

#contents .column .column_title .no{
	margin-bottom: 20px;
}

#contents .column .column_title .no img{
    width: auto;
}

#contents .column .column_title h2 {
    font-size: 50px;
    letter-spacing: 0.5em;
}

#contents .column .column_wrap .column_mainimg{
	margin-bottom: min(116px, 8.5vw);
}

#contents .column .column_wrap .column_name{
	margin-bottom: 80px;	
}

#contents .column .column_wrap .column_name:before,
#contents .column .column_wrap .column_name:after{
	content: '';
	display:block;
	background: repeating-linear-gradient(45deg, #FBE454, #FBE454 3px, #f7f7f7 0, #f7f7f7 10px);
	width: 100%;
    height: 10px;
}

#contents .column .column_wrap .column_name .shop{
	font-size: 30px;
    font-weight: bold;
    margin: 10px 0 20px 10px;
}

#contents .column .column_wrap .column_name h3{
	font-size: 60px;
    text-align: center;
	margin: 0 0 30px;
}

#contents .column .column_wrap .column_txt_box{
	display: flex;
	flex-flow: row wrap;
	row-gap: 18px;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 80px;
	line-height: 2.18;
}

#contents .column .column_wrap .column_txt_box.vertical-top{
	align-items: flex-start;
/*	align-items: center;*/
}

#contents .column .column_wrap .column_txt_box .column_img{
	flex: 0 0 47.34%;
    max-width: 500px;
	/* max-height: 435px; */
}

#contents .column .column_wrap .column_txt_box .column_txt{
	flex: 0 0 46.4%;
    max-width: 490px;
	letter-spacing: .2em;
}

.split{
	display: grid !important;
	gap: 18px;
}

#kyoto .split{
	grid-template-columns: 1.4fr repeat(2, 1fr);
}

#hyogo .split{
	grid-template-columns: 1.2fr repeat(2, 1fr);
}

#hyogo .split .col_ss:nth-child(2){
	margin-top: 80%;
}

#hyogo .split .col_ss:nth-child(3){
	margin-top: 40%;
}

#contents .column .column_wrap .column_txt_box .col_s{
	/*flex: 0 0 41.19%;
    max-width: 435px;*/
	flex: 0 0 47%;
    max-width: 40rem;
}

#contents .column .column_wrap .column_txt_box .col_l{
	/*flex: 0 0 51.13%;
    max-width: 540px;*/
	flex: 0 0 40%;
    max-width: 25rem;
}

#contents .column .column_wrap .column_txt_box .col_v_03_01{
    flex: 0 0 40%;
    max-width: 25rem;
	margin: auto;
}
/*

#contents .column .column_wrap .column_txt_box.box_04 .col_s {
	flex: 0 0 50%;
    max-width: 28rem;
}
*/

/*
#contents .column .column_wrap .column_txt_box.box_04 .col_l {
	flex: 0 0 50%;
    max-width: 40rem;
}
*/

#contents .column .column_wrap .column_txt_box.box_05 .col_l {
	flex: 0 0 30%;
    max-width: 18rem;
    margin: 0 auto;
}

#contents .column .column_wrap .column_txt_box .teddys_img {
	flex: 0 0 30%;
    max-width: 19rem;
	margin: 0 auto;
}

.column_txt_box.box_04 .col_s .column_img img {
  height: 400px;
  object-fit: cover;
}


.col_s_04_01 img, .col_l_04_02 img, .osaka_03_01 img, .osaka_03_02 img, .hyogo_03_01 img, .hyogo_03_02 img{
	height: 400px;
  	object-fit: cover;
}

#contents .column .info_wrap{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}
#contents .column .info_wrap .map{
	flex: 0 0 37%;
    max-width: 37%;
}

#contents .column .info .info_wrap .info_box{
	box-sizing: border-box;
	position: relative;
	flex: 0 0 60%;
    max-width: 55%;
	/*
    background: url(/contents/images/enjoy/temiyage/detail/01/address_back.png) center / contain no-repeat;
	*/
    font-size: 14px;
    padding: 4% max(45px, 6%);
	word-break: break-all;
    /*height: 220px;*/
}
#contents .column .info .info_wrap .info_box .bk{
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#contents .column .info .info_wrap .info_box dt{
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 20px;
}

#contents .column .info .info_wrap .info_box dt span {
    margin-left: 20px;
    vertical-align: middle;
}

#contents .column .info .info_wrap .info_box dd{
	margin: 0 0 8px 0;
    letter-spacing: 2px;
}

/* -----東京----- */


/* -----京都----- */

#contents .logo_kyoto {
    max-width: 10%;
    padding: 0px 10px 0px;
}

/* -----大阪----- */
#osaka .box_03 .position{
	position: relative;
	z-index: 1;
}
#osaka .box_03 .position .caption{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
}
#osaka .box_03 .position .caption br:not(.br){
	display: none;
}

#osaka .box_03 .position img{
	display: block;
	width: 58%;
	margin: 8% 0 0 auto;
}


/* -----神戸----- */


#contents .to_link .a {
    width: 40%;
    display: block;
    margin: auto;
}

#contents .to_link .a .icon {
    background: url(/contents/images/common/to_link_arrow_return.png) no-repeat;
    background-size: cover;
    width: 26px;
    height: 26px;
    right: 20px;
    left: auto;
}

#contents .p-attent{
	margin: -60px auto 120px;
}

#contents .p-attent p{
	font-size: 12px;
}

.present {
    max-width: 900px;
    margin: 0 auto 120px;
}
.present a:hover{
    opacity: .7;
}

.sp_only{
	display: none;
}

.pc_only{
	display: revert;
}
	

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

	.sp_only{
		display: revert;
	}

	.pc_only{
		display: none;
	}

	#contents p {
		font-size: 14px;
	}
	
	#contents h2 {
		font-size: 30px;
	    line-height: normal;
	}

	/* -----カラム共通----- */

	#contents .column {
		padding-top: 60px;
		margin-top: -60px;
		margin-bottom: 80px;
	}

	#contents .column .column_wrap .column_name .shop {
		font-size: 20px;
	}
	
	#contents .column .column_wrap .column_name h3 {
		font-size: 45px;
	}
	#contents .column .column_wrap .column_txt_box .column_txt {
		margin-top: 0px;
	}
	/*
	#contents .column .info .info_wrap .info_box {
		background: url(/contents/images/enjoy/temiyage/detail/01/address_back_sp.png) center top / cover no-repeat;
		min-height: 230px;
	}
	*/
	#contents .column .info .info_wrap .info_box dt{
		margin-bottom: 10px;
		font-size: 18px;
	}

	#contents .column .info .info_wrap .info_box dd{
		margin: 0 0 5px 0;
	}
	
	/* -----vol.13----- */
	h3.h3--13{
		line-height: 50px;
	}
	
	#osaka .box_03 .position .caption br:not(.br){
		display: revert;
	}
}

@media screen and (max-width:640px){
	
	#contents img{
		image-rendering:auto;
	}
	
	#contents h2 {
		font-size: 24px;
	    line-height: normal;
	}
	#contents p{
		font-size:14px;
	}
	
	#contents .mainimage {
		margin-bottom: 40px;
	}
	
	#contents .btn ul {
		margin-bottom: 60px;
	}
	
	#contents .btn ul li {
		width: 30%;
		margin-bottom: 20px;
	    padding: 0px 10%;
	}
	
	#contents .btn ul li:nth-child(even){
		background: none;
	}
	
	/* -----カラム共通----- */

	#contents .column .column_title .no {
		margin-bottom: 0px;
	}
	
	#contents .column .column_title .no img {
		width: 30%;
	}
	
	#contents .column .column_title h2 {
		font-size: 36px;
		letter-spacing: 0.1em;
	}
	
	#contents .column .column_wrap .column_mainimg {
		margin-bottom: 40px;
	}
	
	#contents .column .column_wrap .column_name h3 {
		font-size: 40px;
		line-height: normal;
	}
	
	#contents .column .column_wrap .column_name .shop {
		margin: 20px 0 0;
	}
	
	#contents .column .column_wrap .column_name h3 {
		font-size: 40px;
		line-height: 1.2em;
		margin: 0 0 10px;
	}
	
	#contents .column .column_wrap .column_name {
		margin-bottom: 40px;
	}
	
	#contents .column .column_wrap .column_txt_box {
		margin-bottom: 25px;
	}
	
	#contents .column .column_wrap .column_txt_box .column_txt {
		margin: 0;
	}
	
	#contents .column .column_wrap .column_txt_box .column_img,
	#contents .column .column_wrap .column_txt_box .column_txt{
		flex: 0 0 100%;
		max-width: 100%;
	}
	
	#contents .column .column_wrap .column_txt_box.box_04 .col_s {
    	flex: 0 0 100%;
    	max-width: 100%
	}
	
	#contents .column .column_wrap .column_txt_box.box_04 .col_l {
    	flex: 0 0 100%;
    	max-width: 100%;
	}
	
	#contents .column .column_wrap .column_txt_box.box_05 .col_l {
    	flex: 0 0 54%;
    	max-width: 100%;
    	margin: 0 auto 3.2rem;
	}

	#contents .column .info_wrap .map{
		flex: 0 0 90%;
		max-width: 90%;
		margin: 0 auto 20px;
	}
	
	#contents .column .info .info_wrap .info_box {
		box-sizing: border-box;
		flex: 0 0 100%;
		max-width: 100%;
		margin: auto;
		padding: 5% max(30px, 5%);
		height: auto;
		word-break: break-all;
	}
    
    .present a:hover{
        opacity: 1;
    }
	

	#osaka .column_wrap .column_txt_box.box_03 .column_img:nth-child(1),
	#osaka .column_wrap .column_txt_box.box_03 .column_img:nth-child(2){
		flex: 0 0 100%;
		max-width: 100%;
	}

	#kobe .column_wrap .column_txt_box.box_04 {
		margin-top: -60px;
	}
	
	.col_s_04_01 img, .col_l_04_02 img, .osaka_03_01 img, .osaka_03_02 img, .hyogo_03_01 img, .hyogo_03_02 img{
		height: auto;
  		object-fit: cover;
	}
	#contents .column .column_wrap .column_txt_box .col_v_03_01{
    	flex: 0 0 70%;
		margin: auto auto 2.4rem;
	}
	
	#contents .column .column_wrap .column_txt_box .teddys_img {
		width: 52%;
    	/*max-width: 17rem;*/
    	margin: 2.4rem auto;
	}
	#osaka .column_wrap .column_txt_box.box_03 .column_img:nth-child(1){
		height:auto;
	}
	
	#contents .column .column_wrap .column_txt_box.box_04 .col_04_02 img{
		display: block;
		width: 60%;
		margin: auto;
	}
	#contents .column .column_wrap .column_txt_box.box_04 .col_04_02 .caption_04_02 {
		width:100%;
	}
	.sp-br {
		display: block;
	}
	#contents .column .info_wrap {
    	padding-top: 20px;
	}
    #contents .column .column_wrap .column_txt_box.box_04 .col_l.col_s_sp{
        width: 80%;
        flex: 0 0 80%;
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
	
	#kyoto .split,
	#hyogo .split{
		grid-template-columns: 1fr;
	}

	#hyogo .split .col_ss:nth-child(2),
	#hyogo .split .col_ss:nth-child(3){
		margin-top: 0;
	}



	#contents .p-attent{
		margin: -40px auto 80px;
	}

}

/*17*/
#contents .column .column_wrap .column_txt_box.box_04 .col_s.col_s_sp{
    align-self: flex-start;
}

#contents .cap_hyogo_04{ 
    position: relative;
}

#contents .cap_hyogo_04 .caption{ 
    position: absolute;
    bottom: 72%;
    right: 48%;
    font-weight: 300;
    line-height: 1.8;
    letter-spacing: .2em;
    margin: 0;
}

@media screen and (max-width: 640px){
    #contents .cap_hyogo_04 .caption{ 
        bottom: 66%;
    }
}

@media screen and (min-width:961px){
    #contents .column .info_wrap .map.map_tokyo{
        flex: 0 0 43%;
        max-width: 43%;
    }
    
    #contents .column .column_wrap .column_txt_box.hei_pc{
        margin-bottom: 120px
    }
    #contents .hei_pc .caption{
        height: 0;
    }
}

