
body{
	min-width:320px;
}
span.block{
	display: inline-block;
}
h3.news_category.important{
	background-color:red!important;
}
.header_logo .button{
	width:100%;
	height:100%;
}
img,
.img{
	pointer-events: none;
	-webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-touch-callout:none;
    -moz-user-select:none;
    user-select:none;
}
/*----------------------------------------------
 時刻表
----------------------------------------------*/
div.ly_table_col2{
	position: relative;
}
div.ly_table_col2 div.loading{
	position:absolute;
	width:100%;
	height:100%;
	background-color: rgba(255,255,255,0.5);
	background-image:url('./img/loading.gif');
	background-blend-mode:lighten;
	background-size:100px;
	background-repeat:no-repeat;
	background-position: center 15%; 
	overflow: auto;
}
/* 大野航路を茶色から赤に変える */
.timeTable .tab__list__item.timeTable_item:nth-child(4):hover, .timeTable .tab__list__item.timeTable_item:nth-child(4).is_active
 {
    background-color: #A51F24;
    color: #ffffff;
}
.timeTable .tab__list__item.timeTable_item:nth-child(4) {
    color: #A51F24;
}
.timeTable .timeTable_from.timeColor-04 {
    color: #A51F24;
}
.timeTable .timeTable_wrap_title.timeBg-04 {
    background-color: #A51F24;
}
/*----------------------------------------------
NEWS のコンテンツ
----------------------------------------------*/
.news .editor table th,
.news .editor table td{
	border: solid 1px black;
	text-align: center;
	vertical-align: middle;
	padding:0.25em 0;
}
.news .editor ol>li{
	margin: 1em 0;
}
.news .editor ul>li{
	counter-increment:none;
	content:"";
}
.news .editor ul>li::before{
	counter-increment:none;
	content:"";
	top: 0.5rem;
	left: 0;
}
.button_lv1.brown.inversion {
    background-color: #8c5c51;
}

/*----------------------------------------------
 航路トップのコンテンツへのリンク
 高さが不揃いにならないように修正
 ※クラス名にmiyajimaguchi とあるが、 各航路共通
----------------------------------------------*/
div.miyajimaguchi_content_list ul.de_col3{
	grid-auto-rows: 1fr; /* 各行の高さが均等になるように設定 */
}
div.miyajimaguchi_content_list ul.de_col3 li{
	display: grid;
}
div.miyajimaguchi_content_list ul.de_col3 li>div{
	display: grid;
	grid-template-rows: subgrid;
}
/*----------------------------------------------*/

@media screen and (min-width: 769px) {
    .ly_heading .ly_heading_lists_item_link ._link-Arrow {
        right:1.8rem;
    }
}

.reserve_lower .form_check .form_inner:first-of-type {
    margin-top: 0; 
    border-top: 0;
}

/*
.button_lv1.brown {
    background-color: #ffffff;
    border: 1px solid #8c5c51;
}
.button_lv1.red.inversion {
    background-color: #A51F24;
}
.button_lv1.red {
    background-color: #ffffff;
    border: 1px solid #A51F24;
}
*/
.reserve_lower div.calculation_box div.calculation_total{
	position: relative;
}
.reserve_lower div.calculation_box div.calculation_total div.loading{
	display: none;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color: rgba(255,255,255,0.5);
	background-image:url('./img/loading.gif');
	background-blend-mode:lighten;
	background-size:100px;
	background-repeat:no-repeat;
	background-position: center 15%; 
	overflow: auto;
}
.reserve_lower div.calculation_box div.calculation_total div.loading.show{
	display: block;
}


.authLogin div#loginErrorMsg{
	margin:1em;
	padding:1em;
	color:rgb(192,0,0);
	border-radius: 0.6rem;
	background:rgba(255,128,128,0.2);
}

.edit_top div.to_confirmation {
    margin-top: 1.5625rem;
}

.edit_top  .attention_icon {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    max-width: 3.25rem;
    margin: 0 auto;
}

.edit_top .button_lv1:first-of-type .button_lv1__inner .button_lv1__icon{
    left: 0;
    right: auto;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}
.edit_top .button_lv1:first-of-type:hover .button_lv1__icon {
	-webkit-transform: translateX(-50%) rotate(180deg);
			transform: translateX(-50%) rotate(180deg);
  }
.edit_top div.buttons{
	padding:1em;
}
.edit_top div.buttons button{
	margin:1em 0;
}
div.edit_modal_contents{
	background:white;
	min-height:320px;
}
div#edit_modal div.attention_text{
	font-weight: bold;
    font-size: 1.1875rem;
    letter-spacing: 0.03em;
    text-align: center;
    color: #FF1D25;
    padding-top: 1.375rem;
}
div#edit_modal div.attention_detail{
	font-size: 0.9375rem;
	letter-spacing: 0.03em;
	text-align: center;
	line-height: 1.8;
	color: #FF1D25;
	padding-top: 1.875rem;
}
div#edit_modal div.confirm_inner{
	padding: 2.25rem 0 2.5rem;
    border-bottom: 0.0625rem solid #E8E8E8;
}

div.edit_modal_contents {
    background-color: #ffffff;
    padding: 50px;
}
.edit_modal_contents .button_lv1 {
    width: 100%;
    max-width: 504px;
    margin: 0 auto;
}

@media screen and (min-width: 769px) {

	div#edit_modal div.attention_detail {
		font-size: 1.1875rem;
		padding-top: 2.75rem;
	}

    div#edit_modal div.attention_text{
        font-size: 1.5625rem;
        padding-top: 1.5rem;
    }
}
@media screen and (min-width: 769px) {

}

/* ly_heading_lists_item_link */ 
@media screen and (min-width: 769px) {

    .ly_heading_lists_item_link {
		padding: 0 2.5rem!important;
		height: 6.5rem!important;
		align-content: center!important;;
    }
/*
    .reservation .ly_heading.ly_heading-orange .ly_heading_lists_item_link {
		padding: 0 2.5rem;
		height: 6.5rem;
		align-content: center;
    }

	.flowPage .ly_heading.ly_heading-blue .ly_heading_lists_item_link {
		padding: 0 2.5rem;
		height: 6.5rem;
		align-content: center;
	}
	*/
}

/* 予約 ticket__card*********************/
.reservation .ticket__card {
    width: 100%;
    max-width: 26.875rem;
    min-height: 8.75rem;
    margin: 0 auto;
    color: #ffffff;
    padding: 1.0rem 1.25rem;
    display: flex;
    flex-direction: column;
}
.reservation .ticket__card .ticket__place {
	min-height:3.2rem;
	padding: 0.3rem;;
	align-content: center;
}

.reservation .ticket__card span.fare_box{
	display: inline-block;
}
.reservation .ticket__card span.fare_box:first-child::after{
	display: inline-block;
	content:'/';
	margin:0 0.5rem;
}
.reservation .ticket__card span.visitor_tax{
	display:block;
}
.reservation .guide_msg{
	max-width: 600px;
	background-color: rgb(255 255 255 / 0.75);
	margin:0 auto;
	padding:2em;
	font-size:1.2rem;
}
.reservation .guide_msg h3{
	text-align: center;
	margin:1em 0;
}
.reservation .guide_msg p{
	margin:0.5em 0 0;
}
.reservation .guide_msg ul{
	list-style-type:disc;
	padding:0 1.25em;
}
.reservation .guide_msg ul li{
	margin: 0.5em 0;
}
.reservation .guide_msg em{
	font-weight: bold;
	text-decoration: none;
	font-style:normal;
}
@media screen and (max-width:600px){
	.reservation .guide_msg{
		padding:0.5em;
	}
}
@media screen and (min-width: 769px) and (max-width:1024px) {
    .reservation .reservation__web__contents .ticket__lists {
        /* grid-template-columns: repeat(3, 1fr); */
		grid-template-columns: 1fr;
        gap: 2.5rem;
    }
}
@media screen and (min-width:1024px) and (max-width:1280px){

	.reservation .ticket__card span.fare_box{
		display: block;
	}
	.reservation .ticket__card span.fare_box:first-child::after{
		display: none;
		content:'';
		margin:0;
	}
	.reservation .ticket__card span.visitor_tax{
		font-size: 0.8em;
	}
}
/******************************************/


@media screen and (min-width: 768px) and (max-width:1024px) {
    .table_lv1 {
        grid-template-columns: 10rem 1fr 10rem 1fr;
    }
	.table_lv1 .table_lv1__data {
		padding: 0 2rem;
	}
}

/*****************************************/
/* 嚴島神社対応
/*****************************************/
/* トップページ */

/* スライドショーのスクロールimgが鳥居と被らないように、 */
/* PCサイズと同じく右に表示 							*/
.kv .scroll {
	top: 85%;
	bottom: auto;
	left: auto;
	right: 2.1875rem;
	transform: translateY(-85%);
	-webkit-transform: translateY(-85%);
	-ms-transform: translateY(-85%);
}

/* TOP FAQの厳島神社と被らない様に、 */
/* タイトルを上にずらす */
.top .faq .faq_mv .faq_mv--title {
	top: 20%;
}

/* ★参拝ページ*/
/*heading title*/
.lower.sanpai .lower__heading{
    position: absolute;
    top: 18%;
    left: 0%;
    -webkit-transform: translate(5%, 10%);
    transform: translate(5%, 10%);
}
.lower.sanpai.reservation .lower__heading{
    top: 20%;
}

.lower.sanpai .lower__heading .heading_lower>*{
	text-align: left;
	color:orange;
	text-shadow: 1px 1px black;
}
.lower.sanpai .ly_youtubeTitle .ly_youtubeTitle_en {
	font-size: 3rem;
}
.lower.sanpai .ly_youTube-panel {
	aspect-ratio: 1300 / 480;
}

@media screen and (max-width:768px){
	.lower.sanpai .lower__heading{
		top: 0%;
		left: 0%;
	}
	.lower.sanpai.reservation .lower__heading{
		top: 5%;
		left:5%;
	}
	.lower.sanpai .ly_youtubeTitle .ly_youtubeTitle_en {
		font-size: 2rem;
	}
	.lower.sanpai .ly_youTube-panel {
		aspect-ratio: 1300 / 640;
	}
}
@media screen and (max-width: 460px){
	.lower.sanpai .lower__heading .heading_lower>h3.heading_lower--en{
		font-size:2.5em;
	}
}

/* 宮島観光案内ページ*/
/* キービジュアル 見出し */
.lower.sightseeing .lower__heading .heading_lower>*{
	text-align: left;
}
.lower.sightseeing .lower__heading{
    position: absolute;
    top: 20%;
    left: 5%;
    -webkit-transform: translate(5%, 10%);
    transform: translate(5%, 10%);
}
@media screen and (max-width: 460px){
	.lower.sightseeing .lower__heading .heading_lower>h3.heading_lower--en{
		font-size:2.5em;
	}
	.lower.sightseeing .lower__heading{
		top: 5%;
		left:0%;
		-webkit-transform: translate(5%, 10%);
		transform: translate(5%, 10%);
	}
}
/* 観光コース（嚴島神社)　*/
.sightseeing .courses01 .media_labelText p {
	-webkit-webkit-writing-mode:unset!important;
	writing-mode: unset!important;
    padding: 1.0625rem 0.9375rem 1.0625rem 1.125rem;
	min-height:unset;
}
.sightseeing .courses01 .media_labelText .media_labelText_item{
	display: block;
}
.sightseeing .courses01 .media_labelText {
	position: absolute;
	left: -1.25rem;
	display: block;
	align-items:unset;
	flex-direction: row-reverse;
}
.sightseeing .courses01 .media_labelText .media_labelText_item + .media_labelText_item {
    margin-top: 0.4375rem;
}
html[lang=en] .sightseeing .courses01 .media_labelText{
	top:-2.2rem;
}
html[lang=en] .sightseeing .courses01 .media_labelText p.small{
	display: none;
}
@media screen and (min-width:1000px){
	html[lang=en] .sightseeing .media_img_box{
		top:5rem;
	}
}
@media screen and (max-width:400px){
	html[lang=en] .sightseeing .courses01 .media_labelText p.normal{
		display: none;
	}
	html[lang=en] .sightseeing .courses01 .media_labelText p.small{
		display: inline-block;
	}
}
/********************************/
